Fix #9405 (Clearing last viewed book(s) history)

This commit is contained in:
Kovid Goyal 2011-03-16 12:07:41 -06:00
parent 412fbc6fbc
commit be945ddda0

View File

@ -299,6 +299,9 @@ class EbookViewer(MainWindow, Ui_EbookViewer):
ca.setShortcut(QKeySequence.Copy) ca.setShortcut(QKeySequence.Copy)
self.addAction(ca) self.addAction(ca)
self.open_history_menu = QMenu() self.open_history_menu = QMenu()
self.clear_recent_history_action = QAction(
_('Clear list of recently opened books'), self)
self.clear_recent_history_action.triggered.connect(self.clear_recent_history)
self.build_recent_menu() self.build_recent_menu()
self.action_open_ebook.setMenu(self.open_history_menu) self.action_open_ebook.setMenu(self.open_history_menu)
self.open_history_menu.triggered[QAction].connect(self.open_recent) self.open_history_menu.triggered[QAction].connect(self.open_recent)
@ -307,11 +310,19 @@ class EbookViewer(MainWindow, Ui_EbookViewer):
self.restore_state() self.restore_state()
def clear_recent_history(self, *args):
vprefs.set('viewer_open_history', [])
self.build_recent_menu()
def build_recent_menu(self): def build_recent_menu(self):
m = self.open_history_menu m = self.open_history_menu
m.clear() m.clear()
recent = vprefs.get('viewer_open_history', [])
if recent:
m.addAction(self.clear_recent_history_action)
m.addSeparator()
count = 0 count = 0
for path in vprefs.get('viewer_open_history', []): for path in recent:
if count > 9: if count > 9:
break break
if os.path.exists(path): if os.path.exists(path):