new methods: init_menubar and load_wallet
This commit is contained in:
@@ -277,12 +277,46 @@ class ElectrumWindow(QMainWindow):
|
|||||||
if not self.wallet.seed: title += ' [%s]' % (_('seedless'))
|
if not self.wallet.seed: title += ' [%s]' % (_('seedless'))
|
||||||
self.setWindowTitle( title )
|
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()
|
menubar = QMenuBar()
|
||||||
|
|
||||||
electrum_menu = menubar.addMenu(_("&File"))
|
electrum_menu = menubar.addMenu(_("&File"))
|
||||||
preferences_name = _("Preferences")
|
preferences_name = _("Preferences")
|
||||||
if sys.platform == 'darwin':
|
if sys.platform == 'darwin':
|
||||||
preferences_name = _("Electrum preferences") # Settings / Preferences are all reserved keywords in OSX using this as work around
|
preferences_name = _("Electrum preferences") # Settings / Preferences are all reserved keywords in OSX using this as work around
|
||||||
|
|
||||||
preferences_menu = electrum_menu.addAction(preferences_name)
|
preferences_menu = electrum_menu.addAction(preferences_name)
|
||||||
electrum_menu.addSeparator()
|
electrum_menu.addSeparator()
|
||||||
@@ -323,35 +357,31 @@ class ElectrumWindow(QMainWindow):
|
|||||||
self.setMenuBar(menubar)
|
self.setMenuBar(menubar)
|
||||||
|
|
||||||
|
|
||||||
QShortcut(QKeySequence("Ctrl+W"), self, self.close)
|
|
||||||
QShortcut(QKeySequence("Ctrl+Q"), self, self.close)
|
def load_wallet(self, filename):
|
||||||
QShortcut(QKeySequence("Ctrl+PgUp"), self, lambda: tabs.setCurrentIndex( (tabs.currentIndex() - 1 )%tabs.count() ))
|
import electrum
|
||||||
QShortcut(QKeySequence("Ctrl+PgDown"), self, lambda: tabs.setCurrentIndex( (tabs.currentIndex() + 1 )%tabs.count() ))
|
|
||||||
|
config = electrum.SimpleConfig({'wallet_path': filename})
|
||||||
|
if not config.wallet_file_exists:
|
||||||
|
self.show_message("file not found "+ filename)
|
||||||
|
return
|
||||||
|
|
||||||
|
#self.wallet.verifier.stop()
|
||||||
|
interface = self.wallet.interface
|
||||||
|
verifier = self.wallet.verifier
|
||||||
|
self.wallet.synchronizer.stop()
|
||||||
|
|
||||||
self.connect(self, QtCore.SIGNAL('update_status'), self.update_status)
|
self.config = config
|
||||||
self.connect(self, QtCore.SIGNAL('banner_signal'), lambda: self.console.showMessage(self.wallet.interface.banner) )
|
self.wallet = electrum.Wallet(self.config)
|
||||||
self.history_list.setFocus(True)
|
self.wallet.interface = interface
|
||||||
|
self.wallet.verifier = verifier
|
||||||
|
|
||||||
|
synchronizer = electrum.WalletSynchronizer(self.wallet, self.config)
|
||||||
|
synchronizer.start()
|
||||||
|
|
||||||
|
self.update_wallet()
|
||||||
|
|
||||||
|
|
||||||
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')
|
|
||||||
|
|
||||||
|
|
||||||
# plugins
|
# plugins
|
||||||
def init_plugins(self):
|
def init_plugins(self):
|
||||||
|
|||||||
@@ -1037,6 +1037,7 @@ class WalletSynchronizer(threading.Thread):
|
|||||||
threading.Thread.__init__(self)
|
threading.Thread.__init__(self)
|
||||||
self.daemon = True
|
self.daemon = True
|
||||||
self.wallet = wallet
|
self.wallet = wallet
|
||||||
|
wallet.synchronizer = self
|
||||||
self.interface = self.wallet.interface
|
self.interface = self.wallet.interface
|
||||||
self.interface.register_channel('synchronizer')
|
self.interface.register_channel('synchronizer')
|
||||||
self.wallet.interface.register_callback('connected', lambda: self.wallet.set_up_to_date(False))
|
self.wallet.interface.register_callback('connected', lambda: self.wallet.set_up_to_date(False))
|
||||||
|
|||||||
Reference in New Issue
Block a user