Use KSharedConfig::openStateConfig() instead of using a "data" file

This function will automatically create a "neochatstarerc" for us, and
KConfig will decide the best place for us to place our state. It won't
always be in AppDataLocation.
This commit is contained in:
Joshua Goins
2023-10-19 16:35:05 -04:00
committed by Tobias Fella
parent 26fd26f9fd
commit 83b7e7d121
5 changed files with 27 additions and 17 deletions

View File

@@ -13,6 +13,7 @@
#include <KWindowSystem>
#endif
#include <KSharedConfig>
#include <QStandardPaths>
WindowController &WindowController::instance()
@@ -35,18 +36,22 @@ QWindow *WindowController::window() const
void WindowController::restoreGeometry()
{
KConfig dataResource(QStringLiteral("data"), KConfig::SimpleConfig, QStandardPaths::AppDataLocation);
KConfigGroup windowGroup(&dataResource, QStringLiteral("Window"));
const auto stateConfig = KSharedConfig::openStateConfig();
const KConfigGroup windowGroup = stateConfig->group(QStringLiteral("Window"));
KWindowConfig::restoreWindowSize(m_window, windowGroup);
KWindowConfig::restoreWindowPosition(m_window, windowGroup);
}
void WindowController::saveGeometry()
{
KConfig dataResource(QStringLiteral("data"), KConfig::SimpleConfig, QStandardPaths::AppDataLocation);
KConfigGroup windowGroup(&dataResource, QStringLiteral("Window"));
const auto stateConfig = KSharedConfig::openStateConfig();
KConfigGroup windowGroup = stateConfig->group(QStringLiteral("Window"));
KWindowConfig::saveWindowPosition(m_window, windowGroup);
KWindowConfig::saveWindowSize(m_window, windowGroup);
stateConfig->sync();
}
void WindowController::showAndRaiseWindow(const QString &startupId)