From ecf775e306cdfec775932b4b5fdafbc0ef5f5b1f Mon Sep 17 00:00:00 2001 From: Jean-Francois Dockes Date: Sun, 21 Mar 2021 10:03:27 +0100 Subject: [PATCH] GUI: move the code managing the dark mode css into guiutils --- src/qtgui/guiutils.cpp | 23 +++++++++++++++++++++++ src/qtgui/guiutils.h | 2 ++ src/qtgui/rclm_wins.cpp | 6 +----- src/qtgui/rclmain_w.cpp | 16 ---------------- src/qtgui/rclmain_w.h | 1 - src/qtgui/uiprefs_w.cpp | 6 +----- 6 files changed, 27 insertions(+), 27 deletions(-) diff --git a/src/qtgui/guiutils.cpp b/src/qtgui/guiutils.cpp index 09f26aec..316efa8c 100644 --- a/src/qtgui/guiutils.cpp +++ b/src/qtgui/guiutils.cpp @@ -26,6 +26,7 @@ #include "pathut.h" #include "base64.h" #include "advshist.h" +#include "readfile.h" #include #include @@ -421,10 +422,32 @@ void rwSettings(bool writing) prefs.asearchSubdirHist.push_back(u8s2qs(dbd.c_str())); } } + if (!writing) { + prefs.setupDarkCSS(); + } if (!writing) havereadsettings = true; } +void PrefsPack::setupDarkCSS() +{ + if (!darkMode) { + darkreslistheadertext.clear(); + return; + } + if (nullptr == theconfig) { + return; + } + string fn = path_cat( + path_cat(theconfig->getDatadir(), "examples"), "recoll-dark.css"); + string data; + string reason; + if (!file_to_string(fn, data, &reason)) { + std::cerr << "Recoll: Could not read: " << fn << "\n"; + } + darkreslistheadertext = u8s2qs(data); +} + string PrefsPack::stemlang() { string stemLang(qs2utf8s(prefs.queryStemLang)); diff --git a/src/qtgui/guiutils.h b/src/qtgui/guiutils.h index c83faa9d..b5f93d0c 100644 --- a/src/qtgui/guiutils.h +++ b/src/qtgui/guiutils.h @@ -173,6 +173,8 @@ public: std::string stemlang(); + void setupDarkCSS(); + // MIME types for which we prefer to use stored text from preview // rather than extracting the possibly nicer HTML because the // extractor is very slow. This is compiled in and there is no UI diff --git a/src/qtgui/rclm_wins.cpp b/src/qtgui/rclm_wins.cpp index 80594a1b..a75d4d61 100644 --- a/src/qtgui/rclm_wins.cpp +++ b/src/qtgui/rclm_wins.cpp @@ -331,11 +331,7 @@ void RclMain::showExtIdxDialog() void RclMain::showAboutDialog() { - QString darkcss; - if (prefs.darkMode) { - darkcss = readDarkCSS(); - } - QString vstring = QString("") + darkcss + "" + + QString vstring = QString("") + prefs.darkreslistheadertext + "" + u8s2qs(Rcl::version_string()) + "
www.recoll.org" + "
www.xapian.org"; diff --git a/src/qtgui/rclmain_w.cpp b/src/qtgui/rclmain_w.cpp index c9a98edd..2423f824 100644 --- a/src/qtgui/rclmain_w.cpp +++ b/src/qtgui/rclmain_w.cpp @@ -530,22 +530,6 @@ void RclMain::setSynEnabled(bool on) uiprefs->synFileCB->setChecked(prefs.synFileEnable); } -QString RclMain::readDarkCSS() -{ - if (nullptr == theconfig) { - return QString(); - } - string fn = path_cat( - path_cat(theconfig->getDatadir(), "examples"), "recoll-dark.css"); - string data; - string reason; - if (!file_to_string(fn, data, &reason)) { - QMessageBox::warning(0, "Recoll", tr("Could not read: ") + u8s2qs(fn)); - return QString(); - } - return u8s2qs(data); -} - void RclMain::resultCount(int n) { actionSortByDateAsc->setEnabled(n>0); diff --git a/src/qtgui/rclmain_w.h b/src/qtgui/rclmain_w.h index 16b097cb..74133e0a 100644 --- a/src/qtgui/rclmain_w.h +++ b/src/qtgui/rclmain_w.h @@ -89,7 +89,6 @@ public: return m_indexerState; } void enableTrayIcon(bool onoff); - QString readDarkCSS(); void setupToolbars(); void setupStatusBar(); void buildMenus(); diff --git a/src/qtgui/uiprefs_w.cpp b/src/qtgui/uiprefs_w.cpp index 3c1dca9e..24ef5f3d 100644 --- a/src/qtgui/uiprefs_w.cpp +++ b/src/qtgui/uiprefs_w.cpp @@ -400,11 +400,7 @@ void UIPrefsDialog::accept() prefs.reslistfontfamily = reslistFontFamily; prefs.reslistfontsize = reslistFontSize; prefs.darkMode = darkMode; - if (darkMode) { - prefs.darkreslistheadertext = m_mainWindow->readDarkCSS(); - } else { - prefs.darkreslistheadertext.clear(); - } + prefs.setupDarkCSS(); prefs.qssFile = qssFile; QTimer::singleShot(0, m_mainWindow, SLOT(applyStyleSheet())); prefs.snipCssFile = snipCssFile;