SVN commit 640463 by pradeepto:
Kolab/issue1384 and http://bugs.kde.org/show_bug.cgi?id=108939 -
Forward porting Till's proko2 implementation.
Commits #s 581382,588340,609388.
Don't allow base64 or qp encoding for message attachements, such
as when forwarding. (Kolab Issue 1384)
Make sure attached emails are never encoded in anything but 7 or 8 bit.
(Kolab Issue 1384)
Don't base64 encode forwarded messages, the rfc disallows it.
(Kolab Issue 1384)
TODO : forward port to pim+
CCMAIL : winterz@kde.org
svn path=/branches/KDE/3.5/kdepim/; revision=640496
Forward porting Till's proko2 implementation.
Commits #s 581382,588340,609388.
Don't allow base64 or qp encoding for message attachements, such
as when forwarding. (Kolab Issue 1384)
Make sure attached emails are never encoded in anything but 7 or 8 bit.
(Kolab Issue 1384)
Don't base64 encode forwarded messages, the rfc disallows it.
(Kolab Issue 1384)
TODO : forward port to pim+ and branch/3.5/kdepim
svn path=/branches/kdepim/enterprise/kdepim/; revision=640463
Improve speed (mainly killing the reparsing which was done in KMMessage::asSendableString())
Kolab issue 1222
svn path=/branches/KDE/3.5/kdepim/; revision=633978
Improve speed (mainly killing the reparsing which was done in KMMessage::asSendableString())
Kolab issue 1222
svn path=/branches/kdepim/enterprise/kdepim/; revision=633977
The time between Ctrl+Enter and the composer window disappearing is noticeably shorter (it's almost immediate now), especially when no crypto is used.
This is part of the contracted work for kolab issue 1222 ("out of memory when signing large attachments").
svn path=/branches/KDE/3.5/kdepim/; revision=633777
This is part of the contracted work for kolab issue 1222 ("out of memory when signing large attachments").
svn path=/branches/kdepim/enterprise/kdepim/; revision=633625
RFC 2231 defines an enhanced encoding for attachment filenames, and thunderbird
apparently implemented this encoding. RFC 2231 allows one field to be split
across multiple numbered entries of the form fieldname*0=....;
fieldname*1=...; fieldname*2=...; or fieldname*0=....; fieldname*1=...; fieldname*2=...;
All these entries first need to be concatenated to form the full value of the field.
Here's a real-life example:
--------------060807060608070200030605
Content-Type: application/vnd.ms-excel;
name*0*=ISO-8859-15''%41%46%42%D6%20%42%65%73%65%74%7A%75%6E%67%73%6C%69;
name*1*=%73%74%65%20%53%74%61%6E%64%20%32%30%30%36%2D%31%32%2D%31%39%2E;
name*2*=%78%6C%73
Content-Transfer-Encoding: base64
Content-Disposition: inline;
filename*0*=ISO-8859-15''%41%46%42%D6%20%42%65%73%65%74%7A%75%6E%67%73%6C;
filename*1*=%69%73%74%65%20%53%74%61%6E%64%20%32%30%30%36%2D%31%32%2D%31;
filename*2*=%39%2E%78%6C%73
As a result, KMail shows %39%2E%78%6C%73 as the file name in both the message
preview panel as well as in the mime tree.
With this patch, KMail correctly shows the proper filename.
The patch adds one static method to collect all parts of rfc 2231-encoded
params into one single string. That method is then used in two different
places for the name and the filename props.
One minor problem remains, though: As the mime library does not have support
for rfc2231 encoded attachments, the message is not shown with the attachment
icon in the message list.
BUG:108091
BUG:113100
svn path=/branches/KDE/3.5/kdepim/; revision=622052
Suppose headers charset from content-type header if headers not
properly encoded. If content-type charset is "us-ascii", use "utf-8"
instead. Write maildir and mbox indexes in right encoding.
BUGS:98079
svn path=/branches/KDE/3.5/kdepim/; revision=614058
Get attachment icon from file name if not available from Content-Type
(Using KMimeType::findByPath as suggested by David Faure)
CCBUG: 35836
svn path=/branches/KDE/3.5/kdepim/; revision=608103
override encoding. Propagate override encodings properly to external
reader windows and printing, and make a new page in the configuration
dialog for reader window specific things. Rename the tab for the message
list settings to "Message List" from "Headers". Proko2 issue866.
svn path=/branches/kdepim/proko2/kdepim/; revision=489969
were "saved" to kmailrc, but kmailrc wasn't synced, so in case of a kmail crash, X crash, power failure, kernel oops...
the settings would be lost, and on the next kmail restart very strange errors would happen when syncing
(can't create folder, folder already there, folder missing, etc.)
The solution: sync(). But while being at it I implemented buffering of sync requests
which was a TODO in kmkernel, but did it in GlobalSettings as Till suggested;
which in turn means we need our own GlobalSettings inheriting GlobalSettingsBase,
and the code lacked ::self()-> in many places to allow that.
srcdir!=builddir users: don't forget to delete globalsettings.{cpp,h} from the builddir
since it's not generated anymore!
CCMAIL: kmail-devel@kde.org
svn path=/trunk/KDE/kdepim/; revision=432538
since we don't need to call Codec::codecForName for it.
Also fixed a compiler warning, the return value from duplicate() was never set, and never used.
svn path=/trunk/kdepim/; revision=360398
since we don't need to call Codec::codecForName for it.
Also fixed a compiler warning, the return value from duplicate() was never set, and never used.
Approved by Marc Mutz.
svn path=/branches/KDE_3_3_BRANCH/kdepim/; revision=360383
and storing them in a kolab resource. First speed problem: this kdWarning statement
evaluates kdBacktrace each time, even if it won't print it.
svn path=/branches/KDE_3_3_BRANCH/kdepim/; revision=360372
Fix PGP/MIME encrypting messages which are BCC'ed. The problem was that KMMessagePart contains a QByteArray which is explicitely shared. Therefore simply copying a KMMessagePart with the copy c'tor for getting a temporary copy isn't possible. Implementing and using a duplicate method fixes the problem.
BUG: 92412
svn path=/branches/KDE_3_3_BRANCH/kdepim/; revision=359105
Properly clear the KMMsgPart before it's filled with the values of the DwBodyPart. This fixes bug 87198 (Sending (of new) a e-mail with kmail for kde-3.3 the name of the file attached, some times, it comes lost) which was caused by the fact that we reused the same KMMsgPart object in order to add all attachments to a forwarded message.
svn path=/branches/KDE_3_3_BRANCH/kdepim/; revision=348023
#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
Default to local encoding if no charset is specified for a message part. Patch by Toyohiro Asukai <toyohiro@ksmplus.com>
CCMAIL: 56570-fixed@bugs.kde.org
svn path=/trunk/kdepim/; revision=217435
kmmessage.*:
- Add static QValueList<int> determineAllowedCtes( const KMime::CharFreq& cf,
bool allow8Bit,
bool willBeSigned );
This function returns a list of ctes which can be used to encode a
message/message part with the given result of the character frequency
analysis and under the given restrictions. This function is introduced
to remove code quadruplication (the same code was used twice in
KMMessage and twice in KMMessagePart).
kmmessage.* and kmmsgpart.*:
- Add bool willBeSigned parameter to the setBodyAndGuessCte functions.
- Get rid of the quadupled code and instead use the above mentioned
static function.
kmcomposewin.cpp:
- Make use of the enhanced setBodyAndGuessCte functions.
Patch as posted to the KMail mailing list on Dec 22 (except for the 'const' in determineAllowedCtes(...)).
svn path=/trunk/kdepim/; revision=201086
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