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
29 class QString;
30 class QPixmap;
31 class QImage;
32 class QDomNode;
33 class QDateTime;
34 class Subalbum;
35 //--------------------
36 
37 //=====================================
42 //=====================================
43 
44 class Photo
45 {
46 //------------------------------------------------------
47 public:
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  //------------------------------------------
177  int getInitialPhotoNumber();
178 
180  void setInitialPhotoNumber(int val);
181 
184 
186  void setInitialSubalbumNumber(int val);
187 //------------------------------------------------------
188 private:
191 
194 
197 
198  //Initial photo number
200 
201  //Initial subalbum number
203 
205  QString description;
206 
208  QImage* thumbnailImage;
209 
211  QString imageLocation;
214 
216  QString imageChecksum;
219 
222 
224  bool everSaved;
225 
229 //------------------------------------------------------
230 };
231 
232 #endif //BACKEND_PHOTO_H
QString getSlideshowChecksum()
Get thumbanil checksum.
Definition: photo.cpp:202
QString getImageFilename()
Gets the image filename.
Definition: photo.cpp:192
QString originalImageFilename()
orig filename
Definition: photo.cpp:572
int initialSubalbumNumber
Definition: photo.h:202
QString slideshowLocation
Definition: photo.h:212
A photo consists of a full size image, a smaller slide show image, a very small thumbnail image...
Definition: photo.h:44
TRANSFORM_CODE
Definition: imageTools.h:24
~Photo()
Definition: photo.cpp:77
void revertPhoto()
revert photo to original form
Definition: photo.cpp:557
QString imageChecksum
MD5 checksums, used to determine if image/thumbnail have been changed.
Definition: photo.h:216
QString description
Photo description.
Definition: photo.h:205
void setInitialSubalbumNumber(int val)
Sets initial subalbum number.
Definition: photo.cpp:612
void setImageFilename(QString val)
Sets the image filename.
Definition: photo.cpp:196
QString getThumbnailFilename()
Gets the thumbnail filename.
Definition: photo.cpp:194
void rotate270()
Rotates image clockwise 270 degrees.
Definition: photo.cpp:472
bool everSaved
Has the photo ever been saved?
Definition: photo.h:224
bool getRecentlyReverted()
was the photo recently reverted? if so ignore the presence of orig files on disk
Definition: photo.cpp:547
Subalbum * subalbum
Subalbum photo is in.
Definition: photo.h:190
void exportToXML(Q3TextStream &stream)
Exports photo to xml.
Definition: photo.cpp:414
Photo * getNext()
Returns next photo pointer.
Definition: photo.cpp:225
bool recentlyReverted
Has the photo recently been reverted to it&#39;s original form? If so during the next save the orig file ...
Definition: photo.h:228
void setRecentlyReverted(bool val)
reset the recently reverted value to val
Definition: photo.cpp:552
QString slideshowChecksum
Definition: photo.h:217
bool setImage(QString imageName, QString slideshowName, QString thumbnailName)
Setup photo using preexisting full size, slideshow, and thumbnail images.
Definition: photo.cpp:105
int getInitialSubalbumNumber()
Returns initial subalbum number.
Definition: photo.cpp:611
A subalbum contains photos.
Definition: subalbum.h:48
void setImageChecksum(QString val)
Update image checksum.
Definition: photo.cpp:204
int getInitialPhotoNumber()
Returns initial photo number.
Definition: photo.cpp:608
void setDescription(QString val)
Sets the description.
Definition: photo.cpp:210
QString thumbnailChecksum
Definition: photo.h:218
void setSlideshowChecksum(QString val)
Update slideshow checksum.
Definition: photo.cpp:206
QImage * getThumbnailImage()
Gets thumbnail image.
Definition: photo.cpp:83
void rotate90()
Rotates image clockwise 90 degrees.
Definition: photo.cpp:471
void setEverSaved(bool val)
sets everSaved
Definition: photo.cpp:535
Photo(Subalbum *subalbum, Photo *prev, int photoNumber)
Sets default information.
Definition: photo.cpp:32
void setThumbnailFilename(QString val)
Sets the thumbnail filename.
Definition: photo.cpp:198
bool needsSaving
Unsaved modifications?
Definition: photo.h:221
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
bool getEverSaved()
Returns if the image has ever been saved to a permanant location.
Definition: photo.cpp:534
void setThumbnailChecksum(QString val)
Update thumbnail checksum.
Definition: photo.cpp:205
void setSlideshowFilename(QString val)
Sets the slideshow filename.
Definition: photo.cpp:197
QDateTime * importFromDisk(QDomNode *root)
Builds photo from XML DOM node, returns date modified info from xml.
Definition: photo.cpp:239
bool getNeedsSavingVal()
Returns if the image needs to be saved to its permament location.
Definition: photo.cpp:531
QString getSlideshowFilename()
Gets the slideshow filename.
Definition: photo.cpp:193
Photo * prev
Pointer to prev photo.
Definition: photo.h:193
Photo * next
Pointer to next photo.
Definition: photo.h:196
QString imageLocation
Filenames.
Definition: photo.h:211
QImage * thumbnailImage
Thumbnail Image.
Definition: photo.h:208
QString getDescription()
Gets the description.
Definition: photo.cpp:208
void applyTransformation(TRANSFORM_CODE transformation)
Apply transformation.
Definition: photo.cpp:476
void flipVertically()
Flips image about vertical axis.
Definition: photo.cpp:474
void setNext(Photo *val)
Sets next photo pointer.
Definition: photo.cpp:233
bool constructSmallerImages()
Construct thumbnail and slideshow images, load up thumbnail image, and set photo has being modified...
Definition: photo.cpp:85
void setInitialPhotoNumber(int val)
Sets initial photo number.
Definition: photo.cpp:609
Photo * getPrev()
Returns the previous photo pointer.
Definition: photo.cpp:224
QString getImageChecksum()
Get image checksum.
Definition: photo.cpp:200
int initialPhotoNumber
Definition: photo.h:199
QString getThumbnailChecksum()
Get thumbanil checksum.
Definition: photo.cpp:201
void setPrev(Photo *val)
Sets prev photo pointer.
Definition: photo.cpp:227
void flipHorizontally()
Flips image about horizontal axis.
Definition: photo.cpp:473
bool revertPossible()
can photo be reverted to a differnt original form
Definition: photo.cpp:537