def setupUi(self, dialog: QtWidgets.QDialog): ui_columns_cfg_dlg.Ui_ColumnsConfigDlg.setupUi(self, self) self.setWindowTitle("Columns") WndUtils.set_icon(self, self.btnMoveBegin, "*****@*****.**", rotate=90) WndUtils.set_icon(self, self.btnMoveEnd, "*****@*****.**", rotate=-90) WndUtils.set_icon(self, self.btnMoveUp, "*****@*****.**", rotate=-180) WndUtils.set_icon(self, self.btnMoveDown, "*****@*****.**") self.tableWidget.verticalHeader().setSectionsMovable(True) self.tableWidget.verticalHeader().setDefaultSectionSize( self.tableWidget.verticalHeader().fontMetrics().height() + 8) self.tableWidget.verticalHeader().sectionMoved.connect(self.on_tableRowMoved) self.tableWidget.setRowCount(len(self.columns)) for col_idx, col in enumerate(self.columns): item = QtWidgets.QTableWidgetItem() item.setText(' ') self.tableWidget.setVerticalHeaderItem(col_idx, item) visible = col[1] item = QtWidgets.QTableWidgetItem() item.setText(col[0]) self.tableWidget.setItem(col_idx, 0, item) item.setFlags(QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsUserCheckable | QtCore.Qt.ItemIsEnabled) item.setCheckState(QtCore.Qt.Checked if visible else QtCore.Qt.Unchecked) self.update_buttons_state() self.initialized = True
def setupUi(self, dlg): Ui_WdgRecoverHw.setupUi(self, self) self.rbSeedSourceHwScreen.toggled.connect(self.on_seed_source_change) self.rbSeedSourceAppWords.toggled.connect(self.on_seed_source_change) self.rbSeedSourceAppEntropy.toggled.connect(self.on_seed_source_change) self.pages.setCurrentIndex(Pages.PAGE_OPTIONS.value) WndUtils.set_icon(self, self.btnShowPIN, '*****@*****.**') WndUtils.set_icon(self, self.btnShowSecondaryPIN, '*****@*****.**') WndUtils.set_icon(self, self.btnShowPassphrase, '*****@*****.**') self.rbWordsCount12.toggled.connect(self.on_radio_word_count_toggled) self.rbWordsCount18.toggled.connect(self.on_radio_word_count_toggled) self.rbWordsCount24.toggled.connect(self.on_radio_word_count_toggled) self.btnShowPIN.pressed.connect( functools.partial(self.edtPrimaryPIN.setEchoMode, QLineEdit.Normal)) self.btnShowPIN.released.connect( functools.partial(self.edtPrimaryPIN.setEchoMode, QLineEdit.Password)) self.btnShowSecondaryPIN.pressed.connect( functools.partial(self.edtSecondaryPIN.setEchoMode, QLineEdit.Normal)) self.btnShowSecondaryPIN.released.connect( functools.partial(self.edtSecondaryPIN.setEchoMode, QLineEdit.Password)) self.btnShowPassphrase.pressed.connect( functools.partial(self.edtPassphrase.setEchoMode, QLineEdit.Normal)) self.btnShowPassphrase.released.connect( functools.partial(self.edtPassphrase.setEchoMode, QLineEdit.Password)) lay = self.page3.layout() lay.addWidget(self.words_wdg) self.set_word_count(self.word_count) self.update_styles()
def setupUi(self, dialog: QDialog): Ui_ConfigDlg.setupUi(self, self) self.resize( app_cache.get_value('ConfigDlg_Width', self.size().width(), int), app_cache.get_value('ConfigDlg_Height', self.size().height(), int)) self.setWindowTitle("Configuration") self.splitter.setStretchFactor(0, 0) self.splitter.setStretchFactor(1, 1) self.accepted.connect(self.on_accepted) self.tabWidget.setCurrentIndex(0) self.disable_cfg_update = True layout_details = self.detailsFrame.layout() self.chbConnEnabled = QCheckBox("Enabled") self.chbConnEnabled.toggled.connect(self.on_chbConnEnabled_toggled) layout_details.addWidget(self.chbConnEnabled) self.chbUseSshTunnel = QCheckBox("Use SSH tunnel") self.chbUseSshTunnel.toggled.connect(self.on_chbUseSshTunnel_toggled) layout_details.addWidget(self.chbUseSshTunnel) self.ssh_tunnel_widget = SshConnectionWidget(self) layout_details.addWidget(self.ssh_tunnel_widget) # layout for button for reading RPC configuration from remote host over SSH: hl = QHBoxLayout() self.btnSshReadRpcConfig = QPushButton( "\u2193 Read RPC configuration from SSH host \u2193") self.btnSshReadRpcConfig.clicked.connect( self.on_btnSshReadRpcConfig_clicked) hl.addWidget(self.btnSshReadRpcConfig) hl.addStretch() layout_details.addLayout(hl) # add connection-editing controls widget: self.rpc_cfg_widget = RpcConnectionWidget(self.detailsFrame) layout_details.addWidget(self.rpc_cfg_widget) # layout for controls related to setting up an additional encryption hl = QHBoxLayout() self.btnEncryptionPublicKey = QPushButton("RPC encryption public key") self.btnEncryptionPublicKey.clicked.connect( self.on_btnEncryptionPublicKey_clicked) hl.addWidget(self.btnEncryptionPublicKey) self.lblEncryptionPublicKey = QLabel(self) self.lblEncryptionPublicKey.setText('') hl.addWidget(self.lblEncryptionPublicKey) hl.addStretch() layout_details.addLayout(hl) # layout for the 'test connection' button: hl = QHBoxLayout() self.btnTestConnection = QPushButton("\u2713 Test connection") self.btnTestConnection.clicked.connect( self.on_btnTestConnection_clicked) sp = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum) sp.setHorizontalStretch(0) sp.setVerticalStretch(0) sp.setHeightForWidth( self.btnTestConnection.sizePolicy().hasHeightForWidth()) self.btnTestConnection.setSizePolicy(sp) hl.addWidget(self.btnTestConnection) hl.addStretch() layout_details.addLayout(hl) layout_details.addStretch() self.rpc_cfg_widget.edtRpcHost.textEdited.connect( self.on_edtRpcHost_textEdited) self.rpc_cfg_widget.edtRpcPort.textEdited.connect( self.on_edtRpcPort_textEdited) self.rpc_cfg_widget.edtRpcUsername.textEdited.connect( self.on_edtRpcUsername_textEdited) self.rpc_cfg_widget.edtRpcPassword.textEdited.connect( self.on_edtRpcPassword_textEdited) self.rpc_cfg_widget.chbRpcSSL.toggled.connect(self.chbRpcSSL_toggled) self.ssh_tunnel_widget.edtSshHost.textEdited.connect( self.on_edtSshHost_textEdited) self.ssh_tunnel_widget.edtSshPort.textEdited.connect( self.on_edtSshPort_textEdited) self.ssh_tunnel_widget.edtSshUsername.textEdited.connect( self.on_edtSshUsername_textEdited) self.ssh_tunnel_widget.cboAuthentication.currentIndexChanged.connect( self.on_cboSshAuthentication_currentIndexChanged) self.ssh_tunnel_widget.edtPrivateKeyPath.textChanged.connect( self.on_edtSshPrivateKeyPath_textChanged) self.lstConns.setContextMenuPolicy(Qt.CustomContextMenu) self.popMenu = QMenu(self) self.action_new_connection = self.popMenu.addAction( "Add new connection") self.action_new_connection.triggered.connect( self.on_action_new_connection_triggered) WndUtils.set_icon(self, self.action_new_connection, '*****@*****.**') self.btnNewConn.setDefaultAction(self.action_new_connection) self.action_delete_connections = self.popMenu.addAction( "Delete selected connection(s)") self.action_delete_connections.triggered.connect( self.on_action_delete_connections_triggered) WndUtils.set_icon(self, self.action_delete_connections, '*****@*****.**') self.btnDeleteConn.setDefaultAction(self.action_delete_connections) self.action_copy_connections = self.popMenu.addAction( "Copy connection(s) to clipboard", self.on_action_copy_connections_triggered, QKeySequence("Ctrl+C")) WndUtils.set_icon(self, self.action_copy_connections, '*****@*****.**') self.addAction(self.action_copy_connections) self.action_paste_connections = self.popMenu.addAction( "Paste connection(s) from clipboard", self.on_action_paste_connections_triggered, QKeySequence("Ctrl+V")) WndUtils.set_icon(self, self.action_paste_connections, '*****@*****.**') self.addAction(self.action_paste_connections) self.btnNewConn.setText("") self.btnDeleteConn.setText("") self.btnMoveDownConn.setText("") self.btnMoveUpConn.setText("") self.btnRestoreDefault.setText("") WndUtils.set_icon(self, self.btnMoveDownConn, "*****@*****.**") WndUtils.set_icon(self, self.btnMoveUpConn, "*****@*****.**", rotate=180) WndUtils.set_icon(self, self.btnRestoreDefault, "*****@*****.**") WndUtils.set_icon(self, self.rpc_cfg_widget.btnShowPassword, "*****@*****.**") self.rpc_cfg_widget.btnShowPassword.setText("") self.rpc_cfg_widget.btnShowPassword.pressed.connect( lambda: self.rpc_cfg_widget.edtRpcPassword.setEchoMode(QLineEdit. Normal)) self.rpc_cfg_widget.btnShowPassword.released.connect( lambda: self.rpc_cfg_widget.edtRpcPassword.setEchoMode(QLineEdit. Password)) if self.local_config.is_mainnet: self.cboDashNetwork.setCurrentIndex(0) self.connections_current = self.connections_mainnet else: self.cboDashNetwork.setCurrentIndex(1) self.connections_current = self.connections_testnet for cfg in self.local_config.dash_net_configs: if cfg.testnet: self.connections_testnet.append(cfg) else: self.connections_mainnet.append(cfg) if self.local_config.hw_keepkey_psw_encoding == 'NFC': self.cboKeepkeyPassEncoding.setCurrentIndex(0) else: self.cboKeepkeyPassEncoding.setCurrentIndex(1) note_url = get_note_url('DMTN0001') self.lblKeepkeyPassEncoding.setText( f'KepKey passphrase encoding (<a href="{note_url}">see</a>)') self.chbCheckForUpdates.setChecked(self.local_config.check_for_updates) self.chbBackupConfigFile.setChecked( self.local_config.backup_config_file) self.chbDownloadProposalExternalData.setChecked( self.local_config.read_proposals_external_attributes) self.chbDontUseFileDialogs.setChecked( self.local_config.dont_use_file_dialogs) self.chbConfirmWhenVoting.setChecked( self.local_config.confirm_when_voting) self.chbAddRandomOffsetToVotingTime.setChecked( self.local_config.add_random_offset_to_vote_time) self.chbEncryptConfigFile.setChecked( self.local_config.encrypt_config_file) self.chbFetchDataAfterStart.setChecked( self.local_config.fetch_network_data_after_start) self.chbShowDashFIATValue.setChecked( self.local_config.show_dash_value_in_fiat) self.chbUIDarkMode.setChecked(self.local_config.ui_use_dark_mode) idx = { 'CRITICAL': 0, 'ERROR': 1, 'WARNING': 2, 'INFO': 3, 'DEBUG': 4, 'NOTSET': 5 }.get(self.local_config.log_level_str, 2) self.cboLogLevel.setCurrentIndex(idx) self.display_connection_list() if len(self.local_config.dash_net_configs): self.lstConns.setCurrentRow(0) self.update_connection_details_ui() self.disable_cfg_update = False self.splitter.setSizes( app_cache.get_value('ConfigDlg_ConnectionSplitter_Sizes', [100, 100], list))