diff --git a/ankiqt/config.py b/ankiqt/config.py
index 90f667a32..9652fee92 100644
--- a/ankiqt/config.py
+++ b/ankiqt/config.py
@@ -88,6 +88,7 @@ class Config(dict):
'typeAnswerFontSize': 20,
'showProgress': True,
'recentColours': ["#000000", "#0000ff"],
+ 'preventEditUntilAnswer': False,
}
for (k,v) in fields.items():
if not self.has_key(k):
diff --git a/ankiqt/ui/main.py b/ankiqt/ui/main.py
index e9bbbcbee..80fd81356 100644
--- a/ankiqt/ui/main.py
+++ b/ankiqt/ui/main.py
@@ -1956,10 +1956,13 @@ Couldn't contact Anki Online. Please check your internet connection."""))
(hasSound(self.currentCard.answer) and
self.state != "getQuestion"))
self.mainWin.actionRepeatAudio.setEnabled(snd)
- self.mainWin.actionEditCurrent.setEnabled(True)
self.mainWin.actionMarkCard.setEnabled(True)
self.mainWin.actionSuspendCard.setEnabled(True)
self.mainWin.actionDelete.setEnabled(True)
+ enableEdits = (not self.config['preventEditUntilAnswer'] or
+ self.state != "getQuestion")
+ self.mainWin.actionEditCurrent.setEnabled(enableEdits)
+ self.mainWin.actionEditdeck.setEnabled(enableEdits)
def maybeShowKanjiStats(self):
if not self.deck:
diff --git a/ankiqt/ui/preferences.py b/ankiqt/ui/preferences.py
index 8a6a6ac3a..9a94abae3 100644
--- a/ankiqt/ui/preferences.py
+++ b/ankiqt/ui/preferences.py
@@ -115,7 +115,7 @@ class Preferences(QDialog):
self.dialog.splitQA.setChecked(self.config['splitQA'])
self.dialog.addZeroSpace.setChecked(self.config['addZeroSpace'])
self.dialog.alternativeTheme.setChecked(self.config['alternativeTheme'])
- self.dialog.showProgress.setChecked(self.config['showProgress'])
+ self.dialog.preventEdits.setChecked(self.config['preventEditUntilAnswer'])
def updateAdvanced(self):
self.config['showTrayIcon'] = self.dialog.showTray.isChecked()
@@ -127,6 +127,7 @@ class Preferences(QDialog):
self.config['addZeroSpace'] = self.dialog.addZeroSpace.isChecked()
self.config['alternativeTheme'] = self.dialog.alternativeTheme.isChecked()
self.config['showProgress'] = self.dialog.showProgress.isChecked()
+ self.config['preventEditUntilAnswer'] = self.dialog.preventEdits.isChecked()
def codeToIndex(self, code):
n = 0
diff --git a/designer/preferences.ui b/designer/preferences.ui
index c81697ac0..f9caae078 100644
--- a/designer/preferences.ui
+++ b/designer/preferences.ui
@@ -96,6 +96,13 @@
+ -
+
+
+ Prevent edits until answer shown
+
+
+
-
@@ -415,6 +422,7 @@
splitQA
showEstimates
showProgress
+ preventEdits
saveWhenClosing
saveAfterEvery
saveAfterEveryNum