improved settings dialog using tabs
This commit is contained in:
parent
9a070e0ac1
commit
b0f543826f
|
@ -1489,6 +1489,7 @@ class ElectrumWindow(QMainWindow):
|
||||||
|
|
||||||
def settings_dialog(self):
|
def settings_dialog(self):
|
||||||
d = QDialog(self)
|
d = QDialog(self)
|
||||||
|
d.setWindowTitle(_('Electrum Settings'))
|
||||||
d.setModal(1)
|
d.setModal(1)
|
||||||
vbox = QVBoxLayout()
|
vbox = QVBoxLayout()
|
||||||
msg = _('Here are the settings of your wallet.') + '\n'\
|
msg = _('Here are the settings of your wallet.') + '\n'\
|
||||||
|
@ -1498,46 +1499,60 @@ class ElectrumWindow(QMainWindow):
|
||||||
label.setFixedWidth(250)
|
label.setFixedWidth(250)
|
||||||
label.setWordWrap(True)
|
label.setWordWrap(True)
|
||||||
label.setAlignment(Qt.AlignJustify)
|
label.setAlignment(Qt.AlignJustify)
|
||||||
|
|
||||||
|
tabs = QTabWidget(self)
|
||||||
|
vbox.addWidget(tabs)
|
||||||
|
|
||||||
vbox.addWidget(label)
|
vbox.addWidget(label)
|
||||||
|
|
||||||
grid = QGridLayout()
|
tab = QWidget()
|
||||||
grid.setSpacing(8)
|
grid_wallet = QGridLayout(tab)
|
||||||
vbox.addLayout(grid)
|
grid_wallet.setColumnStretch(0,1)
|
||||||
|
tabs.addTab(tab, _('Wallet') )
|
||||||
|
|
||||||
|
tab2 = QWidget()
|
||||||
|
grid_ui = QGridLayout(tab2)
|
||||||
|
grid_ui.setColumnStretch(0,1)
|
||||||
|
tabs.addTab(tab2, _('Display') )
|
||||||
|
|
||||||
fee_label = QLabel(_('Transaction fee'))
|
fee_label = QLabel(_('Transaction fee'))
|
||||||
grid.addWidget(fee_label, 2, 0)
|
grid_wallet.addWidget(fee_label, 2, 0)
|
||||||
fee_e = QLineEdit()
|
fee_e = QLineEdit()
|
||||||
fee_e.setText("%s"% str( Decimal( self.wallet.fee)/100000000 ) )
|
fee_e.setText("%s"% str( Decimal( self.wallet.fee)/100000000 ) )
|
||||||
grid.addWidget(fee_e, 2, 1)
|
grid_wallet.addWidget(fee_e, 2, 1)
|
||||||
msg = _('Fee per transaction input. Transactions involving multiple inputs tend to require a higher fee.') + ' ' \
|
msg = _('Fee per transaction input. Transactions involving multiple inputs tend to require a higher fee.') + ' ' \
|
||||||
+ _('Recommended value') + ': 0.001'
|
+ _('Recommended value') + ': 0.001'
|
||||||
grid.addWidget(HelpButton(msg), 2, 2)
|
grid_wallet.addWidget(HelpButton(msg), 2, 2)
|
||||||
fee_e.textChanged.connect(lambda: numbify(fee_e,False))
|
fee_e.textChanged.connect(lambda: numbify(fee_e,False))
|
||||||
if not self.config.is_modifiable('fee'):
|
if not self.config.is_modifiable('fee'):
|
||||||
for w in [fee_e, fee_label]: w.setEnabled(False)
|
for w in [fee_e, fee_label]: w.setEnabled(False)
|
||||||
|
|
||||||
nz_label = QLabel(_('Display zeros'))
|
nz_label = QLabel(_('Display zeros'))
|
||||||
grid.addWidget(nz_label, 3, 0)
|
grid_ui.addWidget(nz_label, 3, 0)
|
||||||
nz_e = QLineEdit()
|
nz_e = QLineEdit()
|
||||||
nz_e.setText("%d"% self.wallet.num_zeros)
|
nz_e.setText("%d"% self.wallet.num_zeros)
|
||||||
grid.addWidget(nz_e, 3, 1)
|
grid_ui.addWidget(nz_e, 3, 1)
|
||||||
msg = _('Number of zeros displayed after the decimal point. For example, if this is set to 2, "1." will be displayed as "1.00"')
|
msg = _('Number of zeros displayed after the decimal point. For example, if this is set to 2, "1." will be displayed as "1.00"')
|
||||||
grid.addWidget(HelpButton(msg), 3, 2)
|
grid_ui.addWidget(HelpButton(msg), 3, 2)
|
||||||
nz_e.textChanged.connect(lambda: numbify(nz_e,True))
|
nz_e.textChanged.connect(lambda: numbify(nz_e,True))
|
||||||
if not self.config.is_modifiable('num_zeros'):
|
if not self.config.is_modifiable('num_zeros'):
|
||||||
for w in [nz_e, nz_label]: w.setEnabled(False)
|
for w in [nz_e, nz_label]: w.setEnabled(False)
|
||||||
|
|
||||||
usechange_cb = QCheckBox(_('Use change addresses'))
|
|
||||||
grid.addWidget(usechange_cb, 5, 0)
|
usechange_label = QLabel(_('Use change addresses'))
|
||||||
usechange_cb.setChecked(self.wallet.use_change)
|
grid_wallet.addWidget(usechange_label, 5, 0)
|
||||||
grid.addWidget(HelpButton(_('Using change addresses makes it more difficult for other people to track your transactions. ')), 5, 2)
|
usechange_combo = QComboBox()
|
||||||
if not self.config.is_modifiable('use_change'): usechange_cb.setEnabled(False)
|
usechange_combo.addItems(['Yes', 'No'])
|
||||||
|
usechange_combo.setCurrentIndex(not self.wallet.use_change)
|
||||||
|
grid_wallet.addWidget(usechange_combo, 5, 1)
|
||||||
|
grid_wallet.addWidget(HelpButton(_('Using change addresses makes it more difficult for other people to track your transactions. ')), 5, 2)
|
||||||
|
if not self.config.is_modifiable('use_change'): usechange_combo.setEnabled(False)
|
||||||
|
|
||||||
gap_label = QLabel(_('Gap limit'))
|
gap_label = QLabel(_('Gap limit'))
|
||||||
grid.addWidget(gap_label, 6, 0)
|
grid_wallet.addWidget(gap_label, 6, 0)
|
||||||
gap_e = QLineEdit()
|
gap_e = QLineEdit()
|
||||||
gap_e.setText("%d"% self.wallet.gap_limit)
|
gap_e.setText("%d"% self.wallet.gap_limit)
|
||||||
grid.addWidget(gap_e, 6, 1)
|
grid_wallet.addWidget(gap_e, 6, 1)
|
||||||
msg = _('The gap limit is the maximal number of contiguous unused addresses in your sequence of receiving addresses.') + '\n' \
|
msg = _('The gap limit is the maximal number of contiguous unused addresses in your sequence of receiving addresses.') + '\n' \
|
||||||
+ _('You may increase it if you need more receiving addresses.') + '\n\n' \
|
+ _('You may increase it if you need more receiving addresses.') + '\n\n' \
|
||||||
+ _('Your current gap limit is') + ': %d'%self.wallet.gap_limit + '\n' \
|
+ _('Your current gap limit is') + ': %d'%self.wallet.gap_limit + '\n' \
|
||||||
|
@ -1545,25 +1560,25 @@ class ElectrumWindow(QMainWindow):
|
||||||
+ _('Warning') + ': ' \
|
+ _('Warning') + ': ' \
|
||||||
+ _('The gap limit parameter must be provided in order to recover your wallet from seed.') + ' ' \
|
+ _('The gap limit parameter must be provided in order to recover your wallet from seed.') + ' ' \
|
||||||
+ _('Do not modify it if you do not understand what you are doing, or if you expect to recover your wallet without knowing it!') + '\n\n'
|
+ _('Do not modify it if you do not understand what you are doing, or if you expect to recover your wallet without knowing it!') + '\n\n'
|
||||||
grid.addWidget(HelpButton(msg), 6, 2)
|
grid_wallet.addWidget(HelpButton(msg), 6, 2)
|
||||||
gap_e.textChanged.connect(lambda: numbify(nz_e,True))
|
gap_e.textChanged.connect(lambda: numbify(nz_e,True))
|
||||||
if not self.config.is_modifiable('gap_limit'):
|
if not self.config.is_modifiable('gap_limit'):
|
||||||
for w in [gap_e, gap_label]: w.setEnabled(False)
|
for w in [gap_e, gap_label]: w.setEnabled(False)
|
||||||
|
|
||||||
gui_label=QLabel(_('Default GUI') + ':')
|
gui_label=QLabel(_('Default GUI') + ':')
|
||||||
grid.addWidget(gui_label , 7, 0)
|
grid_ui.addWidget(gui_label , 7, 0)
|
||||||
gui_combo = QComboBox()
|
gui_combo = QComboBox()
|
||||||
gui_combo.addItems(['Lite', 'Classic', 'Gtk', 'Text'])
|
gui_combo.addItems(['Lite', 'Classic', 'Gtk', 'Text'])
|
||||||
index = gui_combo.findText(self.config.get("gui","classic").capitalize())
|
index = gui_combo.findText(self.config.get("gui","classic").capitalize())
|
||||||
if index==-1: index = 1
|
if index==-1: index = 1
|
||||||
gui_combo.setCurrentIndex(index)
|
gui_combo.setCurrentIndex(index)
|
||||||
grid.addWidget(gui_combo, 7, 1)
|
grid_ui.addWidget(gui_combo, 7, 1)
|
||||||
grid.addWidget(HelpButton(_('Select which GUI mode to use at start up. ')), 7, 2)
|
grid_ui.addWidget(HelpButton(_('Select which GUI mode to use at start up. ')), 7, 2)
|
||||||
if not self.config.is_modifiable('gui'):
|
if not self.config.is_modifiable('gui'):
|
||||||
for w in [gui_combo, gui_label]: w.setEnabled(False)
|
for w in [gui_combo, gui_label]: w.setEnabled(False)
|
||||||
|
|
||||||
lang_label=QLabel(_('Language') + ':')
|
lang_label=QLabel(_('Language') + ':')
|
||||||
grid.addWidget(lang_label , 8, 0)
|
grid_ui.addWidget(lang_label , 8, 0)
|
||||||
lang_combo = QComboBox()
|
lang_combo = QComboBox()
|
||||||
languages = ['', 'br', 'cs', 'de', 'eo', 'en', 'es', 'fr', 'it', 'lv', 'nl', 'ru', 'sl', 'vi', 'zh']
|
languages = ['', 'br', 'cs', 'de', 'eo', 'en', 'es', 'fr', 'it', 'lv', 'nl', 'ru', 'sl', 'vi', 'zh']
|
||||||
lang_combo.addItems(languages)
|
lang_combo.addItems(languages)
|
||||||
|
@ -1572,8 +1587,8 @@ class ElectrumWindow(QMainWindow):
|
||||||
except:
|
except:
|
||||||
index = 0
|
index = 0
|
||||||
lang_combo.setCurrentIndex(index)
|
lang_combo.setCurrentIndex(index)
|
||||||
grid.addWidget(lang_combo, 8, 1)
|
grid_ui.addWidget(lang_combo, 8, 1)
|
||||||
grid.addWidget(HelpButton(_('Select which language is used in the GUI (after restart). ')), 8, 2)
|
grid_ui.addWidget(HelpButton(_('Select which language is used in the GUI (after restart). ')), 8, 2)
|
||||||
if not self.config.is_modifiable('language'):
|
if not self.config.is_modifiable('language'):
|
||||||
for w in [lang_combo, lang_label]: w.setEnabled(False)
|
for w in [lang_combo, lang_label]: w.setEnabled(False)
|
||||||
|
|
||||||
|
@ -1608,8 +1623,9 @@ class ElectrumWindow(QMainWindow):
|
||||||
self.update_history_tab()
|
self.update_history_tab()
|
||||||
self.update_receive_tab()
|
self.update_receive_tab()
|
||||||
|
|
||||||
if self.wallet.use_change != usechange_cb.isChecked():
|
usechange_result = usechange_combo.currentIndex() == 0
|
||||||
self.wallet.use_change = usechange_cb.isChecked()
|
if self.wallet.use_change != usechange_result:
|
||||||
|
self.wallet.use_change = usechange_result
|
||||||
self.config.set_key('use_change', self.wallet.use_change, True)
|
self.config.set_key('use_change', self.wallet.use_change, True)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
|
|
Loading…
Reference in New Issue