00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00024 #ifndef KIPI_IMAGEINFO_H
00025 #define KIPI_IMAGEINFO_H
00026 #include <kurl.h>
00027 #include <qstring.h>
00028 #include <qdatetime.h>
00029 #include <qmap.h>
00030 #include <qvariant.h>
00031 #include "libkipi/libkipi_export.h"
00032
00033 namespace KIPI
00034 {
00035 class ImageInfoShared;
00036 enum TimeSpec { FromInfo, ToInfo };
00037
00041 class LIBKIPI_EXPORT ImageInfo
00042 {
00043 public:
00044 QString title() const;
00045 void setTitle( const QString& name );
00046
00047 QString description() const;
00048 void setDescription( const QString& description);
00049
00050 QMap<QString,QVariant> attributes() const;
00051 void clearAttributes();
00052 void addAttributes( const QMap<QString,QVariant>& );
00053
00054 KURL path() const;
00055 QDateTime time( TimeSpec spec = FromInfo ) const;
00056 void setTime( const QDateTime& time, TimeSpec spec = FromInfo );
00057 bool isTimeExact() const;
00058 int size() const;
00059
00060 int angle() const;
00061 void setAngle( int );
00062
00063 QString toString( const QVariant& ) const;
00064
00065 void cloneData( const ImageInfo& other );
00066
00070 ImageInfo( ImageInfoShared* );
00071 ImageInfo( const ImageInfo& );
00072 ~ImageInfo();
00073
00074 private:
00075 ImageInfo() {}
00076 ImageInfo& operator=( const ImageInfo& ) { return *this; }
00077 mutable KIPI::ImageInfoShared* _data;
00078 };
00079 }
00080
00081 #endif
00082