akonadi/contact
contactviewer.h
00001 /* 00002 This file is part of Akonadi Contact. 00003 00004 Copyright (c) 2009 Tobias Koenig <tokoe@kde.org> 00005 00006 This library is free software; you can redistribute it and/or modify it 00007 under the terms of the GNU Library General Public License as published by 00008 the Free Software Foundation; either version 2 of the License, or (at your 00009 option) any later version. 00010 00011 This library is distributed in the hope that it will be useful, but WITHOUT 00012 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 00013 FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public 00014 License for more details. 00015 00016 You should have received a copy of the GNU Library General Public License 00017 along with this library; see the file COPYING.LIB. If not, write to the 00018 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 00019 02110-1301, USA. 00020 */ 00021 00022 #ifndef AKONADI_CONTACTVIEWER_H 00023 #define AKONADI_CONTACTVIEWER_H 00024 00025 #include "akonadi-contact_export.h" 00026 00027 #include <akonadi/itemmonitor.h> 00028 00029 #include <QtGui/QWidget> 00030 00031 class KUrl; 00032 00033 namespace KABC { 00034 class Address; 00035 class Addressee; 00036 class PhoneNumber; 00037 } 00038 00039 namespace Akonadi { 00040 00041 class AbstractContactFormatter; 00042 00076 class AKONADI_CONTACT_EXPORT ContactViewer : public QWidget, public Akonadi::ItemMonitor 00077 { 00078 Q_OBJECT 00079 00080 public: 00086 ContactViewer( QWidget *parent = 0 ); 00087 00091 ~ContactViewer(); 00092 00099 Akonadi::Item contact() const; 00100 00106 KABC::Addressee rawContact() const; 00107 00116 void setContactFormatter( AbstractContactFormatter *formatter ); 00117 00118 public Q_SLOTS: 00122 void setContact( const Akonadi::Item &contact ); 00123 00129 void setRawContact( const KABC::Addressee &contact ); 00130 00131 Q_SIGNALS: 00138 void urlClicked( const KUrl &url ); 00139 00147 void emailClicked( const QString &name, const QString &email ); 00148 00155 void phoneNumberClicked( const KABC::PhoneNumber &number ); 00156 00163 void smsClicked( const KABC::PhoneNumber &number ); 00164 00171 void addressClicked( const KABC::Address &address ); 00172 00173 private: 00177 virtual void itemChanged( const Item &contact ); 00178 00183 virtual void itemRemoved(); 00184 00185 private: 00186 //@cond PRIVATE 00187 class Private; 00188 Private* const d; 00189 00190 Q_PRIVATE_SLOT( d, void slotMailClicked( const QString&, const QString& ) ) 00191 Q_PRIVATE_SLOT( d, void slotUrlClicked( const QString& ) ) 00192 Q_PRIVATE_SLOT( d, void slotParentCollectionFetched( KJob* ) ) 00193 //@endcond 00194 }; 00195 00196 } 00197 00198 #endif
This file is part of the KDE documentation.
Documentation copyright © 1996-2012 The KDE developers.
Generated on Mon Aug 27 2012 22:09:52 by doxygen 1.7.5 written by Dimitri van Heesch, © 1997-2006
Documentation copyright © 1996-2012 The KDE developers.
Generated on Mon Aug 27 2012 22:09:52 by doxygen 1.7.5 written by Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.