mirror of
https://github.com/olivierkes/manuskript.git
synced 2024-05-02 12:02:25 +12:00
things changing
This commit is contained in:
parent
ed0bfed8dc
commit
2348bb8554
3
makefile
3
makefile
|
@ -19,6 +19,9 @@ profile:
|
|||
|
||||
compile:
|
||||
cd src && python3 setup.py build_ext --inplace
|
||||
|
||||
callgraph:
|
||||
pycallgraph graphviz -- src/main.py
|
||||
|
||||
translation:
|
||||
pylupdate5 -noobsolete i18n/manuskript.pro
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
import pickle
|
||||
import pprint
|
||||
from enums import *
|
||||
from qt import *
|
||||
|
||||
viewSettings = {
|
||||
"Tree": {
|
||||
|
@ -47,11 +48,22 @@ corkBackground = {
|
|||
defaultTextType = "t2t"
|
||||
fullScreenTheme = "spacedreams"
|
||||
|
||||
textEditor = {
|
||||
"fontColor": "#000",
|
||||
"font": qApp.font().toString(),
|
||||
"misspelled": "#F00",
|
||||
"lineSpacing": 100,
|
||||
"tabWidth": 20,
|
||||
"indent": True,
|
||||
"spacingAbove": 5,
|
||||
"spacingBelow": 5,
|
||||
}
|
||||
|
||||
def save(filename=None):
|
||||
|
||||
global spellcheck, dict, corkSliderFactor, viewSettings, corkSizeFactor, folderView, lastTab, lastIndex, \
|
||||
autoSave, autoSaveDelay, saveOnQuit, autoSaveNoChanges, autoSaveNoChangesDelay, outlineViewColumns, \
|
||||
corkBackground, fullScreenTheme, defaultTextType
|
||||
corkBackground, fullScreenTheme, defaultTextType, textEditor
|
||||
|
||||
allSettings = {
|
||||
"viewSettings": viewSettings,
|
||||
|
@ -70,6 +82,7 @@ def save(filename=None):
|
|||
"corkBackground":corkBackground,
|
||||
"fullScreenTheme":fullScreenTheme,
|
||||
"defaultTextType":defaultTextType,
|
||||
"textEditor":textEditor,
|
||||
}
|
||||
|
||||
#pp=pprint.PrettyPrinter(indent=4, compact=False)
|
||||
|
@ -164,4 +177,8 @@ def load(string, fromString=False):
|
|||
|
||||
if "defaultTextType" in allSettings:
|
||||
global defaultTextType
|
||||
defaultTextType = allSettings["defaultTextType"]
|
||||
defaultTextType = allSettings["defaultTextType"]
|
||||
|
||||
if "textEditor" in allSettings:
|
||||
global textEditor
|
||||
textEditor = allSettings["textEditor"]
|
|
@ -7,6 +7,7 @@ from ui.settings import *
|
|||
from enums import *
|
||||
from functions import *
|
||||
from ui.editors.themes import *
|
||||
from ui.views.textEditView import *
|
||||
import settings
|
||||
import os
|
||||
|
||||
|
@ -95,6 +96,37 @@ class settingsWindow(QWidget, Ui_Settings):
|
|||
self.cmbCorkImage.currentIndexChanged.connect(self.setCorkBackground)
|
||||
self.btnCorkColor.clicked.connect(self.setCorkColor)
|
||||
|
||||
# Text editor
|
||||
opt = settings.textEditor
|
||||
self.setButtonColor(self.btnEditorFontColor, opt["fontColor"])
|
||||
self.btnEditorFontColor.clicked.connect(self.choseEditorFontColor)
|
||||
self.setButtonColor(self.btnEditorMisspelledColor, opt["misspelled"])
|
||||
self.btnEditorMisspelledColor.clicked.connect(self.choseEditorMisspelledColor)
|
||||
f = QFont()
|
||||
f.fromString(opt["font"])
|
||||
self.cmbEditorFontFamily.setCurrentFont(f)
|
||||
self.cmbEditorFontFamily.currentFontChanged.connect(self.updateEditorSettings)
|
||||
self.spnEditorFontSize.setValue(f.pointSize())
|
||||
self.spnEditorFontSize.valueChanged.connect(self.updateEditorSettings)
|
||||
self.cmbEditorLineSpacing.setCurrentIndex(
|
||||
0 if opt["lineSpacing"] == 100 else
|
||||
1 if opt["lineSpacing"] == 150 else
|
||||
2 if opt["lineSpacing"] == 200 else
|
||||
3)
|
||||
self.cmbEditorLineSpacing.currentIndexChanged.connect(self.updateEditorSettings)
|
||||
self.spnEditorLineSpacing.setValue(opt["lineSpacing"])
|
||||
self.spnEditorLineSpacing.valueChanged.connect(self.updateEditorSettings)
|
||||
self.spnEditorLineSpacing.setEnabled(opt["lineSpacing"] not in [100, 150, 200])
|
||||
self.spnEditorLineSpacing.valueChanged.connect(self.updateEditorSettings)
|
||||
self.spnEditorTabWidth.setValue(opt["tabWidth"])
|
||||
self.spnEditorTabWidth.valueChanged.connect(self.updateEditorSettings)
|
||||
self.chkEditorIndent.setChecked(opt["indent"])
|
||||
self.chkEditorIndent.stateChanged.connect(self.updateEditorSettings)
|
||||
self.spnEditorParaAbove.setValue(opt["spacingAbove"])
|
||||
self.spnEditorParaAbove.valueChanged.connect(self.updateEditorSettings)
|
||||
self.spnEditorParaBelow.setValue(opt["spacingBelow"])
|
||||
self.spnEditorParaAbove.valueChanged.connect(self.updateEditorSettings)
|
||||
|
||||
# Labels
|
||||
self.lstLabels.setModel(self.mw.mdlLabels)
|
||||
self.lstLabels.setRowHidden(0, True)
|
||||
|
@ -280,6 +312,47 @@ class settingsWindow(QWidget, Ui_Settings):
|
|||
if i != -1:
|
||||
self.cmbCorkImage.setCurrentIndex(i)
|
||||
|
||||
####################################################################################################
|
||||
# VIEWS / EDITOR
|
||||
####################################################################################################
|
||||
|
||||
def updateEditorSettings(self):
|
||||
# Store settings
|
||||
f = self.cmbEditorFontFamily.currentFont()
|
||||
f.setPointSize(self.spnEditorFontSize.value())
|
||||
settings.textEditor["font"] = f.toString()
|
||||
settings.textEditor["lineSpacing"] = \
|
||||
100 if self.cmbEditorLineSpacing.currentIndex() == 0 else\
|
||||
150 if self.cmbEditorLineSpacing.currentIndex() == 1 else\
|
||||
200 if self.cmbEditorLineSpacing.currentIndex() == 2 else\
|
||||
self.spnEditorLineSpacing.value()
|
||||
self.spnEditorLineSpacing.setEnabled(self.cmbEditorLineSpacing.currentIndex() == 3)
|
||||
settings.textEditor["tabWidth"] = self.spnEditorTabWidth.value()
|
||||
settings.textEditor["indent"] = True if self.chkEditorIndent.checkState() else False
|
||||
settings.textEditor["spacingAbove"] = self.spnEditorParaAbove.value()
|
||||
settings.textEditor["spacingBelow"] = self.spnEditorParaBelow.value()
|
||||
|
||||
# Update font and defaultBlockFormat to all textEditView. Drastically.
|
||||
for w in mainWindow().findChildren(textEditView, QRegExp(".*")):
|
||||
print(w.objectName(), w.parent().objectName())
|
||||
w.loadFontSettings()
|
||||
|
||||
def choseEditorFontColor(self):
|
||||
color = settings.textEditor["fontColor"]
|
||||
self.colorDialog = QColorDialog(QColor(color), self)
|
||||
color = self.colorDialog.getColor(QColor(color))
|
||||
if color.isValid():
|
||||
settings.textEditor["fontColor"] = color.name()
|
||||
self.setButtonColor(self.btnEditorFontColor, color.name())
|
||||
|
||||
def choseEditorMisspelledColor(self):
|
||||
color = settings.textEditor["misspelled"]
|
||||
self.colorDialog = QColorDialog(QColor(color), self)
|
||||
color = self.colorDialog.getColor(QColor(color))
|
||||
if color.isValid():
|
||||
settings.textEditor["misspelled"] = color.name()
|
||||
self.setButtonColor(self.btnEditorMisspelledColor, color.name())
|
||||
|
||||
####################################################################################################
|
||||
# STATUS #
|
||||
####################################################################################################
|
||||
|
|
|
@ -32,7 +32,8 @@ class basicHighlighter(QSyntaxHighlighter):
|
|||
bf = QTextBlockFormat(self._defaultBlockFormat)
|
||||
bf.setAlignment(QTextCursor(self.currentBlock()).blockFormat().alignment())
|
||||
QTextCursor(self.currentBlock()).setBlockFormat(bf)
|
||||
#self.setFormat(0, len(text), self._defaultCharFormat)
|
||||
|
||||
self.setFormat(0, len(text), self._defaultCharFormat)
|
||||
|
||||
# Spell checking
|
||||
# Based on http://john.nachtimwald.com/2009/08/22/qplaintextedit-with-in-line-spell-check/
|
||||
|
|
|
@ -102,7 +102,7 @@ class t2tHighlighter (QSyntaxHighlighter):
|
|||
op = self.style.format(State.MARKUP)
|
||||
|
||||
#self.setFormat(0, len(text), self.style.format(State.DEFAULT))
|
||||
#self.setFormat(0, len(text), self._defaultCharFormat)
|
||||
self.setFormat(0, len(text), self._defaultCharFormat)
|
||||
|
||||
# InDocRules: is it a settings which might have a specific rule,
|
||||
# a comment which contains color infos, or a include conf?
|
||||
|
|
|
@ -222,6 +222,7 @@ def setThemeEditorDatas(editor, themeDatas, pixmap, screenRect):
|
|||
#f = QFont()
|
||||
#f.fromString(themeDatas["Text/Font"])
|
||||
editor.setFont(f)
|
||||
editor._fromTheme = True
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@ from PyQt5 import QtCore, QtGui, QtWidgets
|
|||
class Ui_Settings(object):
|
||||
def setupUi(self, Settings):
|
||||
Settings.setObjectName("Settings")
|
||||
Settings.resize(658, 486)
|
||||
Settings.resize(658, 491)
|
||||
self.horizontalLayout_8 = QtWidgets.QHBoxLayout(Settings)
|
||||
self.horizontalLayout_8.setObjectName("horizontalLayout_8")
|
||||
self.lstMenu = QtWidgets.QListWidget(Settings)
|
||||
|
@ -706,6 +706,211 @@ class Ui_Settings(object):
|
|||
self.verticalLayout_8.addItem(spacerItem6)
|
||||
self.horizontalLayout_4.addWidget(self.groupBox_7)
|
||||
self.tabViews.addTab(self.tab_3, "")
|
||||
self.tab_4 = QtWidgets.QWidget()
|
||||
self.tab_4.setObjectName("tab_4")
|
||||
self.horizontalLayout_11 = QtWidgets.QHBoxLayout(self.tab_4)
|
||||
self.horizontalLayout_11.setObjectName("horizontalLayout_11")
|
||||
self.groupBox_12 = QtWidgets.QGroupBox(self.tab_4)
|
||||
font = QtGui.QFont()
|
||||
font.setBold(True)
|
||||
font.setWeight(75)
|
||||
self.groupBox_12.setFont(font)
|
||||
self.groupBox_12.setObjectName("groupBox_12")
|
||||
self.formLayout_8 = QtWidgets.QFormLayout(self.groupBox_12)
|
||||
self.formLayout_8.setObjectName("formLayout_8")
|
||||
self.label_37 = QtWidgets.QLabel(self.groupBox_12)
|
||||
font = QtGui.QFont()
|
||||
font.setBold(False)
|
||||
font.setWeight(50)
|
||||
self.label_37.setFont(font)
|
||||
self.label_37.setObjectName("label_37")
|
||||
self.formLayout_8.setWidget(0, QtWidgets.QFormLayout.LabelRole, self.label_37)
|
||||
self.btnEditorFontColor = QtWidgets.QPushButton(self.groupBox_12)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.btnEditorFontColor.sizePolicy().hasHeightForWidth())
|
||||
self.btnEditorFontColor.setSizePolicy(sizePolicy)
|
||||
font = QtGui.QFont()
|
||||
font.setBold(False)
|
||||
font.setWeight(50)
|
||||
self.btnEditorFontColor.setFont(font)
|
||||
self.btnEditorFontColor.setText("")
|
||||
self.btnEditorFontColor.setObjectName("btnEditorFontColor")
|
||||
self.formLayout_8.setWidget(0, QtWidgets.QFormLayout.FieldRole, self.btnEditorFontColor)
|
||||
self.label_39 = QtWidgets.QLabel(self.groupBox_12)
|
||||
font = QtGui.QFont()
|
||||
font.setBold(False)
|
||||
font.setWeight(50)
|
||||
self.label_39.setFont(font)
|
||||
self.label_39.setObjectName("label_39")
|
||||
self.formLayout_8.setWidget(1, QtWidgets.QFormLayout.LabelRole, self.label_39)
|
||||
self.cmbEditorFontFamily = QtWidgets.QFontComboBox(self.groupBox_12)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.cmbEditorFontFamily.sizePolicy().hasHeightForWidth())
|
||||
self.cmbEditorFontFamily.setSizePolicy(sizePolicy)
|
||||
self.cmbEditorFontFamily.setMaximumSize(QtCore.QSize(150, 16777215))
|
||||
font = QtGui.QFont()
|
||||
font.setBold(False)
|
||||
font.setWeight(50)
|
||||
self.cmbEditorFontFamily.setFont(font)
|
||||
self.cmbEditorFontFamily.setObjectName("cmbEditorFontFamily")
|
||||
self.formLayout_8.setWidget(1, QtWidgets.QFormLayout.FieldRole, self.cmbEditorFontFamily)
|
||||
self.label_38 = QtWidgets.QLabel(self.groupBox_12)
|
||||
font = QtGui.QFont()
|
||||
font.setBold(False)
|
||||
font.setWeight(50)
|
||||
self.label_38.setFont(font)
|
||||
self.label_38.setObjectName("label_38")
|
||||
self.formLayout_8.setWidget(2, QtWidgets.QFormLayout.LabelRole, self.label_38)
|
||||
self.label_36 = QtWidgets.QLabel(self.groupBox_12)
|
||||
font = QtGui.QFont()
|
||||
font.setBold(False)
|
||||
font.setWeight(50)
|
||||
self.label_36.setFont(font)
|
||||
self.label_36.setObjectName("label_36")
|
||||
self.formLayout_8.setWidget(3, QtWidgets.QFormLayout.LabelRole, self.label_36)
|
||||
self.btnEditorMisspelledColor = QtWidgets.QPushButton(self.groupBox_12)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.btnEditorMisspelledColor.sizePolicy().hasHeightForWidth())
|
||||
self.btnEditorMisspelledColor.setSizePolicy(sizePolicy)
|
||||
font = QtGui.QFont()
|
||||
font.setBold(False)
|
||||
font.setWeight(50)
|
||||
self.btnEditorMisspelledColor.setFont(font)
|
||||
self.btnEditorMisspelledColor.setText("")
|
||||
self.btnEditorMisspelledColor.setObjectName("btnEditorMisspelledColor")
|
||||
self.formLayout_8.setWidget(3, QtWidgets.QFormLayout.FieldRole, self.btnEditorMisspelledColor)
|
||||
self.spnEditorFontSize = QtWidgets.QSpinBox(self.groupBox_12)
|
||||
font = QtGui.QFont()
|
||||
font.setBold(False)
|
||||
font.setWeight(50)
|
||||
self.spnEditorFontSize.setFont(font)
|
||||
self.spnEditorFontSize.setMinimum(4)
|
||||
self.spnEditorFontSize.setMaximum(299)
|
||||
self.spnEditorFontSize.setProperty("value", 10)
|
||||
self.spnEditorFontSize.setObjectName("spnEditorFontSize")
|
||||
self.formLayout_8.setWidget(2, QtWidgets.QFormLayout.FieldRole, self.spnEditorFontSize)
|
||||
self.horizontalLayout_11.addWidget(self.groupBox_12)
|
||||
self.groupBox_13 = QtWidgets.QGroupBox(self.tab_4)
|
||||
font = QtGui.QFont()
|
||||
font.setBold(True)
|
||||
font.setWeight(75)
|
||||
self.groupBox_13.setFont(font)
|
||||
self.groupBox_13.setObjectName("groupBox_13")
|
||||
self.formLayout_9 = QtWidgets.QFormLayout(self.groupBox_13)
|
||||
self.formLayout_9.setObjectName("formLayout_9")
|
||||
self.label_40 = QtWidgets.QLabel(self.groupBox_13)
|
||||
font = QtGui.QFont()
|
||||
font.setBold(False)
|
||||
font.setWeight(50)
|
||||
self.label_40.setFont(font)
|
||||
self.label_40.setObjectName("label_40")
|
||||
self.formLayout_9.setWidget(0, QtWidgets.QFormLayout.LabelRole, self.label_40)
|
||||
self.cmbEditorLineSpacing = QtWidgets.QComboBox(self.groupBox_13)
|
||||
font = QtGui.QFont()
|
||||
font.setBold(False)
|
||||
font.setWeight(50)
|
||||
self.cmbEditorLineSpacing.setFont(font)
|
||||
self.cmbEditorLineSpacing.setObjectName("cmbEditorLineSpacing")
|
||||
self.cmbEditorLineSpacing.addItem("")
|
||||
self.cmbEditorLineSpacing.addItem("")
|
||||
self.cmbEditorLineSpacing.addItem("")
|
||||
self.cmbEditorLineSpacing.addItem("")
|
||||
self.formLayout_9.setWidget(0, QtWidgets.QFormLayout.FieldRole, self.cmbEditorLineSpacing)
|
||||
self.spnEditorLineSpacing = QtWidgets.QSpinBox(self.groupBox_13)
|
||||
self.spnEditorLineSpacing.setEnabled(False)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.spnEditorLineSpacing.sizePolicy().hasHeightForWidth())
|
||||
self.spnEditorLineSpacing.setSizePolicy(sizePolicy)
|
||||
font = QtGui.QFont()
|
||||
font.setBold(False)
|
||||
font.setWeight(50)
|
||||
self.spnEditorLineSpacing.setFont(font)
|
||||
self.spnEditorLineSpacing.setMinimum(50)
|
||||
self.spnEditorLineSpacing.setMaximum(999)
|
||||
self.spnEditorLineSpacing.setProperty("value", 100)
|
||||
self.spnEditorLineSpacing.setObjectName("spnEditorLineSpacing")
|
||||
self.formLayout_9.setWidget(1, QtWidgets.QFormLayout.FieldRole, self.spnEditorLineSpacing)
|
||||
self.label_42 = QtWidgets.QLabel(self.groupBox_13)
|
||||
font = QtGui.QFont()
|
||||
font.setBold(False)
|
||||
font.setWeight(50)
|
||||
self.label_42.setFont(font)
|
||||
self.label_42.setObjectName("label_42")
|
||||
self.formLayout_9.setWidget(2, QtWidgets.QFormLayout.LabelRole, self.label_42)
|
||||
self.spnEditorTabWidth = QtWidgets.QSpinBox(self.groupBox_13)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.spnEditorTabWidth.sizePolicy().hasHeightForWidth())
|
||||
self.spnEditorTabWidth.setSizePolicy(sizePolicy)
|
||||
font = QtGui.QFont()
|
||||
font.setBold(False)
|
||||
font.setWeight(50)
|
||||
self.spnEditorTabWidth.setFont(font)
|
||||
self.spnEditorTabWidth.setMinimum(0)
|
||||
self.spnEditorTabWidth.setMaximum(199)
|
||||
self.spnEditorTabWidth.setProperty("value", 20)
|
||||
self.spnEditorTabWidth.setObjectName("spnEditorTabWidth")
|
||||
self.formLayout_9.setWidget(2, QtWidgets.QFormLayout.FieldRole, self.spnEditorTabWidth)
|
||||
self.chkEditorIndent = QtWidgets.QCheckBox(self.groupBox_13)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.chkEditorIndent.sizePolicy().hasHeightForWidth())
|
||||
self.chkEditorIndent.setSizePolicy(sizePolicy)
|
||||
font = QtGui.QFont()
|
||||
font.setBold(False)
|
||||
font.setWeight(50)
|
||||
self.chkEditorIndent.setFont(font)
|
||||
self.chkEditorIndent.setObjectName("chkEditorIndent")
|
||||
self.formLayout_9.setWidget(3, QtWidgets.QFormLayout.FieldRole, self.chkEditorIndent)
|
||||
self.label_41 = QtWidgets.QLabel(self.groupBox_13)
|
||||
font = QtGui.QFont()
|
||||
font.setBold(False)
|
||||
font.setWeight(50)
|
||||
self.label_41.setFont(font)
|
||||
self.label_41.setObjectName("label_41")
|
||||
self.formLayout_9.setWidget(4, QtWidgets.QFormLayout.LabelRole, self.label_41)
|
||||
self.spnEditorParaAbove = QtWidgets.QSpinBox(self.groupBox_13)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.spnEditorParaAbove.sizePolicy().hasHeightForWidth())
|
||||
self.spnEditorParaAbove.setSizePolicy(sizePolicy)
|
||||
font = QtGui.QFont()
|
||||
font.setBold(False)
|
||||
font.setWeight(50)
|
||||
self.spnEditorParaAbove.setFont(font)
|
||||
self.spnEditorParaAbove.setMinimum(0)
|
||||
self.spnEditorParaAbove.setMaximum(199)
|
||||
self.spnEditorParaAbove.setProperty("value", 5)
|
||||
self.spnEditorParaAbove.setObjectName("spnEditorParaAbove")
|
||||
self.formLayout_9.setWidget(4, QtWidgets.QFormLayout.FieldRole, self.spnEditorParaAbove)
|
||||
self.spnEditorParaBelow = QtWidgets.QSpinBox(self.groupBox_13)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.spnEditorParaBelow.sizePolicy().hasHeightForWidth())
|
||||
self.spnEditorParaBelow.setSizePolicy(sizePolicy)
|
||||
font = QtGui.QFont()
|
||||
font.setBold(False)
|
||||
font.setWeight(50)
|
||||
self.spnEditorParaBelow.setFont(font)
|
||||
self.spnEditorParaBelow.setMinimum(0)
|
||||
self.spnEditorParaBelow.setMaximum(199)
|
||||
self.spnEditorParaBelow.setProperty("value", 5)
|
||||
self.spnEditorParaBelow.setObjectName("spnEditorParaBelow")
|
||||
self.formLayout_9.setWidget(5, QtWidgets.QFormLayout.FieldRole, self.spnEditorParaBelow)
|
||||
self.horizontalLayout_11.addWidget(self.groupBox_13)
|
||||
self.tabViews.addTab(self.tab_4, "")
|
||||
self.verticalLayout_9.addWidget(self.tabViews)
|
||||
self.stack.addWidget(self.stackedWidgetPage2)
|
||||
self.stackedWidgetPage3 = QtWidgets.QWidget()
|
||||
|
@ -1192,10 +1397,10 @@ class Ui_Settings(object):
|
|||
self.horizontalLayout_8.addWidget(self.stack)
|
||||
|
||||
self.retranslateUi(Settings)
|
||||
self.stack.setCurrentIndex(0)
|
||||
self.tabViews.setCurrentIndex(0)
|
||||
self.stack.setCurrentIndex(1)
|
||||
self.tabViews.setCurrentIndex(3)
|
||||
self.themeStack.setCurrentIndex(1)
|
||||
self.themeEditStack.setCurrentIndex(1)
|
||||
self.themeEditStack.setCurrentIndex(0)
|
||||
self.lstMenu.currentRowChanged['int'].connect(self.stack.setCurrentIndex)
|
||||
QtCore.QMetaObject.connectSlotsByName(Settings)
|
||||
|
||||
|
@ -1323,6 +1528,25 @@ class Ui_Settings(object):
|
|||
self.btnCorkColor.setShortcut(_translate("Settings", "Ctrl+S"))
|
||||
self.label_16.setText(_translate("Settings", "Image:"))
|
||||
self.tabViews.setTabText(self.tabViews.indexOf(self.tab_3), _translate("Settings", "Index cards"))
|
||||
self.groupBox_12.setTitle(_translate("Settings", "Font"))
|
||||
self.label_37.setText(_translate("Settings", "Color:"))
|
||||
self.label_39.setText(_translate("Settings", "Family:"))
|
||||
self.label_38.setText(_translate("Settings", "Size:"))
|
||||
self.label_36.setText(_translate("Settings", "Misspelled:"))
|
||||
self.groupBox_13.setTitle(_translate("Settings", "Paragraphs"))
|
||||
self.label_40.setText(_translate("Settings", "Line spacing:"))
|
||||
self.cmbEditorLineSpacing.setItemText(0, _translate("Settings", "Single"))
|
||||
self.cmbEditorLineSpacing.setItemText(1, _translate("Settings", "1.5 lines"))
|
||||
self.cmbEditorLineSpacing.setItemText(2, _translate("Settings", "Double"))
|
||||
self.cmbEditorLineSpacing.setItemText(3, _translate("Settings", "Proportional"))
|
||||
self.spnEditorLineSpacing.setSuffix(_translate("Settings", "%"))
|
||||
self.label_42.setText(_translate("Settings", "Tab width:"))
|
||||
self.spnEditorTabWidth.setSuffix(_translate("Settings", " px"))
|
||||
self.chkEditorIndent.setText(_translate("Settings", "Indent 1st line"))
|
||||
self.label_41.setText(_translate("Settings", "Spacing:"))
|
||||
self.spnEditorParaAbove.setSuffix(_translate("Settings", " px"))
|
||||
self.spnEditorParaBelow.setSuffix(_translate("Settings", " px"))
|
||||
self.tabViews.setTabText(self.tabViews.indexOf(self.tab_4), _translate("Settings", "Text editor"))
|
||||
self.lblTitleLabels.setText(_translate("Settings", "Labels"))
|
||||
self.btnLabelColor.setShortcut(_translate("Settings", "Ctrl+S"))
|
||||
self.lblTitleStatus.setText(_translate("Settings", "Status"))
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>658</width>
|
||||
<height>486</height>
|
||||
<height>491</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
|
@ -46,7 +46,7 @@
|
|||
<item>
|
||||
<widget class="QStackedWidget" name="stack">
|
||||
<property name="currentIndex">
|
||||
<number>0</number>
|
||||
<number>1</number>
|
||||
</property>
|
||||
<widget class="QWidget" name="stackedWidgetPage1">
|
||||
<layout class="QVBoxLayout" name="verticalLayout_7">
|
||||
|
@ -436,7 +436,7 @@ text-align:center;</string>
|
|||
<item>
|
||||
<widget class="QTabWidget" name="tabViews">
|
||||
<property name="currentIndex">
|
||||
<number>0</number>
|
||||
<number>3</number>
|
||||
</property>
|
||||
<widget class="QWidget" name="tab">
|
||||
<attribute name="title">
|
||||
|
@ -1485,6 +1485,377 @@ text-align:center;</string>
|
|||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QWidget" name="tab_4">
|
||||
<attribute name="title">
|
||||
<string>Text editor</string>
|
||||
</attribute>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_11">
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox_12">
|
||||
<property name="font">
|
||||
<font>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>Font</string>
|
||||
</property>
|
||||
<layout class="QFormLayout" name="formLayout_8">
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label_37">
|
||||
<property name="font">
|
||||
<font>
|
||||
<weight>50</weight>
|
||||
<bold>false</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Color:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QPushButton" name="btnEditorFontColor">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<weight>50</weight>
|
||||
<bold>false</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="label_39">
|
||||
<property name="font">
|
||||
<font>
|
||||
<weight>50</weight>
|
||||
<bold>false</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Family:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QFontComboBox" name="cmbEditorFontFamily">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>150</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<weight>50</weight>
|
||||
<bold>false</bold>
|
||||
</font>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="label_38">
|
||||
<property name="font">
|
||||
<font>
|
||||
<weight>50</weight>
|
||||
<bold>false</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Size:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QLabel" name="label_36">
|
||||
<property name="font">
|
||||
<font>
|
||||
<weight>50</weight>
|
||||
<bold>false</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Misspelled:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
<widget class="QPushButton" name="btnEditorMisspelledColor">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<weight>50</weight>
|
||||
<bold>false</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QSpinBox" name="spnEditorFontSize">
|
||||
<property name="font">
|
||||
<font>
|
||||
<weight>50</weight>
|
||||
<bold>false</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="minimum">
|
||||
<number>4</number>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>299</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>10</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox_13">
|
||||
<property name="font">
|
||||
<font>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>Paragraphs</string>
|
||||
</property>
|
||||
<layout class="QFormLayout" name="formLayout_9">
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label_40">
|
||||
<property name="font">
|
||||
<font>
|
||||
<weight>50</weight>
|
||||
<bold>false</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Line spacing:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QComboBox" name="cmbEditorLineSpacing">
|
||||
<property name="font">
|
||||
<font>
|
||||
<weight>50</weight>
|
||||
<bold>false</bold>
|
||||
</font>
|
||||
</property>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Single</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>1.5 lines</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Double</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Proportional</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QSpinBox" name="spnEditorLineSpacing">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<weight>50</weight>
|
||||
<bold>false</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="suffix">
|
||||
<string>%</string>
|
||||
</property>
|
||||
<property name="minimum">
|
||||
<number>50</number>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>999</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>100</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="label_42">
|
||||
<property name="font">
|
||||
<font>
|
||||
<weight>50</weight>
|
||||
<bold>false</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Tab width:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QSpinBox" name="spnEditorTabWidth">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<weight>50</weight>
|
||||
<bold>false</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="suffix">
|
||||
<string> px</string>
|
||||
</property>
|
||||
<property name="minimum">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>199</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>20</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
<widget class="QCheckBox" name="chkEditorIndent">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<weight>50</weight>
|
||||
<bold>false</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Indent 1st line</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="0">
|
||||
<widget class="QLabel" name="label_41">
|
||||
<property name="font">
|
||||
<font>
|
||||
<weight>50</weight>
|
||||
<bold>false</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Spacing:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="1">
|
||||
<widget class="QSpinBox" name="spnEditorParaAbove">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<weight>50</weight>
|
||||
<bold>false</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="suffix">
|
||||
<string> px</string>
|
||||
</property>
|
||||
<property name="minimum">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>199</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>5</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="1">
|
||||
<widget class="QSpinBox" name="spnEditorParaBelow">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<weight>50</weight>
|
||||
<bold>false</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="suffix">
|
||||
<string> px</string>
|
||||
</property>
|
||||
<property name="minimum">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>199</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>5</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
|
@ -1897,7 +2268,7 @@ text-align:center;</string>
|
|||
<item>
|
||||
<widget class="QStackedWidget" name="themeEditStack">
|
||||
<property name="currentIndex">
|
||||
<number>1</number>
|
||||
<number>0</number>
|
||||
</property>
|
||||
<widget class="QWidget" name="stackedWidgetPage1_2">
|
||||
<layout class="QFormLayout" name="formLayout_4">
|
||||
|
|
|
@ -9,6 +9,7 @@ from ui.editors.basicHighlighter import *
|
|||
from ui.editors.textFormat import *
|
||||
from models.outlineModel import *
|
||||
from functions import *
|
||||
import settings
|
||||
import re
|
||||
|
||||
try:
|
||||
|
@ -30,12 +31,15 @@ class textEditView(QTextEdit):
|
|||
self._highlighting = highlighting
|
||||
self._textFormat = "text"
|
||||
self.setAcceptRichText(False)
|
||||
# When setting up a theme, this becomes true.
|
||||
self._fromTheme = False
|
||||
|
||||
self.spellcheck = spellcheck
|
||||
self.currentDict = dict
|
||||
self.highlighter = None
|
||||
self._autoResize = autoResize
|
||||
self._defaultBlockFormat = QTextBlockFormat()
|
||||
self._defaultCharFormat = QTextCharFormat()
|
||||
self.highlightWord = ""
|
||||
self.highligtCS = False
|
||||
self.defaultFontPointSize = qApp.font().pointSize()
|
||||
|
@ -106,6 +110,7 @@ class textEditView(QTextEdit):
|
|||
pass
|
||||
|
||||
self.setupEditorForIndex(self._index)
|
||||
self.loadFontSettings()
|
||||
#self.document().contentsChanged.connect(self.submit, AUC)
|
||||
self.updateText()
|
||||
|
||||
|
@ -155,6 +160,37 @@ class textEditView(QTextEdit):
|
|||
|
||||
self.highlighter.setDefaultBlockFormat(self._defaultBlockFormat)
|
||||
|
||||
def loadFontSettings(self):
|
||||
if self._fromTheme or \
|
||||
not self._index or \
|
||||
type(self._index.model()) != outlineModel or \
|
||||
self._column != Outline.text.value:
|
||||
return
|
||||
|
||||
opt = settings.textEditor
|
||||
f = QFont()
|
||||
f.fromString(opt["font"])
|
||||
self.setFont(f)
|
||||
|
||||
|
||||
cf = QTextCharFormat()
|
||||
cf.setFont(f)
|
||||
cf.setForeground(QColor(opt["fontColor"]))
|
||||
|
||||
bf = QTextBlockFormat()
|
||||
bf.setLineHeight(opt["lineSpacing"], bf.ProportionalHeight)
|
||||
bf.setTextIndent(opt["tabWidth"] * 1 if opt["indent"] else 0)
|
||||
bf.setTopMargin(opt["spacingAbove"])
|
||||
bf.setBottomMargin(opt["spacingBelow"])
|
||||
|
||||
self._defaultCharFormat = cf
|
||||
self._defaultBlockFormat = bf
|
||||
|
||||
if self.highlighter:
|
||||
self.highlighter.setMisspelledColor(QColor(opt["misspelled"]))
|
||||
self.highlighter.setDefaultCharFormat(self._defaultCharFormat)
|
||||
self.highlighter.setDefaultBlockFormat(self._defaultBlockFormat)
|
||||
|
||||
def setCurrentModelIndexes(self, indexes):
|
||||
self._index = None
|
||||
self._indexes = []
|
||||
|
@ -420,9 +456,9 @@ class textEditView(QTextEdit):
|
|||
cursor = self.textCursor()
|
||||
|
||||
if _format == "Clear":
|
||||
fmt = QTextCharFormat()
|
||||
fmt = self._defaultCharFormat
|
||||
cursor.setCharFormat(fmt)
|
||||
bf = QTextBlockFormat()
|
||||
bf = self._defaultBlockFormat
|
||||
cursor.setBlockFormat(bf)
|
||||
|
||||
elif _format in ["Bold", "Italic", "Underline"]:
|
||||
|
@ -445,7 +481,7 @@ class textEditView(QTextEdit):
|
|||
elif _format == "Underline":
|
||||
fmt.setFontUnderline(not fmt.fontUnderline())
|
||||
|
||||
fmt2 = QTextCharFormat()
|
||||
fmt2 = self._defaultCharFormat
|
||||
fmt2.setFontWeight(fmt.fontWeight())
|
||||
fmt2.setFontItalic(fmt.fontItalic())
|
||||
fmt2.setFontUnderline(fmt.fontUnderline())
|
||||
|
|
Loading…
Reference in a new issue