fix study options saving & randomize/order; update reschedule

This commit is contained in:
Damien Elmes 2011-04-21 10:56:26 +09:00
parent d89098b677
commit a18b5c5075
3 changed files with 62 additions and 58 deletions

View file

@ -1004,31 +1004,22 @@ where id in %s""" % ids2str(self.selectedCards()), mod)
###################################################################### ######################################################################
def reschedule(self): def reschedule(self):
return showInfo("not yet implemented")
n = _("Reschedule")
d = QDialog(self) d = QDialog(self)
d.setWindowModality(Qt.WindowModal)
frm = aqt.forms.reschedule.Ui_Dialog() frm = aqt.forms.reschedule.Ui_Dialog()
frm.setupUi(d) frm.setupUi(d)
if not d.exec_(): if not d.exec_():
return return
self.deck.setUndoStart(n) self.model.beginReset()
try: self.mw.checkpoint(_("Reschedule"))
if frm.asNew.isChecked(): if frm.asNew.isChecked():
self.deck.resetCards(self.selectedCards()) self.deck.sched.forgetCards(self.selectedCards())
else: else:
try: self.deck.sched.reschedCards(
min = float(frm.rangeMin.value()) self.selectedCards(), frm.min.value(), frm.max.value())
max = float(frm.rangeMax.value()) self.onSearch(reset=False)
except ValueError:
ui.utils.showInfo(
_("Please enter a valid range."),
parent=self)
return
self.deck.rescheduleCards(self.selectedCards(), min, max)
finally:
self.deck.reset()
self.deck.setUndoEnd(n)
self.mw.requireReset() self.mw.requireReset()
self.model.endReset()
# Edit: selection # Edit: selection
###################################################################### ######################################################################

View file

@ -43,6 +43,9 @@ class StudyOptions(QDialog):
f.dayOffset.setValue(self.startDate.hour) f.dayOffset.setValue(self.startDate.hour)
f.lrnCutoff.setValue(qc['collapseTime']/60.0) f.lrnCutoff.setValue(qc['collapseTime']/60.0)
def reject(self):
self.accept()
def accept(self): def accept(self):
f = self.form f = self.form
d = self.mw.deck d = self.mw.deck
@ -69,7 +72,7 @@ class StudyOptions(QDialog):
return return
self.mw.progress.start() self.mw.progress.start()
if new == 1: if new == 1:
self.deck.orderNewCards() self.mw.deck.sched.orderCards()
else: else:
self.deck.randomizeNewCards() self.mw.deck.sched.randomizeCards()
self.mw.progress.finish() self.mw.progress.finish()

View file

@ -6,8 +6,8 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>255</width> <width>325</width>
<height>158</height> <height>144</height>
</rect> </rect>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
@ -17,7 +17,7 @@
<item> <item>
<widget class="QRadioButton" name="asNew"> <widget class="QRadioButton" name="asNew">
<property name="text"> <property name="text">
<string>Reschedule as new cards</string> <string>Place at end of new card queue</string>
</property> </property>
<property name="checked"> <property name="checked">
<bool>true</bool> <bool>true</bool>
@ -25,9 +25,9 @@
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QRadioButton" name="inRange"> <widget class="QRadioButton" name="asRev">
<property name="text"> <property name="text">
<string>Reschedule with initial interval in range:</string> <string>Place in review queue with interval between:</string>
</property> </property>
</widget> </widget>
</item> </item>
@ -38,39 +38,48 @@
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout"> <layout class="QVBoxLayout" name="verticalLayout">
<property name="leftMargin"> <property name="leftMargin">
<number>30</number> <number>20</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property> </property>
<item> <item>
<layout class="QGridLayout" name="gridLayout"> <layout class="QGridLayout" name="gridLayout">
<item row="0" column="0"> <item row="0" column="1">
<widget class="QLabel" name="label"> <widget class="QLabel" name="label_3">
<property name="text"> <property name="text">
<string>Min</string> <string>~</string>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QSpinBox" name="min">
<property name="maximum">
<number>9999</number>
</property> </property>
</widget> </widget>
</item> </item>
<item row="0" column="2"> <item row="0" column="2">
<widget class="QLabel" name="label_3"> <widget class="QSpinBox" name="max">
<property name="text"> <property name="maximum">
<string>days</string> <number>9999</number>
</property> </property>
</widget> </widget>
</item> </item>
<item row="1" column="0"> <item row="0" column="3">
<widget class="QLabel" name="label_2">
<property name="text">
<string>Max</string>
</property>
</widget>
</item>
<item row="1" column="2">
<widget class="QLabel" name="label_4"> <widget class="QLabel" name="label_4">
<property name="text"> <property name="text">
<string>days</string> <string>days</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="0" column="3"> <item row="0" column="4">
<spacer name="horizontalSpacer"> <spacer name="horizontalSpacer">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
@ -83,25 +92,24 @@
</property> </property>
</spacer> </spacer>
</item> </item>
<item row="0" column="1">
<widget class="QDoubleSpinBox" name="rangeMin">
<property name="maximum">
<double>99999.000000000000000</double>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QDoubleSpinBox" name="rangeMax">
<property name="maximum">
<double>99999.000000000000000</double>
</property>
</widget>
</item>
</layout> </layout>
</item> </item>
</layout> </layout>
</widget> </widget>
</item> </item>
<item>
<spacer name="verticalSpacer">
<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> <item>
<widget class="QDialogButtonBox" name="buttonBox"> <widget class="QDialogButtonBox" name="buttonBox">
<property name="orientation"> <property name="orientation">
@ -116,7 +124,9 @@
</widget> </widget>
<tabstops> <tabstops>
<tabstop>asNew</tabstop> <tabstop>asNew</tabstop>
<tabstop>inRange</tabstop> <tabstop>asRev</tabstop>
<tabstop>min</tabstop>
<tabstop>max</tabstop>
<tabstop>buttonBox</tabstop> <tabstop>buttonBox</tabstop>
</tabstops> </tabstops>
<resources/> <resources/>
@ -154,7 +164,7 @@
</hints> </hints>
</connection> </connection>
<connection> <connection>
<sender>inRange</sender> <sender>asRev</sender>
<signal>toggled(bool)</signal> <signal>toggled(bool)</signal>
<receiver>rangebox</receiver> <receiver>rangebox</receiver>
<slot>setEnabled(bool)</slot> <slot>setEnabled(bool)</slot>