diff options
author | Stanislav Ionascu <stanislav.ionascu@nokia.com> | 2010-07-19 16:12:15 +0300 |
---|---|---|
committer | Sergiy Dubovik <sergiy.dubovik@nokia.com> | 2010-07-21 13:14:18 +0300 |
commit | c217f383e96f3f625cf1216af079eee87bd4f03b (patch) | |
tree | 5b9359a95f2ca83e3cd5761647bf4ace84f76b44 /demos/widgetsgallery | |
parent | 0cc8bab7a60adcac984559da8660efa16e605875 (diff) |
Changes: Do not transform on load QImage into QPixmap in widgetsgallery gridpage.
RevBy: Sergiy
Details: Previously due to image widget was not supporting QImages directly
the grid page in widgets gallery was transforming QImages into QPixmaps, which
resulted in application to appear as freezed, after finishing conversion the page
would unfreeze.
Diffstat (limited to 'demos/widgetsgallery')
-rw-r--r-- | demos/widgetsgallery/gridmodel.cpp | 18 | ||||
-rw-r--r-- | demos/widgetsgallery/gridmodel.h | 2 | ||||
-rw-r--r-- | demos/widgetsgallery/mgridpage.cpp | 2 |
3 files changed, 5 insertions, 17 deletions
diff --git a/demos/widgetsgallery/gridmodel.cpp b/demos/widgetsgallery/gridmodel.cpp index 211273ce..e0256d38 100644 --- a/demos/widgetsgallery/gridmodel.cpp +++ b/demos/widgetsgallery/gridmodel.cpp @@ -103,7 +103,7 @@ void GridModel::createItems() } else { m.type = MediaType::Image; m.path = path; - m.pixmap = QPixmap(); + m.image = QImage(); m_loader->pushImage(path,index); } @@ -116,7 +116,7 @@ void GridModel::insertImage(QImage image, int index) { if( m_items[index].canConvert<MediaType>() ) { MediaType m = m_items[index].value<MediaType>(); - m.pixmap = QPixmap::fromImage(image); + m.image = image; m.rating = MediaType::OneStar; m_items[index] = QVariant::fromValue(m); @@ -124,16 +124,6 @@ void GridModel::insertImage(QImage image, int index) } } -static void badgeHelper(int amount, QPixmap& pixmap) -{ - for(int i = 0;i<amount;i++) { - QPainter painter(&pixmap); - painter.setCompositionMode(QPainter::CompositionMode_SourceOver); - painter.drawImage( QRectF(i*20,0,30,30),QImage( QDir(IMAGES_DIR).canonicalPath() + QDir::separator() + "star.png") ); - painter.end(); - } -} - void GridModel::rateImage(MediaType::Rating rating, const QString& id) { int index = 0; @@ -165,9 +155,7 @@ void GridModel::rateImage(MediaType::Rating rating, const QString& id) // get a fresh image without badge QImage image(id); m_loader->scaleImage( image ); - QPixmap p = QPixmap::fromImage( image ); - badgeHelper( amount, p ); - m.pixmap = p; + m.image = image; m_items[index] = QVariant::fromValue(m); diff --git a/demos/widgetsgallery/gridmodel.h b/demos/widgetsgallery/gridmodel.h index 0a543328..45c9fde4 100644 --- a/demos/widgetsgallery/gridmodel.h +++ b/demos/widgetsgallery/gridmodel.h @@ -49,7 +49,7 @@ struct MediaType } rating; QString path; - QPixmap pixmap; + QImage image; Rating rate; }; diff --git a/demos/widgetsgallery/mgridpage.cpp b/demos/widgetsgallery/mgridpage.cpp index 2717a0b3..31f3d3de 100644 --- a/demos/widgetsgallery/mgridpage.cpp +++ b/demos/widgetsgallery/mgridpage.cpp @@ -117,7 +117,7 @@ void ContentItemCreator::updateCell(const QModelIndex &index, MWidget *cell) con imageWidget->setObjectName("gridItem"); - imageWidget->setPixmap( m.pixmap ); + imageWidget->setImage(m.image); imageWidget->setId(m.path); QObject::connect(imageWidget, SIGNAL(clicked()), m_gridPage, SLOT(itemClicked())); |