summaryrefslogtreecommitdiff
authorzecke <zecke>2003-05-14 14:45:08 (UTC)
committer zecke <zecke>2003-05-14 14:45:08 (UTC)
commite4b4319e57b29cd00aa12ca21480df047d1b5e52 (patch) (side-by-side diff)
tree3d8b9856aa513c026b19736f75d41e277acbf1ca
parente79fbade975dd5e0bf5d8fc649b755c11c7956c4 (diff)
downloadopie-e4b4319e57b29cd00aa12ca21480df047d1b5e52.zip
opie-e4b4319e57b29cd00aa12ca21480df047d1b5e52.tar.gz
opie-e4b4319e57b29cd00aa12ca21480df047d1b5e52.tar.bz2
Guard against self assignemt as well
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--library/backend/palmtoprecord.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/library/backend/palmtoprecord.cpp b/library/backend/palmtoprecord.cpp
index 3cfa874..8543559 100644
--- a/library/backend/palmtoprecord.cpp
+++ b/library/backend/palmtoprecord.cpp
@@ -1,141 +1,142 @@
/**********************************************************************
** Copyright (C) 2000-2002 Trolltech AS. All rights reserved.
**
** This file is part of the Qtopia Environment.
**
** This file may be distributed and/or modified under the terms of the
** GNU General Public License version 2 as published by the Free Software
** Foundation and appearing in the file LICENSE.GPL included in the
** packaging of this file.
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
**
** See http://www.trolltech.com/gpl/ for GPL licensing information.
**
** Contact info@trolltech.com if any conditions of this licensing are
** not clear to you.
**
**********************************************************************/
#include <qtopia/private/palmtoprecord.h>
#include <qtopia/stringutil.h>
#include <qstringlist.h>
/*! \class Qtopia::PalmtopRecord palmtoprecord.h
\brief The Qtopia::PalmtopRecord class is the base class for all PIM records.
Provides unique id and category support for all PIM records.
\ingroup qtopiaemb
\ingroup qtopiadesktop
*/
namespace Qtopia {
Record &Record::operator=( const Record &c )
{
+ if(this == &c ) return *this;
mUid = c.mUid;
mCats = c.mCats;
customMap = c.customMap;
return *this;
}
void Record::setCategories( int single )
{
if ( single == 0 )
return;
mCats.resize(1);
mCats[0] = single;
}
// convenience methods provided for loading and saving to xml
QString Record::idsToString( const QArray<int> &catsUnsorted )
{
QArray<int> cats = catsUnsorted;
cats.sort();
QString str;
for ( uint i = 0; i < cats.size(); i++ )
if ( i == 0 )
str = QString::number( cats[int(i)] );
else
str += ";" + QString::number( cats[int(i)] );
return str;
}
// convenience methods provided for loading and saving to xml
QArray<int> Record::idsFromString( const QString &str )
{
QStringList catStrs = QStringList::split( ";", str );
QArray<int> cats( catStrs.count() );
uint i = 0;
for ( QStringList::ConstIterator it = catStrs.begin();
it != catStrs.end(); ++it ) {
cats[int(i)] = (*it).toInt();
i++;
}
return cats;
}
/*!
Returns the string stored for the custom field \a key.
Returns a null string if the field does not exist.
*/
QString Record::customField( const QString &key) const
{
if (customMap.contains(key))
return customMap[key];
return QString::null;
}
/*!
Sets the string stored for the custom field \a key to \a value.
*/
void Record::setCustomField( const QString &key, const QString &value)
{
// qWarning("setting custom " + key + " to " + value);
if (customMap.contains(key))
customMap.replace(key, value);
else
customMap.insert(key, value);
// qWarning(QString("custom size %1").arg(customMap.count()));
}
/*!
Removes the custom field \a key.
*/
void Record::removeCustomField(const QString &key)
{
customMap.remove(key);
}
QString Record::customToXml() const
{
//qWarning(QString("writing custom %1").arg(customMap.count()));
QString buf(" ");
for ( QMap<QString, QString>::ConstIterator cit = customMap.begin();
cit != customMap.end(); ++cit) {
// qWarning(".ITEM.");
buf += cit.key();
buf += "=\"";
buf += escapeString(cit.data());
buf += "\" ";
}
return buf;
}
void Record::dump( const QMap<int, QString> &map )
{
QMap<int, QString>::ConstIterator it;
for( it = map.begin(); it != map.end(); ++it )
qDebug("%d : %s", it.key(), it.data().local8Bit().data() );
}
}