screensaver/screensaverplugins/snsrbigclockscreensaverplugin/snsrclockwidgets/src/snsroledtimelabel.cpp
changeset 86 e4f038c420f7
parent 69 87476091b3f5
equal deleted inserted replaced
81:7dd137878ff8 86:e4f038c420f7
    16 */
    16 */
    17 
    17 
    18 #include "snsroledtimelabel.h"
    18 #include "snsroledtimelabel.h"
    19 
    19 
    20 #include <hbevent.h>
    20 #include <hbevent.h>
    21 #include <hbcolorscheme.h>
       
    22 #include <QPainter>
    21 #include <QPainter>
    23 
    22 
    24 
    23 
    25 const QString snsrForegroundColorRole("snsrforeground");
       
    26 
    24 
    27 /*!
    25 /*!
    28     \class SnsrOledTimeLabel
    26     \class SnsrOledTimeLabel
    29     \ingroup group_snsrbigclockscreensaverprovider
    27     \ingroup group_snsrbigclockscreensaverprovider
    30     \brief Screensaver oled digital clock's time label
    28     \brief Screensaver oled digital clock's time label
    36  */
    34  */
    37 
    35 
    38 SnsrOledTimeLabel::SnsrOledTimeLabel(QGraphicsItem *parent)
    36 SnsrOledTimeLabel::SnsrOledTimeLabel(QGraphicsItem *parent)
    39     : HbTextItem(parent)
    37     : HbTextItem(parent)
    40 {
    38 {
    41     setThemedTextColor();
    39     setTextColor(Qt::white);
    42     
    40     
    43     setMinimumLines( 1 );
    41     setMinimumLines( 1 );
    44     setMaximumLines( 1 );
    42     setMaximumLines( 1 );
    45     setAlignment(Qt::AlignCenter);
    43     setAlignment(Qt::AlignCenter);
    46     
    44     
   110     // Must restore the painter or the whole UI will be messed up!
   108     // Must restore the painter or the whole UI will be messed up!
   111     painter->restore();
   109     painter->restore();
   112 
   110 
   113 }
   111 }
   114 
   112 
   115 /*!
       
   116     \reimp
       
   117  */
       
   118 void SnsrOledTimeLabel::changeEvent(QEvent * event)
       
   119 {
       
   120     if (event->type() == HbEvent::ThemeChanged) {
       
   121         setThemedTextColor();
       
   122     }
       
   123     return HbTextItem::changeEvent(event);
       
   124 }
       
   125 
       
   126 
       
   127 /*!
       
   128     Sets the time label's color to follow the theme.
       
   129  */
       
   130 void SnsrOledTimeLabel::setThemedTextColor()
       
   131 {
       
   132     QColor textColor(HbColorScheme::color(snsrForegroundColorRole));
       
   133     if (textColor.isValid()) {
       
   134         setTextColor(textColor);
       
   135     } else {
       
   136         // fallback mechanism when color definition is missing in default theme
       
   137         setTextColor(Qt::white);
       
   138     }
       
   139 }
       
   140 
       
   141