diff -r 84d9eb65b26f -r 518b245aa84c messagingapp/msgui/unifiededitor/src/msgunieditorbody.cpp --- a/messagingapp/msgui/unifiededitor/src/msgunieditorbody.cpp Mon May 03 12:29:07 2010 +0300 +++ b/messagingapp/msgui/unifiededitor/src/msgunieditorbody.cpp Fri Jun 25 15:47:40 2010 +0530 @@ -21,25 +21,18 @@ #include #include #include -#include -#include #include -#include -#include -#include -#include -#include #include -#include #include #include #include -#include #include #include #include #include #include +#include +#include #include #include @@ -47,84 +40,80 @@ #include #include #include - +#include // USER INCLUDES #include "msgunieditorbody.h" #include "UniEditorGenUtils.h" -#include "unisendingsettings.h" -#include "msgmonitor.h" -#include "s60qconversions.h" +#include "UniSendingSettings.h" +#include "msgunieditormonitor.h" + #include "mmsconformancecheck.h" #include "unieditorpluginloader.h" #include "unieditorplugininterface.h" #include "convergedmessage.h" #include "msgmediautil.h" +#include "msgunieditorpixmapwidget.h" +#include "msgunieditoraudiowidget.h" // Constants -const QString EDITOR_FRAME("qtg_fr_lineedit_normal"); const QString BACKGROUND_FRAME("qtg_fr_btn_normal"); -const QString AUDIO_REGION("AudioRegion"); -const QString VIDEO_REGION("VideoRegion"); -const QString IMAGE_REGION("ImageRegion"); -const QString INVALID_REGION("InvalidRegion"); -const QString SEND_ICON("qtg_mono_send"); + +const int KShowCounterLimit = 10; +const int BYTES_TO_KBYTES_FACTOR = 1024; //Localized Constants for item specific menu -#define LOC_OPEN hbTrId("txt_common_menu_open") -#define LOC_REMOVE hbTrId("txt_common_menu_remove") -#define LOC_DETAILS hbTrId("txt_common_menu_details") #define LOC_TITLE hbTrId("txt_messaging_title_messaging") +#define LOC_UNABLE_TO_ADD_CONTENT hbTrId("txt_messaging_dpopinfo_unable_to_add_more_content") +#define LOC_UNABLE_TO_ATTACH_ITEM hbTrId("txt_messaging_dpopinfo_unable_to_attach_item_avai") +#define LOC_PROCESSING hbTrId("txt_messaging_formlabel_loading") +#define LOC_HINT_TEXT hbTrId("txt_messaging_formlabel_enter_message_here") + +const QString ANIMATION_ICON("qtg_anim_loading"); +const QString ANIMATION_FILE(":/qtg_anim_loading.axml"); +// LOCAL FUNCTIONS -const QString AUDIO_ICON("qtg_mono_audio"); -const QString ANIMATION_ICON(":/qtg_anim_longtap_2"); +//--------------------------------------------------------------- +// showInsertFailureNote +// @return fullPath of unified editor's temporary dir +//--------------------------------------------------------------- +void showInsertFailureNote() +{ + int availableSize = + (MsgUnifiedEditorMonitor::maxMmsSize() - MsgUnifiedEditorMonitor::messageSize()) + /BYTES_TO_KBYTES_FACTOR; + QString displayStr = QString(LOC_UNABLE_TO_ATTACH_ITEM) + .arg(availableSize); + HbNotificationDialog* dlg = new HbNotificationDialog(); + dlg->setFocusPolicy(Qt::NoFocus); + dlg->setDismissPolicy(HbPopup::TapAnywhere); + dlg->setAttribute(Qt::WA_DeleteOnClose, true); + dlg->setText(displayStr); + dlg->show(); +} -const TInt KShowCounterLimit = 10; -MsgUnifiedEditorBody::MsgUnifiedEditorBody( const QString& pluginPath, - QGraphicsItem *parent ) : -HbWidget(parent), +MsgUnifiedEditorBody::MsgUnifiedEditorBody( QGraphicsItem *parent ) : +MsgUnifiedEditorBaseWidget(parent), mHasImage(false), mHasAudio(false), mTextEdit(0), -mEditorFrame(0), -mIconItem(0), +mPixmapItem(0), mAudioItem(0), -mPluginPath(pluginPath), mImageSize(0), mAudioSize(0), mVideoSize(0), mProcessImageOperation(0), mMediaResolver(0), -mImageInfo(0) +mImageInfo(0), +mProcessingWidget(0), +mDraftMessage(false), +mIsImageResizing(false) { - setPluginBaseId(style()->registerPlugin(mPluginPath)); - mTextEdit = new HbTextEdit(this); + mTextEdit->setPlaceholderText(LOC_HINT_TEXT); HbStyle::setItemName(mTextEdit,"textEdit"); - - HbFrameDrawer* frameDrawer = new HbFrameDrawer(EDITOR_FRAME, - HbFrameDrawer::NinePieces); - - mEditorFrame = new HbFrameItem(frameDrawer,this); - HbStyle::setItemName(mEditorFrame,"textEditFrame"); - mEditorFrame->setZValue(-1); - - // add "Send" action in VKB - HbEditorInterface editorInterface(mTextEdit); - HbAction *sendAction = new HbAction(HbIcon(SEND_ICON), QString(),this); - connect(sendAction, SIGNAL(triggered()),this, SIGNAL(sendMessage())); - editorInterface.addAction(sendAction); - - mGestureFilter = new HbGestureSceneFilter(Qt::LeftButton, this); - mGestureFilter->setLongpressAnimation(true); - HbGesture *gesture = new HbGesture(HbGesture::longpress, 5); - mGestureFilter->addGesture(gesture); - connect(gesture, SIGNAL(longPress(QPointF)), this, SLOT(longPressed(QPointF))); connect(mTextEdit, SIGNAL(contentsChanged()), this, SLOT(onTextChanged())); - mfs.Connect(); - mfs.ShareProtected(); - mMmsConformanceCheck = new MmsConformanceCheck; mCharCounter = new HbTextItem(this); @@ -146,6 +135,7 @@ mPluginInterface = mPluginLoader->getUniEditorPlugin(ConvergedMessage::Sms); + TRAP_IGNORE( CSmsSettings* settings = CSmsSettings::NewLC(); CSmsAccount* account = CSmsAccount::NewLC(); account->LoadSettingsL( *settings ); @@ -161,23 +151,18 @@ CleanupStack::PopAndDestroy( account ); CleanupStack::PopAndDestroy( settings ); + ); - //Set the mPrevBuffer to NULL initially - mPrevBuffer = QString(); - mCharCounter->setVisible(false); mBackgroundItem->setVisible(false); } MsgUnifiedEditorBody::~MsgUnifiedEditorBody() { - style()->unregisterPlugin(mPluginPath); delete mMmsConformanceCheck; delete mProcessImageOperation; delete mMediaResolver; delete mImageInfo; - //Close has to be called after ProcessImageOperation object is deleted - mfs.Close(); } QString MsgUnifiedEditorBody::text() @@ -185,65 +170,82 @@ return mTextEdit->toPlainText(); } -void MsgUnifiedEditorBody::setImage(QString& imagefile) -{ - if (!mImageInfo) - { - setImage(true); - - mImageFile = imagefile; - if (mIconItem) +void MsgUnifiedEditorBody::setImage(QString& imagefile, bool draftMessage) + { + // do nothing if filepath is empty + if (imagefile.isEmpty()) { - delete mIconItem; - mIconItem = NULL; - mImageSize = 0; - } - - int error = KErrNone; - - if( !mProcessImageOperation ) - { - TRAP(error,mProcessImageOperation = - CUniEditorProcessImageOperation::NewL(*this, mfs)); - } - if( !mMediaResolver && error == KErrNone ) - { - TRAP(error,mMediaResolver = CMsgMediaResolver::NewL()); + return; } - if( error == KErrNone) + mDraftMessage = draftMessage; + if (!mImageInfo) { - mMediaResolver->SetCharacterSetRecognition(EFalse); + setImage(true); - HBufC *name = S60QConversions::qStringToS60Desc(imagefile); - RFile file = mMediaResolver->FileHandleL(*name); - - TRAP(error,mImageInfo = static_cast - (mMediaResolver->CreateMediaInfoL(file))); - if (error == KErrNone) + mImageFile = imagefile; + if (mPixmapItem) { - TRAP(error, mMediaResolver->ParseInfoDetailsL(mImageInfo, file)); + mPixmapItem->setParent(NULL); + delete mPixmapItem; + mPixmapItem = NULL; + mImageSize = 0; } - file.Close(); - delete name; - } - - if (error == KErrNone) - { + int error = KErrNone; + if (!mDraftMessage) + { + // if image is in draft, no need to resize it because it is resized already + if (!mProcessImageOperation) + { + TRAP(error,mProcessImageOperation = + CUniEditorProcessImageOperation::NewL(*this)); + } + if (!mMediaResolver && error == KErrNone) + { + TRAP(error,mMediaResolver = CMsgMediaResolver::NewL()); + } + + if (error == KErrNone) + { + mMediaResolver->SetCharacterSetRecognition(EFalse); + HBufC *name = XQConversions::qStringToS60Desc(imagefile); + RFile file; + TRAP(error, file = mMediaResolver->FileHandleL(*name)); + if (error == KErrNone) + { + TRAP(error,mImageInfo = static_cast + (mMediaResolver->CreateMediaInfoL(file))); + if (error == KErrNone) + { + TRAP(error, mMediaResolver->ParseInfoDetailsL( + mImageInfo, file)); + } + file.Close(); + } + delete name; + } + } + if (error == KErrNone && !mDraftMessage) + { mSavedImageFile = imagefile; startResizeAnimation(); + mIsImageResizing = true; mProcessImageOperation->Process(mImageInfo); - } + } else - { - delete mImageInfo; - mImageInfo = NULL; + { + if (mImageInfo) + { + delete mImageInfo; + mImageInfo = NULL; + } mSavedImageFile.clear(); handleSetImage(); + } + } } -} void MsgUnifiedEditorBody::handleSetImage() { @@ -254,7 +256,7 @@ int msgSize = messageSize(); QFileInfo fileinfo(mImageFile); int imageSize = fileinfo.size() + KEstimatedMimeHeaderSize; - if ( (imageSize + msgSize) <= MsgMonitor::maxMmsSize()) + if ( (imageSize + msgSize) <= MsgUnifiedEditorMonitor::maxMmsSize()) { mImageSize = imageSize; } @@ -263,19 +265,17 @@ mImageFile.clear(); setImage(false); //Show appropriate note and leave + showInsertFailureNote(); return; } - mIconItem = new HbIconItem(this); - mIconItem->hide(); - //mIconItem->setIconName(mImageFile); - QPixmap pixmap(mImageFile); - mIconItem->setIcon(HbIcon(pixmap)); - - HbStyle::setItemName(mIconItem, "pixmap"); - mIconItem->setAlignment(Qt::AlignHCenter | Qt::AlignTop); - mIconItem->installSceneEventFilter(mGestureFilter); - + mPixmapItem = new MsgUnifiedEditorPixmapWidget(this); + mPixmapItem->hide(); + HbStyle::setItemName(mPixmapItem, "pixmap"); + mPixmapItem->setAlignment(Qt::AlignHCenter | Qt::AlignTop); + mPixmapItem->populate(mImageFile); + connect(mPixmapItem,SIGNAL(remove()),this,SLOT(removeMedia())); + // repolish the body widget this->repolish(); @@ -285,6 +285,12 @@ void MsgUnifiedEditorBody::setAudio(QString& audiofile) { + // do nothing if filepath is empty + if(audiofile.isEmpty()) + { + return; + } + //check for insert conformance if(EInsertSuccess != mMmsConformanceCheck->checkModeForInsert(audiofile)) return; @@ -293,16 +299,16 @@ mAudioFile = audiofile; if(mAudioItem) { + mAudioItem->setParent(NULL); delete mAudioItem; mAudioItem = NULL; mAudioSize = 0; } - //TODO: Add conformance checks before calculating the size int msgSize = messageSize(); QFileInfo fileinfo(mAudioFile); int audioSize = fileinfo.size() + KEstimatedMimeHeaderSize; - if((audioSize + msgSize) <= MsgMonitor::maxMmsSize() ) + if((audioSize + msgSize) <= MsgUnifiedEditorMonitor::maxMmsSize() ) { mAudioSize = audioSize; } @@ -311,19 +317,15 @@ mAudioFile.clear(); setAudio(false); //Show appropriate note and leave + showInsertFailureNote(); return; } - HbIconItem* audioIcon = new HbIconItem(AUDIO_ICON); - mAudioItem = new HbPushButton(this); + mAudioItem = new MsgUniFiedEditorAudioWidget(this); mAudioItem->hide(); HbStyle::setItemName(mAudioItem,"audioItem"); - mAudioItem->setIcon(audioIcon->icon()); - mAudioItem->setText(fileinfo.baseName()); - MsgMediaUtil mediaUtil; - mAudioItem->setAdditionalText(mediaUtil.mediaDuration(mAudioFile)); - mAudioItem->setTextAlignment(Qt::AlignVCenter | Qt::AlignLeft); - connect(mAudioItem, SIGNAL(longPress(QPointF)), this, SLOT(longPressed(QPointF))); + mAudioItem->populate(mAudioFile); + connect(mAudioItem,SIGNAL(remove()),this,SLOT(removeMedia())); // repolish the body widget this->repolish(); @@ -332,41 +334,12 @@ emit contentChanged(); } -void MsgUnifiedEditorBody::setVideo(QString& videofile) -{ - //check for insert conformance - if(EInsertSuccess != mMmsConformanceCheck->checkModeForInsert(videofile)) - return; - - // update the media file-list - mVideoFile = videofile; - - //TODO: Add conformance checks before calculating the size - int msgSize = messageSize(); - QFileInfo fileinfo(mVideoFile); - int videoSize = fileinfo.size() + KEstimatedMimeHeaderSize; - if((videoSize + msgSize) <= MsgMonitor::maxMmsSize() ) - { - mVideoSize = videoSize; - } - else - { - //Show appropriate note and leave - return; - } - - //TODO: create video item instance - - // repolish the body widget - this->repolish(); - - // emit signal to indicate addition of video - emit contentChanged(); -} - void MsgUnifiedEditorBody::setText(QString& text) { - mTextEdit->setPlainText(text); + if(!text.isEmpty()) + { + mTextEdit->setPlainText(text); + } } const QStringList MsgUnifiedEditorBody::mediaContent() @@ -379,17 +352,18 @@ if(mHasAudio) mediaFiles << mAudioFile; - //TODO: append video content - return mediaFiles; } QSizeF MsgUnifiedEditorBody::sizeHint(Qt::SizeHint which, const QSizeF &constraint) const { QSizeF szHint = HbWidget::sizeHint(which,constraint); - - QList windowList = hbInstance->allMainWindows(); - HbMainWindow* mMainWindow = windowList[0]; + + HbMainWindow* mMainWindow = this->mainWindow(); + if(!mMainWindow) + { + return szHint; + } qreal leftMargin = 0.0; qreal rightMargin = 0.0; @@ -440,7 +414,7 @@ mAudioItem->show(); } - if(mIconItem) + if(mPixmapItem || mProcessingWidget) { QSizeF imageSize(0.0,0.0); QSizeF defaultImageSize(QImageReader(mImageFile).size()); @@ -474,165 +448,75 @@ imageSize.setWidth(newWidth); } - mIconItem->setPreferredSize(imageSize); - mIconItem->setSize(imageSize); + if(mPixmapItem) + { + mPixmapItem->setPreferredSize(imageSize); + mPixmapItem->setSize(imageSize); if(mMainWindow->orientation() == Qt::Horizontal) { - QPointF currPos = mIconItem->pos(); + QPointF currPos = mPixmapItem->pos(); currPos.setX(leftMargin+((maxWidth-imageSize.width())/2)); - mIconItem->setPos(currPos); + mPixmapItem->setPos(currPos); + } + mPixmapItem->show(); } - mIconItem->show(); + + if(mProcessingWidget) + { + imageSize.setHeight(mProcessingWidget->preferredHeight()); + mProcessingWidget->setPreferredSize(imageSize); + mProcessingWidget->show(); + } szHint.rheight() += imageSize.height(); } } + mTextEdit->setMinimumHeight(maxHeight); szHint.rheight() += bodyItemSpacing; return szHint; } -void MsgUnifiedEditorBody::longPressed(QPointF position) -{ - HbMenu* menu = new HbMenu; - menu->addAction(LOC_OPEN, this, SLOT(openMedia())); - menu->addAction(LOC_REMOVE, this, SLOT(removeMedia())); - menu->addAction(LOC_DETAILS, this, SLOT(viewDetails())); - - menu->setDismissPolicy(HbPopup::TapAnywhere); - menu->setAttribute(Qt::WA_DeleteOnClose, true); - menu->setPreferredPos(position); - - menu->setObjectName(getHitRegion(position)); - menu->show(); -} - void MsgUnifiedEditorBody::removeMedia() { - HbAction* action = qobject_cast(sender()); - QString objName = action->parent()->objectName(); - if(objName == IMAGE_REGION) + QObject* senderObject = sender(); + + MsgUnifiedEditorPixmapWidget* pixmap = + qobject_cast(senderObject); + + MsgUniFiedEditorAudioWidget* audio = + qobject_cast(senderObject); + + if(pixmap) //remove image { mImageFile.clear(); - if(mIconItem) + if(mPixmapItem) { - mIconItem->removeSceneEventFilter(mGestureFilter); - delete mIconItem; - mIconItem = NULL; + mPixmapItem->setParent(NULL); + delete mPixmapItem; + mPixmapItem = NULL; } setImage(false); mImageSize = 0; } - else if(objName == AUDIO_REGION) - { - mAudioFile.clear(); - if(mAudioItem) + else if(audio)//remove audio item { - delete mAudioItem; - mAudioItem = NULL; + mAudioFile.clear(); + if(mAudioItem) + { + mAudioItem->setParent(NULL); + delete mAudioItem; + mAudioItem = NULL; + } + setAudio(false); + mAudioSize = 0; } - setAudio(false); - mAudioSize = 0; - } - else if(objName == VIDEO_REGION) - { - //TODO: complete this with video handling story - } - else - { - // return without doing anything - return; - } this->repolish(); emit contentChanged(); } -//--------------------------------------------------------------- -// MsgUnifiedEditorBody :: openMedia -// @see header file -//--------------------------------------------------------------- -void MsgUnifiedEditorBody::openMedia() -{ - HbAction* action = qobject_cast(sender()); - QString objName = action->parent()->objectName(); - - QString fileName; - if ( objName == IMAGE_REGION ) - { - fileName = mImageFile; - } - else if ( objName == AUDIO_REGION ) - { - fileName = mAudioFile; - } - else - { - return; - } - - XQSharableFile sf; - XQAiwRequest* request = 0; - - if ( !sf.open(fileName) ) - { - return; - } - - // Get handlers - XQApplicationManager appManager; - QList fileHandlers = appManager.list(sf); - if (fileHandlers.count() > 0) - { - XQAiwInterfaceDescriptor d = fileHandlers.first(); - request = appManager.create(sf, d); - - if ( !request ) - { - sf.close(); - return ; - } - } - else - { - sf.close(); - return; - } - - // Result handlers - connect (request, SIGNAL(requestOk(const QVariant&)), - this, SLOT(handleOk(const QVariant&))); - connect (request, SIGNAL(requestError(const QVariant&)), - this, SLOT(handleError(const QVariant&))); - - request->setEmbedded(true); - request->setSynchronous(true); - - // Fill args - QList args; - args << qVariantFromValue(sf); - request->setArguments(args); - - // Fill headers - QString key("WindowTitle"); - QVariant value(QString(LOC_TITLE)); - XQRequestInfo info; - info.setInfo(key, value); - request->setInfo(info); - - request->send(); - - // Cleanup - sf.close(); - delete request; -} - -void MsgUnifiedEditorBody::viewDetails() -{ - //open details view. -} - bool MsgUnifiedEditorBody::hasImage() { return mHasImage; @@ -678,48 +562,34 @@ estimatedMediaSize = KEstimatedMmsSmilHeaderSize; } - return estimatedMediaSize + MsgMonitor::subjectSize() + MsgMonitor::containerSize(); -} - -QString MsgUnifiedEditorBody::getHitRegion(QPointF position) -{ - if(mIconItem) - { - QPolygonF imageHitRegion = mIconItem->mapToScene(mIconItem->boundingRect()); - if(imageHitRegion.containsPoint(position, Qt::OddEvenFill)) - { - return IMAGE_REGION; - } - } - - if(mAudioItem) - { - QPolygonF audioHitRegion = mAudioItem->mapToScene(mAudioItem->boundingRect()); - if(audioHitRegion.containsPoint(position, Qt::OddEvenFill)) - { - return AUDIO_REGION; - } - } - - //TODO : add hit test for video region with video userstory - - return INVALID_REGION; + return estimatedMediaSize + MsgUnifiedEditorMonitor::subjectSize() + MsgUnifiedEditorMonitor::containerSize(); } void MsgUnifiedEditorBody::onTextChanged() { QString string = text(); - - if( !mPrevBuffer.isEmpty() && - string.size() > mPrevBuffer.size() && - MsgMonitor::messageType() == ConvergedMessage::Mms ) + + if( string.size() > mPrevBuffer.size() && + MsgUnifiedEditorMonitor::messageType() == ConvergedMessage::Mms ) { - //Save the previous buffer - mPrevBuffer = string; - // emit signal to indicate change in content - emit contentChanged(); - - return; + // reject any text input if mms size limit is reached + int futureSize = bodySize() + + MsgUnifiedEditorMonitor::containerSize() + MsgUnifiedEditorMonitor::subjectSize(); + if(futureSize > MsgUnifiedEditorMonitor::maxMmsSize()) + { + mTextEdit->setPlainText(mPrevBuffer); + HbNotificationDialog::launchDialog(LOC_UNABLE_TO_ADD_CONTENT); + mTextEdit->setCursorPosition(mPrevBuffer.length()); + return; + } + else if(!mPrevBuffer.isEmpty()) + { + //Save the previous buffer + mPrevBuffer = string; + // emit signal to indicate change in content + emit contentChanged(); + return; + } } //Check done for optimization @@ -745,7 +615,7 @@ // emit signal to indicate change in content emit contentChanged(); - if(MsgMonitor::messageType() == ConvergedMessage::Sms) + if(MsgUnifiedEditorMonitor::messageType() == ConvergedMessage::Sms) { //Set char counter value QString display = QString("%1(%2)").arg(numOfRemainingChars).arg( @@ -768,54 +638,66 @@ void MsgUnifiedEditorBody::EditorOperationEvent( TUniEditorProcessImageOperationEvent aEvent, TFileName aFileName) { - stopResizeAnimation(); - delete mImageInfo; mImageInfo = NULL; if (aEvent == EUniEditorProcessImageOperationComplete && aFileName.Length() > 0) { - mImageFile = S60QConversions::s60DescToQString(aFileName); + mImageFile = XQConversions::s60DescToQString(aFileName); } else { mImageFile = mSavedImageFile; } mSavedImageFile.clear(); + + // image resize is complete. reset the image resize flag + mIsImageResizing = false; //handle the processed image from ProcessImage Operation handleSetImage(); + + stopResizeAnimation(); } void MsgUnifiedEditorBody::startResizeAnimation() { - HbIconAnimationManager *manager = HbIconAnimationManager::global(); - bool defined = manager->addDefinitionFile(":/animation.axml"); - - HbIcon animIcon; - animIcon.setIconName("frame_anim_looping"); - - mIconItem = new HbIconItem(this); - mIconItem->hide(); - HbStyle::setItemName(mIconItem,"pixmap"); - mIconItem->setAlignment(Qt::AlignHCenter | Qt::AlignTop); - mIconItem->setIcon(animIcon); - - mImageFile = ANIMATION_ICON; - HbIconAnimator animator; - animator.setIcon(animIcon); - - animator.startAnimation(); - this->repolish(); + // emit signal to indicate disable the send tool button. + emit enableSendButton(false); + + + QGraphicsLinearLayout* processingLayout = new QGraphicsLinearLayout(Qt::Vertical); + + mProcessingWidget = new HbWidget(this); + HbStyle::setItemName(mProcessingWidget,"pixmap"); + mProcessingWidget->hide(); + mProcessingWidget->setLayout(processingLayout); + + HbTextItem* processingText = new HbTextItem(LOC_PROCESSING,mProcessingWidget); + processingText->setAlignment(Qt::AlignCenter); + processingLayout->addItem(processingText); + + HbIconItem* animationItem = new HbIconItem(ANIMATION_ICON,mProcessingWidget); + animationItem->setAlignment(Qt::AlignHCenter); + processingLayout->addItem(animationItem); + + HbIconAnimator& iconAnimator = animationItem->animator(); + HbIconAnimationManager* iconAnimationManager = HbIconAnimationManager::global(); + iconAnimationManager->addDefinitionFile(ANIMATION_FILE); + + iconAnimator.startAnimation(); + + this->repolish(); } void MsgUnifiedEditorBody::stopResizeAnimation() { - if (mIconItem) + if(mProcessingWidget) { - delete mIconItem; - mIconItem = NULL; - } + delete mProcessingWidget; + mProcessingWidget = NULL; + } + } // --------------------------------------------------------- @@ -838,23 +720,11 @@ } //--------------------------------------------------------------- -// MsgUnifiedEditorBody :: handleOk +// MsgUnifiedEditorBody :: setFocus // @see header file //--------------------------------------------------------------- -void MsgUnifiedEditorBody::handleOk(const QVariant& result) +void MsgUnifiedEditorBody::setFocus() { - Q_UNUSED(result) + mTextEdit->setFocus(Qt::MouseFocusReason); } - -//--------------------------------------------------------------- -// MsgUnifiedEditorBody :: handleError -// @see header file -//--------------------------------------------------------------- -void MsgUnifiedEditorBody::handleError(int errorCode, - const QString& errorMessage) -{ - Q_UNUSED(errorMessage) - Q_UNUSED(errorCode) -} - // EOF