00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
#include "vcardline.h"
00022
00023
using namespace KABC;
00024
00025
class VCardLine::VCardLinePrivate
00026 {
00027
public:
00028
QString mGroup;
00029 };
00030
00031 VCardLine::VCardLine()
00032 : d( 0 )
00033 {
00034 }
00035
00036 VCardLine::VCardLine(
const QString &identifier )
00037 : d( 0 )
00038 {
00039 mIdentifier = identifier;
00040 }
00041
00042 VCardLine::VCardLine(
const QString &identifier,
const QVariant &value )
00043 : d( 0 )
00044 {
00045 mIdentifier = identifier;
00046 mValue = value;
00047 }
00048
00049 VCardLine::VCardLine(
const VCardLine& line )
00050 : d( 0 )
00051 {
00052 mParamMap = line.mParamMap;
00053 mValue = line.mValue;
00054 mIdentifier = line.mIdentifier;
00055 }
00056
00057 VCardLine::~VCardLine()
00058 {
00059
delete d;
00060 d = 0;
00061 }
00062
00063 VCardLine& VCardLine::operator=(
const VCardLine& line )
00064 {
00065
if ( &line ==
this )
00066
return *
this;
00067
00068 mParamMap = line.mParamMap;
00069 mValue = line.mValue;
00070 mIdentifier = line.mIdentifier;
00071
00072
return *
this;
00073 }
00074
00075
void VCardLine::setIdentifier(
const QString& identifier )
00076 {
00077 mIdentifier = identifier;
00078 }
00079
00080
QString VCardLine::identifier()
const
00081
{
00082
return mIdentifier;
00083 }
00084
00085
void VCardLine::setValue(
const QVariant& value )
00086 {
00087 mValue = value;
00088 }
00089
00090
QVariant VCardLine::value()
const
00091
{
00092
return mValue;
00093 }
00094
00095
void VCardLine::setGroup(
const QString& group )
00096 {
00097
if ( !d )
00098 d =
new VCardLinePrivate();
00099
00100 d->mGroup = group;
00101 }
00102
00103
QString VCardLine::group()
const
00104
{
00105
if ( d )
00106
return d->mGroup;
00107
else
00108
return QString();
00109 }
00110
00111
bool VCardLine::hasGroup()
const
00112
{
00113
if ( !d )
00114
return false;
00115
else
00116
return d->mGroup.isEmpty();
00117 }
00118
00119
QStringList VCardLine::parameterList()
const
00120
{
00121
return mParamMap.keys();
00122 }
00123
00124
void VCardLine::addParameter(
const QString& param,
const QString& value )
00125 {
00126
QStringList &list = mParamMap[ param ];
00127
if ( list.findIndex( value ) == -1 )
00128 list.append( value );
00129 }
00130
00131
QStringList VCardLine::parameters(
const QString& param )
const
00132
{
00133 ParamMap::ConstIterator it = mParamMap.find( param );
00134
if ( it == mParamMap.end() )
00135
return QStringList();
00136
else
00137
return *it;
00138 }
00139
00140
QString VCardLine::parameter(
const QString& param )
const
00141
{
00142 ParamMap::ConstIterator it = mParamMap.find( param );
00143
if ( it == mParamMap.end() )
00144
return QString::null;
00145
else {
00146
if ( (*it).isEmpty() )
00147
return QString::null;
00148
else
00149
return (*it).first();
00150 }
00151 }