summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArno <am@disconnect.de>2012-10-19 16:03:17 +0200
committerArno <am@disconnect.de>2012-10-19 16:03:17 +0200
commitc37164306b1cf713e63d607fa1d1e866a5bbaa12 (patch)
tree0b34ae8337a5d36f0a0cf0e79fffaefc39ebbae0
parentb185254de61a7b6497d480339a9a38ff94a2cd87 (diff)
downloadSheMov-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.cpp8
-rw-r--r--helper.h8
-rw-r--r--mappingtreemodel.cpp3
-rw-r--r--mappingtreewidget.cpp2
-rw-r--r--pictureviewer2.cpp16
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<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));