mirror of
https://github.com/ankitects/anki.git
synced 2025-09-18 22:12:21 -04:00
update preferences
This commit is contained in:
parent
6bab81c180
commit
37d04c1831
4 changed files with 104 additions and 390 deletions
|
@ -52,7 +52,7 @@ defaultConf = {
|
|||
'showProgress': True,
|
||||
'showTimer': True,
|
||||
'showToolbar': True,
|
||||
'splitQA': True,
|
||||
'centerQA': True,
|
||||
'stripHTML': True,
|
||||
'studyOptionsTab': 0,
|
||||
'suppressEstimates': False,
|
||||
|
|
|
@ -17,7 +17,7 @@ from anki.utils import addTags, parseTags, canonifyTags, stripHTML, checksum
|
|||
from anki.hooks import runHook, addHook, removeHook
|
||||
import anki.consts
|
||||
|
||||
import aqt, aqt.facteditor, aqt.progress, aqt.webview, aqt.stats, aqt.studyopts
|
||||
import aqt, aqt.progress, aqt.webview
|
||||
from aqt.utils import saveGeom, restoreGeom, showInfo, showWarning, \
|
||||
saveState, restoreState, getOnlyText, askUser, GetTextDialog, \
|
||||
askUserDialog, applyStyles, getText, showText, showCritical
|
||||
|
@ -634,9 +634,11 @@ Debug info:\n%s""") % traceback.format_exc(), help="DeckErrors")
|
|||
self.moveToState("editCurrentFact")
|
||||
|
||||
def setupCardStats(self):
|
||||
import aqt.stats
|
||||
self.cardStats = aqt.stats.CardStats(self)
|
||||
|
||||
def onStudyOptions(self):
|
||||
import aqt.studyopts
|
||||
aqt.studyopts.StudyOptions(self)
|
||||
|
||||
def onOverview(self):
|
||||
|
@ -663,7 +665,8 @@ Debug info:\n%s""") % traceback.format_exc(), help="DeckErrors")
|
|||
self.deckProperties = aqt.deckproperties.DeckProperties(self, self.deck)
|
||||
|
||||
def onPrefs(self):
|
||||
aqt.preferences.Preferences(self, self.config)
|
||||
import aqt.preferences
|
||||
aqt.preferences.Preferences(self)
|
||||
|
||||
def onAbout(self):
|
||||
aqt.about.show(self)
|
||||
|
|
|
@ -2,70 +2,25 @@
|
|||
# Copyright: Damien Elmes <anki@ichi2.net>
|
||||
# License: GNU GPL, version 3 or later; http://www.gnu.org/copyleft/gpl.html
|
||||
|
||||
import copy, sys, os
|
||||
import os
|
||||
from PyQt4.QtGui import *
|
||||
from PyQt4.QtCore import *
|
||||
import anki, anki.utils
|
||||
from anki.facts import Fact
|
||||
from aqt import ui
|
||||
import aqt.forms
|
||||
|
||||
tabs = ("Display",
|
||||
"Network",
|
||||
"Saving",
|
||||
"Advanced")
|
||||
from anki.lang import langs
|
||||
from aqt.utils import openFolder
|
||||
import aqt
|
||||
|
||||
class Preferences(QDialog):
|
||||
|
||||
def __init__(self, parent, config):
|
||||
QDialog.__init__(self, parent, Qt.Window)
|
||||
self.origConfig = config
|
||||
self.parent = parent
|
||||
self.config = copy.copy(self.origConfig)
|
||||
def __init__(self, mw):
|
||||
QDialog.__init__(self, mw, Qt.Window)
|
||||
self.mw = mw
|
||||
self.config = mw.config
|
||||
self.origInterfaceLang = self.config['interfaceLang']
|
||||
self.dialog = aqt.forms.preferences.Ui_Preferences()
|
||||
self.dialog.setupUi(self)
|
||||
self.needDeckClose = False
|
||||
self.supportedLanguages = [
|
||||
(u"Bahasa Melayu", "ms"),
|
||||
(u"Dansk", "da"),
|
||||
(u"Deutsch", "de"),
|
||||
(u"Eesti", "et"),
|
||||
(u"English", "en"),
|
||||
(u"Español", "es"),
|
||||
(u"Esperanto", "eo"),
|
||||
(u"Français", "fr"),
|
||||
(u"Italiano", "it"),
|
||||
(u"Latviešu Valoda", "lv"),
|
||||
(u"Magyar", "hu"),
|
||||
(u"Nederlands","nl"),
|
||||
(u"Norsk","nb"),
|
||||
(u"Occitan","oc"),
|
||||
(u"Polski", "pl"),
|
||||
(u"Português Brasileiro", "pt_BR"),
|
||||
(u"Português", "pt"),
|
||||
(u"Româneşte", "ro"),
|
||||
(u"Slovenščina", "sl"),
|
||||
(u"Suomi", "fi"),
|
||||
(u"Svenska", "sv"),
|
||||
(u"Tiếng Việt", "vi"),
|
||||
(u"Türkçe", "tr"),
|
||||
(u"Čeština", "cs"),
|
||||
(u"Ελληνικά", "el"),
|
||||
(u"Български", "bg"),
|
||||
(u"Монгол хэл","mn"),
|
||||
(u"русский язык", "ru"),
|
||||
(u"українська мова", "uk"),
|
||||
(u"עִבְרִית", "he"),
|
||||
(u"العربية", "ar"),
|
||||
(u"فارسی", "fa"),
|
||||
(u"日本語", "ja"),
|
||||
(u"简体中文", "zh_CN"),
|
||||
(u"繁體中文", "zh_TW"),
|
||||
(u"한국어", "ko"),
|
||||
]
|
||||
self.supportedLanguages.sort()
|
||||
self.connect(self.dialog.buttonBox, SIGNAL("helpRequested()"), self.helpRequested)
|
||||
self.connect(self.dialog.buttonBox, SIGNAL("helpRequested()"),
|
||||
lambda: aqt.openHelp("Preferences"))
|
||||
self.setupLang()
|
||||
self.setupNetwork()
|
||||
self.setupSave()
|
||||
|
@ -78,14 +33,12 @@ class Preferences(QDialog):
|
|||
self.updateSave()
|
||||
self.updateAdvanced()
|
||||
self.updateMedia()
|
||||
self.config['interfaceLang'] = self.origConfig['interfaceLang']
|
||||
self.origConfig.update(self.config)
|
||||
self.origConfig.save()
|
||||
self.parent.setLang()
|
||||
self.config.save()
|
||||
self.mw.setupLang()
|
||||
if self.needDeckClose:
|
||||
self.parent.close(parent=self)
|
||||
self.mw.close()
|
||||
else:
|
||||
self.parent.reset()
|
||||
self.mw.reset()
|
||||
self.done(0)
|
||||
|
||||
def reject(self):
|
||||
|
@ -93,17 +46,18 @@ class Preferences(QDialog):
|
|||
|
||||
def setupLang(self):
|
||||
# interface lang
|
||||
for (lang, code) in self.supportedLanguages:
|
||||
for (lang, code) in langs:
|
||||
self.dialog.interfaceLang.addItem(lang)
|
||||
self.dialog.interfaceLang.setCurrentIndex(
|
||||
self.codeToIndex(self.config['interfaceLang']))
|
||||
self.connect(self.dialog.interfaceLang,
|
||||
SIGNAL("currentIndexChanged(QString)"),
|
||||
self.interfaceLangChanged)
|
||||
self.dialog.interfaceLang.setCurrentIndex(self.codeToIndex(self.config['interfaceLang']))
|
||||
|
||||
def interfaceLangChanged(self):
|
||||
self.origConfig['interfaceLang'] = (
|
||||
self.supportedLanguages[self.dialog.interfaceLang.currentIndex()])[1]
|
||||
self.parent.setLang()
|
||||
self.config['interfaceLang'] = (
|
||||
langs[self.dialog.interfaceLang.currentIndex()])[1]
|
||||
self.mw.setupLang()
|
||||
self.dialog.retranslateUi(self)
|
||||
|
||||
def setupMedia(self):
|
||||
|
@ -138,20 +92,16 @@ class Preferences(QDialog):
|
|||
mpl.setShown(False)
|
||||
|
||||
def setupNetwork(self):
|
||||
self.dialog.syncOnOpen.setChecked(self.config['syncOnLoad'])
|
||||
self.dialog.syncOnProgramOpen.setChecked(self.config['syncOnProgramOpen'])
|
||||
self.dialog.disableWhenMoved.setChecked(self.config['syncDisableWhenMoved'])
|
||||
self.dialog.syncUser.setText(self.config['syncUsername'])
|
||||
self.dialog.syncPass.setText(self.config['syncPassword'])
|
||||
self.dialog.proxyHost.setText(self.config['proxyHost'])
|
||||
self.dialog.proxyPort.setMinimum(1)
|
||||
self.dialog.proxyPort.setMaximum(65535)
|
||||
self.dialog.proxyPort.setValue(self.config['proxyPort'])
|
||||
self.dialog.proxyUser.setText(self.config['proxyUser'])
|
||||
self.dialog.proxyPass.setText(self.config['proxyPass'])
|
||||
|
||||
def updateNetwork(self):
|
||||
self.config['syncOnLoad'] = self.dialog.syncOnOpen.isChecked()
|
||||
self.config['syncOnProgramOpen'] = self.dialog.syncOnProgramOpen.isChecked()
|
||||
self.config['syncDisableWhenMoved'] = self.dialog.disableWhenMoved.isChecked()
|
||||
self.config['syncUsername'] = unicode(self.dialog.syncUser.text())
|
||||
|
@ -162,11 +112,6 @@ class Preferences(QDialog):
|
|||
self.config['proxyPass'] = unicode(self.dialog.proxyPass.text())
|
||||
|
||||
def setupSave(self):
|
||||
self.dialog.saveAfterEveryNum.setValue(self.config['saveAfterAnswerNum'])
|
||||
self.dialog.saveAfterEvery.setChecked(self.config['saveAfterAnswer'])
|
||||
self.dialog.saveAfterAdding.setChecked(self.config['saveAfterAdding'])
|
||||
self.dialog.saveAfterAddingNum.setValue(self.config['saveAfterAddingNum'])
|
||||
self.dialog.saveWhenClosing.setChecked(self.config['saveOnClose'])
|
||||
self.dialog.numBackups.setValue(self.config['numBackups'])
|
||||
self.connect(self.dialog.openBackupFolder,
|
||||
SIGNAL("linkActivated(QString)"),
|
||||
|
@ -174,12 +119,7 @@ class Preferences(QDialog):
|
|||
|
||||
def onOpenBackup(self):
|
||||
path = os.path.join(self.config.confDir, "backups")
|
||||
if sys.platform == "win32":
|
||||
anki.utils.call(["explorer", path.encode(
|
||||
sys.getfilesystemencoding())],
|
||||
wait=False)
|
||||
else:
|
||||
QDesktopServices.openUrl(QUrl("file://" + path))
|
||||
openFolder(path)
|
||||
|
||||
def updateMedia(self):
|
||||
orig = self.origMediaChoice
|
||||
|
@ -198,54 +138,31 @@ class Preferences(QDialog):
|
|||
self.needDeckClose = True
|
||||
|
||||
def updateSave(self):
|
||||
self.config['saveAfterAnswer'] = self.dialog.saveAfterEvery.isChecked()
|
||||
self.config['saveAfterAnswerNum'] = self.dialog.saveAfterEveryNum.value()
|
||||
self.config['saveAfterAdding'] = self.dialog.saveAfterAdding.isChecked()
|
||||
self.config['saveAfterAddingNum'] = self.dialog.saveAfterAddingNum.value()
|
||||
self.config['saveOnClose'] = self.dialog.saveWhenClosing.isChecked()
|
||||
self.config['numBackups'] = self.dialog.numBackups.value()
|
||||
|
||||
def setupAdvanced(self):
|
||||
self.dialog.colourTimes.setChecked(self.config['colourTimes'])
|
||||
self.dialog.showEstimates.setChecked(not self.config['suppressEstimates'])
|
||||
self.dialog.showStudyOptions.setChecked(self.config['showStudyScreen'])
|
||||
self.dialog.showTimer.setChecked(self.config['showTimer'])
|
||||
self.dialog.showDivider.setChecked(self.config['qaDivider'])
|
||||
self.dialog.splitQA.setChecked(self.config['splitQA'])
|
||||
self.dialog.centerQA.setChecked(self.config['centerQA'])
|
||||
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'])
|
||||
self.dialog.stripHTML.setChecked(self.config['stripHTML'])
|
||||
self.dialog.autoplaySounds.setChecked(self.config['autoplaySounds'])
|
||||
self.dialog.deckBrowserLen.setValue(self.config['deckBrowserNameLength'])
|
||||
|
||||
def updateAdvanced(self):
|
||||
self.config['colourTimes'] = self.dialog.colourTimes.isChecked()
|
||||
self.config['showTimer'] = self.dialog.showTimer.isChecked()
|
||||
self.config['suppressEstimates'] = not self.dialog.showEstimates.isChecked()
|
||||
self.config['showStudyScreen'] = self.dialog.showStudyOptions.isChecked()
|
||||
self.config['qaDivider'] = self.dialog.showDivider.isChecked()
|
||||
self.config['splitQA'] = self.dialog.splitQA.isChecked()
|
||||
self.config['centerQA'] = self.dialog.centerQA.isChecked()
|
||||
self.config['showProgress'] = self.dialog.showProgress.isChecked()
|
||||
self.config['stripHTML'] = self.dialog.stripHTML.isChecked()
|
||||
self.config['autoplaySounds'] = self.dialog.autoplaySounds.isChecked()
|
||||
self.config['loadLastDeck'] = self.dialog.openLastDeck.isChecked()
|
||||
if self.dialog.deckBrowserOrder.isChecked():
|
||||
self.config['deckBrowserOrder'] = 1
|
||||
else:
|
||||
self.config['deckBrowserOrder'] = 0
|
||||
self.config['deleteMedia'] = self.dialog.deleteMedia.isChecked()
|
||||
self.config['deckBrowserNameLength'] = self.dialog.deckBrowserLen.value()
|
||||
|
||||
def codeToIndex(self, code):
|
||||
n = 0
|
||||
for (lang, type) in self.supportedLanguages:
|
||||
for (lang, type) in langs:
|
||||
if code == type:
|
||||
return n
|
||||
n += 1
|
||||
# default to english
|
||||
return self.codeToIndex("en")
|
||||
|
||||
def helpRequested(self):
|
||||
aqt.openHelp("Preferences")
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
<property name="currentIndex">
|
||||
<number>1</number>
|
||||
<number>0</number>
|
||||
</property>
|
||||
<widget class="QWidget" name="tab_1">
|
||||
<attribute name="title">
|
||||
|
@ -58,50 +58,9 @@
|
|||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::TabFocus</enum>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string><b>Reviewing</b></string>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="showDivider">
|
||||
<property name="text">
|
||||
<string>Show divider between question and answer</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="splitQA">
|
||||
<property name="text">
|
||||
<string>Put space between question and answer</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="showEstimates">
|
||||
<property name="text">
|
||||
<string>Show next time before answer</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="showProgress">
|
||||
<property name="text">
|
||||
<string>Show due count and progress during review</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="preventEdits">
|
||||
<property name="text">
|
||||
<string>Prevent edits until answer shown</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
|
@ -111,6 +70,27 @@
|
|||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="centerQA">
|
||||
<property name="text">
|
||||
<string>Center question and answer</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="showEstimates">
|
||||
<property name="text">
|
||||
<string>Show next times</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="showProgress">
|
||||
<property name="text">
|
||||
<string>Show due count and progress</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_6">
|
||||
<property name="text">
|
||||
|
@ -218,23 +198,13 @@
|
|||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0" colspan="2">
|
||||
<widget class="QCheckBox" name="syncOnOpen">
|
||||
<property name="text">
|
||||
<string>Sync on deck open/close</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0" colspan="2">
|
||||
<widget class="QCheckBox" name="syncOnProgramOpen">
|
||||
<property name="text">
|
||||
<string>Sync on program open/close</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="0" colspan="2">
|
||||
<item row="3" column="0" colspan="2">
|
||||
<widget class="QCheckBox" name="disableWhenMoved">
|
||||
<property name="text">
|
||||
<string>Disable sync when deck moved</string>
|
||||
|
@ -269,30 +239,6 @@
|
|||
<item row="0" column="1">
|
||||
<widget class="QLineEdit" name="proxyHost"/>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="label_19">
|
||||
<property name="text">
|
||||
<string>Username</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QLineEdit" name="proxyUser"/>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QLabel" name="label_20">
|
||||
<property name="text">
|
||||
<string>Password</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
<widget class="QLineEdit" name="proxyPass">
|
||||
<property name="echoMode">
|
||||
<enum>QLineEdit::Password</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="2">
|
||||
<widget class="QLabel" name="label_15">
|
||||
<property name="text">
|
||||
|
@ -308,6 +254,39 @@
|
|||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="minimum">
|
||||
<number>1</number>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>65535</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>8080</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="label_19">
|
||||
<property name="text">
|
||||
<string>Username</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QLineEdit" name="proxyUser"/>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="label_20">
|
||||
<property name="text">
|
||||
<string>Password</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QLineEdit" name="proxyPass">
|
||||
<property name="echoMode">
|
||||
<enum>QLineEdit::Password</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
|
@ -339,90 +318,12 @@
|
|||
</widget>
|
||||
<widget class="QWidget" name="tab">
|
||||
<attribute name="title">
|
||||
<string>Saving</string>
|
||||
<string>Backups</string>
|
||||
</attribute>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_3">
|
||||
<property name="spacing">
|
||||
<number>10</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_4">
|
||||
<property name="text">
|
||||
<string><b>Autosaving</b></string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<property name="spacing">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<item row="0" column="0">
|
||||
<widget class="QCheckBox" name="saveAfterEvery">
|
||||
<property name="text">
|
||||
<string>Save after answering</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QSpinBox" name="saveAfterEveryNum">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>60</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QCheckBox" name="saveAfterAdding">
|
||||
<property name="text">
|
||||
<string>Save after adding</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QSpinBox" name="saveAfterAddingNum">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>60</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0" colspan="2">
|
||||
<widget class="QCheckBox" name="saveWhenClosing">
|
||||
<property name="text">
|
||||
<string>Save when closing</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="2">
|
||||
<widget class="QLabel" name="label_5">
|
||||
<property name="text">
|
||||
<string>cards</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="2">
|
||||
<widget class="QLabel" name="label_7">
|
||||
<property name="text">
|
||||
<string>facts</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_9">
|
||||
<property name="text">
|
||||
|
@ -487,6 +388,16 @@
|
|||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_4">
|
||||
<property name="text">
|
||||
<string>Note that your media folders are <b>not</b> backed up. It's recommended you keep your media in DropBox to avoid data loss.</string>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer_4">
|
||||
<property name="orientation">
|
||||
|
@ -519,128 +430,29 @@
|
|||
<layout class="QVBoxLayout">
|
||||
<item>
|
||||
<layout class="QGridLayout">
|
||||
<item row="4" column="0">
|
||||
<widget class="QCheckBox" name="showTimer">
|
||||
<property name="text">
|
||||
<string>Show timer</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QCheckBox" name="alternativeTheme">
|
||||
<property name="text">
|
||||
<string>Alternative theme</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="7" column="0">
|
||||
<widget class="QCheckBox" name="showStudyOptions">
|
||||
<property name="text">
|
||||
<string>Show study options on deck load</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="0">
|
||||
<widget class="QCheckBox" name="showTray">
|
||||
<property name="text">
|
||||
<string>Show tray icon</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="12" column="0">
|
||||
<widget class="QCheckBox" name="addZeroSpace">
|
||||
<property name="text">
|
||||
<string>Add hidden char to text (fixes Thai on OSX)</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="8" column="0">
|
||||
<item row="1" column="0">
|
||||
<widget class="QCheckBox" name="openLastDeck">
|
||||
<property name="text">
|
||||
<string>Always open last deck on startup</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="9" column="0">
|
||||
<widget class="QCheckBox" name="deckBrowserOrder">
|
||||
<property name="text">
|
||||
<string>Show decks with cards due first in browser</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="11" column="0">
|
||||
<widget class="QCheckBox" name="deleteMedia">
|
||||
<property name="text">
|
||||
<string>Delete original media on add</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QCheckBox" name="colourTimes">
|
||||
<property name="text">
|
||||
<string>Colour next times</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="0">
|
||||
<item row="0" column="0">
|
||||
<widget class="QCheckBox" name="stripHTML">
|
||||
<property name="text">
|
||||
<string>Strip HTML when pasting text</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="10" column="0">
|
||||
<widget class="QCheckBox" name="optimizeSmall">
|
||||
<item row="2" column="0">
|
||||
<widget class="QCheckBox" name="deleteMedia">
|
||||
<property name="text">
|
||||
<string>Optimize for small screens</string>
|
||||
<string>Delete original media on add</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer_5">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Preferred</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>10</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<item>
|
||||
<widget class="QLabel" name="label_22">
|
||||
<property name="text">
|
||||
<string>Max deck name length in deck browser:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QSpinBox" name="deckBrowserLen"/>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<spacer>
|
||||
<property name="orientation">
|
||||
|
@ -683,42 +495,24 @@
|
|||
<tabstops>
|
||||
<tabstop>tabWidget</tabstop>
|
||||
<tabstop>interfaceLang</tabstop>
|
||||
<tabstop>label_2</tabstop>
|
||||
<tabstop>showDivider</tabstop>
|
||||
<tabstop>splitQA</tabstop>
|
||||
<tabstop>autoplaySounds</tabstop>
|
||||
<tabstop>centerQA</tabstop>
|
||||
<tabstop>showEstimates</tabstop>
|
||||
<tabstop>showProgress</tabstop>
|
||||
<tabstop>preventEdits</tabstop>
|
||||
<tabstop>autoplaySounds</tabstop>
|
||||
<tabstop>mediaChoice</tabstop>
|
||||
<tabstop>mediaPath</tabstop>
|
||||
<tabstop>syncUser</tabstop>
|
||||
<tabstop>syncPass</tabstop>
|
||||
<tabstop>syncOnOpen</tabstop>
|
||||
<tabstop>syncOnProgramOpen</tabstop>
|
||||
<tabstop>disableWhenMoved</tabstop>
|
||||
<tabstop>proxyHost</tabstop>
|
||||
<tabstop>proxyPort</tabstop>
|
||||
<tabstop>proxyUser</tabstop>
|
||||
<tabstop>proxyPass</tabstop>
|
||||
<tabstop>saveAfterEvery</tabstop>
|
||||
<tabstop>saveAfterEveryNum</tabstop>
|
||||
<tabstop>saveAfterAdding</tabstop>
|
||||
<tabstop>saveAfterAddingNum</tabstop>
|
||||
<tabstop>saveWhenClosing</tabstop>
|
||||
<tabstop>numBackups</tabstop>
|
||||
<tabstop>alternativeTheme</tabstop>
|
||||
<tabstop>colourTimes</tabstop>
|
||||
<tabstop>showTimer</tabstop>
|
||||
<tabstop>showTray</tabstop>
|
||||
<tabstop>stripHTML</tabstop>
|
||||
<tabstop>showStudyOptions</tabstop>
|
||||
<tabstop>openLastDeck</tabstop>
|
||||
<tabstop>deckBrowserOrder</tabstop>
|
||||
<tabstop>optimizeSmall</tabstop>
|
||||
<tabstop>deleteMedia</tabstop>
|
||||
<tabstop>addZeroSpace</tabstop>
|
||||
<tabstop>deckBrowserLen</tabstop>
|
||||
<tabstop>buttonBox</tabstop>
|
||||
</tabstops>
|
||||
<resources/>
|
||||
|
|
Loading…
Reference in a new issue