From 416a3bad09735d927b8e4d491312f7880b1c26c5 Mon Sep 17 00:00:00 2001 From: ThomasV Date: Sun, 13 May 2012 10:54:03 +0200 Subject: [PATCH] seedless wallets --- lib/gui.py | 40 ++++++++++++++++++++++------------------ lib/gui_qt.py | 10 +++++++--- 2 files changed, 29 insertions(+), 21 deletions(-) diff --git a/lib/gui.py b/lib/gui.py index e6fa2538..655c72ce 100644 --- a/lib/gui.py +++ b/lib/gui.py @@ -563,7 +563,9 @@ class ElectrumWindow: self.funds_error = False # True if not enough funds self.window = MyWindow(gtk.WINDOW_TOPLEVEL) - self.window.set_title(APP_NAME + " " + self.wallet.electrum_version) + title = 'Electrum ' + self.wallet.electrum_version + ' - ' + self.wallet.path + if not self.wallet.seed: title += ' [seedless]' + self.window.set_title(title) self.window.connect("destroy", gtk.main_quit) self.window.set_border_width(0) self.window.connect('mykeypress', gtk.main_quit) @@ -595,17 +597,18 @@ class ElectrumWindow: self.network_button.show() self.status_bar.pack_end(self.network_button, False, False) - def seedb(w, wallet): - if wallet.use_encryption: - password = password_dialog(self.window) - if not password: return - else: password = None - show_seed_dialog(wallet, password, self.window) - button = gtk.Button('S') - button.connect("clicked", seedb, wallet ) - button.set_relief(gtk.RELIEF_NONE) - button.show() - self.status_bar.pack_end(button,False, False) + if self.wallet.seed: + def seedb(w, wallet): + if wallet.use_encryption: + password = password_dialog(self.window) + if not password: return + else: password = None + show_seed_dialog(wallet, password, self.window) + button = gtk.Button('S') + button.connect("clicked", seedb, wallet ) + button.set_relief(gtk.RELIEF_NONE) + button.show() + self.status_bar.pack_end(button,False, False) settings_icon = gtk.Image() settings_icon.set_from_stock(gtk.STOCK_PREFERENCES, gtk.ICON_SIZE_MENU) @@ -627,12 +630,13 @@ class ElectrumWindow: pw_icon.set_size_request(16,16 ) pw_icon.show() - password_button = gtk.Button() - password_button.connect("clicked", lambda x: change_password_dialog(self.wallet, self.window, pw_icon)) - password_button.add(pw_icon) - password_button.set_relief(gtk.RELIEF_NONE) - password_button.show() - self.status_bar.pack_end(password_button,False,False) + if self.wallet.seed: + password_button = gtk.Button() + password_button.connect("clicked", lambda x: change_password_dialog(self.wallet, self.window, pw_icon)) + password_button.add(pw_icon) + password_button.set_relief(gtk.RELIEF_NONE) + password_button.show() + self.status_bar.pack_end(password_button,False,False) self.window.add(vbox) self.window.show_all() diff --git a/lib/gui_qt.py b/lib/gui_qt.py index e1804121..3fc4ce6b 100644 --- a/lib/gui_qt.py +++ b/lib/gui_qt.py @@ -166,7 +166,9 @@ class ElectrumWindow(QMainWindow): self.setCentralWidget(tabs) self.create_status_bar() self.setGeometry(100,100,840,400) - self.setWindowTitle( 'Electrum ' + self.wallet.electrum_version ) + title = 'Electrum ' + self.wallet.electrum_version + ' - ' + self.wallet.path + if not self.wallet.seed: title += ' [seedless]' + self.setWindowTitle( title ) self.show() QShortcut(QKeySequence("Ctrl+W"), self, self.close) @@ -674,9 +676,11 @@ class ElectrumWindow(QMainWindow): def create_status_bar(self): sb = QStatusBar() sb.setFixedHeight(35) - sb.addPermanentWidget( StatusBarButton( QIcon(":icons/lock.png"), "Password", lambda: self.change_password_dialog(self.wallet, self) ) ) + if self.wallet.seed: + sb.addPermanentWidget( StatusBarButton( QIcon(":icons/lock.png"), "Password", lambda: self.change_password_dialog(self.wallet, self) ) ) sb.addPermanentWidget( StatusBarButton( QIcon(":icons/preferences.png"), "Preferences", self.settings_dialog ) ) - sb.addPermanentWidget( StatusBarButton( QIcon(":icons/seed.png"), "Seed", lambda: self.show_seed_dialog(self.wallet, self) ) ) + if self.wallet.seed: + sb.addPermanentWidget( StatusBarButton( QIcon(":icons/seed.png"), "Seed", lambda: self.show_seed_dialog(self.wallet, self) ) ) self.status_button = StatusBarButton( QIcon(":icons/status_disconnected.png"), "Network", lambda: self.network_dialog(self.wallet, self) ) sb.addPermanentWidget( self.status_button ) self.setStatusBar(sb)