camerauis/cameraxui/cxengine/src/cxethumbnailmanagersymbian.cpp
changeset 38 0f0b4c1d7744
parent 19 d9aefe59d544
child 37 64817133cd1d
equal deleted inserted replaced
28:3075d9b614e6 38:0f0b4c1d7744
    19 #include <thumbnailmanager_qt.h>
    19 #include <thumbnailmanager_qt.h>
    20 
    20 
    21 #include "cxutils.h"
    21 #include "cxutils.h"
    22 #include "cxethumbnailmanagersymbian.h"
    22 #include "cxethumbnailmanagersymbian.h"
    23 
    23 
    24 //#define CXE_USE_THUMBNAIL_MANAGER
    24 
    25 
    25 
    26 
    26 
    27 /*!
    27 /*!
    28 * CxeThumbnailManagerSymbian::CxeThumbnailManagerSymbian
    28 * CxeThumbnailManagerSymbian::CxeThumbnailManagerSymbian
    29 */
    29 */
    30 CxeThumbnailManagerSymbian::CxeThumbnailManagerSymbian()
    30 CxeThumbnailManagerSymbian::CxeThumbnailManagerSymbian()
    31 {
    31 {
    32     CX_DEBUG_ENTER_FUNCTION();
    32     CX_DEBUG_ENTER_FUNCTION();
    33 
    33 
    34 #ifdef CXE_USE_THUMBNAIL_MANAGER
       
    35 
       
    36     mThumbnailManager = new ThumbnailManager();
    34     mThumbnailManager = new ThumbnailManager();
    37 
    35 
    38     // connect thumbnail ready signal from thumbnailmanager
    36     // connect thumbnail ready signal from thumbnailmanager
    39     connect(mThumbnailManager, SIGNAL(thumbnailReady(QPixmap, void *, int, int)),
    37     connect(mThumbnailManager, SIGNAL(thumbnailReady(QPixmap, void *, int, int)),
    40             this, SLOT(thumbnailReady(QPixmap, void *, int, int)));
    38             this, SLOT(thumbnailReady(QPixmap, void *, int, int)));
    41 #endif
       
    42 
    39 
    43     CX_DEBUG_EXIT_FUNCTION();
    40     CX_DEBUG_EXIT_FUNCTION();
    44 }
    41 }
    45 
    42 
    46 
    43 
    49 */
    46 */
    50 CxeThumbnailManagerSymbian::~CxeThumbnailManagerSymbian()
    47 CxeThumbnailManagerSymbian::~CxeThumbnailManagerSymbian()
    51 {
    48 {
    52     CX_DEBUG_ENTER_FUNCTION();
    49     CX_DEBUG_ENTER_FUNCTION();
    53 
    50 
    54 #ifdef CXE_USE_THUMBNAIL_MANAGER
       
    55     mThumbnailRequests.clear();
    51     mThumbnailRequests.clear();
    56     delete mThumbnailManager;
    52     delete mThumbnailManager;
    57 #endif
       
    58 
    53 
    59     CX_DEBUG_EXIT_FUNCTION();
    54     CX_DEBUG_EXIT_FUNCTION();
    60 }
    55 }
    61 
    56 
    62 
    57 
    69 void CxeThumbnailManagerSymbian::createThumbnail(const QString& filename,
    64 void CxeThumbnailManagerSymbian::createThumbnail(const QString& filename,
    70                                                  QPixmap /*snapshot*/)
    65                                                  QPixmap /*snapshot*/)
    71 {
    66 {
    72     CX_DEBUG_ENTER_FUNCTION();
    67     CX_DEBUG_ENTER_FUNCTION();
    73 
    68 
    74 #ifdef CXE_USE_THUMBNAIL_MANAGER
       
    75     TPtrC16 fName(reinterpret_cast<const TUint16*>(filename.utf16()));
    69     TPtrC16 fName(reinterpret_cast<const TUint16*>(filename.utf16()));
    76     CX_DEBUG(("Create thumbnail! filename = %s", filename.toAscii().constData()));
    70     CX_DEBUG(("Create thumbnail! filename = %s", filename.toAscii().constData()));
    77 
    71 
    78     if (mThumbnailManager) {
    72     if (mThumbnailManager) {
    79         CX_DEBUG(("creating thumbnails"));
    73         CX_DEBUG(("creating thumbnails"));
    85             mThumbnailRequests.insert(filename, thumbnailId);
    79             mThumbnailRequests.insert(filename, thumbnailId);
    86         } else {
    80         } else {
    87             CX_DEBUG(("error initializing data to thumbnail manager"));
    81             CX_DEBUG(("error initializing data to thumbnail manager"));
    88         }
    82         }
    89     }
    83     }
    90 #else
       
    91     Q_UNUSED(filename);
       
    92 #endif
       
    93 
    84 
    94     CX_DEBUG_EXIT_FUNCTION();
    85     CX_DEBUG_EXIT_FUNCTION();
    95 }
    86 }
    96 
    87 
    97 
    88 
   101 */
    92 */
   102 void CxeThumbnailManagerSymbian::cancelThumbnail(const QString& filename)
    93 void CxeThumbnailManagerSymbian::cancelThumbnail(const QString& filename)
   103 {
    94 {
   104     CX_DEBUG_ENTER_FUNCTION();
    95     CX_DEBUG_ENTER_FUNCTION();
   105 
    96 
   106 #ifdef CXE_USE_THUMBNAIL_MANAGER
       
   107     if (mThumbnailRequests.contains(filename)) {
    97     if (mThumbnailRequests.contains(filename)) {
   108         int thumbnailId = mThumbnailRequests.value(filename);
    98         int thumbnailId = mThumbnailRequests.value(filename);
   109         if (mThumbnailManager &&
    99         if (mThumbnailManager &&
   110             mThumbnailManager->cancelRequest(thumbnailId)) {
   100             mThumbnailManager->cancelRequest(thumbnailId)) {
   111             // thumbnail creation cancelled sucessfully
   101             // thumbnail creation cancelled sucessfully
   112             mThumbnailRequests.remove(filename);
   102             mThumbnailRequests.remove(filename);
   113         }
   103         }
   114     }
   104     }
   115 #else
   105 
   116     Q_UNUSED(filename);
       
   117 #endif
       
   118     CX_DEBUG_EXIT_FUNCTION();
   106     CX_DEBUG_EXIT_FUNCTION();
   119 }
   107 }
   120 
   108 
   121 
   109 
   122 /**!
   110 /**!
   130 {
   118 {
   131 
   119 
   132     CX_DEBUG_ENTER_FUNCTION();
   120     CX_DEBUG_ENTER_FUNCTION();
   133 
   121 
   134     Q_UNUSED(data);
   122     Q_UNUSED(data);
   135 #ifdef CXE_USE_THUMBNAIL_MANAGER
   123 
   136     CX_DEBUG(("CxeThumbnailManagerSymbian::thumbnailReady error = %d", error));
   124     CX_DEBUG(("CxeThumbnailManagerSymbian::thumbnailReady error = %d", error));
   137 
   125 
   138     QString key;
   126     QString key;
   139     QHash<QString, int>::const_iterator i = mThumbnailRequests.constBegin();
   127     QHash<QString, int>::const_iterator i = mThumbnailRequests.constBegin();
   140 
   128 
   149     if (mThumbnailRequests.contains(key)) {
   137     if (mThumbnailRequests.contains(key)) {
   150         CX_DEBUG(("Thumbnail created for filename = %s", key.toAscii().constData()));
   138         CX_DEBUG(("Thumbnail created for filename = %s", key.toAscii().constData()));
   151         mThumbnailRequests.remove(key);
   139         mThumbnailRequests.remove(key);
   152         emit thumbnailReady(thumbnail, error);
   140         emit thumbnailReady(thumbnail, error);
   153     }
   141     }
   154 #else
       
   155     Q_UNUSED(thumbnail);
       
   156     Q_UNUSED(id);
       
   157     Q_UNUSED(error);
       
   158 #endif
       
   159 
   142 
   160     CX_DEBUG_EXIT_FUNCTION();
   143     CX_DEBUG_EXIT_FUNCTION();
   161 }
   144 }