From 93854011eb02803a63808b84069e735992d4d8c3 Mon Sep 17 00:00:00 2001 From: Han Young Date: Thu, 13 May 2021 21:57:02 +0800 Subject: [PATCH 01/12] port settings to Qt Widget --- kiwix-desktop.pro | 4 +- src/kiwixapp.cpp | 1 - src/settingsmanager.cpp | 19 ++- src/settingsmanager.h | 4 +- src/settingsmanagerview.cpp | 23 ---- src/settingsmanagerview.h | 19 --- src/settingsview.cpp | 73 +++++++++++ src/settingsview.h | 28 +++++ src/tabbar.cpp | 6 +- ui/settings.ui | 241 ++++++++++++++++++++++++++++++++++++ 10 files changed, 363 insertions(+), 55 deletions(-) delete mode 100644 src/settingsmanagerview.cpp delete mode 100644 src/settingsmanagerview.h create mode 100644 src/settingsview.cpp create mode 100644 src/settingsview.h create mode 100644 ui/settings.ui diff --git a/kiwix-desktop.pro b/kiwix-desktop.pro index 7550048..04d147e 100644 --- a/kiwix-desktop.pro +++ b/kiwix-desktop.pro @@ -44,7 +44,7 @@ SOURCES += \ src/blobbuffer.cpp \ src/library.cpp \ src/settingsmanager.cpp \ - src/settingsmanagerview.cpp \ + src/settingsview.cpp \ src/topwidget.cpp \ src/urlschemehandler.cpp \ src/webview.cpp \ @@ -76,7 +76,7 @@ HEADERS += \ src/blobbuffer.h \ src/library.h \ src/settingsmanager.h \ - src/settingsmanagerview.h \ + src/settingsview.h \ src/topwidget.h \ src/kconstants.h \ src/urlschemehandler.h \ diff --git a/src/kiwixapp.cpp b/src/kiwixapp.cpp index 3772fc4..47b7f68 100644 --- a/src/kiwixapp.cpp +++ b/src/kiwixapp.cpp @@ -17,7 +17,6 @@ KiwixApp::KiwixApp(int& argc, char *argv[]) : QtSingleApplication("kiwix-desktop", argc, argv), - m_settingsManager(), m_profile(), m_libraryDirectory(findLibraryDirectory()), m_library(m_libraryDirectory), diff --git a/src/settingsmanager.cpp b/src/settingsmanager.cpp index 9412c41..481c728 100644 --- a/src/settingsmanager.cpp +++ b/src/settingsmanager.cpp @@ -13,12 +13,18 @@ SettingsManager::SettingsManager(QObject *parent) initSettings(); } -SettingsManagerView* SettingsManager::getView() +SettingsView* SettingsManager::getView() { - auto view = new SettingsManagerView(); - view->registerObject("settingsManager", this); - view->setHtml(); - connect(view, &QObject::destroyed, this, [=]() { m_settingsViewDisplayed = false; }); + static SettingsView *view = nullptr; + + if (!view || !m_settingsViewDisplayed) + view = new SettingsView(); + + view->init(m_kiwixServerPort, m_zoomFactor * 100, m_downloadDir); + connect(view, &QObject::destroyed, this, [=]() { m_settingsViewDisplayed = false;}); + connect(view, &SettingsView::serverPortChanged, this, &SettingsManager::setKiwixServerPort); + connect(view, &SettingsView::downloadDirChanged, this, &SettingsManager::setDownloadDir); + connect(view, &SettingsView::zoomFactorChanged, this, &SettingsManager::setZoomFactor); m_settingsViewDisplayed = true; return view; } @@ -62,6 +68,9 @@ void SettingsManager::setKiwixServerPort(int port) void SettingsManager::setZoomFactor(qreal zoomFactor) { + if (zoomFactor > 1) + zoomFactor /= 100; + m_zoomFactor = zoomFactor; m_settings.setValue("view/zoomFactor", zoomFactor); } diff --git a/src/settingsmanager.h b/src/settingsmanager.h index 0cfaf48..ec635b4 100644 --- a/src/settingsmanager.h +++ b/src/settingsmanager.h @@ -3,7 +3,7 @@ #include #include -#include "settingsmanagerview.h" +#include "settingsview.h" class SettingsManager : public QObject { @@ -16,7 +16,7 @@ public: explicit SettingsManager(QObject *parent = nullptr); virtual ~SettingsManager() {}; - SettingsManagerView* getView(); + SettingsView* getView(); bool isSettingsViewdisplayed() { return m_settingsViewDisplayed; }; void setSettings(const QString &key, const QVariant &value); void deleteSettings(const QString &key); diff --git a/src/settingsmanagerview.cpp b/src/settingsmanagerview.cpp deleted file mode 100644 index 2082c7d..0000000 --- a/src/settingsmanagerview.cpp +++ /dev/null @@ -1,23 +0,0 @@ -#include "settingsmanagerview.h" -#include "kiwixapp.h" -#include - -SettingsManagerView::SettingsManagerView(QWidget *parent) : QWebEngineView(parent) -{ - page()->setWebChannel(&m_webChannel); - setContextMenuPolicy( Qt::NoContextMenu ); -} - -void SettingsManagerView::registerObject(const QString& id, QObject* object) -{ - m_webChannel.registerObject(id, object); -} - -void SettingsManagerView::setHtml() -{ - QFile contentFile(":texts/_settingsManager.html"); - contentFile.open(QIODevice::ReadOnly); - auto byteContent = contentFile.readAll(); - contentFile.close(); - QWebEngineView::setHtml(byteContent); -} diff --git a/src/settingsmanagerview.h b/src/settingsmanagerview.h deleted file mode 100644 index de5dfc0..0000000 --- a/src/settingsmanagerview.h +++ /dev/null @@ -1,19 +0,0 @@ -#ifndef SETTINGSMANAGERVIEW_H -#define SETTINGSMANAGERVIEW_H - -#include -#include - -class SettingsManagerView : public QWebEngineView -{ - Q_OBJECT -public: - SettingsManagerView(QWidget *parent = nullptr); - void registerObject(const QString &id, QObject *object); - void setHtml(); - -private: - QWebChannel m_webChannel; -}; - -#endif // SETTINGSMANAGERVIEW_H diff --git a/src/settingsview.cpp b/src/settingsview.cpp new file mode 100644 index 0000000..a2079ac --- /dev/null +++ b/src/settingsview.cpp @@ -0,0 +1,73 @@ +#include "settingsview.h" +#include "ui_settings.h" +#include "kiwixapp.h" + +#include +#include +SettingsView::SettingsView(QWidget *parent) + : QWidget(parent) + , ui(new Ui::Settings) +{ + ui->setupUi(this); + connect(ui->serverPortSpinBox, QOverload::of(&QSpinBox::valueChanged), this, &SettingsView::serverPortChanged); + connect(ui->zoomLevelSpinBox, QOverload::of(&QSpinBox::valueChanged), this, &SettingsView::zoomFactorChanged); + connect(ui->resetButton, &QPushButton::clicked, this, &SettingsView::resetDownloadDir); + connect(ui->browseButton, &QPushButton::clicked, this, &SettingsView::browseDownloadDir); + ui->settingsLabel->setText(gt("settings")); + ui->serverPortLabel->setText(gt("port-for-local-kiwix-server-setting")); + ui->zoomLevelLabel->setText(gt("zoom-level-setting")); + ui->downloadDirLabel->setText(gt("download-directory-setting")); + ui->resetButton->setText(gt("reset")); + ui->browseButton->setText(gt("browse")); +} +void SettingsView::init(int port, int factor, const QString &dir) +{ + ui->serverPortSpinBox->setValue(port); + ui->zoomLevelSpinBox->setValue(factor); + ui->downloadDirPath->setText(dir); +} +bool SettingsView::confirmDialogDownloadDir(const QString& dir) +{ + auto text = gt("download-dir-dialog-msg"); + text = text.replace("{{DIRECTORY}}", dir); + QMessageBox msgBox( + QMessageBox::Question, //Icon + gt("download-dir-dialog-title"), //Title + text, //Text + QMessageBox::Ok | QMessageBox::Cancel //Buttons + ); + msgBox.setDefaultButton(QMessageBox::Ok); + + int ret = msgBox.exec(); + return (ret == QMessageBox::Ok); +} + +void SettingsView::resetDownloadDir() +{ + auto dir = QString::fromStdString(getDataDirectory()); + const auto &downloadDir = KiwixApp::instance()->getSettingsManager()->getDownloadDir(); + if (dir == downloadDir) { + return; + } + if (confirmDialogDownloadDir(dir)) { + ui->downloadDirPath->setText(dir); + emit(downloadDirChanged(dir)); + } +} + +void SettingsView::browseDownloadDir() +{ + const auto &downloadDir = KiwixApp::instance()->getSettingsManager()->getDownloadDir(); + QString dir = QFileDialog::getExistingDirectory(KiwixApp::instance()->getMainWindow(), + gt("browse-directory"), + downloadDir, + QFileDialog::ShowDirsOnly); + if (dir == downloadDir || dir.isEmpty()) { + return; + } + + if (confirmDialogDownloadDir(dir)) { + ui->downloadDirPath->setText(dir); + emit(downloadDirChanged(dir)); + } +} diff --git a/src/settingsview.h b/src/settingsview.h new file mode 100644 index 0000000..7af92d2 --- /dev/null +++ b/src/settingsview.h @@ -0,0 +1,28 @@ +#ifndef SETTINGSVIEW_H +#define SETTINGSVIEW_H + +#include +namespace Ui { +class Settings; +} +class SettingsView : public QWidget +{ + Q_OBJECT +public: + SettingsView(QWidget *parent = nullptr); + ~SettingsView(){}; + void init(int port, int factor, const QString &dir); +public Q_SLOTS: + void resetDownloadDir(); + void browseDownloadDir(); +signals: + void serverPortChanged(int port); + void zoomFactorChanged(int factor); + void downloadDirChanged(const QString &dir); +private: + bool confirmDialogDownloadDir(const QString& dir); + + Ui::Settings *ui; +}; + +#endif // SETTINGSVIEW_H diff --git a/src/tabbar.cpp b/src/tabbar.cpp index dc7e188..94ffb20 100644 --- a/src/tabbar.cpp +++ b/src/tabbar.cpp @@ -56,13 +56,13 @@ TabBar::TabBar(QWidget *parent) : connect(app->getAction(KiwixApp::SettingAction), &QAction::triggered, this, [=]() { for (int i = 0 ; i < (mp_stackedWidget->count() - 1) ; i++) { - if (qobject_cast(mp_stackedWidget->widget(i))) { + if (qobject_cast(mp_stackedWidget->widget(i))) { setCurrentIndex(i); return; } } int index = currentIndex() + 1; - SettingsManagerView* view = KiwixApp::instance()->getSettingsManager()->getView(); + SettingsView* view = KiwixApp::instance()->getSettingsManager()->getView(); mp_stackedWidget->insertWidget(index, view); insertTab(index,QIcon(":/icons/settings.svg"), gt("settings")); QToolButton *tb = new QToolButton(this); @@ -294,7 +294,7 @@ void TabBar::onCurrentChanged(int index) QWidget *w = mp_stackedWidget->widget(index); - if (qobject_cast(w)) { + if (qobject_cast(w)) { emit webActionEnabledChanged(QWebEnginePage::Back, false); emit webActionEnabledChanged(QWebEnginePage::Forward, false); emit libraryPageDisplayed(false); diff --git a/ui/settings.ui b/ui/settings.ui new file mode 100644 index 0000000..dcbd772 --- /dev/null +++ b/ui/settings.ui @@ -0,0 +1,241 @@ + + + Settings + + + + 0 + 0 + 1029 + 580 + + + + + 0 + 0 + + + + + 600 + 0 + + + + Form + + + + + + + 600 + 16777215 + + + + + + + + + + 0 + 0 + + + + + 16 + 75 + true + + + + Settings + + + + + + + Qt::Horizontal + + + + + + + + + + 10 + 75 + true + + + + Port for local kiwix server: + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + + + + 1 + + + 65535 + + + + + + + + + Qt::Horizontal + + + + + + + + + + 75 + true + + + + Zoom level: + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + % + + + 100 + + + + + + + + + Qt::Horizontal + + + + + + + + + + 75 + true + + + + Download directory: + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + + + + + Reset + + + + + + + Browse + + + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + + + + + + From bace78ae1ad8a2a832524e500ca833a6d5cef389 Mon Sep 17 00:00:00 2001 From: Han Young Date: Thu, 13 May 2021 22:03:25 +0800 Subject: [PATCH 02/12] add ui to qmake --- kiwix-desktop.pro | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/kiwix-desktop.pro b/kiwix-desktop.pro index 04d147e..e7e8974 100644 --- a/kiwix-desktop.pro +++ b/kiwix-desktop.pro @@ -105,7 +105,8 @@ FORMS += \ ui/about.ui \ src/contentmanagerside.ui \ src/readinglistbar.ui \ - ui/localkiwixserver.ui + ui/localkiwixserver.ui \ + ui/settings.ui include(subprojects/QtSingleApplication/src/qtsingleapplication.pri) CODECFORSRC = UTF-8 From 0711c4a5c1bdb7dff8386c1bc3a03ff52d94177a Mon Sep 17 00:00:00 2001 From: Nikhil Tanwar <2002nikhiltanwar@gmail.com> Date: Thu, 9 Sep 2021 11:39:33 +0530 Subject: [PATCH 03/12] Added white background to mainview Followed design as specified in #640 --- resources/css/_settingsManager.css | 93 +++++------------------------- src/settingsmanager.cpp | 20 +++---- src/settingsmanager.h | 2 +- src/settingsview.cpp | 8 ++- ui/mainwindow.ui | 6 +- ui/settings.ui | 86 ++++++++++++++++++--------- 6 files changed, 92 insertions(+), 123 deletions(-) diff --git a/resources/css/_settingsManager.css b/resources/css/_settingsManager.css index 1321b52..1efff15 100644 --- a/resources/css/_settingsManager.css +++ b/resources/css/_settingsManager.css @@ -1,88 +1,23 @@ -html, body { - padding: 0; - margin: auto; - height: 100%; - position: relative; - width: 80%; - overflow: hidden; +QLabel, +QPushButton { + font: 12pt "Cantarell"; } -#settings { - height: 100%; - position: relative; +QLabel#settingsLabel { + font: bold 32pt "Cantarell"; } - -#header { - display: flex; - flex-direction: row; - flex-wrap: nowrap; - justify-content: space-between; +QSpinBox, QLabel#downloadDirPath{ + font: bold 12pt "Cantarell"; } - -.row { - display: flex; - flex-direction: row; - flex-wrap: nowrap; - justify-content: space-between; - align-items: center; - border-top: 1px solid grey; - height: 40px; -} - - -input { - margin: 5px; -} - -#download_dir { - flex: 1; - margin: 5px; - overflow: hidden; - direction: rtl; -} - -#download_dir > span { - display: block; - float: right; - direction: ltr; - min-width: 100%; - font-size: 0.9em; -} - -input[type=number] { - width: 80px; -} - -input[type=button] { +QPushButton { + background-color: white; color: blue; - font-weight: bold; - font-size: 14px; - border: 0; - background: transparent; - border-radius: 2px; + padding: 5px; + font:bold; + border-radius: 3px; } -input[type=button]:hover { +QPushButton:hover { + background-color: RoyalBlue; color: white; - background: blue; -} - -input[type=number]::-webkit-inner-spin-button, -input[type=number]::-webkit-outer-spin-button { - opacity: 1; -} - -div.percentage-symbol { - position: relative; -} - -div.percentage-symbol:before { - position: absolute; - content: "%"; - top: 0.4em; - right: 1.5em; -} - -div.percentage-symbol input { - text-align: left; } diff --git a/src/settingsmanager.cpp b/src/settingsmanager.cpp index 481c728..c5256a6 100644 --- a/src/settingsmanager.cpp +++ b/src/settingsmanager.cpp @@ -4,7 +4,6 @@ #include #include #include - SettingsManager::SettingsManager(QObject *parent) : QObject(parent), m_settings("Kiwix", "Kiwix-desktop"), @@ -15,17 +14,11 @@ SettingsManager::SettingsManager(QObject *parent) SettingsView* SettingsManager::getView() { - static SettingsView *view = nullptr; - - if (!view || !m_settingsViewDisplayed) - view = new SettingsView(); - + auto view = new SettingsView(); view->init(m_kiwixServerPort, m_zoomFactor * 100, m_downloadDir); - connect(view, &QObject::destroyed, this, [=]() { m_settingsViewDisplayed = false;}); connect(view, &SettingsView::serverPortChanged, this, &SettingsManager::setKiwixServerPort); connect(view, &SettingsView::downloadDirChanged, this, &SettingsManager::setDownloadDir); - connect(view, &SettingsView::zoomFactorChanged, this, &SettingsManager::setZoomFactor); - m_settingsViewDisplayed = true; + connect(view, &SettingsView::zoomFactorChanged, this, &SettingsManager::setZoom); return view; } @@ -66,11 +59,14 @@ void SettingsManager::setKiwixServerPort(int port) emit(portChanged(port)); } +void SettingsManager::setZoom(int factor) +{ + qreal zoomFactor = (double)factor/100; + setZoomFactor(zoomFactor); +} + void SettingsManager::setZoomFactor(qreal zoomFactor) { - if (zoomFactor > 1) - zoomFactor /= 100; - m_zoomFactor = zoomFactor; m_settings.setValue("view/zoomFactor", zoomFactor); } diff --git a/src/settingsmanager.h b/src/settingsmanager.h index ec635b4..5e95c47 100644 --- a/src/settingsmanager.h +++ b/src/settingsmanager.h @@ -34,7 +34,7 @@ public slots: QString getDownloadDir() { return m_downloadDir; } void resetDownloadDir(); void browseDownloadDir(); - + void setZoom(int factor); private: void initSettings(); bool confirmDialogDownloadDir(const QString& dir); diff --git a/src/settingsview.cpp b/src/settingsview.cpp index a2079ac..81f60dc 100644 --- a/src/settingsview.cpp +++ b/src/settingsview.cpp @@ -1,7 +1,7 @@ #include "settingsview.h" #include "ui_settings.h" #include "kiwixapp.h" - +#include #include #include SettingsView::SettingsView(QWidget *parent) @@ -9,6 +9,10 @@ SettingsView::SettingsView(QWidget *parent) , ui(new Ui::Settings) { ui->setupUi(this); + QFile file("./resources/css/_settingsManager.css"); + file.open(QFile::ReadOnly); + QString styleSheet = QString(file.readAll()); + ui->widget->setStyleSheet(styleSheet); connect(ui->serverPortSpinBox, QOverload::of(&QSpinBox::valueChanged), this, &SettingsView::serverPortChanged); connect(ui->zoomLevelSpinBox, QOverload::of(&QSpinBox::valueChanged), this, &SettingsView::zoomFactorChanged); connect(ui->resetButton, &QPushButton::clicked, this, &SettingsView::resetDownloadDir); @@ -44,7 +48,7 @@ bool SettingsView::confirmDialogDownloadDir(const QString& dir) void SettingsView::resetDownloadDir() { - auto dir = QString::fromStdString(getDataDirectory()); + auto dir = QString::fromStdString(kiwix::getDataDirectory()); const auto &downloadDir = KiwixApp::instance()->getSettingsManager()->getDownloadDir(); if (dir == downloadDir) { return; diff --git a/ui/mainwindow.ui b/ui/mainwindow.ui index 3e89d7f..6505e0c 100644 --- a/ui/mainwindow.ui +++ b/ui/mainwindow.ui @@ -79,7 +79,11 @@ - + + + background-color: rgb(255, 255, 255); + + diff --git a/ui/settings.ui b/ui/settings.ui index dcbd772..2ea6838 100644 --- a/ui/settings.ui +++ b/ui/settings.ui @@ -34,7 +34,7 @@ 16777215 - + @@ -45,13 +45,6 @@ 0 - - - 16 - 75 - true - - Settings @@ -68,13 +61,6 @@ - - - 10 - 75 - true - - Port for local kiwix server: @@ -95,6 +81,9 @@ + + false + @@ -122,12 +111,6 @@ - - - 75 - true - - Zoom level: @@ -148,10 +131,22 @@ + + false + % + + 30 + + 500 + + + 10 + + 100 @@ -169,19 +164,13 @@ - - - 75 - true - - Download directory: - + Qt::Horizontal @@ -200,18 +189,59 @@ + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + true + + + true + + + + Reset + + true + + + true + + + true + + + + Browse + + true + From 6a64ea7f91c4df9941430cdb510b323bb79c9a78 Mon Sep 17 00:00:00 2001 From: Nikhil Tanwar <2002nikhiltanwar@gmail.com> Date: Thu, 9 Sep 2021 17:25:31 +0530 Subject: [PATCH 04/12] Fixed file path for settingsManager.css --- src/settingsview.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/settingsview.cpp b/src/settingsview.cpp index 81f60dc..55f6920 100644 --- a/src/settingsview.cpp +++ b/src/settingsview.cpp @@ -9,7 +9,7 @@ SettingsView::SettingsView(QWidget *parent) , ui(new Ui::Settings) { ui->setupUi(this); - QFile file("./resources/css/_settingsManager.css"); + QFile file(QString::fromUtf8(":/css/_settingsManager.css")); file.open(QFile::ReadOnly); QString styleSheet = QString(file.readAll()); ui->widget->setStyleSheet(styleSheet); From 9dfcec33b4a50db6b510a8555e1ababfbf26c8ed Mon Sep 17 00:00:00 2001 From: Nikhil Tanwar <2002nikhiltanwar@gmail.com> Date: Fri, 10 Sep 2021 11:26:08 +0530 Subject: [PATCH 05/12] fix for settingsview being shown in a new tab --- src/tabbar.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/tabbar.cpp b/src/tabbar.cpp index 94ffb20..d002229 100644 --- a/src/tabbar.cpp +++ b/src/tabbar.cpp @@ -55,7 +55,7 @@ TabBar::TabBar(QWidget *parent) : }); connect(app->getAction(KiwixApp::SettingAction), &QAction::triggered, this, [=]() { - for (int i = 0 ; i < (mp_stackedWidget->count() - 1) ; i++) { + for (int i = 0 ; i < mp_stackedWidget->count(); i++) { if (qobject_cast(mp_stackedWidget->widget(i))) { setCurrentIndex(i); return; From a408a04937033dc98f773cbab828f7a8f0a5c5e1 Mon Sep 17 00:00:00 2001 From: Nikhil Tanwar <2002nikhiltanwar@gmail.com> Date: Sun, 26 Sep 2021 20:16:30 +0530 Subject: [PATCH 06/12] Fix for Settings being painted twice --- src/tabbar.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/tabbar.cpp b/src/tabbar.cpp index d002229..36ecf6d 100644 --- a/src/tabbar.cpp +++ b/src/tabbar.cpp @@ -65,6 +65,7 @@ TabBar::TabBar(QWidget *parent) : SettingsView* view = KiwixApp::instance()->getSettingsManager()->getView(); mp_stackedWidget->insertWidget(index, view); insertTab(index,QIcon(":/icons/settings.svg"), gt("settings")); + KiwixApp::instance()->setSideBar(KiwixApp::SideBarType::NONE); QToolButton *tb = new QToolButton(this); tb->setDefaultAction(KiwixApp::instance()->getAction(KiwixApp::CloseTabAction)); setTabButton(index, QTabBar::RightSide, tb); From e01473085b7847ef8716726bbf761303f20ab459 Mon Sep 17 00:00:00 2001 From: Nikhil Tanwar <2002nikhiltanwar@gmail.com> Date: Mon, 27 Sep 2021 15:29:27 +0530 Subject: [PATCH 07/12] Added more styling to match proposed design. Changes - Paddings in labels Horizontal line colour changed to match original Max width of Container widget reduced to 500 --- resources/css/_settingsManager.css | 30 +++++++++++++++++++++++------- ui/settings.ui | 11 ++++++++++- 2 files changed, 33 insertions(+), 8 deletions(-) diff --git a/resources/css/_settingsManager.css b/resources/css/_settingsManager.css index 1efff15..a2231f9 100644 --- a/resources/css/_settingsManager.css +++ b/resources/css/_settingsManager.css @@ -1,23 +1,39 @@ +QWidget#widget{ + max-width:500; +} + QLabel, -QPushButton { - font: 12pt "Cantarell"; +QPushButton, +QSpinBox { + font-size: 16px; + line-height: 24px; + padding: 8px; +} + +QFrame[frameShape="4"] { /*frameShape 4 is HLine */ + border:1px solid #eaecf0; + min-height:0pt; + max-height:1pt; } QLabel#settingsLabel { - font: bold 32pt "Cantarell"; + font-size: 32px; + line-height: 44px; + font-weight: bold; + } QSpinBox, QLabel#downloadDirPath{ font: bold 12pt "Cantarell"; } QPushButton { background-color: white; - color: blue; - padding: 5px; + color: #3366cc;; + padding: 4px; font:bold; - border-radius: 3px; + border-radius: 4px; } QPushButton:hover { - background-color: RoyalBlue; + background-color: #3366cc;; color: white; } diff --git a/ui/settings.ui b/ui/settings.ui index 2ea6838..b2d5267 100644 --- a/ui/settings.ui +++ b/ui/settings.ui @@ -30,7 +30,7 @@ - 600 + 16777215 16777215 @@ -102,6 +102,12 @@ + + true + + + QFrame::Plain + Qt::Horizontal @@ -155,6 +161,9 @@ + + QFrame::Plain + Qt::Horizontal From 8ba4e8ab85c2334403b7b158f311e8a5e8a003d7 Mon Sep 17 00:00:00 2001 From: Nikhil Tanwar <2002nikhiltanwar@gmail.com> Date: Mon, 4 Oct 2021 20:15:31 +0530 Subject: [PATCH 08/12] Stored settings view in settings manager Deleted some helper functions (browseDownloadDir, confirmDownloadDir, resetDownloadDir) from SettingsManager Deleted unnecessary settingsManager.js and settingsManager.html Fixed settingsManager.css code factoring issues --- resources/css/_settingsManager.css | 23 +++++----- resources/js/_settingsManager.js | 61 --------------------------- resources/settingsmanager.qrc | 2 - resources/texts/_settingsManager.html | 33 --------------- src/settingsmanager.cpp | 52 +++-------------------- src/settingsmanager.h | 6 +-- src/tabbar.cpp | 3 +- 7 files changed, 20 insertions(+), 160 deletions(-) delete mode 100644 resources/js/_settingsManager.js delete mode 100644 resources/texts/_settingsManager.html diff --git a/resources/css/_settingsManager.css b/resources/css/_settingsManager.css index a2231f9..6452da3 100644 --- a/resources/css/_settingsManager.css +++ b/resources/css/_settingsManager.css @@ -1,5 +1,5 @@ -QWidget#widget{ - max-width:500; +QWidget#widget { + max-width: 500; } QLabel, @@ -10,30 +10,31 @@ QSpinBox { padding: 8px; } -QFrame[frameShape="4"] { /*frameShape 4 is HLine */ - border:1px solid #eaecf0; - min-height:0pt; - max-height:1pt; +QFrame[frameShape="4"] { + /*frameShape 4 is HLine */ + border: 1px solid #eaecf0; + min-height: 0pt; + max-height: 1pt; } QLabel#settingsLabel { font-size: 32px; line-height: 44px; font-weight: bold; - } -QSpinBox, QLabel#downloadDirPath{ +QSpinBox, +QLabel#downloadDirPath { font: bold 12pt "Cantarell"; } QPushButton { background-color: white; - color: #3366cc;; + color: #3366cc; padding: 4px; - font:bold; + font: bold; border-radius: 4px; } QPushButton:hover { - background-color: #3366cc;; + background-color: #3366cc; color: white; } diff --git a/resources/js/_settingsManager.js b/resources/js/_settingsManager.js deleted file mode 100644 index 954cdf0..0000000 --- a/resources/js/_settingsManager.js +++ /dev/null @@ -1,61 +0,0 @@ -function onDownloadDirChanged (downloadDir) { - app.downloadDir = downloadDir; -} - -function validPort (port) { - return /^([0-9]{1,4}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])$/.test(port); -} - -function setTranslations(translations) { - app.translations = createDict(TRANSLATION_KEYS, translations); -} - -const TRANSLATION_KEYS = ["settings", - "port-for-local-kiwix-server-setting", - "zoom-level-setting", - "download-directory-setting", - "reset", - "browse", - "invalid-port"]; - -function init() { - new QWebChannel(qt.webChannelTransport, function(channel) { - settingsManager = channel.objects.settingsManager; - app = new Vue({ - el: "#settings", - data: { - settingsManager: settingsManager, - kiwixServerPort: settingsManager.kiwixServerPort, - zoomFactor: Math.floor(settingsManager.zoomFactor * 100), - downloadDir: settingsManager.downloadDir, - translations:{} - }, - methods: { - gt : function(key) { - return this.translations[key]; - }, - setPort : function() { - if (!validPort(this.kiwixServerPort)) { - alert(this.gt("invalid-port")); - this.kiwixServerPort = settingsManager.kiwixServerPort; - return; - } - settingsManager.setKiwixServerPort(this.kiwixServerPort); - }, - setZoomFactor : function() { - this.zoomFactor = (this.zoomFactor < 30) ? 30 : this.zoomFactor; - this.zoomFactor = (this.zoomFactor > 500) ? 500 : this.zoomFactor; - settingsManager.setZoomFactor(this.zoomFactor / 100); - }, - resetDownloadDir : function() { - settingsManager.resetDownloadDir(); - }, - browseDownloadDir : function() { - settingsManager.browseDownloadDir(); - } - } - }); - settingsManager.downloadDirChanged.connect(onDownloadDirChanged) - settingsManager.getTranslations(TRANSLATION_KEYS, setTranslations); - }); -} \ No newline at end of file diff --git a/resources/settingsmanager.qrc b/resources/settingsmanager.qrc index 5d32dec..92722e9 100644 --- a/resources/settingsmanager.qrc +++ b/resources/settingsmanager.qrc @@ -1,7 +1,5 @@ - texts/_settingsManager.html css/_settingsManager.css - js/_settingsManager.js diff --git a/resources/texts/_settingsManager.html b/resources/texts/_settingsManager.html deleted file mode 100644 index 32c0594..0000000 --- a/resources/texts/_settingsManager.html +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - - - - -
- -
- - -
-
- -
- -
-
-
- - {{ downloadDir }} - - -
-
- - diff --git a/src/settingsmanager.cpp b/src/settingsmanager.cpp index c5256a6..ad9ae78 100644 --- a/src/settingsmanager.cpp +++ b/src/settingsmanager.cpp @@ -7,19 +7,23 @@ SettingsManager::SettingsManager(QObject *parent) : QObject(parent), m_settings("Kiwix", "Kiwix-desktop"), - m_settingsViewDisplayed(false) + m_view(nullptr) { initSettings(); } SettingsView* SettingsManager::getView() { + if (m_view == nullptr) { auto view = new SettingsView(); view->init(m_kiwixServerPort, m_zoomFactor * 100, m_downloadDir); connect(view, &SettingsView::serverPortChanged, this, &SettingsManager::setKiwixServerPort); connect(view, &SettingsView::downloadDirChanged, this, &SettingsManager::setDownloadDir); connect(view, &SettingsView::zoomFactorChanged, this, &SettingsManager::setZoom); - return view; + connect(view, &QObject::destroyed, this, [=]() { m_view = nullptr; }); + m_view = view; + } + return m_view; } void SettingsManager::setSettings(const QString &key, const QVariant &value) @@ -78,50 +82,6 @@ bool SettingsManager::setDownloadDir(QString downloadDir) return true; } -bool SettingsManager::confirmDialogDownloadDir(const QString& dir) -{ - auto text = gt("download-dir-dialog-msg"); - text = text.replace("{{DIRECTORY}}", dir); - QMessageBox msgBox( - QMessageBox::Question, //Icon - gt("download-dir-dialog-title"), //Title - text, //Text - QMessageBox::Ok | QMessageBox::Cancel //Buttons - ); - msgBox.setDefaultButton(QMessageBox::Ok); - - int ret = msgBox.exec(); - return (ret == QMessageBox::Ok); -} - -void SettingsManager::resetDownloadDir() -{ - auto dir = QString::fromStdString(kiwix::getDataDirectory()); - if (dir == m_downloadDir) { - return; - } - if (confirmDialogDownloadDir(dir)) { - setDownloadDir(dir); - emit(downloadDirChanged(dir)); - } -} - -void SettingsManager::browseDownloadDir() -{ - QString dir = QFileDialog::getExistingDirectory(KiwixApp::instance()->getMainWindow(), - gt("browse-directory"), - m_downloadDir, - QFileDialog::ShowDirsOnly); - if (dir == m_downloadDir || dir.isEmpty()) { - return; - } - - if (confirmDialogDownloadDir(dir)) { - setDownloadDir(dir); - emit(downloadDirChanged(dir)); - } -} - QStringList SettingsManager::getTranslations(const QStringList &keys) { QStringList translations; diff --git a/src/settingsmanager.h b/src/settingsmanager.h index 5e95c47..d7a6116 100644 --- a/src/settingsmanager.h +++ b/src/settingsmanager.h @@ -17,7 +17,6 @@ public: virtual ~SettingsManager() {}; SettingsView* getView(); - bool isSettingsViewdisplayed() { return m_settingsViewDisplayed; }; void setSettings(const QString &key, const QVariant &value); void deleteSettings(const QString &key); bool settingsExists(const QString &key); @@ -32,12 +31,9 @@ public slots: qreal getZoomFactor() { return m_zoomFactor; }; bool setDownloadDir(QString downloadDir); QString getDownloadDir() { return m_downloadDir; } - void resetDownloadDir(); - void browseDownloadDir(); void setZoom(int factor); private: void initSettings(); - bool confirmDialogDownloadDir(const QString& dir); signals: void portChanged(int port); @@ -46,7 +42,7 @@ signals: private: QSettings m_settings; - bool m_settingsViewDisplayed; + SettingsView *m_view; int m_kiwixServerPort; qreal m_zoomFactor; QString m_downloadDir; diff --git a/src/tabbar.cpp b/src/tabbar.cpp index 36ecf6d..b387cb9 100644 --- a/src/tabbar.cpp +++ b/src/tabbar.cpp @@ -8,7 +8,6 @@ #include #include #include - #define QUITIFNULL(VIEW) if (nullptr==(VIEW)) { return; } #define CURRENTIFNULL(VIEW) if(nullptr==VIEW) { VIEW = currentZimView();} @@ -56,7 +55,7 @@ TabBar::TabBar(QWidget *parent) : connect(app->getAction(KiwixApp::SettingAction), &QAction::triggered, this, [=]() { for (int i = 0 ; i < mp_stackedWidget->count(); i++) { - if (qobject_cast(mp_stackedWidget->widget(i))) { + if (mp_stackedWidget->widget(i) == KiwixApp::instance()->getSettingsManager()->getView()) { setCurrentIndex(i); return; } From de4fdbf033e136555f36f71896e5c505a9e052e0 Mon Sep 17 00:00:00 2001 From: juuz0 <2002nikhiltanwar@gmail.com> Date: Fri, 8 Oct 2021 09:49:48 +0530 Subject: [PATCH 09/12] Dropped signals from SettingsView SettingsView now responds to signals from SettingsManager to change values Fixed indentation --- src/settingsmanager.cpp | 19 ++++++------------- src/settingsmanager.h | 5 ++--- src/settingsview.cpp | 37 ++++++++++++++++++++++++++++++++----- src/settingsview.h | 7 ++++--- 4 files changed, 44 insertions(+), 24 deletions(-) diff --git a/src/settingsmanager.cpp b/src/settingsmanager.cpp index ad9ae78..6eff956 100644 --- a/src/settingsmanager.cpp +++ b/src/settingsmanager.cpp @@ -15,13 +15,10 @@ SettingsManager::SettingsManager(QObject *parent) SettingsView* SettingsManager::getView() { if (m_view == nullptr) { - auto view = new SettingsView(); - view->init(m_kiwixServerPort, m_zoomFactor * 100, m_downloadDir); - connect(view, &SettingsView::serverPortChanged, this, &SettingsManager::setKiwixServerPort); - connect(view, &SettingsView::downloadDirChanged, this, &SettingsManager::setDownloadDir); - connect(view, &SettingsView::zoomFactorChanged, this, &SettingsManager::setZoom); - connect(view, &QObject::destroyed, this, [=]() { m_view = nullptr; }); - m_view = view; + auto view = new SettingsView(); + view->init(m_kiwixServerPort, m_zoomFactor * 100, m_downloadDir); + connect(view, &QObject::destroyed, this, [=]() { m_view = nullptr; }); + m_view = view; } return m_view; } @@ -63,22 +60,18 @@ void SettingsManager::setKiwixServerPort(int port) emit(portChanged(port)); } -void SettingsManager::setZoom(int factor) -{ - qreal zoomFactor = (double)factor/100; - setZoomFactor(zoomFactor); -} - void SettingsManager::setZoomFactor(qreal zoomFactor) { m_zoomFactor = zoomFactor; m_settings.setValue("view/zoomFactor", zoomFactor); + emit(zoomChanged(zoomFactor)); } bool SettingsManager::setDownloadDir(QString downloadDir) { m_downloadDir = downloadDir; m_settings.setValue("download/dir", downloadDir); + emit(downloadDirChanged(downloadDir)); return true; } diff --git a/src/settingsmanager.h b/src/settingsmanager.h index d7a6116..82db2f2 100644 --- a/src/settingsmanager.h +++ b/src/settingsmanager.h @@ -9,8 +9,8 @@ class SettingsManager : public QObject { Q_OBJECT Q_PROPERTY(int kiwixServerPort READ getKiwixServerPort NOTIFY portChanged) - Q_PROPERTY(qreal zoomFactor READ getZoomFactor NOTIFY zoomChanged) - Q_PROPERTY(QString downloadDir READ getDownloadDir NOTIFY downloadDirChanged) + Q_PROPERTY(qreal zoomFactor MEMBER m_zoomFactor NOTIFY zoomChanged) + Q_PROPERTY(QString downloadDir MEMBER m_downloadDir NOTIFY downloadDirChanged) public: explicit SettingsManager(QObject *parent = nullptr); @@ -31,7 +31,6 @@ public slots: qreal getZoomFactor() { return m_zoomFactor; }; bool setDownloadDir(QString downloadDir); QString getDownloadDir() { return m_downloadDir; } - void setZoom(int factor); private: void initSettings(); diff --git a/src/settingsview.cpp b/src/settingsview.cpp index 55f6920..5387aa9 100644 --- a/src/settingsview.cpp +++ b/src/settingsview.cpp @@ -15,8 +15,11 @@ SettingsView::SettingsView(QWidget *parent) ui->widget->setStyleSheet(styleSheet); connect(ui->serverPortSpinBox, QOverload::of(&QSpinBox::valueChanged), this, &SettingsView::serverPortChanged); connect(ui->zoomLevelSpinBox, QOverload::of(&QSpinBox::valueChanged), this, &SettingsView::zoomFactorChanged); - connect(ui->resetButton, &QPushButton::clicked, this, &SettingsView::resetDownloadDir); connect(ui->browseButton, &QPushButton::clicked, this, &SettingsView::browseDownloadDir); + connect(ui->resetButton, &QPushButton::clicked, this, &SettingsView::resetDownloadDir); + connect(KiwixApp::instance()->getSettingsManager(), &SettingsManager::downloadDirChanged, this, &SettingsView::setDownloadDir); + connect(KiwixApp::instance()->getSettingsManager(), &SettingsManager::zoomChanged, this, &SettingsView::setZoom); + connect(KiwixApp::instance()->getSettingsManager(), &SettingsManager::portChanged, this, &SettingsView::setKiwixServerPort); ui->settingsLabel->setText(gt("settings")); ui->serverPortLabel->setText(gt("port-for-local-kiwix-server-setting")); ui->zoomLevelLabel->setText(gt("zoom-level-setting")); @@ -54,8 +57,7 @@ void SettingsView::resetDownloadDir() return; } if (confirmDialogDownloadDir(dir)) { - ui->downloadDirPath->setText(dir); - emit(downloadDirChanged(dir)); + KiwixApp::instance()->getSettingsManager()->setDownloadDir(dir); } } @@ -71,7 +73,32 @@ void SettingsView::browseDownloadDir() } if (confirmDialogDownloadDir(dir)) { - ui->downloadDirPath->setText(dir); - emit(downloadDirChanged(dir)); + KiwixApp::instance()->getSettingsManager()->setDownloadDir(dir); } } + +void SettingsView::zoomFactorChanged(int factor) +{ + qreal zoomFactor = (qreal) factor/100; + KiwixApp::instance()->getSettingsManager()->setZoomFactor(zoomFactor); +} + +void SettingsView::serverPortChanged(int port) +{ + KiwixApp::instance()->getSettingsManager()->setKiwixServerPort(port); +} + +void SettingsView::setDownloadDir(const QString &dir) +{ + ui->downloadDirPath->setText(dir); +} + +void SettingsView::setZoom(qreal factor) +{ + ui->zoomLevelSpinBox->setValue(factor*100); +} + +void SettingsView::setKiwixServerPort(int port) +{ + ui->serverPortSpinBox->setValue(port); +} \ No newline at end of file diff --git a/src/settingsview.h b/src/settingsview.h index 7af92d2..8c5a292 100644 --- a/src/settingsview.h +++ b/src/settingsview.h @@ -15,10 +15,11 @@ public: public Q_SLOTS: void resetDownloadDir(); void browseDownloadDir(); -signals: - void serverPortChanged(int port); void zoomFactorChanged(int factor); - void downloadDirChanged(const QString &dir); + void setDownloadDir(const QString &dir); + void setZoom(qreal factor); + void setKiwixServerPort(int port); + void serverPortChanged(int port); private: bool confirmDialogDownloadDir(const QString& dir); From afd0a37bbb7ae6350535638fb54beec68034e172 Mon Sep 17 00:00:00 2001 From: Nikhil Tanwar <2002nikhiltanwar@gmail.com> Date: Wed, 13 Oct 2021 16:11:25 +0530 Subject: [PATCH 10/12] Naming and consistency changes zoomLevelSpinBox changed to zoomPercentSpinBox zoomLevelLabel changed to zoomPercentLabel Added consistency in use of zoomFactor setZoom renamed to onZoomChanged zoomFactorChanged renamed to setZoom using the same view for checking and creating new in SettingsAction --- src/settingsmanager.h | 4 ++-- src/settingsview.cpp | 21 +++++++++++---------- src/settingsview.h | 6 +++--- src/tabbar.cpp | 4 ++-- ui/settings.ui | 4 ++-- 5 files changed, 20 insertions(+), 19 deletions(-) diff --git a/src/settingsmanager.h b/src/settingsmanager.h index 82db2f2..038eab1 100644 --- a/src/settingsmanager.h +++ b/src/settingsmanager.h @@ -9,8 +9,8 @@ class SettingsManager : public QObject { Q_OBJECT Q_PROPERTY(int kiwixServerPort READ getKiwixServerPort NOTIFY portChanged) - Q_PROPERTY(qreal zoomFactor MEMBER m_zoomFactor NOTIFY zoomChanged) - Q_PROPERTY(QString downloadDir MEMBER m_downloadDir NOTIFY downloadDirChanged) + Q_PROPERTY(qreal zoomFactor MEMBER m_zoomFactor WRITE setZoomFactor NOTIFY zoomChanged) + Q_PROPERTY(QString downloadDir MEMBER m_downloadDir WRITE setDownloadDir NOTIFY downloadDirChanged) public: explicit SettingsManager(QObject *parent = nullptr); diff --git a/src/settingsview.cpp b/src/settingsview.cpp index 5387aa9..dbcbc19 100644 --- a/src/settingsview.cpp +++ b/src/settingsview.cpp @@ -14,23 +14,23 @@ SettingsView::SettingsView(QWidget *parent) QString styleSheet = QString(file.readAll()); ui->widget->setStyleSheet(styleSheet); connect(ui->serverPortSpinBox, QOverload::of(&QSpinBox::valueChanged), this, &SettingsView::serverPortChanged); - connect(ui->zoomLevelSpinBox, QOverload::of(&QSpinBox::valueChanged), this, &SettingsView::zoomFactorChanged); + connect(ui->zoomPercentSpinBox, QOverload::of(&QSpinBox::valueChanged), this, &SettingsView::setZoom); connect(ui->browseButton, &QPushButton::clicked, this, &SettingsView::browseDownloadDir); connect(ui->resetButton, &QPushButton::clicked, this, &SettingsView::resetDownloadDir); connect(KiwixApp::instance()->getSettingsManager(), &SettingsManager::downloadDirChanged, this, &SettingsView::setDownloadDir); - connect(KiwixApp::instance()->getSettingsManager(), &SettingsManager::zoomChanged, this, &SettingsView::setZoom); + connect(KiwixApp::instance()->getSettingsManager(), &SettingsManager::zoomChanged, this, &SettingsView::onZoomChanged); connect(KiwixApp::instance()->getSettingsManager(), &SettingsManager::portChanged, this, &SettingsView::setKiwixServerPort); ui->settingsLabel->setText(gt("settings")); ui->serverPortLabel->setText(gt("port-for-local-kiwix-server-setting")); - ui->zoomLevelLabel->setText(gt("zoom-level-setting")); + ui->zoomPercentLabel->setText(gt("zoom-level-setting")); ui->downloadDirLabel->setText(gt("download-directory-setting")); ui->resetButton->setText(gt("reset")); ui->browseButton->setText(gt("browse")); } -void SettingsView::init(int port, int factor, const QString &dir) +void SettingsView::init(int port, int zoomFactor, const QString &dir) { ui->serverPortSpinBox->setValue(port); - ui->zoomLevelSpinBox->setValue(factor); + ui->zoomPercentSpinBox->setValue(zoomFactor); ui->downloadDirPath->setText(dir); } bool SettingsView::confirmDialogDownloadDir(const QString& dir) @@ -77,9 +77,9 @@ void SettingsView::browseDownloadDir() } } -void SettingsView::zoomFactorChanged(int factor) +void SettingsView::setZoom(int zoomPercent) { - qreal zoomFactor = (qreal) factor/100; + qreal zoomFactor = (qreal) zoomPercent/100; KiwixApp::instance()->getSettingsManager()->setZoomFactor(zoomFactor); } @@ -93,12 +93,13 @@ void SettingsView::setDownloadDir(const QString &dir) ui->downloadDirPath->setText(dir); } -void SettingsView::setZoom(qreal factor) +void SettingsView::onZoomChanged(qreal zoomFactor) { - ui->zoomLevelSpinBox->setValue(factor*100); + qreal zoomPercent = zoomFactor * 100; + ui->zoomPercentSpinBox->setValue(zoomPercent); } void SettingsView::setKiwixServerPort(int port) { ui->serverPortSpinBox->setValue(port); -} \ No newline at end of file +} diff --git a/src/settingsview.h b/src/settingsview.h index 8c5a292..0f6759a 100644 --- a/src/settingsview.h +++ b/src/settingsview.h @@ -11,13 +11,13 @@ class SettingsView : public QWidget public: SettingsView(QWidget *parent = nullptr); ~SettingsView(){}; - void init(int port, int factor, const QString &dir); + void init(int port, int zoomFactor, const QString &dir); public Q_SLOTS: void resetDownloadDir(); void browseDownloadDir(); - void zoomFactorChanged(int factor); + void setZoom(int zoomPercent); void setDownloadDir(const QString &dir); - void setZoom(qreal factor); + void onZoomChanged(qreal zoomFactor); void setKiwixServerPort(int port); void serverPortChanged(int port); private: diff --git a/src/tabbar.cpp b/src/tabbar.cpp index b387cb9..6f8c483 100644 --- a/src/tabbar.cpp +++ b/src/tabbar.cpp @@ -54,14 +54,14 @@ TabBar::TabBar(QWidget *parent) : }); connect(app->getAction(KiwixApp::SettingAction), &QAction::triggered, this, [=]() { + SettingsView* view = KiwixApp::instance()->getSettingsManager()->getView(); for (int i = 0 ; i < mp_stackedWidget->count(); i++) { - if (mp_stackedWidget->widget(i) == KiwixApp::instance()->getSettingsManager()->getView()) { + if (mp_stackedWidget->widget(i) == view) { setCurrentIndex(i); return; } } int index = currentIndex() + 1; - SettingsView* view = KiwixApp::instance()->getSettingsManager()->getView(); mp_stackedWidget->insertWidget(index, view); insertTab(index,QIcon(":/icons/settings.svg"), gt("settings")); KiwixApp::instance()->setSideBar(KiwixApp::SideBarType::NONE); diff --git a/ui/settings.ui b/ui/settings.ui index b2d5267..178e720 100644 --- a/ui/settings.ui +++ b/ui/settings.ui @@ -116,7 +116,7 @@ - + Zoom level: @@ -136,7 +136,7 @@ - + false From 4f2334ecbf43a7f7e7e1fca48bfb4ba674505f4a Mon Sep 17 00:00:00 2001 From: Nikhil Tanwar <2002nikhiltanwar@gmail.com> Date: Wed, 13 Oct 2021 23:20:25 +0530 Subject: [PATCH 11/12] Naming changes for setDownloadDir and setKiwixServerPort --- src/settingsview.cpp | 16 ++++++++-------- src/settingsview.h | 6 +++--- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/settingsview.cpp b/src/settingsview.cpp index dbcbc19..23719f8 100644 --- a/src/settingsview.cpp +++ b/src/settingsview.cpp @@ -13,13 +13,13 @@ SettingsView::SettingsView(QWidget *parent) file.open(QFile::ReadOnly); QString styleSheet = QString(file.readAll()); ui->widget->setStyleSheet(styleSheet); - connect(ui->serverPortSpinBox, QOverload::of(&QSpinBox::valueChanged), this, &SettingsView::serverPortChanged); + connect(ui->serverPortSpinBox, QOverload::of(&QSpinBox::valueChanged), this, &SettingsView::setKiwixServerPort); connect(ui->zoomPercentSpinBox, QOverload::of(&QSpinBox::valueChanged), this, &SettingsView::setZoom); connect(ui->browseButton, &QPushButton::clicked, this, &SettingsView::browseDownloadDir); connect(ui->resetButton, &QPushButton::clicked, this, &SettingsView::resetDownloadDir); - connect(KiwixApp::instance()->getSettingsManager(), &SettingsManager::downloadDirChanged, this, &SettingsView::setDownloadDir); + connect(KiwixApp::instance()->getSettingsManager(), &SettingsManager::downloadDirChanged, this, &SettingsView::onDownloadDirChanged); connect(KiwixApp::instance()->getSettingsManager(), &SettingsManager::zoomChanged, this, &SettingsView::onZoomChanged); - connect(KiwixApp::instance()->getSettingsManager(), &SettingsManager::portChanged, this, &SettingsView::setKiwixServerPort); + connect(KiwixApp::instance()->getSettingsManager(), &SettingsManager::portChanged, this, &SettingsView::onServerPortChanged); ui->settingsLabel->setText(gt("settings")); ui->serverPortLabel->setText(gt("port-for-local-kiwix-server-setting")); ui->zoomPercentLabel->setText(gt("zoom-level-setting")); @@ -27,10 +27,10 @@ SettingsView::SettingsView(QWidget *parent) ui->resetButton->setText(gt("reset")); ui->browseButton->setText(gt("browse")); } -void SettingsView::init(int port, int zoomFactor, const QString &dir) +void SettingsView::init(int port, int zoomPercent, const QString &dir) { ui->serverPortSpinBox->setValue(port); - ui->zoomPercentSpinBox->setValue(zoomFactor); + ui->zoomPercentSpinBox->setValue(zoomPercent); ui->downloadDirPath->setText(dir); } bool SettingsView::confirmDialogDownloadDir(const QString& dir) @@ -83,12 +83,12 @@ void SettingsView::setZoom(int zoomPercent) KiwixApp::instance()->getSettingsManager()->setZoomFactor(zoomFactor); } -void SettingsView::serverPortChanged(int port) +void SettingsView::setKiwixServerPort(int port) { KiwixApp::instance()->getSettingsManager()->setKiwixServerPort(port); } -void SettingsView::setDownloadDir(const QString &dir) +void SettingsView::onDownloadDirChanged(const QString &dir) { ui->downloadDirPath->setText(dir); } @@ -99,7 +99,7 @@ void SettingsView::onZoomChanged(qreal zoomFactor) ui->zoomPercentSpinBox->setValue(zoomPercent); } -void SettingsView::setKiwixServerPort(int port) +void SettingsView::onServerPortChanged(int port) { ui->serverPortSpinBox->setValue(port); } diff --git a/src/settingsview.h b/src/settingsview.h index 0f6759a..0e80c22 100644 --- a/src/settingsview.h +++ b/src/settingsview.h @@ -11,15 +11,15 @@ class SettingsView : public QWidget public: SettingsView(QWidget *parent = nullptr); ~SettingsView(){}; - void init(int port, int zoomFactor, const QString &dir); + void init(int port, int zoomPercent, const QString &dir); public Q_SLOTS: void resetDownloadDir(); void browseDownloadDir(); void setZoom(int zoomPercent); - void setDownloadDir(const QString &dir); + void onDownloadDirChanged(const QString &dir); void onZoomChanged(qreal zoomFactor); + void onServerPortChanged(int port); void setKiwixServerPort(int port); - void serverPortChanged(int port); private: bool confirmDialogDownloadDir(const QString& dir); From b5a458a1abf49a00c4618aacd98553be5dfba329 Mon Sep 17 00:00:00 2001 From: Nikhil Tanwar <2002nikhiltanwar@gmail.com> Date: Thu, 14 Oct 2021 19:09:15 +0530 Subject: [PATCH 12/12] Removed getTranslations from SettingsManager --- src/settingsmanager.cpp | 10 ---------- src/settingsmanager.h | 1 - 2 files changed, 11 deletions(-) diff --git a/src/settingsmanager.cpp b/src/settingsmanager.cpp index 6eff956..ef1ff01 100644 --- a/src/settingsmanager.cpp +++ b/src/settingsmanager.cpp @@ -75,16 +75,6 @@ bool SettingsManager::setDownloadDir(QString downloadDir) return true; } -QStringList SettingsManager::getTranslations(const QStringList &keys) -{ - QStringList translations; - - for(auto& key: keys) { - translations.append(KiwixApp::instance()->getText(key)); - } - return translations; -} - void SettingsManager::initSettings() { m_kiwixServerPort = m_settings.value("localKiwixServer/port", 8181).toInt(); diff --git a/src/settingsmanager.h b/src/settingsmanager.h index 038eab1..1940df1 100644 --- a/src/settingsmanager.h +++ b/src/settingsmanager.h @@ -24,7 +24,6 @@ public: qreal getZoomFactorByZimId(const QString &id); public slots: - QStringList getTranslations(const QStringList &keys); void setKiwixServerPort(int port); int getKiwixServerPort() { return m_kiwixServerPort; }; void setZoomFactor(qreal zoomFactor);