Advance Wayland and KDE package bring-up

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
2026-04-14 10:51:06 +01:00
parent 51f3c21121
commit cf12defd28
15214 changed files with 20594243 additions and 269 deletions
@@ -0,0 +1,65 @@
/*
SPDX-FileCopyrightText: 2010 Klarälvdalens Datakonsult AB, a KDAB Group company <info@kdab.net>
SPDX-FileContributor: Stephen Kelly <stephen@kdab.com>
SPDX-License-Identifier: LGPL-2.0-or-later
*/
#ifndef KVIEWSTATEMAINTAINER_H
#define KVIEWSTATEMAINTAINER_H
#include <KViewStateMaintainerBase>
#include <QAbstractItemView>
#include <KConfigGroup>
/**
* @class KViewStateMaintainer kviewstatemaintainer.h KViewStateMaintainer
*
* @brief Encapsulates the maintenance of state between resets of QAbstractItemModel
*
* @code
* m_collectionViewStateMaintainer = new KViewStateMaintainer<Akonadi::ETMViewStateSaver>(KSharedConfig::openConfig()->group("collectionView"));
* m_collectionViewStateMaintainer->setView(m_collectionView);
*
* m_collectionCheckStateMaintainer = new KViewStateMaintainer<Akonadi::ETMViewStateSaver>(KSharedConfig::openConfig()->group("collectionCheckState"));
* m_collectionCheckStateMaintainer->setSelectionModel(m_checkableProxy->selectionModel());
* @endcode
*
* @see KConfigViewStateSaver
*/
template<typename StateSaver>
class KViewStateMaintainer : public KViewStateMaintainerBase
{
typedef StateSaver StateRestorer;
public:
KViewStateMaintainer(const KConfigGroup &configGroup, QObject *parent = nullptr)
: KViewStateMaintainerBase(parent)
, m_configGroup(configGroup)
{
}
/* reimp */ void saveState()
{
StateSaver saver;
saver.setView(view());
saver.setSelectionModel(selectionModel());
saver.saveState(m_configGroup);
m_configGroup.sync();
}
/* reimp */ void restoreState()
{
StateRestorer *restorer = new StateRestorer;
restorer->setView(view());
restorer->setSelectionModel(selectionModel());
restorer->restoreState(m_configGroup);
}
private:
KConfigGroup m_configGroup;
};
#endif