2 kopeteplugindataobject.cpp - Kopete Plugin Data Object
4 Copyright (c) 2003-2005 by Olivier Goffart <ogoffart@kde.org>
5 Copyright (c) 2003 by Martijn Klingens <klingens@kde.org>
6 Copyright (c) 2004 by Richard Smith <kde@metafoo.co.uk>
8 Kopete (c) 2002-2005 by the Kopete developers <kopete-devel@kde.org>
10 *************************************************************************
12 * This library is free software; you can redistribute it and/or *
13 * modify it under the terms of the GNU Lesser General Public *
14 * License as published by the Free Software Foundation; either *
15 * version 2 of the License, or (at your option) any later version. *
17 *************************************************************************
20 #include "kopetecontactlistelement.h"
26 #include "kopeteplugin.h"
30 class ContactListElement::Private
33 ContactListElement::PluginDataMap pluginData
;
34 ContactListElement::IconMap icons
;
39 ContactListElement::ContactListElement( QObject
*parent
)
40 : PropertyContainer( parent
), d(new Private())
42 d
->useCustomIcon
= false;
45 connect( Kopete::Global::onlineStatusIconCache(), SIGNAL( iconsChanged() ), SIGNAL( iconAppearanceChanged() ) );
49 ContactListElement::~ContactListElement()
54 void ContactListElement::setLoading( bool value
)
59 bool ContactListElement::loading() const
64 void ContactListElement::setPluginData( Plugin
*plugin
, const QMap
<QString
, QString
> &pluginData
)
66 setPluginData( plugin
->pluginId(), pluginData
);
69 void ContactListElement::setPluginData( const QString
&pluginId
, const QMap
<QString
, QString
> &pluginData
)
71 if ( pluginData
.isEmpty() )
73 d
->pluginData
.remove( pluginId
);
77 d
->pluginData
[ pluginId
] = pluginData
;
79 emit
pluginDataChanged();
82 void ContactListElement::setPluginData( Plugin
*p
, const QString
&key
, const QString
&value
)
84 d
->pluginData
[ p
->pluginId() ][ key
] = value
;
86 emit
pluginDataChanged();
89 QMap
<QString
, QString
> ContactListElement::pluginData( Plugin
*plugin
) const
91 if ( !d
->pluginData
.contains( plugin
->pluginId() ) )
92 return QMap
<QString
, QString
>();
94 return d
->pluginData
[ plugin
->pluginId() ];
97 QString
ContactListElement::pluginData( Plugin
*plugin
, const QString
&key
) const
99 if ( !d
->pluginData
.contains( plugin
->pluginId() ) || !d
->pluginData
[ plugin
->pluginId() ].contains( key
) )
102 return d
->pluginData
[ plugin
->pluginId() ][ key
];
105 const ContactListElement::PluginDataMap
ContactListElement::pluginData() const
107 return d
->pluginData
;
110 const ContactListElement::IconMap
ContactListElement::icons() const
115 QString
ContactListElement::icon( ContactListElement::IconState state
) const
117 if ( d
->icons
.contains( state
) )
118 return d
->icons
[state
];
120 return d
->icons
[ None
];
123 void ContactListElement::setIcon( const QString
& icon
, ContactListElement::IconState state
)
126 d
->icons
.remove( state
);
128 d
->icons
[ state
] = icon
;
130 emit
iconChanged( state
, icon
);
131 emit
iconAppearanceChanged();
134 bool ContactListElement::useCustomIcon() const
136 return d
->useCustomIcon
;
139 void ContactListElement::setUseCustomIcon( bool useCustomIcon
)
141 if ( d
->useCustomIcon
!= useCustomIcon
)
143 d
->useCustomIcon
= useCustomIcon
;
144 emit
useCustomIconChanged( useCustomIcon
);
148 } //END namespace Kopete
150 #include "kopetecontactlistelement.moc"