From 7b7d9ea7546c57ded0231cde79cc2ae45c2aa4d3 Mon Sep 17 00:00:00 2001 From: Lasse Holmstedt <lasse.holmstedt@nokia.com> Date: Wed, 28 Jul 2010 15:44:39 +0200 Subject: [PATCH] QML Observer: Fixed issues with resizing and changed splitter to widget --- src/tools/qml/qmlobserver/qmlruntime.cpp | 27 ++++++++++++------------ src/tools/qml/qmlobserver/qmlruntime.h | 2 +- 2 files changed, 14 insertions(+), 15 deletions(-) diff --git a/src/tools/qml/qmlobserver/qmlruntime.cpp b/src/tools/qml/qmlobserver/qmlruntime.cpp index 0e44675aec1..bfa26c4478d 100644 --- a/src/tools/qml/qmlobserver/qmlruntime.cpp +++ b/src/tools/qml/qmlobserver/qmlruntime.cpp @@ -65,7 +65,6 @@ #include <private/qabstractanimation_p.h> #include <private/qdeclarativeengine_p.h> -#include <QSplitter> #include <QSettings> #include <QXmlStreamReader> #include <QBuffer> @@ -550,8 +549,8 @@ QDeclarativeViewer::QDeclarativeViewer(QWidget *parent, Qt::WindowFlags flags) , m_scriptOptions(0) , tester(0) , useQmlFileBrowser(true) + , m_centralWidget(0) , translator(0) - , m_splitter(0) { QDeclarativeViewer::registerTypes(); setWindowTitle(tr("Qt QML Viewer")); @@ -588,17 +587,14 @@ QDeclarativeViewer::QDeclarativeViewer(QWidget *parent, Qt::WindowFlags flags) canvas = new QmlViewer::QDeclarativeDesignView(this); addToolBar(Qt::TopToolBarArea, canvas->toolbar()); - m_splitter = new QSplitter(this); - m_splitter->setOrientation(Qt::Vertical); - m_splitter->addWidget(canvas->crumblePathWidget()); + m_centralWidget = new QWidget(this); + QVBoxLayout *layout = new QVBoxLayout(m_centralWidget); + layout->setMargin(0); + layout->setSpacing(0); + layout->addWidget(canvas->crumblePathWidget()); + layout->addWidget(canvas); canvas->crumblePathWidget()->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Minimum); - m_splitter->addWidget(canvas); - m_splitter->setHandleWidth(1); - m_splitter->setStretchFactor(0, 0); - m_splitter->setStretchFactor(0, 1000); - m_splitter->setCollapsible(0, false); - m_splitter->setCollapsible(1, false); - m_splitter->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); + m_centralWidget->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding); //canvas->setSizePolicy(Qt:); canvas->setAttribute(Qt::WA_OpaquePaintEvent); @@ -621,7 +617,7 @@ QDeclarativeViewer::QDeclarativeViewer(QWidget *parent, Qt::WindowFlags flags) setMenuBar(0); } - setCentralWidget(m_splitter); + setCentralWidget(m_centralWidget); namFactory = new NetworkAccessManagerFactory; canvas->engine()->setNetworkAccessManagerFactory(namFactory); @@ -1422,11 +1418,11 @@ void QDeclarativeViewer::updateSizeHints(bool initial) QSize newWindowSize = initial ? initialSize : canvas->sizeHint(); //qWarning() << "USH:" << (initial ? "INIT:" : "V2R:") << "setting fixed size " << newWindowSize; if (!isFullScreen() && !isMaximized()) { + m_centralWidget->setFixedSize(newWindowSize.width(), newWindowSize.height() + 32); canvas->setFixedSize(newWindowSize); resize(1, 1); layout()->setSizeConstraint(QLayout::SetFixedSize); layout()->activate(); - } } //qWarning() << "USH: R2V: setting free size "; @@ -1437,6 +1433,9 @@ void QDeclarativeViewer::updateSizeHints(bool initial) canvas->setMinimumSize(QSize(0,0)); canvas->setMaximumSize(QSize(QWIDGETSIZE_MAX, QWIDGETSIZE_MAX)); + m_centralWidget->setMinimumSize(QSize(0,0)); + m_centralWidget->setMaximumSize(QSize(QWIDGETSIZE_MAX, QWIDGETSIZE_MAX)); + isRecursive = false; } diff --git a/src/tools/qml/qmlobserver/qmlruntime.h b/src/tools/qml/qmlobserver/qmlruntime.h index b4d9523e7ab..b63a17f4bb8 100644 --- a/src/tools/qml/qmlobserver/qmlruntime.h +++ b/src/tools/qml/qmlobserver/qmlruntime.h @@ -201,7 +201,7 @@ private: bool useQmlFileBrowser; - QSplitter *m_splitter; + QWidget *m_centralWidget; QTranslator *translator; void loadTranslationFile(const QString& directory); -- GitLab