libtdepim
addresseeview.h00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef KPIM_ADDRESSEEVIEW_H
00023 #define KPIM_ADDRESSEEVIEW_H
00024
00025 #include <tqcstring.h>
00026
00027 #include <tdeabc/addressee.h>
00028 #include <ktextbrowser.h>
00029 #include <tdeimproxy.h>
00030 #include <tdepimmacros.h>
00031
00032 namespace TDEIO {
00033 class Job;
00034 }
00035 class TDEToggleAction;
00036
00037 class TQPopupMenu;
00038
00039
00040 namespace KPIM {
00041
00042
00043 class KDE_EXPORT AddresseeView : public KTextBrowser
00044 {
00045 Q_OBJECT
00046
00047 public:
00054 AddresseeView( TQWidget *parent = 0, const char *name = 0,
00055 TDEConfig *config = 0 );
00056
00057 ~AddresseeView();
00058
00064 void setAddressee( const TDEABC::Addressee& addr );
00065
00069 TDEABC::Addressee addressee() const;
00070
00071
00076 enum LinkMask {
00077 NoLinks = 0,
00078 AddressLinks = 1,
00079 EmailLinks = 2,
00080 PhoneLinks = 4,
00081 URLLinks = 8,
00082 IMLinks = 16,
00083 DefaultLinks = AddressLinks | EmailLinks | PhoneLinks | URLLinks | IMLinks
00084 };
00085
00090 void enableLinks( int linkMask );
00091
00096 enum FieldMask {
00097 NoFields = 0,
00098 BirthdayFields = 1,
00099 AddressFields = 2,
00100 EmailFields = 4,
00101 PhoneFields = 8,
00102 URLFields = 16,
00103 IMFields = 32,
00104 CustomFields = 64,
00105 DefaultFields = AddressFields | EmailFields | PhoneFields | URLFields
00106 };
00107
00131 static TQString vCardAsHTML( const TDEABC::Addressee& addr, ::KIMProxy *proxy, LinkMask linkMask = DefaultLinks,
00132 bool internalLoading = true, FieldMask fieldMask = DefaultFields );
00133
00139 static TQString pixmapAsDataUrl( const TQPixmap& pixmap );
00140
00141 signals:
00142 void urlHighlighted( const TQString &url );
00143 void emailHighlighted( const TQString &email );
00144 void phoneNumberHighlighted( const TQString &number );
00145 void faxNumberHighlighted( const TQString &number );
00146
00147 void highlightedMessage( const TQString &message );
00148
00149 void addressClicked( const TQString &uid );
00150
00151 protected:
00152 virtual void urlClicked( const TQString &url );
00153 virtual void emailClicked( const TQString &mail );
00154 virtual void phoneNumberClicked( const TQString &number );
00155 virtual void smsTextClicked( const TQString &number );
00156 virtual void sendSMS( const TQString &number, const TQString &msg );
00157 virtual void faxNumberClicked( const TQString &number );
00158 virtual void imAddressClicked();
00159
00160 virtual TQPopupMenu *createPopupMenu( const TQPoint& );
00161
00162 private slots:
00163 void slotMailClicked( const TQString&, const TQString& );
00164 void slotUrlClicked( const TQString& );
00165 void slotHighlighted( const TQString& );
00166 void slotPresenceChanged( const TQString & );
00167 void slotPresenceInfoExpired();
00168 void configChanged();
00169
00170 void data( TDEIO::Job*, const TQByteArray& );
00171 void result( TDEIO::Job* );
00172
00173 private:
00174 void load();
00175 void save();
00176
00177 void updateView();
00178
00179 TQString strippedNumber( const TQString &number );
00180
00181 TDEConfig *mConfig;
00182 bool mDefaultConfig;
00183
00184 TQByteArray mImageData;
00185 TDEIO::Job *mImageJob;
00186
00187 TDEToggleAction *mActionShowBirthday;
00188 TDEToggleAction *mActionShowAddresses;
00189 TDEToggleAction *mActionShowEmails;
00190 TDEToggleAction *mActionShowPhones;
00191 TDEToggleAction *mActionShowURLs;
00192 TDEToggleAction *mActionShowIMAddresses;
00193 TDEToggleAction *mActionShowCustomFields;
00194
00195 TDEABC::Addressee mAddressee;
00196 int mLinkMask;
00197
00198 class AddresseeViewPrivate;
00199 AddresseeViewPrivate *d;
00200 ::KIMProxy *mKIMProxy;
00201 };
00202
00203 }
00204
00205 #endif
|