diff --git a/configprovider.cpp b/configprovider.cpp new file mode 100644 index 0000000..448d8e9 --- /dev/null +++ b/configprovider.cpp @@ -0,0 +1,25 @@ +#include "configprovider.h" + +ConfigProvider::ConfigProvider(QString configDirPath, QSettings &settings) +{ + this->settings = &settings; + this->configDirPath = configDirPath; +} + +QVector ConfigProvider::getUserEntries() +{ + ConfigReader reader({this->configDirPath}); + return reader.readConfig(); +} + +QVector ConfigProvider::getSystemEntries() +{ + QStringList systemApplicationsPaths = settings->value("sysAppsPaths", "/usr/share/applications/").toStringList(); + ConfigReader systemConfigReader(systemApplicationsPaths); + return systemConfigReader.readConfig(); +} + +bool ConfigProvider::singleInstanceMode() +{ + return settings->value("singleInstance", true).toBool(); +} diff --git a/configprovider.h b/configprovider.h new file mode 100644 index 0000000..699eabd --- /dev/null +++ b/configprovider.h @@ -0,0 +1,18 @@ +#ifndef CONFIGPROVIDER_H +#define CONFIGPROVIDER_H +#include +#include "config.h" + +class ConfigProvider +{ +private: + QSettings *settings; + QString configDirPath; +public: + ConfigProvider(QString configDirPath, QSettings &settings); + QVector getUserEntries(); + QVector getSystemEntries(); + bool singleInstanceMode(); +}; + +#endif // CONFIGPROVIDER_H