diff options
author | Arno <am@disconnect.de> | 2012-10-20 05:16:11 +0200 |
---|---|---|
committer | Arno <am@disconnect.de> | 2012-10-20 05:16:11 +0200 |
commit | 613dbbd9cb9efc2d227fc69491b4fb1ed6693f85 (patch) | |
tree | 4b537018c313222ae4fd5e30828eb94d22d3eba0 | |
parent | ced9f7441babc82d4d45408b13eb4d9f7345af4e (diff) | |
download | SheMov-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.cpp | 11 |
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()); |