diff options
author | René 'Necoro' Neumann <necoro@necoro.net> | 2010-04-09 23:38:24 +0200 |
---|---|---|
committer | René 'Necoro' Neumann <necoro@necoro.net> | 2010-04-09 23:38:24 +0200 |
commit | 359309950a1283dbbf9df6ce1085838087cfc262 (patch) | |
tree | f61c130ebc77fbe8c5d0791705e3d4bec5b1a00f /portato/gui | |
parent | 96cc1e3964d5ab94847a5756f0494f112b3dac15 (diff) | |
download | portato-359309950a1283dbbf9df6ce1085838087cfc262.tar.gz portato-359309950a1283dbbf9df6ce1085838087cfc262.tar.bz2 portato-359309950a1283dbbf9df6ce1085838087cfc262.zip |
Show dialog, that update world might not work as expected
Diffstat (limited to '')
-rw-r--r-- | portato/gui/dialogs.py | 11 | ||||
-rw-r--r-- | portato/gui/windows/main.py | 9 |
2 files changed, 19 insertions, 1 deletions
diff --git a/portato/gui/dialogs.py b/portato/gui/dialogs.py index 7ad5c7f..2cc2d6b 100644 --- a/portato/gui/dialogs.py +++ b/portato/gui/dialogs.py @@ -83,6 +83,17 @@ def changed_flags_dialog (what = "flags"): return ret, check.get_active() +def update_world_warning_dialog (): + check = gtk.CheckButton(_("Do not show this dialog again.")) + hintMB = gtk.MessageDialog(None, gtk.DIALOG_MODAL, gtk.MESSAGE_WARNING, gtk.BUTTONS_OK, _("'Update World' may be giving errors")) + hintMB.format_secondary_text(_("Due to the fast changing portage, 'update world' might not work correctly or even throw errors.\nThis will be fixed (hopefully) in the next release.")) + hintMB.vbox.add(check) + hintMB.vbox.show_all() + ret = hintMB.run() + hintMB.destroy() + + return ret, check.get_active() + def remove_deps_dialog (): infoMB = gtk.MessageDialog(None, gtk.DIALOG_MODAL, gtk.MESSAGE_INFO, gtk.BUTTONS_OK, _("You cannot remove dependencies. :)")) ret = infoMB.run() diff --git a/portato/gui/windows/main.py b/portato/gui/windows/main.py index 665f1d6..0ec35a2 100644 --- a/portato/gui/windows/main.py +++ b/portato/gui/windows/main.py @@ -1512,7 +1512,14 @@ class MainWindow (Window): finally: self.window.window.set_cursor(None) - GtkThread(name="Update-Thread", target=__update).start() + # for some reason, I have to create the thread before displaying the dialog + # else the GUI hangs + t = GtkThread(name="Update-Thread", target=__update) + + if not self.session.get_bool("update_world_warning", "dialogs"): + self.session.set("update_world_warning", str(dialogs.update_world_warning_dialog()[1]), "dialogs") + + t.start() return True |