File indexing completed on 2024-05-12 05:28:15

0001 // SPDX-FileCopyrightText: 2022 Devin Lin <devin@kde.org>
0002 // SPDX-License-Identifier: LGPL-2.0-or-later
0003 
0004 #pragma once
0005 
0006 #include <QObject>
0007 #include <QAbstractListModel>
0008 
0009 #include <Akonadi/AgentManager>
0010 #include <Akonadi/AgentFilterProxyModel>
0011 #include <Akonadi/AgentInstance>
0012 
0013 class MailAccounts : public QObject {
0014     Q_OBJECT
0015     Q_PROPERTY(Akonadi::AgentFilterProxyModel *runningMailAgents READ runningMailAgents NOTIFY runningMailAgentsChanged)
0016     
0017 public:
0018     MailAccounts(QObject *parent = nullptr);
0019     
0020     Akonadi::AgentFilterProxyModel *runningMailAgents();
0021     
0022     Q_INVOKABLE void remove(int index);
0023     Q_INVOKABLE void openConfigWindow(int index);
0024 
0025 Q_SIGNALS:
0026     void runningMailAgentsChanged();
0027     
0028 private:
0029     Akonadi::AgentInstance instanceFromIndex(int index);
0030     
0031     Akonadi::AgentFilterProxyModel *m_runningMailAgents = nullptr;
0032 };