diff options
author | Arno <am@disconnect.de> | 2012-10-19 16:03:17 +0200 |
---|---|---|
committer | Arno <am@disconnect.de> | 2012-10-19 16:03:17 +0200 |
commit | c37164306b1cf713e63d607fa1d1e866a5bbaa12 (patch) | |
tree | 0b34ae8337a5d36f0a0cf0e79fffaefc39ebbae0 | |
parent | b185254de61a7b6497d480339a9a38ff94a2cd87 (diff) | |
download | SheMov-c37164306b1cf713e63d607fa1d1e866a5bbaa12.tar.gz SheMov-c37164306b1cf713e63d607fa1d1e866a5bbaa12.tar.bz2 SheMov-c37164306b1cf713e63d607fa1d1e866a5bbaa12.zip |
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 <algorithm> includes.
-rw-r--r-- | helper.cpp | 8 | ||||
-rw-r--r-- | helper.h | 8 | ||||
-rw-r--r-- | mappingtreemodel.cpp | 3 | ||||
-rw-r--r-- | mappingtreewidget.cpp | 2 | ||||
-rw-r--r-- | pictureviewer2.cpp | 16 |
5 files changed, 13 insertions, 24 deletions
@@ -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()); @@ -29,14 +29,6 @@ namespace Helper { QVariant bytesFromUnit(QVariant number, const QString unit); const QStringList toStringList(const QList<QVariant> &list); const QString colorToHtml(const QColor &color); - class SortFileInfoList : public std::binary_function<QFileInfo, QFileInfo, bool> { - public: - bool operator()(const QFileInfo &lhs, const QFileInfo &rhs) const; - }; - class FileInfoListContains : public std::binary_function<QFileInfo, QString, bool> { - 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 <QSqlQuery> #include <QHash> -#include <algorithm> - #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 <QMenu> #include <QSqlError> -#include <algorithm> - #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)); |