aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/welcome
diff options
context:
space:
mode:
authorDenis Mingulov <denis.mingulov@gmail.com>2010-09-20 15:39:46 +0200
committerDaniel Molkentin <daniel.molkentin@nokia.com>2010-09-20 15:39:55 +0200
commit1896a9a169d6a23450f1b00a006dac129892fda1 (patch)
tree5a12e2dba2918e54a234985723bd24dc7b257be5 /src/plugins/welcome
parent7e91a81ed1763077c8486762a3b5ad16d716d2a0 (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.cpp18
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);