diff --git a/src/settingsmanager.cpp b/src/settingsmanager.cpp index 91ae4f6..94856fd 100644 --- a/src/settingsmanager.cpp +++ b/src/settingsmanager.cpp @@ -57,7 +57,16 @@ SettingsManager::SettingsManager(QObject *parent) : QObject{parent} QString SettingsManager::devdiskimgpath() const { - return downloadPath(); // Use the new downloadPath method + return m_settings + ->value("devdiskimgpath", + SettingsManager::homePath() + "/devdiskimages") + .toString(); +} + +void SettingsManager::setDevDiskImgPath(const QString &path) +{ + m_settings->setValue("devdiskimgpath", path); + m_settings->sync(); } QString SettingsManager::mkDevDiskImgPath() const @@ -71,26 +80,12 @@ QString SettingsManager::mkDevDiskImgPath() const return path; } -// Settings implementation -QString SettingsManager::downloadPath() const -{ - return m_settings - ->value("downloadPath", SettingsManager::homePath() + "/devdiskimages") - .toString(); -} - QString SettingsManager::homePath() { return QStandardPaths::writableLocation(QStandardPaths::HomeLocation) + "/.idescriptor"; } -void SettingsManager::setDownloadPath(const QString &path) -{ - m_settings->setValue("downloadPath", path); - m_settings->sync(); -} - bool SettingsManager::autoCheckUpdates() const { return m_settings->value("autoCheckUpdates", true).toBool(); @@ -127,7 +122,7 @@ void SettingsManager::setSwitchToNewDevice(bool enabled) #ifndef __APPLE__ bool SettingsManager::unmountiFuseOnExit() const { - return m_settings->value("unmountiFuseOnExit", true).toBool(); + return m_settings->value("unmountiFuseOnExit", false).toBool(); } void SettingsManager::setUnmountiFuseOnExit(bool enabled) @@ -213,7 +208,7 @@ void SettingsManager::doIfEnabled(Setting setting, std::function action) void SettingsManager::resetToDefaults() { - setDownloadPath(SettingsManager::homePath() + "/devdiskimages"); + setDevDiskImgPath(SettingsManager::homePath() + "/devdiskimages"); setAutoCheckUpdates(true); setAutoRaiseWindow(true); setSwitchToNewDevice(true); diff --git a/src/settingsmanager.h b/src/settingsmanager.h index e48e03a..9977377 100644 --- a/src/settingsmanager.h +++ b/src/settingsmanager.h @@ -37,7 +37,7 @@ public: // Settings keys enum class Setting { - DownloadPath, + DevDiskImgPath, AutoCheckUpdates, AutoRaiseWindow, SwitchToNewDevice, @@ -46,8 +46,9 @@ public: ConnectionTimeout }; static QString homePath(); - // Existing methods QString devdiskimgpath() const; + void setDevDiskImgPath(const QString &path); + QString mkDevDiskImgPath() const; void clearKeys(const QString &keyPrefix); void saveFavoritePlace(const QString &path, const QString &alias, @@ -63,11 +64,6 @@ public: QList getRecentLocations() const; void clearRecentLocations(); - QString downloadPath() const; - void setDownloadPath(const QString &path); - - QString mkDevDiskImgPath() const; - bool autoCheckUpdates() const; void setAutoCheckUpdates(bool enabled); diff --git a/src/settingswidget.cpp b/src/settingswidget.cpp index facbe20..641cf30 100644 --- a/src/settingswidget.cpp +++ b/src/settingswidget.cpp @@ -71,6 +71,7 @@ void SettingsWidget::setupUI() generalLayout->addLayout(downloadLayout); // Unmount iFuse drives on exit (not implemented on macOS) + // TODO: Implement #ifndef __APPLE__ m_unmount_iFuseDrives = new QCheckBox("Unmount iFuse drives on exit"); generalLayout->addWidget(m_unmount_iFuseDrives); @@ -169,7 +170,7 @@ void SettingsWidget::loadSettings() { SettingsManager *sm = SettingsManager::sharedInstance(); - m_downloadPathEdit->setText(sm->downloadPath()); + m_downloadPathEdit->setText(sm->devdiskimgpath()); m_autoUpdateCheck->setChecked(sm->autoCheckUpdates()); m_autoRaiseWindow->setChecked(sm->autoRaiseWindow()); m_switchToNewDevice->setChecked(sm->switchToNewDevice()); @@ -291,7 +292,7 @@ void SettingsWidget::saveSettings() { SettingsManager *sm = SettingsManager::sharedInstance(); - sm->setDownloadPath(m_downloadPathEdit->text()); + sm->setDevDiskImgPath(m_downloadPathEdit->text()); sm->setAutoCheckUpdates(m_autoUpdateCheck->isChecked()); sm->setAutoRaiseWindow(m_autoRaiseWindow->isChecked()); sm->setSwitchToNewDevice(m_switchToNewDevice->isChecked());