ganeswidgets/src/hgmediawall_p.cpp
changeset 12 6c0ec0ccd2d4
parent 11 42505cd701c6
equal deleted inserted replaced
11:42505cd701c6 12:6c0ec0ccd2d4
    14 * Description:
    14 * Description:
    15 *
    15 *
    16 */
    16 */
    17 
    17 
    18 #include <HbTextItem>
    18 #include <HbTextItem>
       
    19 #include <HbEvent>
       
    20 #include <QApplication>
    19 #include "hgmediawall_p.h"
    21 #include "hgmediawall_p.h"
    20 #include "hgwidgetitem.h"
    22 #include "hgwidgetitem.h"
    21 #include "hgcoverflowcontainer.h"
    23 #include "hgcoverflowcontainer.h"
    22 #include "hgcenteritemarea.h"
    24 #include "hgcenteritemarea.h"
    23 #include "trace.h"
    25 #include "trace.h"
    39 
    41 
    40     Q_Q(HgMediawall);
    42     Q_Q(HgMediawall);
    41 
    43 
    42     mTitleItem = new HbTextItem("", q);
    44     mTitleItem = new HbTextItem("", q);
    43     q->style()->setItemName(mTitleItem, "title");
    45     q->style()->setItemName(mTitleItem, "title");
       
    46     mTitleItem->setElideMode(Qt::ElideRight);
    44 
    47 
    45     mDescriptionItem = new HbTextItem("", q);
    48     mDescriptionItem = new HbTextItem("", q);
    46     q->style()->setItemName(mDescriptionItem, "description");
    49     q->style()->setItemName(mDescriptionItem, "description");
    47 
    50     mDescriptionItem->setElideMode(Qt::ElideRight);
       
    51     
    48     mCenterItemArea = new HgCenterItemArea(q);
    52     mCenterItemArea = new HgCenterItemArea(q);
    49     q->style()->setItemName(mCenterItemArea, "centeritem");
    53     q->style()->setItemName(mCenterItemArea, "centeritem");
    50 
    54 
    51     HgCoverflowContainer* container = new HgCoverflowContainer(q);
    55     HgCoverflowContainer* container = new HgCoverflowContainer(q);
    52     q->style()->setItemName(container, "content");
    56     q->style()->setItemName(container, "content");
    98         return mDescriptionItem->fontSpec();
   102         return mDescriptionItem->fontSpec();
    99     }
   103     }
   100     return HbFontSpec();
   104     return HbFontSpec();
   101 }
   105 }
   102 
   106 
   103 void HgMediawallPrivate::setTitleAndDescriptionVisibility(HgMediawall::TitleAndDescrVisibility visibility)
       
   104 {
       
   105     FUNC_LOG;
       
   106     
       
   107     mTitleAndDescrVisibility = visibility;
       
   108     
       
   109     switch (visibility) {
       
   110         case HgMediawall::TitleVisibilityBothVisible:
       
   111             qDebug() << "JARI_DEBUG, HgMediawallPrivate::setTitleAndDescriptionVisibility(): TitleVisibilityBothVisible";
       
   112             
       
   113             if (mTitleItem) {
       
   114                 mTitleItem->setVisible(true);
       
   115             }
       
   116             if (mDescriptionItem) {
       
   117                 mDescriptionItem->setVisible(true);
       
   118             }
       
   119             break;
       
   120         case HgMediawall::TitleVisibilityTitleVisible:
       
   121             qDebug() << "JARI_DEBUG, HgMediawallPrivate::setTitleAndDescriptionVisibility(): TitleVisibilityTitleVisible";
       
   122             if (mTitleItem) {
       
   123                 mTitleItem->setVisible(true);
       
   124             }
       
   125             if (mDescriptionItem) {
       
   126                 mDescriptionItem->setVisible(false);
       
   127             }
       
   128             break;
       
   129         case HgMediawall::TitleVisibilityDescriptionVisible:
       
   130             qDebug() << "JARI_DEBUG, HgMediawallPrivate::setTitleAndDescriptionVisibility(): TitleVisibilityDescriptionVisible";
       
   131             
       
   132             if (mTitleItem) {
       
   133                 mTitleItem->setVisible(false);
       
   134             }
       
   135             if (mDescriptionItem) {
       
   136                 mDescriptionItem->setVisible(true);
       
   137             }
       
   138             break;
       
   139         case HgMediawall::TitleVisibilityBothInvisible:
       
   140             qDebug() << "JARI_DEBUG, HgMediawallPrivate::setTitleAndDescriptionVisibility(): TitleVisibilityBothInvisible";
       
   141             
       
   142             if (mTitleItem) {
       
   143                 mTitleItem->setVisible(false);
       
   144             }
       
   145             if (mDescriptionItem) {
       
   146                 mDescriptionItem->setVisible(false);
       
   147             }
       
   148             break;
       
   149         default: break;
       
   150     }
       
   151 }
       
   152 
       
   153 HgMediawall::TitleAndDescrVisibility HgMediawallPrivate::titleAndDescriptionVisibility() const
       
   154 {
       
   155     return mTitleAndDescrVisibility;
       
   156 }
       
   157 
       
   158 HgCoverflowContainer *HgMediawallPrivate::container()
   107 HgCoverflowContainer *HgMediawallPrivate::container()
   159 {
   108 {
   160     HANDLE_ERROR_NULL(mContainer);
   109     HANDLE_ERROR_NULL(mContainer);
   161     return qobject_cast<HgCoverflowContainer *>(mContainer);
   110     return qobject_cast<HgCoverflowContainer *>(mContainer);
   162 }
   111 }
   180         mTitleItem->setText(item->title());
   129         mTitleItem->setText(item->title());
   181         mDescriptionItem->setText(item->description());
   130         mDescriptionItem->setText(item->description());
   182     }
   131     }
   183 }
   132 }
   184 
   133 
       
   134 void HgMediawallPrivate::handleThemeChanged()
       
   135 {
       
   136     HgWidgetPrivate::handleThemeChanged();
       
   137     
       
   138     if (mTitleItem || mDescriptionItem) {
       
   139         Q_Q(HgMediawall);
       
   140     
       
   141         // this is needed to enforce color fetch from CSS
       
   142         HbEvent themeEvent(HbEvent::ThemeChanged);
       
   143         QApplication::sendEvent(q, &themeEvent);    
       
   144     }
       
   145 }
       
   146 
   185 // EOF
   147 // EOF