homescreenapp/serviceproviders/hsmenuserviceprovider/src/hsmenuitemmodel.cpp
changeset 85 35368b604b28
parent 77 4b195f3bea29
equal deleted inserted replaced
77:4b195f3bea29 85:35368b604b28
    14  * Description: hsmenuitemmodel.cpp
    14  * Description: hsmenuitemmodel.cpp
    15  *
    15  *
    16  */
    16  */
    17 
    17 
    18 #include <hbnamespace.h>
    18 #include <hbnamespace.h>
       
    19 #include <HbInstance>
       
    20 #include <HbStyle>
    19 #include <cauninstallnotifier.h>
    21 #include <cauninstallnotifier.h>
    20 #include <casoftwareregistry.h>
    22 #include <casoftwareregistry.h>
    21 
    23 
    22 #include "hsmenuitemmodel.h"
    24 #include "hsmenuitemmodel.h"
    23 #include "hsmenuserviceutils.h"
    25 #include "hsmenuserviceutils.h"
    24 #include "hsiconsidleloader.h"
    26 #include "hsiconsidleloader.h"
    25 
    27 
    26 // Constants
    28 // Constants
    27 const QSize smallIconSize(55, 55);
    29 const QSizeF smallIconSize(55, 55);
    28 
    30 
    29 /*!
    31 /*!
    30  Constructor
    32  Constructor
    31  \param query used to create model
    33  \param query used to create model
    32  \param pointer to parent object
    34  \param pointer to parent object
    33  */
    35  */
    34 HsMenuItemModel::HsMenuItemModel(const CaQuery &query, QObject *parent) :
    36 HsMenuItemModel::HsMenuItemModel(const CaQuery &query, QObject *parent) :
    35     CaItemModel(query, parent),
    37     CaItemModel(query, parent),
    36     mIconsIdleLoader(NULL)
    38     mIconsIdleLoader(NULL)
    37 {
    39 {
    38     setIconSize(smallIconSize);
    40     qreal size;
       
    41     if (hbInstance->style()->parameter(
       
    42             QString("hb-param-graphic-size-primary-large"), size)) {
       
    43         setIconSize(QSizeF(size, size));
       
    44     } else {
       
    45         setIconSize(smallIconSize);
       
    46     }    
    39     mComponentId = 0;
    47     mComponentId = 0;
    40     mUninstallNotifier = 
    48     mUninstallNotifier = 
    41         CaSoftwareRegistry::create()->createUninstallNotifier();
    49         CaSoftwareRegistry::create()->createUninstallNotifier();
    42     connect(mUninstallNotifier, SIGNAL(progressChange(int, int)),
    50     connect(mUninstallNotifier, SIGNAL(progressChange(int, int)),
    43             this, SLOT(uninstallChange(int, int)));
    51             this, SLOT(uninstallChange(int, int)));
    55 
    63 
    56 /*!
    64 /*!
    57  Sets sort order in the model
    65  Sets sort order in the model
    58  */
    66  */
    59 void HsMenuItemModel::setSort(
    67 void HsMenuItemModel::setSort(
    60     HsSortAttribute sortAttribute)
    68     Hs::HsSortAttribute sortAttribute)
    61 {
    69 {
    62     HSMENUTEST_FUNC_ENTRY("HsMenuItemModel::setSort");
    70     HSMENUTEST_FUNC_ENTRY("HsMenuItemModel::setSort");
    63     CaItemModel::setSort(HsMenuServiceUtils::sortBy(sortAttribute),
    71     CaItemModel::setSort(HsMenuServiceUtils::sortBy(sortAttribute),
    64                          HsMenuServiceUtils::sortOrder(sortAttribute));
    72                          HsMenuServiceUtils::sortOrder(sortAttribute));
    65     HSMENUTEST_FUNC_EXIT(" HsMenuItemModel::setSort");
    73     HSMENUTEST_FUNC_EXIT(" HsMenuItemModel::setSort");
    80     if (role == Qt::DecorationRole && secondLineVisibility()
    88     if (role == Qt::DecorationRole && secondLineVisibility()
    81             && newIconNeeded(index)) {
    89             && newIconNeeded(index)) {
    82         QList<QVariant> icons;
    90         QList<QVariant> icons;
    83 
    91 
    84         icons << CaItemModel::data(index, role);
    92         icons << CaItemModel::data(index, role);
    85         icons << HbIcon(newIconId());
    93         icons << HbIcon(Hs::newIconId);
    86 
    94 
    87         variant = QVariant(icons);
    95         variant = QVariant(icons);
    88     } else if (role == Hb::IndexFeedbackRole){
    96     } else if (role == Hb::IndexFeedbackRole){
    89         QVariant display = CaItemModel::data(index, Qt::DisplayRole);
    97         QVariant display = CaItemModel::data(index, Qt::DisplayRole);
    90         if (display.type() == QVariant::String){
    98         if (display.type() == QVariant::String){
   109 {
   117 {
   110     HSMENUTEST_FUNC_ENTRY("HsMenuItemModel::newIconNeeded");
   118     HSMENUTEST_FUNC_ENTRY("HsMenuItemModel::newIconNeeded");
   111     bool result = false;
   119     bool result = false;
   112     if (root().isValid()
   120     if (root().isValid()
   113             && (!(entry(index)->flags() & UsedEntryFlag))
   121             && (!(entry(index)->flags() & UsedEntryFlag))
   114             && entry(root())->entryTypeName() == collectionDownloadedTypeName()) {
   122             && entry(root())->entryTypeName() == Hs::collectionDownloadedTypeName) {
   115         result = true;
   123         result = true;
   116     }
   124     }
   117     HSMENUTEST_FUNC_EXIT("HsMenuItemModel::newIconNeeded");
   125     HSMENUTEST_FUNC_EXIT("HsMenuItemModel::newIconNeeded");
   118     return result;
   126     return result;
   119 }
   127 }