From dc7cc269a4fffe43bdac2ae2dc6548fbd1e3bb5e Mon Sep 17 00:00:00 2001 From: Arno Date: Sat, 27 Oct 2012 13:02:16 +0200 Subject: Fix archiving pictures Well, what can I say. Lost in recursion and parent pointers. This commit actually boils down to using the proper database tables and inserting the right values. 'Nuff said... --- mappingtreemodel.h | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) (limited to 'mappingtreemodel.h') diff --git a/mappingtreemodel.h b/mappingtreemodel.h index 38c0c7b..a4a1ae8 100644 --- a/mappingtreemodel.h +++ b/mappingtreemodel.h @@ -96,16 +96,16 @@ class MappingTreeModel : public SmTreeModel { class MappingTreeResultModel : public SmTreeModel { Q_OBJECT public: - enum Roles { NameRole = Qt::UserRole + 1, IdRole = Qt::UserRole + 2 }; - enum Fields { Name = 0, Id = 1 }; - enum { NumFields = 2 }; + enum Roles { NameRole = Qt::UserRole + 1, MappingIdRole = Qt::UserRole + 2, ParentIdRole = Qt::UserRole + 3, MyIdRole = Qt::UserRole + 4 }; + enum Fields { Name = 0, MappingId = 1, ParentId = 2, MyId = 3 }; + enum { NumFields = 4 }; explicit MappingTreeResultModel(const QStringList &headers, QObject *parent = 0); //data + flags Qt::ItemFlags flags(const QModelIndex &index) const; bool setData(const QModelIndex &index, const QVariant &value, int role); - QModelIndex insertChild(const QVariant &data, int id, SmTreeItem *parent); - QList mappingsIds() const; + QModelIndex insertChild(const QVariant &data, int mappingId, int parentId, int myId, SmTreeItem *parent); + QList columnValues(int column) const; void clearData(); public slots: @@ -113,11 +113,13 @@ class MappingTreeResultModel : public SmTreeModel { private: int hasChild(SmTreeItem *item, const QVariant &name, int column = 0) const; - QList mappingIdsRecursive(SmTreeItem *parent) const; + QList columnValuesRecursive(SmTreeItem *parent, int column) const; }; struct MappingData { - int id; + int mappingId; + int parentId; + int myId; QString name; QList path; }; -- cgit v1.2.3-70-g09d2