def wallet_widgets(self, wallet: Wallet): usechange_cb = QCheckBox(_('Use change addresses')) usechange_cb.setChecked(wallet.get_use_change()) usechange_cb.setEnabled(app_state.config.is_modifiable('use_change')) usechange_cb.setToolTip( _('Using a different change key each time improves your privacy by ' 'making it more difficult for others to analyze your transactions.' )) def on_usechange(state): usechange_result = state == Qt.Checked if wallet.get_use_change() != usechange_result: wallet.set_use_change(usechange_result) multiple_cb.setEnabled(wallet.get_use_change()) usechange_cb.stateChanged.connect(on_usechange) multiple_cb = QCheckBox(_('Use multiple change addresses')) multiple_cb.setChecked(wallet.get_multiple_change()) multiple_cb.setEnabled(wallet.get_use_change()) multiple_cb.setToolTip('\n'.join([ _('In some cases, use up to 3 change keys in order to break ' 'up large coin amounts and obfuscate the recipient key.'), _('This may result in higher transactions fees.') ])) def on_multiple(state): multiple = state == Qt.Checked if wallet.get_multiple_change() != multiple: wallet.set_multiple_change(multiple) multiple_cb.stateChanged.connect(on_multiple) return [ (usechange_cb, ), (multiple_cb, ), ]
def wallet_widgets(self, wallet: Wallet, tab: QWidget) -> None: usechange_cb = QCheckBox(_('Use change addresses')) usechange_cb.setChecked(wallet.get_use_change()) usechange_cb.setEnabled(app_state.config.is_modifiable('use_change')) usechange_cb.setToolTip( _('Using a different change key each time improves your privacy by ' 'making it more difficult for others to analyze your transactions.' )) def on_usechange(state): usechange_result = state == Qt.Checked if wallet.get_use_change() != usechange_result: wallet.set_use_change(usechange_result) multiple_cb.setEnabled(wallet.get_use_change()) usechange_cb.stateChanged.connect(on_usechange) multiple_cb = QCheckBox(_('Use multiple change addresses')) multiple_cb.setChecked(wallet.get_multiple_change()) multiple_cb.setEnabled(wallet.get_use_change()) multiple_cb.setToolTip('\n'.join([ _('In some cases, use up to 3 change keys in order to break ' 'up large coin amounts and obfuscate the recipient key.'), _('This may result in higher transactions fees.') ])) def on_multiple(state): multiple = state == Qt.Checked if wallet.get_multiple_change() != multiple: wallet.set_multiple_change(multiple) multiple_cb.stateChanged.connect(on_multiple) options_box = QGroupBox() options_vbox = QVBoxLayout() options_box.setLayout(options_vbox) options_vbox.addWidget(usechange_cb) options_vbox.addWidget(multiple_cb) transaction_cache_size = wallet.get_cache_size_for_tx_bytedata() # nz_label = HelpLabel(_('Transaction Cache Size (MB)') + ':', # _("This allows setting a per-wallet limit on the amount of transaction data cached " # "in memory. A value of 0 will disable the cache, and setting low values can cause " # "wallet slowness due to continual fetching of transaction data from the database.")) nz_modifiable = app_state.config.is_modifiable( 'tx_bytedata_cache_size') nz = QSpinBox() nz.setAlignment(Qt.AlignRight) nz.setMinimum(MINIMUM_TXDATA_CACHE_SIZE_MB) nz.setMaximum(MAXIMUM_TXDATA_CACHE_SIZE_MB) nz.setValue(transaction_cache_size) nz.setEnabled(nz_modifiable) def on_nz(): value = nz.value() # This will not resize the cache, as we do not want to be doing it with every # change and some changes may be bad to actually put in place. wallet.set_cache_size_for_tx_bytedata(value) nz.valueChanged.connect(on_nz) tx_cache_layout = QHBoxLayout() tx_cache_layout.setSpacing(15) tx_cache_layout.addWidget(nz) tx_cache_layout.addWidget(QLabel(_("MiB"))) form = FormSectionWidget(minimum_label_width=120) form.add_row(_('Options'), options_box, True) form.add_row(_('Transaction Cache Size'), tx_cache_layout) vbox = QVBoxLayout() vbox.addWidget(form) vbox.addStretch(1) tab.setLayout(vbox)