diff options
author | Jiri Moskovcak <jmoskovc@redhat.com> | 2010-03-08 17:32:04 +0100 |
---|---|---|
committer | Jiri Moskovcak <jmoskovc@redhat.com> | 2010-03-08 17:32:04 +0100 |
commit | e74c5cb7835d2e6e3ddbeee69023995304d08264 (patch) | |
tree | 919c788c3ec6000ecd4e383cdf213586f89407bf /src/Gui/CCReporterDialog.py | |
parent | a799b20e533e0b55b5b85d887ea3a7d13254c11d (diff) | |
download | abrt-e74c5cb7835d2e6e3ddbeee69023995304d08264.tar.gz abrt-e74c5cb7835d2e6e3ddbeee69023995304d08264.tar.xz abrt-e74c5cb7835d2e6e3ddbeee69023995304d08264.zip |
GUI: added option to run without main window v3
Diffstat (limited to 'src/Gui/CCReporterDialog.py')
-rw-r--r-- | src/Gui/CCReporterDialog.py | 34 |
1 files changed, 25 insertions, 9 deletions
diff --git a/src/Gui/CCReporterDialog.py b/src/Gui/CCReporterDialog.py index a4c216d2..3b3fdd89 100644 --- a/src/Gui/CCReporterDialog.py +++ b/src/Gui/CCReporterDialog.py @@ -42,6 +42,8 @@ class ReporterDialog(): self.window.set_position(gtk.WIN_POS_CENTER_ON_PARENT) self.window.set_transient_for(parent) self.window.set_modal(True) + else: + self.window.set_position(gtk.WIN_POS_CENTER) # comment textview self.tvComment = self.builder.get_object("tvComment") @@ -344,17 +346,26 @@ class ReporterSelector(): self.builder = gtk.Builder() self.builder.add_from_file(builderfile) self.window = self.builder.get_object("w_reporters") + b_cancel = self.builder.get_object("b_close") + if parent: self.window.set_position(gtk.WIN_POS_CENTER_ON_PARENT) self.window.set_transient_for(parent) self.window.set_modal(True) - self.connect_signal(self.window, "delete-event", self.on_window_delete) - self.connect_signal(self.window, "destroy-event", self.on_window_delete) + self.connect_signal(self.window, "delete-event", self.on_window_delete) + self.connect_signal(self.window, "destroy-event", self.on_window_delete) + self.connect_signal(b_cancel, "clicked", self.on_close_clicked) + else: + # if we don't have parent we want to quit the mainloop on close + self.window.set_position(gtk.WIN_POS_CENTER) + self.connect_signal(self.window, "delete-event", gtk.main_quit) + self.connect_signal(self.window, "destroy-event", gtk.main_quit) + self.connect_signal(b_cancel, "clicked", gtk.main_quit) + self.pBarWindow = self.builder.get_object("pBarWindow") - b_cancel = self.builder.get_object("b_close") - self.connect_signal(b_cancel, "clicked", self.on_close_clicked) + reporters_vbox = self.builder.get_object("vb_reporters") for reporter in self.reporters: button = gtk.Button(str(reporter)) @@ -396,6 +407,13 @@ class ReporterSelector(): for obj, signal_id in self.connected_signals: obj.disconnect(signal_id) + def cleanup_and_exit(self): + if not self.window.get_property("visible"): + self.disconnect_signals() + # if the reporter selector doesn't have a parent + if not self.window.get_transient_for(): + gtk.main_quit() + def update_cb(self, daemon, message): self.updates += message if self.updates[-1] != '\n': @@ -447,8 +465,7 @@ class ReporterSelector(): self.pBarWindow.hide() gui_report_dialog(result, self.window) - if not self.window.get_property("visible"): - self.disconnect_signals() + self.cleanup_and_exit() def on_analyze_complete_cb(self, daemon, report, pBarWindow): try: @@ -495,9 +512,8 @@ class ReporterSelector(): # -50 == REFRESH elif response == -50: self.refresh_report(report) - - elif not self.window.get_property("visible"): - self.disconnect_signals() + else: + self.cleanup_and_exit() # call to update the progressbar def progress_update_cb(self, *args): |