menu and toolbar to the XMLGUI way.
Thanks to Till, David and Simon - that was an amazing teamwork.
CCMAIL: 87119-done@bugs.kde.org
CCMAIL: 82771-done@bugs.kde.org
svn path=/trunk/kdepim/; revision=343092
Implementing automagic mailing list handling: KMail can now detect whether
a folder stores a mailing list in which case it will try to determine its post,
subscribe, unsubscribe, archive and help addresses.
Aaron could you figure out where the kaction's invoking post,subscribe... could
be put?
CCMAIL: aseigo@kde.org
svn path=/trunk/kdepim/; revision=295216
better formatting of the log output (use QTextEdit::LogText),
avoid output of all headers for <any headers> filter rule
svn path=/trunk/kdepim/; revision=292936
very technical at the moment, and the possible user interactions are
still very limited. I'm going to improve this soon.
svn path=/trunk/kdepim/; revision=288302
The attached patch fixes the critical bug #71866.
From http://bugs.kde.org/show_bug.cgi?id=71866#c2:
"That's a prime example for why it's bad to store the value of an enum
as a number in a config file. The reason for this bug is a reordering
of the enum values in the code. This changed the meaning of the value
which is stored in the config file.
With the patch KMail stores the enum as a string representing the enum
value. As a consequence all POP filters will be reset to NoAction. But
there is no other fix possible because it's impossible to find out
whether the pop filter configuration was saved with KMail 1.6 or with a
previous version of KMail."
svn path=/trunk/kdepim/; revision=285082
This should fix a bug with ad hoc filters crashing when they move a message
to a different folder.
And also fix the bug/limitation that the move to folder action has to
come last in the list of filter actions for a filter.
This commit doesn't really use the action scheduler, code to use the
action scheduler in kmheaders and kmcommands is commented out.
I've been testing this code for a few weeks now. The changes to the
assignment operators in the kmmessage and kmmsgbase classes are the
changes I'm most concerned about here.
svn path=/trunk/kdepim/; revision=264912
- s/TRUE/true/ and s/FALSE/false/ in kmfilter.cpp
- replace deprecated KLineEditDlg by KInputDialog in kmfilterdlg.cpp
- fix a few What This texts in kmfilterdlg.cpp
svn path=/trunk/kdepim/; revision=262244
#define kernel KMKernel::self()
to
#define kmkernel KMKernel::self()
because 'kernel' was a much to general term. We really shouldn't repeat the mistakes of the X developers.
I noticed this problem when I played around with KImageEffects. kimageeffects.h contains 'kernel' as parameter of some methods and so the compilation had to fail. We won't need KImageEffects in the near future, but at least we are now prepared and a clash with another 'kernel' can't happen anymore.
svn path=/trunk/kdepim/; revision=252621
o lots of Q(C)String -> Q(C)String & in args.
o #define -> const int.
o KConfig * -> const KConfig * where possible.
o #ifndef NDEBUG around asString() methods (which prompts the changes
to KMFilter*)
o remove virtualism of methods (none of them is ever reimplemented).
o return _const_ reference from operator='s.
o remove unneeded #include from header file.
o replace generic findInStrList() function by specific
configValueToFunc() private member method, as that's the only use.
o Add a _lot_ of const's to local variables, esp. in ::matches( const
DWString&,...).
o Move variable declarations to where they are init'ed (includes
proper use of scoping).
o DwBoyerMoore::FindIn() doesn't return int, but size_t, so use that.
o DwBoyerMoore::FindIn() returns DwString::npos on error, so check for
that instead of -1.
o Use KMMessage::asString() for "<message>" instead of
headerAsString()+bodyDecoded() as the former is already const for
some time now.
o s/TRUE/true/g; s/FALSE/false/g
It's amazing what a piece of crap I've written two years ago ;-)
svn path=/trunk/kdepim/; revision=224299
This is a set of changes that is well test by myself and others.
The following bug fixes amongst others are included:
Compilation fix: the certificate dialog now compiles
Mjr bugfix: Prevent mail loss when kmail crashes while editing a
drafts message
Mjr bugfix: Fix erratic folder changing when clicking on the folder
tree
Mjr bugfix: Prevent mail loss when applying filters
The follow features have been implemented:
* KMail is now a KPart and can be embedded in the Kontact/Kaplan
container applications along with other KDE PIM applications.
* Remove duplicates function for removing duplicate messages in
a folder.
* Messages can be dragged and dropped on a composer window to
add those messages as attachments.
* Deletion in threaded mode is improved, child messages will no
longer be scattered when a parent is deleted.
* Multiple messages can now be selected in the search dialog.
* New context menu in the search dialog with Move, Copy, Reply
etc. actions for operating on selected messages.
* Search criteria in the search dialog now supports more types
of rules and a variable number of rules.
* Faster searching of large messsages.
* 'Search Folders' which are a KMail folder that stores a search
expression and is dynamically updated (also known as virtual
folders).
* The separate window for reading mail has a context menu with
Reply, Copy etc. actions for operating on the message
displayed.
* The separate window for reading mail has a tool bar.
* Startup of KMail is faster.
* Switching between folders is faster.
* The contents of all composer windows are saved to disk on
composer window creation and then periodically saved to
prevent mail loss in the result of a system crash.
* The state of KMail folders is saved to disk periodically to
prevent status information loss in the result of a system
crash.
Note after start KMail switching to folders for the first time will
slow as the format of the .sorted file has changed.
Enjoy!
svn path=/trunk/kdenetwork/kmail/; revision=195825
- new base class ConfigManager with commit/rollback functionality forced on
subclasses through pure virtuals.
All new managers should inherit this and implement the branching bahaviour
of IdentityManager, so that the configuredialog can work on the branch while
the rest of KMail sees only the "old" configuration.
- new IdentityManager, implementing the ConfigManager for KMIdentity's.
- new Signature class abstracting the signature processing.
- new structure for identities in kmailrc:
o upgrade-signature.pl: Turns the old signature-related config keys into
a sigtype/value scheme.
o kmail-upd-identities.pl: Removes all groups for identities not listed in
[Identity]/IdentityList.
Renames all remaining groups to [Identity #n],
with n starting a 0.
Saves the name of the default identity in
[General]/Default Identity
This adds several new technologies to KMail/KMKernel:
- from the new Signature handling: A service to non-QObjects to collect
StdOut and/or StdErr of KProcess (-derived) classes for them.
- from IdentityManager: A service to ConfigManagers requesting a sync of
kapp->config(). The requests get delayed, so multiple requests can
be serviced with a single kapp->config()->sync().
- from ConfigManager: A service to other ConfigManagers and to GUI elements
that wish to be notified of any change in a particular ConfigManager
implementation: Whenever a commit() changes something, the changed() signal
is emitted.
Included is also a fix for the problem of "no stdin at execute filter"
and the introduction of IdentityCombo.
svn path=/trunk/kdenetwork/kmail/; revision=148825
1. "Outgoing messages" -> "Sent messages":
This (hopefully) makes clear that filters get applied _after_ the
message is sent.
2. ComboBox-> 3 CheckBoxes:
This gets rid of the hidden "feature" that CTRL-J always applied _all_
filters (in and outgoing). You can now disable that if you wish.
(2) doesn't even mean a change in the config file, since "manual-filtering"
was always included in the list of filter sets... ;-)
Oh, and the most important part: Tab->Space conversion.
svn path=/trunk/kdenetwork/kmail/; revision=125537
via filter rules.
I know, a late feature, but this one comes really very close after IMAP and
SMTP authentication with the number of people requesting it.
Patch by Heiko Hund <heiko.hund@gmx.net>
and Thorsten Zachmann <T.Zachmann@zagge.de>
svn path=/trunk/kdenetwork/kmail/; revision=125097
stop processing here;
Make KMFilterMgr use iterators instead of first() and next();
Remove the current QToolTips from the filter dialog. They are overloaded.
I made QWhatsThis texts and slim QToolTips instead.
svn path=/trunk/kdenetwork/kmail/; revision=99624
-fixed "doesn't contain"
-search is now case insensitive
-made KMFldSearchRule::matches() and KMFilterRule::matches() more similar
and documented that
-removed "Resent-From", "X-Loop" and "Reply-To" to make things more clear
(you can still enter them manually...)
-better user feedback (exact number of message currently being searched,
hope that doesn't flicker? It works for me).
svn path=/trunk/kdenetwork/kmail/; revision=50872