|
1 /* |
|
2 * Copyright (c) 2006-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: Unified SMS and MMS Editor Application UI class definition. |
|
15 * |
|
16 */ |
|
17 |
|
18 |
|
19 |
|
20 #ifndef _UNIEDITORAPPUI_H |
|
21 #define _UNIEDITORAPPUI_H |
|
22 |
|
23 // INCLUDES |
|
24 |
|
25 #include <gmxmlparser.h> // for MMDXMLParserObserver & CMDXMLParser |
|
26 |
|
27 #include <MsgEditorAppUi.h> // for CMsgEditorAppUi |
|
28 #include <MsgEditorView.h> |
|
29 #include <MsgAddressControl.h> |
|
30 #include <MsgBodyControl.h> // for CMsgBodyControl |
|
31 #include <MsgEditor.hrh> |
|
32 #include <msgimagecontrol.h> // for CMsgImageControl (needed in .inl) |
|
33 #include <msgasynccontrolobserver.h> |
|
34 |
|
35 #include <MsgRecipientItem.h> // for CMsgRecipientArray |
|
36 #include <MsgAttachmentUtils.h> |
|
37 #include <MMGFetchVerifier.h> |
|
38 #include <akntoolbarobserver.h> |
|
39 #include <AknServerApp.h> // for MAknServerAppExitObserver |
|
40 #include <AknProgressDialog.h> // for MProgressDialogCallback |
|
41 #include <peninputclient.h> |
|
42 #include <peninputsrveventhandler.h> |
|
43 #include <cenrepnotifyhandler.h> // MCenRepNotifyHandlerCallback |
|
44 |
|
45 #include <eikedwob.h> // for MEikEdwinObserver |
|
46 |
|
47 // Needed by inline functions |
|
48 #include "uniobjectlist.h" |
|
49 #include "unidatamodel.h" |
|
50 #include "UniSendingSettings.h" |
|
51 |
|
52 #include "UniEditorHeader.h" // THeadersFields, |
|
53 #include "UniEditorApp.hrh" // TUniEditorPanicIds |
|
54 #include "UniEditorOperation.h" // MUniEditorOperatorObserver |
|
55 |
|
56 // CONSTANTS |
|
57 |
|
58 // FUNCTION PROTOTYPES |
|
59 |
|
60 // FORWARD DECLARATIONS |
|
61 class TFilename; |
|
62 class TChar; |
|
63 class CAknTitlePane; |
|
64 class CAknNavigationDecorator; |
|
65 class CAknNavigationControlContainer; |
|
66 class CAknWaitDialog; |
|
67 class CUniEditorDocument; |
|
68 class CAknLocalScreenClearer; |
|
69 class CRepository; |
|
70 class CSelectionItemList; |
|
71 class CEikImage; // for context icon |
|
72 class CAknInfoPopupNoteController; |
|
73 class CDocumentHandler; |
|
74 class CAknIconArray; |
|
75 class CAknInputBlock; |
|
76 class CMDXMLDocument; |
|
77 class CAknToolbar; |
|
78 |
|
79 class CMsgMediaInfo; |
|
80 class CMsgImageControl; |
|
81 class TMsgControlsIds; |
|
82 |
|
83 class CUniClientMtm; |
|
84 class CUniSmilModel; |
|
85 class CUniSlideLoader; |
|
86 class CUniEditorLaunchOperation; |
|
87 class CUniEditorSaveOperation; |
|
88 class CUniEditorSendOperation; |
|
89 class CUniEditorChangeSlideOperation; |
|
90 class CUniEditorInsertOperation; |
|
91 class CUniEditorVCardOperation; |
|
92 class CUniEditorHeader; |
|
93 class CAknToolbarExtension; |
|
94 |
|
95 // CLASS DECLARATION |
|
96 |
|
97 /** |
|
98 * CUniEditorAppUi |
|
99 * |
|
100 * @since 3.2 |
|
101 */ |
|
102 class CUniEditorAppUi : |
|
103 public CMsgEditorAppUi, |
|
104 public MMGFetchVerifier, |
|
105 public MMsgAsyncControlObserver, |
|
106 public MUniEditorOperationObserver, |
|
107 public MAknToolbarObserver, |
|
108 public MMDXMLParserObserver, |
|
109 public MAknServerAppExitObserver, |
|
110 public MEikEdwinObserver, |
|
111 public MProgressDialogCallback, |
|
112 public MPenUiActivationHandler, |
|
113 public MCenRepNotifyHandlerCallback |
|
114 { |
|
115 public: // Constructors and destructor |
|
116 |
|
117 /** |
|
118 * C++ default constructor. |
|
119 */ |
|
120 CUniEditorAppUi(); |
|
121 |
|
122 /** |
|
123 * Destructor. |
|
124 */ |
|
125 virtual ~CUniEditorAppUi(); |
|
126 |
|
127 /** |
|
128 * Removes object from screen. (Objectsview callback method) |
|
129 * @param aRegion, region to remove the object from |
|
130 * @param aLayout, layout before removed from model |
|
131 */ |
|
132 void RemoveObjectL( TUniRegion aRegion, TUniLayout aLayout ); |
|
133 |
|
134 /** |
|
135 * Changes object order on screen. (Objectsview callback method) |
|
136 * @param aLayout, new layout |
|
137 */ |
|
138 void ChangeOrderL( TUniLayout aLayout ); |
|
139 |
|
140 /** |
|
141 * If there is image control, sets image release/lock |
|
142 * according to parameter. Otherwise does nothing. |
|
143 * @param aRelease, ETrue = release/unlock, EFalse = lock |
|
144 */ |
|
145 void ReleaseImage( TBool aRelease ); |
|
146 |
|
147 /** |
|
148 * Saves, if needed and exits |
|
149 */ |
|
150 void ExitAndSaveL(); |
|
151 |
|
152 /** |
|
153 * Wrapper on the FetchFileL function of Base Editor. |
|
154 * Called by "Insert" functions. |
|
155 * |
|
156 * @param aFetchType, EImage or ENewImage or |
|
157 * EAudio or ENewAudio or |
|
158 * EVideo or ENewVideo |
|
159 */ |
|
160 TBool FetchFileL( MsgAttachmentUtils::TMsgAttachmentFetchType aFetchType ); |
|
161 |
|
162 /** |
|
163 * Sets focus to first focusable control on body. |
|
164 */ |
|
165 void SetFocusToBodyBeginningL(); |
|
166 |
|
167 /** |
|
168 * Callback for CPeriodic |
|
169 */ |
|
170 static TInt DelayedExitL( TAny* aThis ); |
|
171 |
|
172 /** |
|
173 * Callback for MProgressDialogCallback |
|
174 */ |
|
175 void DialogDismissedL( TInt /*dismissed*/ ); |
|
176 |
|
177 /** |
|
178 * Exit Unieditor without save during critimal memory condition |
|
179 */ |
|
180 void ExitWithoutSave(); |
|
181 public: // Functions from base classes |
|
182 |
|
183 /** |
|
184 * From MMsgEditorObserver. Calls DoEditorObserverL() |
|
185 * |
|
186 * For passing events from Base Editor to MMS Editor |
|
187 */ |
|
188 void EditorObserver( TMsgEditorObserverFunc aFunc, |
|
189 TAny* aArg1, |
|
190 TAny* aArg2, |
|
191 TAny* aArg3 ); |
|
192 |
|
193 /** |
|
194 * Handles the editor observer event. |
|
195 */ |
|
196 void DoEditorObserverL( TMsgEditorObserverFunc aFunc, |
|
197 TAny* aArg1, |
|
198 TAny* aArg2, |
|
199 TAny* aArg3 ); |
|
200 |
|
201 /** |
|
202 * From MMGFetchVerifier |
|
203 */ |
|
204 TBool VerifySelectionL( const MDesCArray* aSelectedFiles ); |
|
205 |
|
206 /** |
|
207 * From MAknToolbarObserver |
|
208 */ |
|
209 void DynInitToolbarL( TInt aResourceId, CAknToolbar* aToolbar ); |
|
210 |
|
211 /** |
|
212 * From MAknToolbarObserver |
|
213 */ |
|
214 void OfferToolbarEventL( TInt aCommand ); |
|
215 |
|
216 /** |
|
217 * From MApaServerAppExitObserver |
|
218 */ |
|
219 void HandleServerAppExit( TInt aReason ); |
|
220 |
|
221 /** |
|
222 * From MEikEdwinObserver |
|
223 */ |
|
224 void HandleEdwinEventL( CEikEdwin* aEdwin, TEdwinEvent aEventType ); |
|
225 |
|
226 /** |
|
227 * From CMsgEditorAppUi |
|
228 */ |
|
229 void HandleEntryMovedL( TMsvId aOldParent, TMsvId aNewParent ); |
|
230 |
|
231 /* |
|
232 * From MPenUiActivationHandler |
|
233 */ |
|
234 void OnPeninputUiDeactivated(); |
|
235 |
|
236 /* |
|
237 * From MPenUiActivationHandler |
|
238 */ |
|
239 void OnPeninputUiActivated(); |
|
240 |
|
241 private: // Functions from base classes |
|
242 |
|
243 /** |
|
244 * From MMsgEditorLauncher |
|
245 */ |
|
246 void LaunchViewL(); |
|
247 |
|
248 /** |
|
249 * From CCoeAppUi |
|
250 */ |
|
251 TKeyResponse HandleKeyEventL( const TKeyEvent& aKeyEvent, TEventCode aType ); |
|
252 |
|
253 /** |
|
254 * From CEikAppUi |
|
255 */ |
|
256 void HandleCommandL( TInt aCommand ); |
|
257 |
|
258 /** |
|
259 * Performs the command. |
|
260 */ |
|
261 void DoHandleCommandL( TInt aCommand ); |
|
262 |
|
263 /** |
|
264 * Performs the command. |
|
265 */ |
|
266 void DoOfferToolbarEventL( TInt aCommand ); |
|
267 |
|
268 /** |
|
269 * From CAknAppUi. |
|
270 * |
|
271 * Handles navipane updating when launched from idle and |
|
272 * when returning from preview. |
|
273 * |
|
274 * @param aForeground, ETrue if app is foreground. |
|
275 */ |
|
276 void HandleForegroundEventL(TBool aForeground); |
|
277 |
|
278 /** |
|
279 * From MEikMenuObserver |
|
280 */ |
|
281 void DynInitMenuPaneL( TInt aMenuId, CEikMenuPane* aMenuPane ); |
|
282 |
|
283 /** |
|
284 * Helper function to be called in normal unimode and upload mode. |
|
285 * Handles the menu options based on the focused media object |
|
286 */ |
|
287 void DynInitFocusedMediaBasedOptionsL( CEikMenuPane* aMenuPane ); |
|
288 |
|
289 /** |
|
290 * From MUniEditorOperationObserver. Called when operation |
|
291 * state is changed. |
|
292 */ |
|
293 void EditorOperationEvent( TUniEditorOperationType aOperation, |
|
294 TUniEditorOperationEvent aEvent ); |
|
295 |
|
296 /** |
|
297 * Performs the real operation event handling |
|
298 */ |
|
299 void DoEditorOperationEventL( TUniEditorOperationType aOperation, |
|
300 TUniEditorOperationEvent aEvent ); |
|
301 |
|
302 /** |
|
303 * From MUniEditorOperationObserver. Query is wanted to be shown |
|
304 * to the user. |
|
305 */ |
|
306 TBool EditorOperationQuery( TUniEditorOperationType aOperation, |
|
307 TUniEditorOperationQuery aEvent ); |
|
308 |
|
309 |
|
310 /** |
|
311 * Shows the query to the user. |
|
312 */ |
|
313 TBool DoEditorOperationQueryL( TUniEditorOperationType aOperation, |
|
314 TUniEditorOperationQuery aEvent ); |
|
315 |
|
316 /** |
|
317 * Performs the change slide operation event handling. |
|
318 */ |
|
319 void DoChangeSlideCompleteL(); |
|
320 |
|
321 /** |
|
322 * Performs the insert operation event handling. |
|
323 */ |
|
324 void DoInsertCompleteL( TUniEditorOperationEvent aEvent ); |
|
325 |
|
326 /** |
|
327 * Performs the 2nd phase of insert operation event handling. |
|
328 */ |
|
329 void DoInsertComplete2ndPhaseL(); |
|
330 |
|
331 /** |
|
332 * Performs launch operation event handling. |
|
333 */ |
|
334 void DoLaunchCompleteL(); |
|
335 |
|
336 /** |
|
337 * Performs save operation event handling. |
|
338 */ |
|
339 void DoSaveCompleteL(); |
|
340 |
|
341 /** |
|
342 * Performs the 2nd phase of saving operation event handling. |
|
343 */ |
|
344 void DoSavingComplete2ndPhase(); |
|
345 |
|
346 /** |
|
347 * Performs send operation event handling. |
|
348 */ |
|
349 void DoSendCompleteL(); |
|
350 |
|
351 /** |
|
352 * Performs 2nd phase of send operation event handling. |
|
353 */ |
|
354 void DoSendComplete2ndPhase(); |
|
355 |
|
356 /** |
|
357 * Performs vCard insert operation event handling. |
|
358 */ |
|
359 void DoVCardCompleteL(); |
|
360 |
|
361 /** |
|
362 * Shows insert errors |
|
363 */ |
|
364 void ShowInsertErrorsL(); |
|
365 |
|
366 /** |
|
367 * From MMsgAsyncControlObserver. Called when asynchronous control |
|
368 * state is changed |
|
369 */ |
|
370 void MsgAsyncControlStateChanged( CMsgBaseControl& aControl, |
|
371 TMsgAsyncControlState aNewState, |
|
372 TMsgAsyncControlState aOldState ); |
|
373 |
|
374 /** |
|
375 * From MMsgAsyncControlObserver. Called when asynchronous control |
|
376 * receives resource change event. |
|
377 */ |
|
378 void MsgAsyncControlResourceChanged( CMsgBaseControl& aControl, TInt aType ); |
|
379 |
|
380 /** |
|
381 * 2nd phase constructor. |
|
382 */ |
|
383 void ConstructL(); |
|
384 |
|
385 private: |
|
386 |
|
387 enum TUniEditorInsertTextType |
|
388 { |
|
389 ETemplateText, |
|
390 EMemoText |
|
391 }; |
|
392 |
|
393 enum TUniEditorInsertOtherType |
|
394 { |
|
395 ETextFile, |
|
396 EOtherFile |
|
397 }; |
|
398 |
|
399 private: // New functions |
|
400 |
|
401 /** |
|
402 * Update the msglength information in navipane. |
|
403 * Reads the current size from document. |
|
404 * |
|
405 * @param aForceDraw, forces drawing of size label. |
|
406 */ |
|
407 void MsgLengthToNavipaneL( TBool aForceDraw = EFalse ); |
|
408 |
|
409 /** |
|
410 * Calculates the SMS Messages Characters left in the current segment and Total No. of segments in the message |
|
411 * Total No. of segments in the message |
|
412 * |
|
413 * @Return value |
|
414 * charsLeft: Characters left in the current segment |
|
415 * msgsParts: Total No of segments |
|
416 */ |
|
417 void CalculateSMSMsgLen(TInt& charsLeft, TInt& msgsParts); |
|
418 |
|
419 /** |
|
420 * Check if message has any data i.e. either in header ("To"), |
|
421 * in message body or as attachments. |
|
422 * |
|
423 * @return ETrue, message empty, |
|
424 * EFalse, message not empty |
|
425 */ |
|
426 TBool IsMessageEmpty() const; |
|
427 |
|
428 /** |
|
429 * Draw the "not viewable" icons |
|
430 * (editable 3GPP SMIL or non-editable SMIL). |
|
431 * |
|
432 * @param aEditable, ETrue should be set if SMIL is Template SMIL |
|
433 */ |
|
434 void InsertPresentationL( TBool aEditable ); |
|
435 |
|
436 /** |
|
437 * Updates the address size to CUniEditorDocument |
|
438 */ |
|
439 void SetAddressSize(); |
|
440 |
|
441 /** |
|
442 * Updates the subject size to CUniEditorDocument |
|
443 */ |
|
444 void SetSubjectSize(); |
|
445 |
|
446 /** |
|
447 * Checks message content and if ok send message |
|
448 */ |
|
449 void DoUserSendL(); |
|
450 |
|
451 /** |
|
452 * Handles message saving after exit |
|
453 */ |
|
454 void DoMsgSaveExitL(); |
|
455 |
|
456 /** |
|
457 * Handles delayed (external) exit |
|
458 * @param aDelayTime in microsecods |
|
459 */ |
|
460 void DoDelayedExit( TInt aDelayTime ); |
|
461 |
|
462 /** |
|
463 * Handles message saving after user has pressed close. |
|
464 */ |
|
465 void DoBackSaveL(); |
|
466 |
|
467 /** |
|
468 * Does actual saving of message to DRAFT folder. |
|
469 * |
|
470 * @param aSaveType, Controls how the saving is done |
|
471 * e.g. keep entry hidden etc. |
|
472 */ |
|
473 void DoSaveL( TUniSaveType aSaveType ); |
|
474 |
|
475 /** |
|
476 * Verifies addresses in address control. |
|
477 * |
|
478 * @return ETrue, if verify successful, |
|
479 * EFalse otherwise |
|
480 */ |
|
481 TBool VerifyAddressesL( TBool& aModified ); |
|
482 |
|
483 /** |
|
484 * Handles user move and select page commands. |
|
485 */ |
|
486 void DoUserMoveOrSelectPageL( TBool aMovePage ); |
|
487 |
|
488 /** |
|
489 * Handles user objects view command. |
|
490 */ |
|
491 void DoUserObjectsViewL( TBool aFocusAttachments ); |
|
492 |
|
493 /** |
|
494 * Handles user add recipient command. |
|
495 */ |
|
496 void DoUserAddRecipientL(); |
|
497 |
|
498 /** |
|
499 * Handles user message info command. |
|
500 */ |
|
501 void DoUserMessageInfoL(); |
|
502 |
|
503 /** |
|
504 * Handles user sending settings command. |
|
505 */ |
|
506 void DoUserSendingOptionsL(); |
|
507 |
|
508 /** |
|
509 * Handles user insert media command. |
|
510 */ |
|
511 void DoUserInsertMediaL(); |
|
512 |
|
513 /** |
|
514 * Handles user insert image command. Creates attachment |
|
515 * and draws image to display. |
|
516 * |
|
517 * @param aFetchType, ENewImage or EImage |
|
518 */ |
|
519 void DoUserInsertImageL( MsgAttachmentUtils::TMsgAttachmentFetchType aFetchType ); |
|
520 |
|
521 /** |
|
522 * Handles user insert video command. Creates attachment |
|
523 * and draws image to display. |
|
524 * |
|
525 * @param aFetchType, ENewVideo or EVideo |
|
526 */ |
|
527 void DoUserInsertVideoL( MsgAttachmentUtils::TMsgAttachmentFetchType aFetchType ); |
|
528 |
|
529 /** |
|
530 * Handles user insert audio command. Creates atta and draws audio |
|
531 * (indicator) to display. |
|
532 * |
|
533 * @param aFetchType, ENewAudio or EAudio |
|
534 */ |
|
535 void DoUserInsertAudioL( MsgAttachmentUtils::TMsgAttachmentFetchType aFetchType ); |
|
536 |
|
537 /** |
|
538 * Starts insert operation |
|
539 * |
|
540 * @param aAddSlide Indicates whether new slide should be added. |
|
541 * @param aAddAsAttachment Indicates that file is inserted as attachment. |
|
542 */ |
|
543 void DoStartInsertL( TBool aAddSlide, TBool aAddAsAttachment ); |
|
544 |
|
545 /** |
|
546 * Creates a media info object from given file and |
|
547 * performs a preliminary check whether it is ok to |
|
548 * insert the given media file. |
|
549 * |
|
550 * The media info object is created to "iInsertingMedia" |
|
551 * member variable. |
|
552 * |
|
553 * @param aMediaType Media type to be checked |
|
554 * @param aFileName Media file to be checked |
|
555 * @return ETrue if media info object was created |
|
556 * EFalse otherwise |
|
557 */ |
|
558 TBool CreateMediaInfoForInsertL( TMsgMediaType aMediaType, |
|
559 const TDesC& aFileName ); |
|
560 |
|
561 /** |
|
562 * Checks whether the media object in "iInsertingMedia" |
|
563 * member variable is SuperDistributable or not. If yes |
|
564 * and Full OMA DRM is supported gives "Send without |
|
565 * rights query". |
|
566 * |
|
567 * Deletes the "iInsertingMedia" variable if query is |
|
568 * not accepted. |
|
569 * |
|
570 * @return ETrue, if it is ok to insert the media |
|
571 * EFalse, otherwise (iInsertingMedia deleted!) |
|
572 */ |
|
573 TBool SuperDistributionCheckForInsertL(); |
|
574 |
|
575 |
|
576 /** |
|
577 * Checks whether it is ok to insert the media object |
|
578 * in "iInsertingMedia" member variable. |
|
579 * |
|
580 * Deletes the "iInsertingMedia" variable if inserting |
|
581 * is not allowed. |
|
582 * |
|
583 * @return ETrue, if it is ok to insert the media |
|
584 * EFalse, otherwise (iInsertingMedia deleted!) |
|
585 */ |
|
586 TBool CheckMediaInfoForInsertL(); |
|
587 |
|
588 /** |
|
589 * Handles user insert slide command. |
|
590 */ |
|
591 void DoUserInsertSlideL(); |
|
592 |
|
593 /** |
|
594 * Handles user remove slide command. |
|
595 */ |
|
596 void DoUserRemoveSlideL(); |
|
597 |
|
598 /** |
|
599 * Does the actual slide removal. First removes |
|
600 * All objects from the slide, then removes the |
|
601 * actual slide and finally changes the current slide |
|
602 */ |
|
603 void DoRemoveSlideL(); |
|
604 |
|
605 /** |
|
606 * Handles user slide change command, i.e. |
|
607 * this is called when the user scrolls out of |
|
608 * the current slide. |
|
609 * |
|
610 * @param aSlideNum Number of the next slide to be drawn |
|
611 */ |
|
612 void DoUserChangeSlideL( TInt aSlideNum ); |
|
613 |
|
614 /** |
|
615 * Sets focus after slide is drawn |
|
616 */ |
|
617 void DoSetFocusL(); |
|
618 |
|
619 /** |
|
620 * Sets text to title pane |
|
621 */ |
|
622 void SetTitleL(); |
|
623 |
|
624 /** |
|
625 * Handles user remove image, audio of video media object |
|
626 * @param aMediaControlId media control id |
|
627 * @param aRegion region the control resides |
|
628 * @param aConfirmResource confirm query to be shown to user |
|
629 */ |
|
630 void DoUserRemoveMediaL( TMsgControlId aMediaControlId, |
|
631 TUniRegion aRegion ); |
|
632 |
|
633 /** |
|
634 * Handles user insert text command. |
|
635 * |
|
636 * @param aType Text type wanted to be inserted. |
|
637 */ |
|
638 void DoUserInsertTextL( TUniEditorInsertTextType aType ); |
|
639 |
|
640 /** |
|
641 * Handles user insert other file command. |
|
642 * |
|
643 * @param aType Other file type wanted to be inserted. |
|
644 */ |
|
645 void DoUserInsertOtherFileL( TUniEditorInsertOtherType aType ); |
|
646 |
|
647 /** |
|
648 * Handles user insert vCard command. |
|
649 */ |
|
650 void DoUserInsertVCardL(); |
|
651 |
|
652 // /** |
|
653 // * Handles user insert SVG command. |
|
654 // */ |
|
655 // void DoUserInsertSvgL(); |
|
656 |
|
657 /** |
|
658 * Draws navipane at launch time. |
|
659 */ |
|
660 void InitNaviPaneL(); |
|
661 |
|
662 /** |
|
663 * Updates following navi indicators to both avkon editor pane and navidecorator pane |
|
664 * - Priority low / high |
|
665 */ |
|
666 void UpdateIndicatorIconsL(); |
|
667 |
|
668 /** |
|
669 * Auxiliary function. Shows a infomation note using notewrappers. |
|
670 * |
|
671 * @param aResourceID |
|
672 * @param aWaiting, is note waiting or not. |
|
673 */ |
|
674 void ShowInformationNoteL(TInt aResourceID, TBool aWaiting ); |
|
675 |
|
676 /** |
|
677 * Auxiliary function. Shows an error note using notewrappers. |
|
678 * |
|
679 * @param aResourceID |
|
680 * @param aWaiting, is note waiting or not. |
|
681 */ |
|
682 void ShowErrorNoteL(TInt aResourceID, TBool aWaiting ); |
|
683 |
|
684 /** |
|
685 * Auxiliary function. |
|
686 * Shows a confirmation query. |
|
687 * |
|
688 * @param aResourceID |
|
689 * @return the return value returned by CAknQueryDialog::ExecuteLD |
|
690 */ |
|
691 TInt ShowConfirmationQueryL( TInt aResourceID ); |
|
692 TInt ShowConfirmationQueryL( const TDesC& aText ) const; |
|
693 TInt ShowConfirmationNoQuestionQueryL( const TDesC& aText ) const; |
|
694 TInt ShowConfirmableInfoL( TInt aResourceID ); |
|
695 TInt ShowConfirmableInfoL( const TDesC& aText ) const; |
|
696 TInt ShowConfirmableInfoErrorL( const TDesC& aText ) const; |
|
697 |
|
698 /** |
|
699 * Auxiliary function. Shows a confirmation query if it is not shown before. |
|
700 * |
|
701 * @param aResourceID |
|
702 * @return the return value returned by CAknQueryDialog::ExecuteLD |
|
703 */ |
|
704 TInt ShowGuidedModeConfirmationQueryL( TInt aResourceID ); |
|
705 |
|
706 /** |
|
707 * Shows wait note using CAknWaitDialog. |
|
708 * |
|
709 * @param aResourceID |
|
710 */ |
|
711 TBool ShowWaitNoteL( TInt aResourceId ); |
|
712 |
|
713 /** |
|
714 * Remove wait note from screen. |
|
715 */ |
|
716 void RemoveWaitNote(); |
|
717 |
|
718 /** |
|
719 * Handles text addition to model when needed, updates size |
|
720 * when addreses or bodytext edited. |
|
721 */ |
|
722 void HandleCharInputL(); |
|
723 |
|
724 /** |
|
725 * Checks whether text object should be added to smilmodel when |
|
726 * after characters are added/removed |
|
727 */ |
|
728 void UpdateSmilTextAttaL(); |
|
729 |
|
730 /** |
|
731 * Message size according to TS 23.140 v5.5.0 |
|
732 * |
|
733 * @return size in bytes |
|
734 */ |
|
735 TInt MessageSizeInBytes(); |
|
736 |
|
737 /** |
|
738 * Handles selection key press. |
|
739 */ |
|
740 void DoSelectionKeyL(); |
|
741 |
|
742 /** |
|
743 * Performs launch finalization. |
|
744 */ |
|
745 void FinalizeLaunchL(); |
|
746 |
|
747 /** |
|
748 * Shows possible notes related to editor launching. |
|
749 * These notes include both error notes and notes related to content & MMS creation mode. |
|
750 * |
|
751 * @aParam aShutDown Returns ETrue if launching can proceed |
|
752 * EFalse if launching should be aborted immediatelly. |
|
753 */ |
|
754 void ShowLaunchNotesL( TBool& aShutDown ); |
|
755 |
|
756 /** |
|
757 * Sets an error resource id to be handled later |
|
758 * (usually after LaunchViewL). |
|
759 * |
|
760 * @param aStoreId IN/OUT The correct id is stored here |
|
761 * @param aNewId IN Error id |
|
762 */ |
|
763 void SetErrorResource( TInt& aStoreId, TInt aNewId ); |
|
764 |
|
765 /** |
|
766 * Determines error "priority" |
|
767 */ |
|
768 TInt ErrorPriority( TInt aErrorId ); |
|
769 |
|
770 /** |
|
771 * Checks if phone is in offline mode or not |
|
772 * |
|
773 * @return ETrue if phone is in offline mode |
|
774 * Otherwise EFalse. |
|
775 */ |
|
776 TBool IsPhoneOfflineL() const; |
|
777 |
|
778 /** |
|
779 * Checks whether there's enough disk space |
|
780 * to save the message. |
|
781 * |
|
782 * @return ETrue if there is enough disk space. |
|
783 * Otherwise EFalse. |
|
784 */ |
|
785 TBool CanSaveMessageL() const; |
|
786 |
|
787 /** |
|
788 * Launches help application |
|
789 */ |
|
790 void LaunchHelpL(); |
|
791 |
|
792 /** |
|
793 * Gets help context |
|
794 */ |
|
795 CArrayFix<TCoeHelpContext>* HelpContextL() const; |
|
796 |
|
797 /** |
|
798 * User selects a new template and launches smil editor |
|
799 */ |
|
800 void NewTemplateL(); |
|
801 |
|
802 /** |
|
803 * Opens smil editor for template message opened from drafts folder |
|
804 */ |
|
805 void OpenTemplateL(); |
|
806 |
|
807 /** |
|
808 * Called when user wants to play created presentation |
|
809 * Starts creating SMIL DOM |
|
810 */ |
|
811 void PlayPresentationL(); |
|
812 |
|
813 /** |
|
814 * When the SMIL DOM creation is ready, this function is called by the callback funtion |
|
815 * to start the SMILPlayer dialog. |
|
816 */ |
|
817 void DoCompletePlayPresentationL(); |
|
818 |
|
819 /** |
|
820 * Removes template from message. |
|
821 */ |
|
822 void RemoveTemplateL(); |
|
823 |
|
824 /** |
|
825 * Handles user change order command. |
|
826 */ |
|
827 void DoUserChangeOrderL( TUniLayout aLayout ); |
|
828 |
|
829 /** |
|
830 * Begins active scheduler loop |
|
831 */ |
|
832 void BeginActiveWait( CUniEditorOperation* aOperation ); |
|
833 |
|
834 /** |
|
835 * Stops active scheduler loop |
|
836 */ |
|
837 void EndActiveWait(); |
|
838 |
|
839 /** |
|
840 * Returns available objects as a bit mask |
|
841 */ |
|
842 TUint32 ObjectsAvailable(); |
|
843 |
|
844 /** |
|
845 * Handles resource change events. |
|
846 */ |
|
847 void HandleResourceChangeL(TInt aType); |
|
848 |
|
849 /** |
|
850 * ParseFileCompleteL |
|
851 * Call back function used to inform client of Parser when SMIL dom is ready for preview |
|
852 */ |
|
853 void ParseFileCompleteL(); |
|
854 |
|
855 /** |
|
856 * Accessor |
|
857 * Get pointer to image control |
|
858 * |
|
859 * @return Pointer to image control or |
|
860 * NULL if image control does not exist |
|
861 */ |
|
862 inline CMsgImageControl* ImageCtrl() const; |
|
863 |
|
864 /** |
|
865 * Accessor |
|
866 * To check whether To field is ON CURRENT SLIDE. |
|
867 * Address handling should take place through CUniEditorHeader |
|
868 * |
|
869 * @return Pointer to image control or |
|
870 * NULL if image control does not exist |
|
871 */ |
|
872 inline CMsgAddressControl* ToCtrl() const; |
|
873 |
|
874 /** |
|
875 * Accessor |
|
876 * To check whether Subject field is on ON CURRENT SLIDE |
|
877 * Subject handling should take place through CUniEditorHeader |
|
878 * |
|
879 * @return Pointer to image control or |
|
880 * NULL if image control does not exist |
|
881 */ |
|
882 inline CMsgExpandableControl* SubjectCtrl() const; |
|
883 |
|
884 /** |
|
885 * Accessor |
|
886 * Get pointer to body control |
|
887 * |
|
888 * @return Pointer to body control or |
|
889 * NULL if body control does not exist |
|
890 */ |
|
891 inline CMsgBodyControl* BodyCtrl() const; |
|
892 |
|
893 /** |
|
894 * Accessor |
|
895 * Get pointer to address control rich text editor |
|
896 * |
|
897 * @return Pointer to address control editor or |
|
898 * NULL if address control does not exist |
|
899 */ |
|
900 inline CEikRichTextEditor* RecipientCtrlEditor(CUniBaseHeader::THeaderFields aField) const; |
|
901 |
|
902 /** |
|
903 * Accessor |
|
904 * Get pointer to subject control rich text editor |
|
905 * |
|
906 * @return Pointer to subject control editor or |
|
907 * NULL if subject control does not exist |
|
908 */ |
|
909 inline CEikRichTextEditor* SubjectCtrlEditor() const; |
|
910 |
|
911 /** |
|
912 * Accessor |
|
913 * Get pointer to body control rich text editor |
|
914 * |
|
915 * @return Pointer to body control editor or |
|
916 * NULL if body control does not exist |
|
917 */ |
|
918 inline CEikRichTextEditor* BodyCtrlEditor() const; |
|
919 |
|
920 /** |
|
921 * Accessor |
|
922 * Get pointer to document instance |
|
923 * |
|
924 * @return Pointer to UniEditorDocument |
|
925 */ |
|
926 inline CUniEditorDocument* Document() const; |
|
927 |
|
928 /** |
|
929 * Check if message header is empty |
|
930 * |
|
931 * @return ETrue, to field is empty, |
|
932 * EFalse, to field has text |
|
933 */ |
|
934 inline TBool IsHeaderEmpty() const; |
|
935 |
|
936 /** |
|
937 * Check if message body is empty |
|
938 * |
|
939 * @return ETrue, message body empty, |
|
940 * EFalse, message body not empty |
|
941 */ |
|
942 inline TBool IsBodyEmpty() const; |
|
943 |
|
944 /** |
|
945 * Accessor |
|
946 * Get reference to file session |
|
947 * |
|
948 * @return Reference to file session |
|
949 */ |
|
950 inline RFs& FsSession() const; |
|
951 |
|
952 /** |
|
953 * Implements AddHeaders command |
|
954 */ |
|
955 void DoUserAddHeadersL(); |
|
956 |
|
957 /** |
|
958 * Collects statistics about additional headers after user |
|
959 * has closed the multiselection list. |
|
960 * @param aIndexesOut list of (un)selected items. Values are TBool |
|
961 * @param aVariation flags of variation |
|
962 * @param aNewSelectionFlags OUT contains headers, which user selected |
|
963 * @param aRemoveFlags OUT contains headers to be removed from UI |
|
964 * @param aRemovewarningFlags OUT contains headers to be removed from UI, |
|
965 * which contains data |
|
966 * @param aAddFlags OUT contains headers to be added to the UI |
|
967 * |
|
968 * Every flag is a combination of EMmsFeatureSubject, EMmsFeatureCc |
|
969 * and EMmsFeatureBcc of enum TMmsFeatures |
|
970 */ |
|
971 void AddHeadersCollectStatisticsL( CArrayFix<TInt>& aIndexesOut, |
|
972 TInt aVariation, |
|
973 TInt& aNewSelectionFlags, |
|
974 TInt& aRemoveFlags, |
|
975 TInt& aRemoveWarningFlags, |
|
976 TInt& aAddFlags) const; |
|
977 |
|
978 |
|
979 /** |
|
980 * Returns count of headers, which have flag set |
|
981 * @param aFlags combination of flags of EMmsFeatureSubject, EMmsFeatureCc |
|
982 * and EMmsFeatureBcc of enum TMmsFeatures |
|
983 * @return count of headers |
|
984 */ |
|
985 TInt AddHeadersCount( TInt aFlags ) const; |
|
986 |
|
987 /** |
|
988 * Set scroll positions of editor controls to the end of |
|
989 * of the text (address controls and body text if before image) |
|
990 * or beginning of body text, if body text is after media object. |
|
991 * This function is usually called after inserting media has been successful. |
|
992 */ |
|
993 void SetCursorPositionsForInsertL(); |
|
994 |
|
995 /** |
|
996 * Add icon of priority to navi pane |
|
997 */ |
|
998 void PriorityToNaviPane(); |
|
999 |
|
1000 /** |
|
1001 * Removes text from the current page |
|
1002 */ |
|
1003 void RemoveCurrentTextObjectL(); |
|
1004 |
|
1005 /** |
|
1006 * Checks body message type. |
|
1007 */ |
|
1008 void CheckBodyForMessageTypeL(); |
|
1009 |
|
1010 /** |
|
1011 * Checks header message type. |
|
1012 */ |
|
1013 void CheckHeaderForMessageTypeL(); |
|
1014 |
|
1015 /** |
|
1016 * Checks if the body content is SMS conformant |
|
1017 */ |
|
1018 TBool IsBodySmsCompatibleL( TBool aInAutoMode = ETrue ); |
|
1019 |
|
1020 /** |
|
1021 * Set iSmsSize and EUnicodeMode |
|
1022 */ |
|
1023 void CheckSmsSizeAndUnicodeL(); |
|
1024 |
|
1025 /** |
|
1026 * Checks if there are too many recipients and shows a note |
|
1027 * @return ETrue - if recipients OK otherwise EFalse |
|
1028 */ |
|
1029 TBool CheckMaxRecipientsAndShowNoteL( TBool aSendCheck = EFalse ); |
|
1030 |
|
1031 /** |
|
1032 * Returns SMS plugin |
|
1033 */ |
|
1034 inline CUniEditorPlugin* SmsPlugin(); |
|
1035 |
|
1036 /** |
|
1037 * Returns MMS plugin |
|
1038 */ |
|
1039 inline CUniEditorPlugin* MmsPlugin(); |
|
1040 |
|
1041 /** |
|
1042 * Returns whether editor is fully launched or not. |
|
1043 */ |
|
1044 inline TBool IsLaunched() const; |
|
1045 |
|
1046 /** |
|
1047 * Creates a string from integer |
|
1048 * If size is less than 10 kilobytes -> string with one decimal |
|
1049 * If size is 0 or 10k or more -> integer string |
|
1050 * |
|
1051 * @since 3.1 |
|
1052 * @param aSizeInBytes IN size to be converted to string |
|
1053 * in bytes |
|
1054 * @param aSize IN/OUT the size string |
|
1055 * @param aInteger OUT the integer part of the string |
|
1056 * @param aFragment OUT the decimal part of the string |
|
1057 */ |
|
1058 void CreateMmsNaviSizeStringL( const TInt aSizeInBytes, |
|
1059 TDes& aSize, |
|
1060 TInt& aInteger, |
|
1061 TInt& aFragment ); |
|
1062 |
|
1063 /** |
|
1064 * Handles insert other file command from toolbar. |
|
1065 */ |
|
1066 void DoToolbarInsertOtherL(); |
|
1067 |
|
1068 /** |
|
1069 * Shows list query |
|
1070 */ |
|
1071 TBool ShowListQueryL( TInt aResourceID, TInt& aSelectedIndex ) const; |
|
1072 |
|
1073 /** |
|
1074 * Hides popup note |
|
1075 */ |
|
1076 void HidePopupNote(); |
|
1077 |
|
1078 /** |
|
1079 * Shows popup note |
|
1080 */ |
|
1081 void ShowPopupNoteL( TBool aMms ); |
|
1082 |
|
1083 /** |
|
1084 * Plays focused item |
|
1085 */ |
|
1086 void PlayFocusedItemL(); |
|
1087 |
|
1088 /** |
|
1089 * Checks the size of the sms body and shows notes |
|
1090 * If aSendCheck is ETrue, checks only if the body exceeds the max size |
|
1091 */ |
|
1092 void CheckMaxSmsSizeAndShowNoteL( TBool aSendCheck = EFalse ); |
|
1093 |
|
1094 /** |
|
1095 * Sets or removes edwin control's maximum size |
|
1096 */ |
|
1097 void SetOrRemoveMaxSizeInEdwin(); |
|
1098 |
|
1099 /** |
|
1100 * Checks the focused item and updates the middle softkey accordingly |
|
1101 */ |
|
1102 void UpdateMiddleSoftkeyL(); |
|
1103 |
|
1104 /** |
|
1105 * Sets input mode to address fields |
|
1106 */ |
|
1107 void SetInputModeToAddressFields( TInt aInputMode ); |
|
1108 |
|
1109 /** |
|
1110 * Handles user priority change command. |
|
1111 */ |
|
1112 void DoEditMmsPriorityL(); |
|
1113 |
|
1114 /** |
|
1115 * Creates radio button array |
|
1116 */ |
|
1117 CAknIconArray* RadioButtonArrayL(); |
|
1118 |
|
1119 /** |
|
1120 * Confirms SMS message sending in multiple parts |
|
1121 */ |
|
1122 TBool ConfirmSmsSendInMultiplePartsL(); |
|
1123 |
|
1124 /** |
|
1125 * Sets title icons sizes. |
|
1126 */ |
|
1127 void SetTitleIconsSizeL(); |
|
1128 |
|
1129 /** |
|
1130 * Tells if email addresses are accepted by the message |
|
1131 * For example locked sms + EmailOverSms or not-locked sms |
|
1132 */ |
|
1133 TBool AcceptEmailAddresses(); |
|
1134 |
|
1135 /** |
|
1136 * Tells if the message is locked in sms mode |
|
1137 * (either by restricted reply or temporarily in sending options) |
|
1138 */ |
|
1139 TBool IsHardcodedSms(); |
|
1140 |
|
1141 /** |
|
1142 * Resolves control id of the focused control after the launch. |
|
1143 */ |
|
1144 TMsgControlId ResolveLaunchFocusedControlL(); |
|
1145 |
|
1146 /** |
|
1147 * Sets correct message type locking to MTM |
|
1148 */ |
|
1149 void SetMessageTypeLockingL(); |
|
1150 |
|
1151 /** |
|
1152 * Activates input blocker properly. |
|
1153 * |
|
1154 * @param aActiveObjectToCancel Pointer to an active object that is called when |
|
1155 * input blocker is cancelled. Can be NULL. |
|
1156 */ |
|
1157 void ActivateInputBlockerL( CActive* aActiveObjectToCancel ); |
|
1158 |
|
1159 /** |
|
1160 * Deactivates input blocker properly. |
|
1161 */ |
|
1162 void DeactivateInputBlocker(); |
|
1163 |
|
1164 /** |
|
1165 * Updates toolbar items status to correct one. |
|
1166 */ |
|
1167 void UpdateToolbarL(); |
|
1168 |
|
1169 /** |
|
1170 * Check whether message is locked to SMS mode and if |
|
1171 * it includes an attachment (i.e. vCard or vCal). Performs |
|
1172 * actions related to changes from in and out of this state. |
|
1173 */ |
|
1174 void CheckLockedSmsWithAttaL(); |
|
1175 |
|
1176 /** |
|
1177 * Sets fixed toolbar dimmed. |
|
1178 */ |
|
1179 void SetFixedToolbarDimmed(); |
|
1180 |
|
1181 /** |
|
1182 * Cleanup item for setting toolbar enabled. |
|
1183 */ |
|
1184 static void EnableFixedToolbar( TAny* aAny ); |
|
1185 |
|
1186 /** |
|
1187 * Cleanup item for Updating fixed toolbar Dimmed. |
|
1188 */ |
|
1189 static void UpdateFixedToolbar( TAny* aAny ); |
|
1190 /** |
|
1191 * Cleanup item for.Disabling SendKey |
|
1192 */ |
|
1193 static void DisableSendKey( TAny* aAny ); |
|
1194 |
|
1195 |
|
1196 |
|
1197 /** |
|
1198 * Creates fixed toolbar. |
|
1199 * |
|
1200 * @param aDimmed ETrue if all toolbar items are wanted to be set dimmed. |
|
1201 * EFalse otherwise. |
|
1202 */ |
|
1203 void CreateFixedToolbarL( TBool aSetDimmed ); |
|
1204 |
|
1205 /** |
|
1206 * Sets extension button to dimmed/undimmed. |
|
1207 * |
|
1208 * @param aExtension Toolbar extension |
|
1209 * @param aButtonId Toolbar button id |
|
1210 * @param aDimmed ETrue/EFalse Dimmed/Undimmed. |
|
1211 */ |
|
1212 void SetExtensionButtonDimmed( CAknToolbarExtension* aExtension, TInt aButtonId, TBool aDimmed ); |
|
1213 |
|
1214 /** |
|
1215 * Enables toolbar. |
|
1216 */ |
|
1217 void DoEnableFixedToolbar(); |
|
1218 /** |
|
1219 * Update toolbar. |
|
1220 */ |
|
1221 void DoUpdateFixedToolbar(); |
|
1222 |
|
1223 /** |
|
1224 * Handles enter key processing. |
|
1225 */ |
|
1226 TBool DoEnterKeyL(); |
|
1227 |
|
1228 /** |
|
1229 * Verifys and if valid to show SMS Size, then sends it to the PenInput server |
|
1230 */ |
|
1231 void SmsMsgLenToPenInputL(); |
|
1232 |
|
1233 /** |
|
1234 * Verifys whether Updated Message Length is required to send to Pen Input or not |
|
1235 */ |
|
1236 TBool UpdateMsgLenToPenInput(); |
|
1237 |
|
1238 /** |
|
1239 * Notification from central repository |
|
1240 */ |
|
1241 void HandleNotifyInt( TUint32 aId, TInt aNewValue ); |
|
1242 private: // Enumerations |
|
1243 |
|
1244 enum TUniEditorFlags |
|
1245 { |
|
1246 EUseEstimatedSmilSize = 0x0001, |
|
1247 ELaunchSuccessful = 0x0002, |
|
1248 EShowGuidedConf = 0x0004, |
|
1249 EEditorExiting = 0x0008, |
|
1250 ERunAppShutterAtExit = 0x0010, |
|
1251 EEditorClosing = 0x0020, |
|
1252 EInsertAddsSlide = 0x0040, |
|
1253 EMaxRecipientShown = 0x0080, // max recipient note already shown |
|
1254 EShowInfoPopups = 0x0100, // show "message type changed" notes |
|
1255 EMaxSmsSizeNoteShown = 0x0200, // max size of sms note is shown |
|
1256 ESubjectOkInSms = 0x0400, // if defined subject is ok to show also in sms auto mode |
|
1257 EHideSizeCounter = 0x0800, // hide size counters in navipane |
|
1258 ESmsCounterShownLast = 0x1000, // last time a counter was updated it was sms counter |
|
1259 EShowSmsSentInManyParts = 0x2000, // ask the query "message will be sent in x parts" |
|
1260 EDoNotUpdateTitlePane = 0x4000, // set while Objects view is open so the title pane remains ok if layout is changed |
|
1261 EShowSmsSizeNoteNextTime = 0x8000, // when max sms size reached -> show this note after next letter |
|
1262 EToolbarHidden = 0x10000, |
|
1263 ELockedSmsWithAtta = 0x20000, |
|
1264 EMsgEditInProgress = 0x40000, |
|
1265 ESmsSizeWarningNoteShown = 0x80000, // Korean req: 415-5434 |
|
1266 EHideMessageTypeOption = 0x100000 |
|
1267 }; |
|
1268 |
|
1269 private: // Data |
|
1270 |
|
1271 TInt iDisplaySize; // Current msg size in navipane. Kb/Mb |
|
1272 |
|
1273 CAknLocalScreenClearer* iScreenClearer; |
|
1274 CPeriodic* iIdle; |
|
1275 |
|
1276 CUniSmilModel* iSmilModel; // Fetch pointer from document at launch |
|
1277 CUniClientMtm* iMtm; // Fetch pointer from document at launch |
|
1278 |
|
1279 CMDXMLParser* iParser; // SMIL Parser fore presentation preview |
|
1280 CMDXMLDocument* iDom; // Dom created by parser for smil player |
|
1281 |
|
1282 CAknInputBlock* iInputBlocker; // AknInputBlocker |
|
1283 |
|
1284 CAknWaitDialog* iWaitDialog; |
|
1285 TInt iWaitResId; |
|
1286 |
|
1287 TInt iOriginalSlide; |
|
1288 TInt iNextSlide; |
|
1289 TMsgControlId iNextFocus; |
|
1290 CAknTitlePane* iTitlePane; |
|
1291 HBufC* iTitleSms; |
|
1292 HBufC* iTitleMms; |
|
1293 TInt iSmsBodyLength; |
|
1294 TInt iSmsSubjectLength; |
|
1295 TInt iPrevSmsLength; |
|
1296 |
|
1297 HBufC* iSmsLengthFormatBuffer; |
|
1298 HBufC* iMmsLengthFormatBuffer; |
|
1299 |
|
1300 CGulIcon* iIconSms; |
|
1301 CGulIcon* iIconMms; |
|
1302 |
|
1303 CAknInfoPopupNoteController* iPopupNote; |
|
1304 HBufC* iPopupChangedMmsBuffer; |
|
1305 HBufC* iPopupChangedSmsBuffer; |
|
1306 |
|
1307 CRepository* iMuiuSettRepository; |
|
1308 |
|
1309 TUint32 iEditorFlags; |
|
1310 TInt iSupportedFeatures; |
|
1311 |
|
1312 CUniSlideLoader* iSlideLoader; |
|
1313 |
|
1314 CUniEditorHeader* iHeader; |
|
1315 CUniEditorChangeSlideOperation* iChangeSlideOperation; |
|
1316 CUniEditorInsertOperation* iInsertOperation; |
|
1317 CUniEditorLaunchOperation* iLaunchOperation; |
|
1318 CUniEditorSaveOperation* iSaveOperation; |
|
1319 CUniEditorSendOperation* iSendOperation; |
|
1320 CUniEditorOperation* iActiveOperation; |
|
1321 CUniEditorVCardOperation* iVCardOperation; |
|
1322 |
|
1323 CMsgMediaInfo* iInsertingMedia; |
|
1324 TMsgMediaType iInsertingType; |
|
1325 |
|
1326 CActiveSchedulerWait iWait; |
|
1327 |
|
1328 CAknNavigationControlContainer* iNaviPane; |
|
1329 |
|
1330 CDocumentHandler* iDocHandler; |
|
1331 TInt iMskResId; |
|
1332 |
|
1333 // Used to connect pointer down and up events to correct control. Not owned. |
|
1334 CMsgBaseControl* iFocusedControl; |
|
1335 CMsgBaseControl* iStoredBodyControl; |
|
1336 |
|
1337 CAknToolbar* iFixedToolbar; |
|
1338 |
|
1339 RPeninputServer iPeninputServer; |
|
1340 CCenRepNotifyHandler* iNotifyHandler; |
|
1341 CRepository* iInputTxtLangRepository; |
|
1342 TBool iMsgLenToVKB; |
|
1343 |
|
1344 //Turkish SMS-PREQ2265 specific... |
|
1345 TInt iNumOfPDUs; |
|
1346 TInt iCharsLeft; |
|
1347 TBool iNLTFeatureSupport; |
|
1348 HBufC* iPrevBuffer; |
|
1349 TBool iSettingsChanged; |
|
1350 |
|
1351 //Korean Req: 415-5434 |
|
1352 HBufC* iPopupSmsSizeAboveLimitBuffer; |
|
1353 HBufC* iPopupSmsSizeBelowLimitBuffer; |
|
1354 }; |
|
1355 |
|
1356 #include "UniEditorAppUi.inl" |
|
1357 |
|
1358 #endif // _UniEditorAPPUI_H |
|
1359 |
|
1360 // End of File |
|
1361 |