1
/* ============================================================
2
* Author: Renchi Raju <renchi@pooh.tam.uiuc.edu>
6
* Copyright 2004 by Renchi Raju
8
* This program is free software; you can redistribute it
9
* and/or modify it under the terms of the GNU General
10
* Public License as published by the Free Software Foundation;
11
* either version 2, or (at your option)
14
* This program is distributed in the hope that it will be useful,
15
* but WITHOUT ANY WARRANTY; without even the implied warranty of
16
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17
* GNU General Public License for more details.
19
* ============================================================ */
25
#include <qvaluelist.h>
26
#include <qstringlist.h>
27
#include <qdatetime.h>
29
typedef struct sqlite sqleet; // hehe.
32
typedef QValueList<int> IntList;
41
void setDBPath(const QString& path);
43
void scanTags(TAlbum *album);
45
void readAlbum(Album *album);
46
void deleteAlbum(Album *album);
47
void renameAlbum(Album *album, const QString& newName);
48
bool createTAlbum(TAlbum* parent, const QString& name, const QString& icon);
49
void moveTAlbum(TAlbum *album, TAlbum *parent);
50
bool addPAlbum(const QString& url, const QString& caption,
51
const QDate& date, const QString& collection);
53
void beginTransaction();
54
void commitTransaction();
56
void setCaption(PAlbum *album);
57
void setCollection(PAlbum *album);
58
void setDate(PAlbum *album);
59
void setIcon(TAlbum *album, const QString& icon);
60
void setIcon(PAlbum *album, const QString& icon);
62
QString getItemCaption(PAlbum *album, const QString& name);
63
QStringList getItemTagNames(PAlbum *album, const QString& name);
64
IntList getItemTagIDs(PAlbum *album, const QString& name);
65
IntList getItemCommonTagIDs(const IntList& dirIDList, const QStringList& nameList);
67
void setItemCaption(PAlbum *album, const QString& name,
68
const QString& caption);
69
void setItemTag(PAlbum *album, const QString& name, TAlbum* tag);
70
void removeItemTag(PAlbum *album, const QString& name, TAlbum* tag);
71
void removeItemAllTags(PAlbum *album, const QString& name);
73
QStringList getItemsURL(TAlbum *album);
74
void getItemsInTAlbum(TAlbum* album, QStringList& urls,
75
QValueList<int>& dirids);
77
void copyItem(PAlbum *srcAlbum, const QString& srcFile,
78
PAlbum *destAlbum, const QString& destFile);
79
void moveItem(PAlbum *srcAlbum, const QString& srcFile,
80
PAlbum *destAlbum, const QString& destFile);
81
void deleteItem(PAlbum *album, const QString& file);
87
bool importXML(PAlbum *album);
88
bool exportXML(PAlbum *album);
90
void readPAlbum(PAlbum* album);
91
void readTAlbum(TAlbum* album);
92
void renameTAlbum(TAlbum* album, const QString& name);
93
void renamePAlbum(PAlbum* album, const QString& url);
95
bool readIdentifier(PAlbum *album, int& id);
96
void writeIdentifier(PAlbum *album, int id);
98
bool checkAlbum(PAlbum *album, int id);
100
bool execSql(const QString& sql, QStringList* const values = 0,
101
const bool debug = false);
102
QString escapeString(QString str) const;
104
void removeInvalidEntries();
110
#endif /* ALBUMDB_H */