Skip to content

Commit

Permalink
Use display_error() instead of ErrorDialog whenever handling an excep…
Browse files Browse the repository at this point in the history
…tion.

This will also special cases like KeyError to be handled specially.
  • Loading branch information
danieljohnson2 committed Apr 28, 2024
1 parent bcbb95f commit f7a47ff
Show file tree
Hide file tree
Showing 10 changed files with 24 additions and 20 deletions.
4 changes: 2 additions & 2 deletions lutris/gui/addgameswindow.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

from lutris import api, sysoptions
from lutris.gui.config.add_game_dialog import AddGameDialog
from lutris.gui.dialogs import ErrorDialog, ModelessDialog
from lutris.gui.dialogs import ErrorDialog, ModelessDialog, display_error
from lutris.gui.dialogs.game_import import ImportGameDialog
from lutris.gui.widgets.common import FileChooserEntry
from lutris.gui.widgets.navigation_stack import NavigationStack
Expand Down Expand Up @@ -353,7 +353,7 @@ def present_installed_games_page():
self.display_cancel_button(label=_("_Close"))

if error:
ErrorDialog(error, parent=self)
display_error(error, parent=self)
self.stack.navigation_reset()
return

Expand Down
4 changes: 2 additions & 2 deletions lutris/gui/application.py
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@
from lutris.exception_backstops import init_exception_backstops
from lutris.game import Game, export_game, import_game
from lutris.gui.config.preferences_dialog import PreferencesDialog
from lutris.gui.dialogs import ErrorDialog, InstallOrPlayDialog, NoticeDialog
from lutris.gui.dialogs import ErrorDialog, InstallOrPlayDialog, NoticeDialog, display_error
from lutris.gui.dialogs.delegates import CommandLineUIDelegate, InstallUIDelegate, LaunchUIDelegate
from lutris.gui.dialogs.issue import IssueReportWindow
from lutris.gui.installerwindow import InstallationKind, InstallerWindow
Expand Down Expand Up @@ -404,7 +404,7 @@ def show_installer_window(self, installers, service=None, appid=None, installati
def show_lutris_installer_window(self, game_slug):
def on_installers_ready(installers, error):
if error:
ErrorDialog(error, parent=self.window)
display_error(error, parent=self.window)
elif installers:
self.show_installer_window(installers)
else:
Expand Down
4 changes: 2 additions & 2 deletions lutris/gui/config/game_common.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
from lutris.gui import dialogs
from lutris.gui.config import DIALOG_HEIGHT, DIALOG_WIDTH
from lutris.gui.config.boxes import GameBox, RunnerBox, SystemConfigBox, UnderslungMessageBox
from lutris.gui.dialogs import DirectoryDialog, ErrorDialog, QuestionDialog, SavableModelessDialog
from lutris.gui.dialogs import DirectoryDialog, ErrorDialog, QuestionDialog, SavableModelessDialog, display_error
from lutris.gui.dialogs.delegates import DialogInstallUIDelegate
from lutris.gui.widgets.common import Label, NumberEntry, SlugEntry
from lutris.gui.widgets.notifications import send_notification
Expand Down Expand Up @@ -624,7 +624,7 @@ def is_valid(self):
try:
parse_playtime(playtime_text)
except ValueError as ex:
ErrorDialog(ex, parent=self)
display_error(ex, parent=self)
return False

invalid_fields = []
Expand Down
2 changes: 1 addition & 1 deletion lutris/gui/dialogs/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -647,7 +647,7 @@ def _move_game_cb(self, _result, error):

def on_game_moved(self, _result, error):
if error:
ErrorDialog(error, parent=self)
display_error(error, parent=self)
self.game.emit("game-updated") # because we could not fire this on the thread
self.emit("game-moved")
self.destroy()
Expand Down
4 changes: 2 additions & 2 deletions lutris/gui/dialogs/runner_install.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
from lutris.api import format_runner_version, parse_version_architecture
from lutris.database.games import get_games_by_runner
from lutris.game import Game
from lutris.gui.dialogs import ErrorDialog, ModelessDialog
from lutris.gui.dialogs import ErrorDialog, ModelessDialog, display_error
from lutris.gui.widgets.utils import has_stock_icon
from lutris.util import jobs, system
from lutris.util.downloader import Downloader
Expand Down Expand Up @@ -345,7 +345,7 @@ def on_complete():
self.update_listboxrow(row)

def on_error(error):
ErrorDialog(error, parent=self)
display_error(error, parent=self)

system.remove_folder(runner_path, completion_function=on_complete, error_function=on_error)

Expand Down
10 changes: 8 additions & 2 deletions lutris/gui/installerwindow.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,13 @@
from lutris import settings
from lutris.config import LutrisConfig
from lutris.game import Game
from lutris.gui.dialogs import DirectoryDialog, ErrorDialog, InstallerSourceDialog, ModelessDialog, QuestionDialog
from lutris.gui.dialogs import (
DirectoryDialog,
InstallerSourceDialog,
ModelessDialog,
QuestionDialog,
display_error,
)
from lutris.gui.dialogs.cache import CacheConfigurationDialog
from lutris.gui.dialogs.delegates import DialogInstallUIDelegate
from lutris.gui.installer.files_box import InstallerFilesBox
Expand Down Expand Up @@ -259,7 +265,7 @@ def _handle_callback_error(self, error):
if self.install_in_progress:
self.load_error_message_page(str(error))
else:
ErrorDialog(error, parent=self)
display_error(error, parent=self)
self.stack.navigation_reset()

def set_status(self, text):
Expand Down
2 changes: 1 addition & 1 deletion lutris/gui/lutriswindow.py
Original file line number Diff line number Diff line change
Expand Up @@ -912,7 +912,7 @@ def on_service_login(self, service):

def _service_reloaded_cb(self, error):
if error:
dialogs.ErrorDialog(error, parent=self)
dialogs.display_error(error, parent=self)

def on_service_logout(self, service):
self.update_notification()
Expand Down
5 changes: 2 additions & 3 deletions lutris/gui/widgets/download_collection_progress_box.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@

from gi.repository import GObject, Gtk, Pango

from lutris.gui.dialogs import display_error
from lutris.util.downloader import Downloader
from lutris.util.jobs import schedule_repeating_at_idle
from lutris.util.log import logger
Expand Down Expand Up @@ -113,9 +114,7 @@ def start(self) -> None:
try:
self.downloader = Downloader(file.url, file.dest_file, referer=file.referer, overwrite=True)
except RuntimeError as ex:
from lutris.gui.dialogs import ErrorDialog

ErrorDialog(ex, parent=self.get_toplevel())
display_error(ex, parent=self.get_toplevel())
self.emit("cancel")
return

Expand Down
5 changes: 2 additions & 3 deletions lutris/gui/widgets/download_progress_box.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@

from gi.repository import GObject, Gtk, Pango

from lutris.gui.dialogs import display_error
from lutris.util.downloader import Downloader
from lutris.util.jobs import schedule_repeating_at_idle
from lutris.util.log import logger
Expand Down Expand Up @@ -70,9 +71,7 @@ def start(self) -> None:
try:
self.downloader = Downloader(self.url, self.dest, referer=self.referer, overwrite=True)
except RuntimeError as ex:
from lutris.gui.dialogs import ErrorDialog

ErrorDialog(ex, parent=self.get_toplevel())
display_error(ex, parent=self.get_toplevel())
self.emit("cancel")
return None

Expand Down
4 changes: 2 additions & 2 deletions lutris/gui/widgets/searchable_combobox.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
# pylint: disable=unsubscriptable-object
from gi.repository import GLib, GObject, Gtk

from lutris.gui.dialogs import ErrorDialog
from lutris.gui.dialogs import display_error


class SearchableCombobox(Gtk.Bin):
Expand Down Expand Up @@ -72,7 +72,7 @@ def _populate_combobox_choices(self, choice_func):
entry.set_icon_from_icon_name(Gtk.EntryIconPosition.PRIMARY, None)
self.combobox.set_active_id(self.initial)
except Exception as ex:
ErrorDialog(ex, parent=self.get_toplevel())
display_error(ex, parent=self.get_toplevel())

@staticmethod
def _on_combobox_scroll(combobox, _event):
Expand Down

0 comments on commit f7a47ff

Please sign in to comment.