diff --git a/ankiqt/ui/facteditor.py b/ankiqt/ui/facteditor.py
index 84d23846a..8c79570e6 100644
--- a/ankiqt/ui/facteditor.py
+++ b/ankiqt/ui/facteditor.py
@@ -188,6 +188,17 @@ class FactEditor(object):
self.latexMathEnv.setEnabled(False)
self.iconsBox.addWidget(self.latexMathEnv)
self.latexMathEnv.setStyle(self.plastiqueStyle)
+ # html
+ self.htmlEdit = QPushButton(self.widget)
+ self.htmlEdit.connect(self.htmlEdit, SIGNAL("clicked()"),
+ self.onHtmlEdit)
+ self.htmlEdit.setToolTip(_("HTML Editor (F9)"))
+ self.htmlEdit.setShortcut(_("F9"))
+ self.htmlEdit.setIcon(QIcon(":/icons/text-xml.png"))
+ self.htmlEdit.setFocusPolicy(Qt.NoFocus)
+ self.htmlEdit.setEnabled(False)
+ self.iconsBox.addWidget(self.htmlEdit)
+ self.htmlEdit.setStyle(self.plastiqueStyle)
self.fieldsFrame = None
self.widget.setLayout(self.fieldsBox)
@@ -384,6 +395,7 @@ class FactEditor(object):
self.latexEqn.setEnabled(val)
self.latexMathEnv.setEnabled(val)
self.preview.setEnabled(val)
+ self.htmlEdit.setEnabled(val)
def disableButtons(self):
self.enableButtons(False)
@@ -458,6 +470,24 @@ class FactEditor(object):
def onPreview(self):
PreviewDialog(self.parent, self.deck, self.fact).exec_()
+ def onHtmlEdit(self):
+ def helpRequested():
+ QDesktopServices.openUrl(QUrl(ankiqt.appWiki +
+ "HtmlEditor"))
+ w = self.focusedEdit()
+ if w:
+ self.saveFields()
+ d = QDialog(self.parent)
+ form = ankiqt.forms.edithtml.Ui_Dialog()
+ form.setupUi(d)
+ d.connect(form.buttonBox, SIGNAL("helpRequested()"),
+ helpRequested)
+ form.textEdit.setPlainText(self.widgets[w].value)
+ form.textEdit.moveCursor(QTextCursor.End)
+ d.exec_()
+ self.widgets[w].value = unicode(form.textEdit.toPlainText())
+ self.loadFields()
+
def fieldsAreBlank(self):
for (field, widget) in self.fields.values():
value = tidyHTML(unicode(widget.toHtml()))
diff --git a/designer/edithtml.ui b/designer/edithtml.ui
new file mode 100644
index 000000000..5586ec2f9
--- /dev/null
+++ b/designer/edithtml.ui
@@ -0,0 +1,70 @@
+
+ Dialog
+
+
+
+ 0
+ 0
+ 400
+ 300
+
+
+
+ HTML Editor
+
+
+ -
+
+
+ false
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+ QDialogButtonBox::Close|QDialogButtonBox::Help
+
+
+
+
+
+
+
+
+ buttonBox
+ accepted()
+ Dialog
+ accept()
+
+
+ 248
+ 254
+
+
+ 157
+ 274
+
+
+
+
+ buttonBox
+ rejected()
+ Dialog
+ reject()
+
+
+ 316
+ 260
+
+
+ 286
+ 274
+
+
+
+
+
diff --git a/icons.qrc b/icons.qrc
index 01d6940eb..45add1611 100644
--- a/icons.qrc
+++ b/icons.qrc
@@ -1,5 +1,6 @@
+ icons/text-xml.png
icons/document-preview.png
icons/media-record.png
icons/edit-rename.png
diff --git a/icons/text-xml.png b/icons/text-xml.png
new file mode 100644
index 000000000..2f3bdb731
Binary files /dev/null and b/icons/text-xml.png differ