def ask_for_password(archive): if not tools.use_gui(): return None """ Openes an input dialog to ask for a password. Returns either an Unicode string (the password), or None.""" dialog = message_dialog.MessageDialog( main.main_window(), flags=Gtk.DialogFlags.MODAL, message_type=Gtk.MessageType.QUESTION, buttons=Gtk.ButtonsType.OK_CANCEL) dialog.set_text( _("The archive is password-protected:"), archive + '\n\n' + ("Please enter the password to continue:")) dialog.set_default_response(Gtk.ResponseType.OK) dialog.set_auto_destroy(False) password_box = Gtk.Entry() password_box.set_visibility(False) password_box.set_activates_default(True) dialog.get_content_area().pack_end(password_box, True, True, 0) dialog.set_focus(password_box) result = dialog.run() password = password_box.get_text() dialog.destroy() if result == Gtk.ResponseType.OK and password: return password else: return None
def _current_file(self): # XXX: This method defers the import of main to avoid cyclic imports # during startup. from mcomix import main try: return main.main_window().filehandler.get_path_to_base() except: # no file is opened. return None
def keybinding_manager(): """ Returns a singleton instance of the keybinding manager. """ global _manager if _manager: return _manager else: from mcomix import main _manager = _KeybindingManager(main.main_window()) return _manager
def __init__(self, parent=None, flags=0, type=0, buttons=0): """ Creates a dialog window. @param parent: Parent window @param flags: Dialog flags @param type: Dialog icon/type @param buttons: Dialog buttons. Can only be a predefined BUTTONS_XXX constant. """ if parent is None: # Fix "mapped without a transient parent" Gtk warning. from mcomix import main parent = main.main_window() super(MessageDialog, self).__init__(parent=parent, flags=flags, type=type, buttons=buttons) #: Unique dialog identifier (for storing 'Do not ask again') self.dialog_id = None #: List of response IDs that should be remembered self.choices = [] #: Automatically destroy dialog after run? self.auto_destroy = True self.remember_checkbox = gtk.CheckButton(_('Do not ask again.')) self.remember_checkbox.set_no_show_all(True) self.remember_checkbox.set_can_focus(False) self.get_message_area().pack_end(self.remember_checkbox, padding=6)
def _current_file(self): # XXX: This method defers the import of main to avoid cyclic imports # during startup. from mcomix import main return main.main_window().filehandler.get_path_to_base()