mirror of
https://invent.kde.org/marcoa/shift-shell.git
synced 2026-06-11 00:47:22 +00:00
Detect the device class, stage the selected experience, and write the resulting setup choices through SetupState. Load the new device and experience modules before the existing setup pages, and use the Shift icon on the finished page.
35 lines
1 KiB
C++
35 lines
1 KiB
C++
// SPDX-FileCopyrightText: 2023 Devin Lin <devin@kde.org>
|
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
#include "settings.h"
|
|
|
|
#include <KConfigGroup>
|
|
|
|
const QString CONFIG_FILE = QStringLiteral("plasmamobilerc");
|
|
const QString INITIAL_START_CONFIG_GROUP = QStringLiteral("InitialStart");
|
|
|
|
Settings::Settings(QObject *parent)
|
|
: QObject{parent}
|
|
, m_mobileConfig{KSharedConfig::openConfig(CONFIG_FILE)}
|
|
{
|
|
}
|
|
|
|
bool Settings::shouldStartWizard()
|
|
{
|
|
const KConfigGroup initialStartGroup{m_mobileConfig, INITIAL_START_CONFIG_GROUP};
|
|
const KConfigGroup generalGroup{m_mobileConfig, QStringLiteral("General")};
|
|
return !initialStartGroup.readEntry("wizardRun", false) || generalGroup.readEntry("setupExperienceProfile", QString()).isEmpty();
|
|
}
|
|
|
|
void Settings::setWizardFinished()
|
|
{
|
|
auto group = KConfigGroup{m_mobileConfig, INITIAL_START_CONFIG_GROUP};
|
|
group.writeEntry("wizardRun", true, KConfigGroup::Notify);
|
|
m_mobileConfig->sync();
|
|
}
|
|
|
|
Settings *Settings::self()
|
|
{
|
|
static auto instance = new Settings;
|
|
return instance;
|
|
}
|