AlbumShaper  1.0a3
album.h
Go to the documentation of this file.
1 //Added by qt3to4:
2 #include <QPixmap>
3 //==============================================
4 // copyright : (C) 2003-2005 by Will Stokes
5 //==============================================
6 // This program is free software; you can redistribute it
7 // and/or modify it under the terms of the GNU General
8 // Public License as published by the Free Software
9 // Foundation; either version 2 of the License, or
10 // (at your option) any later version.
11 //==============================================
12 
13 #ifndef BACKEND_ALBUM_H
14 #define BACKEND_ALBUM_H
15 
16 //representative image sizes
17 #define SMALL 1
18 #define MEDIUM 2
19 #define LARGE 3
20 
21 //define loading success values
22 #define ALBUM_LOADED 1
23 #define ALBUM_READ_ERROR 2
24 #define ALBUM_XML_ERROR 3
25 #define ALBUM_EXPORTED 1
26 #define ALBUM_ERROR_OPEN_FILE 2
27 //--------------------
28 //forward declarations
29 class QString;
30 class QPixmap;
31 class Subalbum;
33 class StatusWidget;
34 class QStringList;
35 //--------------------
36 
37 //=====================================
50 //=====================================
51 
52 class Album
53 {
54 //------------------------------------------------------
55 public:
56 
58  Album( QString tmpDir, bool createSubalbum = true );
59 
61  ~Album();
62 
64  void setName(QString val);
65 
67  QString getName();
68 
70  void setDescription(QString val);
71 
73  QString getDescription();
74 
76  void setAuthor(QString val);
77 
79  QString getAuthor();
80 
82  void setRepresentativeImages(QString imageFilename);
83 
85  QPixmap* getRepresentativeImage(int size);
86 
89 
92 
94  void appendSubalbum(Subalbum* val);
95 
97  void removeSubalbum(Subalbum* val);
98 
100  int getModificationYear();
101 
103  int getModificationMonth();
104 
106  int getModificationDay();
107 
109  int getCreationYear();
110 
112  int getCreationMonth();
113 
115  int getCreationDay();
116 
118  void updateCreationDate();
119 
121  void updateModificationDate();
122 
124  int importFromDisk(StatusWidget* status, QString fileName, bool disableCheckPhotoMods);
125 
127  int exportToDisk(StatusWidget* status, QString dirName, QString themeName);
128 
131  int exportToDisk(StatusWidget* status, bool forceSave=false);
132 
135  QString exportLocation,
136  QString exportMessage);
137 
140  int exportLargeImages(StatusWidget* status, QString exportPath, QString exportMessage);
141 
143  bool prevSave();
144 
146  bool albumModified();
147 
149  void setModified(bool val=true);
150 
153 
155  QString getSaveLocation();
156 
158  int getNumPhotos();
159 
161  int getNumSubalbums();
162 
164  QString getTheme();
165 
167  QString getTmpDir();
168 
170  int getNextUniquePhotoID();
171 
173  QStringList getThumbnailFilenames();
174 //------------------------------------------------------
175 private:
177  int exportToXML(StatusWidget* status, QString exportPath);
178 
180  void exportTopLevelImages();
181 
183  void exportSubalbumImages(StatusWidget* status, bool forceSave);
184 
188 
190  void reorderSubalbumImages(StatusWidget* status);
191 
193  void removeStagnantImages();
194 
196  void exportThemeResources( QString theme );
197 
199  QString name;
200 
202  QString description;
203 
205  QString author;
206 
210 
213 
216 
219 
222 
225 
228 
231 
234 
237 
240 
243 
245  QString saveLocation;
246 
247  //Last directory album was saved to
249 
251  QString theme;
252 
254  bool modified;
255 
257  QString tmpDir;
258 
263 //------------------------------------------------------
264 };
265 
266 #endif //BACKEND_ALBUM_H
void removeStagnantImages()
Removes old stagnant images caused when photos are removed from album or moved from one subalbum to a...
Definition: album.cpp:1244
bool albumModified()
Returns true if album has been modified since the last save operation.
Definition: album.cpp:139
void setDescription(QString val)
Sets the album description.
Definition: album.cpp:168
QString getDescription()
Gets the album description.
Definition: album.cpp:125
QString getName()
Gets the album name.
Definition: album.cpp:124
int modificationDay
Last modification day.
Definition: album.h:224
Subalbum * lastSubalbum
Pointer to last Subalbum.
Definition: album.h:215
int getModificationMonth()
Returns the last modified month.
Definition: album.cpp:117
int getCreationYear()
Returns the creation year.
Definition: album.cpp:120
int numSubalbums
Number of subalbums.
Definition: album.h:236
int getNumSubalbums()
Returns number of subalbums.
Definition: album.cpp:144
bool modified
Modification status of the album.
Definition: album.h:254
int creationDay
Creation day.
Definition: album.h:233
QPixmap * smallRepresentativeImage
Representative images.
Definition: album.h:208
QString oldSaveLocation
Definition: album.h:248
void appendSubalbum(Subalbum *val)
Appends subalbum to end of linked list.
Definition: album.cpp:234
int creationYear
Creation year.
Definition: album.h:227
int modificationYear
Last modification year.
Definition: album.h:218
QString getSaveLocation()
Returns the current save location of all images.
Definition: album.cpp:141
void removeStagnantOrigFiles(StatusWidget *status)
Removes any _orig images for photos which have been recently reverted to their original form (and hen...
Definition: album.cpp:1093
QString theme
Theme to save album with.
Definition: album.h:251
int nextUniqueID
Next Unique ID for new photos.
Definition: album.h:262
void setAuthor(QString val)
Sets the album author.
Definition: album.cpp:177
QPixmap * getRepresentativeImage(int size)
Returns the representative image.
Definition: album.cpp:128
QString description
Longer description of album.
Definition: album.h:202
void exportTopLevelImages()
Exports top level images.
Definition: album.cpp:853
int importFromDisk(StatusWidget *status, QString fileName, bool disableCheckPhotoMods)
Imports album from XML format, returning int indicates success or not.
Definition: album.cpp:295
QStringList getThumbnailFilenames()
Returns a list of the most up to date thumbnail filesnames.
Definition: album.cpp:1426
void syncSubalbumList(SubalbumPreviewWidget *item)
Syncs subalbum ordering with front end gui ordering.
Definition: album.cpp:1369
Album(QString tmpDir, bool createSubalbum=true)
Sets default information and create temporary directory as necessary.
Definition: album.cpp:41
StatusWidget * status
int getNumPhotos()
Returns the number of photos.
Definition: album.cpp:146
QString name
Short name for album.
Definition: album.h:199
A subalbum contains photos.
Definition: subalbum.h:48
void setModified(bool val=true)
Sets the album as modified.
Definition: album.cpp:1418
void setRepresentativeImages(QString imageFilename)
Sets the representative image.
Definition: album.cpp:186
void removeSubalbum(Subalbum *val)
Removes a subalbum.
Definition: album.cpp:257
int modificationMonth
Last modification month.
Definition: album.h:221
QString saveLocation
Directory album saved to.
Definition: album.h:245
Displays subalbum icon and name.
int getModificationYear()
Returns the last modified year.
Definition: album.cpp:116
int numLoadedSubalbums
Number of loaded subalbums.
Definition: album.h:239
int getCreationMonth()
Returns the creation month.
Definition: album.cpp:121
void reorderSubalbumImages(StatusWidget *status)
Checks if images need to be moved and does so if necessary.
Definition: album.cpp:1126
Subalbum * getFirstSubalbum()
Returns a pointer to the first Subalbum.
Definition: album.cpp:135
void updateCreationDate()
Updates the creation date to today&#39;s date.
Definition: album.cpp:277
int exportLargeImages(StatusWidget *status, QString exportPath, QString exportMessage)
Export fullsize images (excludes slideshow and thumbnail images, album and collection iamges...
Definition: album.cpp:726
Subalbum * firstSubalbum
Pointer to first Subalbum.
Definition: album.h:212
void exportThemeResources(QString theme)
Removes previously saved resources, copies over new resources.
Definition: album.cpp:1322
bool prevSave()
Returns true if album previously saved to disk.
Definition: album.cpp:138
int creationMonth
Creation month.
Definition: album.h:230
void updateModificationDate()
Updates the modification date to today&#39;s date.
Definition: album.cpp:286
QString getTmpDir()
Returns the temporary directory for use when modifying and adding new images.
Definition: album.cpp:142
int exportToXML(StatusWidget *status, QString exportPath)
Exports album to XML.
Definition: album.cpp:801
QPixmap * largeRepresentativeImage
Definition: album.h:209
int getModificationDay()
Returns the last modified day.
Definition: album.cpp:118
Subalbum * getLastSubalbum()
Returns a pointer to the last Subalbum.
Definition: album.cpp:136
int getCreationDay()
Returnst he creation day.
Definition: album.cpp:122
An album contains Subalbums.
Definition: album.h:52
int exportCompressedWebAlbum(StatusWidget *status, QString exportLocation, QString exportMessage)
Export a compressed web album (excludes full size images and xml data)
Definition: album.cpp:616
QString getAuthor()
Gets the album author.
Definition: album.cpp:126
bool savedToDisk
Set if album was loaded/has been saved to disk.
Definition: album.h:242
void exportSubalbumImages(StatusWidget *status, bool forceSave)
Exports subalbum images.
Definition: album.cpp:889
QString getTheme()
Returns currently selected theme.
Definition: album.cpp:143
int getNextUniquePhotoID()
Returns the next unique photo id.
Definition: album.cpp:1420
QString tmpDir
Temporary directory for placing modified or new images before saving takes place. ...
Definition: album.h:257
void setName(QString val)
Sets the album name.
Definition: album.cpp:159
int exportToDisk(StatusWidget *status, QString dirName, QString themeName)
Exports album in XML and HTML format, along with resized images.
Definition: album.cpp:452
~Album()
Frees Subalbums.
Definition: album.cpp:84
QString author
Album Creator.
Definition: album.h:205