Separate logic to handle network vs user errors

This commit is contained in:
Rikko 2022-08-07 16:09:38 +05:30
parent e81b05b279
commit 9b1ec9660d

View file

@ -480,14 +480,14 @@ class PluginManagerWindow(ba.Window, PluginManager):
self._loading_text = ba.textwidget( self._loading_text = ba.textwidget(
parent=self._root_widget, parent=self._root_widget,
position=(-10, self._height - 150), position=(35, self._height - 150),
size=(self._width, 25), size=(self._width, 25),
text="Loading...", text="Loading...",
color=ba.app.ui.title_color, color=ba.app.ui.title_color,
scale=0.7, scale=0.7,
h_align="center", h_align="center",
v_align="center", v_align="center",
maxwidth=270, maxwidth=400,
) )
scroll_size_x = (400 if _uiscale is ba.UIScale.SMALL else scroll_size_x = (400 if _uiscale is ba.UIScale.SMALL else
@ -607,11 +607,14 @@ class PluginManagerWindow(ba.Window, PluginManager):
) )
await self.select_category("All") await self.select_category("All")
await self.draw_search_bar() await self.draw_search_bar()
self._loading_text.delete() except RuntimeError:
except Exception: # User probably went back before the PluginManagerWindow could finish loading.
pass
except urllib.error.URLError:
ba.textwidget(edit=self._loading_text, ba.textwidget(edit=self._loading_text,
text='Error') text="Make sure you are connected to the Internet and try again.")
print("Plugin Manager could not load due to a few Technical Issues.") else:
self._loading_text.delete()
async def draw_category_selection_button(self, label=None): async def draw_category_selection_button(self, label=None):
# v = (self._height - 75) if _uiscale is ba.UIScale.SMALL else (self._height - 105) # v = (self._height - 75) if _uiscale is ba.UIScale.SMALL else (self._height - 105)