From 2824f84f9f16d89ce7bc3ff58c9a2d60590975a5 Mon Sep 17 00:00:00 2001 From: Albert S Date: Sun, 6 Sep 2020 19:41:59 +0200 Subject: [PATCH] Introduce Settingsprovider to read settings Previously, it was in the configprovider.cpp. Now, it has been split to this file --- settingsprovider.cpp | 27 +++++++++++++++++++++++++++ settingsprovider.h | 18 ++++++++++++++++++ 2 files changed, 45 insertions(+) create mode 100644 settingsprovider.cpp create mode 100644 settingsprovider.h diff --git a/settingsprovider.cpp b/settingsprovider.cpp new file mode 100644 index 0000000..34d6963 --- /dev/null +++ b/settingsprovider.cpp @@ -0,0 +1,27 @@ +#include "settingsprovider.h" +#include +#include + +SettingsProvider::SettingsProvider(QSettings &settings) +{ + this->settings = &settings; +} + +QStringList SettingsProvider::userEntriesPaths() const +{ + //TODO: make it configurable, but we stick with this for now. + QFileInfo fi(this->settings->fileName()); + return { fi.absoluteDir().absolutePath() }; +} + +QStringList SettingsProvider::systemApplicationsEntriesPaths() const +{ + return settings->value("sysAppsPaths", "/usr/share/applications/").toStringList(); +} + +bool SettingsProvider::singleInstanceMode() const +{ + return settings->value("singleInstance", true).toBool(); +} + + diff --git a/settingsprovider.h b/settingsprovider.h new file mode 100644 index 0000000..117ca6c --- /dev/null +++ b/settingsprovider.h @@ -0,0 +1,18 @@ +#ifndef SETTINGSPROVIDER_H +#define SETTINGSPROVIDER_H + +#include +#include + +class SettingsProvider +{ +private: + QSettings *settings; +public: + SettingsProvider(QSettings &settings); + virtual QStringList userEntriesPaths() const; + virtual QStringList systemApplicationsEntriesPaths() const; + virtual bool singleInstanceMode() const; +}; + +#endif // SETTINGSPROVIDER_H