def __init__(self, pyluggage_config, target_path=None, version_string=None, minimize_when_open=False): QMainWindow.__init__(self) Ui_MainWindow.__init__(self) self.pyluggage_config = pyluggage_config self.version_string = version_string self.setupUi(self) gui_tools.center_widget(self) self.setWindowIcon(QIcon(":/pyluggage/img/cryptoluggage-logo.png")) self.frame_welcome = WelcomeFrame(pyluggage_config=pyluggage_config, version_string=version_string) self.frame_luggage = LuggageFrame(pyluggage_config=pyluggage_config) self.verticalLayout.addWidget(self.frame_welcome) self.verticalLayout.addWidget(self.frame_luggage) self.frame_luggage.hide() self.frame_luggage.help_needed.connect(self._open_help) self.frame_welcome.luggage_opened.connect(self.display_luggage) self.frame_luggage.luggage_closed.connect(self.close_luggage) self.frame_welcome.help_needed.connect(self._open_help) self.setVisible(True) # If available, create a tray icon and a menu if QSystemTrayIcon.isSystemTrayAvailable(): self.tray_icon = TrayIcon.LuggageTrayIcon(parent=self) self.tray_icon.clicked.connect(self.__process_tray_icon_click) self.tray_icon.close_luggage_clicked.connect(self.close_luggage) self.tray_icon.exit_clicked.connect(self.exit_app) self.tray_icon.show() else: self.tray_icon = None if target_path is not None: if not os.path.isfile(target_path): QMessageBox.critical( self, _translate("Luggage does not exist"), _translate("The Luggage at {path} does not exist.\nPlease open manually.".format( path=target_path))) else: self.frame_welcome.open_luggage_query_pass(luggage_path=target_path) else: self.close_luggage() if minimize_when_open: self.__process_tray_icon_click()
def __init__(self, parent, pyluggage_config, previous_secret=None): """ :param previous_secret: if not None, the dialog behaves as an 'Edit' dialog and the passed model.Secret is modified if it the dialog is accepted. Otherwise, the dialog behaves as a 'New' dialog """ # Qt Designer HideableQDialog.__init__(self, parent) Ui_EditSecretDialog.__init__(self) self.setupUi(self) gui_tools.center_widget(self) self.pyluggage_config = pyluggage_config self.previous_secret = previous_secret if self.previous_secret is not None: self.lineedit_name.setText(self.previous_secret.name) self.plaintext_contents.setPlainText(self.previous_secret.contents) self.lineedit_tags.setText(" ".join(self.previous_secret.tags)) self.accepted_secret = None self.check_show_contents.setChecked(self.pyluggage_config.show_secret_contents) self.check_use_special_chars.setChecked(self.pyluggage_config.generator_show_special_chars) self.spin_pass_length.setValue(self.pyluggage_config.generator_password_length) self.__update_controls() # Connections self.button_save.clicked.connect(self.__accept_changes) self.button_discard.clicked.connect(self.reject) self.lineedit_name.textChanged.connect(self.__update_controls) self.button_copy_user.clicked.connect(self.copy_user_to_clipboard) self.button_copy_pass.clicked.connect(self.copy_pass_to_clipboard) self.button_show_contents.clicked.connect(self.__show_contents) self.button_generate_pass.clicked.connect(self.generate_pass_to_clipboard) self.check_show_contents.stateChanged.connect(self.__update_config_show_contents_changed) self.spin_pass_length.valueChanged.connect(self.__update_config_generate_pass_length) self.check_use_special_chars.stateChanged.connect(self.__update_config_use_special_chars) self.plaintext_contents.textChanged.connect(self.__update_controls)