messagingapp/msgui/unifiedviewer/src/univiewerbodywidget.cpp
changeset 41 25fe1fe642e3
parent 37 518b245aa84c
child 46 b1f0785c289d
equal deleted inserted replaced
40:224522e33db9 41:25fe1fe642e3
    19 
    19 
    20 // SYSTEM INCLUDES
    20 // SYSTEM INCLUDES
    21 #include <QFile>
    21 #include <QFile>
    22 #include <HbTextItem>
    22 #include <HbTextItem>
    23 #include <HbMainWindow>
    23 #include <HbMainWindow>
       
    24 #include <HbIconItem>
    24 
    25 
    25 // USER INCLUDES
    26 // USER INCLUDES
    26 #include "univiewertextitem.h"
    27 #include "univiewertextitem.h"
    27 #include "univiewerpixmapwidget.h"
    28 #include "univiewerpixmapwidget.h"
    28 #include "univieweraudiowidget.h"
    29 #include "univieweraudiowidget.h"
    37 //UniViewerBodyWidget::UniViewerBodyWidget
    38 //UniViewerBodyWidget::UniViewerBodyWidget
    38 // @see header file
    39 // @see header file
    39 //---------------------------------------------------------------
    40 //---------------------------------------------------------------
    40 UniViewerBodyWidget::UniViewerBodyWidget(QGraphicsItem *parent) :
    41 UniViewerBodyWidget::UniViewerBodyWidget(QGraphicsItem *parent) :
    41     HbWidget(parent), mHasText(false), mHasPixmap(false), mTextItem(0), mSlideCounter(0),
    42     HbWidget(parent), mHasText(false), mHasPixmap(false), mTextItem(0), mSlideCounter(0),
    42         mPixmapItem(0), mAudioItem(0)
    43         mPixmapItem(0), mAudioItem(0), mOverlayItem(0)
    43 {
    44 {
    44     this->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed);
    45     this->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed);
    45 }
    46 }
    46 
    47 
    47 //---------------------------------------------------------------
    48 //---------------------------------------------------------------
    95     setHasPixmap(true);
    96     setHasPixmap(true);
    96     //create image item instance
    97     //create image item instance
    97     if (!mPixmapItem) {
    98     if (!mPixmapItem) {
    98        mPixmapItem = new UniViewerPixmapWidget(this);
    99        mPixmapItem = new UniViewerPixmapWidget(this);
    99        HbStyle::setItemName(mPixmapItem, "pixmap");
   100        HbStyle::setItemName(mPixmapItem, "pixmap");
       
   101        connect(mPixmapItem, SIGNAL(setOverlayIcon(QString)), this, SLOT(setOverlayIcon(QString)));
   100     }
   102     }
   101     mPixmapItem->hide();
   103     mPixmapItem->hide();
   102     mPixmapItem->populate(info);
   104     mPixmapItem->populate(info);
   103     
   105     
   104     this->repolish();
   106     this->repolish();
   120     }
   122     }
   121     mTextItem->hide();
   123     mTextItem->hide();
   122     text.replace(QChar::ParagraphSeparator, QChar::LineSeparator);
   124     text.replace(QChar::ParagraphSeparator, QChar::LineSeparator);
   123     text.replace('\r', QChar::LineSeparator);
   125     text.replace('\r', QChar::LineSeparator);
   124     mTextItem->setText(text);
   126     mTextItem->setText(text);
       
   127 
   125     this->repolish();
   128     this->repolish();
   126 }
   129 }
   127 
   130 
   128 //---------------------------------------------------------------
   131 //---------------------------------------------------------------
   129 // UniViewerBodyWidget::setSlideCounter
   132 // UniViewerBodyWidget::setSlideCounter
   136         HbStyle::setItemName(mSlideCounter, "slideCounter");
   139         HbStyle::setItemName(mSlideCounter, "slideCounter");
   137     }
   140     }
   138 
   141 
   139     mSlideCounter->hide();
   142     mSlideCounter->hide();
   140     mSlideCounter->setText(slideCounter);
   143     mSlideCounter->setText(slideCounter);
       
   144 
   141     this->repolish();
   145     this->repolish();
   142 }
   146 }
   143 
   147 
   144 //---------------------------------------------------------------
   148 //---------------------------------------------------------------
   145 // UniViewerBodyWidget::setHasText
   149 // UniViewerBodyWidget::setHasText
   212         delete info;
   216         delete info;
   213     }
   217     }
   214 }
   218 }
   215 
   219 
   216 //---------------------------------------------------------------
   220 //---------------------------------------------------------------
   217 //UniViewerBodyWidget :: clearContent
   221 // UniViewerBodyWidget :: clearContent
   218 // @see header file
   222 // @see header file
   219 //---------------------------------------------------------------
   223 //---------------------------------------------------------------
   220 void UniViewerBodyWidget::clearContent()
   224 void UniViewerBodyWidget::clearContent()
   221 {
   225 {
   222     // delete the temp items(pixmap) & clear permanent items(text)
   226     // delete the temp items(pixmap) & clear permanent items(text)
   236         mTextItem->setParent(NULL);
   240         mTextItem->setParent(NULL);
   237         delete mTextItem;
   241         delete mTextItem;
   238         mTextItem = NULL;
   242         mTextItem = NULL;
   239     }
   243     }
   240 
   244 
       
   245     if (mOverlayItem) {
       
   246         mOverlayItem->setParent(NULL);
       
   247         delete mOverlayItem;
       
   248         mOverlayItem = NULL;
       
   249     }
       
   250 
   241     setHasText(false);
   251     setHasText(false);
   242     setHasPixmap(false);
   252     setHasPixmap(false);
   243     repolish();
   253     repolish();
       
   254 }
       
   255 
       
   256 //---------------------------------------------------------------
       
   257 // UniViewerBodyWidget::setOverlayIcon
       
   258 // @see header file
       
   259 //---------------------------------------------------------------
       
   260 void UniViewerBodyWidget::setOverlayIcon(const QString &iconName)
       
   261 {
       
   262     if (!mOverlayItem) {
       
   263         mOverlayItem = new HbIconItem(this);
       
   264         HbStyle::setItemName(mOverlayItem, "overlayItem");
       
   265     }
       
   266 
       
   267     mOverlayItem->hide();
       
   268     mOverlayItem->setIconName(iconName);
       
   269 
       
   270     this->repolish();
   244 }
   271 }
   245 
   272 
   246 //---------------------------------------------------------------
   273 //---------------------------------------------------------------
   247 //UniViewerBodyWidget::sizeHint
   274 //UniViewerBodyWidget::sizeHint
   248 // @see header file
   275 // @see header file
   358         pixmapSize.setWidth(widthToSet);
   385         pixmapSize.setWidth(widthToSet);
   359         mPixmapItem->setPreferredSize(pixmapSize);
   386         mPixmapItem->setPreferredSize(pixmapSize);
   360         mPixmapItem->show();
   387         mPixmapItem->show();
   361     }
   388     }
   362 
   389 
       
   390     if (mOverlayItem) {
       
   391         mOverlayItem->show();
       
   392     }
       
   393 
   363     // Calculate the size hint to be returned.
   394     // Calculate the size hint to be returned.
   364     szHint.setHeight(0);
   395     szHint.setHeight(0);
   365 
   396 
   366     if (!slideCounterSize.isNull()) {
   397     if (!slideCounterSize.isNull()) {
   367         szHint.rheight() += (slideCounterSize.height() + spacing);
   398         szHint.rheight() += (slideCounterSize.height() + spacing);