From 39eeaf06e5cb7c68357cdaba1474852ff690a909 Mon Sep 17 00:00:00 2001 From: "Veronica K. B. Olsen" <1619840+vkbo@users.noreply.github.com> Date: Fri, 22 Jan 2021 00:35:43 +0100 Subject: [PATCH] Add explicit reference directory for os relpath calls to avoid issue #581 on Windows --- nw/gui/theme.py | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/nw/gui/theme.py b/nw/gui/theme.py index 2b0f4608..a4258463 100644 --- a/nw/gui/theme.py +++ b/nw/gui/theme.py @@ -180,11 +180,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) @@ -192,10 +195,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 @@ -251,7 +255,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())) @@ -321,6 +326,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: @@ -367,7 +375,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 @@ -761,7 +769,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