summaryrefslogtreecommitdiffstats
path: root/kmail/managesievescriptsdialog.h
blob: f0b99ebc37ecec1e80e3005d2a964b028a7e5e29 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#ifndef __KMAIL__MANAGESIEVESCRIPTSDIALOG_H__
#define __KMAIL__MANAGESIEVESCRIPTSDIALOG_H__

#include <kdialogbase.h>
#include <kurl.h>
#include <qmap.h>

class QListView;
class QCheckListItem;

namespace KMail {

class SieveJob;
class SieveEditor;

class ManageSieveScriptsDialog : public KDialogBase {
  Q_OBJECT
public:
  ManageSieveScriptsDialog( QWidget * parent=0, const char * name=0 );
  ~ManageSieveScriptsDialog();

private slots:
  void slotRefresh();
  void slotItem( KMail::SieveJob *, const QString &, bool );
  void slotResult( KMail::SieveJob *, bool, const QString &, bool );
  void slotContextMenuRequested( QListViewItem *, const QPoint & );
  void slotDoubleClicked( QListViewItem * );
  void slotSelectionChanged( QListViewItem * );
  void slotNewScript();
  void slotEditScript();
  void slotDeleteScript();
  void slotGetResult( KMail::SieveJob *, bool, const QString &, bool );
  void slotPutResult( KMail::SieveJob *, bool );
  void slotSieveEditorOkClicked();
  void slotSieveEditorCancelClicked();

private:
  void killAllJobs();
  void changeActiveScript( QCheckListItem * );

private:
  QListView * mListView;
  SieveEditor * mSieveEditor;
  QMap<KMail::SieveJob*,QCheckListItem*> mJobs;
  QMap<QCheckListItem*,KURL> mUrls;
  QMap<QCheckListItem*,QCheckListItem*> mSelectedItems;
  QCheckListItem * mContextMenuItem;
  KURL mCurrentURL;
  bool mWasActive : 1;
};

}

#endif /* __KMAIL__MANAGESIEVESCRIPTSDIALOG_H__ */