diff options
-rw-r--r-- | filesystemwidget.cpp | 2 | ||||
-rw-r--r-- | pictureviewer2.cpp | 19 | ||||
-rw-r--r-- | pictureviewer2.h | 2 |
3 files changed, 18 insertions, 5 deletions
diff --git a/filesystemwidget.cpp b/filesystemwidget.cpp index eadbac8..461780f 100644 --- a/filesystemwidget.cpp +++ b/filesystemwidget.cpp @@ -223,6 +223,8 @@ void FilesystemWidget::fileViewActivated(const QModelIndex &idx){ mPicViewer->setShowMappingItem(false); mPicViewer->setShowMarkItem(true); selectAllPV(); + QFileInfo fi(path); + mPicViewer->setCurrentDir(fi.absolutePath()); mPicViewer->selectPic(path); return; } diff --git a/pictureviewer2.cpp b/pictureviewer2.cpp index dbb1763..7a8e2b2 100644 --- a/pictureviewer2.cpp +++ b/pictureviewer2.cpp @@ -317,15 +317,24 @@ void PictureViewer2::deleteCurrent(){ } void PictureViewer2::showNewPicsDialog(){ - if(mMarkedFiles.isEmpty()){ - return; - } mNewPicsDlg->clearFiles(); QStringList fileList; - foreach(QVariantList v, mMarkedFiles){ - fileList << v.at(PicFilesModel::FullPath).toString();; + if(mMarkedFiles.isEmpty()){ + if(!mCurrentDir.isEmpty()){ + QDir d(mCurrentDir); + foreach(QFileInfo fi, d.entryInfoList()){ + fileList << fi.absoluteFilePath(); + } + }else{ + return; + } + }else{ + foreach(QVariantList v, mMarkedFiles){ + fileList << v.at(PicFilesModel::FullPath).toString(); + } } mNewPicsDlg->addFiles(fileList); + mNewPicsDlg->move(0, 20); mNewPicsDlg->exec(); } diff --git a/pictureviewer2.h b/pictureviewer2.h index 99405e0..c9c7688 100644 --- a/pictureviewer2.h +++ b/pictureviewer2.h @@ -45,6 +45,7 @@ class PictureViewer2 : public QGraphicsView { void setShowInfoItem(bool show) { mShowInfoItem = show; } void setShowMappingItem(bool show) { mShowMappingItem = show; } void setShowMarkItem(bool show) { mShowMarkItem = show; } + void setCurrentDir(const QString &curDir) { mCurrentDir = curDir; } const PicDataList marked() { return mMarkedFiles; } PicData picData(const QString &fullPath); virtual QSize sizeHint() const; @@ -115,6 +116,7 @@ class PictureViewer2 : public QGraphicsView { bool mShowInfoItem; bool mShowMappingItem; bool mShowMarkItem; + QString mCurrentDir; }; class PictureViewer2Item : public QGraphicsItem { |