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

mailcommon

  • sources
  • kde-4.12
  • kdepim
  • mailcommon
  • filter
filtereditdialog.cpp
Go to the documentation of this file.
1 /*
2  Copyright (c) 2010 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com
3  Copyright (c) 2010 Andras Mantia <andras@kdab.com>
4 
5  This program is free software; you can redistribute it and/or modify
6  it under the terms of the GNU General Public License as published by
7  the Free Software Foundation; either version 2 of the License, or
8  (at your option) any later version.
9 
10  This program is distributed in the hope that it will be useful,
11  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  GNU General Public License for more details.
14 
15  You should have received a copy of the GNU General Public License along
16  with this program; if not, write to the Free Software Foundation, Inc.,
17  51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18 */
19 
20 #include "filtereditdialog_p.h"
21 
22 #include "filteractionwidget.h"
23 #include "filtermanager.h"
24 #include "mailfilter.h"
25 #include "search/searchpatternedit.h"
26 #include "ui_filterconfigwidget.h"
27 
28 using namespace MailCommon;
29 
30 FilterEditDialog::FilterEditDialog( QWidget *parent )
31  : KDialog( parent ), mFilter( 0 )
32 {
33  mUi = new Ui_FilterConfigWidget;
34  mUi->setupUi( mainWidget() );
35 
36  mPatternEdit = new SearchPatternEdit( this, MailCommon::SearchPatternEdit::MatchAllMessages );
37  mUi->criteriaLayout->addWidget( mPatternEdit, 0, Qt::AlignTop );
38  mActionLister = new FilterActionWidgetLister( this );
39  mUi->actionsLayout->addWidget( mActionLister, 0, Qt::AlignTop );
40 }
41 
42 FilterEditDialog::~FilterEditDialog()
43 {
44  delete mUi;
45 }
46 
47 void FilterEditDialog::load( int index )
48 {
49  mFilter = FilterManager::instance()->filters().at( index );
50 
51  if ( !mFilter )
52  return;
53 
54  mPatternEdit->setSearchPattern( mFilter->pattern() );
55 
56  mActionLister->setActionList( mFilter->actions() );
57 
58  mUi->filterName->setText( mFilter->pattern()->name() );
59  mUi->applyToIncomingCB->setChecked( mFilter->applyOnInbound() );
60  mUi->applyToSentCB->setChecked( mFilter->applyOnOutbound() );
61  mUi->applyBeforeSendCB->setChecked( mFilter->applyBeforeOutbound() );
62  mUi->applyManuallyCB->setChecked( mFilter->applyOnExplicit() );
63  mUi->stopIfMatchesCB->setChecked( mFilter->stopProcessingHere() );
64 }
65 
66 void FilterEditDialog::save()
67 {
68  if ( !mFilter )
69  return;
70 
71  mPatternEdit->updateSearchPattern();
72  mActionLister->updateActionList();
73 
74  FilterManager::instance()->beginUpdate();
75 
76  mFilter->pattern()->setName( mUi->filterName->text() );
77  mFilter->setApplyOnInbound( mUi->applyToIncomingCB->isChecked() );
78  mFilter->setApplyOnOutbound( mUi->applyToSentCB->isChecked() );
79  mFilter->setApplyBeforeOutbound( mUi->applyBeforeSendCB->isChecked() );
80  mFilter->setApplyOnExplicit( mUi->applyManuallyCB->isChecked() );
81  mFilter->setStopProcessingHere( mUi->stopIfMatchesCB->isChecked() );
82 
83  FilterManager::instance()->endUpdate();
84 }
85 
86 #include "filtereditdialog_p.moc"
MailCommon::MailFilter::applyOnExplicit
bool applyOnExplicit() const
Definition: mailfilter.cpp:227
MailCommon::SearchPatternEdit::updateSearchPattern
void updateSearchPattern()
Updates the search pattern according to the current widget values.
Definition: searchpatternedit.cpp:592
MailCommon::FilterEditDialog::load
void load(int index)
Definition: filtereditdialog.cpp:47
MailCommon::FilterActionWidgetLister
A container widget for a list of FilterActionWidgets.
Definition: filteractionwidget.h:115
QWidget
searchpatternedit.h
MailCommon::FilterEditDialog::~FilterEditDialog
virtual ~FilterEditDialog()
Definition: filtereditdialog.cpp:42
MailCommon::MailFilter::setApplyOnOutbound
void setApplyOnOutbound(bool aApply=true)
Set whether this filter should be applied on outbound messages (aApply == true) or not...
Definition: mailfilter.cpp:192
MailCommon::FilterEditDialog::save
void save()
Definition: filtereditdialog.cpp:66
mailfilter.h
KDialog
MailCommon::MailFilter::actions
QList< FilterAction * > * actions()
Provides a reference to the internal action list.
Definition: mailfilter.cpp:172
MailCommon::FilterActionWidgetLister::setActionList
void setActionList(QList< MailCommon::FilterAction * > *list)
Sets the list of filter actions, the lister will create FilterActionWidgets for.
Definition: filteractionwidget.cpp:292
MailCommon::MailFilter::setStopProcessingHere
void setStopProcessingHere(bool aStop)
Definition: mailfilter.cpp:307
MailCommon::FilterEditDialog::FilterEditDialog
FilterEditDialog(QWidget *parent=0)
Definition: filtereditdialog.cpp:30
MailCommon::SearchPatternEdit
Definition: searchpatternedit.h:77
MailCommon::MailFilter::setApplyBeforeOutbound
void setApplyBeforeOutbound(bool aApply=true)
Set whether this filter should be applied on outbound messages before sending (aApply == TRUE) or not...
Definition: mailfilter.cpp:197
filteractionwidget.h
MailCommon::MailFilter::applyOnOutbound
bool applyOnOutbound() const
Definition: mailfilter.cpp:202
MailCommon::FilterManager::endUpdate
void endUpdate()
Should be called at the end of an filter list update.
Definition: filtermanager.cpp:314
MailCommon::MailFilter::applyOnInbound
bool applyOnInbound() const
Definition: mailfilter.cpp:217
MailCommon::MailFilter::stopProcessingHere
bool stopProcessingHere() const
Definition: mailfilter.cpp:312
MailCommon::FilterManager::instance
static FilterManager * instance()
Returns the global filter manager object.
Definition: filtermanager.cpp:101
MailCommon::SearchPatternEdit::setSearchPattern
void setSearchPattern(MailCommon::SearchPattern *aPattern)
Sets the search pattern.
Definition: searchpatternedit.cpp:671
MailCommon::FilterManager::filters
QList< MailCommon::MailFilter * > filters() const
Returns the filter list of the manager.
Definition: filtermanager.cpp:277
MailCommon::SearchPatternEdit::MatchAllMessages
Definition: searchpatternedit.h:86
MailCommon::MailFilter::setApplyOnExplicit
void setApplyOnExplicit(bool aApply=true)
Set whether this filter should be applied on explicit (CTRL-J) filtering (aApply == true) or not...
Definition: mailfilter.cpp:222
filtereditdialog_p.h
MailCommon::MailFilter::setApplyOnInbound
void setApplyOnInbound(bool aApply=true)
Set whether this filter should be applied on inbound messages (aApply == true) or not...
Definition: mailfilter.cpp:212
filtermanager.h
MailCommon::MailFilter::applyBeforeOutbound
bool applyBeforeOutbound() const
Definition: mailfilter.cpp:207
MailCommon::MailFilter::pattern
SearchPattern * pattern()
Provides a reference to the internal pattern.
Definition: mailfilter.cpp:182
MailCommon::SearchPattern::setName
void setName(const QString &newName)
Sets the name of the search pattern.
Definition: searchpattern.h:697
MailCommon::FilterActionWidgetLister::updateActionList
void updateActionList()
Updates the action list according to the current action widget values.
Definition: filteractionwidget.cpp:380
MailCommon::FilterManager::beginUpdate
void beginUpdate()
Should be called at the beginning of an filter list update.
Definition: filtermanager.cpp:310
MailCommon::SearchPattern::name
QString name() const
Returns the name of the search pattern.
Definition: searchpattern.h:688
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 22:55:14 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

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