File indexing completed on 2024-05-12 05:04:25

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