AlbumShaper 1.0a3
photo.h
Go to the documentation of this file.
1//==============================================
2// copyright : (C) 2003-2005 by Will Stokes
3//==============================================
4// This program is free software; you can redistribute it
5// and/or modify it under the terms of the GNU General
6// Public License as published by the Free Software
7// Foundation; either version 2 of the License, or
8// (at your option) any later version.
9//==============================================
10
11#ifndef BACKEND_PHOTO_H
12#define BACKEND_PHOTO_H
13
14//define image sizes
15#define THUMBNAIL 1
16#define SLIDESHOW 2
17#define IMAGE 3
18
19//TODO: remove this include
20//this is a temporary hack, I the enum for photo transofmrations need to be revealed
21//to all classes that include photo.h becaue one private function uses thsi enum, DAMN
22#include "tools/imageTools.h"
23//Added by qt3to4:
24#include <QPixmap>
25#include <Q3TextStream>
26
27//--------------------
28//forward declarations
29class QString;
30class QPixmap;
31class QImage;
32class QDomNode;
33class QDateTime;
34class Subalbum;
35//--------------------
36
37//=====================================
42//=====================================
43
44class Photo
45{
46//------------------------------------------------------
47public:
49 Photo(Subalbum* subalbum, Photo* prev, int photoNumber);
50
51 ~Photo();
52 //----------------------------
54 QImage* getThumbnailImage();
55
60
63 bool setImage(QString imageName,
64 QString slideshowName,
65 QString thumbnailName);
66
68 bool setImage(QString imageName, int uniqueID);
69
72 bool setImage(QString editedImageFilename);
73 //------------------------------------------
75 QString getImageFilename();
76
78 QString getSlideshowFilename();
79
81 QString getThumbnailFilename();
82 //----------------------------
84 void setImageFilename(QString val);
85
87 void setSlideshowFilename(QString val);
88
90 void setThumbnailFilename(QString val);
91 //----------------------------
93 QString getImageChecksum();
94
96 QString getThumbnailChecksum();
97
99 QString getSlideshowChecksum();
100
102 void setImageChecksum(QString val);
103
105 void setThumbnailChecksum(QString val);
106
108 void setSlideshowChecksum(QString val);
109 //------------------------------------------
111 QString getDescription();
112
114 void setDescription(QString val);
115 //----------------------------
117 Photo* getPrev();
118
120 Photo* getNext();
121
123 void setPrev(Photo* val);
124
126 void setNext(Photo* val);
127 //----------------------------
129 QDateTime* importFromDisk(QDomNode* root);
130
132 void exportToXML(Q3TextStream& stream);
133 //------------------------------------------
135 void rotate90();
136
138 void rotate270();
139
141 void flipHorizontally();
142
144 void flipVertically();
145
147 void applyTransformation(TRANSFORM_CODE transformation);
148 //------------------------------------------
150 bool getNeedsSavingVal();
151
153 void setNeedsSavingVal(bool val);
154 //------------------------------------------
156 bool getEverSaved();
157
159 void setEverSaved(bool val);
160 //------------------------------------------
162 void revertPhoto();
163
165 bool revertPossible();
166
168 bool getRecentlyReverted();
169
171 void setRecentlyReverted(bool val);
172
174 QString originalImageFilename();
175 //------------------------------------------
178
180 void setInitialPhotoNumber(int val);
181
184
186 void setInitialSubalbumNumber(int val);
187//------------------------------------------------------
188private:
191
194
197
198 //Initial photo number
200
201 //Initial subalbum number
203
205 QString description;
206
209
214
219
222
225
229//------------------------------------------------------
230};
231
232#endif //BACKEND_PHOTO_H
A photo consists of a full size image, a smaller slide show image, a very small thumbnail image,...
Definition photo.h:45
void rotate270()
Rotates image clockwise 270 degrees.
Definition photo.cpp:472
bool getRecentlyReverted()
was the photo recently reverted? if so ignore the presence of orig files on disk
Definition photo.cpp:547
void setSlideshowChecksum(QString val)
Update slideshow checksum.
Definition photo.cpp:206
Subalbum * subalbum
Subalbum photo is in.
Definition photo.h:190
QDateTime * importFromDisk(QDomNode *root)
Builds photo from XML DOM node, returns date modified info from xml.
Definition photo.cpp:239
void setThumbnailChecksum(QString val)
Update thumbnail checksum.
Definition photo.cpp:205
bool getNeedsSavingVal()
Returns if the image needs to be saved to its permament location.
Definition photo.cpp:531
bool setImage(QString imageName, QString slideshowName, QString thumbnailName)
Setup photo using preexisting full size, slideshow, and thumbnail images.
Definition photo.cpp:105
void setRecentlyReverted(bool val)
reset the recently reverted value to val
Definition photo.cpp:552
Photo(Subalbum *subalbum, Photo *prev, int photoNumber)
Sets default information.
Definition photo.cpp:32
Photo * getNext()
Returns next photo pointer.
Definition photo.cpp:225
void applyTransformation(TRANSFORM_CODE transformation)
Apply transformation.
Definition photo.cpp:476
void rotate90()
Rotates image clockwise 90 degrees.
Definition photo.cpp:471
bool everSaved
Has the photo ever been saved?
Definition photo.h:224
QString thumbnailChecksum
Definition photo.h:218
QString getThumbnailChecksum()
Get thumbanil checksum.
Definition photo.cpp:201
void setInitialSubalbumNumber(int val)
Sets initial subalbum number.
Definition photo.cpp:612
QString getImageFilename()
Gets the image filename.
Definition photo.cpp:192
void setEverSaved(bool val)
sets everSaved
Definition photo.cpp:535
bool getEverSaved()
Returns if the image has ever been saved to a permanant location.
Definition photo.cpp:534
QString originalImageFilename()
orig filename
Definition photo.cpp:572
Photo * prev
Pointer to prev photo.
Definition photo.h:193
void setNext(Photo *val)
Sets next photo pointer.
Definition photo.cpp:233
QString description
Photo description.
Definition photo.h:205
void setPrev(Photo *val)
Sets prev photo pointer.
Definition photo.cpp:227
void setNeedsSavingVal(bool val)
Sets if the image needs to be saved to its permanent location.
Definition photo.cpp:532
QString thumbnailLocation
Definition photo.h:213
int getInitialSubalbumNumber()
Returns initial subalbum number.
Definition photo.cpp:611
void setThumbnailFilename(QString val)
Sets the thumbnail filename.
Definition photo.cpp:198
QString slideshowChecksum
Definition photo.h:217
void setInitialPhotoNumber(int val)
Sets initial photo number.
Definition photo.cpp:609
void flipVertically()
Flips image about vertical axis.
Definition photo.cpp:474
Photo * next
Pointer to next photo.
Definition photo.h:196
QString getThumbnailFilename()
Gets the thumbnail filename.
Definition photo.cpp:194
QImage * getThumbnailImage()
Gets thumbnail image.
Definition photo.cpp:83
Photo * getPrev()
Returns the previous photo pointer.
Definition photo.cpp:224
void exportToXML(Q3TextStream &stream)
Exports photo to xml.
Definition photo.cpp:414
int getInitialPhotoNumber()
Returns initial photo number.
Definition photo.cpp:608
QString imageChecksum
MD5 checksums, used to determine if image/thumbnail have been changed.
Definition photo.h:216
int initialSubalbumNumber
Definition photo.h:202
QString imageLocation
Filenames
Definition photo.h:211
bool recentlyReverted
Has the photo recently been reverted to it's original form? If so during the next save the orig file ...
Definition photo.h:228
QString getSlideshowChecksum()
Get thumbanil checksum.
Definition photo.cpp:202
void setSlideshowFilename(QString val)
Sets the slideshow filename.
Definition photo.cpp:197
void setDescription(QString val)
Sets the description.
Definition photo.cpp:210
void flipHorizontally()
Flips image about horizontal axis.
Definition photo.cpp:473
QString getImageChecksum()
Get image checksum.
Definition photo.cpp:200
int initialPhotoNumber
Definition photo.h:199
bool needsSaving
Unsaved modifications?
Definition photo.h:221
void setImageFilename(QString val)
Sets the image filename.
Definition photo.cpp:196
bool revertPossible()
can photo be reverted to a differnt original form
Definition photo.cpp:537
QString slideshowLocation
Definition photo.h:212
QString getSlideshowFilename()
Gets the slideshow filename.
Definition photo.cpp:193
QString getDescription()
Gets the description.
Definition photo.cpp:208
~Photo()
Definition photo.cpp:77
QImage * thumbnailImage
Thumbnail Image.
Definition photo.h:208
void revertPhoto()
revert photo to original form
Definition photo.cpp:557
void setImageChecksum(QString val)
Update image checksum.
Definition photo.cpp:204
bool constructSmallerImages()
Construct thumbnail and slideshow images, load up thumbnail image, and set photo has being modified.
Definition photo.cpp:85
A subalbum contains photos.
Definition subalbum.h:49
TRANSFORM_CODE
Definition imageTools.h:25