File indexing completed on 2024-06-23 05:07:19

0001 /*
0002     SPDX-FileCopyrightText: 2010 Klarälvdalens Datakonsult AB,
0003         a KDAB Group company, info@kdab.net
0004     SPDX-FileContributor: Stephen Kelly <stephen@kdab.com>
0005 
0006     SPDX-License-Identifier: LGPL-2.0-or-later
0007 */
0008 
0009 #pragma once
0010 
0011 #include <KConfigViewStateSaver>
0012 
0013 // AkonadiCore
0014 #include "akonadi/collection.h"
0015 #include "akonadi/item.h"
0016 
0017 #include "akonadiwidgets_export.h"
0018 
0019 namespace Akonadi
0020 {
0021 class AKONADIWIDGETS_EXPORT ETMViewStateSaver : public KConfigViewStateSaver // krazy:exclude=dpointer
0022 {
0023     Q_OBJECT
0024 public:
0025     explicit ETMViewStateSaver(QObject *parent = nullptr);
0026 
0027     void selectCollections(const Akonadi::Collection::List &list);
0028     void selectCollections(const QList<Akonadi::Collection::Id> &list);
0029     void selectItems(const Akonadi::Item::List &list);
0030     void selectItems(const QList<Akonadi::Item::Id> &list);
0031 
0032     void setCurrentItem(const Akonadi::Item &item);
0033     void setCurrentCollection(const Akonadi::Collection &collection);
0034 
0035 protected:
0036     /* reimp */
0037     QModelIndex indexFromConfigString(const QAbstractItemModel *model, const QString &key) const override;
0038     QString indexToConfigString(const QModelIndex &index) const override;
0039 };
0040 
0041 }