From 887c2cd696c54af0cd6fdd54950d006626afeacc Mon Sep 17 00:00:00 2001 From: Arno Date: Sun, 30 Sep 2012 04:34:22 +0200 Subject: Foremost a fix for SmTreeModel Not working again, but I eventually have to commit the changes. Fixes to SmTreeModel: * Fix SmTreeModel::index(). The previous comment was quite valid. I'm surprised that it worked at all. I have no clue why to return an invalid QModelIndex if the column isn't 0. Now an index with any valid column number can be created. * Fix SmTreeModel::parent(). Again, why shouldn't we create a parent index with a column other than 0? No idea... * Fix SmTreeModel::headerData(). Add some sanity checks. * Fix SmTreeModel::findRecursive(). Well, what is there to say. It never worked for models with a depth > 1, but obviously it didn't really matter until now. To make it work I had to change SmTreeItem as well. SmTreeItem::next() returns the next valid parent/sibling, or 0 if there isn't one. There may be some fallout from these changes, but they're yet to be seen. Changes to PictureView: * fix selecting an item according to the new datasbase layout * same goes for editing items. If an update actually works has to be checked. Overall, it's an intermediate commit that should have been a sane series of commits. Can't be changed now... --- mappingtreemodel.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'mappingtreemodel.h') diff --git a/mappingtreemodel.h b/mappingtreemodel.h index 4b45f09..f2771c9 100644 --- a/mappingtreemodel.h +++ b/mappingtreemodel.h @@ -40,6 +40,7 @@ class MappingTreeModel : public SmTreeModel { QVariant data(const QModelIndex &index, int role) const; QList childList(const QVariant &value, int column = 0) const; QList mappingsForFile(const QVariant &fileId) const; + QStringList path(QModelIndex &idx) const; QModelIndex indexFromPath(const QString &path, int column = 0) const; bool setData(const QModelIndex &index, const QVariant &value, int role); void move(const QModelIndex &source, const QModelIndex &dest); @@ -48,6 +49,7 @@ class MappingTreeModel : public SmTreeModel { bool addChild(const QVariant &name, const QModelIndex &parent); bool deleteChild(const QModelIndex &idx); int childCount(const QModelIndex &idx) const; + MappingData mappingDataFromIndex(QModelIndex &idx) const; MappingData mappingDataFromId(int mappingId) const; QStringList paths() const; const QString &forbidden() const { return mForbidden; } -- cgit v1.2.3-70-g09d2