summaryrefslogtreecommitdiffstats
path: root/pictureviewer2.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'pictureviewer2.cpp')
-rw-r--r--pictureviewer2.cpp50
1 files changed, 31 insertions, 19 deletions
diff --git a/pictureviewer2.cpp b/pictureviewer2.cpp
index f397b57..848fd00 100644
--- a/pictureviewer2.cpp
+++ b/pictureviewer2.cpp
@@ -120,8 +120,11 @@ void PictureViewer2::readSettings(){
QVariant t = s.value("ui/pvbgcolor");
mBgColor = t.value<QColor>();
mShowInfoItem = s.value("ui/showinfoitem").toBool();
- mConfigPos = s.value("ui/infoposition").toInt();
+ mConfigInfoPos = s.value("ui/infoposition").toInt();
mInfoPos = s.value("ui/pvinfopos", QPointF(20, 20)).toPointF();
+ mShowMapItem = s.value("ui/showmapitem").toBool();
+ mConfigMapPos = s.value("ui/mappingposition").toInt();
+ mMappingPos = s.value("ui/pvmappingpos", QPointF(20, 20)).toPointF();
}
void PictureViewer2::writeSettings(){
@@ -217,7 +220,15 @@ void PictureViewer2::showFile(const PicData &file){
mFnItem = 0;
}
}
- constructMappingItem(file);
+ if(mShowMapItem){
+ constructMappingItem(file);
+ }else{
+ if(mMappingItem){
+ mScene->removeItem(mMappingItem);
+ delete mMappingItem;
+ mMappingItem = 0;
+ }
+ }
}
void PictureViewer2::constructInfoItem(const PicData &data, QSize picSize){
@@ -227,7 +238,7 @@ void PictureViewer2::constructInfoItem(const PicData &data, QSize picSize){
delete mFnItem;
}
mFnItem = new PictureViewer2Item(data, mFiles.size(), picSize);
- mFnItem->setPos(getPos(mFnItem->boundingRect()));
+ mFnItem->setPos(getPos(mFnItem, mConfigInfoPos, mInfoPos));
mScene->addItem(mFnItem);
}
@@ -247,10 +258,12 @@ void PictureViewer2::constructMappingItem(const PicData &file){
}
QTextDocument *mapString = treeToString(mappingTree);
mMappingItem = new PictureViewer2Item(mapString);
- if(mFnItem){
- QPointF fnRect = mFnItem->scenePos();
- QPointF myPos = QPointF(fnRect.x(), fnRect.y() + mFnItem->boundingRect().height() + 10);
- mMappingItem->setPos(myPos);
+ if(mConfigMapPos != ConfigurationDialog::SideBySide){
+ mMappingItem->setPos(getPos(mMappingItem, mConfigMapPos, mMappingPos));
+ }else{
+ if(!mShowInfoItem){
+ return;
+ }
}
mScene->addItem(mMappingItem);
}
@@ -311,26 +324,26 @@ void PictureViewer2::treeToStringRecursive(const SmTreeItem *parent, QTextCursor
}
}
-QPointF PictureViewer2::getPos(const QRectF &boundingRect) const{
+QPointF PictureViewer2::getPos(PictureViewer2Item *item, int pos, const QPointF &movPos){
QSizeF curSize = size();
- mFnItem->setFlags(0);
- if(mConfigPos == ConfigurationDialog::TopLeft){
+ item->setFlags(0);
+ if(pos == ConfigurationDialog::TopLeft){
return QPointF(5, 5);
}
- int rightOffset = curSize.width() - 15 - boundingRect.width();
- int bottomOffset = curSize.height() - 15 - boundingRect.height();
- if(mConfigPos == ConfigurationDialog::TopRight){
+ int rightOffset = curSize.width() - 15 - item->boundingRect().width();
+ int bottomOffset = curSize.height() - 15 - item->boundingRect().height();
+ if(pos == ConfigurationDialog::TopRight){
return QPointF(rightOffset, 5);
}
- if(mConfigPos == ConfigurationDialog::BottomLeft){
+ if(pos == ConfigurationDialog::BottomLeft){
return QPointF(5, bottomOffset);
}
- if(mConfigPos == ConfigurationDialog::BottomRigth){
+ if(pos == ConfigurationDialog::BottomRigth){
return QPointF(rightOffset, bottomOffset);
}
- if(mConfigPos == ConfigurationDialog::Moveable){
- mFnItem->setFlags(QGraphicsItem::ItemIsSelectable | QGraphicsItem::ItemIsMovable);
- return mInfoPos;
+ if(pos == ConfigurationDialog::Moveable){
+ item->setFlags(QGraphicsItem::ItemIsSelectable | QGraphicsItem::ItemIsMovable);
+ return movPos;
}
return QPointF(5, 5);
}
@@ -352,7 +365,6 @@ PictureViewer2Item::PictureViewer2Item(const PicData &data, const int numSelecte
textList << data.at(PicFilesModel::MimeType).toString();
textList << QString(QObject::tr("%1 files selected")).arg(QString::number(numSelected));
mText = QStaticText(textList.join("<br/>"));
- //setFlags(QGraphicsItem::ItemIsSelectable | QGraphicsItem::ItemIsMovable);
setZValue(1);
}