# Python imports # Gtk imports import gi gi.require_version('Gtk', '3.0') gi.require_version('Gdk', '3.0') from gi.repository import Gtk from gi.repository import Gdk # Application imports class ShowHideMixin: def show_messages_popup(self, type, text, seconds=None): self.message_popup_widget.popup() def stop_file_searching(self, widget=None, eve=None): self.is_searching = False def show_about_page(self, widget=None, eve=None): about_page = self.builder.get_object("about_page") response = about_page.run() if response in [Gtk.ResponseType.CANCEL, Gtk.ResponseType.DELETE_EVENT]: self.hide_about_page() def hide_about_page(self, widget=None, eve=None): self.builder.get_object("about_page").hide() def show_appchooser_menu(self, widget=None, eve=None): appchooser_menu = self.builder.get_object("appchooser_menu") appchooser_widget = self.builder.get_object("appchooser_widget") response = appchooser_menu.run() if response == Gtk.ResponseType.OK: self.open_with_files(appchooser_widget) self.hide_appchooser_menu() if response == Gtk.ResponseType.CANCEL: self.hide_appchooser_menu() def hide_appchooser_menu(self, widget=None, eve=None): self.builder.get_object("appchooser_menu").hide() def run_appchooser_launch(self, widget=None, eve=None): dialog = widget.get_parent().get_parent() dialog.response(Gtk.ResponseType.OK) def show_plugins_popup(self, widget=None, eve=None): self.builder.get_object("plugin_controls").popup() def hide_plugins_popup(self, widget=None, eve=None): self.builder.get_object("plugin_controls").hide() def show_context_menu(self, widget=None, eve=None): self.builder.get_object("context_menu").popup_at_pointer(None) def hide_context_menu(self, widget=None, eve=None): self.builder.get_object("context_menu").popdown() def show_new_file_menu(self, widget=None, eve=None): if widget: widget.set_text("") widget.grab_focus() response = self.new_file_menu.run() if response == Gtk.ResponseType.CANCEL: self.cancel_creation = True def hide_new_file_menu(self, widget=None, eve=None): self.builder.get_object("new_file_menu").hide() def hide_new_file_menu_enter_key(self, widget=None, eve=None): keyname = Gdk.keyval_name(eve.keyval).lower() if keyname in ["return", "enter"]: self.builder.get_object("new_file_menu").hide() def show_edit_file_menu(self, widget=None, eve=None): if widget: widget.grab_focus() response = self.edit_file_menu.run() if response == Gtk.ResponseType.CLOSE: self.skip_edit = True if response == Gtk.ResponseType.CANCEL: self.cancel_edit = True def show_io_popup(self, widget=None, eve=None): self.builder.get_object("io_popup").popup() def hide_edit_file_menu_skip(self, widget=None, eve=None): self.edit_file_menu.response(Gtk.ResponseType.CLOSE) def hide_edit_file_menu_cancel(self, widget=None, eve=None): self.edit_file_menu.response(Gtk.ResponseType.CANCEL)