mirror of
https://github.com/ankitects/anki.git
synced 2025-11-09 14:17:13 -05:00
add new media options to preferences
This commit is contained in:
parent
1c599e7d76
commit
b18bd51694
3 changed files with 82 additions and 2 deletions
|
|
@ -64,6 +64,9 @@ class Config(dict):
|
|||
'loadLastDeck': False,
|
||||
'mainWindowGeom': None,
|
||||
'mainWindowState': None,
|
||||
# one of empty, 'dropbox', or path used as prefix
|
||||
'mediaLocation': "",
|
||||
'mainWindowState': None,
|
||||
'numBackups': 30,
|
||||
'preventEditUntilAnswer': False,
|
||||
'proxyHost': '',
|
||||
|
|
|
|||
|
|
@ -25,6 +25,7 @@ class Preferences(QDialog):
|
|||
self.origInterfaceLang = self.config['interfaceLang']
|
||||
self.dialog = ankiqt.forms.preferences.Ui_Preferences()
|
||||
self.dialog.setupUi(self)
|
||||
self.needDeckClose = False
|
||||
self.supportedLanguages = [
|
||||
(u"Bahasa Melayu", "ms"),
|
||||
(u"Dansk", "da"),
|
||||
|
|
@ -68,17 +69,22 @@ class Preferences(QDialog):
|
|||
self.setupNetwork()
|
||||
self.setupSave()
|
||||
self.setupAdvanced()
|
||||
self.setupMedia()
|
||||
self.show()
|
||||
|
||||
def accept(self):
|
||||
self.updateNetwork()
|
||||
self.updateSave()
|
||||
self.updateAdvanced()
|
||||
self.updateMedia()
|
||||
self.config['interfaceLang'] = self.origConfig['interfaceLang']
|
||||
self.origConfig.update(self.config)
|
||||
self.origConfig.save()
|
||||
self.parent.setLang()
|
||||
self.parent.reset()
|
||||
if self.needDeckClose:
|
||||
self.parent.saveAndClose(parent=self)
|
||||
else:
|
||||
self.parent.reset()
|
||||
self.done(0)
|
||||
|
||||
def reject(self):
|
||||
|
|
@ -99,6 +105,37 @@ class Preferences(QDialog):
|
|||
self.parent.setLang()
|
||||
self.dialog.retranslateUi(self)
|
||||
|
||||
def setupMedia(self):
|
||||
self.dialog.mediaChoice.addItems(
|
||||
QStringList([
|
||||
_("Keep media next to deck"),
|
||||
_("Keep media in DropBox"),
|
||||
_("Keep media in custom folder"),
|
||||
]))
|
||||
if not self.config['mediaLocation']:
|
||||
idx = 0
|
||||
elif self.config['mediaLocation'] == "dropbox":
|
||||
idx = 1
|
||||
else:
|
||||
idx = 2
|
||||
self.dialog.mediaChoice.setCurrentIndex(idx)
|
||||
self.mediaChoiceChanged(idx)
|
||||
self.connect(self.dialog.mediaChoice,
|
||||
SIGNAL("currentIndexChanged(int)"),
|
||||
self.mediaChoiceChanged)
|
||||
self.origMediaChoice = idx
|
||||
|
||||
def mediaChoiceChanged(self, idx):
|
||||
mp = self.dialog.mediaPath
|
||||
mpl = self.dialog.mediaPrefix
|
||||
if idx == 2:
|
||||
mp.setText(self.config['mediaLocation'])
|
||||
mp.setShown(True)
|
||||
mpl.setShown(True)
|
||||
else:
|
||||
mp.setShown(False)
|
||||
mpl.setShown(False)
|
||||
|
||||
def setupNetwork(self):
|
||||
self.dialog.syncOnOpen.setChecked(self.config['syncOnLoad'])
|
||||
self.dialog.syncOnProgramOpen.setChecked(self.config['syncOnProgramOpen'])
|
||||
|
|
@ -143,6 +180,20 @@ class Preferences(QDialog):
|
|||
else:
|
||||
QDesktopServices.openUrl(QUrl("file://" + path))
|
||||
|
||||
def updateMedia(self):
|
||||
orig = self.origMediaChoice
|
||||
new = self.dialog.mediaChoice.currentIndex()
|
||||
if orig == new:
|
||||
return
|
||||
if new == 0:
|
||||
p = ""
|
||||
elif new == 1:
|
||||
p = "dropbox"
|
||||
else:
|
||||
p = unicode(self.dialog.mediaPath.text())
|
||||
self.config['mediaLocation'] = p
|
||||
self.needDeckClose = True
|
||||
|
||||
def updateSave(self):
|
||||
self.config['saveAfterAnswer'] = self.dialog.saveAfterEvery.isChecked()
|
||||
self.config['saveAfterAnswerNum'] = self.dialog.saveAfterEveryNum.value()
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@
|
|||
</property>
|
||||
<widget class="QWidget" name="tab_1">
|
||||
<attribute name="title">
|
||||
<string>Display</string>
|
||||
<string>Basic</string>
|
||||
</attribute>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<property name="spacing">
|
||||
|
|
@ -104,6 +104,30 @@
|
|||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_6">
|
||||
<property name="text">
|
||||
<string><b>Media</b></string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QComboBox" name="mediaChoice"/>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||
<item>
|
||||
<widget class="QLabel" name="mediaPrefix">
|
||||
<property name="text">
|
||||
<string>Prefix:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLineEdit" name="mediaPath"/>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
|
|
@ -666,6 +690,8 @@
|
|||
<tabstop>showEstimates</tabstop>
|
||||
<tabstop>showProgress</tabstop>
|
||||
<tabstop>preventEdits</tabstop>
|
||||
<tabstop>mediaChoice</tabstop>
|
||||
<tabstop>mediaPath</tabstop>
|
||||
<tabstop>syncUser</tabstop>
|
||||
<tabstop>syncPass</tabstop>
|
||||
<tabstop>syncOnOpen</tabstop>
|
||||
|
|
|
|||
Loading…
Reference in a new issue