2022-09-16 09:12:25 +07:00
|
|
|
#include "settings.hpp"
|
|
|
|
|
|
|
|
#include <QSettings>
|
|
|
|
|
|
|
|
// Keys for user settings.
|
|
|
|
namespace UserSettings {
|
2022-10-23 19:43:35 +07:00
|
|
|
static const QString systemDirectory("systemDirectory");
|
2022-09-16 09:12:25 +07:00
|
|
|
static const QString gamesDirectory("gamesDirectory");
|
|
|
|
}
|
|
|
|
|
2022-09-17 12:19:12 +07:00
|
|
|
#define scope(name) QSettings s; s.beginGroup(name)
|
|
|
|
|
2022-09-20 21:50:30 +07:00
|
|
|
bool hasRequiredUserSettings()
|
2023-02-17 01:47:18 +07:00
|
|
|
{
|
|
|
|
return hasSystemDirectorySetting() && hasGamesDirectorySetting();
|
|
|
|
}
|
|
|
|
|
|
|
|
bool hasSystemDirectorySetting()
|
2022-09-20 21:50:30 +07:00
|
|
|
{
|
|
|
|
scope(SettingGroups::user);
|
|
|
|
|
2023-02-17 01:47:18 +07:00
|
|
|
return s.contains(UserSettings::systemDirectory);
|
2022-10-23 19:43:35 +07:00
|
|
|
}
|
|
|
|
|
|
|
|
QString readSystemDirectorySetting()
|
|
|
|
{
|
|
|
|
scope(SettingGroups::user);
|
|
|
|
|
|
|
|
auto v = s.value(UserSettings::systemDirectory);
|
|
|
|
|
|
|
|
return v.isNull() ? QString() : v.toString();
|
|
|
|
}
|
|
|
|
|
|
|
|
void writeSystemDirectorySetting(const QString &v)
|
|
|
|
{
|
|
|
|
scope(SettingGroups::user);
|
|
|
|
|
|
|
|
s.setValue(UserSettings::systemDirectory, v);
|
2022-09-20 21:50:30 +07:00
|
|
|
}
|
|
|
|
|
2023-02-17 01:47:18 +07:00
|
|
|
bool hasGamesDirectorySetting()
|
|
|
|
{
|
|
|
|
scope(SettingGroups::user);
|
|
|
|
|
|
|
|
return s.contains(UserSettings::gamesDirectory);
|
|
|
|
}
|
|
|
|
|
2022-09-17 12:19:12 +07:00
|
|
|
QString readGamesDirectorySetting()
|
|
|
|
{
|
|
|
|
scope(SettingGroups::user);
|
|
|
|
|
|
|
|
auto v = s.value(UserSettings::gamesDirectory);
|
|
|
|
|
|
|
|
return v.isNull() ? QString() : v.toString();
|
|
|
|
}
|
|
|
|
|
|
|
|
void writeGamesDirectorySetting(const QString &v)
|
|
|
|
{
|
|
|
|
scope(SettingGroups::user);
|
|
|
|
|
|
|
|
s.setValue(UserSettings::gamesDirectory, v);
|
|
|
|
}
|
|
|
|
|
2022-09-16 09:12:25 +07:00
|
|
|
namespace SettingGroups {
|
|
|
|
const QString user("user");
|
2022-09-17 15:44:02 +07:00
|
|
|
const QString mainWindow("mainWindow");
|
2022-09-16 09:12:25 +07:00
|
|
|
}
|