messagingapp/msgui/conversationview/src/msgconversationviewitem.cpp
changeset 43 35b64624a9e7
parent 34 84197e66a4bd
child 44 36f374c67aa8
equal deleted inserted replaced
34:84197e66a4bd 43:35b64624a9e7
    25 #include <HbTextItem>
    25 #include <HbTextItem>
    26 #include <HbIconItem>
    26 #include <HbIconItem>
    27 #include <HbIconAnimationManager>
    27 #include <HbIconAnimationManager>
    28 #include <HbIconAnimator>
    28 #include <HbIconAnimator>
    29 #include <ccsdefs.h>
    29 #include <ccsdefs.h>
       
    30 #include <hbinstance>
    30 
    31 
    31 // USER INCLUDES
    32 // USER INCLUDES
    32 #include "msgconversationwidget.h"
    33 #include "msgconversationwidget.h"
    33 #include "msgviewdefines.h"
    34 #include "msgviewdefines.h"
    34 #include "msgviewutils.h"
    35 #include "msgviewutils.h"
    39 const QString MSG_OUTBOX_ICON("qtg_small_outbox");
    40 const QString MSG_OUTBOX_ICON("qtg_small_outbox");
    40 const QString MSG_FAIL_ICON("qtg_small_fail");
    41 const QString MSG_FAIL_ICON("qtg_small_fail");
    41 const QString ANIMATION_FILE(":/qtg_anim_loading.axml");
    42 const QString ANIMATION_FILE(":/qtg_anim_loading.axml");
    42 const QString ANIMATION_ICON_NAME("qtg_anim_loading");
    43 const QString ANIMATION_ICON_NAME("qtg_anim_loading");
    43 const QString VCARD_ICON("qtg_large_mycard");
    44 const QString VCARD_ICON("qtg_large_mycard");
       
    45 const QString IMAGE_ICON("qtg_small_image");
       
    46 const QString CORRUPTED_ICON("qtg_large_corrupted");
       
    47 const QString MSG_VIDEO_ICON("qtg_large_video_player");
    44 
    48 
    45 // LOCALIZATION
    49 // LOCALIZATION
    46 #define LOC_RINGING_TONE hbTrId("txt_messaging_dpopinfo_ringing_tone")
    50 #define LOC_RINGING_TONE hbTrId("txt_messaging_dpopinfo_ringing_tone")
    47 #define LOC_BUSINESS_CARD hbTrId("txt_messaging_list_business_card")
    51 #define LOC_BUSINESS_CARD hbTrId("txt_messaging_list_business_card")
    48 #define LOC_CALENDAR_EVENT hbTrId("txt_messaging_list_calendar_event")
    52 #define LOC_CALENDAR_EVENT hbTrId("txt_messaging_list_calendar_event")
   284         
   288         
   285         // Now set the media contents
   289         // Now set the media contents
   286         
   290         
   287         //preview image
   291         //preview image
   288         bool hasImage = (msgProperty & EPreviewImage) ? true : false;
   292         bool hasImage = (msgProperty & EPreviewImage) ? true : false;
   289 
       
   290         if (hasImage)
   293         if (hasImage)
   291         {
   294           {
   292             QVariant previewData = index.data(PreviewIcon);
   295             mConversation->setImage(true);
   293 
       
   294             HbIcon previewIcon;
   296             HbIcon previewIcon;
   295             previewIcon = qvariant_cast<HbIcon> (previewData);
   297             if (msgProperty & EPreviewProtectedImage)
   296 
   298               {
       
   299                 // TODO: Change to official icon.
       
   300                 previewIcon = HbIcon(IMAGE_ICON);
       
   301               }
       
   302             else if (msgProperty & EPreviewCorruptedImage)
       
   303               {
       
   304                 // TODO: Change to official icon.
       
   305                 previewIcon = HbIcon(CORRUPTED_ICON);
       
   306               }
       
   307             else
       
   308               {
       
   309                 QVariant previewData = index.data(PreviewIcon);
       
   310                 previewIcon = qvariant_cast<HbIcon> (previewData);
       
   311               }
   297             mConversation->setPreviewIcon(previewIcon);
   312             mConversation->setPreviewIcon(previewIcon);
   298             mConversation->setImage(true);
   313           }
   299             }
       
   300 
   314 
   301         bool hasVideo = (msgProperty & EPreviewVideo) ? true : false;
   315         bool hasVideo = (msgProperty & EPreviewVideo) ? true : false;
   302         
       
   303         if (hasVideo)
   316         if (hasVideo)
   304             {
   317           {
   305             mConversation->setVideo(true);
   318             mConversation->setVideo(true);
   306             }
   319           }
   307 
   320 
   308         bool hasAudio = (msgProperty & EPreviewAudio) ? true : false;              
   321         bool hasAudio = (msgProperty & EPreviewAudio) ? true : false;
   309         if (hasAudio)
   322         if (hasAudio)
   310             {
   323           {
   311             mConversation->setAudio(true);
   324             mConversation->setAudio(true);
   312             }
   325             // Protected content is also set as corrupted hence first check protected.
   313 
   326             if (msgProperty & EPreviewProtectedAudio)
   314         mConversation->displayAudioIcon();
   327               {
       
   328                 mConversation->displayAudioIcon();
       
   329               }
       
   330             else if (msgProperty & EPreviewCorruptedAudio)
       
   331               {
       
   332                 // TODO: Change to official icon.
       
   333                 mConversation->displayAudioIcon(CORRUPTED_ICON);
       
   334               }
       
   335             else
       
   336               {
       
   337                 mConversation->displayAudioIcon();
       
   338               }
       
   339           }
   315 
   340 
   316         int priority = index.data(MessagePriority).toInt();
   341         int priority = index.data(MessagePriority).toInt();
   317         mConversation->setPriority(priority);
   342         mConversation->setPriority(priority);
   318         mConversation->setSubject(subject);
   343         mConversation->setSubject(subject);
   319         mConversation->setBodyText(bodyText);
   344         mConversation->setBodyText(bodyText);
   390 
   415 
   391     if (mIncoming)
   416     if (mIncoming)
   392     {
   417     {
   393         HbStyle::setItemName(mOutgoingMsgStateIconItem, "");
   418         HbStyle::setItemName(mOutgoingMsgStateIconItem, "");
   394         mOutgoingMsgStateIconItem->setVisible(false);
   419         mOutgoingMsgStateIconItem->setVisible(false);
   395         HbStyle::setItemName(mIncomingMsgStateIconItem,
   420         HbStyle::setItemName(mIncomingMsgStateIconItem, "msgStateIconIncoming");
   396             "msgStateIconIncoming");
   421         mIncomingMsgStateIconItem->setIcon(HbIcon());
       
   422         mIncomingMsgStateIconItem->setVisible(false);
   397     }
   423     }
   398     else
   424     else
   399     {
   425     {
   400         HbStyle::setItemName(mIncomingMsgStateIconItem, "");
   426         HbStyle::setItemName(mIncomingMsgStateIconItem, "");
   401         mIncomingMsgStateIconItem->setVisible(false);
   427         mIncomingMsgStateIconItem->setVisible(false);
   402         HbStyle::setItemName(mOutgoingMsgStateIconItem,
   428         HbStyle::setItemName(mOutgoingMsgStateIconItem, "msgStateIconOutgoing");
   403             "msgStateIconOutgoing");
   429         mOutgoingMsgStateIconItem->setIcon(HbIcon());
       
   430         mOutgoingMsgStateIconItem->setVisible(false);
   404     }
   431     }
   405 }
   432 }
   406 
   433 
   407 //---------------------------------------------------------------
   434 //---------------------------------------------------------------
   408 // MsgConversationViewItem::isIncoming
   435 // MsgConversationViewItem::isIncoming
   522 {
   549 {
   523     mConversation = new MsgConversationWidget(this);
   550     mConversation = new MsgConversationWidget(this);
   524     HbStyle::setItemName(mConversation, "msgconvwidget");
   551     HbStyle::setItemName(mConversation, "msgconvwidget");
   525 
   552 
   526     mIncomingMsgStateIconItem = new HbIconItem(this);
   553     mIncomingMsgStateIconItem = new HbIconItem(this);
       
   554     HbStyle::setItemName(mIncomingMsgStateIconItem, "msgStateIconIncoming");
   527 
   555 
   528     mOutgoingMsgStateIconItem = new HbIconItem(this);
   556     mOutgoingMsgStateIconItem = new HbIconItem(this);
       
   557     HbStyle::setItemName(mOutgoingMsgStateIconItem, "msgStateIconOutgoing");
       
   558 
       
   559     HbMainWindow *mainWindow = hbInstance->allMainWindows()[0];
       
   560 
       
   561     connect(mainWindow, SIGNAL(orientationChanged(Qt::Orientation)), this,
       
   562         SLOT(orientationchanged(Qt::Orientation)), Qt::UniqueConnection);
       
   563 
       
   564     // Force polish to get all the sub-item properties right.
       
   565     polishEvent();
       
   566 }
       
   567 
       
   568 //---------------------------------------------------------------
       
   569 // MsgConversationViewItem::orientationchanged
       
   570 // @see header file
       
   571 //---------------------------------------------------------------
       
   572 void MsgConversationViewItem::orientationchanged(Qt::Orientation orientation)
       
   573 {
       
   574     QDEBUG_WRITE("MsgConversationViewItem:orientationchanged start.")
       
   575 
       
   576     repolish();
       
   577 
       
   578     QDEBUG_WRITE("MsgConversationViewItem:orientationchanged end.")
   529 }
   579 }
   530 
   580 
   531 // EOF
   581 // EOF