messagingapp/msgui/conversationview/src/msgconversationwidget.cpp
changeset 52 12db4185673b
parent 44 36f374c67aa8
child 72 6f657153cbc5
equal deleted inserted replaced
44:36f374c67aa8 52:12db4185673b
    31 #include <sqldb.h>
    31 #include <sqldb.h>
    32 #include <QBool>
    32 #include <QBool>
    33 #include <QCoreApplication>
    33 #include <QCoreApplication>
    34 #include <HbEvent>
    34 #include <HbEvent>
    35 #include <HbMainWindow>
    35 #include <HbMainWindow>
    36 #include <HbInstance>
       
    37 
    36 
    38 #include "debugtraces.h"
    37 #include "debugtraces.h"
    39 
    38 
    40 #include "convergedmessage.h"
    39 #include "convergedmessage.h"
    41 #include "conversationsengine.h"
    40 #include "conversationsengine.h"
    42 
    41 
    43 // Icons
    42 // Icons
    44 const QString MSG_HIGH_PRIORITY_ICON("qtg_small_priority_high");
    43 static const char MSG_HIGH_PRIORITY_ICON[] = "qtg_small_priority_high";
    45 const QString MSG_LOW_PRIORITY_ICON("qtg_small_priority_low");
    44 static const char MSG_LOW_PRIORITY_ICON[]  = "qtg_small_priority_low";
    46 const QString MSG_ATTACH_ICON("qtg_small_attachment");
    45 static const char MSG_ATTACH_ICON[]        = "qtg_small_attachment";
    47 const QString MSG_AUDIO_PLAY_ICON("qtg_small_sound");
    46 static const char MSG_AUDIO_PLAY_ICON[]    = "qtg_small_sound";
    48 
       
    49 
    47 
    50 // Frames
    48 // Frames
    51 const QString CV_RECEIVED_NORMAL_FR("qtg_fr_convlist_received_normal");
    49 static const char CV_RECEIVED_NORMAL_FR[]    = "qtg_fr_convlist_received_normal";
    52 const QString CV_RECEIVED_PRESSED_FR("qtg_fr_convlist_received_pressed");
    50 static const char CV_RECEIVED_PRESSED_FR[]   = "qtg_fr_convlist_received_pressed";
    53 const QString CV_RECEIVED_HIGHLIGHT_FR("qtg_fr_convlist_received_highlight");
    51 static const char CV_RECEIVED_HIGHLIGHT_FR[] = "qtg_fr_convlist_received_highlight";
    54 const QString CV_SENT_NORMAL_FR("qtg_fr_convlist_sent_normal");
    52 static const char CV_SENT_NORMAL_FR[]        = "qtg_fr_convlist_sent_normal";
    55 const QString CV_SENT_PRESSED_FR("qtg_fr_convlist_sent_pressed");
    53 static const char CV_SENT_PRESSED_FR[]       = "qtg_fr_convlist_sent_pressed";
    56 const QString CV_SENT_HIGHLIGHT_FR("qtg_fr_convlist_sent_highlight");
    54 static const char CV_SENT_HIGHLIGHT_FR[]     = "qtg_fr_convlist_sent_highlight";
    57 const QString NEW_ITEM_FRAME("qtg_fr_list_new_item");
    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")
    58 
    59 
    59 //---------------------------------------------------------------
    60 //---------------------------------------------------------------
    60 // MsgConversationWidget::MsgConversationWidget
    61 // MsgConversationWidget::MsgConversationWidget
    61 // @see header file
    62 // @see header file
    62 //---------------------------------------------------------------
    63 //---------------------------------------------------------------
   113     HbStyle::setItemName(mBubbleFrameItem, "bubble");
   114     HbStyle::setItemName(mBubbleFrameItem, "bubble");
   114 
   115 
   115     mNewFrameItem = new HbFrameItem(this);
   116     mNewFrameItem = new HbFrameItem(this);
   116     mNewFrameItem->frameDrawer().setFrameType(HbFrameDrawer::ThreePiecesVertical);
   117     mNewFrameItem->frameDrawer().setFrameType(HbFrameDrawer::ThreePiecesVertical);
   117     HbStyle::setItemName(mNewFrameItem, "newItemIcon");
   118     HbStyle::setItemName(mNewFrameItem, "newItemIcon");
       
   119     
   118     mSubjectTextItem = new HbTextItem(this);  
   120     mSubjectTextItem = new HbTextItem(this);  
   119     mSubjectTextItem->setTextWrapping(Hb::TextWordWrap);      
   121     mSubjectTextItem->setTextWrapping(Hb::TextNoWrap);  
   120     HbStyle::setItemName(mSubjectTextItem, "subject");
   122     HbStyle::setItemName(mSubjectTextItem, "subject");
       
   123     
   121     mBodyTextItem = new HbTextItem(this);
   124     mBodyTextItem = new HbTextItem(this);
   122     mBodyTextItem->setTextWrapping(Hb::TextWordWrap);
   125     mBodyTextItem->setTextWrapping(Hb::TextWordWrap);
   123     HbStyle::setItemName(mBodyTextItem, "bodyText");
   126     HbStyle::setItemName(mBodyTextItem, "bodyText");
       
   127     
   124     mPreviewIconItem = new HbIconItem(this);
   128     mPreviewIconItem = new HbIconItem(this);
   125     HbStyle::setItemName(mPreviewIconItem, "preview");
   129     HbStyle::setItemName(mPreviewIconItem, "preview");
       
   130     
   126     mPriorityIconItem = new HbIconItem(this);            
   131     mPriorityIconItem = new HbIconItem(this);            
   127     HbStyle::setItemName(mPriorityIconItem, "priority");
   132     HbStyle::setItemName(mPriorityIconItem, "priority");
       
   133     
   128     mAttachmentIconItem = new HbIconItem(this);
   134     mAttachmentIconItem = new HbIconItem(this);
   129     HbStyle::setItemName(mAttachmentIconItem, "attachment");
   135     HbStyle::setItemName(mAttachmentIconItem, "attachment");
       
   136     
   130     mPlayIconItem = new HbIconItem(this);                
   137     mPlayIconItem = new HbIconItem(this);                
   131     HbStyle::setItemName(mPlayIconItem, "playIcon");
   138     HbStyle::setItemName(mPlayIconItem, "playIcon");
       
   139     
   132     mTimeStampTextItem = new HbTextItem(this);
   140     mTimeStampTextItem = new HbTextItem(this);
   133     HbStyle::setItemName(mTimeStampTextItem, "timeStamp");
   141     HbStyle::setItemName(mTimeStampTextItem, "timeStamp");
   134     	
   142     
   135     HbMainWindow *mainWindow = hbInstance->allMainWindows()[0];
   143     HbWidget* headerContainer = new HbWidget(this);
       
   144     HbStyle::setItemName(headerContainer, "headerItem");
       
   145     
       
   146     HbMainWindow *mainWindow = this->mainWindow();
   136     connect(mainWindow, SIGNAL(orientationChanged(Qt::Orientation)), this, 
   147     connect(mainWindow, SIGNAL(orientationChanged(Qt::Orientation)), this, 
   137 			SLOT(orientationchanged(Qt::Orientation)),Qt::UniqueConnection);
   148 			SLOT(orientationchanged(Qt::Orientation)),Qt::UniqueConnection);
   138     polishEvent();
   149     polishEvent();
   139     }
   150     }
   140 
   151 
   142 // MsgConversationWidget::setSubject
   153 // MsgConversationWidget::setSubject
   143 // @see header file
   154 // @see header file
   144 //---------------------------------------------------------------
   155 //---------------------------------------------------------------
   145 void MsgConversationWidget::setSubject(const QString &subject)
   156 void MsgConversationWidget::setSubject(const QString &subject)
   146 {
   157 {
       
   158     QString sub = subject;
       
   159     if(subject.trimmed().isEmpty())
       
   160     {
       
   161         sub = LOC_MULTIMEDIA_MESSAGE;
       
   162     }
   147     HbStyle::setItemName(mSubjectTextItem, "subject");
   163     HbStyle::setItemName(mSubjectTextItem, "subject");
   148     mSubjectTextItem->setText(subject);
   164     mSubjectTextItem->setText(sub);
   149     mSubjectTextItem->show();
   165     mSubjectTextItem->show();
   150 }
   166 }
   151 
   167 
   152 //---------------------------------------------------------------
   168 //---------------------------------------------------------------
   153 // MsgConversationWidget::setBodyText
   169 // MsgConversationWidget::setBodyText
   154 // @see header file
   170 // @see header file
   155 //---------------------------------------------------------------
   171 //---------------------------------------------------------------
   156 void MsgConversationWidget::setBodyText(const QString &body)
   172 void MsgConversationWidget::setBodyText(const QString &body)
   157 {
   173 {
       
   174     if(body.isEmpty())
       
   175     {
       
   176         return;
       
   177     }
   158     HbStyle::setItemName(mBodyTextItem, "bodyText");
   178     HbStyle::setItemName(mBodyTextItem, "bodyText");
   159 
   179 
   160     mBodyTextItem->setText(body);
   180     mBodyTextItem->setText(body);
   161     mBodyTextItem->show();
   181     mBodyTextItem->show();
   162 }
   182 }
   282     if (hasAudio())
   302     if (hasAudio())
   283     {
   303     {
   284         if (!hasImage())
   304         if (!hasImage())
   285         {
   305         {
   286             HbStyle::setItemName(mPreviewIconItem, "preview");
   306             HbStyle::setItemName(mPreviewIconItem, "preview");
   287             if(iconPath.isEmpty())
   307             mPreviewIconItem->setIconName(iconPath.isEmpty() ? MSG_AUDIO_PLAY_ICON : iconPath);
   288             {
   308             mPreviewIconItem->show(); 
   289                qreal iconSize = 0;
       
   290                style()->parameter("hb-param-graphic-size-primary-small",iconSize);
       
   291                HbIcon icon(MSG_AUDIO_PLAY_ICON);
       
   292                icon.setHeight(iconSize);
       
   293                icon.setWidth(iconSize);
       
   294                mPreviewIconItem->setIcon(icon);
       
   295             }
       
   296             else
       
   297             {
       
   298                mPreviewIconItem->setIconName(iconPath);
       
   299             }
       
   300             mPreviewIconItem->show();
       
   301         }
   309         }
   302         else
   310         else
   303         {
   311         {
   304             HbStyle::setItemName(mPlayIconItem, "playIcon");
   312             HbStyle::setItemName(mPlayIconItem, "playIcon");
   305             mPlayIconItem->setIconName(iconPath.isEmpty() ? MSG_AUDIO_PLAY_ICON : iconPath);
   313             mPlayIconItem->setIconName(iconPath.isEmpty() ? MSG_AUDIO_PLAY_ICON : iconPath);
   658 // MsgConversationWidget::orientationchanged
   666 // MsgConversationWidget::orientationchanged
   659 // @see header file
   667 // @see header file
   660 //---------------------------------------------------------------
   668 //---------------------------------------------------------------
   661 void MsgConversationWidget::orientationchanged(Qt::Orientation orientation)
   669 void MsgConversationWidget::orientationchanged(Qt::Orientation orientation)
   662 {
   670 {
       
   671     Q_UNUSED(orientation)
   663     QDEBUG_WRITE("MsgConversationWidget:orientationchanged start.")
   672     QDEBUG_WRITE("MsgConversationWidget:orientationchanged start.")
   664             
   673             
   665     repolish();
   674     repolish();
   666     
   675     
   667     QDEBUG_WRITE("MsgConversationWidget:orientationchanged end.")    
   676     QDEBUG_WRITE("MsgConversationWidget:orientationchanged end.")