diff options
author | Jiri Moskovcak <jmoskovc@redhat.com> | 2010-08-25 16:20:35 +0200 |
---|---|---|
committer | Jiri Moskovcak <jmoskovc@redhat.com> | 2011-02-05 17:23:40 +0100 |
commit | 490dd9b1636d1461dceda5fa3f53479d2581a6bc (patch) | |
tree | 9996238c3c18b3e0a17cfea6f7ac64594f49efa8 | |
parent | 24efe48495d25b3dc84ef6ccf451c19259601d62 (diff) | |
download | abrt-490dd9b1636d1461dceda5fa3f53479d2581a6bc.tar.gz abrt-490dd9b1636d1461dceda5fa3f53479d2581a6bc.tar.xz abrt-490dd9b1636d1461dceda5fa3f53479d2581a6bc.zip |
GUI: set the right parent for progress bar rhbz#625241
-rw-r--r-- | src/Gui/CReporterAssistant.py | 34 |
1 files changed, 24 insertions, 10 deletions
diff --git a/src/Gui/CReporterAssistant.py b/src/Gui/CReporterAssistant.py index 0890512f..1371e18c 100644 --- a/src/Gui/CReporterAssistant.py +++ b/src/Gui/CReporterAssistant.py @@ -46,6 +46,7 @@ class ReporterAssistant(): self.connect_signal(self.assistant, "cancel",self.on_cancel_clicked) self.connect_signal(self.assistant, "close",self.on_close_clicked) self.connect_signal(self.assistant, "apply",self.on_apply_clicked) + self.parent = parent if parent: self.assistant.set_position(gtk.WIN_POS_CENTER_ON_PARENT) self.assistant.set_transient_for(parent) @@ -60,14 +61,6 @@ class ReporterAssistant(): self.pBarWindow = self.builder.get_object("pBarWindow") if self.pBarWindow: self.connect_signal(self.pBarWindow, "delete_event", self.sw_delete_event_cb) - if parent: - self.pBarWindow.set_position(gtk.WIN_POS_CENTER_ON_PARENT) - self.pBarWindow.set_transient_for(parent) - else: - self.pBarWindow.set_position(gtk.WIN_POS_CENTER) - self.pBar = self.builder.get_object("pBar") - else: - log1("Couldn't create the progressbar window") self.connect_signal(daemon, "analyze-complete", self.on_analyze_complete_cb, self.pBarWindow) self.connect_signal(daemon, "report-done", self.on_report_done_cb) @@ -180,6 +173,27 @@ class ReporterAssistant(): def on_apply_clicked(self, assistant, user_data=None): self.send_report(self.result) + def show_progress(self): + if not self.pBarWindow: + log1("couldn't create the progressbar window") + return + if self.assistant.get_property("visible"): + parent = self.assistant + log1("progress bar parent is self.assistant") + else: + log1("progress bar parent is main window") + parent = self.parent + + if parent: + self.pBarWindow.set_position(gtk.WIN_POS_CENTER_ON_PARENT) + self.pBarWindow.set_transient_for(parent) + else: + self.pBarWindow.set_position(gtk.WIN_POS_CENTER) + self.pBar = self.builder.get_object("pBar") + + self.pBarWindow.show_all() + + def hide_progress(self): try: gobject.source_remove(self.timer) @@ -387,7 +401,7 @@ class ReporterAssistant(): def send_report(self, report): try: - self.pBarWindow.show_all() + self.show_progress() self.timer = gobject.timeout_add(100, self.progress_update_cb) pluginlist = getPluginInfoList(self.daemon) reporters_settings = pluginlist.getReporterPluginsSettings() @@ -1063,7 +1077,7 @@ class ReporterAssistant(): self.updates = "" # FIXME don't duplicate the code, move to function #self.pBar.show() - self.pBarWindow.show_all() + self.show_progress() self.timer = gobject.timeout_add(100, self.progress_update_cb) # show the report window with selected report |