From 9457a18016146215924381de98a4e01adbcae75e Mon Sep 17 00:00:00 2001 From: Linus Heckemann <git@sphalerite.org> Date: Mon, 22 Aug 2016 15:27:42 +0200 Subject: [PATCH] httpupload: Fix GTK warnings Episode 2: no core changes required --- httpupload/httpupload.py | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/httpupload/httpupload.py b/httpupload/httpupload.py index 653f5184..d2a5f90b 100644 --- a/httpupload/httpupload.py +++ b/httpupload/httpupload.py @@ -273,7 +273,8 @@ class Base(object): mime_type = 'application/octet-stream' # fallback mime type log.info("Detected MIME Type of file: " + str(mime_type)) progress_messages = Queue(8) - progress_window = ProgressWindow(_('HTTP Upload'), _('Requesting HTTP Upload Slot...'), progress_messages, self.plugin) + progress_window = ProgressWindow(_('HTTP Upload'), _('Requesting HTTP Upload Slot...'), + progress_messages, self.plugin, parent=self.chat_control.parent_win.window) def upload_file(stanza): slot = stanza.getTag("slot") if not slot: @@ -437,10 +438,12 @@ class Base(object): title_text = _('Choose file to send'), action = Gtk.FileChooserAction.OPEN, buttons = (Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL, Gtk.STOCK_OPEN, Gtk.ResponseType.OK), default_response = Gtk.ResponseType.OK,) + self.dlg.set_transient_for(self.chat_control.parent_win.window) def on_image_button_clicked(self, widget): self.dialog_type = 'image' self.dlg = ImageChooserDialog(on_response_ok=self.on_file_dialog_ok, on_response_cancel=None) + self.dlg.set_transient_for(self.chat_control.parent_win.window) class StreamFileWithProgress: @@ -490,11 +493,12 @@ class StreamFileWithProgress: class ProgressWindow: - def __init__(self, title_text, during_text, messages_queue, plugin): + def __init__(self, title_text, during_text, messages_queue, plugin, parent): self.plugin = plugin self.xml = gtkgui_helpers.get_gtk_builder(self.plugin.local_file_path('upload_progress_dialog.ui')) self.messages_queue = messages_queue self.dialog = self.xml.get_object('progress_dialog') + self.dialog.set_transient_for(parent) self.label = self.xml.get_object('label') self.cancel_button = self.xml.get_object('close_button') self.label.set_markup('<big>' + during_text + '</big>') @@ -507,8 +511,8 @@ class ProgressWindow: self.xml.connect_signals(self) self.stopped = False - self.pulse_progressbar_timeout_id = GObject.timeout_add(100, self.pulse_progressbar) - self.process_messages_queue_timeout_id = GObject.timeout_add(100, self.process_messages_queue) + self.pulse_progressbar_timeout_id = GLib.timeout_add(100, self.pulse_progressbar) + self.process_messages_queue_timeout_id = GLib.timeout_add(100, self.process_messages_queue) def pulse_progressbar(self): @@ -527,21 +531,21 @@ class ProgressWindow: def on_progress_dialog_delete_event(self, widget, event): self.stopped = True if self.pulse_progressbar_timeout_id: - GObject.source_remove(self.pulse_progressbar_timeout_id) - GObject.source_remove(self.process_messages_queue_timeout_id) + GLib.source_remove(self.pulse_progressbar_timeout_id) + GLib.source_remove(self.process_messages_queue_timeout_id) def on_cancel(self, widget): self.stopped = True if self.pulse_progressbar_timeout_id: - GObject.source_remove(self.pulse_progressbar_timeout_id) - GObject.source_remove(self.process_messages_queue_timeout_id) + GLib.source_remove(self.pulse_progressbar_timeout_id) + GLib.source_remove(self.process_messages_queue_timeout_id) self.dialog.destroy() def update_progress(self, seen, total): if self.stopped == True: raise UploadAbortedException if self.pulse_progressbar_timeout_id: - GObject.source_remove(self.pulse_progressbar_timeout_id) + GLib.source_remove(self.pulse_progressbar_timeout_id) self.pulse_progressbar_timeout_id = None pct = (float(seen) / total) * 100.0 self.progressbar.set_fraction(float(seen) / total) -- GitLab