phonebookui/pbkcommonui/src/cntcollectionlistmodel.cpp
changeset 65 ae724a111993
parent 59 a642906a277a
child 66 554fe4dbbb59
equal deleted inserted replaced
59:a642906a277a 65:ae724a111993
    18 #include "cntcollectionlistmodel.h"
    18 #include "cntcollectionlistmodel.h"
    19 #include "cntcollectionlistmodel_p.h"
    19 #include "cntcollectionlistmodel_p.h"
    20 #include "cntcollectionlistmodelworker.h"
    20 #include "cntcollectionlistmodelworker.h"
    21 #include "cntextensionmanager.h"
    21 #include "cntextensionmanager.h"
    22 #include "cntfavourite.h"
    22 #include "cntfavourite.h"
       
    23 #include "cntthumbnailmanager.h"
    23 #include "cntdebug.h"
    24 #include "cntdebug.h"
    24 
    25 
       
    26 #include <cntabstractengine.h>
    25 #include <cntuiextensionfactory.h>
    27 #include <cntuiextensionfactory.h>
    26 #include <cntuigroupsupplier.h>
    28 #include <cntuigroupsupplier.h>
    27 #include <cntuids.h>
    29 #include <cntuids.h>
    28 #include <xqsettingskey.h>
    30 #include <xqsettingskey.h>
    29 
    31 
    30 #include <qtcontacts.h>
    32 #include <qtcontacts.h>
    31 #include <hbglobal.h>
    33 #include <hbglobal.h>
    32 #include <hbicon.h>
    34 #include <hbicon.h>
    33 
    35 
    34 #include <thumbnailmanager_qt.h>
       
    35 
       
    36 /*!
    36 /*!
    37     Constructor
    37     Constructor
    38 */
    38 */
    39 CntCollectionListModel::CntCollectionListModel(QContactManager *manager, CntExtensionManager &extensionManager, QObject *parent)
    39 CntCollectionListModel::CntCollectionListModel(CntAbstractEngine* aEngine, QObject *parent)
    40     : QAbstractListModel(parent)
    40     : QAbstractListModel(parent)
    41 {
    41 {
    42     CNT_ENTRY
    42     CNT_ENTRY
    43     
    43     
    44     d = new CntCollectionListModelData(extensionManager);
    44     d = new CntCollectionListModelData( aEngine->extensionManager() );
    45     d->mContactManager = manager;
    45     d->mContactManager = &aEngine->contactManager( SYMBIAN_BACKEND );
       
    46     d->mThumbnailManager = &aEngine->thumbnailManager();
    46     
    47     
    47     XQSettingsKey nameOrderKey(XQSettingsKey::TargetCentralRepository,
    48     XQSettingsKey nameOrderKey(XQSettingsKey::TargetCentralRepository,
    48             KCRCntSettings.iUid,
    49             KCRCntSettings.iUid,
    49             KCntNameOrdering);
    50             KCntNameOrdering);
    50     int order = mSettings.readItemValue(nameOrderKey, XQSettingsManager::TypeInt).toInt();
    51     int order = mSettings.readItemValue(nameOrderKey, XQSettingsManager::TypeInt).toInt();
    51     QString unnamed = hbTrId("txt_phob_dblist_unnamed");
    52     QString unnamed = hbTrId("txt_phob_dblist_unnamed");
    52     QString noFavs = hbTrId("txt_phob_dblist_favorites_val_no_favorites_selecte");
    53     QString noFavs = hbTrId("txt_phob_dblist_favorites_val_no_favorites_selecte");
    53     QString noMembers = hbTrId("txt_phob_dblist_val_no_members_selected");
    54     QString noMembers = hbTrId("txt_phob_dblist_val_no_members_selected");
    54     mThread = new CntCollectionListModelWorker(unnamed, noFavs, noMembers, order);
    55     mThread = new CntCollectionListModelWorker(unnamed, noFavs, noMembers, order);
       
    56     
    55     connect(mThread, SIGNAL(fetchDone(int, const QString&, int)), this, SLOT(informationUpdated(int, const QString&, int)));
    57     connect(mThread, SIGNAL(fetchDone(int, const QString&, int)), this, SLOT(informationUpdated(int, const QString&, int)));
    56     
       
    57     d->mThumbnailManager = new ThumbnailManager(this);
       
    58     d->mThumbnailManager->setMode(ThumbnailManager::Default);
       
    59     d->mThumbnailManager->setQualityPreference(ThumbnailManager::OptimizeForPerformance);
       
    60     d->mThumbnailManager->setThumbnailSize(ThumbnailManager::ThumbnailSmall);
       
    61     connect(d->mThumbnailManager, SIGNAL(thumbnailReady(QPixmap, void *, int, int)),
    58     connect(d->mThumbnailManager, SIGNAL(thumbnailReady(QPixmap, void *, int, int)),
    62              this, SLOT(onIconReady(QPixmap, void *, int, int)));
    59              this, SLOT(onIconReady(QPixmap, void *, int, int)));
    63     
    60     
    64     doConstruct();
    61     doConstruct();
    65     
    62     
   264             QList<QContactAvatar> details = contact.details<QContactAvatar>();
   261             QList<QContactAvatar> details = contact.details<QContactAvatar>();
   265             for (int k = 0;k < details.count();k++)
   262             for (int k = 0;k < details.count();k++)
   266             {
   263             {
   267                 if (details.at(k).imageUrl().isValid())
   264                 if (details.at(k).imageUrl().isValid())
   268                 {
   265                 {
   269                     int id = d->mThumbnailManager->getThumbnail(details.at(k).imageUrl().toString());
   266                     int id = d->mThumbnailManager->getThumbnail(ThumbnailManager::ThumbnailSmall, details.at(k).imageUrl().toString());
   270                     d->mIconRequests.insert(id, groupContactIds.at(i));
   267                     d->mIconRequests.insert(id, groupContactIds.at(i));
   271                     break;
   268                     break;
   272                 }
   269                 }
   273             }
   270             }
   274             
   271             
   501             QList<QContactAvatar> details = contact.details<QContactAvatar>();
   498             QList<QContactAvatar> details = contact.details<QContactAvatar>();
   502             for (int k = 0;k < details.count();k++)
   499             for (int k = 0;k < details.count();k++)
   503             {
   500             {
   504                 if (details.at(k).imageUrl().isValid())
   501                 if (details.at(k).imageUrl().isValid())
   505                 {
   502                 {
   506                     int id = d->mThumbnailManager->getThumbnail(details.at(k).imageUrl().toString());
   503                     int id = d->mThumbnailManager->getThumbnail(ThumbnailManager::ThumbnailSmall, details.at(k).imageUrl().toString());
   507                     d->mIconRequests.insert(id, groupContactIds.at(i));
   504                     d->mIconRequests.insert(id, groupContactIds.at(i));
   508                     break;
   505                     break;
   509                 }
   506                 }
   510             }
   507             }
   511             
   508