Welcome mode: Base on QScrollArea.

to able to scroll long lists again.
This commit is contained in:
Friedemann Kleint
2010-04-16 12:37:47 +02:00
parent 2128669052
commit 577057d2a9
5 changed files with 17 additions and 8 deletions

View File

@@ -35,7 +35,6 @@
#include <QtGui/QVBoxLayout> #include <QtGui/QVBoxLayout>
#include <QtGui/QMouseEvent> #include <QtGui/QMouseEvent>
#include <QtGui/QResizeEvent> #include <QtGui/QResizeEvent>
#include <QtGui/QImage>
enum { leftContentsMargin = 2, enum { leftContentsMargin = 2,
topContentsMargin = 2, topContentsMargin = 2,
@@ -241,14 +240,24 @@ WelcomeModeTreeWidgetPrivate::WelcomeModeTreeWidgetPrivate() :
itemLayout(new QVBoxLayout) itemLayout(new QVBoxLayout)
{ {
layout->setMargin(0); layout->setMargin(0);
itemLayout->setMargin(0);
} }
WelcomeModeTreeWidget::WelcomeModeTreeWidget(QWidget *parent) : 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->addLayout(m_d->itemLayout);
m_d->layout->addSpacerItem(new QSpacerItem(0, 0, QSizePolicy::Ignored, QSizePolicy::MinimumExpanding)); 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() WelcomeModeTreeWidget::~WelcomeModeTreeWidget()

View File

@@ -32,7 +32,7 @@
#include "utils_global.h" #include "utils_global.h"
#include <QtGui/QTreeWidget> #include <QtGui/QScrollArea>
#include <QtGui/QLabel> #include <QtGui/QLabel>
namespace Utils { namespace Utils {
@@ -53,7 +53,7 @@ private:
}; };
// WelcomeModeTreeWidget: Show an itemized list with arrows and emits a signal on click. // 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 Q_OBJECT
public: public:

View File

@@ -166,7 +166,7 @@
<customwidgets> <customwidgets>
<customwidget> <customwidget>
<class>Utils::WelcomeModeTreeWidget</class> <class>Utils::WelcomeModeTreeWidget</class>
<extends>QWidget</extends> <extends>QScrollArea</extends>
<header location="global">utils/welcomemodetreewidget.h</header> <header location="global">utils/welcomemodetreewidget.h</header>
</customwidget> </customwidget>
<customwidget> <customwidget>

View File

@@ -340,7 +340,7 @@
<customwidgets> <customwidgets>
<customwidget> <customwidget>
<class>Utils::WelcomeModeTreeWidget</class> <class>Utils::WelcomeModeTreeWidget</class>
<extends>QWidget</extends> <extends>QScrollArea</extends>
<header location="global">utils/welcomemodetreewidget.h</header> <header location="global">utils/welcomemodetreewidget.h</header>
</customwidget> </customwidget>
<customwidget> <customwidget>

View File

@@ -105,7 +105,7 @@
<customwidgets> <customwidgets>
<customwidget> <customwidget>
<class>Utils::WelcomeModeTreeWidget</class> <class>Utils::WelcomeModeTreeWidget</class>
<extends>QWidget</extends> <extends>QScrollArea</extends>
<header location="global">utils/welcomemodetreewidget.h</header> <header location="global">utils/welcomemodetreewidget.h</header>
</customwidget> </customwidget>
<customwidget> <customwidget>