• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdepim API Reference
  • KDE Home
  • Contact Us
 

mailcommon

  • sources
  • kde-4.14
  • kdepim
  • mailcommon
  • filter
kmfilterdialog.h
Go to the documentation of this file.
1 /*
2  Filter Dialog
3  Author: Marc Mutz <mutz@kde.org>
4  based upon work by Stefan Taferner <taferner@kde.org>
5 
6  Copyright (c) 2011-2015 Laurent Montel <montel@kde.org>
7 
8  This program is free software; you can redistribute it and/or modify
9  it under the terms of the GNU General Public License as published by
10  the Free Software Foundation; either version 2 of the License, or
11  (at your option) any later version.
12 
13  This program is distributed in the hope that it will be useful,
14  but WITHOUT ANY WARRANTY; without even the implied warranty of
15  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16  GNU General Public License for more details.
17 
18  You should have received a copy of the GNU General Public License along
19  with this program; if not, write to the Free Software Foundation, Inc.,
20  51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
21 */
22 
23 #ifndef MAILCOMMON_KMFILTERDIALOG_H
24 #define MAILCOMMON_KMFILTERDIALOG_H
25 
26 #include "mailcommon_export.h"
27 #include "filteractions/filteraction.h"
28 #include "filterimporterexporter.h"
29 #include "mailfilter.h"
30 #include "search/searchpattern.h"
31 
32 #include <KDialog>
33 
34 #include <QGroupBox>
35 #include <QList>
36 #include <QListWidgetItem>
37 #include <QTreeWidget>
38 
39 class KActionCollection;
40 class KIconButton;
41 class KKeySequenceWidget;
42 
43 class QCheckBox;
44 class QLabel;
45 class QListWidget;
46 class QModelIndex;
47 class QPushButton;
48 class QRadioButton;
49 
50 namespace MailCommon {
51 class SearchPatternEdit;
52 class FilterActionWidgetLister;
53 class FolderRequester;
54 class KMFilterAccountList;
55 class KMFilterListBox;
56 }
57 
58 class KJob;
59 
114 namespace MailCommon {
115 class MAILCOMMON_EXPORT KMFilterDialog : public KDialog
116 {
117  Q_OBJECT
118 
119 public:
125  explicit KMFilterDialog( const QList<KActionCollection*> &actionCollection,
126  QWidget *parent = 0, bool createDummyFilter = true );
127 
134  void createFilter( const QByteArray &field, const QString &value );
135 
136 public slots:
143  void slotFilterSelected( MailCommon::MailFilter *aFilter );
144 
146  virtual void accept();
147 
148 protected slots:
149  void slotApplicabilityChanged();
150  void slotApplicableAccountsChanged();
151  void slotStopProcessingButtonToggled( bool aChecked );
152  void slotConfigureShortcutButtonToggled( bool aChecked );
153  void slotShortcutChanged( const QKeySequence &newSeq );
154  void slotConfigureToolbarButtonToggled( bool aChecked );
155  void slotFilterActionIconChanged( const QString &icon );
156  void slotReset();
157  void slotUpdateFilter();
158  void slotSaveSize();
159 
163  void slotFinished();
164 
168  void slotUpdateAccountList();
169 
175  void slotImportFilter( QAction * );
176 
182  void slotExportFilters();
183 
187  void slotDisableAccept();
188 
193  void slotDialogUpdated();
194 
198  void slotApply();
199 
200  void slotRunFilters();
201 
202  void slotFetchItemsForFolderDone( KJob *job );
203 
204  void slotFolderChanged( const Akonadi::Collection & );
205 
206 private Q_SLOTS:
207  void slotExportAsSieveScript();
208 
209 private:
210  void importFilters( MailCommon::FilterImporterExporter::FilterType type );
211 
212 protected:
213  bool event(QEvent *e);
214 
217  KMFilterListBox *mFilterList;
218 
220  MailCommon::SearchPatternEdit *mPatternEdit;
221 
223  MailCommon::FilterActionWidgetLister *mActionLister;
224 
227  QCheckBox *mApplyOnIn, *mApplyOnOut, *mApplyBeforeOut, *mApplyOnCtrlJ;
228 
231  QRadioButton *mApplyOnForAll, *mApplyOnForTraditional, *mApplyOnForChecked;
232 
234  KMFilterAccountList *mAccountList;
235 
236  QCheckBox *mStopProcessingHere;
237  QCheckBox *mConfigureShortcut;
238  QCheckBox *mConfigureToolbar;
239  QLabel *mFilterActionLabel;
240  KIconButton *mFilterActionIconButton;
241  KKeySequenceWidget *mKeySeqWidget;
242  QGroupBox *mAdvOptsGroup;
243 
244  MailCommon::MailFilter *mFilter;
245  MailCommon::FolderRequester *mFolderRequester;
246  KPushButton *mRunNow;
247  bool mDoNotClose;
248  bool mIgnoreFilterUpdates;
249 };
250 
251 }
252 
253 #endif /*kmfilterdialog_h*/
MailCommon::KMFilterDialog::mKeySeqWidget
KKeySequenceWidget * mKeySeqWidget
Definition: kmfilterdialog.h:241
QModelIndex
QEvent
QWidget
MailCommon::KMFilterDialog::mApplyOnOut
QCheckBox * mApplyOnOut
Definition: kmfilterdialog.h:227
MailCommon::KMFilterDialog::mFilterActionIconButton
KIconButton * mFilterActionIconButton
Definition: kmfilterdialog.h:240
QByteArray
MailCommon::FilterActionWidgetLister
A container widget for a list of FilterActionWidgets.
Definition: filteractionwidget.h:115
MailCommon::KMFilterDialog::mConfigureShortcut
QCheckBox * mConfigureShortcut
Definition: kmfilterdialog.h:237
MailCommon::KMFilterDialog
Definition: kmfilterdialog.h:115
mailfilter.h
MailCommon::KMFilterDialog::mAdvOptsGroup
QGroupBox * mAdvOptsGroup
Definition: kmfilterdialog.h:242
KDialog
QListWidget
MailCommon::KMFilterDialog::mActionLister
MailCommon::FilterActionWidgetLister * mActionLister
The widget that allows editing of the filter actions.
Definition: kmfilterdialog.h:223
MailCommon::KMFilterDialog::mPatternEdit
MailCommon::SearchPatternEdit * mPatternEdit
The widget that allows editing of the filter pattern.
Definition: kmfilterdialog.h:220
MailCommon::KMFilterDialog::mDoNotClose
bool mDoNotClose
Definition: kmfilterdialog.h:247
MailCommon::SearchPatternEdit
Definition: searchpatternedit.h:77
MailCommon::KMFilterAccountList
Definition: kmfilteraccountlist.h:23
MailCommon::KMFilterDialog::mFolderRequester
MailCommon::FolderRequester * mFolderRequester
Definition: kmfilterdialog.h:245
QGroupBox
mailcommon_export.h
QCheckBox
MailCommon::FolderRequester
A widget that contains a KLineEdit which shows the current folder and a button that fires a FolderSel...
Definition: folderrequester.h:59
QString
QList
MailCommon::FilterImporterExporter::FilterType
FilterType
Definition: filterimporterexporter.h:56
MAILCOMMON_EXPORT
#define MAILCOMMON_EXPORT
Definition: mailcommon_export.h:35
searchpattern.h
QKeySequence
filterimporterexporter.h
QRadioButton
QAction
MailCommon::KMFilterDialog::mFilterList
KMFilterListBox * mFilterList
The widget that contains the ListBox showing the filters, and the controls to remove filters...
Definition: kmfilterdialog.h:217
MailCommon::KMFilterDialog::mAccountList
KMFilterAccountList * mAccountList
ListView that shows the accounts in the advanced tab.
Definition: kmfilterdialog.h:234
MailCommon::KMFilterListBox
Definition: kmfilterlistbox.h:71
MailCommon::KMFilterDialog::mApplyOnForTraditional
QRadioButton * mApplyOnForTraditional
Definition: kmfilterdialog.h:231
QPushButton
MailCommon::KMFilterDialog::mConfigureToolbar
QCheckBox * mConfigureToolbar
Definition: kmfilterdialog.h:238
MailCommon::KMFilterDialog::mFilterActionLabel
QLabel * mFilterActionLabel
Definition: kmfilterdialog.h:239
MailCommon::KMFilterDialog::mFilter
MailCommon::MailFilter * mFilter
Definition: kmfilterdialog.h:244
QLabel
MailCommon::KMFilterDialog::mRunNow
KPushButton * mRunNow
Definition: kmfilterdialog.h:246
MailCommon::MailFilter
Definition: mailfilter.h:42
MailCommon::KMFilterDialog::mStopProcessingHere
QCheckBox * mStopProcessingHere
Definition: kmfilterdialog.h:236
MailCommon::KMFilterDialog::mIgnoreFilterUpdates
bool mIgnoreFilterUpdates
Definition: kmfilterdialog.h:248
filteraction.h
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Mon Jun 22 2020 13:31:40 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

mailcommon

Skip menu "mailcommon"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Related Pages

kdepim API Reference

Skip menu "kdepim API Reference"
  • akonadi_next
  • akregator
  • blogilo
  • calendarsupport
  • console
  •   kabcclient
  •   konsolekalendar
  • kaddressbook
  • kalarm
  •   lib
  • kdgantt2
  • kjots
  • kleopatra
  • kmail
  • knode
  • knotes
  • kontact
  • korgac
  • korganizer
  • ktimetracker
  • libkdepim
  • libkleo
  • libkpgp
  • mailcommon
  • messagelist
  • messageviewer
  • pimprint

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal