summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArno <am@disconnect.de>2012-10-20 05:16:11 +0200
committerArno <am@disconnect.de>2012-10-20 05:16:11 +0200
commit613dbbd9cb9efc2d227fc69491b4fb1ed6693f85 (patch)
tree4b537018c313222ae4fd5e30828eb94d22d3eba0
parentced9f7441babc82d4d45408b13eb4d9f7345af4e (diff)
downloadSheMov-613dbbd9cb9efc2d227fc69491b4fb1ed6693f85.tar.gz
SheMov-613dbbd9cb9efc2d227fc69491b4fb1ed6693f85.tar.bz2
SheMov-613dbbd9cb9efc2d227fc69491b4fb1ed6693f85.zip
Fix centering image on scene
Use Qt-functions for centering pics in PictureViewer2 and fix distance to window borders.
-rw-r--r--pictureviewer2.cpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/pictureviewer2.cpp b/pictureviewer2.cpp
index 2d6c1d9..9aba348 100644
--- a/pictureviewer2.cpp
+++ b/pictureviewer2.cpp
@@ -65,7 +65,7 @@ PictureViewer2::PictureViewer2(QWidget *parent) : QGraphicsView(parent), mCur(0)
setScene(mScene);
readSettings();
setVisible(false);
- mScene->setSceneRect(QRectF(0, 0, width() - 10, height() - 10));
+ mScene->setSceneRect(QRectF(0, 0, width(), height()));
showFile(mFiles.at(mCurPos));
}
@@ -186,7 +186,7 @@ void PictureViewer2::readSettings(){
int pvHeight = s.value("ui/pvheight", pvMinSize.height()).toInt();
mSize = QSize(pvWidth, pvHeight);
resize(mSize);
- mScene->setSceneRect(QRectF(0, 0, width() - 10, height() - 10));
+ mScene->setSceneRect(QRectF(0, 0, width(), height()));
showFile(mCurPicData);
Helper::centerWidget(this);
}
@@ -284,7 +284,7 @@ void PictureViewer2::showFile(const PicData &file){
setBackgroundBrush(QBrush(mBgColor));
}
if((pixmap.height() > height()) || (pixmap.width() > width())){
- pixmap = pixmap.scaled(QSize(width() - 3, height() - 10), Qt::KeepAspectRatio, Qt::SmoothTransformation);
+ pixmap = pixmap.scaled(QSize(width() - 20, height() - 20), Qt::KeepAspectRatio, Qt::SmoothTransformation);
}
if(mCur){
mScene->removeItem(mCur);
@@ -292,9 +292,10 @@ void PictureViewer2::showFile(const PicData &file){
mCur = 0;
}
mCur = new QGraphicsPixmapItem(pixmap);
- float cX = (width() / 2) - (pixmap.width() / 2);
mScene->addItem(mCur);
- mCur->setPos(cX, 0);
+ QRectF picRect = mCur->boundingRect();
+ picRect.moveCenter(rect().center());
+ mCur->setPos(picRect.topLeft());
setWindowTitle(constructWindowTitle());
if(mConfigInfoPos != ConfigurationDialog::NoDisplay){
constructInfoItem(file, pixmap.size());