From d3fb52199a0365424bed6ab354fc17322f97abda Mon Sep 17 00:00:00 2001 From: Damien Elmes Date: Tue, 16 Jun 2009 00:21:34 +0900 Subject: [PATCH] add automatically delete media option --- ankiqt/config.py | 1 + ankiqt/ui/facteditor.py | 12 ++++++++++++ ankiqt/ui/preferences.py | 2 ++ designer/preferences.ui | 10 +++++++++- 4 files changed, 24 insertions(+), 1 deletion(-) diff --git a/ankiqt/config.py b/ankiqt/config.py index 3638a94a4..36c3d0afc 100644 --- a/ankiqt/config.py +++ b/ankiqt/config.py @@ -98,6 +98,7 @@ class Config(dict): 'loadLastDeck': False, 'deckBrowserRefreshPeriod': 3600, 'deckBrowserOrder': 0, + 'deleteMedia': False, } for (k,v) in fields.items(): if not self.has_key(k): diff --git a/ankiqt/ui/facteditor.py b/ankiqt/ui/facteditor.py index cfcd0451e..24009b56c 100644 --- a/ankiqt/ui/facteditor.py +++ b/ankiqt/ui/facteditor.py @@ -865,6 +865,7 @@ class FactEditor(object): else: w = self.focusedEdit() path = self.deck.addMedia(file) + self.maybeDelete(path, file) w.insertHtml('' % path) def onAddSound(self): @@ -883,9 +884,20 @@ class FactEditor(object): else: w = self.focusedEdit() path = self.deck.addMedia(file) + self.maybeDelete(path, file) anki.sound.play(path) w.insertHtml('[sound:%s]' % path) + def maybeDelete(self, new, old): + if not ankiqt.mw.config['deleteMedia']: + return + if new == os.path.basename(old): + return + try: + os.unlink(old) + except: + pass + def onRecSound(self): self.initMedia() w = self.focusedEdit() diff --git a/ankiqt/ui/preferences.py b/ankiqt/ui/preferences.py index b56edbbd9..70e9ad83a 100644 --- a/ankiqt/ui/preferences.py +++ b/ankiqt/ui/preferences.py @@ -143,6 +143,7 @@ class Preferences(QDialog): self.dialog.showProgress.setChecked(self.config['showProgress']) self.dialog.openLastDeck.setChecked(self.config['loadLastDeck']) self.dialog.deckBrowserOrder.setChecked(self.config['deckBrowserOrder']) + self.dialog.deleteMedia.setChecked(self.config['deleteMedia']) def updateAdvanced(self): self.config['showTrayIcon'] = self.dialog.showTray.isChecked() @@ -160,6 +161,7 @@ class Preferences(QDialog): self.config['deckBrowserOrder'] = 1 else: self.config['deckBrowserOrder'] = 0 + self.config['deleteMedia'] = self.dialog.deleteMedia.isChecked() def codeToIndex(self, code): n = 0 diff --git a/designer/preferences.ui b/designer/preferences.ui index c6c2303f1..2ad65a627 100644 --- a/designer/preferences.ui +++ b/designer/preferences.ui @@ -557,7 +557,7 @@ - + Add hidden char to text (fixes Thai on OSX) @@ -578,6 +578,13 @@ + + + + Delete original media on add + + + @@ -648,6 +655,7 @@ showStudyOptions openLastDeck deckBrowserOrder + deleteMedia addZeroSpace buttonBox