imagehandlingutilities/thumbnailmanager/thumbnailmanagerqt/src/thumbnailmanager_p_qt.cpp
changeset 25 cb86b71cae0a
parent 22 a67f74060682
child 30 b67379558a75
equal deleted inserted replaced
22:a67f74060682 25:cb86b71cae0a
   249     newPriority = convertPriority(newPriority);
   249     newPriority = convertPriority(newPriority);
   250     
   250     
   251     return ( iThumbnailManager->ChangePriority( id, newPriority ) == KErrNone );
   251     return ( iThumbnailManager->ChangePriority( id, newPriority ) == KErrNone );
   252 }
   252 }
   253 
   253 
   254 QImage ThumbnailManagerPrivate::fromBitmap( CFbsBitmap* bitmap )
       
   255 {
       
   256     TSize size = bitmap->SizeInPixels();
       
   257     int bytesPerLine = bitmap->ScanLineLength( size.iWidth, bitmap->DisplayMode() );
       
   258     const uchar* dataPtr = ( const uchar* ) bitmap->DataAddress();
       
   259     QImage image = QImage(dataPtr, size.iWidth, size.iHeight, bytesPerLine, QImage::Format_RGB16);
       
   260     return image.copy();
       
   261 }
       
   262 
       
   263 QPixmap ThumbnailManagerPrivate::fromImage( CFbsBitmap* bitmap )
       
   264 {
       
   265     return QPixmap::fromImage(fromBitmap(bitmap));
       
   266 }
       
   267 
       
   268 int ThumbnailManagerPrivate::convertPriority(int basePriority)
   254 int ThumbnailManagerPrivate::convertPriority(int basePriority)
   269 {
   255 {
   270     return qBound(ThumbnailMangerPriorityLowest, basePriority, ThumbnailMangerPriorityHighest);    
   256     return qBound(ThumbnailMangerPriorityLowest, basePriority, ThumbnailMangerPriorityHighest);    
   271 }
   257 }
   272 
   258 
   282         delete byteArray;
   268         delete byteArray;
   283         byteArray = NULL;
   269         byteArray = NULL;
   284     }
   270     }
   285     
   271     
   286     if (connectionCounterImage || connectionCounterPixmap) {
   272     if (connectionCounterImage || connectionCounterPixmap) {
   287         QImage image;
   273 		QPixmap pixmap;
   288 
   274 
   289         if (aError == KErrNone) {
   275         if (aError == KErrNone) {
   290             image = fromBitmap(aThumbnail.Bitmap());
   276             pixmap = QPixmap::fromSymbianCFbsBitmap(aThumbnail.Bitmap());
   291         } else {
   277         } else {
   292             image = QImage(); 
   278             pixmap = QPixmap(); 
   293         }
   279         }
   294 
   280 
   295         if (connectionCounterImage) {
   281         if (connectionCounterImage) {
   296             emit q_ptr->thumbnailReady(image, aThumbnail.ClientData(), aId, aError);
   282             emit q_ptr->thumbnailReady(pixmap.toImage(), aThumbnail.ClientData(), aId, aError);
   297         }
   283         }
   298         
   284         
   299         if (connectionCounterPixmap) {
   285         if (connectionCounterPixmap) {
   300             QPixmap pixmap = QPixmap::fromImage(image);
       
   301             emit q_ptr->thumbnailReady(pixmap, aThumbnail.ClientData(), aId, aError);
   286             emit q_ptr->thumbnailReady(pixmap, aThumbnail.ClientData(), aId, aError);
   302         }
   287         }
   303     }
   288     }
   304 }
   289 }
   305 
   290