mirror of
https://github.com/ankitects/anki.git
synced 2025-11-11 07:07:13 -05:00
hideable icons in fact editor
This commit is contained in:
parent
d2e74183b0
commit
20d45e0134
2 changed files with 69 additions and 30 deletions
|
|
@ -82,6 +82,7 @@ class Config(dict):
|
||||||
'editorReverseOrder': False,
|
'editorReverseOrder': False,
|
||||||
'editFontFamily': 'Arial',
|
'editFontFamily': 'Arial',
|
||||||
'editFontSize': 12,
|
'editFontSize': 12,
|
||||||
|
'factEditorAdvanced': False,
|
||||||
}
|
}
|
||||||
for (k,v) in fields.items():
|
for (k,v) in fields.items():
|
||||||
if not self.has_key(k):
|
if not self.has_key(k):
|
||||||
|
|
|
||||||
|
|
@ -79,7 +79,9 @@ class FactEditor(object):
|
||||||
self.fieldsBox.setSpacing(3)
|
self.fieldsBox.setSpacing(3)
|
||||||
# icons
|
# icons
|
||||||
self.iconsBox = QHBoxLayout()
|
self.iconsBox = QHBoxLayout()
|
||||||
|
self.iconsBox2 = QHBoxLayout()
|
||||||
self.fieldsBox.addLayout(self.iconsBox)
|
self.fieldsBox.addLayout(self.iconsBox)
|
||||||
|
self.fieldsBox.addLayout(self.iconsBox2)
|
||||||
# scrollarea
|
# scrollarea
|
||||||
self.fieldsScroll = QScrollArea()
|
self.fieldsScroll = QScrollArea()
|
||||||
self.fieldsScroll.setWidgetResizable(True)
|
self.fieldsScroll.setWidgetResizable(True)
|
||||||
|
|
@ -88,7 +90,10 @@ class FactEditor(object):
|
||||||
self.fieldsScroll.setFocusPolicy(Qt.NoFocus)
|
self.fieldsScroll.setFocusPolicy(Qt.NoFocus)
|
||||||
self.fieldsBox.addWidget(self.fieldsScroll)
|
self.fieldsBox.addWidget(self.fieldsScroll)
|
||||||
self.iconsBox.setMargin(0)
|
self.iconsBox.setMargin(0)
|
||||||
self.iconsBox.addItem(QSpacerItem(20,20, QSizePolicy.Expanding))
|
self.iconsBox.addItem(QSpacerItem(20,1, QSizePolicy.Expanding))
|
||||||
|
self.iconsBox2.setMargin(0)
|
||||||
|
self.iconsBox2.setMargin(0)
|
||||||
|
self.iconsBox2.addItem(QSpacerItem(20,1, QSizePolicy.Expanding))
|
||||||
# button styles for mac
|
# button styles for mac
|
||||||
self.plastiqueStyle = QStyleFactory.create("plastique")
|
self.plastiqueStyle = QStyleFactory.create("plastique")
|
||||||
self.widget.setStyle(self.plastiqueStyle)
|
self.widget.setStyle(self.plastiqueStyle)
|
||||||
|
|
@ -137,23 +142,12 @@ class FactEditor(object):
|
||||||
self.foregroundFrame.setAutoFillBackground(True)
|
self.foregroundFrame.setAutoFillBackground(True)
|
||||||
hbox = QHBoxLayout()
|
hbox = QHBoxLayout()
|
||||||
hbox.addWidget(self.foregroundFrame)
|
hbox.addWidget(self.foregroundFrame)
|
||||||
hbox.setMargin(1)
|
hbox.setMargin(5)
|
||||||
self.foreground.setLayout(hbox)
|
self.foreground.setLayout(hbox)
|
||||||
self.iconsBox.addWidget(self.foreground)
|
self.iconsBox.addWidget(self.foreground)
|
||||||
self.foreground.setStyle(self.plastiqueStyle)
|
self.foreground.setStyle(self.plastiqueStyle)
|
||||||
# preview
|
|
||||||
self.preview = QPushButton(self.widget)
|
|
||||||
self.preview.connect(self.preview, SIGNAL("clicked()"),
|
|
||||||
self.onPreview)
|
|
||||||
self.preview.setToolTip(_("Preview (F2)"))
|
|
||||||
self.preview.setShortcut(_("F2"))
|
|
||||||
self.preview.setIcon(QIcon(":/icons/document-preview.png"))
|
|
||||||
self.preview.setFocusPolicy(Qt.NoFocus)
|
|
||||||
self.preview.setEnabled(False)
|
|
||||||
self.iconsBox.addWidget(self.preview)
|
|
||||||
self.preview.setStyle(self.plastiqueStyle)
|
|
||||||
# pictures
|
# pictures
|
||||||
spc = QSpacerItem(10,10)
|
spc = QSpacerItem(5,5)
|
||||||
self.iconsBox.addItem(spc)
|
self.iconsBox.addItem(spc)
|
||||||
self.addPicture = QPushButton(self.widget)
|
self.addPicture = QPushButton(self.widget)
|
||||||
self.addPicture.connect(self.addPicture, SIGNAL("clicked()"), self.onAddPicture)
|
self.addPicture.connect(self.addPicture, SIGNAL("clicked()"), self.onAddPicture)
|
||||||
|
|
@ -184,53 +178,86 @@ class FactEditor(object):
|
||||||
self.recSound.setToolTip(_("Record audio (F5)"))
|
self.recSound.setToolTip(_("Record audio (F5)"))
|
||||||
self.iconsBox.addWidget(self.recSound)
|
self.iconsBox.addWidget(self.recSound)
|
||||||
self.recSound.setStyle(self.plastiqueStyle)
|
self.recSound.setStyle(self.plastiqueStyle)
|
||||||
|
# more
|
||||||
|
self.more = QPushButton(self.widget)
|
||||||
|
self.more.connect(self.more, SIGNAL("clicked()"),
|
||||||
|
self.onMore)
|
||||||
|
self.more.setToolTip(_("Show advanced options"))
|
||||||
|
self.more.setText(">>")
|
||||||
|
self.more.setFocusPolicy(Qt.NoFocus)
|
||||||
|
self.more.setEnabled(False)
|
||||||
|
self.more.setFixedWidth(30)
|
||||||
|
self.iconsBox.addWidget(self.more)
|
||||||
|
self.more.setStyle(self.plastiqueStyle)
|
||||||
|
# preview
|
||||||
|
spc = QSpacerItem(5,5)
|
||||||
|
self.iconsBox2.addItem(spc)
|
||||||
|
self.preview = QPushButton(self.widget)
|
||||||
|
self.previewSC = QShortcut(QKeySequence(_("F2")), self.widget)
|
||||||
|
self.preview.connect(self.preview, SIGNAL("clicked()"),
|
||||||
|
self.onPreview)
|
||||||
|
self.preview.connect(self.previewSC, SIGNAL("activated()"),
|
||||||
|
self.onPreview)
|
||||||
|
self.preview.setToolTip(_("Preview (F2)"))
|
||||||
|
self.preview.setIcon(QIcon(":/icons/document-preview.png"))
|
||||||
|
self.preview.setFocusPolicy(Qt.NoFocus)
|
||||||
|
self.preview.setEnabled(False)
|
||||||
|
self.iconsBox2.addWidget(self.preview)
|
||||||
|
self.preview.setStyle(self.plastiqueStyle)
|
||||||
# latex
|
# latex
|
||||||
spc = QSpacerItem(10,10)
|
|
||||||
self.iconsBox.addItem(spc)
|
|
||||||
self.latex = QPushButton(self.widget)
|
self.latex = QPushButton(self.widget)
|
||||||
self.latex.connect(self.latex, SIGNAL("clicked()"), self.insertLatex)
|
|
||||||
self.latex.setToolTip(_("Latex (Ctrl+l, l)"))
|
self.latex.setToolTip(_("Latex (Ctrl+l, l)"))
|
||||||
self.latex.setShortcut(_("Ctrl+l, l"))
|
self.latexSC = QShortcut(QKeySequence(_("Ctrl+l, l")), self.widget)
|
||||||
|
self.latex.connect(self.latex, SIGNAL("clicked()"), self.insertLatex)
|
||||||
|
self.latex.connect(self.latexSC, SIGNAL("activated()"), self.insertLatex)
|
||||||
self.latex.setIcon(QIcon(":/icons/tex.png"))
|
self.latex.setIcon(QIcon(":/icons/tex.png"))
|
||||||
self.latex.setFocusPolicy(Qt.NoFocus)
|
self.latex.setFocusPolicy(Qt.NoFocus)
|
||||||
self.latex.setEnabled(False)
|
self.latex.setEnabled(False)
|
||||||
self.iconsBox.addWidget(self.latex)
|
self.iconsBox2.addWidget(self.latex)
|
||||||
self.latex.setStyle(self.plastiqueStyle)
|
self.latex.setStyle(self.plastiqueStyle)
|
||||||
# latex eqn
|
# latex eqn
|
||||||
self.latexEqn = QPushButton(self.widget)
|
self.latexEqn = QPushButton(self.widget)
|
||||||
self.latexEqn.connect(self.latexEqn, SIGNAL("clicked()"), self.insertLatexEqn)
|
|
||||||
self.latexEqn.setToolTip(_("Latex equation (Ctrl+l, e)"))
|
self.latexEqn.setToolTip(_("Latex equation (Ctrl+l, e)"))
|
||||||
self.latexEqn.setShortcut(_("Ctrl+l, e"))
|
self.latexEqnSC = QShortcut(QKeySequence(_("Ctrl+l, e")), self.widget)
|
||||||
|
self.latexEqn.connect(self.latexEqn, SIGNAL("clicked()"), self.insertLatexEqn)
|
||||||
|
self.latexEqn.connect(self.latexEqnSC, SIGNAL("activated()"), self.insertLatexEqn)
|
||||||
self.latexEqn.setIcon(QIcon(":/icons/math_sqrt.png"))
|
self.latexEqn.setIcon(QIcon(":/icons/math_sqrt.png"))
|
||||||
self.latexEqn.setFocusPolicy(Qt.NoFocus)
|
self.latexEqn.setFocusPolicy(Qt.NoFocus)
|
||||||
self.latexEqn.setEnabled(False)
|
self.latexEqn.setEnabled(False)
|
||||||
self.iconsBox.addWidget(self.latexEqn)
|
self.iconsBox2.addWidget(self.latexEqn)
|
||||||
self.latexEqn.setStyle(self.plastiqueStyle)
|
self.latexEqn.setStyle(self.plastiqueStyle)
|
||||||
# latex math env
|
# latex math env
|
||||||
self.latexMathEnv = QPushButton(self.widget)
|
self.latexMathEnv = QPushButton(self.widget)
|
||||||
|
self.latexMathEnv.setToolTip(_("Latex math environment (Ctrl+l, m)"))
|
||||||
|
self.latexMathEnvSC = QShortcut(QKeySequence(_("Ctrl+l, m")), self.widget)
|
||||||
self.latexMathEnv.connect(self.latexMathEnv, SIGNAL("clicked()"),
|
self.latexMathEnv.connect(self.latexMathEnv, SIGNAL("clicked()"),
|
||||||
self.insertLatexMathEnv)
|
self.insertLatexMathEnv)
|
||||||
self.latexMathEnv.setToolTip(_("Latex math environment (Ctrl+l, m)"))
|
self.latexMathEnv.connect(self.latexMathEnvSC, SIGNAL("activated()"),
|
||||||
self.latexMathEnv.setShortcut(_("Ctrl+l, m"))
|
self.insertLatexMathEnv)
|
||||||
self.latexMathEnv.setIcon(QIcon(":/icons/math_matrix.png"))
|
self.latexMathEnv.setIcon(QIcon(":/icons/math_matrix.png"))
|
||||||
self.latexMathEnv.setFocusPolicy(Qt.NoFocus)
|
self.latexMathEnv.setFocusPolicy(Qt.NoFocus)
|
||||||
self.latexMathEnv.setEnabled(False)
|
self.latexMathEnv.setEnabled(False)
|
||||||
self.iconsBox.addWidget(self.latexMathEnv)
|
self.iconsBox2.addWidget(self.latexMathEnv)
|
||||||
self.latexMathEnv.setStyle(self.plastiqueStyle)
|
self.latexMathEnv.setStyle(self.plastiqueStyle)
|
||||||
# html
|
# html
|
||||||
self.htmlEdit = QPushButton(self.widget)
|
self.htmlEdit = QPushButton(self.widget)
|
||||||
|
self.htmlEdit.setToolTip(_("HTML Editor (F9)"))
|
||||||
|
self.htmlEditSC = QShortcut(QKeySequence(_("F9")), self.widget)
|
||||||
self.htmlEdit.connect(self.htmlEdit, SIGNAL("clicked()"),
|
self.htmlEdit.connect(self.htmlEdit, SIGNAL("clicked()"),
|
||||||
self.onHtmlEdit)
|
self.onHtmlEdit)
|
||||||
self.htmlEdit.setToolTip(_("HTML Editor (F9)"))
|
self.htmlEdit.connect(self.htmlEditSC, SIGNAL("activated()"),
|
||||||
self.htmlEdit.setShortcut(_("F9"))
|
self.onHtmlEdit)
|
||||||
self.htmlEdit.setIcon(QIcon(":/icons/text-xml.png"))
|
self.htmlEdit.setIcon(QIcon(":/icons/text-xml.png"))
|
||||||
self.htmlEdit.setFocusPolicy(Qt.NoFocus)
|
self.htmlEdit.setFocusPolicy(Qt.NoFocus)
|
||||||
self.htmlEdit.setEnabled(False)
|
self.htmlEdit.setEnabled(False)
|
||||||
self.iconsBox.addWidget(self.htmlEdit)
|
self.iconsBox2.addWidget(self.htmlEdit)
|
||||||
self.htmlEdit.setStyle(self.plastiqueStyle)
|
self.htmlEdit.setStyle(self.plastiqueStyle)
|
||||||
|
#
|
||||||
self.fieldsFrame = None
|
self.fieldsFrame = None
|
||||||
self.widget.setLayout(self.fieldsBox)
|
self.widget.setLayout(self.fieldsBox)
|
||||||
|
# show advanced buttons?
|
||||||
|
if not ankiqt.mw.config['factEditorAdvanced']:
|
||||||
|
self.onMore(False)
|
||||||
|
|
||||||
def _makeGrid(self):
|
def _makeGrid(self):
|
||||||
"Rebuild the grid to avoid trigging QT bugs."
|
"Rebuild the grid to avoid trigging QT bugs."
|
||||||
|
|
@ -465,6 +492,7 @@ class FactEditor(object):
|
||||||
self.preview.setEnabled(val)
|
self.preview.setEnabled(val)
|
||||||
self.htmlEdit.setEnabled(val)
|
self.htmlEdit.setEnabled(val)
|
||||||
self.recSound.setEnabled(val)
|
self.recSound.setEnabled(val)
|
||||||
|
self.more.setEnabled(val)
|
||||||
|
|
||||||
def disableButtons(self):
|
def disableButtons(self):
|
||||||
self.enableButtons(False)
|
self.enableButtons(False)
|
||||||
|
|
@ -536,6 +564,16 @@ class FactEditor(object):
|
||||||
w.moveCursor(QTextCursor.PreviousCharacter)
|
w.moveCursor(QTextCursor.PreviousCharacter)
|
||||||
w.moveCursor(QTextCursor.PreviousCharacter)
|
w.moveCursor(QTextCursor.PreviousCharacter)
|
||||||
|
|
||||||
|
def onMore(self, toggle=None):
|
||||||
|
if toggle is None:
|
||||||
|
toggle = not self.preview.isVisible()
|
||||||
|
ankiqt.mw.config['factEditorAdvanced'] = toggle
|
||||||
|
self.preview.setShown(toggle)
|
||||||
|
self.latex.setShown(toggle)
|
||||||
|
self.latexEqn.setShown(toggle)
|
||||||
|
self.latexMathEnv.setShown(toggle)
|
||||||
|
self.htmlEdit.setShown(toggle)
|
||||||
|
|
||||||
def onPreview(self):
|
def onPreview(self):
|
||||||
PreviewDialog(self.parent, self.deck, self.fact)
|
PreviewDialog(self.parent, self.deck, self.fact)
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue