From 67be2dbeaa47d2a2ee7d96cdeff4a620824d2f0e Mon Sep 17 00:00:00 2001 From: Albert S Date: Mon, 3 Jun 2019 07:42:02 +0200 Subject: [PATCH] Added ConfigProvider class to allow window to reload config --- configprovider.cpp | 25 +++++++++++++++++++++++++ configprovider.h | 18 ++++++++++++++++++ 2 files changed, 43 insertions(+) create mode 100644 configprovider.cpp create mode 100644 configprovider.h 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