Merge branch 'dev' into issue546_multipar_quotes

This commit is contained in:
Veronica K. B. Olsen
2021-01-23 15:44:01 +01:00
15 changed files with 982 additions and 536 deletions
@@ -0,0 +1,28 @@
[Main]
name = Solarized Dark
author = nullbasis
credit = Ethan Schoonover
url = https://ethanschoonover.com/solarized/
license = MIT
licenseurl = https://github.com/altercation/solarized/blob/master/LICENSE
[Palette]
window = 0, 43, 54
windowtext = 253, 246, 227
base = 7, 54, 66
alternatebase = 67, 67, 67
text = 253, 246, 227
tooltipbase = 133, 153, 0
tooltiptext = 0, 43, 54
button = 7, 54, 66
buttontext = 253, 246, 227
brighttext = 253, 246, 227
highlight = 42, 161, 152
highlightedtext = 0, 43, 54
link = 38, 139, 210
linkvisited = 38, 139, 210
[GUI]
statusnone = 88, 110, 117
statussaved = 42, 161, 152
statusunsaved = 203, 75, 22
@@ -0,0 +1,28 @@
[Main]
name = Solarized Light
author = nullbasis
credit = Ethan Schoonover
url = https://ethanschoonover.com/solarized/
license = MIT
licenseurl = https://github.com/altercation/solarized/blob/master/LICENSE
[Palette]
window = 238, 232, 213
windowtext = 0, 43, 54
base = 253, 246, 227
alternatebase = 238, 232, 213
text = 0, 43, 54
tooltipbase = 133, 153, 0
tooltiptext = 0, 43, 54
button = 238, 232, 213
buttontext = 0, 43, 54
brighttext = 0, 43, 54
highlight = 42, 161, 152
highlightedtext = 253, 246, 227
link = 38, 139, 210
linkvisited = 38, 139, 210
[GUI]
statusnone = 88, 110, 117
statussaved = 42, 161, 152
statusunsaved = 203, 75, 22
@@ -0,0 +1,25 @@
[Main]
name = Solarized Dark
author = nullbasis
credit = Ethan Schoonover
url = https://ethanschoonover.com/solarized/
license = MIT
licenseurl = https://github.com/altercation/solarized/blob/master/LICENSE
[Syntax]
background = 7, 54, 66
text = 253, 246, 227
link = 38, 139, 210
headertext = 147, 161, 161
headertag = 42, 161, 152
emphasis = 38, 139, 210
straightquotes = 211, 54, 130
doublequotes = 42, 161, 152
singlequotes = 42, 161, 152
hidden = 147, 161, 161
keyword = 133, 153, 0
value = 203, 75, 22
spellcheckline = 203, 75, 22
tagerror = 220, 50, 47
replacetag = 133, 153, 0
modifier = 181, 137, 0
@@ -0,0 +1,25 @@
[Main]
name = Solarized Light
author = nullbasis
credit = Ethan Schoonover
url = https://ethanschoonover.com/solarized/
license = MIT
licenseurl = https://github.com/altercation/solarized/blob/master/LICENSE
[Syntax]
background = 253, 246, 227
text = 0, 43, 54
link = 38, 139, 210
headertext = 88, 110, 117
headertag = 42, 161, 152
emphasis = 38, 139, 210
straightquotes = 211, 54, 130
doublequotes = 42, 161, 152
singlequotes = 42, 161, 152
hidden = 88, 110, 117
keyword = 133, 153, 0
value = 203, 75, 22
spellcheckline = 203, 75, 22
tagerror = 220, 50, 47
replacetag = 133, 153, 0
modifier = 181, 137, 0
+10 -4
View File
@@ -270,10 +270,16 @@ class Config:
logger.verbose("Config path: %s" % self.confPath)
logger.verbose("Data path: %s" % self.dataPath)
self.confFile = self.appHandle+".conf"
self.lastPath = os.path.expanduser("~")
self.appPath = getattr(sys, "_MEIPASS", os.path.abspath(os.path.dirname(__file__)))
self.appRoot = os.path.join(self.appPath, os.path.pardir)
self.confFile = self.appHandle+".conf"
self.lastPath = os.path.expanduser("~")
self.appPath = getattr(sys, "_MEIPASS", os.path.abspath(os.path.dirname(__file__)))
self.appRoot = os.path.abspath(os.path.join(self.appPath, os.path.pardir))
if self.appRoot.endswith(".pyz"):
self.appRoot = os.path.abspath(os.path.join(self.appRoot, os.path.pardir))
self.appPath = self.appRoot
# Assets
self.assetPath = os.path.join(self.appPath, "assets")
self.themeRoot = os.path.join(self.assetPath, "themes")
self.dictPath = os.path.join(self.assetPath, "dict")
+2 -2
View File
@@ -458,7 +458,7 @@ class GuiDocEditor(QTextEdit):
docChanged = self.docChanged
if self.mainConf.scrollPastEnd:
docFrame = self.qDocument.rootFrame().frameFormat()
docFrame.setBottomMargin(max(0, 0.6*(wH - uM - lM - 4*tB)))
docFrame.setBottomMargin(max(0, 0.9*(wH - uM - lM - 4*tB)))
self.qDocument.rootFrame().setFrameFormat(docFrame)
# This is needed as the setFrameFormat function itself will
@@ -850,7 +850,7 @@ class GuiDocEditor(QTextEdit):
if okMod and okKey:
cNew = self.cursorRect().center().y()
cMov = cNew - cOld
mPos = self.mainConf.autoScrollPos * self.viewport().height() * 0.01
mPos = self.mainConf.autoScrollPos*0.01 * self.viewport().height()
if abs(cMov) > 0 and cOld > mPos:
# Move the scroll bar
vBar = self.verticalScrollBar()
+14 -5
View File
@@ -179,11 +179,14 @@ class GuiTheme:
def loadFonts(self):
"""Add the fonts in the assets fonts folder to the app.
"""
logger.debug("Loading additional fonts")
ttfList = []
fontAssets = os.path.join(self.mainConf.assetPath, self.fontPath)
for fontFam in os.listdir(fontAssets):
fontDir = os.path.join(fontAssets, fontFam)
if os.path.isdir(fontDir):
logger.verbose("Found font: %s" % fontFam)
if fontFam not in self.guiFontDB.families():
for fontFile in os.listdir(fontDir):
ttfFile = os.path.join(fontDir, fontFile)
@@ -191,10 +194,11 @@ class GuiTheme:
ttfList.append(ttfFile)
for ttfFile in ttfList:
logger.verbose("Font asset: %s" % os.path.relpath(ttfFile))
relPath = os.path.relpath(ttfFile, fontAssets)
logger.verbose("Adding font: %s" % relPath)
fontID = self.guiFontDB.addApplicationFont(ttfFile)
if fontID < 0:
logger.error("Failed to add font: %s" % os.path.relpath(ttfFile))
logger.error("Failed to add font: %s" % relPath)
return
@@ -250,7 +254,8 @@ class GuiTheme:
return True
def loadTheme(self):
"""Load the currently specified GUI theme.
"""
logger.debug("Loading theme files")
logger.debug("System icon theme is '%s'" % str(QIcon.themeName()))
@@ -320,6 +325,9 @@ class GuiTheme:
return True
def loadSyntax(self):
"""Load the currently specified syntax highlighter theme.
"""
logger.debug("Loading syntax theme files")
confParser = configparser.ConfigParser()
try:
@@ -366,7 +374,7 @@ class GuiTheme:
return True
def listThemes(self):
"""Scan the gui themes folder and list all themes.
"""Scan the GUI themes folder and list all themes.
"""
if self.themeList:
return self.themeList
@@ -765,7 +773,8 @@ class GuiIcons:
# Otherwise, we start looking for it
# First in the theme folder
if iconKey in self.themeMap:
logger.verbose("Loading: %s" % os.path.relpath(self.themeMap[iconKey]))
relPath = os.path.relpath(self.themeMap[iconKey], self.mainConf.iconPath)
logger.verbose("Loading: %s" % relPath)
return QIcon(self.themeMap[iconKey])
# Next, we try to load the Qt style icons