# HG changeset patch # User Dremov Kirill (Nokia-D-MSW/Tampere) # Date 1274955785 -10800 # Node ID 427125ac6cb86aa94377277dd5660ef600d7b369 # Parent e44a8c097b1520f24859868ddb6e05e2ba159d05 Revision: 201019 Kit: 2010121 diff -r e44a8c097b15 -r 427125ac6cb8 cbs/CbsServer/conf/cbsserver.confml Binary file cbs/CbsServer/conf/cbsserver.confml has changed diff -r e44a8c097b15 -r 427125ac6cb8 phonesrv_plat/call_information_api/tsrc/group/MT_CallInformation.mmp --- a/phonesrv_plat/call_information_api/tsrc/group/MT_CallInformation.mmp Fri May 14 16:24:46 2010 +0300 +++ b/phonesrv_plat/call_information_api/tsrc/group/MT_CallInformation.mmp Thu May 27 13:23:05 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2009-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" @@ -15,9 +15,7 @@ * */ /* ------------------------------------------------------------------------------ -This file has been generated with EUnit Pro ------------------------------------------------------------------------------ + */ #include TARGET MT_CallInformation.dll @@ -41,15 +39,15 @@ USERINCLUDE ../src MW_LAYER_SYSTEMINCLUDE -SYSTEMINCLUDE /epoc32/include/Digia/EUnit +SYSTEMINCLUDE /epoc32/include/platform/digia/eunit #if defined(WINSCW) SYSTEMINCLUDE ../../../../../../app/phone/inc SYSTEMINCLUDE ../../../../../../app/phone/phoneengine/inc SYSTEMINCLUDE ../../../../../../app/phone/phoneengine/audiohandling/inc #endif -LIBRARY EUnit.lib -LIBRARY EUnitUtil.lib +LIBRARY eunit.lib +LIBRARY eunitutil.lib LIBRARY euser.lib LIBRARY telephonyservice.lib LIBRARY etel.lib @@ -57,6 +55,6 @@ LIBRARY phoneclient.lib #if defined(WINSCW) -LIBRARY PhoneEngine.lib -LIBRARY AudioHandling.lib +LIBRARY phoneengine.lib +LIBRARY audiohandling.lib #endif \ No newline at end of file diff -r e44a8c097b15 -r 427125ac6cb8 phonesrv_plat/call_information_api/tsrc/src/CPEMessageWaiter.cpp --- a/phonesrv_plat/call_information_api/tsrc/src/CPEMessageWaiter.cpp Fri May 14 16:24:46 2010 +0300 +++ b/phonesrv_plat/call_information_api/tsrc/src/CPEMessageWaiter.cpp Thu May 27 13:23:05 2010 +0300 @@ -16,7 +16,7 @@ */ #include "CPEMessageWaiter.h" -#include +#include #include "talogger.h" #include "CActiveWait.h" diff -r e44a8c097b15 -r 427125ac6cb8 phonesrv_plat/call_information_api/tsrc/src/CPhoneEngineCreator.cpp --- a/phonesrv_plat/call_information_api/tsrc/src/CPhoneEngineCreator.cpp Fri May 14 16:24:46 2010 +0300 +++ b/phonesrv_plat/call_information_api/tsrc/src/CPhoneEngineCreator.cpp Thu May 27 13:23:05 2010 +0300 @@ -17,8 +17,7 @@ #include "CPhoneEngineCreator.h" #include -#include -#include +#include #include "CPEMessageWaiter.h" @@ -59,16 +58,7 @@ MEngineMonitor::EPEMessagePEConstructionReady, 40 ); } - - // No error checking here because this will succeed only once when this is called. The RProperty::Set will - // fail, if this call is not successfull at all. - RProperty::Define( - KPSUidAiInformation, - KActiveIdleState, - RProperty::EInt ); - - User::LeaveIfError( RProperty::Set( KPSUidAiInformation, KActiveIdleState, EPSAiForeground ) ); - + return pEif; } diff -r e44a8c097b15 -r 427125ac6cb8 phonesrv_plat/call_information_api/tsrc/src/MT_CallInformation.cpp --- a/phonesrv_plat/call_information_api/tsrc/src/MT_CallInformation.cpp Fri May 14 16:24:46 2010 +0300 +++ b/phonesrv_plat/call_information_api/tsrc/src/MT_CallInformation.cpp Thu May 27 13:23:05 2010 +0300 @@ -22,13 +22,13 @@ #include "CPEMessageWaiter.h" #endif -#include -#include +#include +#include #include #include -#include +#include #include #include #include diff -r e44a8c097b15 -r 427125ac6cb8 phonesrv_plat/call_information_api/tsrc/src/MT_CallInformation.h --- a/phonesrv_plat/call_information_api/tsrc/src/MT_CallInformation.h Fri May 14 16:24:46 2010 +0300 +++ b/phonesrv_plat/call_information_api/tsrc/src/MT_CallInformation.h Thu May 27 13:23:05 2010 +0300 @@ -19,8 +19,8 @@ #define __MT_CALLINFORMATION_H__ // INCLUDES -#include -#include +#include +#include #include #include diff -r e44a8c097b15 -r 427125ac6cb8 phonesrv_plat/call_information_api/tsrc/src/MT_CallInformation_DllMain.cpp --- a/phonesrv_plat/call_information_api/tsrc/src/MT_CallInformation_DllMain.cpp Fri May 14 16:24:46 2010 +0300 +++ b/phonesrv_plat/call_information_api/tsrc/src/MT_CallInformation_DllMain.cpp Thu May 27 13:23:05 2010 +0300 @@ -16,7 +16,7 @@ */ #include "MT_CallInformation.h" -#include +#include EXPORT_C MEUnitTest* CreateTestSuiteL() { diff -r e44a8c097b15 -r 427125ac6cb8 phonesrv_plat/dialpad_api/group/bld.inf --- a/phonesrv_plat/dialpad_api/group/bld.inf Fri May 14 16:24:46 2010 +0300 +++ b/phonesrv_plat/dialpad_api/group/bld.inf Thu May 27 13:23:05 2010 +0300 @@ -24,3 +24,4 @@ PRJ_EXPORTS ../inc/dialpad.h MW_LAYER_PLATFORM_EXPORT_PATH(dialpad.h) ../inc/dialpadkeyhandler.h MW_LAYER_PLATFORM_EXPORT_PATH(dialpadkeyhandler.h) +../inc/dialpadvtkeyhandler.h MW_LAYER_PLATFORM_EXPORT_PATH(dialpadvtkeyhandler.h) diff -r e44a8c097b15 -r 427125ac6cb8 phonesrv_plat/dialpad_api/inc/dialpadkeyhandler.h --- a/phonesrv_plat/dialpad_api/inc/dialpadkeyhandler.h Fri May 14 16:24:46 2010 +0300 +++ b/phonesrv_plat/dialpad_api/inc/dialpadkeyhandler.h Thu May 27 13:23:05 2010 +0300 @@ -22,6 +22,7 @@ class Dialpad; class DialpadVoiceMailboxEventFilter; +class DialpadVideoMailboxEventFilter; class DialpadBluetoothEventFilter; class DialpadKeySequenceEventFilter; class HbMainWindow; @@ -52,8 +53,10 @@ private: HbMainWindow& mMainWindow; QScopedPointer mVmbxFilter; + QScopedPointer mVideoVmbxFilter; QScopedPointer mBtFilter; QScopedPointer mKeySequenceFilter; + bool mIsVideoMailboxSupported; }; #endif // DIALPADKEYHANDLER_H diff -r e44a8c097b15 -r 427125ac6cb8 phonesrv_plat/dialpad_api/inc/dialpadvtkeyhandler.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phonesrv_plat/dialpad_api/inc/dialpadvtkeyhandler.h Thu May 27 13:23:05 2010 +0300 @@ -0,0 +1,57 @@ +/*! +* 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: Dialpad key handler. +* +*/ + +#ifndef DIALPADVTKEYHANDLER_H +#define DIALPADVTKEYHANDLER_H + +#include + +class Dialpad; +class DialpadKeySequenceEventFilter; +class DialpadEmergencyCallEventFilter; +class HbMainWindow; + +#ifdef BUILD_DIALPADKEYHANDLER +#define DIALPADKEYHANDLER_EXPORT Q_DECL_EXPORT +#else +#define DIALPADKEYHANDLER_EXPORT Q_DECL_IMPORT +#endif +/*! + DialpadVtKeyHandler + Class provides key handling for dialpad component. + + @code + Dialpad *dialpad = new Dialpad(); + DialpadVtKeyHandler *keyhandler = new DialpadVtKeyHandler(dialpad, this); + @endcode + +*/ +class DIALPADKEYHANDLER_EXPORT DialpadVtKeyHandler : public QObject +{ + Q_OBJECT + +public: + explicit DialpadVtKeyHandler(Dialpad *dialPad, HbMainWindow& mainWindow, QObject *parent = 0); + virtual ~DialpadVtKeyHandler(); + +private: + HbMainWindow& mMainWindow; + DialpadEmergencyCallEventFilter *mEmergencyCallFilter; + DialpadKeySequenceEventFilter *mKeySequenceFilter; +}; + +#endif // DIALPADVTKEYHANDLER_H diff -r e44a8c097b15 -r 427125ac6cb8 phonesrv_plat/voice_mailbox_number_api/inc/cvoicemailbox.h --- a/phonesrv_plat/voice_mailbox_number_api/inc/cvoicemailbox.h Fri May 14 16:24:46 2010 +0300 +++ b/phonesrv_plat/voice_mailbox_number_api/inc/cvoicemailbox.h Thu May 27 13:23:05 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2009-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" diff -r e44a8c097b15 -r 427125ac6cb8 phonesrv_plat/voice_mailbox_number_api/inc/voicemailboxdefs.h --- a/phonesrv_plat/voice_mailbox_number_api/inc/voicemailboxdefs.h Fri May 14 16:24:46 2010 +0300 +++ b/phonesrv_plat/voice_mailbox_number_api/inc/voicemailboxdefs.h Thu May 27 13:23:05 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2009-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" @@ -73,8 +73,7 @@ enum TVmbxFeatureCapabilityFlag { /** - * When flag is enabled the user is not allowed to define or - * modify the voice mailbox number. + * Used to check whether user editing is allowed or not */ EVmbxChangeNbrAllowedOnUi = 0x01, diff -r e44a8c097b15 -r 427125ac6cb8 phonesrv_plat/voice_mailbox_number_api/tsrc/mt_vmbxengine.cpp --- a/phonesrv_plat/voice_mailbox_number_api/tsrc/mt_vmbxengine.cpp Fri May 14 16:24:46 2010 +0300 +++ b/phonesrv_plat/voice_mailbox_number_api/tsrc/mt_vmbxengine.cpp Thu May 27 13:23:05 2010 +0300 @@ -121,21 +121,21 @@ TVoiceMailboxParams params; params.iType = EVmbxVoice; TBool result = - mVmbxEngine->CheckConfiguration(params,EVmbxChangeNbrNotAllowedOnUi); + mVmbxEngine->CheckConfiguration(params,EVmbxChangeNbrAllowedOnUi); if (!result) { qDebug("Mt_vmbxEngine::testCheckConfiguration: voice not allowed changed"); QEXPECT_FAIL("","testCheckConfiguration voice not allowed changed", Continue); } params.iType = EVmbxVideo; result = - mVmbxEngine->CheckConfiguration(params,EVmbxChangeNbrNotAllowedOnUi); + mVmbxEngine->CheckConfiguration(params,EVmbxChangeNbrAllowedOnUi); if (!result) { qDebug( "Mt_vmbxEngine::testCheckConfiguration: video not allowed changed"); QEXPECT_FAIL("","testCheckConfiguration video not allowed changed", Continue); } params.iType = EVmbxVoip; result = - mVmbxEngine->CheckConfiguration(params,EVmbxChangeNbrNotAllowedOnUi); + mVmbxEngine->CheckConfiguration(params,EVmbxChangeNbrAllowedOnUi); if (result) { QFAIL ("testCheckConfiguration voip failed"); } @@ -170,7 +170,7 @@ params.iType = EVmbxVoice; CVoiceMailboxEntry* storedEntry = 0; TInt result(0); - if (mVmbxEngine->CheckConfiguration(params,EVmbxChangeNbrNotAllowedOnUi)) { + if (mVmbxEngine->CheckConfiguration(params,EVmbxChangeNbrAllowedOnUi)) { qDebug("Mt_vmbxEngine::testSaveProvisionedEntry voice"); result = mVmbxEngine->GetStoredEntry(params,storedEntry); if (KErrNotFound == result) { @@ -186,7 +186,7 @@ QCOMPARE(result, KErrNone); } params.iType = EVmbxVideo; - if (mVmbxEngine->CheckConfiguration(params,EVmbxChangeNbrNotAllowedOnUi)) { + if (mVmbxEngine->CheckConfiguration(params,EVmbxChangeNbrAllowedOnUi)) { qDebug("Mt_vmbxEngine::testSaveProvisionedEntry video"); result = mVmbxEngine->GetStoredEntry(params,storedEntry); if (KErrNotFound == result) { @@ -225,7 +225,7 @@ // test QueryNewEntry result = mVmbxEngine->QueryNewEntry( params, vmbxEntry ); //QVERIFY2(KErrNone == result, "QueryNewEntry Failed."); - if (mVmbxEngine->CheckConfiguration(params,EVmbxChangeNbrNotAllowedOnUi) + if (mVmbxEngine->CheckConfiguration(params,EVmbxChangeNbrAllowedOnUi) && KErrNone == result) { // test SaveEntry result = mVmbxEngine->SaveEntry( *vmbxEntry ); @@ -236,7 +236,7 @@ // test change entry result = mVmbxEngine->QueryChangeEntry( params, vmbxEntry ); //QVERIFY2(KErrNone == result, "QueryChangeEntry Failed."); - if (mVmbxEngine->CheckConfiguration(params,EVmbxChangeNbrNotAllowedOnUi) + if (mVmbxEngine->CheckConfiguration(params,EVmbxChangeNbrAllowedOnUi) && KErrNone == result ) { result = mVmbxEngine->SaveEntry( *vmbxEntry ); QVERIFY2(KErrNone == result, "SaveEntry Failed."); diff -r e44a8c097b15 -r 427125ac6cb8 satengine/SatServer/Commands/SendUSSDCmd/src/CSendUssdHandler.cpp --- a/satengine/SatServer/Commands/SendUSSDCmd/src/CSendUssdHandler.cpp Fri May 14 16:24:46 2010 +0300 +++ b/satengine/SatServer/Commands/SendUSSDCmd/src/CSendUssdHandler.cpp Thu May 27 13:23:05 2010 +0300 @@ -256,6 +256,9 @@ // Allow next terminal response to be sent iTerminalRespSent = EFalse; + + iSendUssdRsp.iUssdString.iUssdString.FillZ(); + iSendUssdRsp.iUssdString.iDcs = 0; RMobilePhone::TMobilePhoneRegistrationStatus registrationStatus( iUtils->SystemState().GetNetworkRegistrationStatus() ); @@ -748,6 +751,16 @@ iSendUssdRsp.iInfoType = RSat::KNoAdditionalInfo; iSendUssdRsp.iAdditionalInfo.SetLength( 0 ); iSendUssdRsp.iAdditionalInfo.Zero(); + } + else if ( KErrSatControl == aError ) + { + LOG( SIMPLE, + "SENDUSSD: CSendUssdHandler::HandleSendUssdResult \ + KModifiedByCallControl" ) + iSendUssdRsp.iGeneralResult = RSat::KModifiedByCallControl; + iSendUssdRsp.iInfoType = RSat::KNoAdditionalInfo; + iSendUssdRsp.iAdditionalInfo.SetLength( 0 ); + iSendUssdRsp.iAdditionalInfo.Zero(); } else if ( KErrNone == aError ) // Success case { @@ -866,6 +879,11 @@ LOG( SIMPLE, "SENDUSSD: CSendUssdHandler::SendTerminalResponse iTerminalRespSent \ false" ) + + LOG3(SIMPLE, "SENDUSSD: CSendUssdHandler::SendTerminalResponse \ + iDcs=%d,iUssdString=%s", iSendUssdRsp.iUssdString.iDcs, + &iSendUssdRsp.iUssdString.iUssdString); + iTerminalRespSent = ETrue; iSendUssdRsp.SetPCmdNumber( iSendUssdData.PCmdNumber() ); TerminalRsp( RSat::ESendUssd, iSendUssdRspPckg ); diff -r e44a8c097b15 -r 427125ac6cb8 satengine/SatServer/Engine/src/CSatCommandContainer.cpp --- a/satengine/SatServer/Engine/src/CSatCommandContainer.cpp Fri May 14 16:24:46 2010 +0300 +++ b/satengine/SatServer/Engine/src/CSatCommandContainer.cpp Thu May 27 13:23:05 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2002-2008 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2002-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" @@ -67,6 +67,31 @@ // Implementation UID is from the .rss const TUid KSetUpEventListUid = { 0x10202993 }; +// ======== LOCAL FUNCTIONS ======== + +// ----------------------------------------------------------------------------- +// CleanupPointerArray +// Cleanup RPointerArray objects by using the cleanup stack. Function will be +// called when application leaves while a RPointerArray object still alive, +// or when CleanupStack::PopAndDestroy is explicitly called to release a +// RPointerArray. See CleanupStack::PushL( TCleanupItem ) for more details. +// ----------------------------------------------------------------------------- +// +static void CleanupPointerArray( TAny* aArray ) + { + LOG2( NORMAL, "SATENGINE: CSatCommandContainer::CleanupPointerArray \ + calling array = 0x%08x", aArray ) + + RImplInfoPtrArray* array = reinterpret_cast( aArray ); + if ( array ) + { + array->ResetAndDestroy(); + } + + LOG( NORMAL, "SATENGINE: CSatCommandContainer::CleanupPointerArray \ + exiting" ) + } + // ======== MEMBER FUNCTIONS ======== // ----------------------------------------------------------------------------- @@ -158,6 +183,8 @@ in startup phase" ) // Create command handlers. RImplInfoPtrArray satCommandImplementations; + CleanupStack::PushL( + TCleanupItem( CleanupPointerArray, &satCommandImplementations ) ); REComSession::ListImplementationsL( KSatInterfaceDefinitionUid, satCommandImplementations ); @@ -196,7 +223,7 @@ } } } - satCommandImplementations.ResetAndDestroy(); + CleanupStack::PopAndDestroy( &satCommandImplementations ); // Notify TSY about readiness i.e. all nofies are sent // Done only once in startup phase @@ -219,6 +246,8 @@ // Create command handlers. RImplInfoPtrArray satCommandImplementations; + CleanupStack::PushL( + TCleanupItem( CleanupPointerArray, &satCommandImplementations ) ); REComSession::ListImplementationsL( KSatInterfaceDefinitionUid, satCommandImplementations ); @@ -253,7 +282,7 @@ // No commands, remove SAT Icon from shell iSatUiHandler.ShellController().RemoveSatUiL(); } - satCommandImplementations.ResetAndDestroy(); + CleanupStack::PopAndDestroy( &satCommandImplementations ); } else { @@ -1085,9 +1114,11 @@ // Create command handlers. RImplInfoPtrArray satCommandImplementations; + CleanupStack::PushL( + TCleanupItem( CleanupPointerArray, &satCommandImplementations ) ); REComSession::ListImplementationsL( KSatInterfaceDefinitionUid, satCommandImplementations ); - + // Container for commands const TInt cmdCount( satCommandImplementations.Count() ); LOG2( NORMAL, "SATENGINE: CSatCommandContainer::\ @@ -1118,8 +1149,8 @@ CleanupStack::Pop( setUpEventListCmd ); } } - - satCommandImplementations.Close(); + + CleanupStack::PopAndDestroy( &satCommandImplementations ); LOG( NORMAL, "SATENGINE: CSatCommandContainer::\ StartImportantCommandHandlersL exiting" ) } @@ -1142,3 +1173,5 @@ } LOG( NORMAL, "SATENGINE: CSatCommandContainer::CheckStartupState exiting" ) } + +// End Of File diff -r e44a8c097b15 -r 427125ac6cb8 satui/satapp/src/satappuiprovider.cpp --- a/satui/satapp/src/satappuiprovider.cpp Fri May 14 16:24:46 2010 +0300 +++ b/satui/satapp/src/satappuiprovider.cpp Thu May 27 13:23:05 2010 +0300 @@ -319,7 +319,6 @@ HbEditorInterface inputMode(mGetInkeyQuery->lineEdit()); if (ESatDigitOnly == aCharacterSet) { // digit mode, digits only (0 9, *, #, and +) -// inputMode.setUpAsPhoneNumberEditor(); inputMode.setFilter(HbPhoneNumberFilter::instance()); } else { // char mode diff -r e44a8c097b15 -r 427125ac6cb8 telutils/dialpad/bwins/dialpadu.def --- a/telutils/dialpad/bwins/dialpadu.def Fri May 14 16:24:46 2010 +0300 +++ b/telutils/dialpad/bwins/dialpadu.def Thu May 27 13:23:05 2010 +0300 @@ -49,4 +49,16 @@ ??0DialpadKeyHandler@@QAE@PAVDialpad@@AAVHbMainWindow@@PAVQObject@@@Z @ 48 NONAME ; DialpadKeyHandler::DialpadKeyHandler(class Dialpad *, class HbMainWindow &, class QObject *) ?isOpen@Dialpad@@QBE_NXZ @ 49 NONAME ; bool Dialpad::isOpen(void) const ?aboutToOpen@Dialpad@@IAEXXZ @ 50 NONAME ; void Dialpad::aboutToOpen(void) + ??1DialpadVtKeyHandler@@UAE@XZ @ 51 NONAME ; DialpadVtKeyHandler::~DialpadVtKeyHandler(void) + ?metaObject@DialpadVtKeyHandler@@UBEPBUQMetaObject@@XZ @ 52 NONAME ; struct QMetaObject const * DialpadVtKeyHandler::metaObject(void) const + ?tr@DialpadVtKeyHandler@@SA?AVQString@@PBD0H@Z @ 53 NONAME ; class QString DialpadVtKeyHandler::tr(char const *, char const *, int) + ??0DialpadVtKeyHandler@@QAE@PAVDialpad@@AAVHbMainWindow@@PAVQObject@@@Z @ 54 NONAME ; DialpadVtKeyHandler::DialpadVtKeyHandler(class Dialpad *, class HbMainWindow &, class QObject *) + ?trUtf8@DialpadVtKeyHandler@@SA?AVQString@@PBD0H@Z @ 55 NONAME ; class QString DialpadVtKeyHandler::trUtf8(char const *, char const *, int) + ?trUtf8@DialpadVtKeyHandler@@SA?AVQString@@PBD0@Z @ 56 NONAME ; class QString DialpadVtKeyHandler::trUtf8(char const *, char const *) + ?staticMetaObject@DialpadVtKeyHandler@@2UQMetaObject@@B @ 57 NONAME ; struct QMetaObject const DialpadVtKeyHandler::staticMetaObject + ?qt_metacall@DialpadVtKeyHandler@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 58 NONAME ; int DialpadVtKeyHandler::qt_metacall(enum QMetaObject::Call, int, void * *) + ?getStaticMetaObject@DialpadVtKeyHandler@@SAABUQMetaObject@@XZ @ 59 NONAME ; struct QMetaObject const & DialpadVtKeyHandler::getStaticMetaObject(void) + ??_EDialpadVtKeyHandler@@UAE@I@Z @ 60 NONAME ; DialpadVtKeyHandler::~DialpadVtKeyHandler(unsigned int) + ?qt_metacast@DialpadVtKeyHandler@@UAEPAXPBD@Z @ 61 NONAME ; void * DialpadVtKeyHandler::qt_metacast(char const *) + ?tr@DialpadVtKeyHandler@@SA?AVQString@@PBD0@Z @ 62 NONAME ; class QString DialpadVtKeyHandler::tr(char const *, char const *) diff -r e44a8c097b15 -r 427125ac6cb8 telutils/dialpad/dialpad.pro --- a/telutils/dialpad/dialpad.pro Fri May 14 16:24:46 2010 +0300 +++ b/telutils/dialpad/dialpad.pro Thu May 27 13:23:05 2010 +0300 @@ -23,6 +23,7 @@ HEADERS += ../../phonesrv_plat/dialpad_api/inc/dialpad.h \ ../../phonesrv_plat/dialpad_api/inc/dialpadkeyhandler.h \ + ../../phonesrv_plat/dialpad_api/inc/dialpadvtkeyhandler.h \ inc/dialpadbutton.h \ inc/dialpadinputfield.h \ inc/dialpadkeypad.h \ @@ -31,7 +32,10 @@ inc/dialpadbackground.h \ inc/dialpadvoicemailboxeventfilter.h \ inc/dialpadbluetootheventfilter.h \ - inc/dialpadkeysequenceeventfilter.h + inc/dialpadkeysequenceeventfilter.h \ + inc/dialpadvideomailboxeventfilter.h \ + inc/dialpadmailboxeventfilterbase.h \ + inc/dialpademergencycalleventfilter.h SOURCES += src/dialpad.cpp \ src/dialpadbutton.cpp \ @@ -43,7 +47,11 @@ src/dialpadbackground.cpp \ src/dialpadvoicemailboxeventfilter.cpp \ src/dialpadbluetootheventfilter.cpp \ - src/dialpadkeysequenceeventfilter.cpp + src/dialpadkeysequenceeventfilter.cpp \ + src/dialpadvideomailboxeventfilter.cpp \ + src/dialpadmailboxeventfilterbase.cpp \ + src/dialpademergencycalleventfilter.cpp \ + src/dialpadvtkeyhandler.cpp RESOURCES += dialpad.qrc @@ -70,7 +78,9 @@ LIBS += -lxqservice \ -lxqserviceutil \ - -lvmbxengine + -lvmbxengine \ + -lfeatmgr \ + -lphoneclient } else:win32 { HEADERS += inc/dialpadsymbianwrapper_p_stub.h diff -r e44a8c097b15 -r 427125ac6cb8 telutils/dialpad/eabi/dialpadu.def --- a/telutils/dialpad/eabi/dialpadu.def Fri May 14 16:24:46 2010 +0300 +++ b/telutils/dialpad/eabi/dialpadu.def Thu May 27 13:23:05 2010 +0300 @@ -57,4 +57,16 @@ _ZThn8_N7DialpadD0Ev @ 56 NONAME _ZThn8_N7DialpadD1Ev @ 57 NONAME _ZN7Dialpad11aboutToOpenEv @ 58 NONAME + _ZN19DialpadVtKeyHandler11qt_metacallEN11QMetaObject4CallEiPPv @ 59 NONAME + _ZN19DialpadVtKeyHandler11qt_metacastEPKc @ 60 NONAME + _ZN19DialpadVtKeyHandler16staticMetaObjectE @ 61 NONAME DATA 16 + _ZN19DialpadVtKeyHandler19getStaticMetaObjectEv @ 62 NONAME + _ZN19DialpadVtKeyHandlerC1EP7DialpadR12HbMainWindowP7QObject @ 63 NONAME + _ZN19DialpadVtKeyHandlerC2EP7DialpadR12HbMainWindowP7QObject @ 64 NONAME + _ZN19DialpadVtKeyHandlerD0Ev @ 65 NONAME + _ZN19DialpadVtKeyHandlerD1Ev @ 66 NONAME + _ZN19DialpadVtKeyHandlerD2Ev @ 67 NONAME + _ZNK19DialpadVtKeyHandler10metaObjectEv @ 68 NONAME + _ZTI19DialpadVtKeyHandler @ 69 NONAME + _ZTV19DialpadVtKeyHandler @ 70 NONAME diff -r e44a8c097b15 -r 427125ac6cb8 telutils/dialpad/inc/dialpademergencycalleventfilter.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/telutils/dialpad/inc/dialpademergencycalleventfilter.h Thu May 27 13:23:05 2010 +0300 @@ -0,0 +1,78 @@ +/*! +* 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: +* +*/ + +#ifndef DIALPADEMERGENCYCALLEVENTFILTER_H +#define DIALPADEMERGENCYCALLEVENTFILTER_H + +#include + +class Dialpad; +class CPhCltEmergencyCall; + +/*! + DialpadEmergencyCallEventFilter + Class provides emergency call key handling. +*/ +class DialpadEmergencyCallEventFilter : public QObject +{ + Q_OBJECT + +public: + explicit DialpadEmergencyCallEventFilter(Dialpad* dialpad, QObject* parent = 0); + virtual ~DialpadEmergencyCallEventFilter(); + +protected: + bool eventFilter(QObject *watched, QEvent *event); + +private: + + /*! + \fn void isEmergencyNumber() + + Checks is string emergency number. + */ + bool isEmergencyNumber(QString string); + + /*! + \fn void editorText() + + Returns text from editor (in western digits). + */ + QString editorText(); + + /*! + \fn createCall(const QString phoneNumber) + + Creates call request to QT Highway. + */ + void createCall(const QString &phoneNumber); + +protected slots: + + /*! + \fn void editorTextChanged() + + This slot is called when dialpad editor text is changed. + */ + void editorTextChanged(); + +private: + Dialpad* mDialpad; + CPhCltEmergencyCall* mEmergency; +}; + +#endif // DIALPADEMERGENCYCALLEVENTFILTER_H diff -r e44a8c097b15 -r 427125ac6cb8 telutils/dialpad/inc/dialpadmailboxeventfilterbase.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/telutils/dialpad/inc/dialpadmailboxeventfilterbase.h Thu May 27 13:23:05 2010 +0300 @@ -0,0 +1,112 @@ +/*! +* 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: +* +*/ + +#ifndef DIALPADMAILBOXEVENTFILTERBASE_H +#define DIALPADMAILBOXEVENTFILTERBASE_H + +#include + +class QTimer; +class Dialpad; +class DialpadSymbianWrapper; + +enum err { + DialpadErrorNone = 0, + DialpadErrorCancel = -3 +}; +const int DialpadLongKeyPressTimeOut(1000); + +/*! + DialpadMailboxEventFilterBase + Class provides voice mailbox key handling. +*/ +class DialpadMailboxEventFilterBase : public QObject +{ + Q_OBJECT + +public: + explicit DialpadMailboxEventFilterBase(Dialpad* dialpad, QObject* parent = 0); + virtual ~DialpadMailboxEventFilterBase(); + +protected: + virtual bool eventFilter(QObject *watched, QEvent *event) = 0; + + /*! + \fn bool isLongKeyPressSupported(const int key) + + Checks if key is numeric key'1' or numbersign key if it is then + function return true, if key is something else for example + yes/send then this returns false. + */ + bool isLongKeyPressSupported(const int key); + + /*! + \fn bool checkIfSendEventAndConsumeEvent(const int pressedKey, const int eventType) + + Checks that keycode is call related key if it is then handle it. + */ + bool checkIfSendEventAndConsumeEvent(const int pressedKey, const int eventType); + + /*! + \fn bool handleCallButtonPress() + + Check if editor has number string and if it does then createCall + is called and funtion returns true, if there is no number then + funtion return false. + */ + virtual bool handleCallButtonPress() = 0; + + /*! + \fn void clearEditor() + + Clears dialpad editor. + */ + void clearEditor(); + + /*! + \fn createCall(const QString phoneNumber) + + Creates call request to QT Highway. + */ + void createCall(const QString &phoneNumber, bool createVideoCall = false); + + /*! + \fn handleMailboxOperation + + Start vmbx call or number definition procedures. + */ + virtual void handleMailboxOperation() = 0; + + +protected slots: + + /*! + \fn void handleLongKeyPress() + + Handles long key presses. + */ + virtual void handleLongKeyPress() = 0; + + +protected: + QTimer *mLongPressTimer; + DialpadSymbianWrapper *mSymbianWrapper; + Dialpad* mDialpad; + int mKeyEvent; +}; + +#endif // DIALPADMAILBOXEVENTFILTERBASE_H diff -r e44a8c097b15 -r 427125ac6cb8 telutils/dialpad/inc/dialpadsymbianwrapper.h --- a/telutils/dialpad/inc/dialpadsymbianwrapper.h Fri May 14 16:24:46 2010 +0300 +++ b/telutils/dialpad/inc/dialpadsymbianwrapper.h Thu May 27 13:23:05 2010 +0300 @@ -37,8 +37,10 @@ ~DialpadSymbianWrapper(); int getMailboxNumber(QString &vmbxNumber); + int getVideoMailboxNumber(QString &vmbxNumber); int defineMailboxNumber(QString &vmbxNumber); + int defineVideoMailboxNumber(QString &vmbxNumber); protected: DialpadSymbianWrapperPrivate *const d_ptr; diff -r e44a8c097b15 -r 427125ac6cb8 telutils/dialpad/inc/dialpadsymbianwrapper_p.h --- a/telutils/dialpad/inc/dialpadsymbianwrapper_p.h Fri May 14 16:24:46 2010 +0300 +++ b/telutils/dialpad/inc/dialpadsymbianwrapper_p.h Thu May 27 13:23:05 2010 +0300 @@ -38,8 +38,10 @@ ~DialpadSymbianWrapperPrivate(); int getMailboxNumber(QString &vmbxNumber); + int getVideoMailboxNumber(QString &vmbxNumber); int defineMailboxNumber(QString &vmbxNumber); + int defineVideoMailboxNumber(QString &vmbxNumber); private: diff -r e44a8c097b15 -r 427125ac6cb8 telutils/dialpad/inc/dialpadsymbianwrapper_p_stub.h --- a/telutils/dialpad/inc/dialpadsymbianwrapper_p_stub.h Fri May 14 16:24:46 2010 +0300 +++ b/telutils/dialpad/inc/dialpadsymbianwrapper_p_stub.h Thu May 27 13:23:05 2010 +0300 @@ -37,8 +37,10 @@ ~DialpadSymbianWrapperPrivate(); int getMailboxNumber(QString &vmbxNumber); + int getVideoMailboxNumber(QString &vmbxNumber); int defineMailboxNumber(QString &vmbxNumber); + int defineVideoMailboxNumber(QString &vmbxNumber); private: diff -r e44a8c097b15 -r 427125ac6cb8 telutils/dialpad/inc/dialpadvideomailboxeventfilter.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/telutils/dialpad/inc/dialpadvideomailboxeventfilter.h Thu May 27 13:23:05 2010 +0300 @@ -0,0 +1,68 @@ +/*! +* 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: +* +*/ + +#ifndef DIALPADVIDEOMAILBOXEVENTFILTER_H +#define DIALPADVIDEOMAILBOXEVENTFILTER_H + +#include "dialpadmailboxeventfilterbase.h" + +class QTimer; +class Dialpad; +class DialpadSymbianWrapper; + +/*! + DialpadVideoMailboxEventFilter + Class provides video mailbox key handling. +*/ +class DialpadVideoMailboxEventFilter : public DialpadMailboxEventFilterBase +{ + Q_OBJECT + +public: + explicit DialpadVideoMailboxEventFilter(Dialpad* dialpad, QObject* parent = 0); + virtual ~DialpadVideoMailboxEventFilter(); + +protected: + bool eventFilter(QObject *watched, QEvent *event); + + /*! + \fn bool handleCallButtonPress() + + Check if editor has number string and if it does then createVideoCall + is called and funtion returns true, if there is no number then + funtion return false. + */ + bool handleCallButtonPress(); + + /*! + \fn handleMailboxOperation + + Start vmbx call or number definition procedures. + */ + void handleMailboxOperation(); + +protected slots: + + /*! + \fn void handleLongKeyPress() + + Handles long key presses. + */ + void handleLongKeyPress(); +}; + +#endif // DIALPADVIDEOMAILBOXEVENTFILTER_H diff -r e44a8c097b15 -r 427125ac6cb8 telutils/dialpad/inc/dialpadvoicemailboxeventfilter.h --- a/telutils/dialpad/inc/dialpadvoicemailboxeventfilter.h Fri May 14 16:24:46 2010 +0300 +++ b/telutils/dialpad/inc/dialpadvoicemailboxeventfilter.h Thu May 27 13:23:05 2010 +0300 @@ -18,7 +18,7 @@ #ifndef DIALPADVOICEMAILBOXEVENTFILTER_H #define DIALPADVOICEMAILBOXEVENTFILTER_H -#include +#include "dialpadmailboxeventfilterbase.h" class QTimer; class Dialpad; @@ -28,7 +28,7 @@ DialpadVoiceMailboxEventFilter Class provides voice mailbox key handling. */ -class DialpadVoiceMailboxEventFilter : public QObject +class DialpadVoiceMailboxEventFilter : public DialpadMailboxEventFilterBase { Q_OBJECT @@ -39,31 +39,6 @@ protected: bool eventFilter(QObject *watched, QEvent *event); -private slots: - /*! - \fn void handleLongKeyPress() - - Handles long key presses. - */ - void handleLongKeyPress(); - -private: - /*! - \fn bool isLongKeyPressSupported(const int key) - - Checks if key is numeric key'1' or numbersign key if it is then - function return true, if key is something else for example - yes/send then this returns false. - */ - bool isLongKeyPressSupported(const int key); - - /*! - \fn bool checkIfSendEventAndConsumeEvent(const int pressedKey, const int eventType) - - Checks that keycode is call related key if it is then handle it. - */ - bool checkIfSendEventAndConsumeEvent(const int pressedKey, const int eventType); - /*! \fn bool handleCallButtonPress() @@ -74,31 +49,20 @@ bool handleCallButtonPress(); /*! - \fn void clearEditor() - - Clears dialpad editor. - */ - void clearEditor(); - - /*! - \fn createCall(const QString phoneNumber) - - Creates call request to QT Highway. - */ - void createCall(const QString &phoneNumber); - - /*! \fn handleMailboxOperation Start vmbx call or number definition procedures. */ void handleMailboxOperation(); + +protected slots: -private: - QTimer *mLongPressTimer; - DialpadSymbianWrapper *mSymbianWrapper; - Dialpad* mDialpad; - int mKeyEvent; + /*! + \fn void handleLongKeyPress() + + Handles long key presses. + */ + void handleLongKeyPress(); }; #endif // DIALPADVOICEMAILBOXEVENTFILTER_H diff -r e44a8c097b15 -r 427125ac6cb8 telutils/dialpad/resources/dialpad.css --- a/telutils/dialpad/resources/dialpad.css Fri May 14 16:24:46 2010 +0300 +++ b/telutils/dialpad/resources/dialpad.css Thu May 27 13:23:05 2010 +0300 @@ -9,13 +9,14 @@ DialpadButton[icon][!text][!additionalText]{ layout:icon_button; - min-height:6.25un; + min-height:6.25un; /* default min-height is too small */ min-width:6.25un; } /* text and additional text */ DialpadButton[stretched][!icon][text][additionalText]{ layout:text_additionalText_horizontal; + min-height:6.25un; } DialpadButton[stretched][!icon][text][additionalText]::text @@ -38,6 +39,7 @@ /* text and icon */ DialpadButton[stretched][icon][text][!additionalText]{ layout:icon_text_horizontal; + min-height:6.25un; } DialpadButton[stretched][icon][text][!additionalText]::text{ diff -r e44a8c097b15 -r 427125ac6cb8 telutils/dialpad/src/dialpademergencycalleventfilter.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/telutils/dialpad/src/dialpademergencycalleventfilter.cpp Thu May 27 13:23:05 2010 +0300 @@ -0,0 +1,117 @@ +/* +* 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 +#include +#include "dialpademergencycalleventfilter.h" +#include "dialpad.h" +#include "qtphonesrvlog.h" + +#ifdef Q_OS_SYMBIAN +#include +#include +#include +#include +#endif //Q_OS_SYMBIAN + + +DialpadEmergencyCallEventFilter::DialpadEmergencyCallEventFilter(Dialpad* dialpad, QObject* parent) : + QObject(parent), mDialpad(dialpad), mEmergency(0) +{ + PHONE_TRACE; +#ifdef Q_OS_SYMBIAN + TRAP_IGNORE(mEmergency = CPhCltEmergencyCall::NewL( NULL )); +#endif // Q_OS_SYMBIAN + mDialpad->setCallButtonEnabled(false); + connect(&mDialpad->editor(),SIGNAL(contentsChanged()), + this,SLOT(editorTextChanged())); +} + +DialpadEmergencyCallEventFilter::~DialpadEmergencyCallEventFilter() +{ +} + +bool DialpadEmergencyCallEventFilter::eventFilter(QObject *watched, QEvent *event) +{ + PHONE_TRACE; + Q_UNUSED(watched) + + bool eventFiltered = false; +#ifdef Q_OS_SYMBIAN + + const int eventType = event->type(); + + if (eventType == QEvent::KeyPress) { + QKeyEvent *keyEvent = static_cast(event); + const int keyCode = keyEvent->key(); + if (keyCode == Qt::Key_Yes || + keyCode == Qt::Key_Enter) { + if (isEmergencyNumber(editorText())) { + createCall(editorText()); + eventFiltered = true; + } + } + } +#else + Q_UNUSED(event) +#endif // Q_OS_SYMBIAN + + return eventFiltered; +} + +bool DialpadEmergencyCallEventFilter::isEmergencyNumber(QString string) +{ + PHONE_TRACE; + bool ret = false; +#ifdef Q_OS_SYMBIAN + if (KPhCltTelephoneNumberLength >= string.length()) { + TBool emergency; + TPhCltTelephoneNumber number(reinterpret_cast(string.utf16())); + if (mEmergency && + KErrNone == mEmergency->IsEmergencyPhoneNumber(number, emergency)) { + ret = emergency; + } + } +#else + Q_UNUSED(string) +#endif // Q_OS_SYMBIAN + return ret; +} + +QString DialpadEmergencyCallEventFilter::editorText() +{ + PHONE_TRACE; + return HbStringUtil::convertDigitsTo( + mDialpad->editor().text(), WesternDigit); +} + +void DialpadEmergencyCallEventFilter::createCall(const QString &phoneNumber) +{ + PHONE_TRACE2("phoneNumber:", phoneNumber); +#ifdef Q_OS_SYMBIAN + XQServiceRequest snd("com.nokia.symbian.ICallDial","dial(QString)", false); + snd << phoneNumber; + QVariant retValue; + snd.send(retValue); +#endif // Q_OS_SYMBIAN +} + +void DialpadEmergencyCallEventFilter::editorTextChanged() +{ + mDialpad->setCallButtonEnabled(isEmergencyNumber(editorText())); +} + diff -r e44a8c097b15 -r 427125ac6cb8 telutils/dialpad/src/dialpadkeyhandler.cpp --- a/telutils/dialpad/src/dialpadkeyhandler.cpp Fri May 14 16:24:46 2010 +0300 +++ b/telutils/dialpad/src/dialpadkeyhandler.cpp Thu May 27 13:23:05 2010 +0300 @@ -16,8 +16,12 @@ */ #include +#ifdef Q_OS_SYMBIAN +#include +#endif // Q_OS_SYMBIAN #include "dialpadkeyhandler.h" #include "dialpadvoicemailboxeventfilter.h" +#include "dialpadvideomailboxeventfilter.h" #include "dialpadbluetootheventfilter.h" #include "dialpadkeysequenceeventfilter.h" #include "qtphonesrvlog.h" @@ -28,17 +32,30 @@ QObject(parent), mMainWindow(mainWindow), mVmbxFilter(0), + mVideoVmbxFilter(0), mBtFilter(0), - mKeySequenceFilter(0) + mKeySequenceFilter(0), + mIsVideoMailboxSupported(false) { PHONE_TRACE; + + // Variations +#ifdef Q_OS_SYMBIAN + mIsVideoMailboxSupported = FeatureManager::FeatureSupported(KFeatureIdCsVideoTelephony); +#endif // Q_OS_SYMBIAN mVmbxFilter.reset(new DialpadVoiceMailboxEventFilter(dialPad)); + if(mIsVideoMailboxSupported) { + mVideoVmbxFilter.reset(new DialpadVideoMailboxEventFilter(dialPad)); + } mBtFilter.reset(new DialpadBluetoothEventFilter(dialPad)); mKeySequenceFilter.reset(new DialpadKeySequenceEventFilter(dialPad)); - + // Stack different event filters mMainWindow.installEventFilter(mVmbxFilter.data()); + if(mIsVideoMailboxSupported) { + mMainWindow.installEventFilter(mVideoVmbxFilter.data()); + } mMainWindow.installEventFilter(mBtFilter.data()); mMainWindow.installEventFilter(mKeySequenceFilter.data()); } diff -r e44a8c097b15 -r 427125ac6cb8 telutils/dialpad/src/dialpadmailboxeventfilterbase.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/telutils/dialpad/src/dialpadmailboxeventfilterbase.cpp Thu May 27 13:23:05 2010 +0300 @@ -0,0 +1,105 @@ +/* +* 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 +#include +#include +#include "dialpadmailboxeventfilterbase.h" +#include "dialpadsymbianwrapper.h" +#include "dialpad.h" +#include "qtphonesrvlog.h" + +#ifdef Q_OS_SYMBIAN +#include +#include +#endif //Q_OS_SYMBIAN + +const int DialpadLongKeyPressButtonCount(2); +static const int DialpadLongKeyPressSupportingButtons[DialpadLongKeyPressButtonCount] = +{ Qt::Key_1, Qt::Key_2 }; + + +DialpadMailboxEventFilterBase::DialpadMailboxEventFilterBase(Dialpad* dialpad, QObject* parent) : + QObject(parent), mDialpad(dialpad), mKeyEvent(NULL) +{ + PHONE_TRACE; + mLongPressTimer = new QTimer(this); + mLongPressTimer->setSingleShot(true); + connect(mLongPressTimer,SIGNAL(timeout()),this,SLOT(handleLongKeyPress())); + mSymbianWrapper = new DialpadSymbianWrapper(this); +} + +DialpadMailboxEventFilterBase::~DialpadMailboxEventFilterBase() +{ +} + +bool DialpadMailboxEventFilterBase::checkIfSendEventAndConsumeEvent(const int pressedKey, const int eventType) +{ + PHONE_TRACE4("pressedKey:", pressedKey, "eventType:", eventType); + bool sendKeyHandled(false); + // first check that pressed key is send key. + if (pressedKey == Qt::Key_Yes || + pressedKey == Qt::Key_Enter) { + if (eventType == QEvent::KeyPress) { + sendKeyHandled = handleCallButtonPress(); + } else if ((eventType == QEvent::KeyRelease) && + (!mDialpad->editor().text().isEmpty())) { + sendKeyHandled = true; + } + } + return sendKeyHandled; +} + +bool DialpadMailboxEventFilterBase::isLongKeyPressSupported(const int key) +{ + PHONE_TRACE2("key:", key); + bool longKeySupport(false); + // check if dialpad button is pressed. + for (int i = 0; i < DialpadLongKeyPressButtonCount; i++) { + if (key==DialpadLongKeyPressSupportingButtons[i]) { + longKeySupport = true; + // Save key code for handleCallButtonPress. + mKeyEvent = key; + } + } + return longKeySupport; +} + +void DialpadMailboxEventFilterBase::clearEditor() +{ + PHONE_TRACE; + // Erase data from dialpad editor. + mDialpad->editor().setText(QString("")); +} + +void DialpadMailboxEventFilterBase::createCall(const QString &phoneNumber, bool createVideoCall) +{ + PHONE_TRACE2("phoneNumber:", phoneNumber); +#ifdef Q_OS_SYMBIAN + if(createVideoCall) { + XQServiceRequest snd("com.nokia.symbian.ICallDial","dialVideo(QString)", false); + snd << phoneNumber; + QVariant retValue; + snd.send(retValue); + } else { + XQServiceRequest snd("com.nokia.symbian.ICallDial","dial(QString)", false); + snd << phoneNumber; + QVariant retValue; + snd.send(retValue); + } +#endif // Q_OS_SYMBIAN +} diff -r e44a8c097b15 -r 427125ac6cb8 telutils/dialpad/src/dialpadsymbianwrapper.cpp --- a/telutils/dialpad/src/dialpadsymbianwrapper.cpp Fri May 14 16:24:46 2010 +0300 +++ b/telutils/dialpad/src/dialpadsymbianwrapper.cpp Thu May 27 13:23:05 2010 +0300 @@ -36,9 +36,18 @@ return d_ptr->getMailboxNumber(vmbxNumber); } +int DialpadSymbianWrapper::getVideoMailboxNumber(QString &vmbxNumber) +{ + return d_ptr->getVideoMailboxNumber(vmbxNumber); +} + int DialpadSymbianWrapper::defineMailboxNumber(QString &vmbxNumber) { //Q_D(DialpadSymbianWrapper); return d_ptr->defineMailboxNumber(vmbxNumber); } +int DialpadSymbianWrapper::defineVideoMailboxNumber(QString &vmbxNumber) +{ + return d_ptr->defineVideoMailboxNumber(vmbxNumber); +} diff -r e44a8c097b15 -r 427125ac6cb8 telutils/dialpad/src/dialpadsymbianwrapper_p.cpp --- a/telutils/dialpad/src/dialpadsymbianwrapper_p.cpp Fri May 14 16:24:46 2010 +0300 +++ b/telutils/dialpad/src/dialpadsymbianwrapper_p.cpp Thu May 27 13:23:05 2010 +0300 @@ -38,10 +38,8 @@ int errValue(KErrNone); CVoiceMailboxEntry* vmbxEntry = NULL; TVoiceMailboxParams vmbxParams; - errValue = mVmbx->QueryVmbxType( vmbxParams ); - if ((KErrNone == errValue) && - (KErrNone == mVmbx->GetStoredEntry(vmbxParams, vmbxEntry))) { + if (KErrNone == mVmbx->GetStoredEntry(vmbxParams, vmbxEntry)) { // Number retrieved succesfully: vmbxNumber = getVmbxNumber(*vmbxEntry); } @@ -51,6 +49,22 @@ return errValue; } +int DialpadSymbianWrapperPrivate::getVideoMailboxNumber(QString &vmbxNumber) +{ + int errValue(KErrNone); + CVoiceMailboxEntry* vmbxEntry = NULL; + TVoiceMailboxParams vmbxParams; + vmbxParams.iType = EVmbxVideo; + + if (KErrNone == mVmbx->GetStoredEntry(vmbxParams, vmbxEntry)) { + // Number retrieved succesfully: + vmbxNumber = getVmbxNumber(*vmbxEntry); + } + // Entry ownership was transferred. + delete vmbxEntry; + vmbxEntry = NULL; + return errValue; +} int DialpadSymbianWrapperPrivate::defineMailboxNumber(QString &vmbxNumber) { @@ -69,6 +83,24 @@ return errValue; } +int DialpadSymbianWrapperPrivate::defineVideoMailboxNumber(QString &vmbxNumber) +{ + CVoiceMailboxEntry* vmbxEntry = NULL; + TVoiceMailboxParams vmbxParams; + vmbxParams.iType = EVmbxVideo; + int errValue = mVmbx->QueryVmbxType( vmbxParams ); + + if ((KErrNotFound == errValue)) { + errValue = mVmbx->QueryNewEntry(vmbxParams, vmbxEntry); + if (KErrNone == errValue) { + mVmbx->SaveEntry(*vmbxEntry); + // Do appropriate tasks, e.g. save number. + vmbxNumber = getVmbxNumber(*vmbxEntry); + } + } + return errValue; +} + QString DialpadSymbianWrapperPrivate::getVmbxNumber(CVoiceMailboxEntry &vmbxEntry) { TPtrC ptrNumber(KNullDesC); diff -r e44a8c097b15 -r 427125ac6cb8 telutils/dialpad/src/dialpadsymbianwrapper_p_stub.cpp --- a/telutils/dialpad/src/dialpadsymbianwrapper_p_stub.cpp Fri May 14 16:24:46 2010 +0300 +++ b/telutils/dialpad/src/dialpadsymbianwrapper_p_stub.cpp Thu May 27 13:23:05 2010 +0300 @@ -48,6 +48,11 @@ return errValue; } +int DialpadSymbianWrapperPrivate::getVideoMailboxNumber(QString &vmbxNumber) +{ + return getMailboxNumber(vmbxNumber); +} + int DialpadSymbianWrapperPrivate::defineMailboxNumber(QString &vmbxNumber) { int errValue(0); @@ -69,3 +74,8 @@ mTimes++; return errValue; } + +int DialpadSymbianWrapperPrivate::defineVideoMailboxNumber(QString &vmbxNumber) +{ + return defineMailboxNumber(vmbxNumber); +} diff -r e44a8c097b15 -r 427125ac6cb8 telutils/dialpad/src/dialpadvideomailboxeventfilter.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/telutils/dialpad/src/dialpadvideomailboxeventfilter.cpp Thu May 27 13:23:05 2010 +0300 @@ -0,0 +1,131 @@ +/* +* 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 +#include +#include +#include "dialpadvideomailboxeventfilter.h" +#include "dialpadsymbianwrapper.h" +#include "dialpad.h" +#include "qtphonesrvlog.h" + +#ifdef Q_OS_SYMBIAN +#include +#include +#endif //Q_OS_SYMBIAN + +const QString VideoVmbxCharacter("2"); + +DialpadVideoMailboxEventFilter::DialpadVideoMailboxEventFilter(Dialpad* dialpad, QObject* parent) : + DialpadMailboxEventFilterBase(dialpad, parent) +{ +} + +DialpadVideoMailboxEventFilter::~DialpadVideoMailboxEventFilter() +{ +} + +bool DialpadVideoMailboxEventFilter::eventFilter(QObject *watched, QEvent *event) +{ + Q_UNUSED(watched) + bool keyEventEaten(false); + + QKeyEvent *keyEvent = static_cast(event); + const int keyCode = keyEvent->key(); + const int eventType = event->type(); + + if (eventType == QEvent::KeyPress) { + if (checkIfSendEventAndConsumeEvent(keyCode, eventType)) { + keyEventEaten = true; + } else if ((isLongKeyPressSupported(keyCode)) && + !(mDialpad->editor().text().length() >= 1)) { + //Check that there is only one item in dialpad, if there is more than one + //do not handle long key press. + mLongPressTimer->stop(); + mLongPressTimer->start(DialpadLongKeyPressTimeOut); + } + } else if (eventType == QEvent::KeyRelease) { + if (checkIfSendEventAndConsumeEvent(keyCode, eventType)) { + keyEventEaten = true; + } else if (isLongKeyPressSupported(keyCode)){ + mLongPressTimer->stop(); + } + } + + return keyEventEaten; +} + +void DialpadVideoMailboxEventFilter::handleLongKeyPress() +{ + PHONE_TRACE; + switch(mKeyEvent) { + case Qt::Key_2:{ + handleMailboxOperation(); + break; + } + default: + // Do nothing. + break; + } + + // Reset key code. + mKeyEvent = NULL; +} + +bool DialpadVideoMailboxEventFilter::handleCallButtonPress() +{ + PHONE_TRACE; + bool callButtonhandled(false); + if (!mDialpad->editor().text().isEmpty()) { +#ifdef Q_OS_SYMBIAN + // check if editor has '2' character if does then + // get MailboxNumber. + QString editorContent = HbStringUtil::convertDigitsTo( + mDialpad->editor().text(), WesternDigit); + if (VideoVmbxCharacter==editorContent) { + handleMailboxOperation(); + callButtonhandled = true; + } +#endif //Q_OS_SYMBIAN + } + return callButtonhandled; +} + +void DialpadVideoMailboxEventFilter::handleMailboxOperation() +{ + PHONE_TRACE; + QString mailboxNumber; + int error = mSymbianWrapper->getVideoMailboxNumber(mailboxNumber); + // If here is no vmbx number and dialpad must start vmbx number definition procedures. + if (DialpadErrorNone != error || mailboxNumber.length() == 0) { + mDialpad->closeDialpad(); + // If define mailbox query was interupted than reopen dialpad. + error = mSymbianWrapper->defineVideoMailboxNumber(mailboxNumber); + if (DialpadErrorCancel == error) { + mDialpad->openDialpad(); + } + } + + // Valid vmbx number found or defined and there vmbx didnt + // return error values then create a call. + if ((DialpadErrorNone == error) && + (mailboxNumber.length() != 0)) { + createCall(mailboxNumber, true); + clearEditor(); + mDialpad->openDialpad(); + } +} diff -r e44a8c097b15 -r 427125ac6cb8 telutils/dialpad/src/dialpadvoicemailboxeventfilter.cpp --- a/telutils/dialpad/src/dialpadvoicemailboxeventfilter.cpp Fri May 14 16:24:46 2010 +0300 +++ b/telutils/dialpad/src/dialpadvoicemailboxeventfilter.cpp Thu May 27 13:23:05 2010 +0300 @@ -28,27 +28,11 @@ #include #endif //Q_OS_SYMBIAN -const int DialpadLongKeyPressTimeOut(1000); const QString VmbxCharacter("1"); -enum err { - DialpadErrorNone = 0, - DialpadErrorCancel = -3 -}; - -const int DialpadLongKeyPressButtonCount(1); -static const int DialpadLongKeyPressSupportingButtons[DialpadLongKeyPressButtonCount] = -{ Qt::Key_1 }; - - DialpadVoiceMailboxEventFilter::DialpadVoiceMailboxEventFilter(Dialpad* dialpad, QObject* parent) : - QObject(parent), mDialpad(dialpad), mKeyEvent(NULL) + DialpadMailboxEventFilterBase(dialpad, parent) { - PHONE_TRACE; - mLongPressTimer = new QTimer(this); - mLongPressTimer->setSingleShot(true); - connect(mLongPressTimer,SIGNAL(timeout()),this,SLOT(handleLongKeyPress())); - mSymbianWrapper = new DialpadSymbianWrapper(this); } DialpadVoiceMailboxEventFilter::~DialpadVoiceMailboxEventFilter() @@ -85,38 +69,6 @@ return keyEventEaten; } -bool DialpadVoiceMailboxEventFilter::checkIfSendEventAndConsumeEvent(const int pressedKey, const int eventType) -{ - PHONE_TRACE4("pressedKey:", pressedKey, "eventType:", eventType); - bool sendKeyHandled(false); - // first check that pressed key is send key. - if (pressedKey == Qt::Key_Yes || - pressedKey == Qt::Key_Enter) { - if (eventType == QEvent::KeyPress) { - sendKeyHandled = handleCallButtonPress(); - } else if ((eventType == QEvent::KeyRelease) && - (!mDialpad->editor().text().isEmpty())) { - sendKeyHandled = true; - } - } - return sendKeyHandled; -} - -bool DialpadVoiceMailboxEventFilter::isLongKeyPressSupported(const int key) -{ - PHONE_TRACE2("key:", key); - bool longKeySupport(false); - // check if dialpad button is pressed. - for (int i = 0; i < DialpadLongKeyPressButtonCount; i++) { - if (key==DialpadLongKeyPressSupportingButtons[i]) { - longKeySupport = true; - // Save key code for handleCallButtonPress. - mKeyEvent = key; - } - } - return longKeySupport; -} - void DialpadVoiceMailboxEventFilter::handleLongKeyPress() { PHONE_TRACE; @@ -156,10 +108,10 @@ void DialpadVoiceMailboxEventFilter::handleMailboxOperation() { PHONE_TRACE; - QString mailboxNumber(NULL); + QString mailboxNumber; int error = mSymbianWrapper->getMailboxNumber(mailboxNumber); // If here is no vmbx number and dialpad must start vmbx number definition procedures. - if (DialpadErrorNone != error) { + if (DialpadErrorNone != error || mailboxNumber.length() == 0) { mDialpad->closeDialpad(); // If define mailbox query was interupted than reopen dialpad. error = mSymbianWrapper->defineMailboxNumber(mailboxNumber); @@ -176,21 +128,3 @@ mDialpad->openDialpad(); } } - -void DialpadVoiceMailboxEventFilter::clearEditor() -{ - PHONE_TRACE; - // Erase data from dialpad editor. - mDialpad->editor().setText(NULL); -} - -void DialpadVoiceMailboxEventFilter::createCall(const QString &phoneNumber) -{ - PHONE_TRACE2("phoneNumber:", phoneNumber); -#ifdef Q_OS_SYMBIAN - XQServiceRequest snd("com.nokia.symbian.ICallDial","dial(QString)", false); - snd << phoneNumber; - QVariant retValue; - snd.send(retValue); -#endif // Q_OS_SYMBIAN -} diff -r e44a8c097b15 -r 427125ac6cb8 telutils/dialpad/src/dialpadvtkeyhandler.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/telutils/dialpad/src/dialpadvtkeyhandler.cpp Thu May 27 13:23:05 2010 +0300 @@ -0,0 +1,43 @@ +/*! +* 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: Custom button +* +*/ + +#include +#include "dialpadvtkeyhandler.h" +#include "dialpadkeysequenceeventfilter.h" +#include "dialpademergencycalleventfilter.h" +#include "qtphonesrvlog.h" + +DialpadVtKeyHandler::DialpadVtKeyHandler( + Dialpad *dialPad, HbMainWindow& mainWindow, QObject *parent) + : + QObject(parent), + mMainWindow(mainWindow), + mEmergencyCallFilter(0), + mKeySequenceFilter(0) +{ + PHONE_TRACE; + mEmergencyCallFilter = new DialpadEmergencyCallEventFilter(dialPad, this); + mKeySequenceFilter = new DialpadKeySequenceEventFilter(dialPad, this); + + // Stack different event filters + mMainWindow.installEventFilter(mKeySequenceFilter); + mMainWindow.installEventFilter(mEmergencyCallFilter); +} + +DialpadVtKeyHandler::~DialpadVtKeyHandler() +{ +} diff -r e44a8c097b15 -r 427125ac6cb8 telutils/dialpad/tsrc/unit/runall.cmd --- a/telutils/dialpad/tsrc/unit/runall.cmd Fri May 14 16:24:46 2010 +0300 +++ b/telutils/dialpad/tsrc/unit/runall.cmd Thu May 27 13:23:05 2010 +0300 @@ -17,10 +17,11 @@ @echo off if "%1"=="winscw" ( -call runtest.cmd ut_dialpadbuttonstyle +call runtest.cmd ut_dialpademergencycalleventfilter call runtest.cmd ut_dialpadmultitaphandler call runtest.cmd mt_dialpad call runtest.cmd ut_dialpadvoicemailboxeventfilter +call runtest.cmd ut_dialpadvideomailboxeventfilter call runtest.cmd mt_keyhandler call runtest.cmd ut_dialpadbluetootheventfilter call runtest.cmd ut_dialpadkeysequenceeventfilter @@ -28,7 +29,6 @@ @echo off if "%1"=="win32" ( -call runtest_w32.cmd ut_dialpadbuttonstyle call runtest_w32.cmd ut_dialpadmultitaphandler call runtest_w32.cmd mt_dialpad ) diff -r e44a8c097b15 -r 427125ac6cb8 telutils/dialpad/tsrc/unit/unit.pro --- a/telutils/dialpad/tsrc/unit/unit.pro Fri May 14 16:24:46 2010 +0300 +++ b/telutils/dialpad/tsrc/unit/unit.pro Thu May 27 13:23:05 2010 +0300 @@ -16,10 +16,11 @@ # TEMPLATE = subdirs -SUBDIRS += ut_dialpadbuttonstyle +SUBDIRS += ut_dialpademergencycalleventfilter SUBDIRS += ut_dialpadbutton SUBDIRS += ut_dialpadmultitaphandler SUBDIRS += ut_dialpadvoicemailboxeventfilter +SUBDIRS += ut_dialpadvideomailboxeventfilter SUBDIRS += ut_dialpadbluetootheventfilter SUBDIRS += ut_dialpadkeysequenceeventfilter SUBDIRS += mt_dialpad diff -r e44a8c097b15 -r 427125ac6cb8 telutils/dialpad/tsrc/unit/ut_dialpadbuttonstyle/ut_dialpadbuttonstyle.cpp --- a/telutils/dialpad/tsrc/unit/ut_dialpadbuttonstyle/ut_dialpadbuttonstyle.cpp Fri May 14 16:24:46 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,114 +0,0 @@ -/*! -* Copyright (c) 2009 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 - -#include -#include -#include -#include -#include -#include -#include -#include - -#include "dialpadtest.h" -#include "dialpadbuttonstyle.h" - -class ut_DialpadButtonStyle : public QObject -{ - Q_OBJECT - -private slots: - void initTestCase(); - void cleanupTestCase(); - - void testPushButtonFrame(); - -private: - DialpadButtonStyle *mStyle; -}; - -void ut_DialpadButtonStyle::initTestCase() -{ - mStyle = new DialpadButtonStyle(); -} - -void ut_DialpadButtonStyle::cleanupTestCase() -{ - delete mStyle; -} - -void ut_DialpadButtonStyle::testPushButtonFrame() -{ - HbFrameItem* item = new HbFrameItem(); - HbStyleOptionPushButton option; - option.backgroundFrameDrawer = 0; - - // Enabled ON - option.state |= QStyle::State_On; - option.state |= QStyle::State_Enabled; - - mStyle->setButtonStyle(DialpadButtonStyle::NormalButtonStyle); - mStyle->updatePrimitive(item,HbStyle::P_PushButton_background,&option); - QVERIFY(item->frameDrawer().frameGraphicsName()=="qtg_fr_input_btn_keypad_pressed"); - - mStyle->setButtonStyle(DialpadButtonStyle::FunctionButtonStyle); - mStyle->updatePrimitive(item,HbStyle::P_PushButton_background,&option); - QVERIFY(item->frameDrawer().frameGraphicsName()=="qtg_fr_input_btn_function_pressed"); - - mStyle->setButtonStyle(DialpadButtonStyle::CallButtonStyle); - mStyle->updatePrimitive(item,HbStyle::P_PushButton_background,&option); - QVERIFY(item->frameDrawer().frameGraphicsName()=="qtg_fr_btn_green_pressed"); - - // Enabled OFF - option.state &= ~QStyle::State_On; - option.state |= QStyle::State_Off; - - mStyle->setButtonStyle(DialpadButtonStyle::NormalButtonStyle); - mStyle->updatePrimitive(item,HbStyle::P_PushButton_background,&option); - QVERIFY(item->frameDrawer().frameGraphicsName()=="qtg_fr_input_btn_keypad_normal"); - - mStyle->setButtonStyle(DialpadButtonStyle::FunctionButtonStyle); - mStyle->updatePrimitive(item,HbStyle::P_PushButton_background,&option); - QVERIFY(item->frameDrawer().frameGraphicsName()=="qtg_fr_input_btn_function_normal"); - - mStyle->setButtonStyle(DialpadButtonStyle::CallButtonStyle); - mStyle->updatePrimitive(item,HbStyle::P_PushButton_background,&option); - QVERIFY(item->frameDrawer().frameGraphicsName()=="qtg_fr_btn_green_normal"); - - // Disabled - option.state &= ~QStyle::State_Enabled; - mStyle->updatePrimitive(item,HbStyle::P_PushButton_background,&option); - QVERIFY(item->frameDrawer().frameGraphicsName()=="qtg_fr_input_btn_function_disabled"); - - // Selected - option.state |= QStyle::State_Selected; - mStyle->updatePrimitive(item,HbStyle::P_PushButton_background,&option); - QVERIFY(item->frameDrawer().frameGraphicsName()=="qtg_fr_btn_highlight"); - - delete item; - - // exception type - HbIconItem* item2 = new HbIconItem(); - mStyle->updatePrimitive(item2,HbStyle::P_PushButton_background,&option); - delete item2; -} - -DIALPAD_TEST_MAIN(ut_DialpadButtonStyle) -#include "ut_dialpadbuttonstyle.moc" diff -r e44a8c097b15 -r 427125ac6cb8 telutils/dialpad/tsrc/unit/ut_dialpadbuttonstyle/ut_dialpadbuttonstyle.pro --- a/telutils/dialpad/tsrc/unit/ut_dialpadbuttonstyle/ut_dialpadbuttonstyle.pro Fri May 14 16:24:46 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,32 +0,0 @@ -# -# Copyright (c) 2009 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: -# -# - -TEMPLATE = app -TARGET = -DEPENDPATH += . ../../../src -INCLUDEPATH += . ../../../inc ../shared -CONFIG += hb qtestlib - -symbian { - INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE -} else:win32 { - DESTDIR = ./ -} - -SOURCES += ut_dialpadbuttonstyle.cpp \ - ../../../src/dialpadbuttonstyle.cpp - diff -r e44a8c097b15 -r 427125ac6cb8 telutils/dialpad/tsrc/unit/ut_dialpademergencycalleventfilter/ut_dialpademergencycalleventfilter.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/telutils/dialpad/tsrc/unit/ut_dialpademergencycalleventfilter/ut_dialpademergencycalleventfilter.cpp Thu May 27 13:23:05 2010 +0300 @@ -0,0 +1,200 @@ +/*! +* 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 + +#include +#include +#include +#include +#include +#include +#include + +#ifdef Q_OS_SYMBIAN +#include "xqservicerequest.h" +#endif + +#include "dialpadtest.h" +#include "dialpademergencycalleventfilter.h" +#include "dialpad.h" + +const int WAIT_TIME = 300; +QString mService; +QString mMessage; +bool mXQServiceConstructed; +bool mSendCalled; + +#ifdef Q_OS_SYMBIAN +XQServiceRequest::XQServiceRequest(const QString& service, const QString& message, const bool& synchronous) { mService=service; mMessage=message; mXQServiceConstructed=true; } +XQServiceRequest::~XQServiceRequest() {} +bool XQServiceRequest::send(QVariant& retValue) { mSendCalled=true; return true; } +void XQServiceRequest::addArg(const QVariant& v) {} +#endif + +// test cases +class ut_DialpadEmergencyCallEventFilter : public QObject +{ + Q_OBJECT + +private slots: + void initTestCase(); + void init(); + void cleanupTestCase(); + void cleanup(); + + // These are actual emergency call event filter unit tests + void testEmergencyCallEventFilter(); + +private: + QGraphicsWidget* getWidgetByName(const QString& name); + void mouseClickDialpad(int key, bool pause=true); + +private: + HbMainWindow* mMainWindow; + Dialpad* mDialpad; + DialpadEmergencyCallEventFilter *mEventFilter; + QMap mKeyNames; +}; + +void ut_DialpadEmergencyCallEventFilter::initTestCase() +{ + mMainWindow = new HbMainWindow; + + mDialpad = new Dialpad(); + mEventFilter = new DialpadEmergencyCallEventFilter(mDialpad, this); + //hbInstance->allMainWindows().at(0)->installEventFilter(mEventFilter); + mMainWindow->installEventFilter(mEventFilter); + + QRectF rect(mMainWindow->contentsRect()); + rect.setHeight(rect.height()*0.7); + rect.moveTop((mMainWindow->contentsRect().height()-rect.height())/2); + + mDialpad->setPreferredSize(mMainWindow->layoutRect().width(), + mMainWindow->layoutRect().height()/2); + mDialpad->setPos(0,mMainWindow->layoutRect().height()/4); + + mKeyNames.insert(Qt::Key_1,"49"); + mKeyNames.insert(Qt::Key_2,"50"); + mKeyNames.insert(Qt::Key_3,"51"); + mKeyNames.insert(Qt::Key_4,"52"); + mKeyNames.insert(Qt::Key_5,"53"); + mKeyNames.insert(Qt::Key_6,"54"); + mKeyNames.insert(Qt::Key_7,"55"); + mKeyNames.insert(Qt::Key_8,"56"); + mKeyNames.insert(Qt::Key_9,"57"); + mKeyNames.insert(Qt::Key_Asterisk,"42"); + mKeyNames.insert(Qt::Key_0,"48"); + mKeyNames.insert(Qt::Key_NumberSign,"35"); + mKeyNames.insert(Qt::Key_Backspace,"16777219"); + mKeyNames.insert(Qt::Key_Yes,"16842753"); + + mMainWindow->show(); + mDialpad->show(); + mDialpad->hide(); +} + +void ut_DialpadEmergencyCallEventFilter::init() +{ + mService = QString(""); + mMessage = QString(""); + mXQServiceConstructed = false; + mSendCalled = false; +} + +void ut_DialpadEmergencyCallEventFilter::cleanupTestCase() +{ + delete mDialpad; + delete mMainWindow; +} + +void ut_DialpadEmergencyCallEventFilter::cleanup() +{ + mDialpad->editor().setText(QString()); + QTest::qWait( WAIT_TIME ); // delay between tests +} + +QGraphicsWidget* ut_DialpadEmergencyCallEventFilter::getWidgetByName(const QString& name) +{ + Q_ASSERT(mMainWindow!=0); + + QGraphicsWidget* widget = 0; + + QList items = mMainWindow->scene()->items(); + foreach (QGraphicsItem* item, items) { + if (item->isWidget()) { + QGraphicsWidget *w = static_cast(item); + if (w->objectName()==name) { + widget = w; + } + } + } + + return widget; +} + +void ut_DialpadEmergencyCallEventFilter::mouseClickDialpad(int key, bool pause) +{ + QString name = mKeyNames.value(key); + + QGraphicsWidget* widget = getWidgetByName(name); + + if ( widget ) { + QPointF widgetPos = widget->scenePos() + + widget->rect().center(); + + QPoint windowPos = mMainWindow->mapFromScene( widgetPos ); + + QTest::mouseClick( mMainWindow->viewport(), Qt::LeftButton, + 0, windowPos ); + + if (pause) { + QTest::qWait( WAIT_TIME ); + } + } else { + QFAIL( "Button could not be accessed!" ); + } +} + + +void ut_DialpadEmergencyCallEventFilter::testEmergencyCallEventFilter() +{ + mDialpad->openDialpad(); + QTest::qWait(WAIT_TIME); + mouseClickDialpad(Qt::Key_1); + QTest::qWait(1000); + mouseClickDialpad(Qt::Key_1); + QTest::qWait(1000); + mouseClickDialpad(Qt::Key_2); + QTest::qWait(1000); + mouseClickDialpad(Qt::Key_Yes); + QTest::qWait(1000); + + mDialpad->closeDialpad(); + +#ifdef Q_OS_SYMBIAN + QVERIFY(mXQServiceConstructed == true); + QVERIFY(mSendCalled == true); + QCOMPARE(mService, QString("com.nokia.symbian.ICallDial")); + QCOMPARE(mMessage, QString("dial(QString)")); +#endif +} + +DIALPAD_TEST_MAIN(ut_DialpadEmergencyCallEventFilter) +#include "ut_dialpademergencycalleventfilter.moc" + diff -r e44a8c097b15 -r 427125ac6cb8 telutils/dialpad/tsrc/unit/ut_dialpademergencycalleventfilter/ut_dialpademergencycalleventfilter.pro --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/telutils/dialpad/tsrc/unit/ut_dialpademergencycalleventfilter/ut_dialpademergencycalleventfilter.pro Thu May 27 13:23:05 2010 +0300 @@ -0,0 +1,40 @@ +# +# 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: +# +# + +TEMPLATE = app +TARGET = +INCLUDEPATH += . ../../../inc ../../../../../inc ../shared + +CONFIG += hb qtestlib + +symbian { + INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE + LIBS += -lphoneclient +} else:win32 { + DESTDIR = ./ + INCLUDEPATH += ../../../../../phonesrv_plat/dialpad_api/inc + INCLUDEPATH += ../../../../xqtelephonyservice/inc +} + +#ß +HEADERS += ../../../inc/dialpademergencycalleventfilter.h +HEADERS += xqservicerequest.h +SOURCES += ut_dialpademergencycalleventfilter.cpp +SOURCES += ../../../src/dialpademergencycalleventfilter.cpp + +# +LIBS += -ldialpad diff -r e44a8c097b15 -r 427125ac6cb8 telutils/dialpad/tsrc/unit/ut_dialpademergencycalleventfilter/xqservicerequest.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/telutils/dialpad/tsrc/unit/ut_dialpademergencycalleventfilter/xqservicerequest.h Thu May 27 13:23:05 2010 +0300 @@ -0,0 +1,32 @@ +/* +* 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: +* +*/ + +class XQServiceRequest : public QObject +{ +public: + XQServiceRequest(const QString& service, const QString& message, const bool& synchronous); + ~XQServiceRequest(); + bool send(QVariant& retValue); + void addArg(const QVariant& v); + template + inline XQServiceRequest &operator<< (const T &var) + { + QVariant v = qVariantFromValue(var); + addArg(v); + return *this; + } +}; diff -r e44a8c097b15 -r 427125ac6cb8 telutils/dialpad/tsrc/unit/ut_dialpadvideomailboxeventfilter/ut_dialpadvideomailboxeventfilter.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/telutils/dialpad/tsrc/unit/ut_dialpadvideomailboxeventfilter/ut_dialpadvideomailboxeventfilter.cpp Thu May 27 13:23:05 2010 +0300 @@ -0,0 +1,277 @@ +/*! +* 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 + +#include +#include +#include +#include +#include +#include +#include + +#ifdef Q_OS_SYMBIAN +#include "xqservicerequest.h" +#endif + +#include "dialpadtest.h" +#include "dialpadvideomailboxeventfilter.h" +#include "dialpad.h" +#include "dialpadsymbianwrapper.h" + +const int WAIT_TIME = 300; +QString mService; +QString mMessage; +bool mXQServiceConstructed; +bool mSendCalled; + +DialpadSymbianWrapper::DialpadSymbianWrapper(QObject *parent) : d_ptr(NULL) {} +DialpadSymbianWrapper::~DialpadSymbianWrapper() {} +int DialpadSymbianWrapper::getVideoMailboxNumber(QString &vmbxNumber) { vmbxNumber=QString("12345678"); return 0; } +int DialpadSymbianWrapper::defineMailboxNumber(QString &vmbxNumber) { return 0; } + +#ifdef Q_OS_SYMBIAN +XQServiceRequest::XQServiceRequest(const QString& service, const QString& message, const bool& synchronous) { mService=service; mMessage=message; mXQServiceConstructed=true; } +XQServiceRequest::~XQServiceRequest() {} +bool XQServiceRequest::send(QVariant& retValue) { mSendCalled=true; return true; } +void XQServiceRequest::addArg(const QVariant& v) {} +#endif + +// helper class +class KeyEventCatcher : public QObject +{ +public: + bool eventFilter(QObject* watched, QEvent * event) + { + Q_UNUSED(watched); + + if (event->type() == QEvent::KeyPress) { + QKeyEvent *keyEvent = static_cast(event); + mKeyPresses.append(keyEvent->key()); + return false; + } else if (event->type() == QEvent::KeyRelease) { + QKeyEvent *keyEvent = static_cast(event); + mKeyReleases.append(keyEvent->key()); + return false; + } + return false; + } + +public: + QList mKeyPresses; + QList mKeyReleases; +}; + +// test cases +class ut_DialpadVideoMailboxEventFilter : public QObject +{ + Q_OBJECT + +public: + enum MouseEventType + { + Press, + Release, + Click + }; + +private slots: + void initTestCase(); + void init(); + void cleanupTestCase(); + void cleanup(); + + // These are actual voice mailbox event filter unit tests + void testNumericKeyTwoLongPress(); + void testNumericKeyTwoShortPress(); + void testNumericKeyTwoShortThenLongPress(); + +private: + QGraphicsWidget* getWidgetByName(const QString& name); + void mouseClickDialpad(int key, MouseEventType type=Click, + bool pause=true); + +private: + HbMainWindow* mMainWindow; + Dialpad* mDialpad; + DialpadVideoMailboxEventFilter *mEventFilter; + KeyEventCatcher* mKeyCatcher; + QMap mKeyNames; +}; + +void ut_DialpadVideoMailboxEventFilter::initTestCase() +{ + mMainWindow = new HbMainWindow; + + mKeyCatcher = new KeyEventCatcher; + mMainWindow->installEventFilter(mKeyCatcher); + + mDialpad = new Dialpad(); + mEventFilter = new DialpadVideoMailboxEventFilter(mDialpad, this); + hbInstance->allMainWindows().at(0)->installEventFilter(mEventFilter); + + QRectF rect(mMainWindow->contentsRect()); + rect.setHeight(rect.height()*0.7); + rect.moveTop((mMainWindow->contentsRect().height()-rect.height())/2); + + mDialpad->setPreferredSize(360,400); + mDialpad->setPos(0,100); + + mKeyNames.insert(Qt::Key_1,"49"); + mKeyNames.insert(Qt::Key_2,"50"); + mKeyNames.insert(Qt::Key_3,"51"); + mKeyNames.insert(Qt::Key_4,"52"); + mKeyNames.insert(Qt::Key_5,"53"); + mKeyNames.insert(Qt::Key_6,"54"); + mKeyNames.insert(Qt::Key_7,"55"); + mKeyNames.insert(Qt::Key_8,"56"); + mKeyNames.insert(Qt::Key_9,"57"); + mKeyNames.insert(Qt::Key_Asterisk,"42"); + mKeyNames.insert(Qt::Key_0,"48"); + mKeyNames.insert(Qt::Key_NumberSign,"35"); + mKeyNames.insert(Qt::Key_Backspace,"16777219"); + mKeyNames.insert(Qt::Key_Yes,"16842753"); + + mMainWindow->show(); + mDialpad->show(); + mDialpad->hide(); +} + +void ut_DialpadVideoMailboxEventFilter::init() +{ + mService = QString(""); + mMessage = QString(""); + mXQServiceConstructed = false; + mSendCalled = false; +} + +void ut_DialpadVideoMailboxEventFilter::cleanupTestCase() +{ + delete mDialpad; + delete mMainWindow; + delete mKeyCatcher; +} + +void ut_DialpadVideoMailboxEventFilter::cleanup() +{ + mKeyCatcher->mKeyPresses.clear(); + mKeyCatcher->mKeyReleases.clear(); + mDialpad->editor().setText(QString()); + QTest::qWait( WAIT_TIME ); // delay between tests +} + +QGraphicsWidget* ut_DialpadVideoMailboxEventFilter::getWidgetByName(const QString& name) +{ + Q_ASSERT(mMainWindow!=0); + + QGraphicsWidget* widget = 0; + + QList items = mMainWindow->scene()->items(); + foreach (QGraphicsItem* item, items) { + if (item->isWidget()) { + QGraphicsWidget *w = static_cast(item); + if (w->objectName()==name) { + widget = w; + } + } + } + + return widget; +} + +void ut_DialpadVideoMailboxEventFilter::mouseClickDialpad(int key, MouseEventType type, bool pause) +{ + QString name = mKeyNames.value(key); + + QGraphicsWidget* widget = getWidgetByName(name); + + if ( widget ) { + QPointF widgetPos = widget->scenePos() + + widget->rect().center(); + + QPoint windowPos = mMainWindow->mapFromScene( widgetPos ); + + if (type==Press) { + QTest::mousePress( mMainWindow->viewport(), Qt::LeftButton, + 0, windowPos ); + } else if (type==Release) { + QTest::mouseRelease( mMainWindow->viewport(), Qt::LeftButton, + 0, windowPos ); + } else { + QTest::mouseClick( mMainWindow->viewport(), Qt::LeftButton, + 0, windowPos ); + } + + if (pause) { + QTest::qWait( WAIT_TIME ); + } + } else { + QFAIL( "Button could not be accessed!" ); + } +} + + +void ut_DialpadVideoMailboxEventFilter::testNumericKeyTwoLongPress() +{ + mDialpad->openDialpad(); + QTest::qWait(WAIT_TIME); + mouseClickDialpad(Qt::Key_2, Press); + QTest::qWait(2000); + mouseClickDialpad(Qt::Key_2, Release); + QTest::qWait(1000); + QCOMPARE(mDialpad->editor().text(), QString("")); + mDialpad->closeDialpad(); + +#ifdef Q_OS_SYMBIAN + QVERIFY(mXQServiceConstructed == true); + QVERIFY(mSendCalled == true); + QCOMPARE(mService, QString("com.nokia.symbian.ICallDial")); + QCOMPARE(mMessage, QString("dialVideo(QString)")); +#endif +} + +void ut_DialpadVideoMailboxEventFilter::testNumericKeyTwoShortPress() +{ + mDialpad->openDialpad(); + QTest::qWait(WAIT_TIME); + mouseClickDialpad(Qt::Key_2, Press); + QTest::qWait(200); + mouseClickDialpad(Qt::Key_2, Release); + QTest::qWait(1000); + // Check that character '1' is in editor. + QCOMPARE(mDialpad->editor().text(), QString("2")); +} + +void ut_DialpadVideoMailboxEventFilter::testNumericKeyTwoShortThenLongPress() +{ + // Then one short and one long press + mDialpad->openDialpad(); + QTest::qWait( WAIT_TIME ); + mouseClickDialpad(Qt::Key_2, Press); + mouseClickDialpad(Qt::Key_2, Release); + mouseClickDialpad(Qt::Key_2, Press); + QTest::qWait(2000); + mouseClickDialpad(Qt::Key_2, Release); + QTest::qWait(1000); + QVERIFY(mDialpad->editor().text()=="22"); + mDialpad->closeDialpad(); +} + +DIALPAD_TEST_MAIN(ut_DialpadVideoMailboxEventFilter) +#include "ut_dialpadvideomailboxeventfilter.moc" diff -r e44a8c097b15 -r 427125ac6cb8 telutils/dialpad/tsrc/unit/ut_dialpadvideomailboxeventfilter/ut_dialpadvideomailboxeventfilter.pro --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/telutils/dialpad/tsrc/unit/ut_dialpadvideomailboxeventfilter/ut_dialpadvideomailboxeventfilter.pro Thu May 27 13:23:05 2010 +0300 @@ -0,0 +1,42 @@ +# +# 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: +# +# + +TEMPLATE = app +TARGET = +INCLUDEPATH += . ../../../inc ../../../../../inc ../shared + +CONFIG += hb qtestlib + +symbian { + INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE +} else:win32 { + DESTDIR = ./ + INCLUDEPATH += ../../../../../phonesrv_plat/dialpad_api/inc + INCLUDEPATH += ../../../../xqtelephonyservice/inc +} + +# +HEADERS += ../../../inc/dialpadvideomailboxeventfilter.h +HEADERS += ../../../inc/dialpadmailboxeventfilterbase.h +HEADERS += ../../../inc/dialpadsymbianwrapper.h +HEADERS += xqservicerequest.h +SOURCES += ut_dialpadvideomailboxeventfilter.cpp +SOURCES += ../../../src/dialpadvideomailboxeventfilter.cpp +SOURCES += ../../../src/dialpadmailboxeventfilterbase.cpp + +# +LIBS += -ldialpad diff -r e44a8c097b15 -r 427125ac6cb8 telutils/dialpad/tsrc/unit/ut_dialpadvideomailboxeventfilter/xqservicerequest.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/telutils/dialpad/tsrc/unit/ut_dialpadvideomailboxeventfilter/xqservicerequest.h Thu May 27 13:23:05 2010 +0300 @@ -0,0 +1,32 @@ +/* +* 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: +* +*/ + +class XQServiceRequest : public QObject +{ +public: + XQServiceRequest(const QString& service, const QString& message, const bool& synchronous); + ~XQServiceRequest(); + bool send(QVariant& retValue); + void addArg(const QVariant& v); + template + inline XQServiceRequest &operator<< (const T &var) + { + QVariant v = qVariantFromValue(var); + addArg(v); + return *this; + } +}; diff -r e44a8c097b15 -r 427125ac6cb8 telutils/dialpad/tsrc/unit/ut_dialpadvoicemailboxeventfilter/ut_dialpadvoicemailboxeventfilter.cpp --- a/telutils/dialpad/tsrc/unit/ut_dialpadvoicemailboxeventfilter/ut_dialpadvoicemailboxeventfilter.cpp Fri May 14 16:24:46 2010 +0300 +++ b/telutils/dialpad/tsrc/unit/ut_dialpadvoicemailboxeventfilter/ut_dialpadvoicemailboxeventfilter.cpp Thu May 27 13:23:05 2010 +0300 @@ -251,7 +251,9 @@ mDialpad->openDialpad(); QTest::qWait(WAIT_TIME); mouseClickDialpad(Qt::Key_1, Press); + QTest::qWait(200); mouseClickDialpad(Qt::Key_1, Release); + QTest::qWait(1000); // Check that character '1' is in editor. QCOMPARE(mDialpad->editor().text(), QString("1")); } diff -r e44a8c097b15 -r 427125ac6cb8 telutils/dialpad/tsrc/unit/ut_dialpadvoicemailboxeventfilter/ut_dialpadvoicemailboxeventfilter.pro --- a/telutils/dialpad/tsrc/unit/ut_dialpadvoicemailboxeventfilter/ut_dialpadvoicemailboxeventfilter.pro Fri May 14 16:24:46 2010 +0300 +++ b/telutils/dialpad/tsrc/unit/ut_dialpadvoicemailboxeventfilter/ut_dialpadvoicemailboxeventfilter.pro Thu May 27 13:23:05 2010 +0300 @@ -31,10 +31,12 @@ # HEADERS += ../../../inc/dialpadvoicemailboxeventfilter.h +HEADERS += ../../../inc/dialpadmailboxeventfilterbase.h HEADERS += ../../../inc/dialpadsymbianwrapper.h HEADERS += xqservicerequest.h SOURCES += ut_dialpadvoicemailboxeventfilter.cpp SOURCES += ../../../src/dialpadvoicemailboxeventfilter.cpp +SOURCES += ../../../src/dialpadmailboxeventfilterbase.cpp # LIBS += -ldialpad diff -r e44a8c097b15 -r 427125ac6cb8 vmbx/vmbxcpplugin/src/vmbxcpgroup.cpp --- a/vmbx/vmbxcpplugin/src/vmbxcpgroup.cpp Fri May 14 16:24:46 2010 +0300 +++ b/vmbx/vmbxcpplugin/src/vmbxcpgroup.cpp Thu May 27 13:23:05 2010 +0300 @@ -44,7 +44,7 @@ mCsVoice1Editor(NULL), mCsVideo1Editor(NULL) { - _DBGLOG2("VmbxCpGroup::VmbxCpGroup label=",label) + _DBGLOG("VmbxCpGroup::VmbxCpGroup") // Localization file loading QTranslator translator; QString lang = QLocale::system().name(); diff -r e44a8c097b15 -r 427125ac6cb8 vmbx/vmbxcpplugin/tsrc/src/ut_vmbxcpplugin.cpp --- a/vmbx/vmbxcpplugin/tsrc/src/ut_vmbxcpplugin.cpp Fri May 14 16:24:46 2010 +0300 +++ b/vmbx/vmbxcpplugin/tsrc/src/ut_vmbxcpplugin.cpp Thu May 27 13:23:05 2010 +0300 @@ -45,6 +45,12 @@ void Ut_vmbxCpPlugin::testCreateVmbxCpGroup() { CpItemDataHelper itemDataHelper; +<<<<<<< e:\ec_temp\ut_vmbxcpplugin-e003sa18#2.cpp + VmbxCpGroup *group = new VmbxCpGroup(itemDataHelper); + QVERIFY(group); + delete group; + group = NULL; +======= VmbxCpGroup *group = new VmbxCpGroup(itemDataHelper); QVERIFY(group); delete group; @@ -54,5 +60,6 @@ QVERIFY(group); delete group; group = NULL; +>>>>>>> e:\ec_temp\ut_vmbxcpplugin-2.cpp } //End of file