[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    kdepim/kmail
From:       Don Sanders <don () sanders ! org>
Date:       2005-04-29 2:13:42
Message-ID: 20050429021342.790454AA () office ! kde ! org
[Download RAW message or body]

CVS commit by sanders: 

Enhance the Kmail filtering system so that filters can be applied to
incoming messages from IMAP accounts, that is messages that are delivered
into an IMAP inbox folder.

Sundry details:
  I've modified these files:

  kmfilterdlg.h kmfilterdlg.cpp
   To add the advanced tab that allows per account filters

  kmfilter.h kmfilter.cpp
   I've added some new functions to KMFilter
     setApplicability( AccountType )
     AccountType applicability()
     setApplyOnAccount( uint id, bool aApply )
     bool applyOnAccount( uint id )
   and an enum
     enum AccountType { All, ButImap, Checked }

  kmfiltermgr.h kmfiltermgr.cpp
    I modified KMFilterMgr::process
    to take two optional parameters
      bool account = false
      uint accountId = 0
    and changed the implementation so that when these
    params are set per account filtering is applied.

  kmaccount.cpp
    Trivially to use the new per account filtering.

  kmacctimap.h kmacctimap.cpp
    For 3 main reasons
    1) In the case (it checks) that a filter applies to this
       imap account, then incoming mails headers are
       downloaded when mail checking occurs. Rather than waiting
       until the folder is selected in the GUI.
       
       Because it's really silly to have to select the inbox 
       folder to manually force filtering to kick in.

    2) To load/save a list of unfiltered messages in the 
       constructor/destructor respectively.

    3) To filter messages (I've sort of duplicated a little code 
       from kmheaders.cpp for this, my apologies).

  kmfolderimap.cpp
    1) To tell mAccount to filter new mail as the headers arrive.

This is basically the patch I've sent to bug:50997 several times and
has been available for testing for some time.

I'll now focus on allowing IMAP folders to be the target of the 
Move Into Folder filter action, and less blocking filtering
(useful for piping into a spam tool).
CCMAIL:73758-done@bugs.kde.org


  M +1 -1      kmaccount.cpp   1.123
  M +123 -1    kmacctimap.cpp   1.194
  M +14 -0     kmacctimap.h   1.93
  M +65 -2     kmfilter.cpp   1.73
  M +44 -0     kmfilter.h   1.35
  M +154 -28   kmfilterdlg.cpp   1.122
  M +12 -2     kmfilterdlg.h   1.42
  M +6 -3      kmfiltermgr.cpp   1.76
  M +5 -1      kmfiltermgr.h   1.34
  M +5 -0      kmfolderimap.cpp   1.258



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic