aboutsummaryrefslogtreecommitdiff
path: root/demos/widgetsgallery
diff options
context:
space:
mode:
authorStanislav Ionascu <stanislav.ionascu@nokia.com>2010-07-19 16:12:15 +0300
committerSergiy Dubovik <sergiy.dubovik@nokia.com>2010-07-21 13:14:18 +0300
commitc217f383e96f3f625cf1216af079eee87bd4f03b (patch)
tree5b9359a95f2ca83e3cd5761647bf4ace84f76b44 /demos/widgetsgallery
parent0cc8bab7a60adcac984559da8660efa16e605875 (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.cpp18
-rw-r--r--demos/widgetsgallery/gridmodel.h2
-rw-r--r--demos/widgetsgallery/mgridpage.cpp2
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()));