From 827b22c88c531dac051867801279015fdff3287e Mon Sep 17 00:00:00 2001 From: Damien Elmes Date: Mon, 28 Mar 2011 16:06:39 +0900 Subject: [PATCH] new undo links; disable individual actions instead of menus to work around osx issue --- aqt/main.py | 30 ++++-------------------------- designer/main.ui | 10 ---------- designer/studyopts.ui | 4 ++-- 3 files changed, 6 insertions(+), 38 deletions(-) diff --git a/aqt/main.py b/aqt/main.py index 1d7868137..b3d921a5d 100755 --- a/aqt/main.py +++ b/aqt/main.py @@ -243,7 +243,6 @@ Debug info:\n%s""") % traceback.format_exc(), help="DeckErrors") return 0 self.config.addRecentDeck(self.deck.path) self.setupMedia(self.deck) - self.deck.initUndo() self.progress.setupDB() self.moveToState("deckLoading") return True @@ -481,7 +480,6 @@ Debug info:\n%s""") % traceback.format_exc(), help="DeckErrors") return self.closeAllDeckWindows() self.deck = self.deck.saveAs(file) - self.deck.initUndo() self.updateTitleBar() self.updateRecentFiles(self.deck.path) self.browserLastRefreshed = 0 @@ -604,33 +602,20 @@ Debug info:\n%s""") % traceback.format_exc(), help="DeckErrors") self.reset() self.deck.setUndoEnd(undo) - # Undo/redo + # Undo ########################################################################## def onUndo(self): - name = self.deck.undoName() self.deck.undo() self.reset() - if name == "Answer Card": - self.setStatus(_("Card placed back in queue.")) - - def onRedo(self): - self.deck.redo() - self.reset() def maybeEnableUndo(self): - if self.deck and self.deck.undoAvailable(): + if self.deck and self.deck.undoName(): self.form.actionUndo.setText(_("Undo %s") % self.deck.undoName()) self.form.actionUndo.setEnabled(True) else: self.form.actionUndo.setEnabled(False) - if self.deck and self.deck.redoAvailable(): - self.form.actionRedo.setText(_("Redo %s") % - self.deck.redoName()) - self.form.actionRedo.setEnabled(True) - else: - self.form.actionRedo.setEnabled(False) # Other menu operations ########################################################################## @@ -741,7 +726,6 @@ Please give your deck a name:""")) "Editdeck", "DeckProperties", "Undo", - "Redo", "Export", "Graphs", "Dstats", @@ -750,11 +734,6 @@ Please give your deck a name:""")) "Overview", ) - deckRelatedMenus = ( - "Edit", - "Tools", - ) - def setupMenus(self): m = self.form s = SIGNAL("triggered()") @@ -785,7 +764,6 @@ Please give your deck a name:""")) self.connect(m.actionDelete, s, self.onDelete) self.connect(m.actionRepeatAudio, s, self.onRepeatAudio) self.connect(m.actionUndo, s, self.onUndo) - self.connect(m.actionRedo, s, self.onRedo) self.connect(m.actionFullDatabaseCheck, s, self.onCheckDB) self.connect(m.actionCheckMediaDatabase, s, self.onCheckMediaDB) self.connect(m.actionDownloadMissingMedia, s, self.onDownloadMissingMedia) @@ -797,12 +775,12 @@ Please give your deck a name:""")) def enableDeckMenuItems(self, enabled=True): "setEnabled deck-related items." - for item in self.deckRelatedMenus: - getattr(self.form, "menu" + item).setEnabled(enabled) for item in self.deckRelatedMenuItems: getattr(self.form, "action" + item).setEnabled(enabled) + self.form.menuAdvanced.setEnabled(enabled) if not enabled: self.disableCardMenuItems() + self.maybeEnableUndo() runHook("enableDeckMenuItems", enabled) def disableDeckMenuItems(self): diff --git a/designer/main.ui b/designer/main.ui index 98463b129..c69cdc7c0 100644 --- a/designer/main.ui +++ b/designer/main.ui @@ -56,7 +56,6 @@ &Edit - @@ -526,15 +525,6 @@ Ctrl+E - - - - :/icons/edit-redo.png:/icons/edit-redo.png - - - &Redo - - diff --git a/designer/studyopts.ui b/designer/studyopts.ui index e89d3ee11..1ac58b27a 100644 --- a/designer/studyopts.ui +++ b/designer/studyopts.ui @@ -145,14 +145,14 @@ - + Qt::Vertical - QDialogButtonBox::Cancel|QDialogButtonBox::Help|QDialogButtonBox::Ok + QDialogButtonBox::Help|QDialogButtonBox::Ok