phonebookengines/mobcntmodel/src/mobcnticonmanager.cpp
changeset 37 fd64c38c277d
parent 31 2a11b5b00470
child 40 b46a585f6909
--- a/phonebookengines/mobcntmodel/src/mobcnticonmanager.cpp	Fri May 14 15:42:23 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,155 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-#include "mobcnticonmanager.h"
-#include <thumbnailmanager_qt.h>
-#include <QDebug>
-
-const int KMaxQueueSize = 25;
-const int KContactFetchTimer1 = 400;
-const int KContactFetchTimer2 = 20;
-/*!
- Constructor
- */
-MobCntIconManager::MobCntIconManager(QObject *parent)
-    : QObject(parent),
-      mQueueCount(0)
-{
-    mThumbnailManager = new ThumbnailManager(this);
-    mThumbnailManager->setMode(ThumbnailManager::Default);
-    mThumbnailManager->setQualityPreference(ThumbnailManager::OptimizeForPerformance);
-    mThumbnailManager->setThumbnailSize(ThumbnailManager::ThumbnailSmall);
-
-    connect(mThumbnailManager, SIGNAL(thumbnailReady(QPixmap, void *, int, int)),
-             this, SLOT(thumbnailReady(QPixmap, void *, int, int)));
-             
-    mTimer = new QTimer();
-    connect( mTimer, SIGNAL(timeout()), this, SLOT(timerTimeout()) );
-                      
-}
-
-/*!
- Destructor
- */
-MobCntIconManager::~MobCntIconManager()
-{
-    cancel();
-    mImageCache.clear();
-    delete mTimer;
-}
-
-/*!
-Get the icon for the requested avatarPath or send a new request to the thumbnailmanager if it doesn't exist yet
-*/
-QIcon MobCntIconManager::contactIcon(const QString &avatarPath, int index)
-{
-    QIcon icon;
-    if ( mImageCache.contains(avatarPath) )
-    {
-        icon = mImageCache.value(avatarPath);
-		qDebug() << "MobCntIconManager::contactIcon:: image was cached";
-    }
-    else
-    {      
-        mTimer->stop();
-        mTimer->start(KContactFetchTimer1); 
-        mQueueCount++;
-        mRequestQueue.enqueue(qMakePair(avatarPath, index));
-        if( mQueueCount > KMaxQueueSize )
-        {
-           mRequestQueue.dequeue();
-           mQueueCount--;
-        }        
-    }
-    return icon;
-}
-
-/*!
-Cancel all requests
-*/
-void MobCntIconManager::cancel()
-{
-    if (!mTnmReqMap.empty())
-    {
-        QMapIterator<int, QString> iter(mTnmReqMap);
-        while (iter.hasNext())
-        {
-            iter.next();
-            bool result = mThumbnailManager->cancelRequest(iter.key());
-        }
-    }
-    mTnmReqMap.clear();
-    mRequestQueue.clear();
-    mQueueCount = 0;
-}
-
-/*!
-Called when thumbnailmanager finishes creating a thumbnail, emits a signal for MobCntModel to update icon for a contact
-*/
-void MobCntIconManager::thumbnailReady(const QPixmap& pixmap, void *data, int id, int error)
-{
-	qDebug() << "MobCntIconManager::thumbnailReady:: error is " << error;
-	
-    // Find the index
-    if (mTnmReqMap.contains(id))
-    {
-        QString avatarPath = mTnmReqMap[id];
-        mTnmReqMap.remove(id);
-        if ( error == 0 )
-        {
-            int *clientData = (int *)data;
-            int index = *clientData;
-			qDebug() << "MobCntIconManager::thumbnailReady:: data is " << index;
-            QIcon icon(pixmap);
-            mImageCache.insert(avatarPath, icon);
-            emit contactIconReady(index);
-			qDebug() << "MobCntIconManager::thumbnailReady - signal emitted";
-            if (!mRequestQueue.isEmpty())
-            {
-                mTimer->start(KContactFetchTimer2);                
-            }
-    
-            delete clientData;
-            
-        } else {
-        	  thumbnailLoad();
-        }
-    }
-}
-
-void MobCntIconManager::thumbnailLoad()
-{
-	mTimer->stop();
-    if (!mRequestQueue.isEmpty())
-    { 
-		mQueueCount--;
-        QPair<QString, int> req = mRequestQueue.dequeue();
-        QString avatarPath = req.first;
-        int index = req.second;
-        int *clientData = new int(index);
-        int reqId = mThumbnailManager->getThumbnail(avatarPath, clientData, 0);
-        mTnmReqMap.insert(reqId, avatarPath);
-    }
- 
-}
-
-void MobCntIconManager::timerTimeout()
-{
-    thumbnailLoad();	
-}
-
-