diff -r 224522e33db9 -r 25fe1fe642e3 messagingapp/msgui/unifiedviewer/src/univiewerpixmapwidget.cpp --- a/messagingapp/msgui/unifiedviewer/src/univiewerpixmapwidget.cpp Tue Jul 06 22:50:16 2010 +0530 +++ b/messagingapp/msgui/unifiedviewer/src/univiewerpixmapwidget.cpp Fri Jul 09 14:46:10 2010 +0530 @@ -38,6 +38,10 @@ const QString CORRUPTED_PIXMAP_ICON("qtg_large_corrupted"); const QString VIDEO_MIMETYPE("video"); const QString MSG_VIDEO_ICON("qtg_small_video"); +const QString VIDEO_OVERLAY_ICON("qtg_large_video_player"); + +const int WIDTH_RATIO = 4; +const int HEIGHT_RATIO = 3; //--------------------------------------------------------------- // UniViewerPixmapWidget::UniViewerPixmapWidget @@ -51,22 +55,6 @@ } //--------------------------------------------------------------- -// UniViewerPixmapWidget::init -// @see header file -//--------------------------------------------------------------- -void UniViewerPixmapWidget::init() -{ - mThumbnailManager = new ThumbnailManager(this); - mThumbnailManager->setMode(ThumbnailManager::Default); - mThumbnailManager->setQualityPreference(ThumbnailManager::OptimizeForQuality); - mThumbnailManager->setThumbnailSize(ThumbnailManager::ThumbnailLarge); - - connect(mThumbnailManager, SIGNAL(thumbnailReady(QPixmap, void*, int, int)), this, - SLOT(thumbnailReady(QPixmap, void*, int, int))); - -} - -//--------------------------------------------------------------- // UniViewerPixmapWidget::~UniViewerPixmapWidget // @see header file //--------------------------------------------------------------- @@ -168,6 +156,46 @@ { } +//--------------------------------------------------------------- +// UniViewerPixmapWidget::regrabGesture +// @see header file +//--------------------------------------------------------------- +void UniViewerPixmapWidget::regrabGesture() +{ + this->grabGesture(Qt::TapGesture); +} + +//--------------------------------------------------------------- +// UniViewerPixmapWidget::thumbnailReady +// @see header +//--------------------------------------------------------------- +void UniViewerPixmapWidget::thumbnailReady(const QPixmap& pixmap, void *data, int id, int error) +{ + Q_UNUSED(data) + Q_UNUSED(id) + this->grabGesture(Qt::TapGesture); + if (!error) { + this->setIcon(HbIcon(pixmap)); + this->hide(); + emit setOverlayIcon(VIDEO_OVERLAY_ICON); + } +} + +//--------------------------------------------------------------- +// UniViewerPixmapWidget::init +// @see header file +//--------------------------------------------------------------- +void UniViewerPixmapWidget::init() +{ + mThumbnailManager = new ThumbnailManager(this); + mThumbnailManager->setMode(ThumbnailManager::CropToAspectRatio); + mThumbnailManager->setQualityPreference(ThumbnailManager::OptimizeForQuality); + mThumbnailManager->setThumbnailSize(getThumbnailSize()); + + connect(mThumbnailManager, SIGNAL(thumbnailReady(QPixmap, void*, int, int)), this, + SLOT(thumbnailReady(QPixmap, void*, int, int))); +} + //---------------------------------------------------------------------------- // UniViewerPixmapWidget::handleShortTap // @see header file @@ -197,27 +225,23 @@ } //--------------------------------------------------------------- -// UniViewerPixmapWidget::regrabGesture +// UniViewerPixmapWidget::getThumbnailSize // @see header file //--------------------------------------------------------------- -void UniViewerPixmapWidget::regrabGesture() +QSize UniViewerPixmapWidget::getThumbnailSize() { - this->grabGesture(Qt::TapGesture); + QSize thumbnailSize(1, 1); + HbWidget *parent = qobject_cast(this->parentWidget()); + + if (parent) { + qreal thumbnailWidth = 0.0; + qreal thumbnailHeight = 0.0; + parent->style()->parameter("hb-param-screen-short-edge", thumbnailWidth); + thumbnailHeight = (thumbnailWidth * HEIGHT_RATIO) / WIDTH_RATIO; + thumbnailSize.setHeight(qRound(thumbnailHeight)); + thumbnailSize.setWidth(qRound(thumbnailWidth)); + } + return thumbnailSize; } -//--------------------------------------------------------------- -// UniViewerPixmapWidget::thumbnailReady -// @see header -//--------------------------------------------------------------- -void UniViewerPixmapWidget::thumbnailReady(const QPixmap& pixmap, void *data, int id, int error) -{ - Q_UNUSED(data) - Q_UNUSED(id) - this->grabGesture(Qt::TapGesture); - if (!error) { - this->setIcon(HbIcon(pixmap)); - this->hide(); - this->updateGeometry(); - } -} // EOF