summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArno <am@disconnect.de>2012-09-22 08:10:44 +0200
committerArno <am@disconnect.de>2012-09-22 08:10:44 +0200
commitb71d36c02bcb5c93bfaf97ccab4b1e99a44b782b (patch)
tree1015f397f805069d3eda6b8ea3832ab7c1bf3824
parentf2b80db9c4dd18e59f8b606e113d9f15cd891c5d (diff)
downloadSheMov-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.cpp6
-rw-r--r--mappingtreemodel.h4
-rw-r--r--mappingtreewidget.cpp2
-rw-r--r--pictureswidget.cpp10
-rw-r--r--pictureswidget.h4
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