From c1ad771642cdede24c0188f07ff58941b55f551b Mon Sep 17 00:00:00 2001 From: Olivier Keshavjee Date: Mon, 27 Nov 2017 15:00:07 +0100 Subject: [PATCH] Subclass textEditView --- manuskript/ui/editors/editorWidget.py | 6 +- manuskript/ui/editors/editorWidget_ui.py | 11 ++-- manuskript/ui/editors/editorWidget_ui.ui | 14 ++--- manuskript/ui/editors/fullScreenEditor.py | 12 ++-- manuskript/ui/editors/themes.py | 4 +- manuskript/ui/mainWindow.py | 51 ++++++++-------- manuskript/ui/mainWindow.ui | 58 +++++++++---------- ...extEditCompleter.py => MDEditCompleter.py} | 20 +++---- manuskript/ui/views/MDEditView.py | 21 +++++++ manuskript/ui/views/basicItemView_ui.py | 7 +-- manuskript/ui/views/basicItemView_ui.ui | 6 +- manuskript/ui/views/metadataView_ui.py | 25 ++++---- manuskript/ui/views/metadataView_ui.ui | 13 ++--- manuskript/ui/views/textEditView.py | 30 +++------- 14 files changed, 136 insertions(+), 142 deletions(-) rename manuskript/ui/views/{textEditCompleter.py => MDEditCompleter.py} (89%) create mode 100644 manuskript/ui/views/MDEditView.py diff --git a/manuskript/ui/editors/editorWidget.py b/manuskript/ui/editors/editorWidget.py index 9c08a21e..0d00bb8c 100644 --- a/manuskript/ui/editors/editorWidget.py +++ b/manuskript/ui/editors/editorWidget.py @@ -8,7 +8,7 @@ from PyQt5.QtWidgets import QVBoxLayout, qApp, QStyle from manuskript import settings from manuskript.functions import AUC, mainWindow from manuskript.ui.editors.editorWidget_ui import Ui_editorWidget_ui -from manuskript.ui.views.textEditView import textEditView +from manuskript.ui.views.MDEditView import MDEditView from manuskript.ui.tools.splitDialog import splitDialog @@ -178,7 +178,7 @@ class editorWidget(QWidget, Ui_editorWidget_ui): self.updateTabTitle() def addTitle(itm): - edt = textEditView(self, html="{t}".format(l=min(itm.level() + 1, 5), t=itm.title()), + edt = MDEditView(self, html="{t}".format(l=min(itm.level() + 1, 5), t=itm.title()), autoResize=True) edt.setFrameShape(QFrame.NoFrame) self.txtEdits.append(edt) @@ -191,7 +191,7 @@ class editorWidget(QWidget, Ui_editorWidget_ui): l.addWidget(line) def addText(itm): - edt = textEditView(self, + edt = MDEditView(self, index=itm.index(), spellcheck=self.spellcheck, dict=settings.dict, diff --git a/manuskript/ui/editors/editorWidget_ui.py b/manuskript/ui/editors/editorWidget_ui.py index 9787c8a2..c0c5faf6 100644 --- a/manuskript/ui/editors/editorWidget_ui.py +++ b/manuskript/ui/editors/editorWidget_ui.py @@ -2,8 +2,7 @@ # Form implementation generated from reading ui file 'manuskript/ui/editors/editorWidget_ui.ui' # -# Created: Fri Apr 8 20:03:08 2016 -# by: PyQt5 UI code generator 5.2.1 +# Created by: PyQt5 UI code generator 5.5.1 # # WARNING! All changes made in this file will be lost! @@ -23,7 +22,7 @@ class Ui_editorWidget_ui(object): self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.text) self.horizontalLayout_2.setContentsMargins(0, 0, 0, 0) self.horizontalLayout_2.setObjectName("horizontalLayout_2") - self.txtRedacText = textEditView(self.text) + self.txtRedacText = MDEditView(self.text) self.txtRedacText.setFrameShape(QtWidgets.QFrame.NoFrame) self.txtRedacText.setObjectName("txtRedacText") self.horizontalLayout_2.addWidget(self.txtRedacText) @@ -31,8 +30,8 @@ class Ui_editorWidget_ui(object): self.folder = QtWidgets.QWidget() self.folder.setObjectName("folder") self.verticalLayout = QtWidgets.QVBoxLayout(self.folder) - self.verticalLayout.setSpacing(0) self.verticalLayout.setContentsMargins(0, 0, 0, 0) + self.verticalLayout.setSpacing(0) self.verticalLayout.setObjectName("verticalLayout") self.scroll = QtWidgets.QScrollArea(self.folder) self.scroll.setAutoFillBackground(True) @@ -75,6 +74,6 @@ class Ui_editorWidget_ui(object): _translate = QtCore.QCoreApplication.translate editorWidget_ui.setWindowTitle(_translate("editorWidget_ui", "Form")) -from manuskript.ui.views.outlineView import outlineView -from manuskript.ui.views.textEditView import textEditView +from manuskript.ui.views.MDEditView import MDEditView from manuskript.ui.views.corkView import corkView +from manuskript.ui.views.outlineView import outlineView diff --git a/manuskript/ui/editors/editorWidget_ui.ui b/manuskript/ui/editors/editorWidget_ui.ui index 04054d26..b52abce5 100644 --- a/manuskript/ui/editors/editorWidget_ui.ui +++ b/manuskript/ui/editors/editorWidget_ui.ui @@ -46,7 +46,7 @@ 0 - + QFrame::NoFrame @@ -147,12 +147,12 @@ - - textEditView - QTextEdit -
manuskript.ui.views.textEditView.h
-
- + + MDEditView + QTextEdit +
manuskript.ui.views.MDEditView.h
+
+ outlineView QTreeView
manuskript.ui.views.outlineView.h
diff --git a/manuskript/ui/editors/fullScreenEditor.py b/manuskript/ui/editors/fullScreenEditor.py index cef0ac6a..5af61a49 100644 --- a/manuskript/ui/editors/fullScreenEditor.py +++ b/manuskript/ui/editors/fullScreenEditor.py @@ -16,7 +16,7 @@ from manuskript.ui.editors.locker import locker from manuskript.ui.editors.textFormat import textFormat from manuskript.ui.editors.themes import findThemePath, generateTheme, setThemeEditorDatas from manuskript.ui.editors.themes import loadThemeDatas -from manuskript.ui.views.textEditView import textEditView +from manuskript.ui.views.MDEditView import MDEditView try: import enchant @@ -35,11 +35,11 @@ class fullScreenEditor(QWidget): self._geometries = {} # Text editor - self.editor = textEditView(self, - index=index, - spellcheck=settings.spellcheck, - highlighting=True, - dict=settings.dict) + self.editor = MDEditView(self, + index=index, + spellcheck=settings.spellcheck, + highlighting=True, + dict=settings.dict) self.editor.setFrameStyle(QFrame.NoFrame) self.editor.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff) self.editor.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOff) diff --git a/manuskript/ui/editors/themes.py b/manuskript/ui/editors/themes.py index 29903b09..6b1222da 100644 --- a/manuskript/ui/editors/themes.py +++ b/manuskript/ui/editors/themes.py @@ -10,7 +10,7 @@ from PyQt5.QtGui import QPixmap, QPainter, QColor, QBrush, QImage, QTextBlockFor from PyQt5.QtWidgets import qApp, QFrame from manuskript.functions import allPaths, appPath, findBackground, findFirstFile -from manuskript.ui.views.textEditView import textEditView +from manuskript.ui.views.MDEditView import MDEditView _thumbCache = {} @@ -270,7 +270,7 @@ def setThemeEditorDatas(editor, themeDatas, pixmap, screenRect): def addThemePreviewText(pixmap, themeDatas, screenRect): # Text - previewText = textEditView(highlighting=True) + previewText = MDEditView(highlighting=True) previewText.setFrameStyle(QFrame.NoFrame) previewText.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff) previewText.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOff) diff --git a/manuskript/ui/mainWindow.py b/manuskript/ui/mainWindow.py index a46176b1..f63cccb7 100644 --- a/manuskript/ui/mainWindow.py +++ b/manuskript/ui/mainWindow.py @@ -164,7 +164,7 @@ class Ui_MainWindow(object): self.label = QtWidgets.QLabel(self.tabSummaryPage1) self.label.setObjectName("label") self.verticalLayout_5.addWidget(self.label) - self.txtSummarySentence = textEditView(self.tabSummaryPage1) + self.txtSummarySentence = MDEditCompleter(self.tabSummaryPage1) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) @@ -188,7 +188,7 @@ class Ui_MainWindow(object): self.label_21 = QtWidgets.QLabel(self.tabSummaryPage2) self.label_21.setObjectName("label_21") self.verticalLayout.addWidget(self.label_21) - self.txtSummarySentence_2 = textEditView(self.tabSummaryPage2) + self.txtSummarySentence_2 = MDEditCompleter(self.tabSummaryPage2) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) @@ -210,7 +210,7 @@ class Ui_MainWindow(object): self.label_2 = QtWidgets.QLabel(self.tabSummaryPage2) self.label_2.setObjectName("label_2") self.verticalLayout_2.addWidget(self.label_2) - self.txtSummaryPara = textEditView(self.tabSummaryPage2) + self.txtSummaryPara = MDEditCompleter(self.tabSummaryPage2) self.txtSummaryPara.setObjectName("txtSummaryPara") self.verticalLayout_2.addWidget(self.txtSummaryPara) self.lblSummaryWCPara = QtWidgets.QLabel(self.tabSummaryPage2) @@ -230,7 +230,7 @@ class Ui_MainWindow(object): self.label_22 = QtWidgets.QLabel(self.tabSummaryPage3) self.label_22.setObjectName("label_22") self.verticalLayout_6.addWidget(self.label_22) - self.txtSummaryPara_2 = textEditView(self.tabSummaryPage3) + self.txtSummaryPara_2 = MDEditCompleter(self.tabSummaryPage3) self.txtSummaryPara_2.setReadOnly(True) self.txtSummaryPara_2.setObjectName("txtSummaryPara_2") self.verticalLayout_6.addWidget(self.txtSummaryPara_2) @@ -247,7 +247,7 @@ class Ui_MainWindow(object): self.label_17 = QtWidgets.QLabel(self.tabSummaryPage3) self.label_17.setObjectName("label_17") self.verticalLayout_3.addWidget(self.label_17) - self.txtSummaryPage = textEditView(self.tabSummaryPage3) + self.txtSummaryPage = MDEditCompleter(self.tabSummaryPage3) self.txtSummaryPage.setObjectName("txtSummaryPage") self.verticalLayout_3.addWidget(self.txtSummaryPage) self.lblSummaryWCPage = QtWidgets.QLabel(self.tabSummaryPage3) @@ -265,7 +265,7 @@ class Ui_MainWindow(object): self.label_23 = QtWidgets.QLabel(self.tabSummaryPage4) self.label_23.setObjectName("label_23") self.verticalLayout_7.addWidget(self.label_23) - self.txtSummaryPage_2 = textEditView(self.tabSummaryPage4) + self.txtSummaryPage_2 = MDEditCompleter(self.tabSummaryPage4) self.txtSummaryPage_2.setReadOnly(True) self.txtSummaryPage_2.setObjectName("txtSummaryPage_2") self.verticalLayout_7.addWidget(self.txtSummaryPage_2) @@ -280,7 +280,7 @@ class Ui_MainWindow(object): self.label_20 = QtWidgets.QLabel(self.tabSummaryPage4) self.label_20.setObjectName("label_20") self.verticalLayout_4.addWidget(self.label_20) - self.txtSummaryFull = textEditView(self.tabSummaryPage4) + self.txtSummaryFull = MDEditCompleter(self.tabSummaryPage4) self.txtSummaryFull.setObjectName("txtSummaryFull") self.verticalLayout_4.addWidget(self.txtSummaryFull) self.lblSummaryWCFull = QtWidgets.QLabel(self.tabSummaryPage4) @@ -386,37 +386,37 @@ class Ui_MainWindow(object): self.label_4 = QtWidgets.QLabel(self.scrollAreaPersoInfosWidget) self.label_4.setObjectName("label_4") self.formLayout_8.setWidget(4, QtWidgets.QFormLayout.LabelRole, self.label_4) - self.txtPersoMotivation = textEditView(self.scrollAreaPersoInfosWidget) + self.txtPersoMotivation = MDEditCompleter(self.scrollAreaPersoInfosWidget) self.txtPersoMotivation.setObjectName("txtPersoMotivation") self.formLayout_8.setWidget(4, QtWidgets.QFormLayout.FieldRole, self.txtPersoMotivation) self.label_5 = QtWidgets.QLabel(self.scrollAreaPersoInfosWidget) self.label_5.setObjectName("label_5") self.formLayout_8.setWidget(5, QtWidgets.QFormLayout.LabelRole, self.label_5) - self.txtPersoGoal = textEditView(self.scrollAreaPersoInfosWidget) + self.txtPersoGoal = MDEditCompleter(self.scrollAreaPersoInfosWidget) self.txtPersoGoal.setObjectName("txtPersoGoal") self.formLayout_8.setWidget(5, QtWidgets.QFormLayout.FieldRole, self.txtPersoGoal) self.label_6 = QtWidgets.QLabel(self.scrollAreaPersoInfosWidget) self.label_6.setObjectName("label_6") self.formLayout_8.setWidget(6, QtWidgets.QFormLayout.LabelRole, self.label_6) - self.txtPersoConflict = textEditView(self.scrollAreaPersoInfosWidget) + self.txtPersoConflict = MDEditCompleter(self.scrollAreaPersoInfosWidget) self.txtPersoConflict.setObjectName("txtPersoConflict") self.formLayout_8.setWidget(6, QtWidgets.QFormLayout.FieldRole, self.txtPersoConflict) self.label_7 = QtWidgets.QLabel(self.scrollAreaPersoInfosWidget) self.label_7.setObjectName("label_7") self.formLayout_8.setWidget(7, QtWidgets.QFormLayout.LabelRole, self.label_7) - self.txtPersoEpiphany = textEditView(self.scrollAreaPersoInfosWidget) + self.txtPersoEpiphany = MDEditCompleter(self.scrollAreaPersoInfosWidget) self.txtPersoEpiphany.setObjectName("txtPersoEpiphany") self.formLayout_8.setWidget(7, QtWidgets.QFormLayout.FieldRole, self.txtPersoEpiphany) self.label_24 = QtWidgets.QLabel(self.scrollAreaPersoInfosWidget) self.label_24.setObjectName("label_24") self.formLayout_8.setWidget(8, QtWidgets.QFormLayout.LabelRole, self.label_24) - self.txtPersoSummarySentence = textEditView(self.scrollAreaPersoInfosWidget) + self.txtPersoSummarySentence = MDEditCompleter(self.scrollAreaPersoInfosWidget) self.txtPersoSummarySentence.setObjectName("txtPersoSummarySentence") self.formLayout_8.setWidget(8, QtWidgets.QFormLayout.FieldRole, self.txtPersoSummarySentence) self.label_8 = QtWidgets.QLabel(self.scrollAreaPersoInfosWidget) self.label_8.setObjectName("label_8") self.formLayout_8.setWidget(9, QtWidgets.QFormLayout.LabelRole, self.label_8) - self.txtPersoSummaryPara = textEditView(self.scrollAreaPersoInfosWidget) + self.txtPersoSummaryPara = MDEditCompleter(self.scrollAreaPersoInfosWidget) self.txtPersoSummaryPara.setObjectName("txtPersoSummaryPara") self.formLayout_8.setWidget(9, QtWidgets.QFormLayout.FieldRole, self.txtPersoSummaryPara) self.horizontalLayout_21 = QtWidgets.QHBoxLayout() @@ -461,7 +461,7 @@ class Ui_MainWindow(object): self.tab_11.setObjectName("tab_11") self.verticalLayout_17 = QtWidgets.QVBoxLayout(self.tab_11) self.verticalLayout_17.setObjectName("verticalLayout_17") - self.txtPersoSummaryFull = textEditCompleter(self.tab_11) + self.txtPersoSummaryFull = MDEditCompleter(self.tab_11) self.txtPersoSummaryFull.setObjectName("txtPersoSummaryFull") self.verticalLayout_17.addWidget(self.txtPersoSummaryFull) self.horizontalLayout_22 = QtWidgets.QHBoxLayout() @@ -479,7 +479,7 @@ class Ui_MainWindow(object): self.tab_19.setObjectName("tab_19") self.horizontalLayout_30 = QtWidgets.QHBoxLayout(self.tab_19) self.horizontalLayout_30.setObjectName("horizontalLayout_30") - self.txtPersoNotes = textEditCompleter(self.tab_19) + self.txtPersoNotes = MDEditCompleter(self.tab_19) self.txtPersoNotes.setObjectName("txtPersoNotes") self.horizontalLayout_30.addWidget(self.txtPersoNotes) self.tabPersos.addTab(self.tab_19, "") @@ -626,10 +626,10 @@ class Ui_MainWindow(object): self.sldPlotImportance.setSizePolicy(sizePolicy) self.sldPlotImportance.setObjectName("sldPlotImportance") self.formLayout_2.setWidget(1, QtWidgets.QFormLayout.FieldRole, self.sldPlotImportance) - self.txtPlotDescription = textEditCompleter(self.infos_2) + self.txtPlotDescription = MDEditCompleter(self.infos_2) self.txtPlotDescription.setObjectName("txtPlotDescription") self.formLayout_2.setWidget(3, QtWidgets.QFormLayout.FieldRole, self.txtPlotDescription) - self.txtPlotResult = textEditCompleter(self.infos_2) + self.txtPlotResult = MDEditCompleter(self.infos_2) self.txtPlotResult.setObjectName("txtPlotResult") self.formLayout_2.setWidget(4, QtWidgets.QFormLayout.FieldRole, self.txtPlotResult) self.tabPlot.addTab(self.infos_2, "") @@ -648,7 +648,7 @@ class Ui_MainWindow(object): self.grpSubPlotSummary.setObjectName("grpSubPlotSummary") self.verticalLayout_11 = QtWidgets.QVBoxLayout(self.grpSubPlotSummary) self.verticalLayout_11.setObjectName("verticalLayout_11") - self.txtSubPlotSummary = textEditView(self.grpSubPlotSummary) + self.txtSubPlotSummary = MDEditCompleter(self.grpSubPlotSummary) self.txtSubPlotSummary.setObjectName("txtSubPlotSummary") self.verticalLayout_11.addWidget(self.txtSubPlotSummary) self.verticalLayout_28.addWidget(self.grpSubPlotSummary) @@ -698,7 +698,7 @@ class Ui_MainWindow(object): self.page.setObjectName("page") self.horizontalLayout_6 = QtWidgets.QHBoxLayout(self.page) self.horizontalLayout_6.setObjectName("horizontalLayout_6") - self.txtPlotSummaryPara = textEditView(self.page) + self.txtPlotSummaryPara = MDEditCompleter(self.page) self.txtPlotSummaryPara.setObjectName("txtPlotSummaryPara") self.horizontalLayout_6.addWidget(self.txtPlotSummaryPara) self.stkPlotSummary.addWidget(self.page) @@ -706,7 +706,7 @@ class Ui_MainWindow(object): self.page_2.setObjectName("page_2") self.horizontalLayout_10 = QtWidgets.QHBoxLayout(self.page_2) self.horizontalLayout_10.setObjectName("horizontalLayout_10") - self.txtPlotSummaryPage = textEditView(self.page_2) + self.txtPlotSummaryPage = MDEditCompleter(self.page_2) self.txtPlotSummaryPage.setObjectName("txtPlotSummaryPage") self.horizontalLayout_10.addWidget(self.txtPlotSummaryPage) self.stkPlotSummary.addWidget(self.page_2) @@ -714,7 +714,7 @@ class Ui_MainWindow(object): self.page_3.setObjectName("page_3") self.horizontalLayout_13 = QtWidgets.QHBoxLayout(self.page_3) self.horizontalLayout_13.setObjectName("horizontalLayout_13") - self.txtPlotSummaryFull = textEditView(self.page_3) + self.txtPlotSummaryFull = MDEditCompleter(self.page_3) self.txtPlotSummaryFull.setObjectName("txtPlotSummaryFull") self.horizontalLayout_13.addWidget(self.txtPlotSummaryFull) self.stkPlotSummary.addWidget(self.page_3) @@ -789,7 +789,7 @@ class Ui_MainWindow(object): self.label_32 = QtWidgets.QLabel(self.tab_3) self.label_32.setObjectName("label_32") self.formLayout_6.setWidget(1, QtWidgets.QFormLayout.LabelRole, self.label_32) - self.txtWorldDescription = textEditCompleter(self.tab_3) + self.txtWorldDescription = MDEditCompleter(self.tab_3) self.txtWorldDescription.setObjectName("txtWorldDescription") self.formLayout_6.setWidget(1, QtWidgets.QFormLayout.FieldRole, self.txtWorldDescription) self.tabWorld.addTab(self.tab_3, "") @@ -801,13 +801,13 @@ class Ui_MainWindow(object): self.label_33 = QtWidgets.QLabel(self.tab_4) self.label_33.setObjectName("label_33") self.formLayout_7.setWidget(0, QtWidgets.QFormLayout.LabelRole, self.label_33) - self.txtWorldPassion = textEditCompleter(self.tab_4) + self.txtWorldPassion = MDEditCompleter(self.tab_4) self.txtWorldPassion.setObjectName("txtWorldPassion") self.formLayout_7.setWidget(0, QtWidgets.QFormLayout.FieldRole, self.txtWorldPassion) self.label_34 = QtWidgets.QLabel(self.tab_4) self.label_34.setObjectName("label_34") self.formLayout_7.setWidget(1, QtWidgets.QFormLayout.LabelRole, self.label_34) - self.txtWorldConflict = textEditCompleter(self.tab_4) + self.txtWorldConflict = MDEditCompleter(self.tab_4) self.txtWorldConflict.setObjectName("txtWorldConflict") self.formLayout_7.setWidget(1, QtWidgets.QFormLayout.FieldRole, self.txtWorldConflict) self.tabWorld.addTab(self.tab_4, "") @@ -1422,6 +1422,7 @@ class Ui_MainWindow(object): from manuskript.ui.cheatSheet import cheatSheet from manuskript.ui.editors.mainEditor import mainEditor from manuskript.ui.search import search +from manuskript.ui.views.MDEditCompleter import MDEditCompleter from manuskript.ui.views.basicItemView import basicItemView from manuskript.ui.views.characterTreeView import characterTreeView from manuskript.ui.views.lineEditView import lineEditView @@ -1430,7 +1431,5 @@ from manuskript.ui.views.outlineView import outlineView from manuskript.ui.views.plotTreeView import plotTreeView from manuskript.ui.views.sldImportance import sldImportance from manuskript.ui.views.storylineView import storylineView -from manuskript.ui.views.textEditCompleter import textEditCompleter -from manuskript.ui.views.textEditView import textEditView from manuskript.ui.views.treeView import treeView from manuskript.ui.welcome import welcome diff --git a/manuskript/ui/mainWindow.ui b/manuskript/ui/mainWindow.ui index 185fdd1f..d39d94c9 100644 --- a/manuskript/ui/mainWindow.ui +++ b/manuskript/ui/mainWindow.ui @@ -379,7 +379,7 @@
- + 0 @@ -422,7 +422,7 @@ - + 0 @@ -466,7 +466,7 @@ - + @@ -504,7 +504,7 @@ - + true @@ -542,7 +542,7 @@ - + @@ -567,7 +567,7 @@ - + true @@ -592,7 +592,7 @@ - + @@ -831,7 +831,7 @@ - + @@ -841,7 +841,7 @@ - + @@ -851,7 +851,7 @@ - + @@ -861,7 +861,7 @@ - + @@ -871,7 +871,7 @@ - + @@ -881,7 +881,7 @@ - + @@ -964,7 +964,7 @@ - + @@ -1002,7 +1002,7 @@ - + @@ -1303,10 +1303,10 @@ - + - + @@ -1338,7 +1338,7 @@ - + @@ -1461,21 +1461,21 @@ - + - + - + @@ -1645,7 +1645,7 @@ - + @@ -1665,7 +1665,7 @@ - + @@ -1675,7 +1675,7 @@ - + @@ -2616,6 +2616,11 @@ QTextEdit
manuskript.ui.views.textEditView.h
+ + MDEditCompleter + QTextEdit +
manuskript.ui.views.MDEditCompleter.h
+
lineEditView QLineEdit @@ -2683,11 +2688,6 @@
manuskript.ui.search.h
1
- - textEditCompleter - QTextEdit -
manuskript.ui.views.textEditCompleter.h
-
storylineView QWidget diff --git a/manuskript/ui/views/textEditCompleter.py b/manuskript/ui/views/MDEditCompleter.py similarity index 89% rename from manuskript/ui/views/textEditCompleter.py rename to manuskript/ui/views/MDEditCompleter.py index 7d162793..93cdb96c 100644 --- a/manuskript/ui/views/textEditCompleter.py +++ b/manuskript/ui/views/MDEditCompleter.py @@ -7,7 +7,7 @@ from PyQt5.QtGui import QTextCursor, QFont, QFontMetrics from PyQt5.QtWidgets import QAction, qApp, QToolTip, QTextEdit from manuskript.ui.editors.completer import completer -from manuskript.ui.views.textEditView import textEditView +from manuskript.ui.views.MDEditView import MDEditView from manuskript.models import references as Ref try: @@ -16,10 +16,10 @@ except ImportError: enchant = None -class textEditCompleter(textEditView): +class MDEditCompleter(MDEditView): def __init__(self, parent=None, index=None, html=None, spellcheck=True, highlighting=False, dict="", autoResize=False): - textEditView.__init__(self, parent=parent, index=index, html=html, spellcheck=spellcheck, highlighting=True, + MDEditView.__init__(self, parent=parent, index=index, html=html, spellcheck=spellcheck, highlighting=True, dict=dict, autoResize=autoResize) self.completer = None @@ -30,7 +30,7 @@ class textEditCompleter(textEditView): self.document().documentLayoutChanged.connect(self.getRefRects) def setCurrentModelIndex(self, index): - textEditView.setCurrentModelIndex(self, index) + MDEditView.setCurrentModelIndex(self, index) if self._index and not self.completer: self.setCompleter(completer()) @@ -69,10 +69,10 @@ class textEditCompleter(textEditView): # else: # QToolTip.hideText() # return True - # return textEditView.event(self, event) + # return MDEditView.event(self, event) def createStandardContextMenu(self): - menu = textEditView.createStandardContextMenu(self) + menu = MDEditView.createStandardContextMenu(self) a = QAction(self.tr("Insert reference"), menu) a.triggered.connect(self.popupCompleter) @@ -96,7 +96,7 @@ class textEditCompleter(textEditView): if not self.completer or not isShortcut: self.completer.setVisible(False) - textEditView.keyPressEvent(self, event) + MDEditView.keyPressEvent(self, event) return self.popupCompleter() @@ -110,7 +110,7 @@ class textEditCompleter(textEditView): self.completer.popup(self.textUnderCursor(select=True)) def mouseMoveEvent(self, event): - textEditView.mouseMoveEvent(self, event) + MDEditView.mouseMoveEvent(self, event) onRef = [r for r in self.refRects if r.contains(event.pos())] @@ -127,7 +127,7 @@ class textEditCompleter(textEditView): QToolTip.showText(self.mapToGlobal(event.pos()), Ref.tooltip(ref)) def mouseReleaseEvent(self, event): - textEditView.mouseReleaseEvent(self, event) + MDEditView.mouseReleaseEvent(self, event) onRef = [r for r in self.refRects if r.contains(event.pos())] if onRef: cursor = self.cursorForPosition(event.pos()) @@ -137,7 +137,7 @@ class textEditCompleter(textEditView): qApp.restoreOverrideCursor() def resizeEvent(self, event): - textEditView.resizeEvent(self, event) + MDEditView.resizeEvent(self, event) self.getRefRects() def getRefRects(self): diff --git a/manuskript/ui/views/MDEditView.py b/manuskript/ui/views/MDEditView.py new file mode 100644 index 00000000..849c72f2 --- /dev/null +++ b/manuskript/ui/views/MDEditView.py @@ -0,0 +1,21 @@ +#!/usr/bin/env python +# --!-- coding: utf8 --!-- + +# from PyQt5.QtCore import +# from PyQt5.QtGui import +# from PyQt5.QtWidgets import + +from manuskript.ui.views.textEditView import textEditView +from manuskript.ui.highlighters import MarkdownHighlighter + + +class MDEditView(textEditView): + def __init__(self, parent=None, index=None, html=None, spellcheck=True, + highlighting=False, dict="", autoResize=False): + textEditView.__init__(self, parent, index, html, spellcheck, + highlighting=True, dict=dict, + autoResize=autoResize) + + # Highlighter + self._textFormat = "md" + self._highlighterClass = MarkdownHighlighter diff --git a/manuskript/ui/views/basicItemView_ui.py b/manuskript/ui/views/basicItemView_ui.py index f0594fad..91e09124 100644 --- a/manuskript/ui/views/basicItemView_ui.py +++ b/manuskript/ui/views/basicItemView_ui.py @@ -2,8 +2,7 @@ # Form implementation generated from reading ui file 'manuskript/ui/views/basicItemView_ui.ui' # -# Created: Thu Mar 3 17:26:11 2016 -# by: PyQt5 UI code generator 5.2.1 +# Created by: PyQt5 UI code generator 5.5.1 # # WARNING! All changes made in this file will be lost! @@ -51,7 +50,7 @@ class Ui_basicItemView(object): self.label_9 = QtWidgets.QLabel(basicItemView) self.label_9.setObjectName("label_9") self.verticalLayout.addWidget(self.label_9) - self.txtSummaryFull = textEditView(basicItemView) + self.txtSummaryFull = MDEditCompleter(basicItemView) self.txtSummaryFull.setObjectName("txtSummaryFull") self.verticalLayout.addWidget(self.txtSummaryFull) @@ -67,6 +66,6 @@ class Ui_basicItemView(object): self.txtSummarySentence.setPlaceholderText(_translate("basicItemView", "One line summary")) self.label_9.setText(_translate("basicItemView", "Few sentences summary:")) +from manuskript.ui.views.MDEditCompleter import MDEditCompleter from manuskript.ui.views.cmbOutlineCharacterChoser import cmbOutlineCharacterChoser from manuskript.ui.views.lineEditView import lineEditView -from manuskript.ui.views.textEditView import textEditView diff --git a/manuskript/ui/views/basicItemView_ui.ui b/manuskript/ui/views/basicItemView_ui.ui index 6466cc73..efccc995 100644 --- a/manuskript/ui/views/basicItemView_ui.ui +++ b/manuskript/ui/views/basicItemView_ui.ui @@ -101,15 +101,15 @@ - + - textEditView + MDEditCompleter QTextEdit -
manuskript.ui.views.textEditView.h
+
manuskript.ui.views.MDEditCompleter.h
cmbOutlineCharacterChoser diff --git a/manuskript/ui/views/metadataView_ui.py b/manuskript/ui/views/metadataView_ui.py index 2069a06d..ba1b6591 100644 --- a/manuskript/ui/views/metadataView_ui.py +++ b/manuskript/ui/views/metadataView_ui.py @@ -2,8 +2,7 @@ # Form implementation generated from reading ui file 'manuskript/ui/views/metadataView_ui.ui' # -# Created: Fri Apr 8 14:24:47 2016 -# by: PyQt5 UI code generator 5.2.1 +# Created by: PyQt5 UI code generator 5.5.1 # # WARNING! All changes made in this file will be lost! @@ -14,8 +13,8 @@ class Ui_metadataView(object): metadataView.setObjectName("metadataView") metadataView.resize(400, 537) self.verticalLayout = QtWidgets.QVBoxLayout(metadataView) - self.verticalLayout.setSpacing(0) self.verticalLayout.setContentsMargins(0, 0, 0, 0) + self.verticalLayout.setSpacing(0) self.verticalLayout.setObjectName("verticalLayout") self.grpProperties = collapsibleGroupBox2(metadataView) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) @@ -27,8 +26,8 @@ class Ui_metadataView(object): self.grpProperties.setCheckable(True) self.grpProperties.setObjectName("grpProperties") self.verticalLayout_28 = QtWidgets.QVBoxLayout(self.grpProperties) - self.verticalLayout_28.setSpacing(0) self.verticalLayout_28.setContentsMargins(0, 0, 0, 0) + self.verticalLayout_28.setSpacing(0) self.verticalLayout_28.setObjectName("verticalLayout_28") self.properties = propertiesView(self.grpProperties) self.properties.setMinimumSize(QtCore.QSize(0, 50)) @@ -40,8 +39,8 @@ class Ui_metadataView(object): self.grpSummary.setCheckable(True) self.grpSummary.setObjectName("grpSummary") self.verticalLayout_22 = QtWidgets.QVBoxLayout(self.grpSummary) - self.verticalLayout_22.setSpacing(0) self.verticalLayout_22.setContentsMargins(0, 0, 0, 0) + self.verticalLayout_22.setSpacing(0) self.verticalLayout_22.setObjectName("verticalLayout_22") self.txtSummarySentence = lineEditView(self.grpSummary) self.txtSummarySentence.setInputMask("") @@ -53,10 +52,9 @@ class Ui_metadataView(object): self.line.setLineWidth(0) self.line.setMidLineWidth(0) self.line.setFrameShape(QtWidgets.QFrame.HLine) - self.line.setFrameShadow(QtWidgets.QFrame.Sunken) self.line.setObjectName("line") self.verticalLayout_22.addWidget(self.line) - self.txtSummaryFull = textEditView(self.grpSummary) + self.txtSummaryFull = MDEditCompleter(self.grpSummary) self.txtSummaryFull.setFrameShape(QtWidgets.QFrame.NoFrame) self.txtSummaryFull.setObjectName("txtSummaryFull") self.verticalLayout_22.addWidget(self.txtSummaryFull) @@ -66,10 +64,10 @@ class Ui_metadataView(object): self.grpNotes.setCheckable(True) self.grpNotes.setObjectName("grpNotes") self.horizontalLayout_29 = QtWidgets.QHBoxLayout(self.grpNotes) - self.horizontalLayout_29.setSpacing(0) self.horizontalLayout_29.setContentsMargins(0, 0, 0, 0) + self.horizontalLayout_29.setSpacing(0) self.horizontalLayout_29.setObjectName("horizontalLayout_29") - self.txtNotes = textEditCompleter(self.grpNotes) + self.txtNotes = MDEditCompleter(self.grpNotes) self.txtNotes.setFrameShape(QtWidgets.QFrame.NoFrame) self.txtNotes.setObjectName("txtNotes") self.horizontalLayout_29.addWidget(self.txtNotes) @@ -79,8 +77,8 @@ class Ui_metadataView(object): self.grpRevisions.setCheckable(True) self.grpRevisions.setObjectName("grpRevisions") self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.grpRevisions) - self.verticalLayout_2.setSpacing(0) self.verticalLayout_2.setContentsMargins(0, 0, 0, 0) + self.verticalLayout_2.setSpacing(0) self.verticalLayout_2.setObjectName("verticalLayout_2") self.revisions = revisions(self.grpRevisions) self.revisions.setMinimumSize(QtCore.QSize(0, 50)) @@ -103,8 +101,7 @@ class Ui_metadataView(object): self.grpRevisions.setTitle(_translate("metadataView", "Revisions")) from manuskript.ui.collapsibleGroupBox2 import collapsibleGroupBox2 -from manuskript.ui.views.textEditView import textEditView -from manuskript.ui.views.textEditCompleter import textEditCompleter -from manuskript.ui.views.propertiesView import propertiesView -from manuskript.ui.views.lineEditView import lineEditView from manuskript.ui.revisions import revisions +from manuskript.ui.views.MDEditCompleter import MDEditCompleter +from manuskript.ui.views.lineEditView import lineEditView +from manuskript.ui.views.propertiesView import propertiesView diff --git a/manuskript/ui/views/metadataView_ui.ui b/manuskript/ui/views/metadataView_ui.ui index 13b97c1f..1733dadf 100644 --- a/manuskript/ui/views/metadataView_ui.ui +++ b/manuskript/ui/views/metadataView_ui.ui @@ -132,7 +132,7 @@ - + QFrame::NoFrame @@ -172,7 +172,7 @@ 0 - + QFrame::NoFrame @@ -228,9 +228,9 @@ - textEditView + MDEditCompleter QTextEdit -
manuskript.ui.views.textEditView.h
+
manuskript.ui.views.MDEditCompleter.h
lineEditView @@ -249,11 +249,6 @@
manuskript.ui.views.propertiesView.h
1
- - textEditCompleter - QTextEdit -
manuskript.ui.views.textEditCompleter.h
-
revisions QWidget diff --git a/manuskript/ui/views/textEditView.py b/manuskript/ui/views/textEditView.py index ad858e83..67a9d375 100644 --- a/manuskript/ui/views/textEditView.py +++ b/manuskript/ui/views/textEditView.py @@ -11,8 +11,8 @@ from manuskript.enums import Outline, World, Character, Plot from manuskript import functions as F from manuskript.models.outlineModel import outlineModel from manuskript.ui.editors.MDFunctions import MDFormatSelection -from manuskript.ui.highlighters import BasicHighlighter, MarkdownHighlighter -from manuskript.ui.highlighters import MMDHighlighter +from manuskript.ui.highlighters import BasicHighlighter +# from manuskript.ui.highlighters import MMDHighlighter from manuskript.ui.editors.textFormat import textFormat from manuskript.ui import style as S @@ -39,6 +39,7 @@ class textEditView(QTextEdit): # When setting up a theme, this becomes true. self._fromTheme = False self._themeData = None + self._highlighterClass = BasicHighlighter self.spellcheck = spellcheck self.currentDict = dict if dict else settings.dict @@ -85,9 +86,9 @@ class textEditView(QTextEdit): else: self.spellcheck = False - if self._highlighting and not self.highlighter: - self.highlighter = BasicHighlighter(self) - self.highlighter.setDefaultBlockFormat(self._defaultBlockFormat) + # if self._highlighting and not self.highlighter: + # self.highlighter = self._highlighterClass(self) + # self.highlighter.setDefaultBlockFormat(self._defaultBlockFormat) def getDefaultLocale(self): default_locale = enchant.get_default_language() @@ -175,26 +176,9 @@ class textEditView(QTextEdit): self.updateText() def setupEditorForIndex(self, index): - # Let's say we use markdown everywhere... - self._textFormat = "md" - # Setting highlighter if self._highlighting: - # # item = index.internalPointer() - # if self._column in [ - # Outline.text.value, - # Outline.notes.value, - # Character.summaryFull.value, - # Character.notes.value, - # World.description.value, - # World.passion.value, - # World.conflict.value, - # ]: - #FIXME: subclass textEdit instad of doing stuff like that - self.highlighter = MarkdownHighlighter(self) - # else: - # self.highlighter = BasicHighlighter(self) - + self.highlighter = self._highlighterClass(self) self.highlighter.setDefaultBlockFormat(self._defaultBlockFormat) self.highlighter.updateColorScheme()