diff options
author | hjk <qtc-committer@nokia.com> | 2010-05-27 11:11:53 +0200 |
---|---|---|
committer | hjk <qtc-committer@nokia.com> | 2010-05-27 11:11:53 +0200 |
commit | 5805788290ee5a3ac85afe87aa6543e77d51bcdc (patch) | |
tree | 775f8aaf8c5b346ad2be67953e2962ca99fc7d64 /src/plugins/welcome | |
parent | 125aaf861505176a7d8acc8ca36ca0094862785d (diff) | |
parent | 0b52a873bda41c35ab640deadd6f30a3aa903ac7 (diff) |
Merge remote branch 'origin/2.0'
Conflicts:
src/plugins/projectexplorer/miniprojecttargetselector.cpp
src/plugins/qmldesigner/designercore/model/modeltotextmerger.cpp
src/plugins/qmldesigner/designercore/model/rewriteactioncompressor.cpp
src/plugins/qt4projectmanager/qt-maemo/maemosshthread.cpp
src/plugins/qt4projectmanager/qt-maemo/maemosshthread.h
tests/manual/gdbdebugger/simple/app.cpp
Diffstat (limited to 'src/plugins/welcome')
-rw-r--r-- | src/plugins/welcome/welcomemode.cpp | 23 | ||||
-rw-r--r-- | src/plugins/welcome/welcomemode.ui | 6 |
2 files changed, 21 insertions, 8 deletions
diff --git a/src/plugins/welcome/welcomemode.cpp b/src/plugins/welcome/welcomemode.cpp index 31ffc19be2..d13ef68e7c 100644 --- a/src/plugins/welcome/welcomemode.cpp +++ b/src/plugins/welcome/welcomemode.cpp @@ -43,6 +43,7 @@ #include <QtGui/QScrollArea> #include <QtGui/QDesktopServices> #include <QtGui/QToolButton> +#include <QtGui/QPainter> #include <QtCore/QSettings> #include <QtCore/QDebug> @@ -56,6 +57,24 @@ static const char currentPageSettingsKeyC[] = "General/WelcomeTab"; namespace Welcome { +// Helper class introduced to cache the scaled background image +// so we avoid re-scaling for every repaint. +class ImageWidget : public QWidget +{ +public: + ImageWidget(const QPixmap &bg, QWidget *parent) : QWidget(parent), m_bg(bg) {} + void paintEvent(QPaintEvent *e) { + QPainter painter(this); + if (m_stretch.size() != size()) + m_stretch = m_bg.scaled(size(), Qt::IgnoreAspectRatio, Qt::SmoothTransformation); + painter.drawPixmap(rect(), m_stretch); + QWidget::paintEvent(e); + } +private: + QPixmap m_bg; + QPixmap m_stretch; +}; + struct WelcomeModePrivate { typedef QMap<QToolButton*, QWidget*> ToolButtonWidgetMap; @@ -64,7 +83,7 @@ struct WelcomeModePrivate QScrollArea *m_scrollArea; QWidget *m_widget; - QWidget *m_welcomePage; + ImageWidget *m_welcomePage; ToolButtonWidgetMap buttonMap; QHBoxLayout * buttonLayout; Ui::WelcomeMode ui; @@ -79,7 +98,7 @@ WelcomeMode::WelcomeMode() : l->setMargin(0); l->setSpacing(0); l->addWidget(new Utils::StyledBar(m_d->m_widget)); - m_d->m_welcomePage = new QWidget(m_d->m_widget); + m_d->m_welcomePage = new ImageWidget(QPixmap(":/welcome/images/welcomebg.png"), m_d->m_widget); m_d->ui.setupUi(m_d->m_welcomePage); m_d->ui.helpUsLabel->setAttribute(Qt::WA_LayoutUsesWidgetRect); m_d->ui.feedbackButton->setAttribute(Qt::WA_LayoutUsesWidgetRect); diff --git a/src/plugins/welcome/welcomemode.ui b/src/plugins/welcome/welcomemode.ui index e60f8143ad..d91c4d02d7 100644 --- a/src/plugins/welcome/welcomemode.ui +++ b/src/plugins/welcome/welcomemode.ui @@ -75,12 +75,6 @@ QToolButton:pressed, QPushButton:pressed{ </property> <item> <widget class="QWidget" name="gradientWidget" native="true"> - <property name="styleSheet"> - <string notr="true">#gradientWidget { - border-image: url(:/welcome/images/welcomebg.png) 0; -} -</string> - </property> <layout class="QGridLayout" name="gridLayout"> <property name="leftMargin"> <number>0</number> |