simplify preferences, more tweaks to study page

This commit is contained in:
Damien Elmes 2009-01-10 16:53:47 +09:00
parent 3268dce5b1
commit 089f22c171
7 changed files with 435 additions and 704 deletions

View file

@ -57,7 +57,6 @@ class Config(dict):
'saveAfterAddingNum': 3, 'saveAfterAddingNum': 3,
'saveOnClose': True, 'saveOnClose': True,
'mainWindowGeom': None, 'mainWindowGeom': None,
'easeButtonHeight': 'standard',
'suppressUpdate': False, 'suppressUpdate': False,
'suppressEstimates': False, 'suppressEstimates': False,
'showLastCardInterval': False, 'showLastCardInterval': False,
@ -84,30 +83,6 @@ class Config(dict):
# guess interface and target languages # guess interface and target languages
(lang, enc) = locale.getdefaultlocale() (lang, enc) = locale.getdefaultlocale()
self['interfaceLang'] = lang self['interfaceLang'] = lang
self.initFonts()
def initFonts(self):
defaultColours = {
'lastCard': "#0077FF",
'background': "#FFFFFF",
'interface': "#000000",
}
defaultSizes = {
'interface': 12,
'lastCard': 14,
'edit': 12,
'other': 24,
}
# fonts
for n in ("interface", "lastCard", "edit"):
if not self.get(n + "FontFamily", None):
self[n + "FontFamily"] = "Arial"
self[n + "FontSize"] = defaultSizes.get(n, defaultSizes['other'])
# colours
for n in ("interface", "lastCard", "background"):
color = n + "Colour"
if not color in self:
self[color] = defaultColours[n]
def getDbPath(self): def getDbPath(self):
return os.path.join(self.configPath, self.configDbName) return os.path.join(self.configPath, self.configDbName)

View file

@ -51,8 +51,8 @@ class HelpArea(object):
else: else:
font = "arial" font = "arial"
# qt seems to ignore font-size on elements like h1 # qt seems to ignore font-size on elements like h1
style = ("<style>#content { font-family: %s; " + style = "" #("<style>#content { font-family: %s; " +
"font-size: 12px; }</style>\n") % font #"font-size: 12px; }</style>\n") % font
self.widget.setHtml(style + '<div id="content">' + self.widget.setHtml(style + '<div id="content">' +
self.buffer + '</div>') self.buffer + '</div>')

View file

@ -415,13 +415,10 @@ new:
########################################################################## ##########################################################################
def setupButtons(self): def setupButtons(self):
if self.config['easeButtonHeight'] == "tall": if sys.platform.startswith("darwin"):
self.easeButtonHeight = 50 self.easeButtonHeight = 35
else: else:
if sys.platform.startswith("darwin"): self.easeButtonHeight = 25
self.easeButtonHeight = 35
else:
self.easeButtonHeight = 25
# ask # ask
self.mainWin.showAnswerButton.setFixedHeight(self.easeButtonHeight) self.mainWin.showAnswerButton.setFixedHeight(self.easeButtonHeight)
self.connect(self.mainWin.showAnswerButton, SIGNAL("clicked()"), self.connect(self.mainWin.showAnswerButton, SIGNAL("clicked()"),
@ -489,20 +486,10 @@ new:
if self.config['suppressEstimates']: if self.config['suppressEstimates']:
l.setText("") l.setText("")
elif i == 1: elif i == 1:
l.setText(self.withInterfaceFont(_("Soon"))) l.setText(_("Soon"))
else: else:
l.setText(self.withInterfaceFont("<b>" + l.setText("<b>" + self.deck.nextIntervalStr(
self.deck.nextIntervalStr(self.currentCard, i) + "</b>")) self.currentCard, i) + "</b>")
def withInterfaceFont(self, text):
family = self.config["interfaceFontFamily"]
size = self.config["interfaceFontSize"]
colour = self.config["interfaceColour"]
css = ('.interface {font-family: "%s"; font-size: %spx; color: %s}\n' %
(family, size, colour))
css = "<style>\n" + css + "</style>\n"
text = css + '<span class="interface">' + text + "</span>"
return text
# Deck loading & saving: backend # Deck loading & saving: backend
########################################################################## ##########################################################################
@ -967,6 +954,8 @@ To upgrade an old deck, download Anki 0.9.8.7."""))
self.mainWin.optionsBox.setShown(False) self.mainWin.optionsBox.setShown(False)
self.connect(self.mainWin.minuteLimit, self.connect(self.mainWin.minuteLimit,
SIGNAL("textChanged(QString)"), self.onMinuteLimitChanged) SIGNAL("textChanged(QString)"), self.onMinuteLimitChanged)
self.connect(self.mainWin.newPerDay,
SIGNAL("textChanged(QString)"), self.onNewLimitChanged)
def onMinuteLimitChanged(self, qstr): def onMinuteLimitChanged(self, qstr):
try: try:
@ -976,6 +965,15 @@ To upgrade an old deck, download Anki 0.9.8.7."""))
pass pass
self.updateStudyStats() self.updateStudyStats()
def onNewLimitChanged(self, qstr):
try:
self.deck.newCardsPerDay = int(self.mainWin.newPerDay.text())
except ValueError:
pass
self.deck.checkDue()
self.statusView.redraw()
self.updateStudyStats()
def updateStudyStats(self): def updateStudyStats(self):
initial = self.deck.sessionStartTime == 0 initial = self.deck.sessionStartTime == 0
if initial: if initial:
@ -988,7 +986,7 @@ To upgrade an old deck, download Anki 0.9.8.7."""))
# top label # top label
h = {} h = {}
s = self.deck.getStats() s = self.deck.getStats()
h['ret'] = '<font color=#0077ff>%s</font>' % (s['rev']+s['failed']) h['ret'] = '<font color=#0000ff>%s</font>' % (s['rev']+s['failed'])
h['new'] = '<font color=#0000ff>%s</font>' % s['new'] h['new'] = '<font color=#0000ff>%s</font>' % s['new']
h['newof'] = '%s' % self.deck.newCount h['newof'] = '%s' % self.deck.newCount
dtoday = s['dTotal'] dtoday = s['dTotal']
@ -1000,8 +998,8 @@ day = :d""", d=yesterday)
(dyest, tyest) = res (dyest, tyest) = res
else: else:
dyest = 0; tyest = 0 dyest = 0; tyest = 0
h['repsToday'] = '<font color=#007700>%s</font>' % dtoday h['repsToday'] = '<font color=#0000cc>%s</font>' % dtoday
h['repsTodayChg'] = '<font color=#0000cc>%s</font>' % dyest h['repsTodayChg'] = '<font color=#00aa00>%s</font>' % dyest
limit = self.deck.sessionTimeLimit limit = self.deck.sessionTimeLimit
start = self.deck.sessionStartTime or time.time() - limit start = self.deck.sessionStartTime or time.time() - limit
start2 = self.deck.lastSessionStart or start - limit start2 = self.deck.lastSessionStart or start - limit
@ -1012,30 +1010,31 @@ day = :d""", d=yesterday)
"select count(*) from reviewHistory where " "select count(*) from reviewHistory where "
"time >= :t and time < :t2", "time >= :t and time < :t2",
t=start2, t2=start) t=start2, t2=start)
h['repsInSes'] = '<font color=#007700>%s</font>' % last10 h['repsInSes'] = '<font color=#0000cc>%s</font>' % last10
h['repsInSesChg'] = '<font color=#0000cc>%s</font>' % last20 h['repsInSesChg'] = '<font color=#00aa00>%s</font>' % last20
ttoday = s['dReviewTime'] ttoday = s['dReviewTime']
h['timeToday'] = '<font color=#007700>%s</font>' % ( h['timeToday'] = '<font color=#0000cc>%s</font>' % (
anki.utils.fmtTimeSpan(ttoday, short=True, point=1)) anki.utils.fmtTimeSpan(ttoday, short=True, point=1))
h['timeTodayChg'] = '<font color=#0000cc>%s</font>' % ( h['timeTodayChg'] = '<font color=#00aa00>%s</font>' % (
anki.utils.fmtTimeSpan(tyest, short=True, point=1)) anki.utils.fmtTimeSpan(tyest, short=True, point=1))
self.mainWin.optionsLabel.setText(top + _("""\ self.mainWin.optionsLabel.setText(top + _("""\
<p> <p>
<table width=300> <table width=300>
<tr><td> <tr><td>
<table width=150> <table width=150>
<tr><td>Session:&nbsp;&nbsp;</td><td><b>%(repsInSes)s</b></td> <tr><td>Session reps:&nbsp;&nbsp;</td><td><b>%(repsInSes)s</b></td>
<td>%(repsInSesChg)s</td></tr> <td>%(repsInSesChg)s</td></tr>
<tr><td>Day:</td><td><b>%(repsToday)s</b></td> <tr><td>Day reps:</td><td><b>%(repsToday)s</b></td>
<td>%(repsTodayChg)s</td></tr> <td>%(repsTodayChg)s</td></tr>
<tr><td>Time:</td><td><b>%(timeToday)s</b></td> <tr><td>Time:</td><td><b>%(timeToday)s</b></td>
<td>%(timeTodayChg)s</td></tr> <td>%(timeTodayChg)s</td></tr>
</table></td> </table>
<td><table> </td><td>&nbsp;&nbsp;&nbsp;&nbsp;</td><td>
<tr><td>Review: </td><td align=right><b>%(ret)s</b></td></tr> <table width=150>
<tr><td>New today:</td><td align=right><b>%(new)s</b></td></tr> <tr><td>Reviews today:</td><td align=right><b>%(ret)s</b></td></tr>
<tr><td>New total:</td><td align=right><b>%(newof)s</b></td></tr> <tr><td>New today:</td><td align=right><b>%(new)s</b></td><td>&nbsp;(of %(newof)s)</td></tr>
</table></td></tr></table>""") % h) </table>
</td></tr></table>""") % h)
def showStudyScreen(self): def showStudyScreen(self):

View file

@ -39,8 +39,6 @@ class Preferences(QDialog):
] ]
self.connect(self.dialog.buttonBox, SIGNAL("helpRequested()"), self.helpRequested) self.connect(self.dialog.buttonBox, SIGNAL("helpRequested()"), self.helpRequested)
self.setupLang() self.setupLang()
self.setupFont()
self.setupColour()
self.setupSync() self.setupSync()
self.setupSave() self.setupSave()
self.setupAdvanced() self.setupAdvanced()
@ -75,66 +73,6 @@ class Preferences(QDialog):
self.parent.setLang() self.parent.setLang()
self.dialog.retranslateUi(self) self.dialog.retranslateUi(self)
fonts = (
"interface",
)
def loadCurrentFonts(self):
for font in self.fonts:
# family init
getattr(self.dialog, font + "Family").setCurrentFont(QFont(
self.config[font + "FontFamily"]))
# size init
getattr(self.dialog, font + "Size").setValue(
self.config[font + "FontSize"])
def setupFont(self):
self.loadCurrentFonts()
for font in self.fonts:
# family change
family = font + "Family"
chngFunc = lambda qfont, type=font: self.familyChanged(qfont, type)
self.connect(getattr(self.dialog, family),
SIGNAL("currentFontChanged(QFont)"),
chngFunc)
# size change
size = font + "Size"
chngFunc = lambda size, type=font: self.sizeChanged(size, type)
self.connect(getattr(self.dialog, size),
SIGNAL("valueChanged(int)"),
chngFunc)
def familyChanged(self, qfont, type):
self.config[type + "FontFamily"] = unicode(qfont.family())
getattr(self.dialog, type + "Family").setFocus()
def sizeChanged(self, size, type):
self.config[type + "FontSize"] = size
getattr(self.dialog, type + "Size").setFocus()
def setupColour(self):
self.plastiqueStyle = None
if (sys.platform.startswith("darwin") or
sys.platform.startswith("win32")):
# mac widgets don't show colours
self.plastiqueStyle = QStyleFactory.create("plastique")
for c in ("interface", "background"):
colour = c + "Colour"
button = getattr(self.dialog, colour)
if self.plastiqueStyle:
button.setStyle(self.plastiqueStyle)
button.setPalette(QPalette(QColor(
self.config[colour])))
self.connect(button, SIGNAL("clicked()"),
lambda b=button, t=c, : self.colourClicked(b, t))
def colourClicked(self, button, type):
new = QColorDialog.getColor(button.palette().window().color(), self)
if new.isValid():
self.config[type + "Colour"] = str(new.name())
button.setPalette(QPalette(new))
def setupSync(self): def setupSync(self):
self.dialog.syncOnOpen.setChecked(self.config['syncOnLoad']) self.dialog.syncOnOpen.setChecked(self.config['syncOnLoad'])
self.dialog.syncOnClose.setChecked(self.config['syncOnClose']) self.dialog.syncOnClose.setChecked(self.config['syncOnClose'])
@ -163,46 +101,27 @@ class Preferences(QDialog):
def setupAdvanced(self): def setupAdvanced(self):
self.dialog.showToolbar.setChecked(self.config['showToolbar']) self.dialog.showToolbar.setChecked(self.config['showToolbar'])
self.dialog.tallButtons.setChecked(
self.config['easeButtonHeight'] != 'standard')
self.dialog.showEstimates.setChecked(not self.config['suppressEstimates']) self.dialog.showEstimates.setChecked(not self.config['suppressEstimates'])
self.dialog.showStudyOptions.setChecked(self.config['showStudyScreen']) self.dialog.showStudyOptions.setChecked(self.config['showStudyScreen'])
self.dialog.showLastCardInterval.setChecked(self.config['showLastCardInterval'])
self.dialog.showLastCardContent.setChecked(self.config['showLastCardContent'])
self.dialog.showTray.setChecked(self.config['showTrayIcon']) self.dialog.showTray.setChecked(self.config['showTrayIcon'])
self.dialog.showTimer.setChecked(self.config['showTimer']) self.dialog.showTimer.setChecked(self.config['showTimer'])
self.dialog.simpleToolbar.setChecked(self.config['simpleToolbar'])
self.dialog.scrollToAnswer.setChecked(self.config['scrollToAnswer']) self.dialog.scrollToAnswer.setChecked(self.config['scrollToAnswer'])
self.dialog.showDivider.setChecked(self.config['qaDivider']) self.dialog.showDivider.setChecked(self.config['qaDivider'])
self.dialog.splitQA.setChecked(self.config['splitQA']) self.dialog.splitQA.setChecked(self.config['splitQA'])
self.dialog.addZeroSpace.setChecked(self.config['addZeroSpace']) self.dialog.addZeroSpace.setChecked(self.config['addZeroSpace'])
self.dialog.alternativeTheme.setChecked(self.config['alternativeTheme']) self.dialog.alternativeTheme.setChecked(self.config['alternativeTheme'])
self.dialog.toolbarIconSize.setText(str(self.config['iconSize']))
def updateAdvanced(self): def updateAdvanced(self):
self.config['showToolbar'] = self.dialog.showToolbar.isChecked() self.config['showToolbar'] = self.dialog.showToolbar.isChecked()
if self.dialog.tallButtons.isChecked():
self.config['easeButtonHeight'] = 'tall'
else:
self.config['easeButtonHeight'] = 'standard'
self.config['showLastCardInterval'] = self.dialog.showLastCardInterval.isChecked()
self.config['showLastCardContent'] = self.dialog.showLastCardContent.isChecked()
self.config['showTrayIcon'] = self.dialog.showTray.isChecked() self.config['showTrayIcon'] = self.dialog.showTray.isChecked()
self.config['showTimer'] = self.dialog.showTimer.isChecked() self.config['showTimer'] = self.dialog.showTimer.isChecked()
self.config['suppressEstimates'] = not self.dialog.showEstimates.isChecked() self.config['suppressEstimates'] = not self.dialog.showEstimates.isChecked()
self.config['showStudyScreen'] = self.dialog.showStudyOptions.isChecked() self.config['showStudyScreen'] = self.dialog.showStudyOptions.isChecked()
self.config['simpleToolbar'] = self.dialog.simpleToolbar.isChecked()
self.config['scrollToAnswer'] = self.dialog.scrollToAnswer.isChecked() self.config['scrollToAnswer'] = self.dialog.scrollToAnswer.isChecked()
self.config['qaDivider'] = self.dialog.showDivider.isChecked() self.config['qaDivider'] = self.dialog.showDivider.isChecked()
self.config['splitQA'] = self.dialog.splitQA.isChecked() self.config['splitQA'] = self.dialog.splitQA.isChecked()
self.config['addZeroSpace'] = self.dialog.addZeroSpace.isChecked() self.config['addZeroSpace'] = self.dialog.addZeroSpace.isChecked()
self.config['alternativeTheme'] = self.dialog.alternativeTheme.isChecked() self.config['alternativeTheme'] = self.dialog.alternativeTheme.isChecked()
i = 32
try:
i = int(self.dialog.toolbarIconSize.text())
except:
pass
self.config['iconSize'] = i
def codeToIndex(self, code): def codeToIndex(self, code):
n = 0 n = 0

View file

@ -8,6 +8,7 @@ import anki, anki.utils
from anki.sound import playFromText, stripSounds from anki.sound import playFromText, stripSounds
from anki.latex import renderLatex, stripLatex from anki.latex import renderLatex, stripLatex
from anki.utils import stripHTML from anki.utils import stripHTML
from anki.hooks import runHook
import types, time, re, os, urllib, sys import types, time, re, os, urllib, sys
from ankiqt import ui from ankiqt import ui
from ankiqt.ui.utils import mungeQA from ankiqt.ui.utils import mungeQA
@ -50,7 +51,6 @@ class View(object):
if self.state == "noDeck" or self.state == "studyScreen": if self.state == "noDeck" or self.state == "studyScreen":
return return
self.clearWindow() self.clearWindow()
self.setBackgroundColour()
self.haveTop = (self.main.lastCard and ( self.haveTop = (self.main.lastCard and (
self.main.config['showLastCardContent'] or self.main.config['showLastCardContent'] or
self.main.config['showLastCardInterval'])) self.main.config['showLastCardInterval']))
@ -81,16 +81,6 @@ class View(object):
s = "<style>\n" s = "<style>\n"
if self.main.deck: if self.main.deck:
s += self.main.deck.css s += self.main.deck.css
# last card
for base in ("lastCard", "interface"):
family = self.main.config[base + "FontFamily"]
size = self.main.config[base + "FontSize"]
color = ("; color: " + self.main.config[base + "Colour"])
s += ('.%s {font-family: "%s"; font-size: %spx%s}\n' %
(base, family, size, color))
s += ("body { background-color: " +
self.main.config["backgroundColour"] +
";}\n")
s += "div { white-space: pre-wrap; }" s += "div { white-space: pre-wrap; }"
s += "</style>" s += "</style>"
return s return s
@ -104,24 +94,16 @@ class View(object):
def flush(self): def flush(self):
"Write the current HTML buffer to the screen." "Write the current HTML buffer to the screen."
txt = (self.addStyles() + ''' self.buffer = self.addStyles() + self.buffer
<div class="interface">''' + # hook for user css
self.buffer + '</div>') runHook("preFlushHook")
self.body.setHtml(txt) self.body.setHtml(self.buffer)
def write(self, text): def write(self, text):
if type(text) != types.UnicodeType: if type(text) != types.UnicodeType:
text = unicode(text, "utf-8") text = unicode(text, "utf-8")
self.buffer += text self.buffer += text
def setBackgroundColour(self):
p = QPalette()
p.setColor(QPalette.Base, QColor(self.main.config['backgroundColour']))
self.body.setPalette(p)
if self.frame:
p.setColor(QPalette.Background, QColor(self.main.config['backgroundColour']))
self.frame.setPalette(p)
# Question and answer # Question and answer
########################################################################## ##########################################################################
@ -141,7 +123,7 @@ class View(object):
if self.haveTop: if self.haveTop:
height = 35 height = 35
else: else:
height = 40 height = 45
self.write(self.center(self.mungeQA(self.main.deck, q), height)) self.write(self.center(self.mungeQA(self.main.deck, q), height))
if self.state != self.oldState and not nosound: if self.state != self.oldState and not nosound:
playFromText(q) playFromText(q)
@ -283,6 +265,10 @@ Start adding your own material.</td>
class AnkiWebView(QWebView): class AnkiWebView(QWebView):
def __init__(self, *args):
QWebView.__init__(self, *args)
self.setObjectName("mainText")
def keyPressEvent(self, evt): def keyPressEvent(self, evt):
if evt.matches(QKeySequence.Copy): if evt.matches(QKeySequence.Copy):
self.triggerPageAction(QWebPage.Copy) self.triggerPageAction(QWebPage.Copy)

View file

@ -5,8 +5,8 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>562</width> <width>569</width>
<height>469</height> <height>454</height>
</rect> </rect>
</property> </property>
<property name="sizePolicy" > <property name="sizePolicy" >
@ -27,8 +27,8 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>69</y> <y>69</y>
<width>562</width> <width>569</width>
<height>380</height> <height>365</height>
</rect> </rect>
</property> </property>
<property name="sizePolicy" > <property name="sizePolicy" >
@ -154,8 +154,8 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>277</width> <width>284</width>
<height>302</height> <height>280</height>
</rect> </rect>
</property> </property>
</widget> </widget>
@ -207,304 +207,212 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>100</width> <width>284</width>
<height>30</height> <height>280</height>
</rect> </rect>
</property> </property>
<layout class="QHBoxLayout" name="horizontalLayout_5" > <layout class="QGridLayout" name="gridLayout_3" >
<item> <property name="verticalSpacing" >
<layout class="QHBoxLayout" name="horizontalLayout_4" > <number>0</number>
</property>
<item row="0" column="0" >
<layout class="QVBoxLayout" name="verticalLayout_11" >
<property name="spacing" >
<number>0</number>
</property>
<property name="topMargin" >
<number>4</number>
</property>
<item> <item>
<layout class="QVBoxLayout" name="verticalLayout_11" > <widget class="QLabel" name="optionsLabel" >
<property name="text" >
<string>&lt;h1>Welcome!&lt;/h1></string>
</property>
<property name="textInteractionFlags" >
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse</set>
</property>
</widget>
</item>
<item>
<spacer name="verticalSpacer_4" >
<property name="orientation" >
<enum>Qt::Vertical</enum>
</property>
<property name="sizeType" >
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0" >
<size>
<width>20</width>
<height>6</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="Line" name="line_2" >
<property name="maximumSize" >
<size>
<width>400</width>
<height>16777215</height>
</size>
</property>
<property name="orientation" >
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item>
<layout class="QGridLayout" name="gridLayout_13" >
<property name="leftMargin" >
<number>2</number>
</property>
<property name="topMargin" >
<number>6</number>
</property>
<property name="spacing" > <property name="spacing" >
<number>0</number> <number>0</number>
</property> </property>
<property name="topMargin" > <item row="1" column="0" >
<number>4</number> <widget class="QLabel" name="label_20" >
</property> <property name="minimumSize" >
<item> <size>
<widget class="QLabel" name="optionsLabel" > <width>140</width>
<property name="text" > <height>0</height>
<string>&lt;h1>Welcome!&lt;/h1></string> </size>
</property> </property>
<property name="textInteractionFlags" > <property name="text" >
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse</set> <string>&lt;b>Session limit (mins):&lt;/b></string>
</property>
<property name="margin" >
<number>4</number>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item row="1" column="1" >
<spacer name="verticalSpacer_4" > <widget class="QLineEdit" name="minuteLimit" >
<property name="orientation" > <property name="sizePolicy" >
<enum>Qt::Vertical</enum> <sizepolicy vsizetype="Fixed" hsizetype="Expanding" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property> </property>
<property name="sizeType" > <property name="maximumSize" >
<enum>QSizePolicy::Fixed</enum> <size>
<width>50</width>
<height>16777215</height>
</size>
</property>
</widget>
</item>
<item row="0" column="0" >
<widget class="QLabel" name="label_22" >
<property name="minimumSize" >
<size>
<width>140</width>
<height>0</height>
</size>
</property>
<property name="text" >
<string>&lt;b>New cards per day:&lt;/b></string>
</property>
<property name="margin" >
<number>4</number>
</property>
</widget>
</item>
<item row="0" column="1" >
<widget class="QLineEdit" name="newPerDay" >
<property name="sizePolicy" >
<sizepolicy vsizetype="Fixed" hsizetype="Expanding" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize" >
<size>
<width>50</width>
<height>16777215</height>
</size>
</property>
</widget>
</item>
<item row="0" column="2" >
<spacer name="horizontalSpacer_3" >
<property name="orientation" >
<enum>Qt::Horizontal</enum>
</property> </property>
<property name="sizeHint" stdset="0" > <property name="sizeHint" stdset="0" >
<size> <size>
<width>20</width> <width>40</width>
<height>6</height> <height>20</height>
</size> </size>
</property> </property>
</spacer> </spacer>
</item> </item>
<item> <item row="2" column="1" >
<widget class="Line" name="line_2" > <widget class="QLineEdit" name="questionLimit" >
<property name="sizePolicy" >
<sizepolicy vsizetype="Fixed" hsizetype="Expanding" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize" > <property name="maximumSize" >
<size> <size>
<width>400</width> <width>50</width>
<height>16777215</height> <height>16777215</height>
</size> </size>
</property> </property>
<property name="orientation" > </widget>
<enum>Qt::Horizontal</enum> </item>
<item row="2" column="0" >
<widget class="QLabel" name="label" >
<property name="text" >
<string>&lt;b>Session limit (reps):</string>
</property>
<property name="margin" >
<number>4</number>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item row="3" column="0" >
<widget class="QGroupBox" name="groupBox" > <layout class="QHBoxLayout" name="horizontalLayout_2" >
<property name="title" > <property name="topMargin" >
<string/> <number>4</number>
</property> </property>
<property name="flat" >
<bool>true</bool>
</property>
<layout class="QVBoxLayout" name="verticalLayout_9" >
<property name="bottomMargin" >
<number>0</number>
</property>
<item>
<layout class="QGridLayout" name="gridLayout_13" >
<property name="leftMargin" >
<number>2</number>
</property>
<property name="spacing" >
<number>0</number>
</property>
<item row="1" column="0" >
<widget class="QLabel" name="label_20" >
<property name="minimumSize" >
<size>
<width>90</width>
<height>0</height>
</size>
</property>
<property name="text" >
<string>&lt;b>Minute limit:&lt;/b></string>
</property>
</widget>
</item>
<item row="1" column="2" >
<widget class="QLineEdit" name="minuteLimit" >
<property name="sizePolicy" >
<sizepolicy vsizetype="Fixed" hsizetype="Maximum" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize" >
<size>
<width>50</width>
<height>16777215</height>
</size>
</property>
</widget>
</item>
<item row="2" column="0" >
<widget class="QLabel" name="label_21" >
<property name="text" >
<string>&lt;b>Question limit:&lt;/b></string>
</property>
</widget>
</item>
<item row="2" column="2" >
<widget class="QLineEdit" name="questionLimit" >
<property name="sizePolicy" >
<sizepolicy vsizetype="Fixed" hsizetype="Preferred" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize" >
<size>
<width>50</width>
<height>16777215</height>
</size>
</property>
</widget>
</item>
<item row="1" column="3" >
<spacer name="horizontalSpacer_3" >
<property name="orientation" >
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0" >
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="0" column="0" >
<widget class="QLabel" name="label_22" >
<property name="minimumSize" >
<size>
<width>90</width>
<height>0</height>
</size>
</property>
<property name="text" >
<string>&lt;b>New per day:&lt;/b></string>
</property>
</widget>
</item>
<item row="0" column="2" >
<widget class="QLineEdit" name="newPerDay" >
<property name="sizePolicy" >
<sizepolicy vsizetype="Fixed" hsizetype="Preferred" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize" >
<size>
<width>50</width>
<height>16777215</height>
</size>
</property>
</widget>
</item>
<item row="0" column="1" >
<spacer name="horizontalSpacer_5" >
<property name="orientation" >
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType" >
<enum>QSizePolicy::Preferred</enum>
</property>
<property name="sizeHint" stdset="0" >
<size>
<width>10</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_2" >
<item>
<widget class="QPushButton" name="optionsButton" >
<property name="text" >
<string>More>></string>
</property>
<property name="checkable" >
<bool>true</bool>
</property>
<property name="checked" >
<bool>false</bool>
</property>
<property name="flat" >
<bool>false</bool>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="optionsHelpButton" >
<property name="text" >
<string>Help</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer" >
<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>
</layout>
</widget>
</item>
<item>
<layout class="QVBoxLayout" name="verticalLayout_12" >
<item> <item>
<widget class="QGroupBox" name="optionsBox" > <widget class="QPushButton" name="optionsButton" >
<property name="maximumSize" > <property name="text" >
<size> <string>More>></string>
<width>400</width>
<height>16777215</height>
</size>
</property> </property>
<property name="title" > <property name="checkable" >
<string/>
</property>
<property name="flat" >
<bool>true</bool> <bool>true</bool>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout_8" > <property name="checked" >
<property name="topMargin" > <bool>false</bool>
<number>0</number> </property>
</property> <property name="flat" >
<item> <bool>false</bool>
<widget class="QComboBox" name="newCardOrder" > </property>
<property name="maximumSize" >
<size>
<width>400</width>
<height>16777215</height>
</size>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="newCardScheduling" >
<property name="maximumSize" >
<size>
<width>400</width>
<height>16777215</height>
</size>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="revCardOrder" >
<property name="maximumSize" >
<size>
<width>400</width>
<height>16777215</height>
</size>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="delayLapsedCards" >
<property name="text" >
<string>Show failed cards last</string>
</property>
</widget>
</item>
</layout>
</widget> </widget>
</item> </item>
<item> <item>
<spacer name="verticalSpacer_3" > <widget class="QPushButton" name="optionsHelpButton" >
<property name="text" >
<string>Help</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer" >
<property name="orientation" > <property name="orientation" >
<enum>Qt::Vertical</enum> <enum>Qt::Horizontal</enum>
</property> </property>
<property name="sizeHint" stdset="0" > <property name="sizeHint" stdset="0" >
<size> <size>
<width>20</width> <width>40</width>
<height>40</height> <height>20</height>
</size> </size>
</property> </property>
</spacer> </spacer>
@ -514,20 +422,98 @@
</layout> </layout>
</item> </item>
<item> <item>
<spacer name="horizontalSpacer_4" > <layout class="QVBoxLayout" name="verticalLayout_12" >
<property name="orientation" > <item>
<enum>Qt::Horizontal</enum> <widget class="QWidget" native="1" name="optionsBox" >
</property> <layout class="QVBoxLayout" name="verticalLayout_7" >
<property name="sizeHint" stdset="0" > <property name="spacing" >
<size> <number>4</number>
<width>40</width> </property>
<height>20</height> <property name="leftMargin" >
</size> <number>2</number>
</property> </property>
</spacer> <property name="topMargin" >
<number>4</number>
</property>
<property name="rightMargin" >
<number>0</number>
</property>
<property name="bottomMargin" >
<number>0</number>
</property>
<item>
<widget class="QComboBox" name="newCardOrder" >
<property name="minimumSize" >
<size>
<width>250</width>
<height>0</height>
</size>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="newCardScheduling" >
<property name="maximumSize" >
<size>
<width>400</width>
<height>16777215</height>
</size>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="revCardOrder" >
<property name="maximumSize" >
<size>
<width>400</width>
<height>16777215</height>
</size>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="delayLapsedCards" >
<property name="text" >
<string>Show failed cards last</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<spacer name="verticalSpacer_3" >
<property name="orientation" >
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0" >
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</item> </item>
</layout> </layout>
</item> </item>
<item row="0" column="1" >
<spacer name="horizontalSpacer_4" >
<property name="orientation" >
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType" >
<enum>QSizePolicy::Expanding</enum>
</property>
<property name="sizeHint" stdset="0" >
<size>
<width>1000</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout> </layout>
</widget> </widget>
</widget> </widget>
@ -542,8 +528,8 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>277</width> <width>284</width>
<height>72</height> <height>89</height>
</rect> </rect>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout" > <layout class="QVBoxLayout" name="verticalLayout" >
@ -583,8 +569,8 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>277</width> <width>284</width>
<height>72</height> <height>89</height>
</rect> </rect>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout_3" > <layout class="QVBoxLayout" name="verticalLayout_3" >
@ -746,8 +732,8 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>277</width> <width>284</width>
<height>72</height> <height>89</height>
</rect> </rect>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout_4" > <layout class="QVBoxLayout" name="verticalLayout_4" >
@ -781,8 +767,8 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>277</width> <width>284</width>
<height>72</height> <height>89</height>
</rect> </rect>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout_6" > <layout class="QVBoxLayout" name="verticalLayout_6" >
@ -823,8 +809,8 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>277</width> <width>284</width>
<height>72</height> <height>89</height>
</rect> </rect>
</property> </property>
<layout class="QVBoxLayout" name="typeAnswerLayout" > <layout class="QVBoxLayout" name="typeAnswerLayout" >
@ -851,8 +837,8 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>277</width> <width>284</width>
<height>72</height> <height>79</height>
</rect> </rect>
</property> </property>
</widget> </widget>
@ -894,15 +880,6 @@
<property name="palette" > <property name="palette" >
<palette> <palette>
<active> <active>
<colorrole role="Base" >
<brush brushstyle="SolidPattern" >
<color alpha="255" >
<red>255</red>
<green>255</green>
<blue>255</blue>
</color>
</brush>
</colorrole>
<colorrole role="Window" > <colorrole role="Window" >
<brush brushstyle="SolidPattern" > <brush brushstyle="SolidPattern" >
<color alpha="255" > <color alpha="255" >
@ -914,15 +891,6 @@
</colorrole> </colorrole>
</active> </active>
<inactive> <inactive>
<colorrole role="Base" >
<brush brushstyle="SolidPattern" >
<color alpha="255" >
<red>255</red>
<green>255</green>
<blue>255</blue>
</color>
</brush>
</colorrole>
<colorrole role="Window" > <colorrole role="Window" >
<brush brushstyle="SolidPattern" > <brush brushstyle="SolidPattern" >
<color alpha="255" > <color alpha="255" >
@ -934,15 +902,6 @@
</colorrole> </colorrole>
</inactive> </inactive>
<disabled> <disabled>
<colorrole role="Base" >
<brush brushstyle="SolidPattern" >
<color alpha="255" >
<red>255</red>
<green>250</green>
<blue>230</blue>
</color>
</brush>
</colorrole>
<colorrole role="Window" > <colorrole role="Window" >
<brush brushstyle="SolidPattern" > <brush brushstyle="SolidPattern" >
<color alpha="255" > <color alpha="255" >
@ -991,6 +950,15 @@
<property name="palette" > <property name="palette" >
<palette> <palette>
<active> <active>
<colorrole role="Text" >
<brush brushstyle="SolidPattern" >
<color alpha="255" >
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
<colorrole role="Base" > <colorrole role="Base" >
<brush brushstyle="SolidPattern" > <brush brushstyle="SolidPattern" >
<color alpha="255" > <color alpha="255" >
@ -1002,6 +970,15 @@
</colorrole> </colorrole>
</active> </active>
<inactive> <inactive>
<colorrole role="Text" >
<brush brushstyle="SolidPattern" >
<color alpha="255" >
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
<colorrole role="Base" > <colorrole role="Base" >
<brush brushstyle="SolidPattern" > <brush brushstyle="SolidPattern" >
<color alpha="255" > <color alpha="255" >
@ -1013,6 +990,15 @@
</colorrole> </colorrole>
</inactive> </inactive>
<disabled> <disabled>
<colorrole role="Text" >
<brush brushstyle="SolidPattern" >
<color alpha="255" >
<red>165</red>
<green>164</green>
<blue>164</blue>
</color>
</brush>
</colorrole>
<colorrole role="Base" > <colorrole role="Base" >
<brush brushstyle="SolidPattern" > <brush brushstyle="SolidPattern" >
<color alpha="255" > <color alpha="255" >
@ -1049,7 +1035,7 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>562</width> <width>569</width>
<height>23</height> <height>23</height>
</rect> </rect>
</property> </property>
@ -1197,8 +1183,8 @@
<property name="geometry" > <property name="geometry" >
<rect> <rect>
<x>0</x> <x>0</x>
<y>449</y> <y>434</y>
<width>562</width> <width>569</width>
<height>20</height> <height>20</height>
</rect> </rect>
</property> </property>
@ -1211,7 +1197,7 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>23</y> <y>23</y>
<width>562</width> <width>569</width>
<height>46</height> <height>46</height>
</rect> </rect>
</property> </property>
@ -1792,10 +1778,6 @@
</action> </action>
</widget> </widget>
<tabstops> <tabstops>
<tabstop>easeButton1</tabstop>
<tabstop>easeButton2</tabstop>
<tabstop>easeButton3</tabstop>
<tabstop>easeButton4</tabstop>
<tabstop>newPerDay</tabstop> <tabstop>newPerDay</tabstop>
<tabstop>minuteLimit</tabstop> <tabstop>minuteLimit</tabstop>
<tabstop>questionLimit</tabstop> <tabstop>questionLimit</tabstop>
@ -1805,6 +1787,10 @@
<tabstop>newCardScheduling</tabstop> <tabstop>newCardScheduling</tabstop>
<tabstop>revCardOrder</tabstop> <tabstop>revCardOrder</tabstop>
<tabstop>delayLapsedCards</tabstop> <tabstop>delayLapsedCards</tabstop>
<tabstop>easeButton1</tabstop>
<tabstop>easeButton2</tabstop>
<tabstop>easeButton3</tabstop>
<tabstop>easeButton4</tabstop>
<tabstop>startReviewingButton</tabstop> <tabstop>startReviewingButton</tabstop>
<tabstop>showAnswerButton</tabstop> <tabstop>showAnswerButton</tabstop>
<tabstop>help</tabstop> <tabstop>help</tabstop>
@ -1822,12 +1808,12 @@
<slot>setShown(bool)</slot> <slot>setShown(bool)</slot>
<hints> <hints>
<hint type="sourcelabel" > <hint type="sourcelabel" >
<x>87</x> <x>54</x>
<y>219</y> <y>202</y>
</hint> </hint>
<hint type="destinationlabel" > <hint type="destinationlabel" >
<x>211</x> <x>53</x>
<y>344</y> <y>250</y>
</hint> </hint>
</hints> </hints>
</connection> </connection>

View file

@ -5,8 +5,8 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>322</width> <width>320</width>
<height>417</height> <height>399</height>
</rect> </rect>
</property> </property>
<property name="windowTitle" > <property name="windowTitle" >
@ -26,8 +26,8 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>306</width> <width>304</width>
<height>351</height> <height>333</height>
</rect> </rect>
</property> </property>
<attribute name="title" > <attribute name="title" >
@ -38,129 +38,43 @@
<number>6</number> <number>6</number>
</property> </property>
<item> <item>
<layout class="QVBoxLayout" > <widget class="QLabel" name="label" >
<property name="spacing" > <property name="text" >
<number>6</number> <string>&lt;h1>Language&lt;/h1></string>
</property> </property>
<property name="margin" > <property name="wordWrap" >
<number>0</number> <bool>false</bool>
</property> </property>
<item> </widget>
<widget class="QLabel" name="label" > </item>
<property name="text" > <item>
<string>&lt;h1>Language&lt;/h1></string> <widget class="QComboBox" name="interfaceLang" >
</property> <property name="minimumSize" >
<property name="wordWrap" > <size>
<bool>false</bool> <width>300</width>
</property> <height>0</height>
</widget> </size>
</item> </property>
<item> </widget>
<widget class="QComboBox" name="interfaceLang" > </item>
<property name="minimumSize" > <item>
<size> <widget class="QLabel" name="label_2" >
<width>300</width> <property name="sizePolicy" >
<height>0</height> <sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
</size> <horstretch>0</horstretch>
</property> <verstretch>0</verstretch>
</widget> </sizepolicy>
</item> </property>
<item> <property name="focusPolicy" >
<widget class="QLabel" name="label_2" > <enum>Qt::TabFocus</enum>
<property name="sizePolicy" > </property>
<sizepolicy vsizetype="Fixed" hsizetype="Fixed" > <property name="text" >
<horstretch>0</horstretch> <string>&lt;h1>Reviewing&lt;/h1></string>
<verstretch>0</verstretch> </property>
</sizepolicy> <property name="wordWrap" >
</property> <bool>false</bool>
<property name="focusPolicy" > </property>
<enum>Qt::TabFocus</enum> </widget>
</property>
<property name="text" >
<string>&lt;h1>Main Window&lt;/h1></string>
</property>
<property name="wordWrap" >
<bool>false</bool>
</property>
</widget>
</item>
<item>
<layout class="QGridLayout" >
<property name="margin" >
<number>0</number>
</property>
<property name="spacing" >
<number>6</number>
</property>
<item row="0" column="0" >
<widget class="QLabel" name="label_8" >
<property name="text" >
<string>Interface font</string>
</property>
</widget>
</item>
<item row="1" column="0" >
<widget class="QLabel" name="label_13" >
<property name="text" >
<string>Interface colour</string>
</property>
</widget>
</item>
<item row="1" column="1" >
<widget class="QPushButton" name="interfaceColour" >
<property name="text" >
<string/>
</property>
</widget>
</item>
<item row="2" column="0" >
<widget class="QLabel" name="label_15" >
<property name="text" >
<string>Background colour</string>
</property>
</widget>
</item>
<item row="2" column="1" >
<widget class="QPushButton" name="backgroundColour" >
<property name="text" >
<string/>
</property>
</widget>
</item>
<item row="0" column="1" >
<layout class="QHBoxLayout" name="horizontalLayout_2" >
<item>
<widget class="QFontComboBox" name="interfaceFamily" >
<property name="maximumSize" >
<size>
<width>140</width>
<height>16777215</height>
</size>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="interfaceSize" >
<property name="maximum" >
<number>300</number>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</item>
<item>
<layout class="QGridLayout" >
<property name="margin" >
<number>0</number>
</property>
<property name="spacing" >
<number>6</number>
</property>
</layout>
</item>
</layout>
</item> </item>
<item> <item>
<widget class="QCheckBox" name="showDivider" > <widget class="QCheckBox" name="showDivider" >
@ -183,13 +97,6 @@
</property> </property>
</widget> </widget>
</item> </item>
<item>
<widget class="QCheckBox" name="showStudyOptions" >
<property name="text" >
<string>Show study options on startup</string>
</property>
</widget>
</item>
<item> <item>
<spacer name="verticalSpacer" > <spacer name="verticalSpacer" >
<property name="orientation" > <property name="orientation" >
@ -210,8 +117,8 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>306</width> <width>304</width>
<height>351</height> <height>333</height>
</rect> </rect>
</property> </property>
<attribute name="title" > <attribute name="title" >
@ -398,8 +305,8 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>306</width> <width>304</width>
<height>351</height> <height>333</height>
</rect> </rect>
</property> </property>
<attribute name="title" > <attribute name="title" >
@ -408,38 +315,38 @@
<layout class="QVBoxLayout" > <layout class="QVBoxLayout" >
<item> <item>
<layout class="QGridLayout" > <layout class="QGridLayout" >
<item row="3" column="0" >
<widget class="QCheckBox" name="simpleToolbar" >
<property name="text" >
<string>Simple toolbar</string>
</property>
</widget>
</item>
<item row="2" column="0" > <item row="2" column="0" >
<widget class="QLabel" name="label_6" > <widget class="QLabel" name="label_6" >
<property name="text" > <property name="text" >
<string>&lt;h1>Advanced settings&lt;/h1></string> <string>&lt;h1>Advanced settings&lt;/h1>Some settings require a restart.</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="4" column="0" > <item row="5" column="0" >
<widget class="QCheckBox" name="showTimer" > <widget class="QCheckBox" name="showTimer" >
<property name="text" > <property name="text" >
<string>Show timer</string> <string>Show timer</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="5" column="0" > <item row="8" column="0" >
<widget class="QCheckBox" name="showLastCardContent" > <widget class="QCheckBox" name="showTray" >
<property name="text" > <property name="text" >
<string>Show last card's question/answer</string> <string>Show tray icon</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="6" column="0" > <item row="9" column="0" >
<widget class="QCheckBox" name="showLastCardInterval" > <widget class="QCheckBox" name="scrollToAnswer" >
<property name="text" > <property name="text" >
<string>Show last card's interval</string> <string>Scroll down to the answer when showing answer</string>
</property>
</widget>
</item>
<item row="10" column="0" >
<widget class="QCheckBox" name="addZeroSpace" >
<property name="text" >
<string>Add hidden char to text (fixes Thai on OSX)</string>
</property> </property>
</widget> </widget>
</item> </item>
@ -450,68 +357,36 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="8" column="0" > <item row="3" column="0" >
<widget class="QCheckBox" name="tallButtons" > <spacer name="verticalSpacer_3" >
<property name="text" > <property name="orientation" >
<string>Tall buttons (for touchscreen)</string> <enum>Qt::Vertical</enum>
</property> </property>
</widget> <property name="sizeType" >
</item> <enum>QSizePolicy::Fixed</enum>
<item row="9" column="0" >
<widget class="QCheckBox" name="showTray" >
<property name="text" >
<string>Show tray icon</string>
</property> </property>
</widget> <property name="sizeHint" stdset="0" >
</item> <size>
<item row="10" column="0" > <width>20</width>
<widget class="QCheckBox" name="scrollToAnswer" > <height>10</height>
<property name="text" > </size>
<string>Scroll down to the answer when showing answer</string>
</property> </property>
</widget> </spacer>
</item> </item>
<item row="11" column="0" > <item row="4" 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="12" column="0" >
<widget class="QCheckBox" name="alternativeTheme" > <widget class="QCheckBox" name="alternativeTheme" >
<property name="text" > <property name="text" >
<string>Alternative theme</string> <string>Alternative theme</string>
</property> </property>
</widget> </widget>
</item> </item>
</layout> <item row="6" column="0" >
</item> <widget class="QCheckBox" name="showStudyOptions" >
<item>
<layout class="QHBoxLayout" name="horizontalLayout" >
<item>
<widget class="QLabel" name="label_11" >
<property name="text" > <property name="text" >
<string>Toolbar icon size</string> <string>Show study options on startup</string>
</property> </property>
</widget> </widget>
</item> </item>
<item>
<spacer name="horizontalSpacer" >
<property name="orientation" >
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0" >
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QLineEdit" name="toolbarIconSize" />
</item>
</layout> </layout>
</item> </item>
<item> <item>
@ -547,14 +422,9 @@
<tabstop>tabWidget</tabstop> <tabstop>tabWidget</tabstop>
<tabstop>interfaceLang</tabstop> <tabstop>interfaceLang</tabstop>
<tabstop>label_2</tabstop> <tabstop>label_2</tabstop>
<tabstop>interfaceFamily</tabstop>
<tabstop>interfaceSize</tabstop>
<tabstop>interfaceColour</tabstop>
<tabstop>backgroundColour</tabstop>
<tabstop>showDivider</tabstop> <tabstop>showDivider</tabstop>
<tabstop>splitQA</tabstop> <tabstop>splitQA</tabstop>
<tabstop>showEstimates</tabstop> <tabstop>showEstimates</tabstop>
<tabstop>showStudyOptions</tabstop>
<tabstop>saveWhenClosing</tabstop> <tabstop>saveWhenClosing</tabstop>
<tabstop>saveAfterEvery</tabstop> <tabstop>saveAfterEvery</tabstop>
<tabstop>saveAfterEveryNum</tabstop> <tabstop>saveAfterEveryNum</tabstop>
@ -564,17 +434,13 @@
<tabstop>syncPass</tabstop> <tabstop>syncPass</tabstop>
<tabstop>syncOnOpen</tabstop> <tabstop>syncOnOpen</tabstop>
<tabstop>syncOnClose</tabstop> <tabstop>syncOnClose</tabstop>
<tabstop>simpleToolbar</tabstop> <tabstop>alternativeTheme</tabstop>
<tabstop>showTimer</tabstop> <tabstop>showTimer</tabstop>
<tabstop>showLastCardContent</tabstop> <tabstop>showStudyOptions</tabstop>
<tabstop>showLastCardInterval</tabstop>
<tabstop>showToolbar</tabstop> <tabstop>showToolbar</tabstop>
<tabstop>tallButtons</tabstop>
<tabstop>showTray</tabstop> <tabstop>showTray</tabstop>
<tabstop>scrollToAnswer</tabstop> <tabstop>scrollToAnswer</tabstop>
<tabstop>addZeroSpace</tabstop> <tabstop>addZeroSpace</tabstop>
<tabstop>alternativeTheme</tabstop>
<tabstop>toolbarIconSize</tabstop>
<tabstop>buttonBox</tabstop> <tabstop>buttonBox</tabstop>
</tabstops> </tabstops>
<resources/> <resources/>