Don Sanders
8d1e6dd3fa
Critical bug fix - please move tag.
...
Index file corruption could occur if KMail was killed at a sensitive
stage of folder compaction. This bug was introduced by Sam's patch.
rc = fsync(fileno(tmpfile));
rc |= fclose(tmpfile);
if (!rc) {
+ bool autoCreate = mAutoCreateIndex;
+ _rename(tempName.local8Bit(), location().local8Bit());
writeIndex();
+ writeConfig();
+ mAutoCreateIndex = false;
close(TRUE);
- _rename(tempName.local8Bit(), location().local8Bit());
+ mAutoCreateIndex = autoCreate;
}
svn path=/trunk/kdenetwork/kmail/; revision=103871
25 years ago
Don Sanders
7bae55584e
Possibly improve reliability on unclean shutdown of the operating system.
...
svn path=/trunk/kdenetwork/kmail/; revision=103812
25 years ago
Michael Haeckel
71a665f186
Escape leading dots in foldernames of imap folders.
...
Otherwise KMail claims, it has found mailbox files from a KMail version of a
different univers of the generation after next with version number 135949380,
if the user browes a ~/Mail directory produced from KMail via IMAP and has
hidden folders enabled.
svn path=/trunk/kdenetwork/kmail/; revision=103059
25 years ago
Michael Haeckel
e895b47719
Mailing list IMAP folders work now correctely without loosing the settings.
...
svn path=/trunk/kdenetwork/kmail/; revision=103040
25 years ago
Don Sanders
858d958c03
I've fixed the problem with deleting messages
...
causing trailing "F"s.
Now that Sam's patch has been applied KMMsgInfos store an
offset into an mbox and the length of the message at that
point.
But a problem occurs when a new message is appended to an
mbox. KMail ensures a '\n' separator is appended in the
file to separate the last message in the mbox from the
"From ..." mbox separator that will be inserted for the
new message.
This causing a complication that the last message in the
mbox must have its length updated (otherwise compaction is
messed up).
The patch fixes an exception to the above. If a message at
the end of the mbox is deleted then we don't want to update
the length of the last (undeleted) message in the mbox (as
that length has already been updated earlier when new mail
arrived).
This patch won't fix currently deleted mbox files. I'm not
to sure how bad the corruption it. Hmm, might be bad.
I also noticed that the "revert" variable seems to be set
wrong. It is used to roll back the mbox when a critical
error (like disk space exhausted) occurs. So I fixed that
also.
svn path=/trunk/kdenetwork/kmail/; revision=102830
25 years ago
Michael Haeckel
ba08a83bc8
ASCII_CAST cleanup for kmmsgbase.cpp and kmacctlocal.cpp.
...
svn path=/trunk/kdenetwork/kmail/; revision=102473
25 years ago
Michael Haeckel
ceffd57016
- Store filenames always in unicode. Although this requires much more local8Bit
...
conversions, it indeed gives a better overview in the code.
This also fixes a few minor problems with non-latin folder names.
- Remove all subfolders, when removing a folder, not only the first one.
- Remove some unused code.
svn path=/trunk/kdenetwork/kmail/; revision=102457
25 years ago
Stephan Kulow
fad19ec9f2
converting the remaining qDebug calls to kdDebug(5006)
...
svn path=/trunk/kdenetwork/kmail/; revision=102083
25 years ago
Stephan Kulow
6164556515
use debug area 5006 - so I can read mails without seeing tons of debug output
...
svn path=/trunk/kdenetwork/kmail/; revision=101769
25 years ago
Michael Haeckel
f5fbc88803
kmfolder and kmheaders are not also ascii cast free.
...
Still 11 files left.
svn path=/trunk/kdenetwork/kmail/; revision=101702
25 years ago
Michael Haeckel
1ea3c09114
Revert two broken commits.
...
svn path=/trunk/kdenetwork/kmail/; revision=101661
25 years ago
Luk Tinkl
83535fa909
passing .latin1() to system() is a no no
...
svn path=/trunk/kdenetwork/kmail/; revision=101589
25 years ago
Marc Mutz
20ed595a46
Add #undef QT_NO_{ASCII_CAST,COMPAT}, resp. to the tops of .cpp files that
...
need them, in preparation of the remove of -UQT_NO_* from Makefile.am.
svn path=/trunk/kdenetwork/kmail/; revision=101548
25 years ago
Michael Haeckel
669052969c
Prevent some compiler warnings.
...
svn path=/trunk/kdenetwork/kmail/; revision=98230
25 years ago
Michael Haeckel
c580d6066c
Patch from Don Sanders <sanders@kde.org> and Sam Magnuson <sam@trolltech.com>
...
Heavy speedup for huge folders.
svn path=/trunk/kdenetwork/kmail/; revision=98218
25 years ago
Michael Haeckel
fe832697f1
Remove all QObject::initMetaObject() calls, since they are automatically
...
executed on demand according to the QT docs.
Patch by Marc Mutz <Marc.Mutz@uni-bielefeld.de>
svn path=/trunk/kdenetwork/kmail/; revision=97957
25 years ago
Stephan Kulow
8ca8afd932
making use of indentities indepent of mailing lists
...
svn path=/trunk/kdenetwork/kmail/; revision=97394
25 years ago
Michael Haeckel
84eeb6eb0e
Use KConfigGroupSaver everywhere.
...
Patch by Marc Mutz <Marc.Mutz@uni-bielefeld.de>
svn path=/trunk/kdenetwork/kmail/; revision=97385
25 years ago
Stephan Kulow
29021bdb05
.copy on a Qt string is a noop since quite some Qt versions
...
svn path=/trunk/kdenetwork/kmail/; revision=96404
25 years ago
Michael Haeckel
e5adf2a876
Don't add an empty Content-Type header to mails, that don't have one.
...
svn path=/trunk/kdenetwork/kmail/; revision=95651
25 years ago
Stephan Kulow
ae16a29f43
- msgStr = i18n("Creating index file: %1 messages done").arg(num);
...
+ msgStr = i18n("Creating index file: %n message done",
"Creating index file: %n messages done", num);
svn path=/trunk/kdenetwork/kmail/; revision=94725
25 years ago
Michael Haeckel
7a32089a2c
Specifiy an identity for every mailing list.
...
Patch by Ingo Klöcker <ingo.kloecker@epost.de>
svn path=/trunk/kdenetwork/kmail/; revision=93728
25 years ago
Stephan Kulow
fec2831df5
removing "const QString" in return values and parameters. It only confuses compilers,
...
using const QString& in parameters and QString in return values
svn path=/trunk/kdenetwork/kmail/; revision=92546
25 years ago
Michael Haeckel
98e452c985
- Don't crash when exiting KMail while a message in an IMAP folder is selected
...
which has for some reason no X-UID header.
- Don't eat the X-UID header of every first message in a folder.
svn path=/trunk/kdenetwork/kmail/; revision=92524
25 years ago
Michael Haeckel
2d8e17a6d5
Display a warning, if the outbox contains messages not created by KMail.
...
svn path=/trunk/kdenetwork/kmail/; revision=92485
25 years ago
Michael Haeckel
0a5f7eb30e
Remember the number of unread message in an IMAP folder when switching to a
...
different one.
svn path=/trunk/kdenetwork/kmail/; revision=91299
25 years ago
Michael Haeckel
eb7de92e2e
Don't add mails to the cached headers automatically when moving/copying to IMAP
...
folders. Leads only to trouble, since the new UID is not yet known.
svn path=/trunk/kdenetwork/kmail/; revision=90177
25 years ago
Michael Haeckel
204e397c5d
- Don't eat the last character of every line, when moving a message from local
...
to IMAP
- Don't crash, when deleting part of a thread in an IMAP folder
- Copying messages within the same IMAP account now also copies on the server
svn path=/trunk/kdenetwork/kmail/; revision=89913
25 years ago
Michael Haeckel
500ac30a5b
Moving mails between IMAP folders on the same server now uses the IMAP copy
...
command.
svn path=/trunk/kdenetwork/kmail/; revision=89814
25 years ago
Daniel Naber
a3f6c58045
init mMailingListEnabled = false or you'll end up with
...
an inbox that let's you use "Post to mailing list"
svn path=/trunk/kdenetwork/kmail/; revision=89670
25 years ago
Michael Haeckel
cf96285095
Don't crash, when selecting a message which is in progress of being moved.
...
Since I don't like a modal progress window as present in some other clients,
these cases need handling.
svn path=/trunk/kdenetwork/kmail/; revision=89245
25 years ago
Michael Haeckel
5844abc398
Moving mail to imap folders works again (without crashing).
...
svn path=/trunk/kdenetwork/kmail/; revision=89003
25 years ago
Michael Haeckel
f1665873cb
We are now able to move and copy messages from local folders to IMAP folders.
...
svn path=/trunk/kdenetwork/kmail/; revision=88124
25 years ago
Michael Haeckel
ebf166af5b
Check always for changes (new mails and deleted ones) when entering an IMAP
...
folder.
svn path=/trunk/kdenetwork/kmail/; revision=88038
25 years ago
Michael Haeckel
a8ba06e6fb
The same issue for copy.
...
svn path=/trunk/kdenetwork/kmail/; revision=87932
25 years ago
Michael Haeckel
2349b95b04
Move the whole message, when moving more than one message at once from an IMAP
...
folder to a local one and not only the headers.
svn path=/trunk/kdenetwork/kmail/; revision=87918
25 years ago
Michael Haeckel
954a890833
Make the index file reading 30% faster. That makes at least filtering mails in
...
many different huge folders that amount faster. Folder switching is 10% faster
with that.
Most time is still spent in QString::fromUtf8().
svn path=/trunk/kdenetwork/kmail/; revision=87274
25 years ago
Michael Haeckel
ffc537f0d5
Make searching in folders ten times faster. That annoyed me simply too long.
...
I guess I spent already more time on waiting for the search to complete, that
it just took me to code that :-)
I hope the users can live with the fact that the number of messages are now
only updated every 100 messages, but that was a factor 2.
svn path=/trunk/kdenetwork/kmail/; revision=87032
25 years ago
Michael Haeckel
26b4be3aa2
Fix a possible mail eating problem on the local account.
...
svn path=/trunk/kdenetwork/kmail/; revision=86805
25 years ago
Michael Haeckel
80fd9cdd76
GUI: Expire old messages from the trash folder
...
by Philippe Fremy <pfremy@chez.com>
svn path=/trunk/kdenetwork/kmail/; revision=85809
25 years ago
Michael Haeckel
a7c8e21656
Procmail support by Guillaume Laurent <glaurent@telegraph-road.org>
...
svn path=/trunk/kdenetwork/kmail/; revision=85654
25 years ago
Michael Haeckel
8d72c387eb
- Honour the set identity filter rule also for Reply All and Reply List
...
- Display a progress bar when listing the imap directory structure.
svn path=/trunk/kdenetwork/kmail/; revision=84898
25 years ago
Michael Haeckel
668ca80b76
Fix an unread messages of by one problem for newly created folder and for imap
...
folders.
svn path=/trunk/kdenetwork/kmail/; revision=84785
25 years ago
Michael Haeckel
55fced12d7
Yet another feature.
...
svn path=/trunk/kdenetwork/kmail/; revision=84083
25 years ago
Michael Haeckel
27f9f64bb4
It's again feature time.
...
Configurable threading by Matt Newell <newellm@proaxis.com>.
svn path=/trunk/kdenetwork/kmail/; revision=84075
25 years ago
Don Sanders
17348be09c
When disk space or quota is exhausted roll back index and folder files as
...
needed and then terminate. Previously instead of terminating a warning
dialog was shown but this has proven unsafe.
diff -u -b -r1.127 kmfolder.cpp
--- kmfolder.cpp 2001/01/17 19:20:53 1.127
+++ kmfolder.cpp 2001/02/06 23:08:28
@@ -1107,6 +1107,9 @@
kdDebug() << "Undoing changes" << endl;
truncate( location(), revert );
}
+ kdDebug() << "Abnormally terminating to prevent data loss, now." << endl;
+ exit(1);
+ /* This code is not 100% reliable
bool busy = kernel->kbp()->isBusy();
if (busy) kernel->kbp()->idle();
KMessageBox::sorry(0,
@@ -1116,6 +1119,7 @@
if (busy) kernel->kbp()->busy();
if (opened) close();
kernel->kbp()->idle();
+ */
return error;
}
@@ -1152,6 +1156,9 @@
kdDebug() << "Undoing changes" << endl;
truncate( indexLocation(), revert );
}
+ kdDebug() << "Abnormally terminating to prevent data loss, now." << endl;
+ exit(1);
+ /* This code may not be 100% reliable
bool busy = kernel->kbp()->isBusy();
if (busy) kernel->kbp()->idle();
KMessageBox::sorry(0,
@@ -1160,6 +1167,7 @@
"Free space and sufficient quota are required to continue safely."));
if (busy) kernel->kbp()->busy();
if (opened) close();
+ */
return error;
}
svn path=/trunk/kdenetwork/kmail/; revision=81629
25 years ago
Michael Haeckel
3d6d939d05
Really fix the Japanese folders can't contain Japanese subfolders problem.
...
svn path=/trunk/kdenetwork/kmail/; revision=78605
26 years ago
Michael Haeckel
d6d33cfb2f
Yet another fix for a crash no user found (and reported) so far :-)
...
Don't crash, when moving mouse over attachment or replying to a message after
searching in the folder and not clicking on a different message header in the
mean time.
svn path=/trunk/kdenetwork/kmail/; revision=77802
26 years ago
Michael Haeckel
005133244f
Switch the cursor again idle, after displaying a message, that the partion is
...
full.
svn path=/trunk/kdenetwork/kmail/; revision=77332
26 years ago
Michael Haeckel
da0aef4d81
Fix the "\nFrom " mbox problem in an IMHO correct way.
...
svn path=/trunk/kdenetwork/kmail/; revision=76446
26 years ago