summaryrefslogtreecommitdiffabout
path: root/kabc
Side-by-side diff
Diffstat (limited to 'kabc') (more/less context) (show whitespace changes)
-rw-r--r--kabc/addressee.cpp2
-rw-r--r--kabc/picture.cpp36
-rw-r--r--kabc/vcard/ContentLine.cpp30
-rw-r--r--kabc/vcard/VCardv.cpp77
4 files changed, 98 insertions, 47 deletions
diff --git a/kabc/addressee.cpp b/kabc/addressee.cpp
index 3ce733d..568dfc4 100644
--- a/kabc/addressee.cpp
+++ b/kabc/addressee.cpp
@@ -1683,6 +1683,7 @@ QString Addressee::asString() const
void Addressee::dump() const
{
return;
+#if 0
kdDebug(5700) << "Addressee {" << endl;
kdDebug(5700) << " Uid: '" << uid() << "'" << endl;
@@ -1746,6 +1747,7 @@ void Addressee::dump() const
kdDebug(5700) << " }" << endl;
kdDebug(5700) << "}" << endl;
+#endif
}
diff --git a/kabc/picture.cpp b/kabc/picture.cpp
index 6a34b98..57aa297 100644
--- a/kabc/picture.cpp
+++ b/kabc/picture.cpp
@@ -53,16 +53,42 @@ Picture::~Picture()
bool Picture::operator==( const Picture &p ) const
{
- if ( mIntern != p.mIntern ) return false;
-
+ //qDebug("compare PIC ");
+ if ( mUndefined && p.mUndefined ) {
+ //qDebug("compare PIC true 1 ");
+ return true;
+ }
+ if ( mUndefined || p.mUndefined ) {
+ //qDebug("compare PIC false 1");
+ return false;
+ }
+ // now we should deal with two defined pics!
+ if ( mIntern != p.mIntern ) {
+ //qDebug("compare PIC false 2");
+ return false;
+ }
if ( mIntern ) {
- if ( mData != p.mData )
+ //qDebug("mIntern ");
+ if ( mData.isNull() && p.mData.isNull() ) {
+ //qDebug("compare PIC true 2 ");
+ return true;
+ }
+ if ( mData.isNull() || p.mData.isNull() ){
+ //qDebug("compare PIC false 3-1");
+
+ return false;
+ }
+ if ( mData != p.mData ) {
+ //qDebug("compare PIC false 3");
return false;
+ }
} else {
- if ( mUrl != p.mUrl )
+ if ( mUrl != p.mUrl ) {
+ //qDebug("compare PIC false 4");
return false;
}
-
+ }
+ //qDebug("compare PIC true ");
return true;
}
diff --git a/kabc/vcard/ContentLine.cpp b/kabc/vcard/ContentLine.cpp
index c368172..2f88cde 100644
--- a/kabc/vcard/ContentLine.cpp
+++ b/kabc/vcard/ContentLine.cpp
@@ -273,6 +273,33 @@ ContentLine::_parse()
void
ContentLine::_assemble()
{
+ //strRep_.truncate(0);
+ QString line;
+ if (!group_.isEmpty())
+ line = group_ + '.';
+ line += name_;
+ ParamListIterator it(paramList_);
+ for (; it.current(); ++it)
+ line += ";" + it.current()->asString();
+
+ if (value_ != 0)
+ line += ":" + value_->asString();
+
+ line = line.replace( QRegExp( "\n" ), "\\n" );
+
+ // Fold lines longer than 72 chars
+ const int maxLen = 72;
+ uint cursor = 0;
+ QString cut;
+ while( line.length() > ( cursor + 1 ) * maxLen ) {
+ cut += line.mid( cursor * maxLen, maxLen );
+ cut += "\r\n ";
+ ++cursor;
+ }
+ cut += line.mid( cursor * maxLen );
+ strRep_ = cut.latin1();
+ //qDebug("ContentLine::_assemble()\n%s*****", strRep_.data());
+#if 0
vDebug("Assemble (argl) - my name is \"" + name_ + "\"");
strRep_.truncate(0);
@@ -307,7 +334,8 @@ ContentLine::_assemble()
++cursor;
}
strRep_ += line.mid( cursor * maxLen );
- //qDebug("ContentLine::_assemble()\n%s*****", strRep_.data());
+ qDebug("ContentLine::_assemble()\n%s*****", strRep_.data());
+#endif
}
void
diff --git a/kabc/vcard/VCardv.cpp b/kabc/vcard/VCardv.cpp
index bc80707..49bfe43 100644
--- a/kabc/vcard/VCardv.cpp
+++ b/kabc/vcard/VCardv.cpp
@@ -23,6 +23,9 @@
#include <qcstring.h>
#include <qstrlist.h>
+#include <qstringlist.h>
+#include <qstring.h>
+#include <qvaluelist.h>
#include <VCardEntity.h>
#include <VCardVCard.h>
@@ -96,30 +99,29 @@ VCard::~VCard()
void
VCard::_parse()
{
- vDebug("parse() called");
- QStrList l;
- RTokenise(strRep_, "\r\n", l);
+ QStringList l;
+ QStrList sl;
- if (l.count() < 3) { // Invalid VCARD !
- vDebug("Invalid vcard");
+ RTokenise(strRep_, "\r\n", sl);
+
+ if (sl.count() < 3) { // Invalid VCARD !
+ //qDebug("invalid vcard ");
return;
}
-
+ l = QStringList::fromStrList( sl );
// Get the first line
- QCString beginLine = QCString(l.at(0)).stripWhiteSpace();
-
- vDebug("Begin line == \"" + beginLine + "\"");
+ QString beginLine = l[0].stripWhiteSpace();
// Remove extra blank lines
- while (QCString(l.last()).isEmpty())
+ while (l.last().isEmpty())
l.remove(l.last());
// Now we know this is the last line
- QCString endLine = l.last();
+ QString endLine = l.last();
// Trash the first and last lines as we have seen them.
- l.remove(0u);
+ l.remove(l.first());
l.remove(l.last());
///////////////////////////////////////////////////////////////
@@ -132,8 +134,8 @@ VCard::_parse()
return;
}
- QCString firstPart(beginLine.left(split));
- QCString valuePart(beginLine.mid(split + 1));
+ QString firstPart(beginLine.left(split));
+ QString valuePart(beginLine.mid(split + 1));
split = firstPart.find('.');
@@ -142,13 +144,13 @@ VCard::_parse()
firstPart = firstPart.right(firstPart.length() - split - 1);
}
- if (qstrnicmp(firstPart, "BEGIN", 5) != 0) { // No BEGIN !
- vDebug("No BEGIN");
+ if (firstPart.left(5) != "BEGIN" ) { // No BEGIN !
+ qDebug("no BEGIN in vcard ");
return;
}
- if (qstrnicmp(valuePart, "VCARD", 5) != 0) { // Not a vcard !
- vDebug("No VCARD");
+ if (valuePart.left(5) != "VCARD") { // Not a vcard !
+ qDebug("not a VCARD ");
return;
}
@@ -159,42 +161,30 @@ VCard::_parse()
// Handle folded lines.
- QStrList refolded;
+ QStringList refolded;
- QStrListIterator it(l);
- QCString cur;
+ QStringList::Iterator it = l.begin();
- for (; it.current(); ++it) {
-
- cur = it.current();
+ QString cur;
+ for (; it != l.end(); ++it) {
+ cur = (*it);
++it;
-
- while (
- it.current() &&
- it.current()[0] == ' ' &&
- strlen(it.current()) != 1)
- {
- cur += it.current() + 1;
+ while ( it!= l.end() && (*it).at(0) == ' ' && (*it).length()!= 1) {
+ cur += (*it) ;
++it;
}
-
--it;
-
refolded.append(cur);
}
-
- QStrListIterator it2(refolded);
-
- for (; it2.current(); ++it2) {
- vDebug("New contentline using \"" + QCString(it2.current()) + "\"");
- ContentLine * cl = new ContentLine(it2.current());
-
+ QStringList::Iterator it2 = refolded.begin();
+ for (; it2 != refolded.end(); ++it2) {
+ ContentLine * cl = new ContentLine(QCString((*it2).latin1()));
cl->parse();
if (cl->value() == 0)
{
- qDebug("Content line could not be parsed. Discarded: %s", it2.current());
+ qDebug("Content line could not be parsed. Discarded: %s", (*it2).latin1());
delete cl;
}
else
@@ -204,6 +194,10 @@ VCard::_parse()
///////////////////////////////////////////////////////////////
// LAST LINE
+
+ // LR: sorry, but the remaining code in this method makes no sense
+
+#if 0
split = endLine.find(':');
if (split == -1) // invalid, no END
@@ -224,6 +218,7 @@ VCard::_parse()
if (qstricmp(valuePart, "VCARD") != 0) // Not a vcard !
return;
+#endif
}
void