summaryrefslogtreecommitdiffstats
path: root/pictureswidget.h
diff options
context:
space:
mode:
authorArno <am@disconnect.de>2012-09-30 04:34:22 +0200
committerArno <am@disconnect.de>2012-09-30 04:34:22 +0200
commit887c2cd696c54af0cd6fdd54950d006626afeacc (patch)
tree2ad296208a7d8e44ac249612dfcd09919e7ba07d /pictureswidget.h
parent5addc8a8ec89c1e354949bcf5c3152fea4fe44b9 (diff)
downloadSheMov-887c2cd696c54af0cd6fdd54950d006626afeacc.tar.gz
SheMov-887c2cd696c54af0cd6fdd54950d006626afeacc.tar.bz2
SheMov-887c2cd696c54af0cd6fdd54950d006626afeacc.zip
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...
Diffstat (limited to 'pictureswidget.h')
-rw-r--r--pictureswidget.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/pictureswidget.h b/pictureswidget.h
index cc1578d..b2da8ea 100644
--- a/pictureswidget.h
+++ b/pictureswidget.h
@@ -28,6 +28,7 @@ class QEvent;
class HoverWindow;
class PictureViewer2;
class QAction;
+struct MappingData;
class PicturesWidget : public QWidget {
Q_OBJECT
@@ -119,14 +120,17 @@ class PicFilesModel : public SmTreeModel {
QList<QList<QVariant> > allFiles() const;
void removeFiles(const QList<QPersistentModelIndex> &files);
bool changeMappings(const QList<int> &fileIds, const QList<int> &mappingIds);
+ 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;