From 7ad391f932c9ec33cccf49eff8996ccaf2d303d5 Mon Sep 17 00:00:00 2001 From: Arno Date: Thu, 24 Jun 2010 21:26:44 +0200 Subject: Made FilesTreeWidget work It wasn't as easy as I thought. Quite big changes: 1. I changed the query for setIds in FilesTreeModel. Initially it executed a database query for every id. Changed it to WHERE seriespart_id IN (ids). I didn't have a chance to test the first version, but this one is blazing fast. 2. Fixed a recursio ad infinitum in FilesTreeModel. This happens if you call data() from data(). Either use the *item or use a role different from what you've been called. 3. Introduce a new function in SeriesTreeModel: QList childrenColumnList. It returns a QList from the children values of the given column. 4. Lot's of UI changes. Hide unneded columns, align the remaining ones properly. What doesn't work: we can't let the database do the sorting of files. We need a proxy for this. --- seriestreemodel.h | 1 + 1 file changed, 1 insertion(+) (limited to 'seriestreemodel.h') diff --git a/seriestreemodel.h b/seriestreemodel.h index 6d88535..67be97c 100644 --- a/seriestreemodel.h +++ b/seriestreemodel.h @@ -29,6 +29,7 @@ class SeriesTreeModel : public SmTreeModel { Qt::ItemFlags flags(const QModelIndex &index) const; QVariant data(const QModelIndex &index, int role) const; bool setData(const QModelIndex &index, const QVariant &value, int role); + QList childrenColumnList(const QModelIndex &parent, int column) const; //find QModelIndex findValue(const QVariant &value, const QModelIndex &parent = QModelIndex(), int column = 0) const; -- cgit v1.2.3-70-g09d2