diff options
Diffstat (limited to 'pictureviewer2.cpp')
-rw-r--r-- | pictureviewer2.cpp | 16 |
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)); |