add new css field to clayout

This commit is contained in:
Damien Elmes 2011-12-17 17:25:31 +09:00
parent 72a01c0b90
commit 1b3e956d5f
5 changed files with 175 additions and 39 deletions

View file

@ -1,3 +1,4 @@
# -*- coding: utf-8 -*-
# Copyright: Damien Elmes <anki@ichi2.net>
# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
@ -73,7 +74,12 @@ class CardLayout(QDialog):
# template area
tform = aqt.forms.template.Ui_Form()
tform.setupUi(left)
tform.label1.setText(u"")
tform.label2.setText(u"")
tform.labelc1.setText(u"")
tform.labelc2.setText(u"")
c(tform.front, SIGNAL("textChanged()"), self.saveCard)
c(tform.css, SIGNAL("textChanged()"), self.saveCard)
c(tform.back, SIGNAL("textChanged()"), self.saveCard)
l.addWidget(left, 5)
# preview area
@ -144,6 +150,7 @@ Please create a new card first."""))
t = self.card.template()
self.redrawing = True
self.tab['tform'].front.setPlainText(t['qfmt'])
self.tab['tform'].css.setPlainText(t['css'])
self.tab['tform'].back.setPlainText(t['afmt'])
self.redrawing = False
@ -152,6 +159,8 @@ Please create a new card first."""))
return
text = self.tab['tform'].front.toPlainText()
self.card.template()['qfmt'] = text
text = self.tab['tform'].css.toPlainText()
self.card.template()['css'] = text
text = self.tab['tform'].back.toPlainText()
self.card.template()['afmt'] = text
self.renderPreview()
@ -161,15 +170,14 @@ Please create a new card first."""))
def renderPreview(self):
c = self.card
styles = "\n.cloze { font-weight: bold; color: blue; }"
html = '''<html><head>%s</head><body class=card>
<style>%s</style>%s</body></html>'''
ti = self.maybeTextInput
base = getBase(self.mw.col)
self.tab['pform'].front.setHtml(
html % (base, styles, ti(mungeQA(c.q(reload=True)))))
html % (base, "", ti(mungeQA(c.q(reload=True)))))
self.tab['pform'].back.setHtml(
html % (base, styles, ti(mungeQA(c.a()), 'a')))
html % (base, "", ti(mungeQA(c.a()), 'a')))
def maybeTextInput(self, txt, type='q'):
if type == 'q':

View file

@ -564,7 +564,7 @@ class Editor(object):
def onCloze(self):
# check that the model is set up for cloze deletion
if 'cloze' not in self.note.model()['tmpls'][0]['qfmt']:
showInfo(_("Please select the cloze deletion note type first."),
showInfo(_("Cloze deletion requires a Cloze note type."),
help="ClozeDeletion")
return
f = self.note.fields[self.currentField]
@ -643,6 +643,7 @@ class Editor(object):
spc = QSpacerItem(5,10, QSizePolicy.Fixed)
g.addItem(spc, n+1, 0)
cb = QPushButton(_("+"))
cb.setShortcut(QKeySequence("F5"))
cb.connect(cb, SIGNAL("clicked()"), self.onNewColour)
cb.setFixedWidth(80)
cb.setFixedHeight(16)

View file

@ -90,7 +90,7 @@ function _updateQA (q, answerMode) {
typeans.focus();
}
if (answerMode) {
window.location = "#answerStart";
window.location = "#answer";
}
};
function _getTypedText () {
@ -213,7 +213,6 @@ function _typeAnsPress() {
_css = """
hr { background-color:#ccc; margin: 1em; }
body { margin:1.5em; }
.cloze { font-weight: bold; color: blue; }
img { max-width: 95%; max-height: 95%; }
"""

View file

@ -11,7 +11,7 @@
</rect>
</property>
<property name="windowTitle">
<string>Add Model</string>
<string>Add Note Type</string>
</property>
<layout class="QVBoxLayout">
<item>

View file

@ -6,8 +6,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>279</width>
<height>251</height>
<width>470</width>
<height>569</height>
</rect>
</property>
<property name="sizePolicy">
@ -19,45 +19,173 @@
<property name="windowTitle">
<string>Form</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_3">
<layout class="QVBoxLayout" name="verticalLayout_5">
<property name="spacing">
<number>0</number>
</property>
<property name="margin">
<number>0</number>
</property>
<item>
<widget class="QGroupBox" name="groupBox">
<property name="title">
<string>Front Template</string>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<property name="spacing">
<number>0</number>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2">
<property name="margin">
<number>0</number>
</property>
<item>
<widget class="QTextEdit" name="front"/>
</item>
</layout>
</widget>
<item>
<widget class="QGroupBox" name="groupBox">
<property name="title">
<string>Front Template</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2">
<property name="spacing">
<number>0</number>
</property>
<property name="margin">
<number>0</number>
</property>
<item>
<widget class="QTextEdit" name="front"/>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QLabel" name="label1">
<property name="text">
<string/>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QGroupBox" name="groupBox_2">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
<horstretch>10</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
<layout class="QHBoxLayout" name="horizontalLayout">
<property name="spacing">
<number>0</number>
</property>
<property name="title">
<string>Back Template</string>
<item>
<widget class="QGroupBox" name="groupBox_3">
<property name="title">
<string>Appearance</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_3">
<property name="spacing">
<number>0</number>
</property>
<property name="margin">
<number>0</number>
</property>
<item>
<widget class="QTextEdit" name="css"/>
</item>
</layout>
</widget>
</item>
<item>
<layout class="QVBoxLayout" name="verticalLayout_4">
<property name="spacing">
<number>0</number>
</property>
<item>
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Preferred</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>1</width>
<height>15</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QLabel" name="labelc1">
<property name="text">
<string/>
</property>
</widget>
</item>
<item>
<spacer name="verticalSpacer_2">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>1</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QLabel" name="labelc2">
<property name="text">
<string/>
</property>
</widget>
</item>
<item>
<spacer name="verticalSpacer_3">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Preferred</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>1</width>
<height>10</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_3">
<property name="spacing">
<number>0</number>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<property name="margin">
<number>0</number>
</property>
<item>
<widget class="QTextEdit" name="back"/>
</item>
</layout>
</widget>
<item>
<widget class="QGroupBox" name="groupBox_2">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
<horstretch>10</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="title">
<string>Back Template</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<property name="spacing">
<number>0</number>
</property>
<property name="margin">
<number>0</number>
</property>
<item>
<widget class="QTextEdit" name="back"/>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QLabel" name="label2">
<property name="text">
<string/>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>