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