diff options
author | Denis Mingulov <denis.mingulov@gmail.com> | 2010-09-20 15:39:46 +0200 |
---|---|---|
committer | Daniel Molkentin <daniel.molkentin@nokia.com> | 2010-09-20 15:39:55 +0200 |
commit | 1896a9a169d6a23450f1b00a006dac129892fda1 (patch) | |
tree | 5a12e2dba2918e54a234985723bd24dc7b257be5 /src/plugins/welcome | |
parent | 7e91a81ed1763077c8486762a3b5ad16d716d2a0 (diff) |
UX Improvement: speed up Welcome plugin loading (initializePlugin)
Merge-request: 178
Reviewed-by: Daniel Molkentin <daniel.molkentin@nokia.com>
Diffstat (limited to 'src/plugins/welcome')
-rw-r--r-- | src/plugins/welcome/welcomemode.cpp | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/src/plugins/welcome/welcomemode.cpp b/src/plugins/welcome/welcomemode.cpp index 71f37f229e..8d479ab921 100644 --- a/src/plugins/welcome/welcomemode.cpp +++ b/src/plugins/welcome/welcomemode.cpp @@ -61,16 +61,20 @@ namespace Welcome { class ImageWidget : public QWidget { public: - ImageWidget(const QPixmap &bg, QWidget *parent) : QWidget(parent), m_bg(bg) {} + ImageWidget(const QImage &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); + if (!m_bg.isNull()) { + QPainter painter(this); + if (m_stretch.size() != size()) + m_stretch = QPixmap::fromImage(m_bg.scaled(size(), Qt::IgnoreAspectRatio, + Qt::SmoothTransformation)); + if (!m_stretch.size().isEmpty()) + painter.drawPixmap(rect(), m_stretch); + } QWidget::paintEvent(e); } private: - QPixmap m_bg; + QImage m_bg; QPixmap m_stretch; }; @@ -97,7 +101,7 @@ WelcomeMode::WelcomeMode() : l->setMargin(0); l->setSpacing(0); l->addWidget(new Utils::StyledBar(m_d->m_widget)); - m_d->m_welcomePage = new ImageWidget(QPixmap(":/welcome/images/welcomebg.png"), m_d->m_widget); + m_d->m_welcomePage = new ImageWidget(QImage(":/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); |