1) Remove the limitation that a message can have only one status at a time.
2) Implement watch/ignore thread via message status flags.
ad 1:
- Message status is now kept as a bitfield, which means a message can now be
for example replied and forwarded as well as important at the same time.
- To keep the index format backward compatible and make the transition
painless, I've added a new index entry and added code to transfer the old
into the new format. That means that upgrading users should not notice
anything.
- I've tried to keep as much behavior as possible unchanged with regard to
what flag disables what other flag etc. There are two groups of flags:
read/unread/new/old influence each other, which means a message cannot be
new and read at the same time, for example, while the second group, namely
important, sent, queued, replied, and forwarded are toggled individually.
- Toggling a thread sets the messages status to the inverse of that of the
parent, which means that if you have a thread with some mails marked as
important and some not, the status is set according to that of the parent.
- Status is now kept when moving mails between folders in the same imap
account as well as between imap accounts.
ad 2:
- Watch and ignore are mutually exclusive, which means ignoring a thread
unsets its watched flag and the other way around.
- When sorting by status watched threads are at the top, ignored at the
bottom.
- Watch and ignore propagate via threading, which means that if a message
is threaded below a watched one, it becomes watched. Same for ignore.
- Moving a single mail out of a watched thread results in a new watched
thread of size 1 :)
- Similarly watch and ignore are possible on individual mail (threads
to be).
- Watching a thread does not currently mark new mails as important, nor
does ignoring delete new mails in the thread. These are possible
extensions, though, if we think them sensible.
svn path=/trunk/kdepim/; revision=235595
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
Please note that this port includes a bug fix which should be ported back to make_it_cool. I've sent the bug fix to the mailing list.
svn path=/trunk/kdenetwork/kmail/; revision=184866
to be called with dangling points with functions called with QChar
arguments, that are safer and easier to program too
svn path=/trunk/kdenetwork/kmail/; revision=179849
( see: http://www.gnupg.org/aegypten/ )
b) Removed some misleading warnings
c) Added Marc Mutz's patch of kmmsgpart.cpp: Make sure
Quoted Printable processing goes analogous to base64
by using KMime now and have some little improvements
in ::body().
d) AEGYPTEN_BRANCH was using KDockWidgets, these have been
(temporarily) disabled in the HEAD branch: will be
activated once KDockWidget has better usability.
Result of this: At the moment the new KMMimePartTree
is invisible - will be fixed right now.
PLEASE use the bug tracker to report any errors that might
result from this merger - additionally you may send mails
directly to me.
Karl-Heinz Zimmer, Senior Software Engineer, Klaraelvdalens Datakonsult AB
<mailto:khz@klaralvdalens-datakonsult.se> <mailto:khz@kde.org>
svn path=/trunk/kdenetwork/kmail/; revision=151089
- static const QCString toUsAscii(const QString& _str);
+ /** Convert all non-ascii characters to question marks
+ * If ok is non-null, *ok will be set to true if all characters
+ * where ascii, *ok will be set to false otherwise */
+ static const QCString toUsAscii(const QString& _str, bool *ok=0);
svn path=/trunk/kdenetwork/kmail/; revision=120665
Japanese correctely. It now also uses automatically base64, if more than 16%
of the character are non-us-ascii.
Also a few minor other bugs should be gone.
svn path=/trunk/kdenetwork/kmail/; revision=84624
Kill all non 7-bit characters when us-ascii is selected.
QTextCodec::codecForName("us-ascii")->name() returns "ISO 8859-1" for some
reason :-(
svn path=/trunk/kdenetwork/kmail/; revision=73530
- The headers are now decoded with the charset(s) specified it them and not
with the charset of the message.
- KMMsgBase::decodeRFC2047String now returns the string in unicode which
is compatible with encodeRFC2047String and makes some things easier.
- Also the address headers and all other headers are decoded, not only the
subject.
- The headers in the header list are displayed correctely.
- Editing mail in the outbox no longer corrupts non latin subjects.
- Reply and forward also keep non latin subjects.
- Indexfile version upgrade. Old indexes are converted.
svn path=/trunk/kdenetwork/kmail/; revision=71050
Use MD5 digests Base 64 encoded for replyId and msgId
Fixed a few errors in threading code.
pre-strip 'From' and 'To' fields in index.
svn path=/trunk/kdenetwork/kmail/; revision=49855
Some of this code is absolute crap, but it shouldn't be too hard to make something respectable out of it. I've got to check it in before I go away for a few days.
svn path=/trunk/kdenetwork/kmail/; revision=45771
- fixed size on folder dialog
- Show receivers works for sent&queued messages
- Add an extra \n to previous message when appending new one to
mailbox => against rewriting last char in previous message =>
against corrupting attachment in previus message.
*** Index version number changed; compact your mailboxes before
installing kmail, or you'll see ghost messages.
svn path=/trunk/kdenetwork/kmail/; revision=16403