From bfe87ae31af8398d3bc0bf26a7dac3dbdecec569 Mon Sep 17 00:00:00 2001 From: Arno Date: Sat, 6 Jun 2015 07:36:39 +0200 Subject: Resize PictureViewer2 Make it possible to resize the PictureViewer2 and get rid of fixed size. Also, make sure that the current picture is redrawn when we get a resize event. --- pictureviewer2.cpp | 24 +++++++++--------------- 1 file changed, 9 insertions(+), 15 deletions(-) (limited to 'pictureviewer2.cpp') diff --git a/pictureviewer2.cpp b/pictureviewer2.cpp index f49b23f..3f8c8ff 100644 --- a/pictureviewer2.cpp +++ b/pictureviewer2.cpp @@ -42,11 +42,9 @@ const QString PictureViewer2::mDefaultFile = ":/picgone.png"; PictureViewer2::PictureViewer2(QWidget *parent) : QGraphicsView(parent), mCur(0), mCurPos(0), mFnItem(0), mMappingItem(0), mShowInfoItem(true), mShowMappingItem(true), mShowMarkItem(false) { - //behave like QDialog, but don't be one... - setWindowFlags(QFlags(0x1|0x2|0x1000|0x2000|0x10000|0x8000000)); setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); - setSizePolicy(QSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed)); + setWindowState(Qt::WindowMaximized); //initial file list PicData initialData; @@ -69,8 +67,7 @@ PictureViewer2::PictureViewer2(QWidget *parent) : QGraphicsView(parent), mCur(0) mScene = new QGraphicsScene(this); setScene(mScene); readSettings(); - setVisible(false); - mScene->setSceneRect(QRectF(0, 0, width(), height())); + setMinimumSize(QSize(800, 600)); showFile(mFiles.at(mCurPos)); } @@ -165,10 +162,6 @@ PicData PictureViewer2::picData(const QString &fullPath){ return retval; } -QSize PictureViewer2::sizeHint() const{ - return mSize; -} - void PictureViewer2::next(){ if(mFiles.size() == 0 || mFiles.size() == 1){ return; @@ -235,14 +228,8 @@ void PictureViewer2::readSettings(){ mInfoPos = s.value("ui/pvinfopos", QPointF(20, 20)).toPointF(); mConfigMapPos = s.value("ui/mappingposition").toInt(); mMappingPos = s.value("ui/pvmappingpos", QPointF(20, 20)).toPointF(); - const QSize pvMinSize = SmGlobals::instance()->minPVSize(); - int pvWidth = s.value("ui/pvwidth", pvMinSize.width()).toInt(); - int pvHeight = s.value("ui/pvheight", pvMinSize.height()).toInt(); - mSize = QSize(pvWidth, pvHeight); - resize(mSize); mScene->setSceneRect(QRectF(0, 0, width(), height())); showFile(mCurPicData); - Helper::centerWidget(this); } void PictureViewer2::writeSettings(){ @@ -406,6 +393,7 @@ void PictureViewer2::keyPressEvent(QKeyEvent *e){ void PictureViewer2::showEvent(QShowEvent *e){ mHideA->setChecked(true); + //mSize = size(); QGraphicsView::showEvent(e); } @@ -417,6 +405,11 @@ void PictureViewer2::hideEvent(QHideEvent *e){ QGraphicsView::hideEvent(e); } +void PictureViewer2::resizeEvent(QResizeEvent *event){ + QGraphicsView::resizeEvent(event); + showFile(mCurPicData); +} + void PictureViewer2::showFile(const PicData &file){ if(file.isEmpty()){ return; @@ -439,6 +432,7 @@ void PictureViewer2::showFile(const PicData &file){ delete mCur; mCur = 0; } + mScene->setSceneRect(rect()); mCur = new QGraphicsPixmapItem(pixmap); mScene->addItem(mCur); QRectF picRect = mCur->boundingRect(); -- cgit v1.2.3-70-g09d2