Ctrl + Z for import undo
This commit is contained in:
20
src/main.py
20
src/main.py
@@ -216,33 +216,33 @@ class CartridgesApplication(Adw.Application):
|
|||||||
DetailsWindow()
|
DetailsWindow()
|
||||||
|
|
||||||
def on_import_action(self, *_args):
|
def on_import_action(self, *_args):
|
||||||
importer = Importer()
|
shared.importer = Importer()
|
||||||
|
|
||||||
if shared.schema.get_boolean("lutris"):
|
if shared.schema.get_boolean("lutris"):
|
||||||
importer.add_source(LutrisSource())
|
shared.importer.add_source(LutrisSource())
|
||||||
|
|
||||||
if shared.schema.get_boolean("steam"):
|
if shared.schema.get_boolean("steam"):
|
||||||
importer.add_source(SteamSource())
|
shared.importer.add_source(SteamSource())
|
||||||
|
|
||||||
if shared.schema.get_boolean("heroic"):
|
if shared.schema.get_boolean("heroic"):
|
||||||
importer.add_source(HeroicSource())
|
shared.importer.add_source(HeroicSource())
|
||||||
|
|
||||||
if shared.schema.get_boolean("bottles"):
|
if shared.schema.get_boolean("bottles"):
|
||||||
importer.add_source(BottlesSource())
|
shared.importer.add_source(BottlesSource())
|
||||||
|
|
||||||
if shared.schema.get_boolean("flatpak"):
|
if shared.schema.get_boolean("flatpak"):
|
||||||
importer.add_source(FlatpakSource())
|
shared.importer.add_source(FlatpakSource())
|
||||||
|
|
||||||
if shared.schema.get_boolean("itch"):
|
if shared.schema.get_boolean("itch"):
|
||||||
importer.add_source(ItchSource())
|
shared.importer.add_source(ItchSource())
|
||||||
|
|
||||||
if shared.schema.get_boolean("legendary"):
|
if shared.schema.get_boolean("legendary"):
|
||||||
importer.add_source(LegendarySource())
|
shared.importer.add_source(LegendarySource())
|
||||||
|
|
||||||
if shared.schema.get_boolean("retroarch"):
|
if shared.schema.get_boolean("retroarch"):
|
||||||
importer.add_source(RetroarchSource())
|
shared.importer.add_source(RetroarchSource())
|
||||||
|
|
||||||
importer.run()
|
shared.importer.run()
|
||||||
|
|
||||||
def on_remove_game_action(self, *_args):
|
def on_remove_game_action(self, *_args):
|
||||||
self.win.active_game.remove_game()
|
self.win.active_game.remove_game()
|
||||||
|
|||||||
@@ -331,13 +331,19 @@ class CartridgesWindow(Adw.ApplicationWindow):
|
|||||||
|
|
||||||
def on_undo_action(self, _widget, game=None, undo=None):
|
def on_undo_action(self, _widget, game=None, undo=None):
|
||||||
if not game: # If the action was activated via Ctrl + Z
|
if not game: # If the action was activated via Ctrl + Z
|
||||||
try:
|
if shared.importer.imported_game_ids or shared.importer.removed_game_ids:
|
||||||
game = tuple(self.toasts.keys())[-1][0]
|
undo = "import"
|
||||||
undo = tuple(self.toasts.keys())[-1][1]
|
else:
|
||||||
except IndexError:
|
try:
|
||||||
return
|
game = tuple(self.toasts.keys())[-1][0]
|
||||||
|
undo = tuple(self.toasts.keys())[-1][1]
|
||||||
|
except IndexError:
|
||||||
|
return
|
||||||
|
|
||||||
if undo == "hide":
|
if undo == "import":
|
||||||
|
shared.importer.undo_import()
|
||||||
|
|
||||||
|
elif undo == "hide":
|
||||||
game.toggle_hidden(False)
|
game.toggle_hidden(False)
|
||||||
|
|
||||||
elif undo == "remove":
|
elif undo == "remove":
|
||||||
@@ -345,8 +351,9 @@ class CartridgesWindow(Adw.ApplicationWindow):
|
|||||||
game.save()
|
game.save()
|
||||||
game.update()
|
game.update()
|
||||||
|
|
||||||
self.toasts[(game, undo)].dismiss()
|
if game:
|
||||||
self.toasts.pop((game, undo))
|
self.toasts[(game, undo)].dismiss()
|
||||||
|
self.toasts.pop((game, undo))
|
||||||
|
|
||||||
def on_open_menu_action(self, *_args):
|
def on_open_menu_action(self, *_args):
|
||||||
if self.stack.get_visible_child() == self.library_view:
|
if self.stack.get_visible_child() == self.library_view:
|
||||||
|
|||||||
Reference in New Issue
Block a user