Change display of errors

This commit is contained in:
kramo
2023-06-26 10:56:01 +02:00
parent f1acb55ece
commit e73bc5507c
2 changed files with 15 additions and 10 deletions

View File

@@ -218,7 +218,14 @@ class Importer(ErrorProducer):
errors.extend(manager.collect_errors()) errors.extend(manager.collect_errors())
# Filter out non friendly errors # Filter out non friendly errors
errors = list(filter(lambda error: isinstance(error, FriendlyError), errors)) errors = set(
tuple(
(error.title, error.subtitle)
for error in (
filter(lambda error: isinstance(error, FriendlyError), errors)
)
)
)
# No error to display # No error to display
if not errors: if not errors:
@@ -235,9 +242,8 @@ class Importer(ErrorProducer):
dialog.set_transient_for(shared.win) dialog.set_transient_for(shared.win)
if len(errors) == 1: if len(errors) == 1:
# Display the single error in the dialog body dialog.set_heading((error := next(iter(errors)))[0])
error = errors[0] dialog.set_body(error[1])
dialog.set_body(f"{error.title}\n{error.subtitle}")
else: else:
# Display the errors in a list # Display the errors in a list
list_box = Gtk.ListBox() list_box = Gtk.ListBox()
@@ -246,13 +252,12 @@ class Importer(ErrorProducer):
list_box.set_margin_top(16) list_box.set_margin_top(16)
for error in errors: for error in errors:
row = Adw.ActionRow() row = Adw.ActionRow()
row.set_title(error.title) row.set_title(error[0])
row.set_subtitle(error.subtitle) row.set_subtitle(error[1])
list_box.append(row) list_box.append(row)
dialog.set_body(_("The following errors occured during import")) dialog.set_body(_("The following errors occured during import:"))
dialog.set_extra_child(list_box) dialog.set_extra_child(list_box)
# Dialog is ready, present it
dialog.present() dialog.present()
def create_summary_toast(self): def create_summary_toast(self):

View File

@@ -44,6 +44,6 @@ class SGDBManager(AsyncManager):
# If invalid auth, cancel all SGDBManager tasks # If invalid auth, cancel all SGDBManager tasks
self.cancellable.cancel() self.cancellable.cancel()
raise FriendlyError( raise FriendlyError(
"Couldn't authenticate to SteamGridDB", "Couldn't authenticate SteamGridDB",
"Verify your API key in the preferences", "Verify your API key in preferences",
) from error ) from error