summaryrefslogtreecommitdiffstats
path: root/pictureviewer2.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'pictureviewer2.cpp')
-rw-r--r--pictureviewer2.cpp22
1 files changed, 15 insertions, 7 deletions
diff --git a/pictureviewer2.cpp b/pictureviewer2.cpp
index a722bbb..189cf80 100644
--- a/pictureviewer2.cpp
+++ b/pictureviewer2.cpp
@@ -344,6 +344,7 @@ void PictureViewer2::readSettings(){
mScene->setSceneRect(QRectF(0, 0, width(), height()));
mCursorOffset = s.value("ui/cursoroffset").toInt();
mScene->setCursorOffset(mCursorOffset);
+ mArchiveDir = s.value("paths/archivedir").toString();
showFile(mCurPicData);
}
@@ -578,22 +579,26 @@ void PictureViewer2::showFile(const PicData &file){
return;
}
mCurPicData = file;
+ bool converted = false;
QFileInfo fi(file.at(PicFilesModel::FullPath).toString());
if(!fi.exists()){
return;
}
QPixmap pixmap(file.at(PicFilesModel::FullPath).toString());
if(pixmap.isNull()){
- mCurPicData = Helper::convertToPng(file);
- mFiles[mCurPos] = mCurPicData;
- if(mCurPicData.isEmpty()){
- return;
+ if(fi.canonicalFilePath().startsWith(mArchiveDir)){
+ mCurPicData = Helper::convertArchivefileToPng(file);
+ mFiles[mCurPos] = mCurPicData;
+ if(!mCurPicData.isEmpty()){
+ pixmap = QPixmap(mCurPicData.at(3).toString());
+ converted = true;
+ }
}
- pixmap = QPixmap(mCurPicData.at(3).toString());
if(pixmap.isNull()){
pixmap = QPixmap(mDefaultFile);
}
}
+
if(mUseGradient){
setGradient(pixmap);
}else{
@@ -615,7 +620,7 @@ void PictureViewer2::showFile(const PicData &file){
mCur->setPos(picRect.topLeft());
setWindowTitle(constructWindowTitle());
if(mConfigInfoPos != ConfigurationDialog::NoDisplay && mShowInfoItem){
- constructInfoItem(mCurPicData, pixmap.size());
+ constructInfoItem(mCurPicData, pixmap.size(), converted);
}else{
if(mFnItem){
mScene->removeItem(mFnItem);
@@ -634,7 +639,7 @@ void PictureViewer2::showFile(const PicData &file){
}
}
-void PictureViewer2::constructInfoItem(const PicData &data, QSize picSize){
+void PictureViewer2::constructInfoItem(const PicData &data, QSize picSize, bool converted){
if(mFnItem){
mInfoPos = mFnItem->scenePos();
mScene->removeItem(mFnItem);
@@ -652,6 +657,9 @@ void PictureViewer2::constructInfoItem(const PicData &data, QSize picSize){
mFnItem->appendText("<span style=\"color:red\">not marked</span>");
}
}
+ if(converted){
+ mFnItem->appendText("<span style=\"color:red\">converted!</span>");
+ }
mFnItem->setPos(getPos(mFnItem, mConfigInfoPos, mInfoPos));
mScene->addItem(mFnItem);
}