[prev in list] [next in list] [prev in thread] [next in thread]
List: kmail-devel
Subject: [PATCH] remove deleted imap-messages
From: Carsten Burghardt <cb () magic-shop ! de>
Date: 2002-06-30 18:50:02
[Download RAW message or body]
Hi,
the attached patch removes messages from the headers (when you click on them)
that have been deleted on the server. At the moment you get a broken message
(no subject, date, ...).
Carsten
--
Carsten Burghardt
email: cb@magic-shop.de
WWW: http://www.magic-shop.de
PGP: http://www.magic-shop.de/Carsten_Burghardt.asc
["delete_imap_msgs.diff" (text/x-diff)]
Index: kdenetwork/kmail/kmfolderimap.cpp
===================================================================
RCS file: /home/kde/kdenetwork/kmail/kmfolderimap.cpp,v
retrieving revision 1.61
diff -u -3 -p -r1.61 kmfolderimap.cpp
--- kdenetwork/kmail/kmfolderimap.cpp 2002/06/06 19:46:41 1.61
+++ kdenetwork/kmail/kmfolderimap.cpp 2002/06/30 18:44:12
@@ -1124,13 +1124,18 @@ void KMImapJob::slotGetMessageResult(KIO
job->showErrorDialog();
if (job->error() == KIO::ERR_SLAVE_DIED) account->slaveDied();
} else {
- QString uid = mMsg->headerField("X-UID");
- (*it).data.resize((*it).data.size() + 1);
- (*it).data[(*it).data.size() - 1] = '\0';
- mMsg->fromString(QCString((*it).data));
- mMsg->setHeaderField("X-UID",uid);
- mMsg->setComplete( TRUE );
- emit messageRetrieved(mMsg);
+ if ((*it).data.size() > 0)
+ {
+ QString uid = mMsg->headerField("X-UID");
+ (*it).data.resize((*it).data.size() + 1);
+ (*it).data[(*it).data.size() - 1] = '\0';
+ mMsg->fromString(QCString((*it).data));
+ mMsg->setHeaderField("X-UID",uid);
+ mMsg->setComplete( TRUE );
+ emit messageRetrieved(mMsg);
+ } else {
+ emit messageRetrieved(NULL);
+ }
mMsg = NULL;
}
if (account->slave()) account->mapJobData.remove(it);
Index: kdenetwork/kmail/kmmainwin.cpp
===================================================================
RCS file: /home/kde/kdenetwork/kmail/kmmainwin.cpp,v
retrieving revision 1.482
diff -u -3 -p -r1.482 kmmainwin.cpp
--- kdenetwork/kmail/kmmainwin.cpp 2002/06/30 09:29:17 1.482
+++ kdenetwork/kmail/kmmainwin.cpp 2002/06/30 18:44:27
@@ -1863,7 +1863,10 @@ void KMMainWin::slotReplaceMsgByUnencryp
//-----------------------------------------------------------------------------
void KMMainWin::slotUpdateImapMessage(KMMessage *msg)
{
- if (((KMMsgBase*)msg)->isMessage()) mMsgView->setMsg(msg, TRUE);
+ if (msg && ((KMMsgBase*)msg)->isMessage())
+ mMsgView->setMsg(msg, TRUE);
+ else
+ slotDeleteMsg();
}
//-----------------------------------------------------------------------------
_______________________________________________
KMail Developers mailing list
kmail@mail.kde.org
http://mail.kde.org/mailman/listinfo/kmail
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic