Astyle kdelibs
[kdepim.git] / akonadiconsole / agentwidget.h
blob9d7a619a4881436d85d4ac3c8fbcfb411abf26fe
1 /*
2 This file is part of Akonadi.
4 Copyright (c) 2006 Tobias Koenig <tokoe@kde.org>
6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2 of the License, or
9 (at your option) any later version.
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with this program; if not, write to the Free Software
18 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
19 USA.
22 #ifndef AKONADICONSOLE_AGENTWIDGET_H
23 #define AKONADICONSOLE_AGENTWIDGET_H
25 #include "ui_agentwidget.h"
27 #include <AkonadiCore/agentinstance.h>
29 class KJob;
30 class QMenu;
31 class QPoint;
32 class QResizeEvent;
33 class QEvent;
35 class AgentWidget : public QWidget
37 Q_OBJECT
39 public:
40 explicit AgentWidget(QWidget *parent = Q_NULLPTR);
41 Akonadi::AgentInstanceWidget *widget() const
43 return ui.instanceWidget;
46 protected:
47 void resizeEvent(QResizeEvent *event) Q_DECL_OVERRIDE;
49 bool eventFilter(QObject *obj, QEvent *event) Q_DECL_OVERRIDE;
50 private Q_SLOTS:
51 void addAgent();
52 void removeAgent();
53 void configureAgent();
54 void configureAgentRemote();
55 void synchronizeAgent();
56 void synchronizeTree();
57 void toggleOnline();
58 void showChangeNotifications();
59 void showTaskList();
60 void abortAgent();
61 void restartAgent();
62 void cloneAgent();
63 void cloneAgent(KJob *job);
65 void currentChanged();
66 void showContextMenu(const QPoint &pos);
68 void selectionChanged();
69 void slotDataChanged(const QModelIndex &, const QModelIndex &);
71 private:
72 Ui::AgentWidget ui;
73 QMenu *mSyncMenu, *mConfigMenu;
74 Akonadi::AgentInstance mCloneSource;
77 #endif