Messagelib

tagmanager.h
1/*
2 SPDX-FileCopyrightText: 2025 Laurent Montel <montel@kde.org>
3
4 SPDX-License-Identifier: GPL-2.0-or-later
5*/
6
7#pragma once
8
9#include "messagelist_export.h"
10#include <Akonadi/Tag>
11#include <QMap>
12#include <QObject>
13namespace Akonadi
14{
15class Monitor;
16}
17class KJob;
18namespace MessageList
19{
20namespace Core
21{
22class MESSAGELIST_EXPORT TagManager : public QObject
23{
24 Q_OBJECT
25public:
26 explicit TagManager(QObject *parent = nullptr);
27 ~TagManager() override;
28
29 static TagManager *self();
30
31 [[nodiscard]] QMap<QString, QString> mapTag() const;
32 void setMapTag(const QMap<QString, QString> &newMapTag);
33
34 [[nodiscard]] QString tagFromName(const QString &name) const;
35
36 void slotTagsChanged();
37Q_SIGNALS:
38 void tagsFetched(const Akonadi::Tag::List &lst);
39
40private:
41 void init();
42 void slotTagsFetched(KJob *job);
43 Akonadi::Monitor *const mMonitor;
44 QMap<QString, QString> mMapTag;
45};
46}
47}
void init(KXmlGuiWindow *window, KGameDifficulty *difficulty=nullptr)
The implementation independent part of the MessageList library.
Definition aggregation.h:22
This file is part of the KDE documentation.
Documentation copyright © 1996-2025 The KDE developers.
Generated on Fri Mar 28 2025 11:49:15 by doxygen 1.13.2 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.