From c37164306b1cf713e63d607fa1d1e866a5bbaa12 Mon Sep 17 00:00:00 2001 From: Arno Date: Fri, 19 Oct 2012 16:03:17 +0200 Subject: Keep current Pic when adding files to PicViewer2 Try to get the position of the current picture after adding and clearing the file list of PictureViewer2. While thinking of using std::find for this I realized that the operator()-functions in Helper:: weren't used any more, so remove them and the includes. --- helper.cpp | 8 -------- helper.h | 8 -------- mappingtreemodel.cpp | 3 --- mappingtreewidget.cpp | 2 -- pictureviewer2.cpp | 16 +++++++++++++--- 5 files changed, 13 insertions(+), 24 deletions(-) diff --git a/helper.cpp b/helper.cpp index f83b2f7..6c8a406 100644 --- a/helper.cpp +++ b/helper.cpp @@ -203,14 +203,6 @@ namespace Helper { return QString::fromAscii(colString); } - bool SortFileInfoList::operator ()(const QFileInfo &lhs, const QFileInfo &rhs) const { - return lhs.fileName().toLower() < rhs.fileName().toLower(); - } - - bool FileInfoListContains::operator ()(const QFileInfo &info, const QString &file) const { - return info.fileName() == file; - } - void centerWidget(QWidget *widget){ QRect widgetRect = widget->rect(); widgetRect.moveCenter(qApp->desktop()->screenGeometry().center()); diff --git a/helper.h b/helper.h index 8a1f0d4..b000026 100644 --- a/helper.h +++ b/helper.h @@ -29,14 +29,6 @@ namespace Helper { QVariant bytesFromUnit(QVariant number, const QString unit); const QStringList toStringList(const QList &list); const QString colorToHtml(const QColor &color); - class SortFileInfoList : public std::binary_function { - public: - bool operator()(const QFileInfo &lhs, const QFileInfo &rhs) const; - }; - class FileInfoListContains : public std::binary_function { - public: - bool operator()(const QFileInfo &info, const QString &file) const; - }; void centerWidget(QWidget *widget); } diff --git a/mappingtreemodel.cpp b/mappingtreemodel.cpp index 7817c96..07e3a24 100644 --- a/mappingtreemodel.cpp +++ b/mappingtreemodel.cpp @@ -9,8 +9,6 @@ #include #include -#include - #include "mappingtreemodel.h" #include "smtreeitem.h" @@ -38,7 +36,6 @@ MappingTreeModel::MappingTreeModel(QStringList &headers, QObject *parent) : SmTr mAddParentQ = new QSqlQuery(mDb); mAddParentQ->prepare("INSERT INTO mappings_parents2 (imapping_id, iparent_id) VALUES(:id, :parentid)"); mUpdateParentQ = new QSqlQuery(mDb); - //mUpdateParentQ->prepare("UPDATE mappings_parents SET iparent_id = :pid WHERE imapping_id = :id"); mUpdateParentQ->prepare("UPDATE mappings_parents2 SET iparent_id = :id where imappings_parents_id = :sid"); mDeleteMappingParentQ = new QSqlQuery(mDb); mDeleteMappingParentQ->prepare("DELETE FROM mappings_parents2 WHERE imappings_parents_id = :id"); diff --git a/mappingtreewidget.cpp b/mappingtreewidget.cpp index 305bb41..31a7c8e 100644 --- a/mappingtreewidget.cpp +++ b/mappingtreewidget.cpp @@ -22,8 +22,6 @@ #include #include -#include - #include "mappingtreewidget.h" #include "mappingtreemodel.h" #include "smglobals.h" diff --git a/pictureviewer2.cpp b/pictureviewer2.cpp index ae18a0c..eee61ab 100644 --- a/pictureviewer2.cpp +++ b/pictureviewer2.cpp @@ -73,10 +73,13 @@ PictureViewer2::PictureViewer2(QWidget *parent) : QGraphicsView(parent), mCur(0) } void PictureViewer2::addFiles(const PicDataList &files, bool clear){ + if(files.isEmpty()){ + return; + } + QVariant curMd5 = mFiles.at(mCurPos).at(PicFilesModel::Md5Sum); if(clear){ - mFiles.clear(); mFiles = files; - mCurPos = 0; + }else{ foreach(const PicData &f, files){ if(!mFiles.contains(f)){ @@ -84,7 +87,14 @@ void PictureViewer2::addFiles(const PicDataList &files, bool clear){ } } } - if(!mCurPos >= mFiles.size()){ + mCurPos = 0; + for(int i = 0; i < mFiles.size(); ++i){ + if(mFiles.at(i).at(PicFilesModel::Md5Sum) == curMd5){ + mCurPos = i; + break; + } + } + if(mCurPos < mFiles.size()){ showFile(mFiles.at(mCurPos)); }else{ showFile(mFiles.at(0)); -- cgit v1.2.3-70-g09d2