19 #include <HbTextEdit> |
19 #include <HbTextEdit> |
20 #include <HbTextItem> |
20 #include <HbTextItem> |
21 #include <HbFrameItem> |
21 #include <HbFrameItem> |
22 #include <HbFrameDrawer> |
22 #include <HbFrameDrawer> |
23 #include <HbIconItem> |
23 #include <HbIconItem> |
24 #include <HbPushButton> |
|
25 #include <HbAction> |
24 #include <HbAction> |
26 #include <hbinputeditorinterface.h> |
25 #include <hbinputeditorinterface.h> |
27 //#include <HbGestureSceneFilter> |
|
28 //#include <HbGesture> |
|
29 #include <HbMenu> |
|
30 #include <HbMainWindow> |
26 #include <HbMainWindow> |
31 #include <HbDeviceProfile> |
27 #include <HbDeviceProfile> |
32 #include <QImageReader> |
28 #include <QImageReader> |
33 #include <QFileInfo> |
29 #include <QFileInfo> |
34 #include <MsgMediaResolver.h> |
30 #include <MsgMediaResolver.h> |
47 #include <xqappmgr.h> |
43 #include <xqappmgr.h> |
48 |
44 |
49 // USER INCLUDES |
45 // USER INCLUDES |
50 #include "msgunieditorbody.h" |
46 #include "msgunieditorbody.h" |
51 #include "UniEditorGenUtils.h" |
47 #include "UniEditorGenUtils.h" |
52 #include "unisendingsettings.h" |
48 #include "UniSendingSettings.h" |
53 #include "msgmonitor.h" |
49 #include "msgunieditormonitor.h" |
54 #include "s60qconversions.h" |
50 #include "s60qconversions.h" |
55 #include "mmsconformancecheck.h" |
51 #include "mmsconformancecheck.h" |
56 #include "unieditorpluginloader.h" |
52 #include "unieditorpluginloader.h" |
57 #include "unieditorplugininterface.h" |
53 #include "unieditorplugininterface.h" |
58 #include "convergedmessage.h" |
54 #include "convergedmessage.h" |
59 #include "msgmediautil.h" |
55 #include "msgmediautil.h" |
|
56 #include "msgunieditorpixmapwidget.h" |
|
57 #include "msgunieditoraudiowidget.h" |
60 |
58 |
61 // Constants |
59 // Constants |
62 const QString EDITOR_FRAME("qtg_fr_lineedit_normal"); |
|
63 const QString BACKGROUND_FRAME("qtg_fr_btn_normal"); |
60 const QString BACKGROUND_FRAME("qtg_fr_btn_normal"); |
64 const QString AUDIO_REGION("AudioRegion"); |
|
65 const QString VIDEO_REGION("VideoRegion"); |
|
66 const QString IMAGE_REGION("ImageRegion"); |
|
67 const QString INVALID_REGION("InvalidRegion"); |
|
68 const QString SEND_ICON("qtg_mono_send"); |
61 const QString SEND_ICON("qtg_mono_send"); |
|
62 |
69 const int KShowCounterLimit = 10; |
63 const int KShowCounterLimit = 10; |
70 const int BYTES_TO_KBYTES_FACTOR = 1024; |
64 const int BYTES_TO_KBYTES_FACTOR = 1024; |
71 |
65 |
72 //Localized Constants for item specific menu |
66 //Localized Constants for item specific menu |
73 #define LOC_OPEN hbTrId("txt_common_menu_open") |
|
74 #define LOC_REMOVE hbTrId("txt_common_menu_remove") |
|
75 #define LOC_DETAILS hbTrId("txt_common_menu_details") |
|
76 #define LOC_TITLE hbTrId("txt_messaging_title_messaging") |
67 #define LOC_TITLE hbTrId("txt_messaging_title_messaging") |
77 #define LOC_UNABLE_TO_ADD_CONTENT hbTrId("txt_messaging_dpopinfo_unable_to_add_more_content") |
68 #define LOC_UNABLE_TO_ADD_CONTENT hbTrId("txt_messaging_dpopinfo_unable_to_add_more_content") |
78 #define LOC_UNABLE_TO_ATTACH_ITEM hbTrId("txt_messaging_dpopinfo_unable_to_attach_item_avai") |
69 #define LOC_UNABLE_TO_ATTACH_ITEM hbTrId("txt_messaging_dpopinfo_unable_to_attach_item_avai") |
79 #define LOC_PROCESSING hbTrId("txt_messaging_formlabel_loading") |
70 #define LOC_PROCESSING hbTrId("txt_messaging_formlabel_loading") |
80 |
71 #define LOC_HINT_TEXT hbTrId("txt_messaging_formlabel_enter_message_here") |
81 const QString AUDIO_ICON("qtg_mono_audio"); |
72 |
82 const QString ANIMATION_ICON("qtg_anim_loading"); |
73 const QString ANIMATION_ICON("qtg_anim_loading"); |
83 const QString ANIMATION_FILE(":/qtg_anim_loading.axml"); |
74 const QString ANIMATION_FILE(":/qtg_anim_loading.axml"); |
84 // LOCAL FUNCTIONS |
75 // LOCAL FUNCTIONS |
85 |
76 |
86 //--------------------------------------------------------------- |
77 //--------------------------------------------------------------- |
88 // @return fullPath of unified editor's temporary dir |
79 // @return fullPath of unified editor's temporary dir |
89 //--------------------------------------------------------------- |
80 //--------------------------------------------------------------- |
90 void showInsertFailureNote() |
81 void showInsertFailureNote() |
91 { |
82 { |
92 int availableSize = |
83 int availableSize = |
93 (MsgMonitor::maxMmsSize() - MsgMonitor::messageSize()) |
84 (MsgUnifiedEditorMonitor::maxMmsSize() - MsgUnifiedEditorMonitor::messageSize()) |
94 /BYTES_TO_KBYTES_FACTOR; |
85 /BYTES_TO_KBYTES_FACTOR; |
95 QString displayStr = QString(LOC_UNABLE_TO_ATTACH_ITEM) |
86 QString displayStr = QString(LOC_UNABLE_TO_ATTACH_ITEM) |
96 .arg(availableSize); |
87 .arg(availableSize); |
97 HbNotificationDialog* dlg = new HbNotificationDialog(); |
88 HbNotificationDialog* dlg = new HbNotificationDialog(); |
98 dlg->setFocusPolicy(Qt::NoFocus); |
89 dlg->setFocusPolicy(Qt::NoFocus); |
106 MsgUnifiedEditorBody::MsgUnifiedEditorBody( QGraphicsItem *parent ) : |
97 MsgUnifiedEditorBody::MsgUnifiedEditorBody( QGraphicsItem *parent ) : |
107 MsgUnifiedEditorBaseWidget(parent), |
98 MsgUnifiedEditorBaseWidget(parent), |
108 mHasImage(false), |
99 mHasImage(false), |
109 mHasAudio(false), |
100 mHasAudio(false), |
110 mTextEdit(0), |
101 mTextEdit(0), |
111 mEditorFrame(0), |
102 mPixmapItem(0), |
112 mIconItem(0), |
|
113 mAudioItem(0), |
103 mAudioItem(0), |
114 mImageSize(0), |
104 mImageSize(0), |
115 mAudioSize(0), |
105 mAudioSize(0), |
116 mVideoSize(0), |
106 mVideoSize(0), |
117 mProcessImageOperation(0), |
107 mProcessImageOperation(0), |
118 mMediaResolver(0), |
108 mMediaResolver(0), |
119 mImageInfo(0), |
109 mImageInfo(0), |
120 mProcessingWidget(0) |
110 mProcessingWidget(0), |
|
111 mDraftMessage(false) |
121 { |
112 { |
122 mTextEdit = new HbTextEdit(this); |
113 mTextEdit = new HbTextEdit(this); |
|
114 mTextEdit->setSmileysEnabled(true); |
|
115 mTextEdit->setPlaceholderText(LOC_HINT_TEXT); |
123 HbStyle::setItemName(mTextEdit,"textEdit"); |
116 HbStyle::setItemName(mTextEdit,"textEdit"); |
124 |
117 connect(mTextEdit, SIGNAL(contentsChanged()), this, SLOT(onTextChanged())); |
125 HbFrameDrawer* frameDrawer = new HbFrameDrawer(EDITOR_FRAME, |
118 |
126 HbFrameDrawer::NinePieces); |
|
127 |
|
128 mEditorFrame = new HbFrameItem(frameDrawer,this); |
|
129 HbStyle::setItemName(mEditorFrame,"textEditFrame"); |
|
130 mEditorFrame->setZValue(-1); |
|
131 |
|
132 // add "Send" action in VKB |
119 // add "Send" action in VKB |
133 HbEditorInterface editorInterface(mTextEdit); |
120 HbEditorInterface editorInterface(mTextEdit); |
134 HbAction *sendAction = new HbAction(HbIcon(SEND_ICON), QString(),this); |
121 HbAction *sendAction = new HbAction(HbIcon(SEND_ICON), QString(),this); |
135 connect(sendAction, SIGNAL(triggered()),this, SIGNAL(sendMessage())); |
122 connect(sendAction, SIGNAL(triggered()),this, SIGNAL(sendMessage())); |
136 editorInterface.addAction(sendAction); |
123 editorInterface.addAction(sendAction); |
137 |
124 |
138 /* mGestureFilter = new HbGestureSceneFilter(Qt::LeftButton, this); |
|
139 mGestureFilter->setLongpressAnimation(true); |
|
140 HbGesture *gesture = new HbGesture(HbGesture::longpress, 5); |
|
141 mGestureFilter->addGesture(gesture); |
|
142 connect(gesture, SIGNAL(longPress(QPointF)), this, SLOT(longPressed(QPointF)));*/ |
|
143 connect(mTextEdit, SIGNAL(contentsChanged()), this, SLOT(onTextChanged())); |
|
144 |
|
145 mMmsConformanceCheck = new MmsConformanceCheck; |
125 mMmsConformanceCheck = new MmsConformanceCheck; |
146 |
126 |
147 mCharCounter = new HbTextItem(this); |
127 mCharCounter = new HbTextItem(this); |
148 HbStyle::setItemName(mCharCounter, "charCounter"); |
128 HbStyle::setItemName(mCharCounter, "charCounter"); |
149 mCharCounter->setZValue(1.5); |
129 mCharCounter->setZValue(1.5); |
280 //Show appropriate note and leave |
262 //Show appropriate note and leave |
281 showInsertFailureNote(); |
263 showInsertFailureNote(); |
282 return; |
264 return; |
283 } |
265 } |
284 |
266 |
285 mIconItem = new HbIconItem(this); |
267 mPixmapItem = new MsgUnifiedEditorPixmapWidget(this); |
286 mIconItem->hide(); |
268 mPixmapItem->hide(); |
287 //mIconItem->setIconName(mImageFile); |
269 HbStyle::setItemName(mPixmapItem, "pixmap"); |
288 QPixmap pixmap(mImageFile); |
270 mPixmapItem->setAlignment(Qt::AlignHCenter | Qt::AlignTop); |
289 mIconItem->setIcon(HbIcon(pixmap)); |
271 mPixmapItem->populate(mImageFile); |
290 |
272 connect(mPixmapItem,SIGNAL(remove()),this,SLOT(removeMedia())); |
291 HbStyle::setItemName(mIconItem, "pixmap"); |
273 |
292 mIconItem->setAlignment(Qt::AlignHCenter | Qt::AlignTop); |
|
293 // mIconItem->installSceneEventFilter(mGestureFilter); |
|
294 |
|
295 // repolish the body widget |
274 // repolish the body widget |
296 this->repolish(); |
275 this->repolish(); |
297 |
276 |
298 // emit signal to indicate addition of image |
277 // emit signal to indicate addition of image |
299 emit contentChanged(); |
278 if(!mDraftMessage) |
|
279 { |
|
280 emit contentChanged(); |
|
281 } |
300 } |
282 } |
301 |
283 |
302 void MsgUnifiedEditorBody::setAudio(QString& audiofile) |
284 void MsgUnifiedEditorBody::setAudio(QString& audiofile) |
303 { |
285 { |
304 //check for insert conformance |
286 //check for insert conformance |
328 //Show appropriate note and leave |
311 //Show appropriate note and leave |
329 showInsertFailureNote(); |
312 showInsertFailureNote(); |
330 return; |
313 return; |
331 } |
314 } |
332 |
315 |
333 HbIconItem* audioIcon = new HbIconItem(AUDIO_ICON); |
316 mAudioItem = new MsgUniFiedEditorAudioWidget(this); |
334 mAudioItem = new HbPushButton(this); |
|
335 mAudioItem->hide(); |
317 mAudioItem->hide(); |
336 HbStyle::setItemName(mAudioItem,"audioItem"); |
318 HbStyle::setItemName(mAudioItem,"audioItem"); |
337 mAudioItem->setIcon(audioIcon->icon()); |
319 mAudioItem->populate(mAudioFile); |
338 mAudioItem->setText(fileinfo.baseName()); |
320 connect(mAudioItem,SIGNAL(remove()),this,SLOT(removeMedia())); |
339 MsgMediaUtil mediaUtil; |
|
340 mAudioItem->setAdditionalText(mediaUtil.mediaDuration(mAudioFile)); |
|
341 mAudioItem->setTextAlignment(Qt::AlignVCenter | Qt::AlignLeft); |
|
342 connect(mAudioItem, SIGNAL(longPress(QPointF)), this, SLOT(longPressed(QPointF))); |
|
343 |
321 |
344 // repolish the body widget |
322 // repolish the body widget |
345 this->repolish(); |
323 this->repolish(); |
346 |
324 |
347 // emit signal to indicate addition of audio |
325 // emit signal to indicate addition of audio |
425 QSizeF audioSize = mAudioItem->effectiveSizeHint(which, constraint); |
401 QSizeF audioSize = mAudioItem->effectiveSizeHint(which, constraint); |
426 szHint.rheight() += (audioSize.height() + bodyItemSpacing); |
402 szHint.rheight() += (audioSize.height() + bodyItemSpacing); |
427 mAudioItem->show(); |
403 mAudioItem->show(); |
428 } |
404 } |
429 |
405 |
430 if(mIconItem || mProcessingWidget) |
406 if(mPixmapItem || mProcessingWidget) |
431 { |
407 { |
432 QSizeF imageSize(0.0,0.0); |
408 QSizeF imageSize(0.0,0.0); |
433 QSizeF defaultImageSize(QImageReader(mImageFile).size()); |
409 QSizeF defaultImageSize(QImageReader(mImageFile).size()); |
434 |
410 |
435 if(!defaultImageSize.isEmpty()) |
411 if(!defaultImageSize.isEmpty()) |
459 { |
435 { |
460 qreal newWidth = defaultImageSize.width()*newHeight/defaultImageSize.height(); |
436 qreal newWidth = defaultImageSize.width()*newHeight/defaultImageSize.height(); |
461 imageSize.setWidth(newWidth); |
437 imageSize.setWidth(newWidth); |
462 } |
438 } |
463 |
439 |
464 if(mIconItem) |
440 if(mPixmapItem) |
465 { |
441 { |
466 mIconItem->setPreferredSize(imageSize); |
442 mPixmapItem->setPreferredSize(imageSize); |
467 mIconItem->setSize(imageSize); |
443 mPixmapItem->setSize(imageSize); |
468 if(mMainWindow->orientation() == Qt::Horizontal) |
444 if(mMainWindow->orientation() == Qt::Horizontal) |
469 { |
445 { |
470 QPointF currPos = mIconItem->pos(); |
446 QPointF currPos = mPixmapItem->pos(); |
471 currPos.setX(leftMargin+((maxWidth-imageSize.width())/2)); |
447 currPos.setX(leftMargin+((maxWidth-imageSize.width())/2)); |
472 mIconItem->setPos(currPos); |
448 mPixmapItem->setPos(currPos); |
473 } |
449 } |
474 mIconItem->show(); |
450 mPixmapItem->show(); |
|
451 emit enableSendButton(true); |
475 } |
452 } |
476 |
453 |
477 if(mProcessingWidget) |
454 if(mProcessingWidget) |
478 { |
455 { |
479 imageSize.setHeight(mProcessingWidget->preferredHeight()); |
456 imageSize.setHeight(mProcessingWidget->preferredHeight()); |
488 mTextEdit->setMinimumHeight(maxHeight); |
465 mTextEdit->setMinimumHeight(maxHeight); |
489 szHint.rheight() += bodyItemSpacing; |
466 szHint.rheight() += bodyItemSpacing; |
490 return szHint; |
467 return szHint; |
491 } |
468 } |
492 |
469 |
493 void MsgUnifiedEditorBody::longPressed(QPointF position) |
|
494 { |
|
495 HbMenu* menu = new HbMenu; |
|
496 menu->addAction(LOC_OPEN, this, SLOT(openMedia())); |
|
497 menu->addAction(LOC_REMOVE, this, SLOT(removeMedia())); |
|
498 menu->addAction(LOC_DETAILS, this, SLOT(viewDetails())); |
|
499 |
|
500 menu->setDismissPolicy(HbPopup::TapAnywhere); |
|
501 menu->setAttribute(Qt::WA_DeleteOnClose, true); |
|
502 menu->setPreferredPos(position); |
|
503 |
|
504 menu->setObjectName(getHitRegion(position)); |
|
505 menu->show(); |
|
506 } |
|
507 |
|
508 void MsgUnifiedEditorBody::removeMedia() |
470 void MsgUnifiedEditorBody::removeMedia() |
509 { |
471 { |
510 HbAction* action = qobject_cast<HbAction*>(sender()); |
472 QObject* senderObject = sender(); |
511 QString objName = action->parent()->objectName(); |
473 |
512 if(objName == IMAGE_REGION) |
474 MsgUnifiedEditorPixmapWidget* pixmap = |
|
475 qobject_cast<MsgUnifiedEditorPixmapWidget*>(senderObject); |
|
476 |
|
477 MsgUniFiedEditorAudioWidget* audio = |
|
478 qobject_cast<MsgUniFiedEditorAudioWidget*>(senderObject); |
|
479 |
|
480 if(pixmap) //remove image |
513 { |
481 { |
514 mImageFile.clear(); |
482 mImageFile.clear(); |
515 if(mIconItem) |
483 if(mPixmapItem) |
516 { |
484 { |
517 // mIconItem->removeSceneEventFilter(mGestureFilter); |
485 mPixmapItem->setParent(NULL); |
518 delete mIconItem; |
486 delete mPixmapItem; |
519 mIconItem = NULL; |
487 mPixmapItem = NULL; |
520 } |
488 } |
521 setImage(false); |
489 setImage(false); |
522 mImageSize = 0; |
490 mImageSize = 0; |
523 } |
491 } |
524 else if(objName == AUDIO_REGION) |
492 else if(audio)//remove audio item |
525 { |
493 { |
526 mAudioFile.clear(); |
494 mAudioFile.clear(); |
527 if(mAudioItem) |
495 if(mAudioItem) |
528 { |
496 { |
529 delete mAudioItem; |
497 mAudioItem->setParent(NULL); |
530 mAudioItem = NULL; |
498 delete mAudioItem; |
531 } |
499 mAudioItem = NULL; |
532 setAudio(false); |
500 } |
533 mAudioSize = 0; |
501 setAudio(false); |
534 } |
502 mAudioSize = 0; |
535 else if(objName == VIDEO_REGION) |
503 } |
536 { |
|
537 //TODO: complete this with video handling story |
|
538 } |
|
539 else |
|
540 { |
|
541 // return without doing anything |
|
542 return; |
|
543 } |
|
544 |
504 |
545 this->repolish(); |
505 this->repolish(); |
546 |
506 |
547 emit contentChanged(); |
507 emit contentChanged(); |
548 } |
|
549 |
|
550 //--------------------------------------------------------------- |
|
551 // MsgUnifiedEditorBody :: openMedia |
|
552 // @see header file |
|
553 //--------------------------------------------------------------- |
|
554 void MsgUnifiedEditorBody::openMedia() |
|
555 { |
|
556 HbAction* action = qobject_cast<HbAction*>(sender()); |
|
557 QString objName = action->parent()->objectName(); |
|
558 |
|
559 QString fileName; |
|
560 if ( objName == IMAGE_REGION ) |
|
561 { |
|
562 fileName = mImageFile; |
|
563 } |
|
564 else if ( objName == AUDIO_REGION ) |
|
565 { |
|
566 fileName = mAudioFile; |
|
567 } |
|
568 else |
|
569 { |
|
570 return; |
|
571 } |
|
572 |
|
573 XQSharableFile sf; |
|
574 XQAiwRequest* request = 0; |
|
575 |
|
576 if ( !sf.open(fileName) ) |
|
577 { |
|
578 return; |
|
579 } |
|
580 |
|
581 // Get handlers |
|
582 XQApplicationManager appManager; |
|
583 QList<XQAiwInterfaceDescriptor> fileHandlers = appManager.list(sf); |
|
584 if (fileHandlers.count() > 0) |
|
585 { |
|
586 XQAiwInterfaceDescriptor d = fileHandlers.first(); |
|
587 request = appManager.create(sf, d); |
|
588 |
|
589 if ( !request ) |
|
590 { |
|
591 sf.close(); |
|
592 return ; |
|
593 } |
|
594 } |
|
595 else |
|
596 { |
|
597 sf.close(); |
|
598 return; |
|
599 } |
|
600 |
|
601 // Result handlers |
|
602 connect (request, SIGNAL(requestOk(const QVariant&)), |
|
603 this, SLOT(handleOk(const QVariant&))); |
|
604 connect (request, SIGNAL(requestError(const QVariant&)), |
|
605 this, SLOT(handleError(const QVariant&))); |
|
606 |
|
607 request->setEmbedded(true); |
|
608 request->setSynchronous(true); |
|
609 |
|
610 // Fill args |
|
611 QList<QVariant> args; |
|
612 args << qVariantFromValue(sf); |
|
613 request->setArguments(args); |
|
614 |
|
615 // Fill headers |
|
616 QString key("WindowTitle"); |
|
617 QVariant value(QString(LOC_TITLE)); |
|
618 XQRequestInfo info; |
|
619 info.setInfo(key, value); |
|
620 request->setInfo(info); |
|
621 |
|
622 request->send(); |
|
623 |
|
624 // Cleanup |
|
625 sf.close(); |
|
626 delete request; |
|
627 } |
|
628 |
|
629 void MsgUnifiedEditorBody::viewDetails() |
|
630 { |
|
631 //open details view. |
|
632 } |
508 } |
633 |
509 |
634 bool MsgUnifiedEditorBody::hasImage() |
510 bool MsgUnifiedEditorBody::hasImage() |
635 { |
511 { |
636 return mHasImage; |
512 return mHasImage; |
674 { |
550 { |
675 // This is the first media content to be inserted |
551 // This is the first media content to be inserted |
676 estimatedMediaSize = KEstimatedMmsSmilHeaderSize; |
552 estimatedMediaSize = KEstimatedMmsSmilHeaderSize; |
677 } |
553 } |
678 |
554 |
679 return estimatedMediaSize + MsgMonitor::subjectSize() + MsgMonitor::containerSize(); |
555 return estimatedMediaSize + MsgUnifiedEditorMonitor::subjectSize() + MsgUnifiedEditorMonitor::containerSize(); |
680 } |
|
681 |
|
682 QString MsgUnifiedEditorBody::getHitRegion(QPointF position) |
|
683 { |
|
684 if(mIconItem) |
|
685 { |
|
686 QPolygonF imageHitRegion = mIconItem->mapToScene(mIconItem->boundingRect()); |
|
687 if(imageHitRegion.containsPoint(position, Qt::OddEvenFill)) |
|
688 { |
|
689 return IMAGE_REGION; |
|
690 } |
|
691 } |
|
692 |
|
693 if(mAudioItem) |
|
694 { |
|
695 QPolygonF audioHitRegion = mAudioItem->mapToScene(mAudioItem->boundingRect()); |
|
696 if(audioHitRegion.containsPoint(position, Qt::OddEvenFill)) |
|
697 { |
|
698 return AUDIO_REGION; |
|
699 } |
|
700 } |
|
701 |
|
702 //TODO : add hit test for video region with video userstory |
|
703 |
|
704 return INVALID_REGION; |
|
705 } |
556 } |
706 |
557 |
707 void MsgUnifiedEditorBody::onTextChanged() |
558 void MsgUnifiedEditorBody::onTextChanged() |
708 { |
559 { |
709 QString string = text(); |
560 QString string = text(); |
710 |
561 |
711 if( string.size() > mPrevBuffer.size() && |
562 if( string.size() > mPrevBuffer.size() && |
712 MsgMonitor::messageType() == ConvergedMessage::Mms ) |
563 MsgUnifiedEditorMonitor::messageType() == ConvergedMessage::Mms ) |
713 { |
564 { |
714 // reject any text input if mms size limit is reached |
565 // reject any text input if mms size limit is reached |
715 int futureSize = bodySize() + |
566 int futureSize = bodySize() + |
716 MsgMonitor::containerSize() + MsgMonitor::subjectSize(); |
567 MsgUnifiedEditorMonitor::containerSize() + MsgUnifiedEditorMonitor::subjectSize(); |
717 if(futureSize > MsgMonitor::maxMmsSize()) |
568 if(futureSize > MsgUnifiedEditorMonitor::maxMmsSize()) |
718 { |
569 { |
719 mTextEdit->setPlainText(mPrevBuffer); |
570 mTextEdit->setPlainText(mPrevBuffer); |
720 HbNotificationDialog::launchDialog(LOC_UNABLE_TO_ADD_CONTENT); |
571 HbNotificationDialog::launchDialog(LOC_UNABLE_TO_ADD_CONTENT); |
721 mTextEdit->setCursorPosition(mPrevBuffer.length()); |
572 mTextEdit->setCursorPosition(mPrevBuffer.length()); |
722 return; |
573 return; |
848 mCharCounter->setVisible(false); |
704 mCharCounter->setVisible(false); |
849 mBackgroundItem->setVisible(false); |
705 mBackgroundItem->setVisible(false); |
850 } |
706 } |
851 |
707 |
852 //--------------------------------------------------------------- |
708 //--------------------------------------------------------------- |
853 // MsgUnifiedEditorBody :: handleOk |
|
854 // @see header file |
|
855 //--------------------------------------------------------------- |
|
856 void MsgUnifiedEditorBody::handleOk(const QVariant& result) |
|
857 { |
|
858 Q_UNUSED(result) |
|
859 } |
|
860 |
|
861 //--------------------------------------------------------------- |
|
862 // MsgUnifiedEditorBody :: handleError |
|
863 // @see header file |
|
864 //--------------------------------------------------------------- |
|
865 void MsgUnifiedEditorBody::handleError(int errorCode, |
|
866 const QString& errorMessage) |
|
867 { |
|
868 Q_UNUSED(errorMessage) |
|
869 Q_UNUSED(errorCode) |
|
870 } |
|
871 |
|
872 //--------------------------------------------------------------- |
|
873 // MsgUnifiedEditorBody :: setFocus |
709 // MsgUnifiedEditorBody :: setFocus |
874 // @see header file |
710 // @see header file |
875 //--------------------------------------------------------------- |
711 //--------------------------------------------------------------- |
876 void MsgUnifiedEditorBody::setFocus() |
712 void MsgUnifiedEditorBody::setFocus() |
877 { |
713 { |