diff --git a/ankiqt/ui/main.py b/ankiqt/ui/main.py
index 002a59d02..79ec133e2 100755
--- a/ankiqt/ui/main.py
+++ b/ankiqt/ui/main.py
@@ -2238,6 +2238,7 @@ it to your friends.
self.connect(m.actionDonate, s, self.onDonate)
self.connect(m.actionRecordNoiseProfile, s, self.onRecordNoiseProfile)
self.connect(m.actionBuryFact, s, self.onBuryFact)
+ self.connect(m.actionExportOriginalFiles, s, self.onExportOriginal)
def enableDeckMenuItems(self, enabled=True):
"setEnabled deck-related items."
@@ -2681,11 +2682,10 @@ Consider backing up your media directory first."""))
ui.utils.showInfo(_("No media URLs defined for this deck."),
help="MediaSupport")
return
- ui.utils.showInfo(ngettext("%d missing file found.
",
- "%d missing files found.
",
- res[0]) +
- _("%d successfully retrieved.")
- % res[1], parent=self)
+ ui.utils.showInfo(ngettext("%d missing file found.
",
+ "%d missing files found.
", res[0]) +
+ _("%d successfully retrieved.")
+ % res[1], parent=self)
def addHook(self, *args):
addHook(*args)
@@ -2696,6 +2696,11 @@ Consider backing up your media directory first."""))
def onUncacheLatex(self):
anki.latex.deleteAllLatexImages(self.deck)
+ def onExportOriginal(self):
+ cnt = anki.media.exportOriginalFiles(self.deck)
+ ui.utils.showInfo(_("%(a)d files exported to %(b)s.originals folder") %
+ {'a': cnt, 'b': self.deck.name()})
+
# System specific misc
##########################################################################
diff --git a/designer/main.ui b/designer/main.ui
index 075880b5f..8f7c11722 100644
--- a/designer/main.ui
+++ b/designer/main.ui
@@ -1,197 +1,196 @@
-
-
+
MainWindow
-
-
+
+
0
0
- 538
- 537
+ 550
+ 563
-
-
+
+
0
0
-
+
Anki
-
-
+
+
:/icons/anki.png:/icons/anki.png
-
-
-
+
+
+
1
1
-
+
true
-
-
+
+
0
-
+
0
-
-
-
+
+
true
-
+
QFrame::NoFrame
-
+
QFrame::Raised
-
-
+
+
0
-
+
0
-
-
-
+
+
-
-
-
+
+
+
0
0
0
-
-
-
+
+
+
255
253
215
-
-
-
+
+
+
255
255
255
-
-
-
+
+
+
255
254
235
-
-
-
+
+
+
127
126
107
-
-
-
+
+
+
170
169
143
-
-
-
+
+
+
0
0
0
-
-
-
+
+
+
255
255
255
-
-
-
+
+
+
0
0
0
-
-
-
+
+
+
255
255
255
-
-
-
+
+
+
255
253
215
-
-
-
+
+
+
0
0
0
-
-
-
+
+
+
255
254
235
-
-
-
+
+
+
255
255
220
-
-
-
+
+
+
0
0
0
@@ -200,135 +199,135 @@
-
-
-
+
+
+
0
0
0
-
-
-
+
+
+
255
253
215
-
-
-
+
+
+
255
255
255
-
-
-
+
+
+
255
254
235
-
-
-
+
+
+
127
126
107
-
-
-
+
+
+
170
169
143
-
-
-
+
+
+
0
0
0
-
-
-
+
+
+
255
255
255
-
-
-
+
+
+
0
0
0
-
-
-
+
+
+
255
255
255
-
-
-
+
+
+
255
253
215
-
-
-
+
+
+
0
0
0
-
-
-
+
+
+
255
254
235
-
-
-
+
+
+
255
255
220
-
-
-
+
+
+
0
0
0
@@ -337,135 +336,135 @@
-
-
-
+
+
+
127
126
107
-
-
-
+
+
+
255
253
215
-
-
-
+
+
+
255
255
255
-
-
-
+
+
+
255
254
235
-
-
-
+
+
+
127
126
107
-
-
-
+
+
+
170
169
143
-
-
-
+
+
+
127
126
107
-
-
-
+
+
+
255
255
255
-
-
-
+
+
+
127
126
107
-
-
-
+
+
+
255
253
215
-
-
-
+
+
+
255
253
215
-
-
-
+
+
+
0
0
0
-
-
-
+
+
+
255
253
215
-
-
-
+
+
+
255
255
220
-
-
-
+
+
+
0
0
0
@@ -475,67 +474,67 @@
-
+
true
-
+
QFrame::NoFrame
-
+
QFrame::Plain
-
-
+
+
12
-
+
8
-
+
6
-
-
-
-
-
+
-
+
+
+
0
0
-
+
10
-
+
-
+
Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter
-
+
true
-
+
true
- -
-
-
-
+
-
+
+
+
0
0
-
+
25
16777215
-
+
X
@@ -544,57 +543,57 @@
-
-
-
-
+
+
+
0
100
-
+
0
-
-
-
-
+
+
+
+
0
-
-
-
+
+
-
-
-
+
+
+
0
0
0
-
-
-
+
+
+
0
0
0
-
-
-
+
+
+
255
255
255
-
-
-
+
+
+
255
254
253
@@ -603,36 +602,36 @@
-
-
-
+
+
+
0
0
0
-
-
-
+
+
+
0
0
0
-
-
-
+
+
+
255
255
255
-
-
-
+
+
+
255
254
253
@@ -641,36 +640,36 @@
-
-
-
+
+
+
128
128
128
-
-
-
+
+
+
128
128
128
-
-
-
+
+
+
255
254
253
-
-
-
+
+
+
255
254
253
@@ -680,22 +679,22 @@
-
+
true
-
+
QFrame::NoFrame
-
+
QFrame::Raised
-
+
-
-
-
+
+
Qt::ClickFocus
-
+
QFrame::NoFrame
@@ -705,27 +704,27 @@
-
-
-
+
+
+
0
-
+
4
-
-
+
-
-
-
+
+
Continue Reviewing
-
-
+
+
:/icons/go-previous.png:/icons/go-previous.png
-
+
16
16
@@ -735,14 +734,14 @@
-
-
+
+
-
-
-
+
+
Qt::Vertical
-
+
20
38
@@ -751,16 +750,16 @@
-
-
+
-
-
-
+
+
Qt::Horizontal
-
+
QSizePolicy::Expanding
-
+
1
20
@@ -769,41 +768,41 @@
-
-
-
+
+
QFrame::StyledPanel
-
+
QFrame::Raised
-
+
-
-
-
+
+
0
-
+
10
-
-
-
+
+
-
+
Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse
-
-
-
+
+
Qt::Vertical
-
+
QSizePolicy::Fixed
-
+
20
6
@@ -812,60 +811,60 @@
-
-
-
+
+
400
16777215
-
+
Qt::Horizontal
-
-
-
+
+
2
-
+
6
-
+
0
-
+
6
-
-
-
-
+
-
+
+
140
0
-
- The <b>number of minutes in a session</b>. When a session is finished, this screen will be shown again, allowing you to start another session. Choose 0 for no limit.
+
+ The <b>number of minutes in a session</b>. When a session is finished, this screen will be shown again, allowing you to start another session. Choose 0 for no limit.
-
- <b>Session limit (minutes):</b>
+
+ <b>Session limit (minutes):</b>
-
+
4
- -
-
-
-
+
-
+
+
+
0
0
-
+
50
16777215
@@ -873,34 +872,34 @@
- -
-
-
+
-
+
+
140
0
-
- The maximum number of <b>new cards shown per day</b>. The default is 20, to ensure you don't get overwhelmed with reviews after a few days.
+
+ The maximum number of <b>new cards shown per day</b>. The default is 20, to ensure you don't get overwhelmed with reviews after a few days.
-
- <b>New cards per day:</b>
+
+ <b>New cards per day:</b>
-
+
4
- -
-
-
-
+
-
+
+
+
0
0
-
+
50
16777215
@@ -908,12 +907,12 @@
- -
-
-
+
-
+
+
Qt::Horizontal
-
+
40
20
@@ -921,15 +920,15 @@
- -
-
-
-
+
-
+
+
+
0
0
-
+
50
16777215
@@ -937,15 +936,15 @@
- -
-
-
- The <b>number of questions in a session</b>. When a session is finished, this screen will be shown again, allowing you to start another session. Choose 0 for no limit.
+
-
+
+
+ The <b>number of questions in a session</b>. When a session is finished, this screen will be shown again, allowing you to start another session. Choose 0 for no limit.
-
- <b>Session limit (questions):
+
+ <b>Session limit (questions):
-
+
4
@@ -953,108 +952,108 @@
-
-
+
-
-
-
-
+
+
+
10
-
+
2
-
+
6
-
+
0
-
+
0
-
-
+
-
-
+
-
-
+
-
-
+
-
-
-
+
+
20
-
+
10
-
-
-
-
-
+
-
+
+
+
0
0
-
+
0
26
-
+
Review
-
-
+
+
:/icons/player-time.png:/icons/player-time.png
-
+
true
-
+
true
- -
-
-
+
-
+
+
0
26
-
+
More
-
+
true
-
+
false
-
+
false
- -
-
-
+
-
+
+
0
26
-
+
Help
@@ -1069,14 +1068,14 @@
-
-
-
+
+
Qt::Horizontal
-
+
QSizePolicy::Expanding
-
+
1
20
@@ -1087,11 +1086,11 @@
-
-
-
+
+
Qt::Vertical
-
+
20
39
@@ -1101,14 +1100,14 @@
-
-
+
+
-
-
-
+
+
Qt::Vertical
-
+
20
219
@@ -1117,13 +1116,13 @@
-
-
+
-
-
-
+
+
Qt::Horizontal
-
+
40
20
@@ -1132,28 +1131,28 @@
-
-
-
+
+
QFrame::StyledPanel
-
+
QFrame::Raised
-
+
-
-
-
+
+
10
-
-
-
+
+
Qt::Vertical
-
+
QSizePolicy::Fixed
-
+
20
10
@@ -1162,24 +1161,24 @@
-
-
-
+
+
-
+
0
-
-
-
+
+
Qt::Vertical
-
+
QSizePolicy::Fixed
-
+
20
10
@@ -1188,11 +1187,11 @@
-
-
-
+
+
&Learn More
-
+
32
32
@@ -1201,11 +1200,11 @@
-
-
-
+
+
Re&view Early
-
+
32
32
@@ -1214,14 +1213,14 @@
-
-
-
+
+
Fi&nish
-
+
true
-
+
true
@@ -1232,11 +1231,11 @@
-
-
-
+
+
Qt::Horizontal
-
+
40
20
@@ -1247,11 +1246,11 @@
-
-
-
+
+
Qt::Vertical
-
+
20
219
@@ -1261,17 +1260,17 @@
-
-
+
+
-
-
-
+
+
Qt::Vertical
-
+
QSizePolicy::Preferred
-
+
20
10
@@ -1280,16 +1279,16 @@
-
-
+
-
-
-
+
+
Qt::Horizontal
-
+
QSizePolicy::Expanding
-
+
10
20
@@ -1298,70 +1297,70 @@
-
-
-
-
+
+
+
0
0
-
+
200
200
-
+
QFrame::StyledPanel
-
+
QFrame::Raised
-
+
-
-
-
+
+
10
-
-
-
- <h1>Decks</h1>
+
+
+ <h1>Decks</h1>
-
-
-
+
+
Qt::Horizontal
-
-
-
+
+
-
+
Qt::AlignCenter
-
-
-
+
+
Qt::Horizontal
-
-
+
-
-
-
+
+
Qt::Horizontal
-
+
40
20
@@ -1370,36 +1369,36 @@
-
-
+
-
-
-
+
+
Download
-
-
+
+
:/icons/download.png:/icons/download.png
-
-
-
+
+
Create
-
-
+
+
:/icons/document-new.png:/icons/document-new.png
-
-
-
+
+
Import
-
-
+
+
:/icons/document-import.png:/icons/document-import.png
@@ -1407,11 +1406,11 @@
-
-
-
+
+
Qt::Horizontal
-
+
40
20
@@ -1427,14 +1426,14 @@
-
-
-
+
+
Qt::Horizontal
-
+
QSizePolicy::Expanding
-
+
10
20
@@ -1445,14 +1444,14 @@
-
-
-
+
+
Qt::Vertical
-
+
QSizePolicy::Preferred
-
+
20
10
@@ -1465,37 +1464,37 @@
-
-
-
-
+
+
+
0
1
-
+
-
-
-
+
+
+
0
0
0
-
-
-
+
+
+
255
255
255
-
-
-
+
+
+
255
255
255
@@ -1504,27 +1503,27 @@
-
-
-
+
+
+
0
0
0
-
-
-
+
+
+
255
255
255
-
-
-
+
+
+
255
255
255
@@ -1533,27 +1532,27 @@
-
-
-
+
+
+
128
128
128
-
-
-
+
+
+
255
255
255
-
-
-
+
+
+
255
255
255
@@ -1563,37 +1562,37 @@
-
+
true
-
+
3
-
-
-
+
+
+
0
-
+
8
-
+
4
-
+
8
-
+
4
-
-
+
-
-
-
+
+
Qt::Horizontal
-
+
40
20
@@ -1602,33 +1601,33 @@
-
-
-
-
+
+
+
0
0
-
+
0
41
-
+
Show the answer (shortcut key: space or enter)
-
+
Show Answer
-
-
-
+
+
Qt::Horizontal
-
+
40
20
@@ -1640,28 +1639,28 @@
-
-
-
+
+
+
0
-
+
4
-
+
0
-
+
4
-
-
+
-
-
-
+
+
Qt::Horizontal
-
+
40
0
@@ -1670,92 +1669,92 @@
-
-
-
+
+
4
-
+
4
-
+
0
-
-
-
-
+
-
+
+
-
+
Qt::AlignCenter
- -
-
-
+
-
+
+
-
+
Qt::AlignCenter
- -
-
-
+
-
+
+
-
+
Qt::AlignCenter
- -
-
-
+
-
+
+
-
+
Qt::AlignCenter
- -
-
-
+
-
+
+
Show this card again soon (shortcut key: 1)
-
+
Again
- -
-
-
+
-
+
+
Wait a little longer next time (shortcut key: 2)
-
+
Hard
- -
-
-
+
-
+
+
Wait longer next time (shortcut key: 3)
-
+
Good
- -
-
-
+
-
+
+
Wait a lot longer next time (shortcut key: 4)
-
+
Easy
@@ -1763,11 +1762,11 @@
-
-
-
+
+
Qt::Horizontal
-
+
40
0
@@ -1779,175 +1778,175 @@
-
-
+
+
-
-
-
+
+
QFrame::NoFrame
-
+
QFrame::Raised
-
-
+
+
0
-
+
0
-
-
-
+
+
Qt::Vertical
-
-
-
-
+
+
+
0
0
-
+
-
-
-
+
+
+
0
0
0
-
-
-
+
+
+
255
253
215
-
-
-
+
+
+
255
255
255
-
-
-
+
+
+
255
254
235
-
-
-
+
+
+
127
126
107
-
-
-
+
+
+
170
169
143
-
-
-
+
+
+
0
0
0
-
-
-
+
+
+
255
255
255
-
-
-
+
+
+
0
0
0
-
-
-
+
+
+
255
255
255
-
-
-
+
+
+
255
253
215
-
-
-
+
+
+
0
0
0
-
-
-
+
+
+
255
254
235
-
-
-
+
+
+
255
255
220
-
-
-
+
+
+
0
0
0
@@ -1956,135 +1955,135 @@
-
-
-
+
+
+
0
0
0
-
-
-
+
+
+
255
253
215
-
-
-
+
+
+
255
255
255
-
-
-
+
+
+
255
254
235
-
-
-
+
+
+
127
126
107
-
-
-
+
+
+
170
169
143
-
-
-
+
+
+
0
0
0
-
-
-
+
+
+
255
255
255
-
-
-
+
+
+
0
0
0
-
-
-
+
+
+
255
255
255
-
-
-
+
+
+
255
253
215
-
-
-
+
+
+
0
0
0
-
-
-
+
+
+
255
254
235
-
-
-
+
+
+
255
255
220
-
-
-
+
+
+
0
0
0
@@ -2093,135 +2092,135 @@
-
-
-
+
+
+
127
126
107
-
-
-
+
+
+
255
253
215
-
-
-
+
+
+
255
255
255
-
-
-
+
+
+
255
254
235
-
-
-
+
+
+
127
126
107
-
-
-
+
+
+
170
169
143
-
-
-
+
+
+
127
126
107
-
-
-
+
+
+
255
255
255
-
-
-
+
+
+
127
126
107
-
-
-
+
+
+
255
253
215
-
-
-
+
+
+
255
253
215
-
-
-
+
+
+
0
0
0
-
-
-
+
+
+
255
253
215
-
-
-
+
+
+
255
255
220
-
-
-
+
+
+
0
0
0
@@ -2231,177 +2230,177 @@
-
+
true
-
+
QFrame::NoFrame
-
+
QFrame::Raised
-
-
+
+
6
-
+
9
-
-
-
+
+
true
-
-
+
+
0
0
-
+
250
0
-
+
300
16777215
-
+
-
-
-
+
+
+
0
0
0
-
-
-
+
+
+
255
253
215
-
-
-
+
+
+
255
255
255
-
-
-
+
+
+
255
254
235
-
-
-
+
+
+
127
126
107
-
-
-
+
+
+
170
169
143
-
-
-
+
+
+
0
0
0
-
-
-
+
+
+
255
255
255
-
-
-
+
+
+
0
0
0
-
-
-
+
+
+
255
253
215
-
-
-
+
+
+
255
253
215
-
-
-
+
+
+
0
0
0
-
-
-
+
+
+
255
254
235
-
-
-
+
+
+
255
255
220
-
-
-
+
+
+
0
0
0
@@ -2410,135 +2409,135 @@
-
-
-
+
+
+
0
0
0
-
-
-
+
+
+
255
253
215
-
-
-
+
+
+
255
255
255
-
-
-
+
+
+
255
254
235
-
-
-
+
+
+
127
126
107
-
-
-
+
+
+
170
169
143
-
-
-
+
+
+
0
0
0
-
-
-
+
+
+
255
255
255
-
-
-
+
+
+
0
0
0
-
-
-
+
+
+
255
253
215
-
-
-
+
+
+
255
253
215
-
-
-
+
+
+
0
0
0
-
-
-
+
+
+
255
254
235
-
-
-
+
+
+
255
255
220
-
-
-
+
+
+
0
0
0
@@ -2547,135 +2546,135 @@
-
-
-
+
+
+
127
126
107
-
-
-
+
+
+
255
253
215
-
-
-
+
+
+
255
255
255
-
-
-
+
+
+
255
254
235
-
-
-
+
+
+
127
126
107
-
-
-
+
+
+
170
169
143
-
-
-
+
+
+
127
126
107
-
-
-
+
+
+
255
255
255
-
-
-
+
+
+
127
126
107
-
-
-
+
+
+
255
253
215
-
-
-
+
+
+
255
253
215
-
-
-
+
+
+
0
0
0
-
-
-
+
+
+
255
253
215
-
-
-
+
+
+
255
255
220
-
-
-
+
+
+
0
0
0
@@ -2685,16 +2684,16 @@
-
+
true
-
+
QFrame::NoFrame
-
+
QFrame::Sunken
-
+
Qt::ScrollBarAlwaysOff
@@ -2707,760 +2706,769 @@
-