diff --git a/aqt/dyndeckconf.py b/aqt/dyndeckconf.py
index fe8de2f4e..0a9d0d9a5 100644
--- a/aqt/dyndeckconf.py
+++ b/aqt/dyndeckconf.py
@@ -41,23 +41,28 @@ class DeckConf(QDialog):
def loadConf(self):
f = self.form
d = self.deck
- f.search.setText(d['search'])
- f.steps.setText(self.listToUser(d['delays']))
- f.order.setCurrentIndex(d['order'])
- f.limit.setValue(d['limit'])
- f.fmult.setValue(d['fmult']*100)
+ search, limit, order = d['terms'][0]
+ f.search.setText(search)
+ if d['delays']:
+ f.steps.setText(self.listToUser(d['delays']))
+ f.stepsOn.setChecked(True)
+ else:
+ f.steps.setText("1 10")
+ f.stepsOn.setChecked(False)
+ f.order.setCurrentIndex(order)
+ f.limit.setValue(limit)
def saveConf(self):
f = self.form
d = self.deck
- steps = self.userToList(f.steps)
- if not steps:
- return
- d['delays'] = steps
- d['search'] = f.search.text()
- d['order'] = f.order.currentIndex()
- d['limit'] = f.limit.value()
- d['fmult'] = f.fmult.value() / 100.0
+ d['delays'] = None
+ if f.stepsOn.isChecked():
+ steps = self.userToList(f.steps)
+ if steps:
+ d['delays'] = steps
+ d['terms'][0] = [f.search.text(),
+ f.limit.value(),
+ f.order.currentIndex()]
self.mw.col.decks.save(d)
return True
diff --git a/aqt/overview.py b/aqt/overview.py
index a479b65b7..e9889e6a6 100644
--- a/aqt/overview.py
+++ b/aqt/overview.py
@@ -95,10 +95,10 @@ class Overview(object):
def _desc(self, deck):
if deck['dyn']:
- desc = "%s
%s
%s" % (
- _("Search: %s") % deck['search'],
- _("Order: %s") % dynOrderLabels()[deck['order']],
- _("Steps: %s") % " ".join([str(x) for x in deck['delays']]))
+ search, limit, order = deck['terms'][0]
+ desc = "%s
%s" % (
+ _("Search: %s") % search,
+ _("Order: %s") % dynOrderLabels()[order].lower())
else:
desc = deck.get("desc", "")
if not desc:
diff --git a/designer/dyndconf.ui b/designer/dyndconf.ui
index 43055289a..0507b02f6 100644
--- a/designer/dyndconf.ui
+++ b/designer/dyndconf.ui
@@ -6,8 +6,8 @@
0
0
- 397
- 293
+ 619
+ 300
@@ -15,109 +15,95 @@
-
-
-
-
-
-
- 1
-
-
- 99999
-
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- 40
- 20
-
-
-
-
- -
-
-
- Search for:
-
-
-
- -
-
-
- Learning steps:
-
-
-
- -
-
-
- Card limit:
-
-
-
- -
-
-
- 100
-
-
-
- -
-
-
- Display order:
-
-
-
- -
-
-
- %
-
-
-
- -
-
-
- Example: deck:french tag:hard
-
-
-
- -
-
-
- Interval on fail:
-
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- 40
- 20
-
-
-
-
- -
-
-
- -
-
-
- -
-
-
-
+
+
+ -
+
+
+ Create deck from search
+
+
+
-
+
+
+ Limit to
+
+
+
+ -
+
+
+ Search
+
+
+
+ -
+
+
+
+ 60
+ 16777215
+
+
+
+ 1
+
+
+ 9999
+
+
+
+ -
+
+
+ cards selected by
+
+
+
+ -
+
+
+ -
+
+
+
+
+
+ -
+
+
+ Options
+
+
+
-
+
+
+ Reschedule cards based on my answers in this deck
+
+
+ true
+
+
+
+ -
+
+
+ Custom steps (in minutes)
+
+
+
+ -
+
+
+ false
+
+
+ 1 10
+
+
+
+
+
-
@@ -146,11 +132,13 @@
search
- steps
- order
limit
- fmult
+ order
+ resched
+ stepsOn
+ steps
buttonBox
+ examples
@@ -161,8 +149,8 @@
accept()
- 248
- 254
+ 254
+ 295
157
@@ -177,8 +165,8 @@
reject()
- 316
- 260
+ 322
+ 295
286
@@ -186,5 +174,21 @@
+
+ stepsOn
+ toggled(bool)
+ steps
+ setEnabled(bool)
+
+
+ 126
+ 207
+
+
+ 272
+ 205
+
+
+