Introduce Settingsprovider to read settings

Previously, it was in the configprovider.cpp.

Now, it has been split to this file
This commit is contained in:
Albert S. 2020-09-06 19:41:59 +02:00
orang tua f03e247bd8
melakukan 2824f84f9f
2 mengubah file dengan 45 tambahan dan 0 penghapusan

27
settingsprovider.cpp Normal file
Melihat File

@ -0,0 +1,27 @@
#include "settingsprovider.h"
#include <QFileInfo>
#include <QDir>
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();
}

18
settingsprovider.h Normal file
Melihat File

@ -0,0 +1,18 @@
#ifndef SETTINGSPROVIDER_H
#define SETTINGSPROVIDER_H
#include <stdexcept>
#include <QSettings>
class SettingsProvider
{
private:
QSettings *settings;
public:
SettingsProvider(QSettings &settings);
virtual QStringList userEntriesPaths() const;
virtual QStringList systemApplicationsEntriesPaths() const;
virtual bool singleInstanceMode() const;
};
#endif // SETTINGSPROVIDER_H