• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdenetwork API Reference
  • KDE Home
  • Contact Us
 

kopete/libkopete

  • sources
  • kde-4.14
  • kdenetwork
  • kopete
  • libkopete
kopetecontactlistelement.cpp
Go to the documentation of this file.
1 
2 /*
3  kopeteplugindataobject.cpp - Kopete Plugin Data Object
4 
5  Copyright (c) 2003-2005 by Olivier Goffart <ogoffart@kde.org>
6  Copyright (c) 2003 by Martijn Klingens <klingens@kde.org>
7  Copyright (c) 2004 by Richard Smith <kde@metafoo.co.uk>
8 
9  Kopete (c) 2002-2005 by the Kopete developers <kopete-devel@kde.org>
10 
11  *************************************************************************
12  * *
13  * This library is free software; you can redistribute it and/or *
14  * modify it under the terms of the GNU Lesser General Public *
15  * License as published by the Free Software Foundation; either *
16  * version 2 of the License, or (at your option) any later version. *
17  * *
18  *************************************************************************
19 */
20 
21 #include "kopetecontactlistelement.h"
22 
23 #include <kconfig.h>
24 #include <kdebug.h>
25 #include <kglobal.h>
26 
27 #include "kopeteplugin.h"
28 
29 namespace Kopete {
30 
31 class ContactListElement::Private
32 {
33 public:
34  ContactListElement::PluginDataMap pluginData;
35  QMap<QString, ContactListElement::ContactDataList> pluginContactData;
36  ContactListElement::IconMap icons;
37  bool useCustomIcon;
38  bool loading;
39 };
40 
41 ContactListElement::ContactListElement( QObject *parent )
42 : PropertyContainer( parent ), d(new Private())
43 {
44  d->useCustomIcon = false;
45  d->loading = false;
46 #if 0 //TODO
47  connect( Kopete::Global::onlineStatusIconCache(), SIGNAL(iconsChanged()), SIGNAL(iconAppearanceChanged()) );
48 #endif
49 }
50 
51 ContactListElement::~ContactListElement()
52 {
53  delete d;
54 }
55 
56 void ContactListElement::setLoading( bool value )
57 {
58  d->loading = value;
59 }
60 
61 bool ContactListElement::loading() const
62 {
63  return d->loading;
64 }
65 
66 void ContactListElement::setPluginData( Plugin *plugin, const QMap<QString, QString> &pluginData )
67 {
68  setPluginData( plugin->pluginId(), pluginData );
69 }
70 
71 void ContactListElement::setPluginData( const QString &pluginId, const QMap<QString, QString> &pluginData )
72 {
73  if ( pluginData.isEmpty() )
74  {
75  d->pluginData.remove( pluginId );
76  return;
77  }
78 
79  d->pluginData[ pluginId ] = pluginData;
80 
81  emit pluginDataChanged();
82 }
83 
84 void ContactListElement::setPluginData( Plugin *p, const QString &key, const QString &value )
85 {
86  d->pluginData[ p->pluginId() ][ key ] = value;
87 
88  emit pluginDataChanged();
89 }
90 
91 QMap<QString, QString> ContactListElement::pluginData( Plugin *plugin ) const
92 {
93  if ( !d->pluginData.contains( plugin->pluginId() ) )
94  return QMap<QString, QString>();
95 
96  return d->pluginData[ plugin->pluginId() ];
97 }
98 
99 QString ContactListElement::pluginData( Plugin *plugin, const QString &key ) const
100 {
101  if ( !d->pluginData.contains( plugin->pluginId() ) || !d->pluginData[ plugin->pluginId() ].contains( key ) )
102  return QString();
103 
104  return d->pluginData[ plugin->pluginId() ][ key ];
105 }
106 
107 const ContactListElement::PluginDataMap ContactListElement::pluginData() const
108 {
109  return d->pluginData;
110 }
111 
112 QMap<QString, ContactListElement::ContactDataList > ContactListElement::pluginContactData() const
113 {
114  return d->pluginContactData;
115 }
116 
117 ContactListElement::ContactDataList ContactListElement::pluginContactData( Plugin *plugin ) const
118 {
119  if ( !d->pluginContactData.contains( plugin->pluginId() ) )
120  return ContactDataList();
121 
122  return d->pluginContactData[ plugin->pluginId() ];
123 }
124 
125 void ContactListElement::clearPluginContactData()
126 {
127  d->pluginContactData.clear();
128 }
129 
130 void ContactListElement::setPluginContactData( Plugin *plugin, const ContactListElement::ContactDataList &dataList )
131 {
132  QString pluginId = plugin->pluginId();
133  if ( dataList.isEmpty() )
134  {
135  d->pluginContactData.remove( pluginId );
136  return;
137  }
138 
139  d->pluginContactData[ pluginId ] = dataList;
140 
141  emit pluginDataChanged();
142 }
143 
144 void ContactListElement::appendPluginContactData( const QString &pluginId, const ContactData &data )
145 {
146  if ( data.isEmpty() )
147  {
148  d->pluginContactData.remove( pluginId );
149  return;
150  }
151 
152  d->pluginContactData[ pluginId ].append( data );
153 
154  emit pluginDataChanged();
155 }
156 
157 const ContactListElement::IconMap ContactListElement::icons() const
158 {
159  return d->icons;
160 }
161 
162 QString ContactListElement::icon( ContactListElement::IconState state ) const
163 {
164  if ( d->icons.contains( state ) )
165  return d->icons[state];
166 
167  return d->icons[ None ];
168 }
169 
170 void ContactListElement::setIcon( const QString& icon , ContactListElement::IconState state )
171 {
172  if ( icon.isNull() )
173  d->icons.remove( state );
174  else
175  d->icons[ state ] = icon;
176 
177  emit iconChanged( state, icon );
178  emit iconAppearanceChanged();
179 }
180 
181 bool ContactListElement::useCustomIcon() const
182 {
183  return d->useCustomIcon;
184 }
185 
186 void ContactListElement::setUseCustomIcon( bool useCustomIcon )
187 {
188  if ( d->useCustomIcon != useCustomIcon )
189  {
190  d->useCustomIcon = useCustomIcon;
191  emit useCustomIconChanged( useCustomIcon );
192  }
193 }
194 
195 } //END namespace Kopete
196 
197 #include "kopetecontactlistelement.moc"
198 
199 
200 
Kopete::ContactListElement::pluginContactData
QMap< QString, ContactDataList > pluginContactData() const
Get the settings as stored previously by calls to setPluginContactData() Note that plugins shouldn't ...
Definition: kopetecontactlistelement.cpp:112
Kopete::ContactListElement::setPluginData
void setPluginData(Plugin *plugin, const QMap< QString, QString > &value)
Set the plugin-specific data.
Definition: kopetecontactlistelement.cpp:66
Kopete::ContactListElement::appendPluginContactData
void appendPluginContactData(const QString &pluginId, const ContactData &data)
Convenience method to append plugin specific data for single contact Note that plugins shouldn't use ...
Definition: kopetecontactlistelement.cpp:144
Kopete::ContactListElement::ContactDataList
QList< ContactData > ContactDataList
Definition: kopetecontactlistelement.h:116
Kopete::ContactListElement::setUseCustomIcon
void setUseCustomIcon(bool useCustomIcon)
set if the user want to show custom icon he set with setIcon this does not clear icons string if you ...
Definition: kopetecontactlistelement.cpp:186
Kopete::ContactListElement::icons
const IconMap icons() const
return all registered icons
Definition: kopetecontactlistelement.cpp:157
Kopete::ContactListElement::loading
bool loading() const
Check if we are in loading stage.
Definition: kopetecontactlistelement.cpp:61
kopetecontactlistelement.h
QMap
Kopete::ContactListElement::setIcon
void setIcon(const QString &icon, IconState=None)
Set the icon in the given state To clear an entry, set a QString()
Definition: kopetecontactlistelement.cpp:170
Kopete::ContactListElement::setLoading
void setLoading(bool value)
Set if we are in loading stage.
Definition: kopetecontactlistelement.cpp:56
Kopete::ContactListElement::useCustomIconChanged
void useCustomIconChanged(bool useCustomIcon)
The useCustomIcon property has changed.
QString::isNull
bool isNull() const
Kopete::ContactListElement::IconMap
QMap< IconState, QString > IconMap
Definition: kopetecontactlistelement.h:159
QObject
Kopete::Plugin::pluginId
QString pluginId() const
Get the plugin id.
Definition: kopeteplugin.cpp:46
QList::isEmpty
bool isEmpty() const
Kopete::ContactListElement::clearPluginContactData
void clearPluginContactData()
Clear all plugin specific data.
Definition: kopetecontactlistelement.cpp:125
QString
Kopete::ContactListElement::icon
QString icon(IconState state=None) const
return the icon for this object, in the given state.
Definition: kopetecontactlistelement.cpp:162
QList
Kopete::ContactListElement::iconAppearanceChanged
void iconAppearanceChanged()
The visual appearance of some of our icons has changed.
Kopete::ContactListElement::setPluginContactData
void setPluginContactData(Plugin *plugin, const ContactDataList &dataList)
Set plugin specific data for each contact.
Definition: kopetecontactlistelement.cpp:130
Kopete::Plugin
Base class for all plugins or protocols.
Definition: kopeteplugin.h:84
Kopete::ContactListElement::iconChanged
void iconChanged(Kopete::ContactListElement::IconState, const QString &)
The icon to use for some state has changed.
Kopete::ContactListElement::PluginDataMap
QMap< QString, QMap< QString, QString > > PluginDataMap
Definition: kopetecontactlistelement.h:113
Kopete::PropertyContainer
Definition: kopetepropertycontainer.h:39
Kopete::ContactListElement::ContactListElement
ContactListElement(QObject *parent=0L)
Definition: kopetecontactlistelement.cpp:41
kopeteplugin.h
Kopete::ContactListElement::pluginData
const PluginDataMap pluginData() const
return plugin-specific data for all plugins
Definition: kopetecontactlistelement.cpp:107
QMap::isEmpty
bool isEmpty() const
Kopete::ContactListElement::pluginDataChanged
void pluginDataChanged()
The plugin data was changed (by a plugin)
QObject::connect
bool connect(const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type)
Kopete::ContactListElement::IconState
IconState
The various icon states.
Definition: kopetecontactlistelement.h:158
Kopete::ContactListElement::~ContactListElement
~ContactListElement()
Definition: kopetecontactlistelement.cpp:51
Kopete::ContactListElement::useCustomIcon
bool useCustomIcon() const
return if yes or no the user wants to display some custom icon.
Definition: kopetecontactlistelement.cpp:181
Kopete::ContactListElement::None
Definition: kopetecontactlistelement.h:158
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Mon Jun 22 2020 13:29:19 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

kopete/libkopete

Skip menu "kopete/libkopete"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Related Pages

kdenetwork API Reference

Skip menu "kdenetwork API Reference"
  • kget
  • kopete
  •   kopete
  •   libkopete
  • krdc
  • krfb

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal