diff options
Diffstat (limited to 'picfilesmodel.h')
-rw-r--r-- | picfilesmodel.h | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/picfilesmodel.h b/picfilesmodel.h new file mode 100644 index 0000000..146fbfc --- /dev/null +++ b/picfilesmodel.h @@ -0,0 +1,49 @@ +/* + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version + 2 of the License, or (at your option) any later version. +*/ + +#ifndef PICFILESMODEL_H +#define PICFILESMODEL_H + +#include "smtreemodel.h" +#include "mappingtreemodel.h" + +class PicFilesModel : public SmTreeModel { + Q_OBJECT + public: + enum Roles { FileNameRole = Qt::UserRole + 1, SizeRole = Qt::UserRole + 2, MimeTypeRole = Qt::UserRole + 3, FullPathRole = Qt::UserRole + 4, IdRole = Qt::UserRole + 5, AddedRole = Qt::UserRole + 6, Md5SumRole = Qt::UserRole + 7, SizeDisplayRole = Qt::UserRole + 8 }; + enum Fields { FileName = 0, Size = 1, MimeType = 2, FullPath = 3, Id = 4, Added = 5, Md5Sum = 6, SizeDisplay = 7 }; + enum { NumFields = 8 }; + explicit PicFilesModel(const QStringList &headers, QObject *parent = 0); + ~PicFilesModel(); + void setMapping(int pMapId); + + //some data + Qt::ItemFlags flags(const QModelIndex &) const { return Qt::ItemIsEnabled | Qt::ItemIsSelectable; } + QVariant data(const QModelIndex &index, int role) const; + QList<QVariant> dataList(const QModelIndex &idx) const; + QList<QList<QVariant> > allFiles() const; + void removeFiles(const QList<QPersistentModelIndex> &files); + bool changeMappings(const QList<int> &fileIds, const QList<int> &mappingIds); + QList<MappingData> mappingDataFromFile(int fileId) const; + QList<MappingData> mappingDataFromFiles(const QList<int> fileIds) const; + + public slots: + void populate(); + + private: + QList<int> mappingPIdsFromFiles(QList<int> fileIds) const; + QSqlDatabase mDb; + MappingTreeModel *mMappingTreeModel; + QString mPopulateQS; + QString mMappingsQS; + QSqlQuery *mDeleteFileQ; + QSqlQuery *mDeleteMappingsQ; + QSqlQuery *mAddMappingsQ; + QList<int> mMappingIds; +}; + +#endif // PICFILESMODEL_H |