File indexing completed on 2025-02-23 04:35:15

0001 // SPDX-FileCopyrightText: 2023 Joshua Goins <josh@redstrate.com>
0002 // SPDX-License-Identifier: GPL-3.0-or-later
0003 
0004 #include "windowcontroller.h"
0005 
0006 #include <KConfig>
0007 #include <KSharedConfig>
0008 #include <KWindowConfig>
0009 
0010 void WindowController::setWindow(QQuickWindow *window)
0011 {
0012     Q_ASSERT(window != nullptr);
0013     m_window = window;
0014 }
0015 
0016 void WindowController::restoreGeometry()
0017 {
0018     auto stateConfig = KSharedConfig::openStateConfig();
0019     auto windowGroup = stateConfig->group(QStringLiteral("Window"));
0020 
0021     KWindowConfig::restoreWindowPosition(m_window, windowGroup);
0022     KWindowConfig::restoreWindowSize(m_window, windowGroup);
0023 
0024     stateConfig->sync();
0025 }
0026 
0027 void WindowController::saveGeometry()
0028 {
0029     auto stateConfig = KSharedConfig::openStateConfig();
0030     auto windowGroup = stateConfig->group(QStringLiteral("Window"));
0031 
0032     KWindowConfig::saveWindowPosition(m_window, windowGroup);
0033     KWindowConfig::saveWindowSize(m_window, windowGroup);
0034 
0035     stateConfig->sync();
0036 }
0037 
0038 #include "moc_windowcontroller.cpp"