From d2a6098eca733fbc19da2a5a968ba607a5520e9d Mon Sep 17 00:00:00 2001 From: Nikhil Tanwar <2002nikhiltanwar@gmail.com> Date: Tue, 12 Sep 2023 19:20:37 +0530 Subject: [PATCH] Introduce KiwixApp::parseStyleFromFile() This change adds a new function parseStyleFromFile(QString filePath) It takes a file path, reads it and returns the string --- src/choiceitem.cpp | 6 ++---- src/contentmanagerside.cpp | 5 +---- src/contentmanagerview.cpp | 5 +---- src/kiwixapp.cpp | 17 ++++++++++------- src/kiwixapp.h | 1 + src/kiwixchoicebox.cpp | 5 +---- src/kiwixconfirmbox.cpp | 8 +------- src/searchbar.cpp | 7 +------ src/settingsview.cpp | 5 +---- 9 files changed, 19 insertions(+), 40 deletions(-) diff --git a/src/choiceitem.cpp b/src/choiceitem.cpp index 8f0ba0d..e634645 100644 --- a/src/choiceitem.cpp +++ b/src/choiceitem.cpp @@ -2,6 +2,7 @@ #include "ui_choiceitem.h" #include #include +#include "kiwixapp.h" ChoiceItem::ChoiceItem(QString key, QString value, QWidget *parent) : QWidget(parent), @@ -10,10 +11,7 @@ ChoiceItem::ChoiceItem(QString key, QString value, QWidget *parent) : m_value(value) { ui->setupUi(this); - QFile file(QString::fromUtf8(":/css/choiceBox.css")); - file.open(QFile::ReadOnly); - QString styleSheet = QString(file.readAll()); - this->setStyleSheet(styleSheet); + this->setStyleSheet(KiwixApp::instance()->parseStyleFromFile(":/css/choiceBox.css")); ui->itemLabel->setText(key); ui->itemLabel->setToolTip(key); connect(ui->closeButton, &QPushButton::clicked, [=](){ diff --git a/src/contentmanagerside.cpp b/src/contentmanagerside.cpp index 4666ebe..3b6fb5f 100644 --- a/src/contentmanagerside.cpp +++ b/src/contentmanagerside.cpp @@ -13,10 +13,7 @@ ContentManagerSide::ContentManagerSide(QWidget *parent) : { setFocusPolicy(Qt::FocusPolicy::StrongFocus); mp_ui->setupUi(this); - QFile file(QString::fromUtf8(":/css/contentmanagerside.css")); - file.open(QFile::ReadOnly); - QString styleSheet = QString(file.readAll()); - this->setStyleSheet(styleSheet); + this->setStyleSheet(KiwixApp::instance()->parseStyleFromFile(":/css/contentmanagerside.css")); mp_ui->buttonGroup->setId(mp_ui->allFileButton, CatalogButtonId::ALL); mp_ui->buttonGroup->setId(mp_ui->localFileButton, CatalogButtonId::LOCAL); diff --git a/src/contentmanagerview.cpp b/src/contentmanagerview.cpp index f3281ee..24ba1f9 100644 --- a/src/contentmanagerview.cpp +++ b/src/contentmanagerview.cpp @@ -10,10 +10,7 @@ ContentManagerView::ContentManagerView(QWidget *parent) { mp_ui->setupUi(this); mp_ui->m_view->setSortingEnabled(true); - QFile file(QString::fromUtf8(":/css/_contentManager.css")); - file.open(QFile::ReadOnly); - QString styleSheet = QString(file.readAll()); - mp_ui->m_view->setStyleSheet(styleSheet); + mp_ui->m_view->setStyleSheet(KiwixApp::instance()->parseStyleFromFile(":/css/_contentManager.css")); mp_ui->m_view->setContextMenuPolicy(Qt::CustomContextMenu); auto managerDelegate = new ContentManagerDelegate(); mp_ui->m_view->setItemDelegate(managerDelegate); diff --git a/src/kiwixapp.cpp b/src/kiwixapp.cpp index eff5b07..a47274b 100644 --- a/src/kiwixapp.cpp +++ b/src/kiwixapp.cpp @@ -72,13 +72,7 @@ void KiwixApp::init() setApplicationName("Kiwix"); setDesktopFileName("kiwix.desktop"); - - QFile styleFile(":/css/style.css"); - styleFile.open(QIODevice::ReadOnly); - auto byteContent = styleFile.readAll(); - QString style(byteContent); - setStyleSheet(style); - + setStyleSheet(parseStyleFromFile(":/css/style.css")); createAction(); mp_mainWindow = new MainWindow; @@ -474,3 +468,12 @@ void KiwixApp::printVersions(std::ostream& out) { out << std::endl; zim::printVersions(out); } + +QString KiwixApp::parseStyleFromFile(QString filePath) +{ + QFile file(filePath); + file.open(QFile::ReadOnly); + QString styleSheet = QString(file.readAll()); + file.close(); + return styleSheet; +} diff --git a/src/kiwixapp.h b/src/kiwixapp.h index 212f168..4a4befb 100644 --- a/src/kiwixapp.h +++ b/src/kiwixapp.h @@ -86,6 +86,7 @@ public: QString getText(const QString &key) { return m_translation.getText(key); }; void setMonitorDir(const QString &dir); bool isCurrentArticleBookmarked(); + QString parseStyleFromFile(QString filePath); public slots: void openZimFile(const QString& zimfile=""); diff --git a/src/kiwixchoicebox.cpp b/src/kiwixchoicebox.cpp index 9fa4c65..8e6b224 100644 --- a/src/kiwixchoicebox.cpp +++ b/src/kiwixchoicebox.cpp @@ -18,10 +18,7 @@ KiwixChoiceBox::KiwixChoiceBox(QWidget *parent) : ui(new Ui::kiwixchoicebox) { ui->setupUi(this); - - QFile file(QString::fromUtf8(":/css/choiceBox.css")); - file.open(QFile::ReadOnly); - QString styleSheet = QString(file.readAll()); + auto styleSheet = KiwixApp::instance()->parseStyleFromFile(":/css/choiceBox.css"); this->setStyleSheet(styleSheet); ui->clearButton->setText(gt("clear")); ui->clearButton->setToolTip(gt("clear-filter")); diff --git a/src/kiwixconfirmbox.cpp b/src/kiwixconfirmbox.cpp index 094339a..d855669 100644 --- a/src/kiwixconfirmbox.cpp +++ b/src/kiwixconfirmbox.cpp @@ -9,13 +9,7 @@ KiwixConfirmBox::KiwixConfirmBox(QString confirmTitle, QString confirmText, bool { ui->setupUi(this); setWindowFlag(Qt::FramelessWindowHint, true); - - QFile styleFile(":/css/confirmBox.css"); - styleFile.open(QIODevice::ReadOnly); - auto byteContent = styleFile.readAll(); - styleFile.close(); - QString style(byteContent); - setStyleSheet(style); + setStyleSheet(KiwixApp::instance()->parseStyleFromFile(":/css/confirmBox.css")); connect(ui->yesButton, &QPushButton::clicked, [=]() { emit yesClicked(); }); diff --git a/src/searchbar.cpp b/src/searchbar.cpp index d82a688..c7a643c 100644 --- a/src/searchbar.cpp +++ b/src/searchbar.cpp @@ -71,12 +71,7 @@ SearchBar::SearchBar(QWidget *parent) : m_completer.setMaxVisibleItems(16); setCompleter(&m_completer); - QFile styleFile(":/css/popup.css"); - styleFile.open(QIODevice::ReadOnly); - auto byteContent = styleFile.readAll(); - styleFile.close(); - QString style(byteContent); - m_completer.popup()->setStyleSheet(style); + m_completer.popup()->setStyleSheet(KiwixApp::instance()->parseStyleFromFile(":/css/popup.css")); qRegisterMetaType>("QVector"); connect(mp_typingTimer, &QTimer::timeout, this, &SearchBar::updateCompletion); diff --git a/src/settingsview.cpp b/src/settingsview.cpp index 30f608b..7b59b1a 100644 --- a/src/settingsview.cpp +++ b/src/settingsview.cpp @@ -9,10 +9,7 @@ SettingsView::SettingsView(QWidget *parent) , ui(new Ui::Settings) { ui->setupUi(this); - QFile file(QString::fromUtf8(":/css/_settingsManager.css")); - file.open(QFile::ReadOnly); - QString styleSheet = QString(file.readAll()); - ui->widget->setStyleSheet(styleSheet); + ui->widget->setStyleSheet(KiwixApp::instance()->parseStyleFromFile(":/css/_settingsManager.css")); connect(ui->zoomPercentSpinBox, QOverload::of(&QSpinBox::valueChanged), this, &SettingsView::setZoom); connect(ui->moveToTrashToggle, &QCheckBox::clicked, this, &SettingsView::setMoveToTrash); connect(ui->browseButton, &QPushButton::clicked, this, &SettingsView::browseDownloadDir);