00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef KABC_PICTURE_H
00022 #define KABC_PICTURE_H
00023
00024 #include "kabc_export.h"
00025
00026 #include <QtCore/QDataStream>
00027 #include <QtCore/QString>
00028 #include <QtCore/QSharedDataPointer>
00029 #include <QtGui/QImage>
00030
00031 namespace KABC {
00032
00037 class KABC_EXPORT Picture
00038 {
00039 friend KABC_EXPORT QDataStream &operator<<( QDataStream &, const Picture & );
00040 friend KABC_EXPORT QDataStream &operator>>( QDataStream &, Picture & );
00041
00042 public:
00046 Picture();
00047
00053 Picture( const QString &url );
00054
00060 Picture( const QImage &data );
00061
00069 Picture( const Picture &picture );
00070
00074 ~Picture();
00075
00083 Picture &operator=( const Picture &other );
00084
00088 bool operator==( const Picture & ) const;
00089
00093 bool operator!=( const Picture & ) const;
00094
00098 bool isEmpty() const;
00099
00107 void setUrl( const QString &url );
00108
00115 void setData( const QImage &data );
00116
00120 void setType( const QString &type );
00121
00129 bool isIntern() const;
00130
00134 QString url() const;
00135
00139 QImage data() const;
00140
00144 QString type() const;
00145
00149 QString toString() const;
00150
00151 private:
00152 class Private;
00153 QSharedDataPointer<Private> d;
00154 };
00155
00159 KABC_EXPORT QDataStream &operator<<( QDataStream &stream, const Picture &picture );
00160
00164 KABC_EXPORT QDataStream &operator>>( QDataStream &stream, Picture &picture );
00165
00166 }
00167
00168 #endif