mirror of
https://github.com/kiwix/kiwix-desktop.git
synced 2025-09-22 19:46:12 -04:00
Dropped signals from SettingsView
SettingsView now responds to signals from SettingsManager to change values Fixed indentation
This commit is contained in:
parent
8ba4e8ab85
commit
de4fdbf033
@ -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;
|
||||
}
|
||||
|
||||
|
@ -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();
|
||||
|
||||
|
@ -15,8 +15,11 @@ SettingsView::SettingsView(QWidget *parent)
|
||||
ui->widget->setStyleSheet(styleSheet);
|
||||
connect(ui->serverPortSpinBox, QOverload<int>::of(&QSpinBox::valueChanged), this, &SettingsView::serverPortChanged);
|
||||
connect(ui->zoomLevelSpinBox, QOverload<int>::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);
|
||||
}
|
@ -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);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user