|
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: This widget displays subject,timestamp & priority info |
|
15 * |
|
16 */ |
|
17 |
|
18 #include "univiewerdetailswidget.h" |
|
19 |
|
20 // SYSTEM INCLUDES |
|
21 #include <HbTextItem> |
|
22 #include <HbIconItem> |
|
23 #include <HbExtendedLocale> |
|
24 #include <QDateTime> |
|
25 #include <QStringBuilder> |
|
26 |
|
27 // USER INCLUDES |
|
28 #include "convergedmessage.h" |
|
29 #include "debugtraces.h" |
|
30 |
|
31 // LOCALIZATION |
|
32 #define LOC_MESSAGE_RESEND hbTrId("txt_common_menu_resend_message") |
|
33 |
|
34 // @see hbi18ndef.h |
|
35 static const char DATE_FORMAT[] = r_qtn_date_usual_with_zero; |
|
36 static const char TIME_FORMAT[] = r_qtn_time_usual_with_zero; |
|
37 |
|
38 const QString MSG_HIGH_PRIORITY_ICON("qtg_small_priority_high"); |
|
39 const QString MSG_LOW_PRIORITY_ICON("qtg_small_priority_low"); |
|
40 |
|
41 //--------------------------------------------------------------- |
|
42 // UniViewerDetailsWidget::UniViewerDetailsWidget |
|
43 // @see header file |
|
44 //--------------------------------------------------------------- |
|
45 UniViewerDetailsWidget::UniViewerDetailsWidget(QGraphicsItem *parent) : |
|
46 HbWidget(parent), mSubjectLabel(0), mPriorityIcon(0) |
|
47 { |
|
48 // Permanent items & will not be removed |
|
49 mTime = new HbTextItem(this); |
|
50 HbStyle::setItemName(mTime, "timeLabel"); |
|
51 } |
|
52 |
|
53 //--------------------------------------------------------------- |
|
54 // UniViewerDetailsWidget::~UniViewerDetailsWidget |
|
55 // @see header file |
|
56 //--------------------------------------------------------------- |
|
57 UniViewerDetailsWidget::~UniViewerDetailsWidget() |
|
58 { |
|
59 } |
|
60 |
|
61 //--------------------------------------------------------------- |
|
62 //UniViewerDetailsWidget :: setSubject |
|
63 // @see header file |
|
64 //--------------------------------------------------------------- |
|
65 void UniViewerDetailsWidget::setSubject(const QString &subject) |
|
66 { |
|
67 if (!mSubjectLabel) |
|
68 { |
|
69 mSubjectLabel = new HbTextItem(this); |
|
70 HbStyle::setItemName(mSubjectLabel, "subjectLabel"); |
|
71 mSubjectLabel->setTextWrapping(Hb::TextWrapAnywhere); |
|
72 } |
|
73 mSubjectLabel->setText(subject); |
|
74 this->repolish(); |
|
75 } |
|
76 |
|
77 //--------------------------------------------------------------- |
|
78 //UniViewerDetailsWidget :: setTimeStamp |
|
79 // @see header file |
|
80 //--------------------------------------------------------------- |
|
81 void UniViewerDetailsWidget::setTimeStamp(const QDateTime &aTimeStamp, const int &aSendingState) |
|
82 { |
|
83 HbExtendedLocale locale = HbExtendedLocale::system(); |
|
84 QString date = locale.format(aTimeStamp.date(), DATE_FORMAT); |
|
85 QString time = locale.format(aTimeStamp.time(), TIME_FORMAT); |
|
86 |
|
87 if (aSendingState == ConvergedMessage::Resend) { |
|
88 mTime->setText(LOC_MESSAGE_RESEND % time); |
|
89 } |
|
90 else { |
|
91 mTime->setText(date % QChar(' ') % time); |
|
92 } |
|
93 } |
|
94 |
|
95 //--------------------------------------------------------------- |
|
96 // UniViewerDetailsWidget::setPriorityIcon |
|
97 // @see header file |
|
98 //--------------------------------------------------------------- |
|
99 void UniViewerDetailsWidget::setPriorityIcon(int priority) |
|
100 { |
|
101 if (priority) |
|
102 { |
|
103 if (!mPriorityIcon) |
|
104 { |
|
105 mPriorityIcon = new HbIconItem(this); |
|
106 HbStyle::setItemName(mPriorityIcon, "priorityIcon"); |
|
107 } |
|
108 if (ConvergedMessage::Low == priority) |
|
109 { |
|
110 mPriorityIcon->setIcon(HbIcon(MSG_LOW_PRIORITY_ICON)); |
|
111 } |
|
112 else if (ConvergedMessage::High == priority) |
|
113 { |
|
114 mPriorityIcon->setIcon(HbIcon(MSG_HIGH_PRIORITY_ICON)); |
|
115 } |
|
116 this->repolish(); |
|
117 } |
|
118 } |
|
119 |
|
120 //--------------------------------------------------------------- |
|
121 //UniViewerDetailsWidget :: clearContent |
|
122 // @see header file |
|
123 //--------------------------------------------------------------- |
|
124 void UniViewerDetailsWidget::clearContent() |
|
125 { |
|
126 //Delete the temporary items(subject & priority) & |
|
127 //content on the permanent item |
|
128 |
|
129 if (mSubjectLabel) |
|
130 { |
|
131 mSubjectLabel->setParent(NULL); |
|
132 delete mSubjectLabel; |
|
133 mSubjectLabel = NULL; |
|
134 } |
|
135 |
|
136 if (mPriorityIcon) |
|
137 { |
|
138 mPriorityIcon->setParent(NULL); |
|
139 delete mPriorityIcon; |
|
140 mPriorityIcon = NULL; |
|
141 } |
|
142 |
|
143 mTime->setText(QString()); |
|
144 } |
|
145 |
|
146 // EOF |