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
父節點 f03e247bd8
當前提交 2824f84f9f
共有 2 個文件被更改,包括 45 次插入0 次删除

27
settingsprovider.cpp Normal 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
查看文件

@ -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