diff -r ff3b6d0fd310 -r ae8abd0db65c satui/satapp/src/satappcommandhandler.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/satui/satapp/src/satappcommandhandler.cpp Fri Mar 19 09:40:14 2010 +0200 @@ -0,0 +1,462 @@ +/* +* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + +#include +#include "satappcommandhandler.h" +#include "tflogger.h" +#include "satappcommonconstant.h" +#include "satappuiprovider.h" + +// ---------------------------------------------------------------------------- +// SatAppCommandHandler::DisplayText +// (other items were commented in a header). +// ---------------------------------------------------------------------------- +// +SatAppCommandHandler::SatAppCommandHandler(SatAppUiProvider &ui, + QObject *parent) : QObject(parent), mUi(ui) +{ + TFLOGSTRING("SATAPP: SatAppCommandHandler::SatAppCommandHandler call-exit") +} + +// ---------------------------------------------------------------------------- +// SatAppCommandHandler::~SatAppCommandHandler +// (other items were commented in a header). +// ---------------------------------------------------------------------------- +// +SatAppCommandHandler::~SatAppCommandHandler() +{ + +} + +// ---------------------------------------------------------------------------- +// SatAppCommandHandler::setUpMenu +// (other items were commented in a header). +// ---------------------------------------------------------------------------- +// +void SatAppCommandHandler::setUpMenu( + TSatUiResponse &aRes, + const QString &aText, + const QStringList &aMenuItems, + //const CArrayFixFlat* aMenuItemNextActions, + //const HbIcon &aIcon, + //const CAknIconArray* aItemIconsArray, + const bool aSelfExplanatoryItems, + const bool aHelpIsAvailable) +{ + TFLOGSTRING("SATAPP: SatAppCommandHandler::setUpMenu call") + mUi.showSetUpMenuView(aRes, aText, aMenuItems, + aSelfExplanatoryItems, aHelpIsAvailable); + TFLOGSTRING("SATAPP: SatAppCommandHandler::setUpMenu exit") +} + +// ---------------------------------------------------------------------------- +// SatAppCommandHandler::selectItem +// (other items were commented in a header). +// ---------------------------------------------------------------------------- +// +void SatAppCommandHandler::selectItem( + TSatUiResponse &aRes, + const QString &aText, + const QStringList &aMenuItems, + //const CArrayFixFlat* aMenuItemNextActions, + const int aDefaultItem, + unsigned char &aSelection, + //const HbIcon &aIcon, + //const CAknIconArray* aItemsIconArray, + const bool aSelfExplanatoryItems, + const bool aHelpIsAvailable) +{ + TFLOGSTRING("SATAPP: SatAppCommandHandler::selectItem call") + mUi.showSelectItemView(aRes, aText, aMenuItems, aDefaultItem, aSelection, + aSelfExplanatoryItems, aHelpIsAvailable); + TFLOGSTRING("SATAPP: SatAppCommandHandler::selectItem exit") +} + +// ---------------------------------------------------------------------------- +// SatAppCommandHandler::displayText +// (other items were commented in a header). +// ---------------------------------------------------------------------------- +// +void SatAppCommandHandler::displayText(TSatUiResponse &aRes, + const QString &aText, + const QString &aSimApplicationName, + // const HbIcon &aIcon, + bool &/*aRequestedIconDisplayed*/, + const bool aSustainedText, + const int aDuration, + const bool aWaitUserToClear) +{ + TFLOGSTRING("SATAPP: SatAppCommandHandler::displayText call") + + aRes = ESatSuccess; + QString heading; + if (!aSimApplicationName.isEmpty()) { + heading.append(aSimApplicationName); + } else { + heading.append(QObject::tr("SAT MESSAGE HEADER")); + } + + // set time + int duration(0); + + if (!aDuration) { + TFLOGSTRING( + "SATAPP: SatAppCommandHandler::displayText duration not given") + duration = KDisplayTxtDefaultduration; + if (aWaitUserToClear) { + TFLOGSTRING( + "SATAPP: SatAppCommandHandler::displayText wait user to clear") + duration = KDisplayTxtUserClearTimeout; + } + } else { + // if duration defined + duration = aDuration * 1000; + } + TFLOGSTRING2( + "SATAPP: SatAppCommandHandler::displayText duration: %d", + duration) + TSatAppUserResponse rsp = EUserNoResponse; + rsp = mUi.showDisplayTextPopup(heading, aText, duration); + + // If user is not expected to clear message used response is success + if (aWaitUserToClear && !aSustainedText) { + // User press ok key + if (EUserPrimaryResponse == rsp || + EUserClearResponse == rsp){ + aRes = ESatSuccess; + TFLOGSTRING( + "SATAPP: SatAppCommandHandler::DisplayText successful response") + } else if (EUserSecondaryResponse == rsp) { + // User press back key + aRes = ESatBackwardModeRequestedByUser; + } else { + TFLOGSTRING( + "SATAPP: SatAppCommandHandler::DisplayText no user response") + // User did not close the text, closed by the timer or MT call + aRes = ESatNoResponseFromUser; + } + } + + // request to close by the server + if (EUserCloseResponse == rsp) { + aRes = ESatSessionTerminatedByUser; + } + + // to do + //End key by user ESatSessionTerminatedByUser + //rsp = EUserNoResponse; + TFLOGSTRING("SATAPP: SatAppCommandHandler::displayText exit") +} + +// ---------------------------------------------------------------------------- +// SatAppCommandHandler::getInkey +// (other items were commented in a header). +// ---------------------------------------------------------------------------- +// +void SatAppCommandHandler::getInkey(TSatUiResponse &aRes, + const QString &aTitleText, + const TSatCharacterSet aCharacterSet, + QString &aInputText, + //const QPixmap* /*aIconBitmapGetInput*/, + const bool /*aSelfExplanatory*/, + unsigned int &aDuration) +{ + TFLOGSTRING("SATAPP: SatAppCommandHandler::getInkey") + aRes = ESatSuccess; + // the timeout expires The timer starts when the text is + //displayed on the screen and stops when the TERMINALRESPONSE is sent. + QTime time; + if (aDuration) { + TFLOGSTRING2("SATAPP: SatAppCommandHandler::getInkey\ + in aDuration: %d", aDuration) + time.start(); + } + + QString heading; + if (aTitleText.isEmpty()) { + if (ESatDigitOnly == aCharacterSet) { + TFLOGSTRING("SATAPP:SatAppCommandHandler::getInkey: ESatDigitOnly") + heading = tr("Enternumber (1 digit 0-9) "); + } else { + // ESatCharSmsDefaultAlphabet or ESatCharUcs2Alphabet + TFLOGSTRING("SatAppCommandHandler::getInkey others") + heading = tr("Enter character "); + } + } else { + heading = aTitleText; + TFLOGSTRING("SatAppCommandHandler::getInkey: Using aTitleText") + } + //Duration will be implemented in GetInkey proactive command + TSatAppUserResponse rsp = EUserNoResponse; + rsp = mUi.showGetInkeyQuery(heading, aInputText, aCharacterSet, aDuration); + + if (aDuration) { + aDuration = time.elapsed() / 100; + TFLOGSTRING2("SATAPP: SatAppCommandHandler::getInkey\ + return for server aDuration: %d", aDuration) + } + // User press OK key + if (EUserPrimaryResponse == rsp) { + aRes = ESatSuccess; + TFLOGSTRING("SATAPP: SatAppCommandHandler::getInkey successful response") + } else if (EUserSecondaryResponse == rsp) + { + // User press back key + aRes = ESatBackwardModeRequestedByUser; + } else { + TFLOGSTRING("SATAPP: SatAppCommandHandler::getInkey no user response") + // User did not close the text, closed by the timer or MT call + aRes = ESatNoResponseFromUser; + } + + TFLOGSTRING("SATAPP: SatAppCommandHandler::getInkey exit") +} + +// ---------------------------------------------------------------------------- +// SatAppCommandHandler::getYesNo +// (other items were commented in a header). +// ---------------------------------------------------------------------------- +// +void SatAppCommandHandler::getYesNo( + TSatUiResponse &aRes, + const QString &aText, + const TSatCharacterSet aCharacterSet, + unsigned int &aInkey, + //const TSatIconId &aIconId, + const bool &/*aSelfExplanatory*/, + unsigned int &aDuration, + const bool aImmediateDigitResponse) +{ + TFLOGSTRING("SATAPP: SatAppCommandHandler::getYesNo") + TFLOGSTRING2("SATAPP: SatAppCommandHandler::getYesNo: immediate %d", + aImmediateDigitResponse) + + // the timeout expires The timer starts when the text is + //displayed on the screen and stops when the TERMINALRESPONSE is sent. + QTime time; + if (aDuration) { + TFLOGSTRING2("SATAPP: SatAppUiProvider::getYesNo in aDuration: %d", + aDuration) + time.start(); + } + + aRes = ESatSuccess; + int rsp = -1; + rsp = mUi.showGetYesNoQuery(aText, aCharacterSet, + aDuration, aImmediateDigitResponse); + // User press OK key + if (EUserPrimaryResponse == rsp) { + aRes = ESatSuccess; + aInkey = 1; + TFLOGSTRING("SATAPP: SatAppCommandHandler::getYesNo successful response") + } else if (EUserSecondaryResponse == rsp) + { + // User press NO key + aRes = ESatSuccess; + aInkey = 0; + TFLOGSTRING("SATAPP: SatAppCommandHandler::getYesNo No request by user") + } else if (ESatYesNo != aCharacterSet && !rsp) { + aRes = ESatSuccess; + } + // else if { + // // User press end/back key + // aRes = ESatBackwardModeRequestedByUser; + // aInkey = 1; + else { + TFLOGSTRING("SATAPP: SatAppCommandHandler::getYesNo no user response") + // User did not close the text, closed by the timer or MT call + aRes = ESatNoResponseFromUser; + aInkey = 0; + } + TFLOGSTRING("SATAPP: SatAppCommandHandler::getYesNo exit") +} + +// ---------------------------------------------------------------------------- +// SatAppCommandHandler::getInput +// (other items were commented in a header). +// ---------------------------------------------------------------------------- +// +void SatAppCommandHandler::getInput(TSatUiResponse &aRes, + const QString &aTitleText, + const TSatCharacterSet aCharacterSet, + QString &aInputText, + const int aMinLength, + const int aMaxLength, + const bool aHideInput, + //const QPixmap* /*aIconBitmapGetInput*/, + const bool /*aSelfExplanatory*/, + unsigned int &/*aDuration*/) +{ + TFLOGSTRING("SATAPP: SatAppCommandHandler::getInput") + + aRes = ESatNoResponseFromUser; + QString heading; + + if (aTitleText.isEmpty()) { + if (ESatDigitOnly == aCharacterSet) { + TFLOGSTRING("SATAPP::getInput ESatDigitOnly") + heading = tr("Enter:\n(1 digit 0-9)"); + } else { + // ESatCharSmsDefaultAlphabet or ESatCharUcs2Alphabet + TFLOGSTRING("SatAppCommandHandler::getInput ESatCharSmsDefaultAlphabet \ + or ESatCharUcs2Alphabet") + heading = tr("Enter:"); + } + } else { + heading.append(aTitleText); + } + + int minLength = 0; + int maxLength = 1; + if (aMinLength <= KGetInputStringMaxSize && aMinLength > 0){ + minLength = aMinLength; + } else if (aMinLength > KGetInputStringMaxSize){ + minLength = KGetInputStringMaxSize; + } + //lint -e{961} else block not needed, maxLength initialized. + if (aMaxLength < minLength){ + maxLength = minLength; + } else if (aMaxLength <= KGetInputStringMaxSize && aMaxLength > 1){ + maxLength = aMaxLength; + } else if (aMaxLength > KGetInputStringMaxSize){ + maxLength = KGetInputStringMaxSize; + } + + QString inputText; + if ((aInputText.length() >= minLength)&& (aInputText.length() <= maxLength)){ + inputText = aInputText; + } + + //Duration will be implemented in GetInkey proactive command + TSatAppUserResponse rsp = EUserNoResponse; + rsp = mUi.showGetInputQuery( heading, inputText, + aCharacterSet, minLength, maxLength, aHideInput); + + if (EUserPrimaryResponse == rsp) { + // User press OK key + aRes = ESatSuccess; + aInputText = inputText; + TFLOGSTRING("SATAPP: SatAppCommandHandler::getInput successful response") + } else if (EUserSecondaryResponse == rsp) + { + // User press back key + aRes = ESatBackwardModeRequestedByUser; + TFLOGSTRING("SATAPP: SatAppCommandHandler::getInput press back softkey response") + } else { + // User did not close the getinput query, closed by the timer or MT call + aRes = ESatNoResponseFromUser; + TFLOGSTRING("SATAPP: GetInputL::getInput no user response") + } + TFLOGSTRING("SATAPP: SatAppCommandHandler::getInput exit") +} + +// ---------------------------------------------------------------------------- +// SatAppCommandHandler::confirmSend +// (other items were commented in a header). +// ---------------------------------------------------------------------------- +// +void SatAppCommandHandler::confirmSend( + TSatUiResponse &aRes, + const QString &/*aText*/, + bool &aActionAccepted, + int aType) +{ + TFLOGSTRING2("SATAPP: SatAppCommandHandler::confirmSend call, type=%d", aType) + aRes = ESatNoResponseFromUser; + QString title; + switch (aType) { + case ESatUiConfirmSendSms: + { + title.append(tr("Allow SIM card to send message?")); + break; + } + case ESatUiConfirmSendSs: + case ESatUiConfirmSendUssd: //the same string for SS and USSD + //title.append(tr("xxxxx")); + break; + default: + aRes = ESatFailure; + TFLOGSTRING( "SATAPP: SatAppCommandHandler::confirmSend type unsupport" ) + break; + } + if(ESatFailure != aRes) { + mUi.showConfirmSendQuery(title, aActionAccepted); + aRes = ESatSuccess; + TFLOGSTRING2( "SATAPP: SatAppCommandHandler::confirmSend accept=%d", + aActionAccepted) + } + TFLOGSTRING2( "SATAPP: SatAppCommandHandler::confirmSend exit rsp=%d", aRes ) +} + +// ---------------------------------------------------------------------------- +// SatAppCommandHandler::showSmsWaitNote +// (other items were commented in a header). +// ---------------------------------------------------------------------------- +// +void SatAppCommandHandler::showSmsWaitNote(const QString &aText, + const bool /*aSelfExplanatoryIcon*/) +{ + TFLOGSTRING("SATAPP: SatAppCommandHandler::showSmsWaitNote call") + mUi.showSmsWaitNote(aText); + TFLOGSTRING("SATAPP: SatAppCommandHandler::showSmsWaitNote exit") + } + +// ---------------------------------------------------------------------------- +// SatAppCommandHandler::showDtmfWaitNote +// (other items were commented in a header). +// ---------------------------------------------------------------------------- +// +void SatAppCommandHandler::showDtmfWaitNote(TSatUiResponse &aRes, + const QString &aText/*, + const bool aSelfExplanatoryIcon*/) +{ + TFLOGSTRING("SATAPP: SatAppCommandHandler::showDtmfWaitNote call") + mUi.showDtmfWaitNote(aRes, aText); + TFLOGSTRING("SATAPP: SatAppCommandHandler::showDtmfWaitNote exit") + } + +// ---------------------------------------------------------------------------- +// SatAppCommandHandler::stopShowWaitNote +// (other items were commented in a header). +// ---------------------------------------------------------------------------- +// +void SatAppCommandHandler::stopShowWaitNote() +{ + TFLOGSTRING("SATAPP: SatAppCommandHandler::stopShowWaitNote call") + mUi.stopShowWaitNote(); + TFLOGSTRING("SATAPP: SatAppCommandHandler::stopShowWaitNote exit") +} + +// ---------------------------------------------------------------------------- +// SatAppCommandHandler::confirmSetUpCall +// (other items were commented in a header). +// ---------------------------------------------------------------------------- +// +void SatAppCommandHandler::confirmSetUpCall( + const QString &aText, + const QString &aSimAppName, + bool &aActionAccepted//, + //const CFbsBitmap* aIconBitmap, + //const TBool aSelfExplanatory + ) +{ + TFLOGSTRING("SatAppCommandHandler::showSetUpCallConfirm") + mUi.showConfirmSetUpCallQuery(aText, aSimAppName, aActionAccepted); + TFLOGSTRING("SatAppCommandHandler::showSetUpCallConfirm exit") +} + +//End of file