update model properties

This commit is contained in:
Damien Elmes 2008-12-04 00:10:37 +09:00
parent f8d79a6e37
commit a762a11441
3 changed files with 178 additions and 304 deletions

View file

@ -38,9 +38,7 @@ class ModelProperties(QDialog):
def readData(self):
# properties section
self.dialog.name.setText(self.m.name)
self.dialog.description.setText(self.m.description)
self.dialog.tags.setText(self.m.tags)
self.dialog.decorators.setText(self.m.features)
self.dialog.spacing.setText(str(self.m.spacing))
self.dialog.initialSpacing.setText(str(self.m.initialSpacing/60))
@ -109,10 +107,8 @@ class ModelProperties(QDialog):
self.currentField = self.m.fieldModels[self.dialog.fieldList.currentRow()]
field = self.currentField
self.dialog.fieldName.setText(field.name)
self.dialog.fieldDescription.setText(field.description)
self.dialog.fieldUnique.setChecked(field.unique)
self.dialog.fieldRequired.setChecked(field.required)
self.dialog.fieldFeatures.setText(field.features)
self.dialog.numeric.setChecked(field.numeric)
def enableFieldMoveButtons(self):
@ -138,10 +134,6 @@ class ModelProperties(QDialog):
self.deck.renameFieldModel(self.m, field, name)
# the card models will have been updated
self.readCurrentCard()
self.updateField(field, 'description',
unicode(self.dialog.fieldDescription.toPlainText()))
self.updateField(field, 'features',
unicode(self.dialog.fieldFeatures.text()))
# unique, required, numeric
self.updateField(field, 'unique',
self.dialog.fieldUnique.checkState() == Qt.Checked)
@ -296,7 +288,6 @@ class ModelProperties(QDialog):
self.currentCard = self.m.cardModels[self.dialog.cardList.currentRow()]
card = self.currentCard
self.dialog.cardName.setText(card.name)
self.dialog.cardDescription.setText(card.description)
self.dialog.cardQuestion.setPlainText(card.qformat.replace("<br>", "\n"))
self.dialog.cardAnswer.setPlainText(card.aformat.replace("<br>", "\n"))
if card.questionInAnswer:
@ -330,8 +321,6 @@ class ModelProperties(QDialog):
if not newname:
newname = _("Card %d") % (self.m.cardModels.index(card) + 1)
self.updateField(card, 'name', newname)
self.updateField(card, 'description', unicode(
self.dialog.cardDescription.toPlainText()))
s = unicode(self.dialog.cardQuestion.toPlainText())
s = s.replace("\n", "<br>")
changed = self.updateField(card, 'qformat', s)
@ -460,12 +449,8 @@ class ModelProperties(QDialog):
if not mname:
mname = _("Model")
self.updateField(self.m, 'name', mname)
self.updateField(self.m, 'description',
unicode(self.dialog.description.toPlainText()))
self.updateField(self.m, 'tags',
unicode(self.dialog.tags.text()))
self.updateField(self.m, 'features',
unicode(self.dialog.decorators.text()))
try:
self.updateField(self.m, 'spacing',
float(self.dialog.spacing.text()))

View file

@ -8,8 +8,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>389</width>
<height>437</height>
<width>394</width>
<height>430</height>
</rect>
</property>
<property name="windowTitle" >
@ -29,8 +29,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>373</width>
<height>371</height>
<width>378</width>
<height>364</height>
</rect>
</property>
<attribute name="title" >
@ -77,36 +77,6 @@
</property>
</widget>
</item>
<item row="1" column="0" >
<widget class="QLabel" name="label_12" >
<property name="text" >
<string>&lt;b>Maximum failed cards&lt;/b></string>
</property>
<property name="openExternalLinks" >
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="2" >
<widget class="QLineEdit" name="failedCardMax" />
</item>
<item row="2" column="0" >
<widget class="QLabel" name="label_26" >
<property name="text" >
<string>&lt;b>Show failed cards early&lt;/b></string>
</property>
<property name="openExternalLinks" >
<bool>true</bool>
</property>
</widget>
</item>
<item row="2" column="2" >
<widget class="QCheckBox" name="collapse" >
<property name="text" >
<string/>
</property>
</widget>
</item>
<item row="0" column="0" >
<widget class="QLabel" name="label_11" >
<property name="text" >
@ -124,14 +94,14 @@
<item row="3" column="0" >
<widget class="QComboBox" name="newCardScheduling" />
</item>
<item row="7" column="0" >
<item row="6" column="0" >
<widget class="QLabel" name="label_16" >
<property name="text" >
<string>&lt;h1>Priorities&lt;/h1></string>
</property>
</widget>
</item>
<item row="8" column="0" >
<item row="7" column="0" >
<layout class="QGridLayout" name="gridLayout_4" >
<item row="0" column="0" >
<widget class="QLabel" name="label_21" >
@ -187,7 +157,7 @@
</item>
</layout>
</item>
<item row="9" column="0" >
<item row="8" column="0" >
<spacer name="verticalSpacer_2" >
<property name="orientation" >
<enum>Qt::Vertical</enum>
@ -200,22 +170,25 @@
</property>
</spacer>
</item>
<item row="6" column="0" >
<spacer name="verticalSpacer_3" >
<property name="orientation" >
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0" >
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
<item row="4" column="0" >
<widget class="QComboBox" name="revCardOrder" />
</item>
<item row="5" column="0" >
<spacer name="verticalSpacer_3" >
<property name="orientation" >
<enum>Qt::Vertical</enum>
</property>
<property name="sizeType" >
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0" >
<size>
<width>20</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
<widget class="QWidget" name="tab_5" >
@ -223,8 +196,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>373</width>
<height>371</height>
<width>378</width>
<height>364</height>
</rect>
</property>
<attribute name="title" >
@ -343,8 +316,8 @@ p, li { white-space: pre-wrap; }
<rect>
<x>0</x>
<y>0</y>
<width>373</width>
<height>371</height>
<width>378</width>
<height>364</height>
</rect>
</property>
<attribute name="title" >
@ -408,8 +381,8 @@ p, li { white-space: pre-wrap; }
<rect>
<x>0</x>
<y>0</y>
<width>373</width>
<height>371</height>
<width>378</width>
<height>364</height>
</rect>
</property>
<attribute name="title" >
@ -449,8 +422,8 @@ p, li { white-space: pre-wrap; }
<rect>
<x>0</x>
<y>0</y>
<width>373</width>
<height>371</height>
<width>378</width>
<height>364</height>
</rect>
</property>
<attribute name="title" >
@ -559,13 +532,6 @@ p, li { white-space: pre-wrap; }
</property>
</widget>
</item>
<item row="0" column="0" >
<widget class="QLabel" name="label_20" >
<property name="text" >
<string>&lt;b>1: Again (Young)&lt;/b></string>
</property>
</widget>
</item>
<item row="0" column="4" >
<widget class="QLineEdit" name="delay0" >
<property name="sizePolicy" >
@ -616,25 +582,84 @@ p, li { white-space: pre-wrap; }
</property>
</widget>
</item>
<item row="0" column="0" >
<widget class="QLabel" name="label_20" >
<property name="text" >
<string>&lt;b>1: Again (Young)&lt;/b></string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QLabel" name="label_25" >
<property name="text" >
<string>&lt;h1>Day Rollover&lt;/h1></string>
<widget class="Line" name="line" >
<property name="orientation" >
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout" >
<item>
<widget class="QLabel" name="label_29" >
<layout class="QGridLayout" name="gridLayout_5" >
<item row="1" column="0" >
<widget class="QLabel" name="label_12" >
<property name="text" >
<string>Hours to shift midnight</string>
<string>&lt;b>Maximum failed cards&lt;/b></string>
</property>
<property name="openExternalLinks" >
<bool>true</bool>
</property>
</widget>
</item>
<item>
<item row="1" column="1" >
<spacer name="horizontalSpacer" >
<property name="orientation" >
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0" >
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="1" column="2" >
<widget class="QLineEdit" name="failedCardMax" />
</item>
<item row="3" column="0" >
<widget class="QLabel" name="label_29" >
<property name="text" >
<string>&lt;b>Hours to shift midnight&lt;/b></string>
</property>
</widget>
</item>
<item row="3" column="1" >
<spacer name="horizontalSpacer_3" >
<property name="orientation" >
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0" >
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="3" column="2" >
<widget class="QLineEdit" name="timeOffset" />
</item>
<item row="0" column="0" >
<widget class="QLabel" name="label_26" >
<property name="text" >
<string>&lt;b>Show failed cards early&lt;/b></string>
</property>
<property name="openExternalLinks" >
<bool>true</bool>
</property>
</widget>
</item>
<item row="0" column="1" >
<spacer name="horizontalSpacer_2" >
<property name="orientation" >
<enum>Qt::Horizontal</enum>
@ -647,8 +672,12 @@ p, li { white-space: pre-wrap; }
</property>
</spacer>
</item>
<item>
<widget class="QLineEdit" name="timeOffset" />
<item row="0" column="2" >
<widget class="QCheckBox" name="collapse" >
<property name="text" >
<string/>
</property>
</widget>
</item>
</layout>
</item>
@ -684,8 +713,6 @@ p, li { white-space: pre-wrap; }
<tabstops>
<tabstop>qtabwidget</tabstop>
<tabstop>newCardsPerDay</tabstop>
<tabstop>failedCardMax</tabstop>
<tabstop>collapse</tabstop>
<tabstop>newCardOrder</tabstop>
<tabstop>newCardScheduling</tabstop>
<tabstop>revCardOrder</tabstop>
@ -712,6 +739,8 @@ p, li { white-space: pre-wrap; }
<tabstop>midMax</tabstop>
<tabstop>easyMin</tabstop>
<tabstop>easyMax</tabstop>
<tabstop>collapse</tabstop>
<tabstop>failedCardMax</tabstop>
<tabstop>timeOffset</tabstop>
<tabstop>buttonBox</tabstop>
</tabstops>

View file

@ -8,8 +8,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>494</width>
<height>502</height>
<width>428</width>
<height>519</height>
</rect>
</property>
<property name="windowTitle" >
@ -21,17 +21,17 @@
<property name="currentIndex" >
<number>0</number>
</property>
<widget class="QWidget" name="tab" >
<widget class="QWidget" name="tab_2" >
<property name="geometry" >
<rect>
<x>0</x>
<y>0</y>
<width>478</width>
<height>436</height>
<width>412</width>
<height>453</height>
</rect>
</property>
<attribute name="title" >
<string>General</string>
<string>Model &amp;&amp; Fields</string>
</attribute>
<layout class="QVBoxLayout" >
<property name="spacing" >
@ -41,19 +41,19 @@
<number>9</number>
</property>
<item>
<widget class="QLabel" name="label_7" >
<widget class="QLabel" name="label_2" >
<property name="text" >
<string>&lt;h1>General Model Properties&lt;/h1></string>
<string>&lt;h1>General&lt;/h1></string>
</property>
</widget>
</item>
<item>
<layout class="QGridLayout" >
<property name="margin" >
<number>0</number>
<layout class="QGridLayout" name="gridLayout" >
<property name="leftMargin" >
<number>12</number>
</property>
<property name="spacing" >
<number>6</number>
<number>4</number>
</property>
<item row="0" column="0" >
<widget class="QLabel" name="label" >
@ -61,145 +61,89 @@
<string>&lt;b>Name&lt;/b></string>
</property>
<property name="alignment" >
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="2" column="0" >
<widget class="QLabel" name="label_2" >
<property name="text" >
<string>&lt;b>Description&lt;/b></string>
</property>
<property name="alignment" >
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
</property>
</widget>
</item>
<item row="0" column="1" >
<item row="0" column="2" >
<widget class="QLineEdit" name="name" />
</item>
<item row="2" column="1" >
<widget class="QTextEdit" name="description" >
<property name="tabChangesFocus" >
<bool>true</bool>
</property>
</widget>
</item>
<item row="4" column="0" >
<widget class="QLabel" name="label_4" >
<property name="text" >
<string>&lt;b>Features&lt;/b></string>
</property>
<property name="alignment" >
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
</property>
<property name="openExternalLinks" >
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="0" >
<widget class="QLabel" name="label_3" >
<property name="text" >
<string>&lt;b>Tags&lt;/b></string>
</property>
<property name="alignment" >
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
</property>
<property name="openExternalLinks" >
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="1" >
<item row="1" column="2" >
<widget class="QLineEdit" name="tags" />
</item>
<item row="3" column="0" >
<widget class="QLabel" name="label_5" >
<item row="2" column="0" >
<widget class="QLabel" name="label_19" >
<property name="text" >
<string>&lt;b>Card spacing&lt;/b></string>
</property>
<property name="alignment" >
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
<string>&lt;b>Minimum spacing&lt;/b></string>
</property>
<property name="openExternalLinks" >
<bool>true</bool>
</property>
</widget>
</item>
<item row="3" column="1" >
<layout class="QGridLayout" >
<item row="0" column="0" >
<widget class="QLabel" name="label_16" >
<property name="text" >
<string>Minimum spacing</string>
</property>
<property name="openExternalLinks" >
<bool>true</bool>
</property>
</widget>
</item>
<item row="0" column="2" >
<item row="3" column="0" >
<widget class="QLabel" name="label_25" >
<property name="text" >
<string>&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
&lt;html>&lt;head>&lt;meta name="qrichtext" content="1" />&lt;style type="text/css">
p, li { white-space: pre-wrap; }
&lt;/style>&lt;/head>&lt;body style=" font-family:'Arial'; font-size:8pt; font-weight:400; font-style:normal;">
&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">&lt;span style=" font-weight:600;">Spacing multipler&lt;/span>&lt;/p>&lt;/body>&lt;/html></string>
</property>
<property name="openExternalLinks" >
<bool>true</bool>
</property>
</widget>
</item>
<item row="2" column="2" >
<layout class="QHBoxLayout" name="horizontalLayout_3" >
<item>
<widget class="QLineEdit" name="initialSpacing" />
</item>
<item row="0" column="1" >
<spacer>
<property name="orientation" >
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0" >
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="1" column="0" >
<widget class="QLabel" name="label_24" >
<property name="text" >
<string>Minimum interval multiplier</string>
</property>
<property name="openExternalLinks" >
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="2" >
</layout>
</item>
<item row="3" column="2" >
<layout class="QHBoxLayout" name="horizontalLayout_4" >
<item>
<widget class="QLineEdit" name="spacing" />
</item>
</layout>
</item>
<item row="4" column="1" >
<widget class="QLineEdit" name="decorators" />
<item row="0" column="1" >
<spacer name="horizontalSpacer_2" >
<property name="orientation" >
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType" >
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0" >
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
</layout>
</widget>
<widget class="QWidget" name="tab_2" >
<property name="geometry" >
<rect>
<x>0</x>
<y>0</y>
<width>478</width>
<height>436</height>
</rect>
</property>
<attribute name="title" >
<string>Fields</string>
</attribute>
<layout class="QVBoxLayout" >
<property name="spacing" >
<number>6</number>
</property>
<property name="margin" >
<number>9</number>
</property>
<item>
<widget class="QLabel" name="label_6" >
<property name="text" >
<string>&lt;h1>Field Models&lt;/h1></string>
<string>&lt;h1>Fields&lt;/h1></string>
</property>
</widget>
</item>
@ -299,7 +243,7 @@
<property name="spacing" >
<number>6</number>
</property>
<item row="2" column="0" >
<item row="1" column="0" >
<widget class="QLabel" name="label_18" >
<property name="text" >
<string>&lt;b>Unique?</string>
@ -309,7 +253,7 @@
<item row="0" column="1" >
<widget class="QLineEdit" name="fieldName" />
</item>
<item row="2" column="1" >
<item row="1" column="1" >
<widget class="QCheckBox" name="fieldUnique" >
<property name="text" >
<string>Prevent me from entering the same thing in this field twice</string>
@ -326,71 +270,28 @@
</property>
</widget>
</item>
<item row="1" column="0" >
<widget class="QLabel" name="label_19" >
<property name="text" >
<string>&lt;b>Description&lt;/b></string>
</property>
<property name="alignment" >
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
</property>
</widget>
</item>
<item row="3" column="0" >
<item row="2" column="0" >
<widget class="QLabel" name="label_17" >
<property name="text" >
<string>&lt;b>Required?&lt;/b></string>
</property>
</widget>
</item>
<item row="3" column="1" >
<item row="2" column="1" >
<widget class="QCheckBox" name="fieldRequired" >
<property name="text" >
<string>Prevent new cards from being added if this field is blank</string>
</property>
</widget>
</item>
<item row="5" column="0" >
<widget class="QLabel" name="label_22" >
<property name="text" >
<string>&lt;b>Features&lt;/b></string>
</property>
<property name="alignment" >
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
</property>
<property name="openExternalLinks" >
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="1" >
<widget class="QTextEdit" name="fieldDescription" >
<property name="tabChangesFocus" >
<bool>true</bool>
</property>
</widget>
</item>
<item row="5" column="1" >
<layout class="QVBoxLayout" >
<property name="spacing" >
<number>0</number>
</property>
<property name="margin" >
<number>0</number>
</property>
<item>
<widget class="QLineEdit" name="fieldFeatures" />
</item>
</layout>
</item>
<item row="4" column="0" >
<item row="3" column="0" >
<widget class="QLabel" name="label_21" >
<property name="text" >
<string>&lt;b>Numeric?&lt;/b></string>
</property>
</widget>
</item>
<item row="4" column="1" >
<item row="3" column="1" >
<widget class="QCheckBox" name="numeric" >
<property name="text" >
<string>Sort this field using numeric order instead of string order</string>
@ -409,8 +310,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>478</width>
<height>436</height>
<width>412</width>
<height>450</height>
</rect>
</property>
<attribute name="title" >
@ -426,7 +327,7 @@
<item>
<widget class="QLabel" name="label_8" >
<property name="text" >
<string>&lt;h1>Card Models&lt;/h1></string>
<string>&lt;h1>Card Templates&lt;/h1></string>
</property>
</widget>
</item>
@ -521,53 +422,21 @@
<property name="spacing" >
<number>6</number>
</property>
<item row="1" column="1" >
<widget class="QTextEdit" name="cardDescription" >
<property name="sizePolicy" >
<sizepolicy vsizetype="Fixed" hsizetype="Expanding" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize" >
<size>
<width>16777215</width>
<height>60</height>
</size>
</property>
<property name="horizontalScrollBarPolicy" >
<enum>Qt::ScrollBarAlwaysOff</enum>
</property>
<property name="tabChangesFocus" >
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="0" >
<widget class="QLabel" name="label_13" >
<property name="text" >
<string>&lt;b>Description&lt;/b></string>
</property>
<property name="alignment" >
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
</property>
</widget>
</item>
<item row="4" column="0" >
<item row="3" column="0" >
<widget class="QLabel" name="label_23" >
<property name="text" >
<string>&lt;b>Question hiding&lt;/b></string>
</property>
</widget>
</item>
<item row="4" column="1" >
<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="3" column="1" >
<item row="2" column="1" >
<widget class="QTextEdit" name="cardAnswer" >
<property name="sizePolicy" >
<sizepolicy vsizetype="Fixed" hsizetype="Expanding" >
@ -592,7 +461,7 @@
</property>
</widget>
</item>
<item row="3" column="0" >
<item row="2" column="0" >
<widget class="QLabel" name="label_15" >
<property name="text" >
<string>&lt;b>Answer format&lt;/b></string>
@ -608,7 +477,7 @@
<item row="0" column="1" >
<widget class="QLineEdit" name="cardName" />
</item>
<item row="2" column="1" >
<item row="1" column="1" >
<widget class="QTextEdit" name="cardQuestion" >
<property name="sizePolicy" >
<sizepolicy vsizetype="Fixed" hsizetype="Expanding" >
@ -643,7 +512,7 @@
</property>
</widget>
</item>
<item row="2" column="0" >
<item row="1" column="0" >
<widget class="QLabel" name="label_14" >
<property name="text" >
<string>&lt;b>Question format&lt;/b></string>
@ -679,23 +548,15 @@
</widget>
<tabstops>
<tabstop>tabWidget</tabstop>
<tabstop>name</tabstop>
<tabstop>tags</tabstop>
<tabstop>description</tabstop>
<tabstop>initialSpacing</tabstop>
<tabstop>spacing</tabstop>
<tabstop>decorators</tabstop>
<tabstop>fieldList</tabstop>
<tabstop>fieldAdd</tabstop>
<tabstop>fieldUp</tabstop>
<tabstop>fieldDelete</tabstop>
<tabstop>fieldDown</tabstop>
<tabstop>fieldName</tabstop>
<tabstop>fieldDescription</tabstop>
<tabstop>fieldUnique</tabstop>
<tabstop>fieldRequired</tabstop>
<tabstop>numeric</tabstop>
<tabstop>fieldFeatures</tabstop>
<tabstop>cardList</tabstop>
<tabstop>cardAdd</tabstop>
<tabstop>cardUp</tabstop>
@ -703,7 +564,6 @@
<tabstop>cardToggle</tabstop>
<tabstop>cardDelete</tabstop>
<tabstop>cardName</tabstop>
<tabstop>cardDescription</tabstop>
<tabstop>cardQuestion</tabstop>
<tabstop>cardAnswer</tabstop>
<tabstop>questionInAnswer</tabstop>