From b71fb71fdc08bcc25f76d6b56bf2e0e1e253a449 Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Tue, 9 Jul 2019 21:14:09 +0200 Subject: [PATCH] Log message if qss file can not be opened for write --- .../components/settingsfontcomponent.cpp | 1 + src/blackgui/stylesheetutility.cpp | 19 ++++++++++++++----- src/blackgui/stylesheetutility.h | 4 ++++ 3 files changed, 19 insertions(+), 5 deletions(-) diff --git a/src/blackgui/components/settingsfontcomponent.cpp b/src/blackgui/components/settingsfontcomponent.cpp index eeb6f160b..946aec3f2 100644 --- a/src/blackgui/components/settingsfontcomponent.cpp +++ b/src/blackgui/components/settingsfontcomponent.cpp @@ -93,6 +93,7 @@ namespace BlackGui void CSettingsFontComponent::changeFont() { + if (!sGui || sGui->isShuttingDown()) { return; } const QString fontSize = ui->cb_SettingsGuiFontSize->currentText().append("pt"); const QString fontFamily = ui->cb_SettingsGuiFont->currentFont().family(); const QString fontStyleCombined = ui->cb_SettingsGuiFontStyle->currentText(); diff --git a/src/blackgui/stylesheetutility.cpp b/src/blackgui/stylesheetutility.cpp index 206de7196..99b541ba0 100644 --- a/src/blackgui/stylesheetutility.cpp +++ b/src/blackgui/stylesheetutility.cpp @@ -9,6 +9,7 @@ #include "blackconfig/buildconfig.h" #include "blackgui/stylesheetutility.h" #include "blackmisc/fileutils.h" +#include "blackmisc/logmessage.h" #include "blackmisc/directoryutils.h" #include "blackmisc/restricted.h" @@ -41,6 +42,12 @@ namespace BlackGui connect(&m_fileWatcher, &QFileSystemWatcher::fileChanged, this, &CStyleSheetUtility::qssDirectoryChanged); } + const CLogCategoryList &CStyleSheetUtility::getLogCategories() + { + static const CLogCategoryList cats { CLogCategory::guiComponent() }; + return cats; + } + const QString &CStyleSheetUtility::fontStyleAsString(const QFont &font) { static const QString n("normal"); @@ -247,11 +254,9 @@ namespace BlackGui bool CStyleSheetUtility::updateFont(const QString &qss) { - QString qssWidget("QWidget {\n"); - qssWidget.append(qss); - qssWidget.append("}\n"); - - QFile fontFile(CDirectoryUtils::stylesheetsDirectory() + "/" + fileNameFontsModified()); + const QString qssWidget(u"QWidget {\n" % qss % u"}\n"); + const QString fn = CFileUtils::appendFilePaths(CDirectoryUtils::stylesheetsDirectory(), fileNameFontsModified()); + QFile fontFile(fn); bool ok = fontFile.open(QFile::Text | QFile::WriteOnly); if (ok) { @@ -260,6 +265,10 @@ namespace BlackGui fontFile.close(); ok = this->read(); } + else + { + CLogMessage(getLogCategories()).warning(u"Cannot open file '%1' for writing") << fn; + } return ok; } diff --git a/src/blackgui/stylesheetutility.h b/src/blackgui/stylesheetutility.h index a5a1b0688..7364a7ac5 100644 --- a/src/blackgui/stylesheetutility.h +++ b/src/blackgui/stylesheetutility.h @@ -12,6 +12,7 @@ #define BLACKGUI_STYLESHEETUTILITY_H #include "blackgui/blackguiexport.h" +#include "blackmisc/logcategorylist.h" #include "blackmisc/restricted.h" #include "blackmisc/digestsignal.h" @@ -40,6 +41,9 @@ namespace BlackGui //! Constructor explicit CStyleSheetUtility(BlackMisc::Restricted, QObject *parent = nullptr); + //! Log cats. + static const BlackMisc::CLogCategoryList &getLogCategories(); + //! Style for given file name QString style(const QString &fileName) const;