summaryrefslogtreecommitdiffstats
path: root/pictureviewer2.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'pictureviewer2.cpp')
-rw-r--r--pictureviewer2.cpp16
1 files changed, 13 insertions, 3 deletions
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));