URI: 
       tremove expert mode, simplify settings - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
   DIR commit 3000762eac226be289bac3ef1b5ba71570d008c0
   DIR parent b96595da12fcbc7ab88d9d7a2c1aa07cdbdda630
  HTML Author: ThomasV <thomasv@gitorious>
       Date:   Thu,  3 Oct 2013 07:27:34 +0200
       
       remove expert mode, simplify settings
       
       Diffstat:
         M gui/qt/main_window.py               |     130 +++++++++++--------------------
       
       1 file changed, 46 insertions(+), 84 deletions(-)
       ---
   DIR diff --git a/gui/qt/main_window.py b/gui/qt/main_window.py
       t@@ -149,7 +149,6 @@ class ElectrumWindow(QMainWindow):
        
                self.need_update = threading.Event()
        
       -        self.expert_mode   = config.get('classic_expert_mode', False)
                self.decimal_point = config.get('decimal_point', 8)
                self.num_zeros     = int(config.get('num_zeros',0))
        
       t@@ -1026,21 +1025,13 @@ class ElectrumWindow(QMainWindow):
                return w
        
        
       -    def receive_tab_set_mode(self, i):
       -        self.save_column_widths()
       -        self.expert_mode = (i == 1)
       -        self.config.set_key('classic_expert_mode', self.expert_mode, True)
       -        self.update_receive_tab()
        
        
            def save_column_widths(self):
       -        if not self.expert_mode:
       -            widths = [ self.receive_list.columnWidth(0) ]
       -        else:
       -            widths = []
       -            for i in range(self.receive_list.columnCount() -1):
       -                widths.append(self.receive_list.columnWidth(i))
       -        self.column_widths["receive"][self.expert_mode] = widths
       +        widths = []
       +        for i in range(self.receive_list.columnCount() -1):
       +            widths.append(self.receive_list.columnWidth(i))
       +        self.column_widths["receive"][1] = widths
                
                self.column_widths["history"] = []
                for i in range(self.history_list.columnCount() - 1):
       t@@ -1117,11 +1108,10 @@ class ElectrumWindow(QMainWindow):
                if addr in self.wallet.imported_keys:
                    menu.addAction(_("Remove from wallet"), lambda: self.delete_imported_key(addr))
        
       -        if self.expert_mode:
       -            t = _("Unfreeze") if addr in self.wallet.frozen_addresses else _("Freeze")
       -            menu.addAction(t, lambda: self.toggle_freeze(addr))
       -            t = _("Unprioritize") if addr in self.wallet.prioritized_addresses else _("Prioritize")
       -            menu.addAction(t, lambda: self.toggle_priority(addr))
       +        t = _("Unfreeze") if addr in self.wallet.frozen_addresses else _("Freeze")
       +        menu.addAction(t, lambda: self.toggle_freeze(addr))
       +        t = _("Unprioritize") if addr in self.wallet.prioritized_addresses else _("Prioritize")
       +        menu.addAction(t, lambda: self.toggle_priority(addr))
                    
                run_hook('receive_menu', menu)
                menu.exec_(self.receive_list.viewport().mapToGlobal(position))
       t@@ -1177,20 +1167,19 @@ class ElectrumWindow(QMainWindow):
                balance = self.format_amount(c + u)
                item.setData(2,0,balance)
        
       -        if self.expert_mode:
       -            if address in self.wallet.frozen_addresses: 
       -                item.setBackgroundColor(0, QColor('lightblue'))
       -            elif address in self.wallet.prioritized_addresses: 
       -                item.setBackgroundColor(0, QColor('lightgreen'))
       +        if address in self.wallet.frozen_addresses: 
       +            item.setBackgroundColor(0, QColor('lightblue'))
       +        elif address in self.wallet.prioritized_addresses: 
       +            item.setBackgroundColor(0, QColor('lightgreen'))
                
        
            def update_receive_tab(self):
                l = self.receive_list
                
                l.clear()
       -        l.setColumnHidden(2, not self.expert_mode)
       -        l.setColumnHidden(3, not self.expert_mode)
       -        for i,width in enumerate(self.column_widths['receive'][self.expert_mode]):
       +        l.setColumnHidden(2, False)
       +        l.setColumnHidden(3, False)
       +        for i,width in enumerate(self.column_widths['receive'][1]):
                    l.setColumnWidth(i, width)
        
                if self.current_account is None:
       t@@ -1212,14 +1201,12 @@ class ElectrumWindow(QMainWindow):
                        icon = QIcon(":icons/key.png")
                        account_item.setIcon(0, icon)
                    
       -            for is_change in ([0,1] if self.expert_mode else [0]):
       -                if self.expert_mode:
       -                    name = _("Receiving") if not is_change else _("Change")
       -                    seq_item = QTreeWidgetItem( [ name, '', '', '', ''] )
       -                    account_item.addChild(seq_item)
       -                    if not is_change: seq_item.setExpanded(True)
       -                else:
       -                    seq_item = account_item
       +            for is_change in ([0,1]):
       +                name = _("Receiving") if not is_change else _("Change")
       +                seq_item = QTreeWidgetItem( [ name, '', '', '', ''] )
       +                account_item.addChild(seq_item)
       +                if not is_change: seq_item.setExpanded(True)
       +
                        is_red = False
                        gap = 0
        
       t@@ -1902,28 +1889,21 @@ class ElectrumWindow(QMainWindow):
                d.setWindowTitle(_('Electrum Settings'))
                d.setModal(1)
                vbox = QVBoxLayout()
       +        grid = QGridLayout()
       +        grid.setColumnStretch(0,1)
        
       -        tabs = QTabWidget(self)
       -        self.settings_tab = tabs
       -        vbox.addWidget(tabs)
       -
       -        tab1 = QWidget()
       -        grid_ui = QGridLayout(tab1)
       -        grid_ui.setColumnStretch(0,1)
       -        tabs.addTab(tab1, _('Display') )
       -
       -        nz_label = QLabel(_('Display zeros'))
       -        grid_ui.addWidget(nz_label, 0, 0)
       +        nz_label = QLabel(_('Display zeros') + ':')
       +        grid.addWidget(nz_label, 0, 0)
                nz_e = AmountEdit(None,True)
                nz_e.setText("%d"% self.num_zeros)
       -        grid_ui.addWidget(nz_e, 0, 1)
       +        grid.addWidget(nz_e, 0, 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"')
       -        grid_ui.addWidget(HelpButton(msg), 0, 2)
       +        grid.addWidget(HelpButton(msg), 0, 2)
                if not self.config.is_modifiable('num_zeros'):
                    for w in [nz_e, nz_label]: w.setEnabled(False)
                
                lang_label=QLabel(_('Language') + ':')
       -        grid_ui.addWidget(lang_label, 1, 0)
       +        grid.addWidget(lang_label, 1, 0)
                lang_combo = QComboBox()
                from electrum.i18n import languages
                lang_combo.addItems(languages.values())
       t@@ -1932,59 +1912,43 @@ class ElectrumWindow(QMainWindow):
                except:
                    index = 0
                lang_combo.setCurrentIndex(index)
       -        grid_ui.addWidget(lang_combo, 1, 1)
       -        grid_ui.addWidget(HelpButton(_('Select which language is used in the GUI (after restart).')+' '), 1, 2)
       +        grid.addWidget(lang_combo, 1, 1)
       +        grid.addWidget(HelpButton(_('Select which language is used in the GUI (after restart).')+' '), 1, 2)
                if not self.config.is_modifiable('language'):
                    for w in [lang_combo, lang_label]: w.setEnabled(False)
        
       -        expert_cb = QCheckBox(_('Expert mode'))
       -        expert_cb.setChecked(self.expert_mode)
       -        grid_ui.addWidget(expert_cb, 3, 0)
       -        hh =  _('In expert mode, your client will:') + '\n'  \
       -            + _(' - Show change addresses in the Receive tab') + '\n'  \
       -            + _(' - Display the balance of each address') + '\n'  \
       -            + _(' - Add freeze/prioritize actions to addresses.') 
       -        grid_ui.addWidget(HelpButton(hh), 3, 2)
       -        grid_ui.setRowStretch(4,1)
       -
       -        # wallet tab
       -        tab2 = QWidget()
       -        grid_wallet = QGridLayout(tab2)
       -        grid_wallet.setColumnStretch(0,1)
       -        tabs.addTab(tab2, _('Wallet') )
                
       -        fee_label = QLabel(_('Transaction fee'))
       -        grid_wallet.addWidget(fee_label, 0, 0)
       +        fee_label = QLabel(_('Transaction fee') + ':')
       +        grid.addWidget(fee_label, 2, 0)
                fee_e = AmountEdit(self.base_unit)
                fee_e.setText(self.format_amount(self.wallet.fee).strip())
       -        grid_wallet.addWidget(fee_e, 0, 2)
       +        grid.addWidget(fee_e, 2, 1)
                msg = _('Fee per kilobyte of transaction.') + ' ' \
                    + _('Recommended value') + ': ' + self.format_amount(50000)
       -        grid_wallet.addWidget(HelpButton(msg), 0, 3)
       +        grid.addWidget(HelpButton(msg), 2, 2)
                if not self.config.is_modifiable('fee_per_kb'):
                    for w in [fee_e, fee_label]: w.setEnabled(False)
        
       -        usechange_cb = QCheckBox(_('Use change addresses'))
       -        usechange_cb.setChecked(self.wallet.use_change)
       -        grid_wallet.addWidget(usechange_cb, 1, 0)
       -        grid_wallet.addWidget(HelpButton(_('Using change addresses makes it more difficult for other people to track your transactions.')+' '), 1, 3)
       -        if not self.config.is_modifiable('use_change'): usechange_cb.setEnabled(False)
       -
                units = ['BTC', 'mBTC']
       -        unit_label = QLabel(_('Base unit'))
       -        grid_wallet.addWidget(unit_label, 3, 0)
       +        unit_label = QLabel(_('Base unit') + ':')
       +        grid.addWidget(unit_label, 3, 0)
                unit_combo = QComboBox()
                unit_combo.addItems(units)
                unit_combo.setCurrentIndex(units.index(self.base_unit()))
       -        grid_wallet.addWidget(unit_combo, 3, 2)
       -        grid_wallet.addWidget(HelpButton(_('Base unit of your wallet.')\
       +        grid.addWidget(unit_combo, 3, 1)
       +        grid.addWidget(HelpButton(_('Base unit of your wallet.')\
                                                     + '\n1BTC=1000mBTC.\n' \
       -                                             + _(' This settings affects the fields in the Send tab')+' '), 3, 3)
       -        grid_wallet.setRowStretch(4,1)
       +                                             + _(' This settings affects the fields in the Send tab')+' '), 3, 2)
        
       +        usechange_cb = QCheckBox(_('Use change addresses'))
       +        usechange_cb.setChecked(self.wallet.use_change)
       +        grid.addWidget(usechange_cb, 4, 0)
       +        grid.addWidget(HelpButton(_('Using change addresses makes it more difficult for other people to track your transactions.')+' '), 4, 2)
       +        if not self.config.is_modifiable('use_change'): usechange_cb.setEnabled(False)
        
       -        run_hook('create_settings_tab', tabs)
       +        grid.setRowStretch(5,1)
        
       +        vbox.addLayout(grid)
                vbox.addLayout(ok_cancel_buttons(d))
                d.setLayout(vbox) 
        
       t@@ -2033,13 +1997,11 @@ class ElectrumWindow(QMainWindow):
                    self.config.set_key("language", lang_request, True)
                    need_restart = True
                    
       -
                run_hook('close_settings_dialog')
        
                if need_restart:
                    QMessageBox.warning(self, _('Success'), _('Please restart Electrum to activate the new GUI settings'), _('OK'))
        
       -        self.receive_tab_set_mode(expert_cb.isChecked())
        
            def run_network_dialog(self):
                NetworkDialog(self.wallet.network, self.config, self).do_exec()