From 577057d2a96edc48ad28a1f62285928616bf3d56 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint <Friedemann.Kleint@nokia.com> Date: Fri, 16 Apr 2010 12:37:47 +0200 Subject: [PATCH] Welcome mode: Base on QScrollArea. to able to scroll long lists again. --- src/libs/utils/welcomemodetreewidget.cpp | 15 ++++++++++++--- src/libs/utils/welcomemodetreewidget.h | 4 ++-- .../projectexplorer/projectwelcomepagewidget.ui | 2 +- .../gettingstartedwelcomepagewidget.ui | 2 +- src/plugins/welcome/communitywelcomepagewidget.ui | 2 +- 5 files changed, 17 insertions(+), 8 deletions(-) diff --git a/src/libs/utils/welcomemodetreewidget.cpp b/src/libs/utils/welcomemodetreewidget.cpp index a750aa0b1f1..fb0d6ee83cd 100644 --- a/src/libs/utils/welcomemodetreewidget.cpp +++ b/src/libs/utils/welcomemodetreewidget.cpp @@ -35,7 +35,6 @@ #include <QtGui/QVBoxLayout> #include <QtGui/QMouseEvent> #include <QtGui/QResizeEvent> -#include <QtGui/QImage> enum { leftContentsMargin = 2, topContentsMargin = 2, @@ -241,14 +240,24 @@ WelcomeModeTreeWidgetPrivate::WelcomeModeTreeWidgetPrivate() : itemLayout(new QVBoxLayout) { layout->setMargin(0); + itemLayout->setMargin(0); } WelcomeModeTreeWidget::WelcomeModeTreeWidget(QWidget *parent) : - QWidget(parent), m_d(new WelcomeModeTreeWidgetPrivate) + QScrollArea(parent), m_d(new WelcomeModeTreeWidgetPrivate) { - setLayout(m_d->layout); m_d->layout->addLayout(m_d->itemLayout); m_d->layout->addSpacerItem(new QSpacerItem(0, 0, QSizePolicy::Ignored, QSizePolicy::MinimumExpanding)); + QWidget *contents = new QWidget; + contents->setLayout(m_d->layout); + viewport()->setBackgroundRole(QPalette::Base); // Bright background. + setWidget(contents); + setWidgetResizable(true); + setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded); + setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); + setFrameStyle(QFrame::NoFrame); + setFrameShadow(QFrame::Plain); + setContentsMargins(0, 0, 0, 0); } WelcomeModeTreeWidget::~WelcomeModeTreeWidget() diff --git a/src/libs/utils/welcomemodetreewidget.h b/src/libs/utils/welcomemodetreewidget.h index eae57ade97a..b3f211bcb06 100644 --- a/src/libs/utils/welcomemodetreewidget.h +++ b/src/libs/utils/welcomemodetreewidget.h @@ -32,7 +32,7 @@ #include "utils_global.h" -#include <QtGui/QTreeWidget> +#include <QtGui/QScrollArea> #include <QtGui/QLabel> namespace Utils { @@ -53,7 +53,7 @@ private: }; // WelcomeModeTreeWidget: Show an itemized list with arrows and emits a signal on click. -class QTCREATOR_UTILS_EXPORT WelcomeModeTreeWidget : public QWidget +class QTCREATOR_UTILS_EXPORT WelcomeModeTreeWidget : public QScrollArea { Q_OBJECT public: diff --git a/src/plugins/projectexplorer/projectwelcomepagewidget.ui b/src/plugins/projectexplorer/projectwelcomepagewidget.ui index 98ec7783646..a86740d541a 100644 --- a/src/plugins/projectexplorer/projectwelcomepagewidget.ui +++ b/src/plugins/projectexplorer/projectwelcomepagewidget.ui @@ -166,7 +166,7 @@ <customwidgets> <customwidget> <class>Utils::WelcomeModeTreeWidget</class> - <extends>QWidget</extends> + <extends>QScrollArea</extends> <header location="global">utils/welcomemodetreewidget.h</header> </customwidget> <customwidget> diff --git a/src/plugins/qt4projectmanager/gettingstartedwelcomepagewidget.ui b/src/plugins/qt4projectmanager/gettingstartedwelcomepagewidget.ui index c62a653e6fe..be470d6e593 100644 --- a/src/plugins/qt4projectmanager/gettingstartedwelcomepagewidget.ui +++ b/src/plugins/qt4projectmanager/gettingstartedwelcomepagewidget.ui @@ -340,7 +340,7 @@ <customwidgets> <customwidget> <class>Utils::WelcomeModeTreeWidget</class> - <extends>QWidget</extends> + <extends>QScrollArea</extends> <header location="global">utils/welcomemodetreewidget.h</header> </customwidget> <customwidget> diff --git a/src/plugins/welcome/communitywelcomepagewidget.ui b/src/plugins/welcome/communitywelcomepagewidget.ui index 488119ca4ab..390d16b7143 100644 --- a/src/plugins/welcome/communitywelcomepagewidget.ui +++ b/src/plugins/welcome/communitywelcomepagewidget.ui @@ -105,7 +105,7 @@ <customwidgets> <customwidget> <class>Utils::WelcomeModeTreeWidget</class> - <extends>QWidget</extends> + <extends>QScrollArea</extends> <header location="global">utils/welcomemodetreewidget.h</header> </customwidget> <customwidget> -- GitLab