summaryrefslogtreecommitdiffabout
path: root/kmicromail/libmailwrapper/mailtypes.cpp
Side-by-side diff
Diffstat (limited to 'kmicromail/libmailwrapper/mailtypes.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--kmicromail/libmailwrapper/mailtypes.cpp20
1 files changed, 13 insertions, 7 deletions
diff --git a/kmicromail/libmailwrapper/mailtypes.cpp b/kmicromail/libmailwrapper/mailtypes.cpp
index 1a4ffd1..af3b9d0 100644
--- a/kmicromail/libmailwrapper/mailtypes.cpp
+++ b/kmicromail/libmailwrapper/mailtypes.cpp
@@ -28,26 +28,32 @@ static bool stringCompareRec( const QString& s1, const QString& s2 )
if ( s1.isEmpty() && s2.isEmpty() )
return true;
return s1 == s2;
}
bool RecMail::isEqual( RecMail* r1 )
{
if ( !stringCompareRec( isodate, r1->isodate ) ) {
- // qDebug("date *%s* *%s* ", isodate.latin1(), r1->isodate.latin1());
+ //qDebug("date *%s* *%s* ", isodate.latin1(), r1->isodate.latin1());
return false;
- }
- if ( !stringCompareRec( from, r1->from ) ) {
- //qDebug("from *%s* *%s* ", from.latin1(), r1->from.latin1());
+ }
+ if ( !stringCompareRec( subject.left(40), r1->subject.left(40) ) ) {
+ //qDebug("sub *%s* *%s*", subject.latin1(), r1->subject.latin1());
return false;
}
- if ( !stringCompareRec( subject, r1->subject ) ) {
- //qDebug("sub ");
- return false;
+
+ //qDebug("date *%s* *%s* ", isodate.latin1(), r1->isodate.latin1());
+ if ( !stringCompareRec( from.left(40), r1->from.left(40)) ) {
+ if ( r1->from.find ( from ) < 0 ) {
+ if ( !stringCompareRec( from.simplifyWhiteSpace ().left(40), r1->from.simplifyWhiteSpace ().left(40)) ) {
+ //qDebug("from *%s* *%s* ", from.left(40).latin1(), r1->from.left(20).latin1());
+ return false;
+ }
+ }
}
return true;
}
void RecMail::copy_old(const RecMail&old)
{
subject = old.subject;
date = old.date;