22 #include <HbAction> |
22 #include <HbAction> |
23 #include <HbToolBar> |
23 #include <HbToolBar> |
24 #include <hbmessagebox.h> |
24 #include <hbmessagebox.h> |
25 #include <hbnotificationdialog.h> |
25 #include <hbnotificationdialog.h> |
26 #include <HbStyleLoader> |
26 #include <HbStyleLoader> |
|
27 #include <centralrepository.h> |
|
28 #include <MmsEngineDomainCRKeys.h> |
27 |
29 |
28 // USER INCLUDES |
30 // USER INCLUDES |
29 #include "uniscrollarea.h" |
31 #include "uniscrollarea.h" |
30 #include "unicontentswidget.h" |
32 #include "unicontentswidget.h" |
31 #include "univiewerfeeder.h" |
33 #include "univiewerfeeder.h" |
34 #include "convergedmessageaddress.h" |
36 #include "convergedmessageaddress.h" |
35 #include "conversationsenginedefines.h" |
37 #include "conversationsenginedefines.h" |
36 #include "conversationsengine.h" |
38 #include "conversationsengine.h" |
37 #include "debugtraces.h" |
39 #include "debugtraces.h" |
38 #include "nativemessageconsts.h" |
40 #include "nativemessageconsts.h" |
|
41 #include "mmsconformancecheck.h" |
|
42 #include "UniEditorGenUtils.h" // This is needed for KDefaultMaxSize |
39 |
43 |
40 // LOCAL CONSTANTS |
44 // LOCAL CONSTANTS |
41 const QString REPLY_ICON("qtg_mono_reply.svg"); |
45 const QString REPLY_ICON("qtg_mono_reply"); |
42 const QString REPLY_ALL_ICON("qtg_mono_reply_all.svg"); |
46 const QString REPLY_ALL_ICON("qtg_mono_reply_all"); |
43 const QString FORWARD_ICON("qtg_mono_forward.svg"); |
47 const QString FORWARD_ICON("qtg_mono_forward"); |
44 const QString DELETE_ICON("qtg_mono_delete.svg"); |
48 const QString SEND_ICON("qtg_mono_send"); |
|
49 const QString DELETE_ICON("qtg_mono_delete"); |
45 |
50 |
46 //LOCALIZED CONSTANTS |
51 //LOCALIZED CONSTANTS |
47 #define LOC_DELETE_MESSAGE hbTrId("txt_messaging_dialog_delete_message") |
52 #define LOC_DELETE_MESSAGE hbTrId("txt_messaging_dialog_delete_message") |
48 #define LOC_BUTTON_DELETE hbTrId("txt_common_button_delete") |
53 #define LOC_BUTTON_DELETE hbTrId("txt_common_button_delete") |
49 #define LOC_BUTTON_CANCEL hbTrId("txt_common_button_cancel") |
54 #define LOC_BUTTON_CANCEL hbTrId("txt_common_button_cancel") |
50 #define LOC_DELETE_POPINFO hbTrId("txt_messaging_dpopinfo_message_deleted") |
|
51 |
55 |
52 //---------------------------------------------------------------------------- |
56 //---------------------------------------------------------------------------- |
53 // UnifiedViewer::UnifiedViewer |
57 // UnifiedViewer::UnifiedViewer |
54 // constructor |
58 // constructor |
55 //---------------------------------------------------------------------------- |
59 //---------------------------------------------------------------------------- |
85 mMainLayout->setSpacing(0); |
89 mMainLayout->setSpacing(0); |
86 mMainLayout->setContentsMargins(0, 0, 0, 0); |
90 mMainLayout->setContentsMargins(0, 0, 0, 0); |
87 |
91 |
88 setLayout(mMainLayout); |
92 setLayout(mMainLayout); |
89 |
93 |
90 createToolBar(); |
|
91 |
|
92 QDEBUG_WRITE("UnifiedViewer contruction End"); |
94 QDEBUG_WRITE("UnifiedViewer contruction End"); |
93 } |
95 } |
94 |
96 |
95 //---------------------------------------------------------------------------- |
97 //---------------------------------------------------------------------------- |
96 // UnifiedViewer::UnifiedViewer |
98 // UnifiedViewer::UnifiedViewer |
97 // Destructor |
99 // Destructor |
98 //---------------------------------------------------------------------------- |
100 //---------------------------------------------------------------------------- |
99 UnifiedViewer::~UnifiedViewer() |
101 UnifiedViewer::~UnifiedViewer() |
100 { |
102 { |
101 HbStyleLoader::unregisterFilePath(":/layouts"); |
103 HbStyleLoader::unregisterFilePath(":/layouts"); |
102 |
|
103 } |
104 } |
104 |
105 |
105 //---------------------------------------------------------------------------- |
106 //---------------------------------------------------------------------------- |
106 // UnifiedViewer::createToolBar |
107 // UnifiedViewer::createToolBar |
107 // Creates tool bar actions |
108 // Creates tool bar actions |
108 //---------------------------------------------------------------------------- |
109 //---------------------------------------------------------------------------- |
109 void UnifiedViewer::createToolBar() |
110 void UnifiedViewer::createToolBar() |
110 { |
111 { |
111 HbToolBar *toolBar = this->toolBar(); |
112 HbToolBar* toolbar = this->toolBar(); |
112 toolBar->setOrientation(Qt::Horizontal); |
113 toolbar->setOrientation(Qt::Horizontal); |
113 |
114 |
114 HbAction* replyAction = new HbAction(HbIcon(REPLY_ICON), "", this); |
115 int sendingState = mViewFeeder->sendingState(); |
115 toolBar->addAction(replyAction); |
116 |
116 |
117 if (mViewFeeder->sendingState() == ConvergedMessage::Failed) |
117 HbAction* replyAllAction = new HbAction(HbIcon(REPLY_ALL_ICON), "", this); |
118 { |
118 toolBar->addAction(replyAllAction); |
119 toolbar->addAction(HbIcon(SEND_ICON), ""); |
119 |
120 } |
120 HbAction* forwardAction = new HbAction(HbIcon(FORWARD_ICON), "", this); |
121 else |
121 toolBar->addAction(forwardAction); |
122 { |
122 |
123 toolbar->addAction(HbIcon(REPLY_ICON), ""); |
123 HbAction* deleteAction = new HbAction(HbIcon(DELETE_ICON), "", this); |
124 toolbar->addAction(HbIcon(REPLY_ALL_ICON), ""); |
124 toolBar->addAction(deleteAction); |
125 } |
125 |
126 |
126 connect(deleteAction, SIGNAL(triggered()), |
127 if (validateMsgForForward()) |
127 this, SLOT(handleDeleteAction())); |
128 { |
|
129 toolbar->addAction(HbIcon(FORWARD_ICON), "", this, SLOT(handleFwdAction())); |
|
130 } |
|
131 |
|
132 toolbar->addAction(HbIcon(DELETE_ICON), "", this, SLOT(handleDeleteAction())); |
128 } |
133 } |
129 |
134 |
130 //--------------------------------------------------------------- |
135 //--------------------------------------------------------------- |
131 // UnifiedViewer::clearContent |
136 // UnifiedViewer::clearContent |
132 // @see header file |
137 // @see header file |
173 } |
178 } |
174 mScrollArea->resetCurrentSlide(); |
179 mScrollArea->resetCurrentSlide(); |
175 |
180 |
176 mContentsWidget->populateContent(); |
181 mContentsWidget->populateContent(); |
177 |
182 |
|
183 //Creation of toolbar now depends on content |
|
184 createToolBar(); |
|
185 |
178 QDEBUG_WRITE("UnifiedViewer populateContent END"); |
186 QDEBUG_WRITE("UnifiedViewer populateContent END"); |
179 } |
187 } |
180 |
188 |
181 //--------------------------------------------------------------- |
189 //--------------------------------------------------------------- |
182 // UnifiedViewer::handleFwdAction |
190 // UnifiedViewer::handleFwdAction |
183 // @see header file |
191 // @see header file |
184 //--------------------------------------------------------------- |
192 //--------------------------------------------------------------- |
185 void UnifiedViewer::handleFwdAction() |
193 void UnifiedViewer::handleFwdAction() |
186 { |
194 { |
|
195 ConvergedMessage message; |
|
196 ConvergedMessageId id(mMessageId); |
|
197 message.setMessageId(id); |
|
198 if(mViewFeeder->msgType() == KSenduiMtmMmsUidValue) |
|
199 { |
|
200 message.setMessageType(ConvergedMessage::Mms); |
|
201 } |
|
202 else |
|
203 { |
|
204 message.setMessageType(ConvergedMessage::Sms); |
|
205 } |
|
206 |
|
207 QByteArray dataArray; |
|
208 QDataStream messageStream |
|
209 (&dataArray, QIODevice::WriteOnly | QIODevice::Append); |
|
210 message.serialize(messageStream); |
|
211 |
|
212 QVariantList params; |
|
213 params << MsgBaseView::UNIEDITOR; // target view |
|
214 params << MsgBaseView::UNIVIEWER; // source view |
|
215 |
|
216 params << dataArray; |
|
217 params << MsgBaseView::FORWARD_MSG; |
|
218 |
|
219 emit switchView(params); |
187 } |
220 } |
188 |
221 |
189 //--------------------------------------------------------------- |
222 //--------------------------------------------------------------- |
190 // UnifiedViewer::resizeEvent |
223 // UnifiedViewer::resizeEvent |
191 // @see header file |
224 // @see header file |
256 params << MsgBaseView::UNIVIEWER; |
288 params << MsgBaseView::UNIVIEWER; |
257 params << dataArray; |
289 params << dataArray; |
258 |
290 |
259 emit switchView(params); |
291 emit switchView(params); |
260 } |
292 } |
|
293 |
|
294 //--------------------------------------------------------------- |
|
295 // UnifiedViewer::validateMsgForForward |
|
296 // @see header file |
|
297 //--------------------------------------------------------------- |
|
298 bool UnifiedViewer::validateMsgForForward() |
|
299 { |
|
300 if (mViewFeeder->msgType() == KSenduiMtmMmsUidValue) |
|
301 { |
|
302 bool retValue = false; |
|
303 |
|
304 //Validate if the mms msg can be forwarded or not |
|
305 MmsConformanceCheck* mmsConformanceCheck = new MmsConformanceCheck; |
|
306 retValue = mmsConformanceCheck->validateMsgForForward(mMessageId); |
|
307 |
|
308 delete mmsConformanceCheck; |
|
309 return retValue; |
|
310 } |
|
311 |
|
312 return true; |
|
313 } |
|
314 |
261 // EOF |
315 // EOF |