diff --git a/gajim/dialogs.py b/gajim/dialogs.py index 9a045ad5b15886bab9ba26ff4ee3c322fea87fa2..183adec7b2c2c71e8a0a6e146e2dfdd69e568efd 100644 --- a/gajim/dialogs.py +++ b/gajim/dialogs.py @@ -3569,6 +3569,7 @@ class XMLConsoleWindow(Gtk.Window): self.stream = True self.incoming = True self.outgoing = True + self.filter_dialog = None glade_objects = ['textview', 'input', 'scrolled_input', 'headerbar', 'scrolled', 'actionbar', 'paned', 'box', 'menubutton'] @@ -3689,6 +3690,9 @@ class XMLConsoleWindow(Gtk.Window): self.menubutton.hide() def on_filter_options(self, *args): + if self.filter_dialog: + self.filter_dialog.present() + return options = [ Option(OptionKind.SWITCH, 'Presence', OptionType.VALUE, self.presence, @@ -3712,8 +3716,13 @@ class XMLConsoleWindow(Gtk.Window): callback=self.on_option, data='outgoing'), ] - OptionsDialog(self, 'Filter', Gtk.DialogFlags.DESTROY_WITH_PARENT, - options, self.account) + self.filter_dialog = OptionsDialog(self, 'Filter', + Gtk.DialogFlags.DESTROY_WITH_PARENT, + options, self.account) + self.filter_dialog.connect('destroy', self.on_filter_destroyed) + + def on_filter_destroyed(self, win): + self.filter_dialog = None def on_clear(self, *args): buffer_ = self.textview.get_buffer().set_text('')