messagingapp/msgui/conversationview/src/msgconversationviewitem.cpp
changeset 43 35b64624a9e7
parent 34 84197e66a4bd
child 44 36f374c67aa8
--- a/messagingapp/msgui/conversationview/src/msgconversationviewitem.cpp	Fri Jun 11 13:35:48 2010 +0300
+++ b/messagingapp/msgui/conversationview/src/msgconversationviewitem.cpp	Wed Jun 23 18:09:17 2010 +0300
@@ -27,6 +27,7 @@
 #include <HbIconAnimationManager>
 #include <HbIconAnimator>
 #include <ccsdefs.h>
+#include <hbinstance>
 
 // USER INCLUDES
 #include "msgconversationwidget.h"
@@ -41,6 +42,9 @@
 const QString ANIMATION_FILE(":/qtg_anim_loading.axml");
 const QString ANIMATION_ICON_NAME("qtg_anim_loading");
 const QString VCARD_ICON("qtg_large_mycard");
+const QString IMAGE_ICON("qtg_small_image");
+const QString CORRUPTED_ICON("qtg_large_corrupted");
+const QString MSG_VIDEO_ICON("qtg_large_video_player");
 
 // LOCALIZATION
 #define LOC_RINGING_TONE hbTrId("txt_messaging_dpopinfo_ringing_tone")
@@ -286,32 +290,53 @@
         
         //preview image
         bool hasImage = (msgProperty & EPreviewImage) ? true : false;
-
         if (hasImage)
-        {
-            QVariant previewData = index.data(PreviewIcon);
-
+          {
+            mConversation->setImage(true);
             HbIcon previewIcon;
-            previewIcon = qvariant_cast<HbIcon> (previewData);
-
+            if (msgProperty & EPreviewProtectedImage)
+              {
+                // TODO: Change to official icon.
+                previewIcon = HbIcon(IMAGE_ICON);
+              }
+            else if (msgProperty & EPreviewCorruptedImage)
+              {
+                // TODO: Change to official icon.
+                previewIcon = HbIcon(CORRUPTED_ICON);
+              }
+            else
+              {
+                QVariant previewData = index.data(PreviewIcon);
+                previewIcon = qvariant_cast<HbIcon> (previewData);
+              }
             mConversation->setPreviewIcon(previewIcon);
-            mConversation->setImage(true);
-            }
+          }
 
         bool hasVideo = (msgProperty & EPreviewVideo) ? true : false;
-        
         if (hasVideo)
-            {
+          {
             mConversation->setVideo(true);
-            }
+          }
 
-        bool hasAudio = (msgProperty & EPreviewAudio) ? true : false;              
+        bool hasAudio = (msgProperty & EPreviewAudio) ? true : false;
         if (hasAudio)
-            {
+          {
             mConversation->setAudio(true);
-            }
-
-        mConversation->displayAudioIcon();
+            // Protected content is also set as corrupted hence first check protected.
+            if (msgProperty & EPreviewProtectedAudio)
+              {
+                mConversation->displayAudioIcon();
+              }
+            else if (msgProperty & EPreviewCorruptedAudio)
+              {
+                // TODO: Change to official icon.
+                mConversation->displayAudioIcon(CORRUPTED_ICON);
+              }
+            else
+              {
+                mConversation->displayAudioIcon();
+              }
+          }
 
         int priority = index.data(MessagePriority).toInt();
         mConversation->setPriority(priority);
@@ -392,15 +417,17 @@
     {
         HbStyle::setItemName(mOutgoingMsgStateIconItem, "");
         mOutgoingMsgStateIconItem->setVisible(false);
-        HbStyle::setItemName(mIncomingMsgStateIconItem,
-            "msgStateIconIncoming");
+        HbStyle::setItemName(mIncomingMsgStateIconItem, "msgStateIconIncoming");
+        mIncomingMsgStateIconItem->setIcon(HbIcon());
+        mIncomingMsgStateIconItem->setVisible(false);
     }
     else
     {
         HbStyle::setItemName(mIncomingMsgStateIconItem, "");
         mIncomingMsgStateIconItem->setVisible(false);
-        HbStyle::setItemName(mOutgoingMsgStateIconItem,
-            "msgStateIconOutgoing");
+        HbStyle::setItemName(mOutgoingMsgStateIconItem, "msgStateIconOutgoing");
+        mOutgoingMsgStateIconItem->setIcon(HbIcon());
+        mOutgoingMsgStateIconItem->setVisible(false);
     }
 }
 
@@ -524,8 +551,31 @@
     HbStyle::setItemName(mConversation, "msgconvwidget");
 
     mIncomingMsgStateIconItem = new HbIconItem(this);
+    HbStyle::setItemName(mIncomingMsgStateIconItem, "msgStateIconIncoming");
 
     mOutgoingMsgStateIconItem = new HbIconItem(this);
+    HbStyle::setItemName(mOutgoingMsgStateIconItem, "msgStateIconOutgoing");
+
+    HbMainWindow *mainWindow = hbInstance->allMainWindows()[0];
+
+    connect(mainWindow, SIGNAL(orientationChanged(Qt::Orientation)), this,
+        SLOT(orientationchanged(Qt::Orientation)), Qt::UniqueConnection);
+
+    // Force polish to get all the sub-item properties right.
+    polishEvent();
+}
+
+//---------------------------------------------------------------
+// MsgConversationViewItem::orientationchanged
+// @see header file
+//---------------------------------------------------------------
+void MsgConversationViewItem::orientationchanged(Qt::Orientation orientation)
+{
+    QDEBUG_WRITE("MsgConversationViewItem:orientationchanged start.")
+
+    repolish();
+
+    QDEBUG_WRITE("MsgConversationViewItem:orientationchanged end.")
 }
 
 // EOF