diff options
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 |