src/hbcore/image/hbpixmapiconrenderer.cpp
changeset 34 ed14f46c0e55
parent 5 627c4a0fd0e7
equal deleted inserted replaced
31:7516d6d86cf5 34:ed14f46c0e55
    31 
    31 
    32 struct HbPixmapIconMaskedData {
    32 struct HbPixmapIconMaskedData {
    33     QPixmap    currentPixmap;
    33     QPixmap    currentPixmap;
    34 };
    34 };
    35 
    35 
    36 HbPixmapIconRenderer::HbPixmapIconRenderer(const QPixmap &pixmap, HbIconImpl *impl)
    36 HbPixmapIconRenderer::HbPixmapIconRenderer(const QPixmap &pixmap,
       
    37                                            HbIconImpl *impl,
       
    38                                            bool propertiesApplied)
    37     : iconMode(QIcon::Normal),
    39     : iconMode(QIcon::Normal),
    38       iconPropertiesApplied(false),
    40       iconPropertiesApplied(propertiesApplied),
    39       pixmapData(pixmap),
    41       pixmapData(pixmap),
    40       iconImpl(impl)
    42       iconImpl(impl)
    41 {
    43 {
    42 }
    44 }
    43 
    45 
    98     }
   100     }
    99 }
   101 }
   100 
   102 
   101 void HbPixmapIconRenderer::applyIconProperties()
   103 void HbPixmapIconRenderer::applyIconProperties()
   102 {
   104 {
   103     if ((iconColor.isValid()) && (iconMode != QIcon::Disabled)) {
   105     if (iconMode != QIcon::Normal) {
       
   106         QStyleOption opt(0);
       
   107         opt.palette = QApplication::palette();
       
   108         pixmapData = QApplication::style()->generatedIconPixmap(iconMode, pixmapData, &opt);
       
   109     }
       
   110     if (iconColor.isValid()) {
   104         if (!pixmapData.isNull()) {
   111         if (!pixmapData.isNull()) {
   105             QPixmap mask = pixmapData.alphaChannel();
   112             QPixmap mask = pixmapData.alphaChannel();
   106             pixmapData.fill(iconColor);
   113             pixmapData.fill(iconColor);
   107             pixmapData.setAlphaChannel(mask);
   114             pixmapData.setAlphaChannel(mask);
   108         }
   115         }
   109     }
       
   110 
       
   111     // Apply the mode
       
   112     if (iconMode != QIcon::Normal) {
       
   113         QStyleOption opt(0);
       
   114         opt.palette = QApplication::palette();
       
   115         pixmapData = QApplication::style()->generatedIconPixmap(iconMode, pixmapData, &opt);
       
   116     }
   116     }
   117     iconPropertiesApplied = true;
   117     iconPropertiesApplied = true;
   118 }
   118 }
   119 
   119 
   120 QPixmap HbPixmapIconRenderer::getMaskedPixmap(HbMaskableIconImpl *maskIconData)
   120 QPixmap HbPixmapIconRenderer::getMaskedPixmap(HbMaskableIconImpl *maskIconData)