commit eef49a328a9af499c616a5bd41355ba26ed31906
parent e93ff187768853e2ab7734286a9f69019b210dd4
Author: ThomasV <thomasv@gitorious>
Date: Thu, 6 Aug 2015 16:27:49 +0200
add recently open files to menu. fixes #1273
Diffstat:
1 file changed, 21 insertions(+), 3 deletions(-)
diff --git a/gui/qt/main_window.py b/gui/qt/main_window.py
@@ -276,9 +276,12 @@ class ElectrumWindow(QMainWindow):
def open_wallet(self):
wallet_folder = self.wallet.storage.path
- filename = unicode( QFileDialog.getOpenFileName(self, "Select your wallet file", wallet_folder) )
+ filename = unicode(QFileDialog.getOpenFileName(self, "Select your wallet file", wallet_folder))
if not filename:
return
+ self.load_wallet_file(filename)
+
+ def load_wallet_file(self, filename):
try:
storage = WalletStorage(filename)
except Exception as e:
@@ -312,7 +315,8 @@ class ElectrumWindow(QMainWindow):
# save path
if self.config.get('wallet_path') is None:
self.config.set_key('gui_last_wallet', filename)
-
+ # add to recently visited
+ self.update_recently_visited(filename)
def backup_wallet(self):
path = self.wallet.storage.path
@@ -364,6 +368,18 @@ class ElectrumWindow(QMainWindow):
self.load_wallet(self.wallet)
self.show()
+ def update_recently_visited(self, filename=None):
+ recent = self.config.get('recently_open', [])
+ if filename and filename not in recent:
+ recent.insert(filename, 0)
+ recent = recent[:10]
+ self.config.set_key('recently_open', recent)
+ self.recently_visited_menu.clear()
+ for i, k in enumerate(recent):
+ b = os.path.basename(k)
+ def loader(k):
+ return lambda: self.load_wallet_file(k)
+ self.recently_visited_menu.addAction(b, loader(k)).setShortcut(QKeySequence("Ctrl+%d"%i))
def init_menubar(self):
menubar = QMenuBar()
@@ -371,8 +387,10 @@ class ElectrumWindow(QMainWindow):
file_menu = menubar.addMenu(_("&File"))
file_menu.addAction(_("&Open"), self.open_wallet).setShortcut(QKeySequence.Open)
file_menu.addAction(_("&New/Restore"), self.new_wallet).setShortcut(QKeySequence.New)
- file_menu.addAction(_("&Save Copy"), self.backup_wallet).setShortcut(QKeySequence.SaveAs)
+ self.recently_visited_menu = file_menu.addMenu(_("&Recently open"))
+ file_menu.addSeparator()
file_menu.addAction(_("&Quit"), self.close)
+ self.update_recently_visited()
wallet_menu = menubar.addMenu(_("&Wallet"))
wallet_menu.addAction(_("&New contact"), self.new_contact_dialog)