homescreenapp/serviceproviders/hsmenuserviceprovider/src/hsmenuitemmodel.cpp
changeset 97 66b5fe3c07fd
parent 81 7dd137878ff8
child 98 e6f74eb7f69f
equal deleted inserted replaced
95:32e56106abf2 97:66b5fe3c07fd
    83                                int role) const
    83                                int role) const
    84 {
    84 {
    85     HSMENUTEST_FUNC_ENTRY("HsMenuItemModel::data");
    85     HSMENUTEST_FUNC_ENTRY("HsMenuItemModel::data");
    86     QVariant variant;
    86     QVariant variant;
    87 
    87 
    88     if (role == Qt::DecorationRole && secondLineVisibility()
    88     if (role == Qt::DecorationRole && newIconNeeded(index)) {
    89             && newIconNeeded(index)) {
       
    90         QList<QVariant> icons;
    89         QList<QVariant> icons;
       
    90         
       
    91         QVariant iconVariant = CaItemModel::data(index, role);
       
    92         HbIcon icon = iconVariant.value<HbIcon>();
       
    93         icon.addProportionalBadge(Qt::AlignTop | Qt::AlignRight,
       
    94             HbIcon(Hs::newIconId), QSizeF(0.5, 0.5));
       
    95         icons << HbIcon(icon);
    91 
    96 
    92         icons << CaItemModel::data(index, role);
    97         variant = QVariant(icons);      
    93         icons << HbIcon(Hs::newIconId);
       
    94 
       
    95         variant = QVariant(icons);
       
    96     } else if (role == Hb::IndexFeedbackRole){
    98     } else if (role == Hb::IndexFeedbackRole){
    97         QVariant display = CaItemModel::data(index, Qt::DisplayRole);
    99         QVariant display = CaItemModel::data(index, Qt::DisplayRole);
    98         if (display.type() == QVariant::String){
   100         if (display.type() == QVariant::String){
    99             variant = QVariant(display.toString().at(0).toUpper());;
   101             variant = QVariant(display.toString().at(0).toUpper());;
   100         } else {
   102         } else {
   101             variant = QVariant(display.toList().at(0).toString().at(0).toUpper());
   103             variant = QVariant(display.toList().at(0).toString().at(0).toUpper());
   102         }
   104         }
       
   105     } else if (role == Qt::DecorationRole && secondLineVisibility()
       
   106                 && !(entry(index)->flags() & MissingEntryFlag)
       
   107                 && entry(index)->entryTypeName() == Hs::packageTypeName) {
       
   108             QList<QVariant> icons;
       
   109 
       
   110             icons << CaItemModel::data(index, role);
       
   111             icons << HbIcon(entry(index)->attribute(Hs::drivesIconIdsAttributeName));
       
   112 
       
   113             variant = QVariant(icons);
   103     } else {
   114     } else {
       
   115         
   104         variant = CaItemModel::data(index, role);
   116         variant = CaItemModel::data(index, role);
   105     }
   117     }
       
   118     HSMENUTEST(QString("role: %1, value: %2").arg(role).arg(variant.toString()));
   106     HSMENUTEST_FUNC_EXIT("HsMenuItemModel::data");
   119     HSMENUTEST_FUNC_EXIT("HsMenuItemModel::data");
   107     return variant;
   120     return variant;
   108 
   121 
   109 }
   122 }
   110 
   123 
   155  */
   168  */
   156 void HsMenuItemModel::preloadIcons()
   169 void HsMenuItemModel::preloadIcons()
   157 {
   170 {
   158     mIconsIdleLoader = new HsIconsIdleLoader(this, this);
   171     mIconsIdleLoader = new HsIconsIdleLoader(this, this);
   159 }
   172 }
       
   173