new methods: init_menubar and load_wallet
This commit is contained in:
parent
fd5ee59a29
commit
4a60db9733
|
@ -277,6 +277,40 @@ class ElectrumWindow(QMainWindow):
|
|||
if not self.wallet.seed: title += ' [%s]' % (_('seedless'))
|
||||
self.setWindowTitle( title )
|
||||
|
||||
self.init_menubar()
|
||||
|
||||
QShortcut(QKeySequence("Ctrl+W"), self, self.close)
|
||||
QShortcut(QKeySequence("Ctrl+Q"), self, self.close)
|
||||
QShortcut(QKeySequence("Ctrl+PgUp"), self, lambda: tabs.setCurrentIndex( (tabs.currentIndex() - 1 )%tabs.count() ))
|
||||
QShortcut(QKeySequence("Ctrl+PgDown"), self, lambda: tabs.setCurrentIndex( (tabs.currentIndex() + 1 )%tabs.count() ))
|
||||
|
||||
self.connect(self, QtCore.SIGNAL('update_status'), self.update_status)
|
||||
self.connect(self, QtCore.SIGNAL('banner_signal'), lambda: self.console.showMessage(self.wallet.interface.banner) )
|
||||
self.history_list.setFocus(True)
|
||||
|
||||
self.exchanger = exchange_rate.Exchanger(self)
|
||||
self.connect(self, SIGNAL("refresh_balance()"), self.update_wallet)
|
||||
|
||||
# dark magic fix by flatfly; https://bitcointalk.org/index.php?topic=73651.msg959913#msg959913
|
||||
if platform.system() == 'Windows':
|
||||
n = 3 if self.wallet.seed else 2
|
||||
tabs.setCurrentIndex (n)
|
||||
tabs.setCurrentIndex (0)
|
||||
|
||||
# fix fee
|
||||
if self.wallet.fee < 50000:
|
||||
self.wallet.set_fee(50000)
|
||||
self.show_message("Note: Your default fee was raised to 0.0005 BTC/kilobyte")
|
||||
|
||||
# set initial message
|
||||
self.console.showMessage(self.wallet.interface.banner)
|
||||
|
||||
# plugins that need to change the GUI do it here
|
||||
self.run_hook('init_gui')
|
||||
|
||||
|
||||
|
||||
def init_menubar(self):
|
||||
menubar = QMenuBar()
|
||||
|
||||
electrum_menu = menubar.addMenu(_("&File"))
|
||||
|
@ -323,34 +357,30 @@ class ElectrumWindow(QMainWindow):
|
|||
self.setMenuBar(menubar)
|
||||
|
||||
|
||||
QShortcut(QKeySequence("Ctrl+W"), self, self.close)
|
||||
QShortcut(QKeySequence("Ctrl+Q"), self, self.close)
|
||||
QShortcut(QKeySequence("Ctrl+PgUp"), self, lambda: tabs.setCurrentIndex( (tabs.currentIndex() - 1 )%tabs.count() ))
|
||||
QShortcut(QKeySequence("Ctrl+PgDown"), self, lambda: tabs.setCurrentIndex( (tabs.currentIndex() + 1 )%tabs.count() ))
|
||||
|
||||
self.connect(self, QtCore.SIGNAL('update_status'), self.update_status)
|
||||
self.connect(self, QtCore.SIGNAL('banner_signal'), lambda: self.console.showMessage(self.wallet.interface.banner) )
|
||||
self.history_list.setFocus(True)
|
||||
def load_wallet(self, filename):
|
||||
import electrum
|
||||
|
||||
self.exchanger = exchange_rate.Exchanger(self)
|
||||
self.connect(self, SIGNAL("refresh_balance()"), self.update_wallet)
|
||||
config = electrum.SimpleConfig({'wallet_path': filename})
|
||||
if not config.wallet_file_exists:
|
||||
self.show_message("file not found "+ filename)
|
||||
return
|
||||
|
||||
# dark magic fix by flatfly; https://bitcointalk.org/index.php?topic=73651.msg959913#msg959913
|
||||
if platform.system() == 'Windows':
|
||||
n = 3 if self.wallet.seed else 2
|
||||
tabs.setCurrentIndex (n)
|
||||
tabs.setCurrentIndex (0)
|
||||
#self.wallet.verifier.stop()
|
||||
interface = self.wallet.interface
|
||||
verifier = self.wallet.verifier
|
||||
self.wallet.synchronizer.stop()
|
||||
|
||||
# fix fee
|
||||
if self.wallet.fee < 50000:
|
||||
self.wallet.set_fee(50000)
|
||||
self.show_message("Note: Your default fee was raised to 0.0005 BTC/kilobyte")
|
||||
self.config = config
|
||||
self.wallet = electrum.Wallet(self.config)
|
||||
self.wallet.interface = interface
|
||||
self.wallet.verifier = verifier
|
||||
|
||||
# set initial message
|
||||
self.console.showMessage(self.wallet.interface.banner)
|
||||
synchronizer = electrum.WalletSynchronizer(self.wallet, self.config)
|
||||
synchronizer.start()
|
||||
|
||||
self.update_wallet()
|
||||
|
||||
# plugins that need to change the GUI do it here
|
||||
self.run_hook('init_gui')
|
||||
|
||||
|
||||
# plugins
|
||||
|
|
|
@ -1037,6 +1037,7 @@ class WalletSynchronizer(threading.Thread):
|
|||
threading.Thread.__init__(self)
|
||||
self.daemon = True
|
||||
self.wallet = wallet
|
||||
wallet.synchronizer = self
|
||||
self.interface = self.wallet.interface
|
||||
self.interface.register_channel('synchronizer')
|
||||
self.wallet.interface.register_callback('connected', lambda: self.wallet.set_up_to_date(False))
|
||||
|
|
Loading…
Reference in New Issue