messagingapp/msgui/conversationview/src/msgconversationwidget.cpp
branchRCL_3
changeset 57 ebe688cedc25
equal deleted inserted replaced
54:fa1df4b99609 57:ebe688cedc25
       
     1 /*
       
     2  * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
       
     3  * All rights reserved.
       
     4  * This component and the accompanying materials are made available
       
     5  * under the terms of "Eclipse Public License v1.0"
       
     6  * which accompanies this distribution, and is available
       
     7  * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8  *
       
     9  * Initial Contributors:
       
    10  * Nokia Corporation - initial contribution.
       
    11  *
       
    12  * Contributors:
       
    13  *
       
    14  * Description:
       
    15  *
       
    16  */
       
    17 #include "msgconversationwidget.h"
       
    18 
       
    19 #include <HbTextItem>
       
    20 #include <HbFrameItem>
       
    21 #include <HbFrameDrawer>
       
    22 #include <HbIconItem>
       
    23 #include <QPainter>
       
    24 #include <QPixmap>
       
    25 #include <QImageReader>
       
    26 #include <QDir>
       
    27 #include <HbEffect>
       
    28 #include <s32strm.h>
       
    29 #include <s32mem.h>
       
    30 #include <fbs.h>
       
    31 #include <sqldb.h>
       
    32 #include <QBool>
       
    33 #include <QCoreApplication>
       
    34 #include <HbEvent>
       
    35 #include <HbMainWindow>
       
    36 
       
    37 #include "debugtraces.h"
       
    38 
       
    39 #include "convergedmessage.h"
       
    40 #include "conversationsengine.h"
       
    41 
       
    42 // Icons
       
    43 static const char MSG_HIGH_PRIORITY_ICON[] = "qtg_small_priority_high";
       
    44 static const char MSG_LOW_PRIORITY_ICON[]  = "qtg_small_priority_low";
       
    45 static const char MSG_ATTACH_ICON[]        = "qtg_small_attachment";
       
    46 static const char MSG_AUDIO_PLAY_ICON[]    = "qtg_small_sound";
       
    47 
       
    48 // Frames
       
    49 static const char CV_RECEIVED_NORMAL_FR[]    = "qtg_fr_convlist_received_normal";
       
    50 static const char CV_RECEIVED_PRESSED_FR[]   = "qtg_fr_convlist_received_pressed";
       
    51 static const char CV_RECEIVED_HIGHLIGHT_FR[] = "qtg_fr_convlist_received_highlight";
       
    52 static const char CV_SENT_NORMAL_FR[]        = "qtg_fr_convlist_sent_normal";
       
    53 static const char CV_SENT_PRESSED_FR[]       = "qtg_fr_convlist_sent_pressed";
       
    54 static const char CV_SENT_HIGHLIGHT_FR[]     = "qtg_fr_convlist_sent_highlight";
       
    55 static const char NEW_ITEM_FRAME[]           = "qtg_fr_list_new_item";
       
    56 
       
    57 //Localization
       
    58 #define LOC_MULTIMEDIA_MESSAGE hbTrId("txt_messaging_list_bubble_multimedia_message")
       
    59 
       
    60 //---------------------------------------------------------------
       
    61 // MsgConversationWidget::MsgConversationWidget
       
    62 // @see header file
       
    63 //---------------------------------------------------------------
       
    64 MsgConversationWidget::MsgConversationWidget(QGraphicsItem *parent) :
       
    65         HbWidget(parent),
       
    66         mHasAttachment(false),
       
    67         mHasImage(false),
       
    68         mHasAudio(false),
       
    69         mHasVideo(false),
       
    70         mIsPlayable(false),
       
    71         mIncoming(false),
       
    72         mUnread(false),
       
    73         mIsMMS(false),
       
    74         mIsMMSNotification(false),
       
    75         mPriority(0),
       
    76         mSendingState(Unknown),
       
    77         mNotificationState(0),
       
    78         mNewFrameItem(NULL),
       
    79         mBubbleFrameItem(NULL),
       
    80         mSubjectTextItem(NULL),
       
    81         mBodyTextItem(NULL),
       
    82         mTimeStampTextItem(NULL),
       
    83         mPriorityIconItem(NULL),
       
    84         mAttachmentIconItem(NULL),
       
    85         mAudioIconItem(NULL),
       
    86         mVideoIconItem(NULL),
       
    87         mPlayIconItem(NULL),
       
    88         mPreviewIconItem(NULL)
       
    89 
       
    90 
       
    91 {
       
    92     init();
       
    93 }
       
    94 
       
    95 //---------------------------------------------------------------
       
    96 // MsgConversationWidget::~MsgConversationWidget
       
    97 // @see header file
       
    98 //---------------------------------------------------------------
       
    99 MsgConversationWidget::~MsgConversationWidget()
       
   100 {
       
   101 
       
   102 }
       
   103 
       
   104 //---------------------------------------------------------------
       
   105 // MsgConversationWidget::init
       
   106 // @see header file
       
   107 //---------------------------------------------------------------
       
   108 void MsgConversationWidget::init()
       
   109 {
       
   110     // Common to SMS/MMS
       
   111 
       
   112     mBubbleFrameItem = new HbFrameItem(this);
       
   113     mBubbleFrameItem->frameDrawer().setFrameType(HbFrameDrawer::NinePieces);
       
   114     HbStyle::setItemName(mBubbleFrameItem, "bubble");
       
   115 
       
   116     mNewFrameItem = new HbFrameItem(this);
       
   117     mNewFrameItem->frameDrawer().setFrameType(HbFrameDrawer::ThreePiecesVertical);
       
   118     HbStyle::setItemName(mNewFrameItem, "newItemIcon");
       
   119     
       
   120     mSubjectTextItem = new HbTextItem(this);  
       
   121     mSubjectTextItem->setTextWrapping(Hb::TextNoWrap);  
       
   122     HbStyle::setItemName(mSubjectTextItem, "subject");
       
   123     
       
   124     mBodyTextItem = new HbTextItem(this);
       
   125     mBodyTextItem->setTextWrapping(Hb::TextWordWrap);
       
   126     HbStyle::setItemName(mBodyTextItem, "bodyText");
       
   127     
       
   128     mPreviewIconItem = new HbIconItem(this);
       
   129     HbStyle::setItemName(mPreviewIconItem, "preview");
       
   130     
       
   131     mPriorityIconItem = new HbIconItem(this);            
       
   132     HbStyle::setItemName(mPriorityIconItem, "priority");
       
   133     
       
   134     mAttachmentIconItem = new HbIconItem(this);
       
   135     HbStyle::setItemName(mAttachmentIconItem, "attachment");
       
   136     
       
   137     mPlayIconItem = new HbIconItem(this);                
       
   138     HbStyle::setItemName(mPlayIconItem, "playIcon");
       
   139     
       
   140     mTimeStampTextItem = new HbTextItem(this);
       
   141     HbStyle::setItemName(mTimeStampTextItem, "timeStamp");
       
   142     
       
   143     HbWidget* headerContainer = new HbWidget(this);
       
   144     HbStyle::setItemName(headerContainer, "headerItem");
       
   145     
       
   146     HbMainWindow *mainWindow = this->mainWindow();
       
   147     connect(mainWindow, SIGNAL(orientationChanged(Qt::Orientation)), this, 
       
   148 			SLOT(orientationchanged(Qt::Orientation)),Qt::UniqueConnection);
       
   149     polishEvent();
       
   150     }
       
   151 
       
   152 //---------------------------------------------------------------
       
   153 // MsgConversationWidget::setSubject
       
   154 // @see header file
       
   155 //---------------------------------------------------------------
       
   156 void MsgConversationWidget::setSubject(const QString &subject)
       
   157 {
       
   158     QString sub = subject;
       
   159     if(subject.trimmed().isEmpty())
       
   160     {
       
   161         sub = LOC_MULTIMEDIA_MESSAGE;
       
   162     }
       
   163     HbStyle::setItemName(mSubjectTextItem, "subject");
       
   164     mSubjectTextItem->setText(sub);
       
   165     mSubjectTextItem->show();
       
   166 }
       
   167 
       
   168 //---------------------------------------------------------------
       
   169 // MsgConversationWidget::setBodyText
       
   170 // @see header file
       
   171 //---------------------------------------------------------------
       
   172 void MsgConversationWidget::setBodyText(const QString &body)
       
   173 {
       
   174     if(body.isEmpty())
       
   175     {
       
   176         return;
       
   177     }
       
   178     HbStyle::setItemName(mBodyTextItem, "bodyText");
       
   179 
       
   180     mBodyTextItem->setText(body);
       
   181     mBodyTextItem->show();
       
   182 }
       
   183 
       
   184 //---------------------------------------------------------------
       
   185 // MsgConversationWidget::setPreviewIcon
       
   186 // @see header file
       
   187 //---------------------------------------------------------------
       
   188 void MsgConversationWidget::setPreviewIcon(HbIcon& icon)
       
   189 {
       
   190     QCRITICAL_WRITE("MsgConversationWidget::setPreviewIcon start.")
       
   191 
       
   192 
       
   193     HbStyle::setItemName(mPreviewIconItem, "preview");
       
   194 
       
   195     mPreviewIconItem->setIcon(icon);
       
   196     mPreviewIconItem->setPreferredSize(icon.size());
       
   197     mPreviewIconItem->show();
       
   198 
       
   199     QCRITICAL_WRITE("MsgConversationWidget::setPreviewIcon end.")
       
   200 }
       
   201 
       
   202 
       
   203 //---------------------------------------------------------------
       
   204 // MsgConversationWidget::setPriority
       
   205 // @see header file
       
   206 //---------------------------------------------------------------
       
   207 void MsgConversationWidget::setPriority(int priority)
       
   208 {
       
   209     mPriority = priority;
       
   210 
       
   211     if (priority)
       
   212     {
       
   213         HbStyle::setItemName(mPriorityIconItem, "priority");
       
   214         if (ConvergedMessage::Low == priority)
       
   215         {
       
   216             mPriorityIconItem->setIcon(HbIcon(MSG_LOW_PRIORITY_ICON));
       
   217         }
       
   218         else if (ConvergedMessage::High == priority)
       
   219         {
       
   220             mPriorityIconItem->setIcon(HbIcon(MSG_HIGH_PRIORITY_ICON));
       
   221         }
       
   222         mPriorityIconItem->show();
       
   223     }
       
   224 }
       
   225 
       
   226 //---------------------------------------------------------------
       
   227 // MsgConversationWidget::priority
       
   228 // @see header file
       
   229 //---------------------------------------------------------------
       
   230 int MsgConversationWidget::priority()
       
   231 {
       
   232     return mPriority;
       
   233 }
       
   234 
       
   235 //---------------------------------------------------------------
       
   236 // MsgConversationWidget::setAttachment
       
   237 // @see header file
       
   238 //---------------------------------------------------------------
       
   239 void MsgConversationWidget::setAttachment(bool attachment)
       
   240 {
       
   241     mHasAttachment = attachment;
       
   242 
       
   243     if (attachment)
       
   244     {
       
   245         HbStyle::setItemName(mAttachmentIconItem, "attachment");
       
   246         mAttachmentIconItem->setIcon(HbIcon(MSG_ATTACH_ICON));
       
   247         mAttachmentIconItem->show();
       
   248     }
       
   249 }
       
   250 
       
   251 //---------------------------------------------------------------
       
   252 // MsgConversationWidget::hasAttachment
       
   253 // @see header file
       
   254 //---------------------------------------------------------------
       
   255 bool MsgConversationWidget::hasAttachment()
       
   256 {
       
   257     return mHasAttachment;
       
   258 }
       
   259 
       
   260 //---------------------------------------------------------------
       
   261 // MsgConversationWidget::setImage
       
   262 // @see header file
       
   263 //---------------------------------------------------------------
       
   264 void MsgConversationWidget::setImage(bool image)
       
   265 {
       
   266     mHasImage = image;
       
   267 }
       
   268 
       
   269 //---------------------------------------------------------------
       
   270 // MsgConversationWidget::hasImage
       
   271 // @see header file
       
   272 //---------------------------------------------------------------
       
   273 bool MsgConversationWidget::hasImage()
       
   274 {
       
   275     return mHasImage;
       
   276 }
       
   277 
       
   278 //---------------------------------------------------------------
       
   279 // MsgConversationWidget::setAudio
       
   280 // @see header file
       
   281 //---------------------------------------------------------------
       
   282 void MsgConversationWidget::setAudio(bool audio)
       
   283 {
       
   284     mHasAudio = audio;
       
   285 }
       
   286 
       
   287 //---------------------------------------------------------------
       
   288 // MsgConversationWidget::hasAudio
       
   289 // @see header file
       
   290 //---------------------------------------------------------------
       
   291 bool MsgConversationWidget::hasAudio()
       
   292 {
       
   293     return mHasAudio;
       
   294 }
       
   295 
       
   296 //---------------------------------------------------------------
       
   297 // MsgConversationWidget::displayAudioIcon
       
   298 // @see header file
       
   299 //---------------------------------------------------------------
       
   300 void MsgConversationWidget::displayAudioIcon(const QString &iconPath)
       
   301 {
       
   302     if (hasAudio())
       
   303     {
       
   304         if (!hasImage())
       
   305         {
       
   306             HbStyle::setItemName(mPreviewIconItem, "preview");
       
   307             mPreviewIconItem->setIconName(iconPath.isEmpty() ? MSG_AUDIO_PLAY_ICON : iconPath);
       
   308             mPreviewIconItem->show(); 
       
   309         }
       
   310         else
       
   311         {
       
   312             HbStyle::setItemName(mPlayIconItem, "playIcon");
       
   313             mPlayIconItem->setIconName(iconPath.isEmpty() ? MSG_AUDIO_PLAY_ICON : iconPath);
       
   314             mPlayIconItem->show();          
       
   315         }       
       
   316     }
       
   317 }
       
   318 
       
   319 //---------------------------------------------------------------
       
   320 // MsgConversationWidget::setVideo
       
   321 // @see header file
       
   322 //---------------------------------------------------------------
       
   323 void MsgConversationWidget::setVideo(bool video)
       
   324 {
       
   325     mHasVideo = video;
       
   326 }
       
   327 
       
   328 //---------------------------------------------------------------
       
   329 // MsgConversationWidget::hasVideo
       
   330 // @see header file
       
   331 //---------------------------------------------------------------
       
   332 bool MsgConversationWidget::hasVideo()
       
   333 {
       
   334     return mHasVideo;
       
   335 }
       
   336 
       
   337 //---------------------------------------------------------------
       
   338 // MsgConversationWidget::setPlayable
       
   339 // @see header file
       
   340 //---------------------------------------------------------------
       
   341 void MsgConversationWidget::setPlayable(bool playable)
       
   342 {
       
   343     mIsPlayable = playable;
       
   344 }
       
   345 
       
   346 //---------------------------------------------------------------
       
   347 // MsgConversationWidget::isPlayable
       
   348 // @see header file
       
   349 //---------------------------------------------------------------
       
   350 bool MsgConversationWidget::isPlayable()
       
   351 {
       
   352     return mIsPlayable;
       
   353 }
       
   354 
       
   355 //---------------------------------------------------------------
       
   356 // MsgConversationWidget::setIncoming
       
   357 // @see header file
       
   358 //---------------------------------------------------------------
       
   359 void MsgConversationWidget::setIncoming(bool incoming)
       
   360 {
       
   361     mIncoming = incoming;
       
   362 }
       
   363 
       
   364 //---------------------------------------------------------------
       
   365 // MsgConversationWidget::isIncoming
       
   366 // @see header file
       
   367 //---------------------------------------------------------------
       
   368 bool MsgConversationWidget::isIncoming()
       
   369 {
       
   370     return mIncoming;
       
   371 }
       
   372 
       
   373 //---------------------------------------------------------------
       
   374 // MsgConversationWidget::setUnread
       
   375 // @see header file
       
   376 //---------------------------------------------------------------
       
   377 void MsgConversationWidget::setUnread(bool unread)
       
   378 {
       
   379     mUnread = unread;
       
   380     // Needed for colour group changes to be visible
       
   381     QCoreApplication::postEvent(this, new HbEvent(HbEvent::ThemeChanged));  
       
   382 }
       
   383 
       
   384 //---------------------------------------------------------------
       
   385 // MsgConversationWidget::isUnread
       
   386 // @see header file
       
   387 //---------------------------------------------------------------
       
   388 bool MsgConversationWidget::isUnread()
       
   389 {
       
   390     return mUnread;
       
   391 }
       
   392 
       
   393 //---------------------------------------------------------------
       
   394 // MsgConversationWidget::setMMS
       
   395 // @see header file
       
   396 //---------------------------------------------------------------
       
   397 void MsgConversationWidget::setMMS(bool isMMS)
       
   398 {
       
   399     mIsMMS = isMMS;
       
   400 }
       
   401 
       
   402 //---------------------------------------------------------------
       
   403 // MsgConversationWidget::isMMS
       
   404 // @see header file
       
   405 //---------------------------------------------------------------
       
   406 bool MsgConversationWidget::isMMS()
       
   407 {
       
   408     return mIsMMS;
       
   409 }
       
   410 
       
   411 //---------------------------------------------------------------
       
   412 // MsgConversationWidget::setMMSNotification
       
   413 // @see header file
       
   414 //---------------------------------------------------------------
       
   415 void MsgConversationWidget::setMMSNotification(bool isMMSNotification)
       
   416 {
       
   417     mIsMMSNotification = isMMSNotification;
       
   418 }
       
   419 
       
   420 //---------------------------------------------------------------
       
   421 // MsgConversationWidget::isMMS
       
   422 // @see header file
       
   423 //---------------------------------------------------------------
       
   424 bool MsgConversationWidget::isMMSNotification()
       
   425 {
       
   426     return mIsMMSNotification;
       
   427 }
       
   428 
       
   429 //---------------------------------------------------------------
       
   430 // MsgConversationWidget::setSendingState
       
   431 // @see header file
       
   432 //---------------------------------------------------------------
       
   433 void MsgConversationWidget::setSendingState(int state)
       
   434 {
       
   435     switch (state)
       
   436     {
       
   437         case ConvergedMessage::SentState:
       
   438         {
       
   439             mSendingState = Sent;
       
   440             // Needed for colour group changes to be visible
       
   441             QCoreApplication::postEvent(this, new HbEvent(HbEvent::ThemeChanged));  
       
   442             break;
       
   443         }
       
   444         case ConvergedMessage::Sending:
       
   445         {
       
   446             mSendingState = Sending;
       
   447             break;
       
   448         }
       
   449         case ConvergedMessage::Suspended:
       
   450         case ConvergedMessage::Resend:
       
   451         {
       
   452             mSendingState = Pending;
       
   453             break;
       
   454         }
       
   455         case ConvergedMessage::Failed:
       
   456         {
       
   457             mSendingState = Failed;
       
   458             break;
       
   459         }
       
   460         default:
       
   461         {
       
   462             mSendingState = Unknown;
       
   463             break;
       
   464         }
       
   465     }
       
   466 }
       
   467 
       
   468 //---------------------------------------------------------------
       
   469 // MsgConversationWidget::sendingState
       
   470 // @see header file
       
   471 //---------------------------------------------------------------
       
   472 MsgConversationWidget::SendingState MsgConversationWidget::sendingState()
       
   473 {
       
   474     return mSendingState;
       
   475 }
       
   476 
       
   477 //---------------------------------------------------------------
       
   478 // MsgConversationWidget::setNotificationState
       
   479 // @see header file
       
   480 //---------------------------------------------------------------
       
   481 void MsgConversationWidget::setNotificationState(int state)
       
   482 {
       
   483     switch (state)
       
   484     {
       
   485         case ConvergedMessage::NotifFailed:
       
   486         {
       
   487             mNotificationState = NotifFailed;
       
   488             break;
       
   489         }
       
   490         case ConvergedMessage::NotifReadyForFetching:
       
   491         {
       
   492             mNotificationState = NotifReadyForFetching;
       
   493             break;
       
   494         }
       
   495         case ConvergedMessage::NotifRetrieving:
       
   496         case ConvergedMessage::NotifWaiting:
       
   497         {
       
   498             mNotificationState = NotifRetrieving;
       
   499             break;
       
   500         }
       
   501         case ConvergedMessage::NotifExpired:
       
   502         {
       
   503             mNotificationState = NotifExpired;
       
   504             break;
       
   505         }
       
   506         default:
       
   507         {
       
   508             mNotificationState = NotifUnknown;
       
   509             break;
       
   510         }
       
   511     }
       
   512 }
       
   513 
       
   514 //---------------------------------------------------------------
       
   515 // MsgConversationWidget::notificationState
       
   516 // @see header file
       
   517 //---------------------------------------------------------------
       
   518 int MsgConversationWidget::notificationState()
       
   519 {
       
   520     return mNotificationState;
       
   521 }
       
   522 
       
   523 //---------------------------------------------------------------
       
   524 // MsgConversationWidget::setTimeStamp
       
   525 // @see header file
       
   526 //---------------------------------------------------------------
       
   527 void MsgConversationWidget::setTimeStamp(const QString &timeStamp)
       
   528 {
       
   529     HbStyle::setItemName(mTimeStampTextItem, "timeStamp");
       
   530 
       
   531     mTimeStampTextItem->setText(timeStamp);
       
   532     mTimeStampTextItem->show();
       
   533  
       
   534 }
       
   535 
       
   536 //---------------------------------------------------------------
       
   537 // MsgConversationWidget::drawNewItemFrame
       
   538 // @see header file
       
   539 //---------------------------------------------------------------
       
   540 void MsgConversationWidget::drawNewItemFrame()
       
   541 {
       
   542     if (mUnread)
       
   543     {
       
   544         mNewFrameItem->frameDrawer().setFrameGraphicsName(NEW_ITEM_FRAME);
       
   545     }
       
   546     else
       
   547     {
       
   548         mNewFrameItem->frameDrawer().setFrameGraphicsName(QString());
       
   549     }
       
   550 }
       
   551 
       
   552 //---------------------------------------------------------------
       
   553 // MsgConversationWidget::drawBubbleFrame
       
   554 // @see header file
       
   555 //---------------------------------------------------------------
       
   556 void MsgConversationWidget::drawBubbleFrame()
       
   557 {
       
   558     if(isIncoming())
       
   559     {
       
   560         if (mIsMMSNotification && (mNotificationState == NotifUnknown
       
   561                 || mNotificationState == NotifRetrieving ))
       
   562         {
       
   563             mBubbleFrameItem->frameDrawer().setFrameGraphicsName(
       
   564                 CV_RECEIVED_HIGHLIGHT_FR);
       
   565             //Inactive state bubble  
       
   566         }
       
   567         else
       
   568         {
       
   569             mBubbleFrameItem->frameDrawer().setFrameGraphicsName(CV_RECEIVED_NORMAL_FR);
       
   570         }
       
   571     }
       
   572     else
       
   573     {
       
   574             mBubbleFrameItem->frameDrawer().setFrameGraphicsName(CV_SENT_NORMAL_FR);
       
   575     }
       
   576 }
       
   577 
       
   578 //---------------------------------------------------------------
       
   579 // MsgConversationWidget::drawPressedBubbleFrame
       
   580 // @see header file
       
   581 //---------------------------------------------------------------
       
   582 void MsgConversationWidget::drawPressedBubbleFrame()
       
   583 {
       
   584     if(isIncoming())
       
   585     {
       
   586         mBubbleFrameItem->frameDrawer().setFrameGraphicsName(CV_RECEIVED_PRESSED_FR);
       
   587     }
       
   588     else
       
   589     {
       
   590         mBubbleFrameItem->frameDrawer().setFrameGraphicsName(CV_SENT_PRESSED_FR);
       
   591     }
       
   592 }
       
   593 
       
   594 //---------------------------------------------------------------
       
   595 // MsgConversationWidget::pressStateChanged
       
   596 // @see header file
       
   597 //---------------------------------------------------------------
       
   598 void MsgConversationWidget::pressStateChanged(bool pressed, bool animate)
       
   599 {
       
   600     Q_UNUSED(animate)
       
   601 
       
   602     if (mBubbleFrameItem) {
       
   603         (pressed) ? drawPressedBubbleFrame() : drawBubbleFrame();
       
   604     }
       
   605 }
       
   606 
       
   607 //---------------------------------------------------------------
       
   608 // MsgConversationWidget::resetProperties
       
   609 // @see header file
       
   610 //---------------------------------------------------------------
       
   611 void MsgConversationWidget::resetProperties()
       
   612     	{
       
   613         mHasAttachment = false;
       
   614         mHasImage = false;
       
   615         mHasAudio = false;
       
   616         mHasVideo = false;
       
   617         mIsPlayable =false;
       
   618         mIncoming =false;
       
   619         mUnread =false;
       
   620         mIsMMS = false;
       
   621         mIsMMSNotification= false;
       
   622         mPriority = 0;
       
   623         mSendingState =Unknown;
       
   624         mNotificationState =0;
       
   625         
       
   626 		if(mBodyTextItem){
       
   627 			  mBodyTextItem->setText(QString());
       
   628         mBodyTextItem->hide();
       
   629         HbStyle::setItemName(mBodyTextItem, "");
       
   630 	    }
       
   631     
       
   632 	    if(mSubjectTextItem){
       
   633 	    	  mSubjectTextItem->setText(QString());
       
   634 	        mSubjectTextItem->hide();
       
   635 	        HbStyle::setItemName(mSubjectTextItem, "");
       
   636 	    }
       
   637     
       
   638 	    if(mTimeStampTextItem){
       
   639 	    	  mTimeStampTextItem->setText(QString());
       
   640 	        mTimeStampTextItem->hide();
       
   641 	        HbStyle::setItemName(mTimeStampTextItem, "");        
       
   642 	    }   
       
   643     
       
   644 	    if(mAttachmentIconItem){
       
   645 	        mAttachmentIconItem->hide();
       
   646 	        HbStyle::setItemName(mAttachmentIconItem, "");
       
   647 	    }
       
   648     
       
   649 	   if(mPriorityIconItem){
       
   650 	       HbStyle::setItemName(mPriorityIconItem, "");
       
   651 	        mPriorityIconItem->hide();
       
   652 	    }
       
   653          
       
   654 	    if(mPlayIconItem){
       
   655 	        HbStyle::setItemName(mPlayIconItem, "");
       
   656 	        mPlayIconItem->hide();
       
   657 	       }
       
   658     
       
   659 	    if(mPreviewIconItem){
       
   660 	        HbStyle::setItemName(mPreviewIconItem, "");
       
   661 	        mPreviewIconItem->hide();               
       
   662 	       }    
       
   663     	}
       
   664 
       
   665 //---------------------------------------------------------------
       
   666 // MsgConversationWidget::orientationchanged
       
   667 // @see header file
       
   668 //---------------------------------------------------------------
       
   669 void MsgConversationWidget::orientationchanged(Qt::Orientation orientation)
       
   670 {
       
   671     Q_UNUSED(orientation)
       
   672     QDEBUG_WRITE("MsgConversationWidget:orientationchanged start.")
       
   673             
       
   674     repolish();
       
   675     
       
   676     QDEBUG_WRITE("MsgConversationWidget:orientationchanged end.")    
       
   677 }
       
   678 
       
   679 //---------------------------------------------------------------
       
   680 // MsgConversationWidget::polish
       
   681 // @see header file
       
   682 //---------------------------------------------------------------
       
   683 void MsgConversationWidget::polish(HbStyleParameters &params)
       
   684 {   
       
   685     QString bubbleOrig = HbStyle::itemName(mBubbleFrameItem);
       
   686     QString newItemIconOrig = HbStyle::itemName(mNewFrameItem);
       
   687     QString subjectOrig = HbStyle::itemName(mSubjectTextItem);
       
   688     QString bodyTextOrig = HbStyle::itemName(mBodyTextItem);
       
   689     QString previewOrig = HbStyle::itemName(mPreviewIconItem);
       
   690     QString priorityOrig = HbStyle::itemName(mPriorityIconItem);
       
   691     QString attachmentOrig = HbStyle::itemName(mAttachmentIconItem);
       
   692     QString timeStampOrig = HbStyle::itemName(mTimeStampTextItem);
       
   693     QString playIconOrig = HbStyle::itemName(mPlayIconItem);
       
   694 
       
   695     // Make sure that all the sub-items are polished in every polish.
       
   696     HbStyle::setItemName(mBubbleFrameItem, "bubble");
       
   697     HbStyle::setItemName(mNewFrameItem, "newItemIcon");
       
   698     HbStyle::setItemName(mSubjectTextItem, "subject");
       
   699     HbStyle::setItemName(mBodyTextItem, "bodyText");
       
   700     HbStyle::setItemName(mPreviewIconItem, "preview");
       
   701     HbStyle::setItemName(mPriorityIconItem, "priority");
       
   702     HbStyle::setItemName(mAttachmentIconItem, "attachment");
       
   703     HbStyle::setItemName(mTimeStampTextItem, "timeStamp");
       
   704     HbStyle::setItemName(mPlayIconItem, "playIcon");
       
   705 
       
   706     HbWidget::polish(params);
       
   707 
       
   708     HbStyle::setItemName(mBubbleFrameItem, bubbleOrig);
       
   709     HbStyle::setItemName(mNewFrameItem, newItemIconOrig);
       
   710     HbStyle::setItemName(mSubjectTextItem, subjectOrig);
       
   711     HbStyle::setItemName(mBodyTextItem, bodyTextOrig);
       
   712     HbStyle::setItemName(mPreviewIconItem, previewOrig);
       
   713     HbStyle::setItemName(mPriorityIconItem, priorityOrig);
       
   714     HbStyle::setItemName(mAttachmentIconItem, attachmentOrig);
       
   715     HbStyle::setItemName(mTimeStampTextItem, timeStampOrig);
       
   716     HbStyle::setItemName(mPlayIconItem, playIconOrig);
       
   717 }
       
   718 
       
   719 //---------------------------------------------------------------
       
   720 // MsgConversationWidget::repolishWidget
       
   721 // @see header file
       
   722 //---------------------------------------------------------------
       
   723 void MsgConversationWidget::repolishWidget()
       
   724     	{
       
   725     	repolish();
       
   726     	}
       
   727 
       
   728 
       
   729 // EOF