kabc
picture.h
00001 /* 00002 This file is part of libkabc. 00003 Copyright (c) 2002 Tobias Koenig <tokoe@kde.org> 00004 00005 This library is free software; you can redistribute it and/or 00006 modify it under the terms of the GNU Library General Public 00007 License as published by the Free Software Foundation; either 00008 version 2 of the License, or (at your option) any later version. 00009 00010 This library is distributed in the hope that it will be useful, 00011 but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00013 Library General Public License for more details. 00014 00015 You should have received a copy of the GNU Library General Public License 00016 along with this library; see the file COPYING.LIB. If not, write to 00017 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 00018 Boston, MA 02110-1301, USA. 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