mirror of
https://github.com/c9moser/sgbackup.git
synced 2026-01-19 19:40:13 +00:00
2025.01.29 03:38:01 (desktop)
This commit is contained in:
parent
604d753d1b
commit
f9779ea8a1
@ -56,6 +56,7 @@ class GameView(Gtk.ScrolledWindow):
|
||||
self.__liststore.append(g)
|
||||
|
||||
self.__action_dialog = None
|
||||
self.__backup_dialog = None
|
||||
|
||||
factory_icon = Gtk.SignalListItemFactory.new()
|
||||
factory_icon.connect('setup',self._on_icon_column_setup)
|
||||
@ -251,9 +252,14 @@ class GameView(Gtk.ScrolledWindow):
|
||||
BindingFlags.SYNC_CREATE,lambda binding,x: False if x else True)
|
||||
|
||||
def _on_columnview_backup_button_clicked(self,button,item):
|
||||
def on_dialog_response(dialog,response):
|
||||
self.__backup_dialog = None
|
||||
|
||||
if self.__backup_dialog is None:
|
||||
game = item.get_item()
|
||||
dialog = BackupSingleDialog(self.get_root(),game)
|
||||
dialog.run()
|
||||
self.__backup_dialog = BackupSingleDialog(self.get_root(),game)
|
||||
self.__backup_dialog.connect('response',on_dialog_response)
|
||||
self.__backup_dialog.run()
|
||||
|
||||
def _on_columnview_edit_button_clicked(self,button,item):
|
||||
def on_dialog_response(dialog,response):
|
||||
@ -692,6 +698,7 @@ class Application(Gtk.Application):
|
||||
# add accels
|
||||
self.set_accels_for_action('app.quit',["<Primary>q"])
|
||||
|
||||
|
||||
@property
|
||||
def builder(self)->Gtk.Builder:
|
||||
"""
|
||||
|
||||
@ -30,13 +30,21 @@ class BackupSingleDialog(Gtk.Dialog):
|
||||
|
||||
self.set_transient_for(parent)
|
||||
|
||||
label = Gtk.Label()
|
||||
label.set_markup("<span size=\"x-large\">Backing up <i>{game}</i></span>".format(
|
||||
game = GLib.markup_escape_text(game.name)))
|
||||
|
||||
self.get_content_area().append(label)
|
||||
|
||||
self.__progressbar = Gtk.ProgressBar()
|
||||
self.__progressbar.set_text("Starting savegame backup ...")
|
||||
self.__progressbar.set_show_text(True)
|
||||
self.__progressbar.set_fraction(0.0)
|
||||
|
||||
self.get_content_area().append(self.__progressbar)
|
||||
self.set_modal(False)
|
||||
|
||||
self.__ok_button = self.add_button('Close',Gtk.ResponseType.OK)
|
||||
self.__am_signal_progress = None
|
||||
self.__am_signal_finished = None
|
||||
|
||||
@ -46,10 +54,16 @@ class BackupSingleDialog(Gtk.Dialog):
|
||||
self.__progressbar.set_fraction(fraction)
|
||||
return False
|
||||
|
||||
def do_response(self,response):
|
||||
self.hide()
|
||||
self.destroy()
|
||||
|
||||
def _on_finished(self):
|
||||
self.__progressbar.set_text("Finished ...")
|
||||
self.__progressbar.set_fraction(1.0)
|
||||
self.__ok_button.set_sensitive(True)
|
||||
am = ArchiverManager.get_global()
|
||||
|
||||
if self.__am_signal_finished is not None:
|
||||
am.disconnect(self.__am_signal_finished)
|
||||
self.__am_signal_finished = None
|
||||
@ -58,8 +72,10 @@ class BackupSingleDialog(Gtk.Dialog):
|
||||
am.disconnect(self.__am_signal_progress)
|
||||
self.__am_signal_progress = None
|
||||
|
||||
self.hide()
|
||||
self.destroy()
|
||||
#if settings.backup_dialog_close_when_finished:
|
||||
# self.response(Gtk.ResponseType.OK)
|
||||
|
||||
return False
|
||||
|
||||
def _on_am_backup_game_progress(self,am,game,fraction,message):
|
||||
if self.__game.key == game.key:
|
||||
@ -72,9 +88,10 @@ class BackupSingleDialog(Gtk.Dialog):
|
||||
def run(self):
|
||||
def _thread_func(archiver_manager,game):
|
||||
am.backup(game)
|
||||
|
||||
self.__ok_button.set_sensitive(False)
|
||||
self.present()
|
||||
|
||||
|
||||
am = ArchiverManager.get_global()
|
||||
self.__am_signal_progress = am.connect('backup-game-progress',self._on_am_backup_game_progress)
|
||||
self.__am_signal_finished = am.connect('backup-game-finished',self._on_am_backup_game_finished)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user