add option to forget inaccessible decks

This commit is contained in:
Damien Elmes 2010-01-29 17:07:49 +09:00
parent e2cbfd1916
commit 68ab1244fc

View file

@ -1074,7 +1074,7 @@ your deck."""))
self.browserLastRefreshed = 0 self.browserLastRefreshed = 0
self.browserDecks = [] self.browserDecks = []
def refreshBrowserDecks(self): def refreshBrowserDecks(self, forget=False):
self.browserDecks = [] self.browserDecks = []
if not self.config['recentDeckPaths']: if not self.config['recentDeckPaths']:
return return
@ -1086,6 +1086,8 @@ your deck."""))
self.updateProgress(_("Checking deck %(x)d of %(y)d...") % { self.updateProgress(_("Checking deck %(x)d of %(y)d...") % {
'x': c+1, 'y': len(self.config['recentDeckPaths'])}) 'x': c+1, 'y': len(self.config['recentDeckPaths'])})
if not os.path.exists(d): if not os.path.exists(d):
if forget:
toRemove.append(d)
continue continue
try: try:
deck = DeckStorage.Deck(d, backup=False) deck = DeckStorage.Deck(d, backup=False)
@ -1243,11 +1245,22 @@ your deck."""))
refresh.setShortcut(_("F5")) refresh.setShortcut(_("F5"))
self.connect(refresh, SIGNAL("clicked()"), self.connect(refresh, SIGNAL("clicked()"),
self.forceBrowserRefresh) self.forceBrowserRefresh)
layout.addWidget(refresh, c+2, 5) layout.addItem(QSpacerItem(1,20, QSizePolicy.Preferred,
QSizePolicy.Preferred), c+2, 5)
layout.addWidget(refresh, c+3, 5)
more = QPushButton(_("More"))
moreMenu = QMenu()
a = moreMenu.addAction(QIcon(":/icons/edit-undo.png"),
_("Forget Inaccessible Decks"))
a.connect(a, SIGNAL("activated()"),
self.onDeckBrowserForgetInaccessible)
more.setMenu(moreMenu)
layout.addWidget(more, c+3, 6)
self.moreMenus.append(moreMenu)
# make sure top labels don't expand # make sure top labels don't expand
layout.addItem(QSpacerItem(1,1, QSizePolicy.Expanding, layout.addItem(QSpacerItem(1,1, QSizePolicy.Expanding,
QSizePolicy.Expanding), QSizePolicy.Expanding),
c+3, 5) c+4, 5)
# summarize # summarize
reps = 0 reps = 0
mins = 0 mins = 0
@ -1294,6 +1307,9 @@ later by using File>Close.
self.config['recentDeckPaths'].remove(deck) self.config['recentDeckPaths'].remove(deck)
self.showDeckBrowser() self.showDeckBrowser()
def onDeckBrowserForgetInaccessible(self):
self.refreshBrowserDecks(forget=True)
# Opening and closing the app # Opening and closing the app
########################################################################## ##########################################################################