mirror of
https://github.com/ankitects/anki.git
synced 2025-09-24 16:56:36 -04:00
type in the answer limits to a single field now
This commit is contained in:
parent
75b865d52e
commit
a652a0979d
3 changed files with 62 additions and 47 deletions
|
@ -293,7 +293,20 @@ class ModelProperties(QDialog):
|
||||||
self.dialog.cardAnswer.setPlainText(card.aformat.replace("<br>", "\n"))
|
self.dialog.cardAnswer.setPlainText(card.aformat.replace("<br>", "\n"))
|
||||||
self.dialog.questionInAnswer.setChecked(card.questionInAnswer)
|
self.dialog.questionInAnswer.setChecked(card.questionInAnswer)
|
||||||
self.dialog.allowEmptyAnswer.setChecked(card.allowEmptyAnswer)
|
self.dialog.allowEmptyAnswer.setChecked(card.allowEmptyAnswer)
|
||||||
self.dialog.typeAnswer.setChecked(card.typeAnswer)
|
self.dialog.typeAnswer.clear()
|
||||||
|
self.fieldNames = self.deck.s.column0("""
|
||||||
|
select fieldModels.name as n from fieldModels, cardModels
|
||||||
|
where cardModels.modelId = fieldModels.modelId
|
||||||
|
and cardModels.id = :id
|
||||||
|
order by n""", id=card.id)
|
||||||
|
s = [_("Don't ask me to type in the answer")]
|
||||||
|
s += [_("Compare with field '%s'") % f for f in self.fieldNames]
|
||||||
|
self.dialog.typeAnswer.insertItems(0, QStringList(s))
|
||||||
|
try:
|
||||||
|
idx = self.fieldNames.index(card.typeAnswer)
|
||||||
|
except ValueError:
|
||||||
|
idx = -1
|
||||||
|
self.dialog.typeAnswer.setCurrentIndex(idx + 1)
|
||||||
self.updateToggleButtonText(card)
|
self.updateToggleButtonText(card)
|
||||||
|
|
||||||
def enableCardMoveButtons(self):
|
def enableCardMoveButtons(self):
|
||||||
|
@ -330,7 +343,11 @@ class ModelProperties(QDialog):
|
||||||
changed = changed or changed2
|
changed = changed or changed2
|
||||||
self.updateField(card, 'questionInAnswer', self.dialog.questionInAnswer.isChecked())
|
self.updateField(card, 'questionInAnswer', self.dialog.questionInAnswer.isChecked())
|
||||||
self.updateField(card, 'allowEmptyAnswer', self.dialog.allowEmptyAnswer.isChecked())
|
self.updateField(card, 'allowEmptyAnswer', self.dialog.allowEmptyAnswer.isChecked())
|
||||||
self.updateField(card, 'typeAnswer', self.dialog.typeAnswer.isChecked())
|
idx = self.dialog.typeAnswer.currentIndex()
|
||||||
|
if not idx:
|
||||||
|
self.updateField(card, 'typeAnswer', u"")
|
||||||
|
else:
|
||||||
|
self.updateField(card, 'typeAnswer', self.fieldNames[idx-1])
|
||||||
if changed:
|
if changed:
|
||||||
# need to generate all question/answers for this card
|
# need to generate all question/answers for this card
|
||||||
self.deck.updateCardsFromModel(self.m)
|
self.deck.updateCardsFromModel(self.m)
|
||||||
|
|
|
@ -136,7 +136,12 @@ class View(object):
|
||||||
"Show the answer."
|
"Show the answer."
|
||||||
a = self.main.currentCard.htmlAnswer()
|
a = self.main.currentCard.htmlAnswer()
|
||||||
if self.main.currentCard.cardModel.typeAnswer:
|
if self.main.currentCard.cardModel.typeAnswer:
|
||||||
cor = stripHTML(self.main.currentCard.answer)
|
try:
|
||||||
|
cor = stripHTML(self.main.currentCard.fact[
|
||||||
|
self.main.currentCard.cardModel.typeAnswer])
|
||||||
|
except KeyError:
|
||||||
|
cor = ""
|
||||||
|
if cor:
|
||||||
given = unicode(self.main.typeAnswerField.text())
|
given = unicode(self.main.typeAnswerField.text())
|
||||||
res = []
|
res = []
|
||||||
if len(given) < len(cor):
|
if len(given) < len(cor):
|
||||||
|
|
|
@ -387,13 +387,6 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="3" column="1" >
|
|
||||||
<widget class="QCheckBox" name="questionInAnswer" >
|
|
||||||
<property name="text" >
|
|
||||||
<string>Hide the question when showing answer</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="2" column="1" >
|
<item row="2" column="1" >
|
||||||
<widget class="QTextEdit" name="cardAnswer" >
|
<widget class="QTextEdit" name="cardAnswer" >
|
||||||
<property name="sizePolicy" >
|
<property name="sizePolicy" >
|
||||||
|
@ -457,13 +450,6 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="4" column="1" >
|
|
||||||
<widget class="QCheckBox" name="allowEmptyAnswer" >
|
|
||||||
<property name="text" >
|
|
||||||
<string>Allow the answer to be blank</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="0" column="0" >
|
<item row="0" column="0" >
|
||||||
<widget class="QLabel" name="label_12" >
|
<widget class="QLabel" name="label_12" >
|
||||||
<property name="text" >
|
<property name="text" >
|
||||||
|
@ -490,10 +476,20 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="5" column="1" >
|
<item row="3" column="1" >
|
||||||
<widget class="QCheckBox" name="typeAnswer" >
|
<widget class="QComboBox" name="typeAnswer" />
|
||||||
|
</item>
|
||||||
|
<item row="4" column="1" >
|
||||||
|
<widget class="QCheckBox" name="questionInAnswer" >
|
||||||
<property name="text" >
|
<property name="text" >
|
||||||
<string>Ask me to type in the answer</string>
|
<string>Hide the question when showing answer</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="5" column="1" >
|
||||||
|
<widget class="QCheckBox" name="allowEmptyAnswer" >
|
||||||
|
<property name="text" >
|
||||||
|
<string>Allow the answer to be blank</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
@ -544,9 +540,6 @@
|
||||||
<tabstop>cardName</tabstop>
|
<tabstop>cardName</tabstop>
|
||||||
<tabstop>cardQuestion</tabstop>
|
<tabstop>cardQuestion</tabstop>
|
||||||
<tabstop>cardAnswer</tabstop>
|
<tabstop>cardAnswer</tabstop>
|
||||||
<tabstop>questionInAnswer</tabstop>
|
|
||||||
<tabstop>allowEmptyAnswer</tabstop>
|
|
||||||
<tabstop>typeAnswer</tabstop>
|
|
||||||
<tabstop>buttonBox</tabstop>
|
<tabstop>buttonBox</tabstop>
|
||||||
</tabstops>
|
</tabstops>
|
||||||
<resources/>
|
<resources/>
|
||||||
|
@ -558,8 +551,8 @@
|
||||||
<slot>accept()</slot>
|
<slot>accept()</slot>
|
||||||
<hints>
|
<hints>
|
||||||
<hint type="sourcelabel" >
|
<hint type="sourcelabel" >
|
||||||
<x>248</x>
|
<x>252</x>
|
||||||
<y>254</y>
|
<y>513</y>
|
||||||
</hint>
|
</hint>
|
||||||
<hint type="destinationlabel" >
|
<hint type="destinationlabel" >
|
||||||
<x>157</x>
|
<x>157</x>
|
||||||
|
@ -574,8 +567,8 @@
|
||||||
<slot>reject()</slot>
|
<slot>reject()</slot>
|
||||||
<hints>
|
<hints>
|
||||||
<hint type="sourcelabel" >
|
<hint type="sourcelabel" >
|
||||||
<x>316</x>
|
<x>320</x>
|
||||||
<y>260</y>
|
<y>513</y>
|
||||||
</hint>
|
</hint>
|
||||||
<hint type="destinationlabel" >
|
<hint type="destinationlabel" >
|
||||||
<x>286</x>
|
<x>286</x>
|
||||||
|
|
Loading…
Reference in a new issue