diff options
author | Arno <am@disconnect.de> | 2012-09-22 08:10:44 +0200 |
---|---|---|
committer | Arno <am@disconnect.de> | 2012-09-22 08:10:44 +0200 |
commit | b71d36c02bcb5c93bfaf97ccab4b1e99a44b782b (patch) | |
tree | 1015f397f805069d3eda6b8ea3832ab7c1bf3824 | |
parent | f2b80db9c4dd18e59f8b606e113d9f15cd891c5d (diff) | |
download | SheMov-b71d36c02bcb5c93bfaf97ccab4b1e99a44b782b.tar.gz SheMov-b71d36c02bcb5c93bfaf97ccab4b1e99a44b782b.tar.bz2 SheMov-b71d36c02bcb5c93bfaf97ccab4b1e99a44b782b.zip |
MappingTreeModel Fix: Select pictures from pics_mappings2
Select pictures referencing pics_mappings2 instead of broken
pics_mappings. This just fixes the selection, nothing else!
-rw-r--r-- | mappingtreemodel.cpp | 6 | ||||
-rw-r--r-- | mappingtreemodel.h | 4 | ||||
-rw-r--r-- | mappingtreewidget.cpp | 2 | ||||
-rw-r--r-- | pictureswidget.cpp | 10 | ||||
-rw-r--r-- | pictureswidget.h | 4 |
5 files changed, 16 insertions, 10 deletions
diff --git a/mappingtreemodel.cpp b/mappingtreemodel.cpp index d63ef63..9bb278d 100644 --- a/mappingtreemodel.cpp +++ b/mappingtreemodel.cpp @@ -136,6 +136,9 @@ QVariant MappingTreeModel::data(const QModelIndex &index, int role) const{ if(role == AddedRole){ return item->data(Added); } + if(role == MapParentIdRole){ + return item->data(MapParentId); + } if(role == Qt::ForegroundRole){ if(mSelectedMappings.contains(item)){ return QColor(Qt::blue); @@ -218,6 +221,9 @@ bool MappingTreeModel::setData(const QModelIndex &index, const QVariant &value, if(role == AddedRole){ item->setData(Added, value); } + if(role == MapParentIdRole){ + item->setData(MapParentId, value); + } return true; } diff --git a/mappingtreemodel.h b/mappingtreemodel.h index ce64ba6..4b45f09 100644 --- a/mappingtreemodel.h +++ b/mappingtreemodel.h @@ -20,8 +20,8 @@ class SmTreeItem; class MappingTreeModel : public SmTreeModel { Q_OBJECT public: - enum Roles { NameRole = Qt::UserRole + 1, IdRole = Qt::UserRole + 2, AddedRole = Qt::UserRole + 3, ParentRole = Qt::UserRole + 4 }; - enum Fields { Name = 0, Id = 1, Added = 2, Parent = 3 }; + enum Roles { NameRole = Qt::UserRole + 1, IdRole = Qt::UserRole + 2, AddedRole = Qt::UserRole + 3, MapParentIdRole = Qt::UserRole + 4 }; + enum Fields { Name = 0, Id = 1, Added = 2, MapParentId = 3 }; enum { NumFields = 4 }; MappingTreeModel(QStringList &headers, QObject *parent = 0); ~MappingTreeModel(); diff --git a/mappingtreewidget.cpp b/mappingtreewidget.cpp index cd157a8..e4e9e76 100644 --- a/mappingtreewidget.cpp +++ b/mappingtreewidget.cpp @@ -220,7 +220,7 @@ void MappingTreeWidget::editChild(){ void MappingTreeWidget::selectionChanged(){ QModelIndex sel = selected(); QModelIndex real = mProxy->mapToSource(sel); - emit mappingChanged(real.data(MappingTreeModel::IdRole).toInt()); + emit mappingChanged(real.data(MappingTreeModel::MapParentIdRole).toInt()); } void MappingTreeWidget::moveChild(){ diff --git a/pictureswidget.cpp b/pictureswidget.cpp index 68400af..5562006 100644 --- a/pictureswidget.cpp +++ b/pictureswidget.cpp @@ -142,8 +142,8 @@ PictureView::PictureView(QWidget *parent) : QTreeView(parent) { setColumnHidden(4, true); } -void PictureView::mappingChanged(int mapping){ - mModel->setMapping(mapping); +void PictureView::mappingChanged(int pMapId){ + mModel->setMapping(pMapId); mModel->populate(); for(int i = 0; i < PicFilesModel::NumFields; ++i){ resizeColumnToContents(i); @@ -285,7 +285,7 @@ PicFilesModel::PicFilesModel(const QStringList &headers, QObject *parent) : SmTr //setup database mDb = QSqlDatabase::database("treedb"); - mPopulateQS = QString("SELECT DISTINCT(pics.ipicsid), pics.tfilename, pics.isize, pics.tformat, pics.dtadded, pics.cmd5sum FROM pics, pics_mappings WHERE pics_mappings.imapping_id IN (%1) AND pics_mappings.ipics_id = pics.ipicsid ORDER BY pics.tfilename"); + mPopulateQS = QString("SELECT DISTINCT(pics.ipicsid), pics.tfilename, pics.isize, pics.tformat, pics.dtadded, pics.cmd5sum FROM pics, pics_mappings2 WHERE pics_mappings2.imappings_parents_id IN (%1) AND pics_mappings2.ipics_id = pics.ipicsid ORDER BY pics.tfilename"); mDeleteFileQ = new QSqlQuery(mDb); mDeleteFileQ->prepare("DELETE FROM pics WHERE ipicsid = :id"); mCurMappingIdsQS = QString("SELECT DISTINCT(pics_mappings.imapping_id) FROM pics_mappings, pics WHERE pics_mappings.ipics_id IN (%1)"); @@ -302,8 +302,8 @@ PicFilesModel::~PicFilesModel(){ mDb = QSqlDatabase::database(); } -void PicFilesModel::setMapping(int mappingId){ - QList<QVariant> ids = mMappingTreeModel->childList(mappingId, MappingTreeModel::Id); +void PicFilesModel::setMapping(int pMapId){ + QList<QVariant> ids = mMappingTreeModel->childList(pMapId, MappingTreeModel::MapParentId); mMappingIds.clear(); foreach(QVariant i, ids){ mMappingIds << i.toInt(); diff --git a/pictureswidget.h b/pictureswidget.h index 3d11c80..ae64a94 100644 --- a/pictureswidget.h +++ b/pictureswidget.h @@ -70,7 +70,7 @@ class PictureView : public QTreeView { PictureViewer2 *PV() { return mPV; } public slots: - void mappingChanged(int mapping); + void mappingChanged(int pMapId); void deletePics(); void refresh(); void setPVData(int replace = false); @@ -110,7 +110,7 @@ class PicFilesModel : public SmTreeModel { enum { NumFields = 8 }; explicit PicFilesModel(const QStringList &headers, QObject *parent = 0); ~PicFilesModel(); - void setMapping(int mappingId); + void setMapping(int pMapId); QList<int> mappingIds(const QList<QVariant> &fileIds); //some data |