diff options
Diffstat (limited to 'pictureviewer2.cpp')
-rw-r--r-- | pictureviewer2.cpp | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/pictureviewer2.cpp b/pictureviewer2.cpp index fcdf4b7..7033a52 100644 --- a/pictureviewer2.cpp +++ b/pictureviewer2.cpp @@ -418,7 +418,15 @@ void PictureViewer2::showFile(const PicData &file){ mCurPicData = file; QPixmap pixmap(file.at(PicFilesModel::FullPath).toString()); if(pixmap.isNull()){ - pixmap = QPixmap(mDefaultFile); + mCurPicData = Helper::convertToPng(file); + mFiles[mCurPos] = mCurPicData; + if(mCurPicData.isEmpty()){ + return; + } + pixmap = QPixmap(mCurPicData.at(3).toString()); + if(pixmap.isNull()){ + pixmap = QPixmap(mDefaultFile); + } } if(mUseGradient){ setGradient(pixmap); @@ -441,7 +449,7 @@ void PictureViewer2::showFile(const PicData &file){ mCur->setPos(picRect.topLeft()); setWindowTitle(constructWindowTitle()); if(mConfigInfoPos != ConfigurationDialog::NoDisplay && mShowInfoItem){ - constructInfoItem(file, pixmap.size()); + constructInfoItem(mCurPicData, pixmap.size()); }else{ if(mFnItem){ mScene->removeItem(mFnItem); @@ -450,7 +458,7 @@ void PictureViewer2::showFile(const PicData &file){ } } if(mConfigMapPos != ConfigurationDialog::NoDisplay && mShowMappingItem){ - constructMappingItem(file); + constructMappingItem(mCurPicData); }else{ if(mMappingItem){ mScene->removeItem(mMappingItem); |