From d27ce4dec6df9aa19a47eb3a5fe0c255dfa502e2 Mon Sep 17 00:00:00 2001 From: Olivier Keshavjee Date: Sat, 25 Nov 2017 14:43:30 +0100 Subject: [PATCH] Fixes #232: Add markdown support of other tabs --- manuskript/mainWindow.py | 1 - manuskript/ui/mainWindow.py | 24 ++++++-------------- manuskript/ui/mainWindow.ui | 12 +++++----- manuskript/ui/views/textEditView.py | 34 ++++++++++++++--------------- 4 files changed, 30 insertions(+), 41 deletions(-) diff --git a/manuskript/mainWindow.py b/manuskript/mainWindow.py index a2f68b5f..0537e3b0 100644 --- a/manuskript/mainWindow.py +++ b/manuskript/mainWindow.py @@ -1415,4 +1415,3 @@ class MainWindow(QMainWindow, Ui_MainWindow): r = self.dialog.geometry() r2 = self.geometry() self.dialog.move(r2.center() - r.center()) - diff --git a/manuskript/ui/mainWindow.py b/manuskript/ui/mainWindow.py index 775dca61..a46176b1 100644 --- a/manuskript/ui/mainWindow.py +++ b/manuskript/ui/mainWindow.py @@ -2,7 +2,7 @@ # Form implementation generated from reading ui file 'manuskript/ui/mainWindow.ui' # -# Created by: PyQt5 UI code generator 5.9 +# Created by: PyQt5 UI code generator 5.5.1 # # WARNING! All changes made in this file will be lost! @@ -24,7 +24,6 @@ class Ui_MainWindow(object): self.welcomePage = QtWidgets.QWidget() self.welcomePage.setObjectName("welcomePage") self.gridLayout = QtWidgets.QGridLayout(self.welcomePage) - self.gridLayout.setContentsMargins(0, 0, 0, 0) self.gridLayout.setObjectName("gridLayout") spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.gridLayout.addItem(spacerItem, 1, 0, 1, 1) @@ -161,7 +160,6 @@ class Ui_MainWindow(object): self.tabSummaryPage1 = QtWidgets.QWidget() self.tabSummaryPage1.setObjectName("tabSummaryPage1") self.verticalLayout_5 = QtWidgets.QVBoxLayout(self.tabSummaryPage1) - self.verticalLayout_5.setContentsMargins(0, 0, 0, 0) self.verticalLayout_5.setObjectName("verticalLayout_5") self.label = QtWidgets.QLabel(self.tabSummaryPage1) self.label.setObjectName("label") @@ -184,7 +182,6 @@ class Ui_MainWindow(object): self.tabSummaryPage2 = QtWidgets.QWidget() self.tabSummaryPage2.setObjectName("tabSummaryPage2") self.horizontalLayout_4 = QtWidgets.QHBoxLayout(self.tabSummaryPage2) - self.horizontalLayout_4.setContentsMargins(0, 0, 0, 0) self.horizontalLayout_4.setObjectName("horizontalLayout_4") self.verticalLayout = QtWidgets.QVBoxLayout() self.verticalLayout.setObjectName("verticalLayout") @@ -227,7 +224,6 @@ class Ui_MainWindow(object): self.tabSummaryPage3 = QtWidgets.QWidget() self.tabSummaryPage3.setObjectName("tabSummaryPage3") self.horizontalLayout_7 = QtWidgets.QHBoxLayout(self.tabSummaryPage3) - self.horizontalLayout_7.setContentsMargins(0, 0, 0, 0) self.horizontalLayout_7.setObjectName("horizontalLayout_7") self.verticalLayout_6 = QtWidgets.QVBoxLayout() self.verticalLayout_6.setObjectName("verticalLayout_6") @@ -263,7 +259,6 @@ class Ui_MainWindow(object): self.tabSummaryPage4 = QtWidgets.QWidget() self.tabSummaryPage4.setObjectName("tabSummaryPage4") self.horizontalLayout_8 = QtWidgets.QHBoxLayout(self.tabSummaryPage4) - self.horizontalLayout_8.setContentsMargins(0, 0, 0, 0) self.horizontalLayout_8.setObjectName("horizontalLayout_8") self.verticalLayout_7 = QtWidgets.QVBoxLayout() self.verticalLayout_7.setObjectName("verticalLayout_7") @@ -387,7 +382,6 @@ class Ui_MainWindow(object): self.scrollAreaPersoInfosWidget.setObjectName("scrollAreaPersoInfosWidget") self.formLayout_8 = QtWidgets.QFormLayout(self.scrollAreaPersoInfosWidget) self.formLayout_8.setFieldGrowthPolicy(QtWidgets.QFormLayout.AllNonFixedFieldsGrow) - self.formLayout_8.setContentsMargins(0, 0, 0, 0) self.formLayout_8.setObjectName("formLayout_8") self.label_4 = QtWidgets.QLabel(self.scrollAreaPersoInfosWidget) self.label_4.setObjectName("label_4") @@ -467,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 = textEditView(self.tab_11) + self.txtPersoSummaryFull = textEditCompleter(self.tab_11) self.txtPersoSummaryFull.setObjectName("txtPersoSummaryFull") self.verticalLayout_17.addWidget(self.txtPersoSummaryFull) self.horizontalLayout_22 = QtWidgets.QHBoxLayout() @@ -485,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 = textEditView(self.tab_19) + self.txtPersoNotes = textEditCompleter(self.tab_19) self.txtPersoNotes.setObjectName("txtPersoNotes") self.horizontalLayout_30.addWidget(self.txtPersoNotes) self.tabPersos.addTab(self.tab_19, "") @@ -632,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 = textEditView(self.infos_2) + self.txtPlotDescription = textEditCompleter(self.infos_2) self.txtPlotDescription.setObjectName("txtPlotDescription") self.formLayout_2.setWidget(3, QtWidgets.QFormLayout.FieldRole, self.txtPlotDescription) - self.txtPlotResult = textEditView(self.infos_2) + self.txtPlotResult = textEditCompleter(self.infos_2) self.txtPlotResult.setObjectName("txtPlotResult") self.formLayout_2.setWidget(4, QtWidgets.QFormLayout.FieldRole, self.txtPlotResult) self.tabPlot.addTab(self.infos_2, "") @@ -703,7 +697,6 @@ class Ui_MainWindow(object): self.page = QtWidgets.QWidget() self.page.setObjectName("page") self.horizontalLayout_6 = QtWidgets.QHBoxLayout(self.page) - self.horizontalLayout_6.setContentsMargins(0, 0, 0, 0) self.horizontalLayout_6.setObjectName("horizontalLayout_6") self.txtPlotSummaryPara = textEditView(self.page) self.txtPlotSummaryPara.setObjectName("txtPlotSummaryPara") @@ -712,7 +705,6 @@ class Ui_MainWindow(object): self.page_2 = QtWidgets.QWidget() self.page_2.setObjectName("page_2") self.horizontalLayout_10 = QtWidgets.QHBoxLayout(self.page_2) - self.horizontalLayout_10.setContentsMargins(0, 0, 0, 0) self.horizontalLayout_10.setObjectName("horizontalLayout_10") self.txtPlotSummaryPage = textEditView(self.page_2) self.txtPlotSummaryPage.setObjectName("txtPlotSummaryPage") @@ -721,7 +713,6 @@ class Ui_MainWindow(object): self.page_3 = QtWidgets.QWidget() self.page_3.setObjectName("page_3") self.horizontalLayout_13 = QtWidgets.QHBoxLayout(self.page_3) - self.horizontalLayout_13.setContentsMargins(0, 0, 0, 0) self.horizontalLayout_13.setObjectName("horizontalLayout_13") self.txtPlotSummaryFull = textEditView(self.page_3) self.txtPlotSummaryFull.setObjectName("txtPlotSummaryFull") @@ -839,7 +830,6 @@ class Ui_MainWindow(object): self.layoutWidget = QtWidgets.QWidget(self.splitterOutlineH) self.layoutWidget.setObjectName("layoutWidget") self.verticalLayout_14 = QtWidgets.QVBoxLayout(self.layoutWidget) - self.verticalLayout_14.setContentsMargins(0, 0, 0, 0) self.verticalLayout_14.setObjectName("verticalLayout_14") self.splitterOutlineV = QtWidgets.QSplitter(self.layoutWidget) self.splitterOutlineV.setOrientation(QtCore.Qt.Vertical) @@ -1265,8 +1255,8 @@ class Ui_MainWindow(object): self.stack.setCurrentIndex(1) self.tabMain.setCurrentIndex(3) self.tabSummary.setCurrentIndex(0) - self.tabPersos.setCurrentIndex(0) - self.tabPlot.setCurrentIndex(0) + self.tabPersos.setCurrentIndex(2) + self.tabPlot.setCurrentIndex(1) self.comboBox_2.setCurrentIndex(0) self.stkPlotSummary.setCurrentIndex(0) self.tabWorld.setCurrentIndex(0) diff --git a/manuskript/ui/mainWindow.ui b/manuskript/ui/mainWindow.ui index 7a51fa52..185fdd1f 100644 --- a/manuskript/ui/mainWindow.ui +++ b/manuskript/ui/mainWindow.ui @@ -774,7 +774,7 @@ - 0 + 2 @@ -964,7 +964,7 @@ - + @@ -1002,7 +1002,7 @@ - + @@ -1173,7 +1173,7 @@ - 0 + 1 true @@ -1303,10 +1303,10 @@ - + - + diff --git a/manuskript/ui/views/textEditView.py b/manuskript/ui/views/textEditView.py index 493ef6db..ad858e83 100644 --- a/manuskript/ui/views/textEditView.py +++ b/manuskript/ui/views/textEditView.py @@ -7,7 +7,7 @@ from PyQt5.QtGui import QTextBlockFormat, QTextCharFormat, QFont, QColor, QIcon, from PyQt5.QtWidgets import QWidget, QTextEdit, qApp, QAction, QMenu from manuskript import settings -from manuskript.enums import Outline +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 @@ -175,25 +175,25 @@ class textEditView(QTextEdit): self.updateText() def setupEditorForIndex(self, index): - # In which model are we editing? - if type(index.model()) != outlineModel: - self._textFormat = "text" - return - - # what type of text are we editing? - if self._column not in [Outline.text.value, Outline.notes.value]: - self._textFormat = "text" - - else: - self._textFormat = "md" + # 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]: - self.highlighter = MarkdownHighlighter(self) - else: - self.highlighter = BasicHighlighter(self) + # # 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.setDefaultBlockFormat(self._defaultBlockFormat) self.highlighter.updateColorScheme()