# HG changeset patch # User Dremov Kirill (Nokia-D-MSW/Tampere) # Date 1278414947 -10800 # Node ID bc5a64e5bc3c507ef7f5c5855a784d709aa02bb5 # Parent 6b911d05207e6b1eed049d22f5f060e36e6b9a4e Revision: 201025 Kit: 2010127 diff -r 6b911d05207e -r bc5a64e5bc3c phone.pro --- a/phone.pro Wed Jun 23 18:12:20 2010 +0300 +++ b/phone.pro Tue Jul 06 14:15:47 2010 +0300 @@ -31,7 +31,7 @@ SUBDIRS += phoneapp/phonestringloader SUBDIRS += phoneapp/phoneui2 SUBDIRS += phonesettings/cpphonesettingsplugins -SUBDIRS += phoneplugins/hsdialerwidgetplugin +SUBDIRS += phoneplugins/dialerwidgetplugin SUBDIRS += phoneplugins/infowidgetplugin } \ No newline at end of file diff -r 6b911d05207e -r bc5a64e5bc3c phone_plat/phone_application_commands_api/inc/xqphoneappcommands.h --- a/phone_plat/phone_application_commands_api/inc/xqphoneappcommands.h Wed Jun 23 18:12:20 2010 +0300 +++ b/phone_plat/phone_application_commands_api/inc/xqphoneappcommands.h Tue Jul 06 14:15:47 2010 +0300 @@ -58,6 +58,8 @@ PhoneInCallCmdActivateIhf, PhoneInCallCmdDeactivateIhf, PhoneInCallCmdOpenContacts, + PhoneInCallCmdBtHandsfree, + PhoneInCallCmdHandset, PhoneButtonCmdLast }; diff -r 6b911d05207e -r bc5a64e5bc3c phoneapp/phoneui2/inc/phoneuihousehold_p.h --- a/phoneapp/phoneui2/inc/phoneuihousehold_p.h Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneapp/phoneui2/inc/phoneuihousehold_p.h Tue Jul 06 14:15:47 2010 +0300 @@ -30,6 +30,7 @@ class PhoneUiCommandAdapter; class QtCall; class PhoneUIQtViewAdapter; +class HbTranslator; class PhoneUiHouseHoldPrivate : private MPhonePubSubObserver @@ -113,7 +114,7 @@ PhoneUIQtViewAdapter* iViewAdapter; //List for translators - QList m_translators; + QList m_translators; }; diff -r 6b911d05207e -r bc5a64e5bc3c phoneapp/phoneui2/phoneui2.pro --- a/phoneapp/phoneui2/phoneui2.pro Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneapp/phoneui2/phoneui2.pro Tue Jul 06 14:15:47 2010 +0300 @@ -69,3 +69,6 @@ ./src/phoneuihousehold.cpp \ ./src/phoneuihousehold_p.cpp +CONFIG += service +SERVICE.FILE = service_conf.xml + diff -r 6b911d05207e -r bc5a64e5bc3c phoneapp/phoneui2/rom/phoneui.iby --- a/phoneapp/phoneui2/rom/phoneui.iby Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneapp/phoneui2/rom/phoneui.iby Tue Jul 06 14:15:47 2010 +0300 @@ -26,13 +26,6 @@ REM PhoneUI S60_APP_EXE(phoneui) UPGRADABLE_APP_REG_RSC(phoneui) -S60_APP_AIF_RSC(phoneui) -//S60_APP_BITMAP(phoneui) -//S60_APP_AIF_ICONS(phoneui) - -//#if defined (FF_TOUCH_CALL_HANDLING) || defined ( __ON_SCREEN_DIALER ) -//SCALABLE_IMAGE(APP_BITMAP_DIR,APP_BITMAP_DIR,PhoneUI) -//#endif // FF_TOUCH_CALL_HANDLING || __ON_SCREEN_DIALER file=ABI_DIR\BUILD_DIR\phoneuicontrol.dll SHARED_LIB_DIR\phoneuicontrol.dll file=ABI_DIR\BUILD_DIR\phoneuiutils.dll SHARED_LIB_DIR\phoneuiutils.dll @@ -54,3 +47,4 @@ data=ZSYSTEM\install\phonemediatorcenter_stub.sis System\Install\phonemediatorcenter_stub.sis #endif + diff -r 6b911d05207e -r bc5a64e5bc3c phoneapp/phoneui2/service_conf.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phoneapp/phoneui2/service_conf.xml Tue Jul 06 14:15:47 2010 +0300 @@ -0,0 +1,31 @@ + + + phoneui + Phone services + No path + + com.nokia.symbian.ICallDial + Dial interface + 1.0 + + + + com.nokia.symbian.IDtmfPlay + DTMF interface + 1.0 + + + + com.nokia.symbian.IStart + Bring Telephone UI to foreground + 1.0 + + + + com.nokia.symbian.IUriView + 1.0 + Interface for handling tel and cti URIs + tel, cti + + + diff -r 6b911d05207e -r bc5a64e5bc3c phoneapp/phoneui2/src/phoneuihousehold_p.cpp --- a/phoneapp/phoneui2/src/phoneuihousehold_p.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneapp/phoneui2/src/phoneuihousehold_p.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -19,7 +19,7 @@ #include #include #include -#include +#include #include #include #include @@ -54,8 +54,7 @@ PhoneUiHouseHoldPrivate::~PhoneUiHouseHoldPrivate() { while (!m_translators.isEmpty()) { - QTranslator *translator = m_translators.takeFirst(); - qApp->removeTranslator(translator); + HbTranslator *translator = m_translators.takeFirst(); delete translator; translator = 0; } @@ -177,40 +176,24 @@ new( ELeave ) CPhoneLogger( KUidPhoneUILoggerSingleton ); FeatureManager::InitializeLibL(); - QString locale = QLocale::system ().name (); - QTranslator *translator = new QTranslator; - QString path = QString("z:\\resource\\qt\\translations\\"); + HbTranslator *translator = new HbTranslator(QString("telephone")); - bool translatorLoaded = translator->load(QString(path + "telephone_" + locale)); - PHONE_DEBUG2("PhoneUiHouseHoldPrivate::ConstructL() translator.load:", translatorLoaded); - if (translatorLoaded) { - qApp->installTranslator(translator); + if (translator) { + translator->loadCommon(); m_translators.append(translator); - }else { - delete translator; - translator = 0; - } + } else { + delete translator; + translator = 0; +} - QTranslator *translator2 = new QTranslator; - translatorLoaded = translator2->load(path + "telephone_cp_" + locale); - if (translatorLoaded) { - qApp->installTranslator(translator2); + HbTranslator *translator2 = new HbTranslator(QString("telephone_cp")); + if (translator2) { m_translators.append(translator2); } else { delete translator2; translator2 = 0; } - QTranslator *translator3 = new QTranslator; - translatorLoaded = translator3->load(path + "common_" + locale); - if (translatorLoaded) { - qApp->installTranslator(translator3); - m_translators.append(translator3); - } else { - delete translator3; - translator3 = 0; - } - PhoneUIQtView *view = new PhoneUIQtView(m_window); iViewAdapter = new PhoneUIQtViewAdapter(*view); iPhoneUIController = CPhoneUIController::NewL(iViewAdapter); diff -r 6b911d05207e -r bc5a64e5bc3c phoneapp/phoneui2/src/phoneuikeyeventadapter.cpp --- a/phoneapp/phoneui2/src/phoneuikeyeventadapter.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneapp/phoneui2/src/phoneuikeyeventadapter.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -17,7 +17,7 @@ */ #include // must be before e32base.h so uncaught_exception gets defined -#include +#include #include "phoneuikeyeventadapter.h" #include "phoneconstants.h" diff -r 6b911d05207e -r bc5a64e5bc3c phoneapp/phoneuicontrol/eabi/phoneuicontrolu.def --- a/phoneapp/phoneuicontrol/eabi/phoneuicontrolu.def Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneapp/phoneuicontrol/eabi/phoneuicontrolu.def Tue Jul 06 14:15:47 2010 +0300 @@ -265,206 +265,204 @@ _ZTI20CPhoneReconnectQuery @ 264 NONAME _ZTI20CPhoneStateCallSetup @ 265 NONAME _ZTI23CPhoneDtmfWaitCharTimer @ 266 NONAME - _ZTI23CPhoneKeyEventForwarder @ 267 NONAME - _ZTI24CPhoneSystemEventHandler @ 268 NONAME - _ZTI26CPhoneRemoteControlHandler @ 269 NONAME - _ZTI27CPhoneBtaaDisconnectHandler @ 270 NONAME - _ZTV11CPhoneState @ 271 NONAME - _ZTV15CPhoneStateIdle @ 272 NONAME - _ZTV17CPhoneStateHandle @ 273 NONAME - _ZTV17CPhoneStateInCall @ 274 NONAME - _ZTV18CPhoneStateMachine @ 275 NONAME - _ZTV18CPhoneStateStartup @ 276 NONAME - _ZTV18CPhoneUIController @ 277 NONAME - _ZTV19CPhoneStateIncoming @ 278 NONAME - _ZTV20CPhoneReconnectQuery @ 279 NONAME - _ZTV20CPhoneStateCallSetup @ 280 NONAME - _ZTV23CPhoneDtmfWaitCharTimer @ 281 NONAME - _ZTV23CPhoneKeyEventForwarder @ 282 NONAME - _ZTV24CPhoneSystemEventHandler @ 283 NONAME - _ZTV26CPhoneRemoteControlHandler @ 284 NONAME - _ZTV27CPhoneBtaaDisconnectHandler @ 285 NONAME - _ZThn12_N11CPhoneState15DynInitMenuBarLEiP11CEikMenuBar @ 286 NONAME - _ZThn12_N11CPhoneState16DynInitMenuPaneLEiP12CEikMenuPane @ 287 NONAME - _ZThn12_N11CPhoneState18HandleSystemEventLERK8TWsEvent @ 288 NONAME - _ZThn12_N11CPhoneState19HandleCenRepChangeLERK4TUidj @ 289 NONAME - _ZThn12_N11CPhoneState19HandlePhoneStartupLEv @ 290 NONAME - _ZThn12_N11CPhoneState20HandleKeyLockEnabledEi @ 291 NONAME - _ZThn12_N11CPhoneState22HandleForegroundEventLEi @ 292 NONAME - _ZThn12_N11CPhoneState22HandlePropertyChangedLERK4TUidji @ 293 NONAME - _ZThn12_N11CPhoneState24HandleEnvironmentChangeLEi @ 294 NONAME - _ZThn12_N11CPhoneState26HandleIdleForegroundEventLEv @ 295 NONAME - _ZThn12_N11CPhoneState26HandlePhoneFocusLostEventLEv @ 296 NONAME - _ZThn12_N11CPhoneState27HandlePhoneForegroundEventLEv @ 297 NONAME - _ZThn12_N11CPhoneStateD0Ev @ 298 NONAME - _ZThn12_N11CPhoneStateD1Ev @ 299 NONAME - _ZThn12_N15CPhoneStateIdle26HandleIdleForegroundEventLEv @ 300 NONAME - _ZThn12_N15CPhoneStateIdle26HandlePhoneFocusLostEventLEv @ 301 NONAME - _ZThn12_N15CPhoneStateIdle27HandlePhoneForegroundEventLEv @ 302 NONAME - _ZThn12_N15CPhoneStateIdleD0Ev @ 303 NONAME - _ZThn12_N15CPhoneStateIdleD1Ev @ 304 NONAME - _ZThn12_N17CPhoneStateInCallD0Ev @ 305 NONAME - _ZThn12_N17CPhoneStateInCallD1Ev @ 306 NONAME - _ZThn12_N18CPhoneStateStartup19HandlePhoneStartupLEv @ 307 NONAME - _ZThn12_N18CPhoneStateStartup26HandleIdleForegroundEventLEv @ 308 NONAME - _ZThn12_N18CPhoneStateStartupD0Ev @ 309 NONAME - _ZThn12_N18CPhoneStateStartupD1Ev @ 310 NONAME - _ZThn12_N18CPhoneUIController15DynInitMenuBarLEiP11CEikMenuBar @ 311 NONAME - _ZThn12_N18CPhoneUIController16DynInitMenuPaneLEiP12CEikMenuPane @ 312 NONAME - _ZThn12_N18CPhoneUIController18HandleSystemEventLERK8TWsEvent @ 313 NONAME - _ZThn12_N18CPhoneUIController19HandlePhoneStartupLEv @ 314 NONAME - _ZThn12_N18CPhoneUIController20HandleKeyLockEnabledEi @ 315 NONAME - _ZThn12_N18CPhoneUIController22HandleForegroundEventLEi @ 316 NONAME - _ZThn12_N18CPhoneUIController24HandleEnvironmentChangeLEi @ 317 NONAME - _ZThn12_N18CPhoneUIController26HandleIdleForegroundEventLEv @ 318 NONAME - _ZThn12_N18CPhoneUIController26HandlePhoneFocusLostEventLEv @ 319 NONAME - _ZThn12_N18CPhoneUIController27HandlePhoneForegroundEventLEv @ 320 NONAME - _ZThn12_N18CPhoneUIControllerD0Ev @ 321 NONAME - _ZThn12_N18CPhoneUIControllerD1Ev @ 322 NONAME - _ZThn12_N19CPhoneStateIncoming16DynInitMenuPaneLEiP12CEikMenuPane @ 323 NONAME - _ZThn12_N19CPhoneStateIncoming20HandleKeyLockEnabledEi @ 324 NONAME - _ZThn12_N19CPhoneStateIncomingD0Ev @ 325 NONAME - _ZThn12_N19CPhoneStateIncomingD1Ev @ 326 NONAME - _ZThn12_N20CPhoneStateCallSetupD0Ev @ 327 NONAME - _ZThn12_N20CPhoneStateCallSetupD1Ev @ 328 NONAME - _ZThn16_N11CPhoneState14HandleCommandLEi @ 329 NONAME - _ZThn16_N11CPhoneState15ProcessCommandLEi @ 330 NONAME - _ZThn16_N11CPhoneStateD0Ev @ 331 NONAME - _ZThn16_N11CPhoneStateD1Ev @ 332 NONAME - _ZThn16_N15CPhoneStateIdle14HandleCommandLEi @ 333 NONAME - _ZThn16_N15CPhoneStateIdle15ProcessCommandLEi @ 334 NONAME - _ZThn16_N15CPhoneStateIdleD0Ev @ 335 NONAME - _ZThn16_N15CPhoneStateIdleD1Ev @ 336 NONAME - _ZThn16_N17CPhoneStateInCall14HandleCommandLEi @ 337 NONAME - _ZThn16_N17CPhoneStateInCallD0Ev @ 338 NONAME - _ZThn16_N17CPhoneStateInCallD1Ev @ 339 NONAME - _ZThn16_N18CPhoneStateStartupD0Ev @ 340 NONAME - _ZThn16_N18CPhoneStateStartupD1Ev @ 341 NONAME - _ZThn16_N18CPhoneUIController14HandleCommandLEi @ 342 NONAME - _ZThn16_N18CPhoneUIController15ProcessCommandLEi @ 343 NONAME - _ZThn16_N18CPhoneUIControllerD0Ev @ 344 NONAME - _ZThn16_N18CPhoneUIControllerD1Ev @ 345 NONAME - _ZThn16_N19CPhoneStateIncoming14HandleCommandLEi @ 346 NONAME - _ZThn16_N19CPhoneStateIncomingD0Ev @ 347 NONAME - _ZThn16_N19CPhoneStateIncomingD1Ev @ 348 NONAME - _ZThn16_N20CPhoneStateCallSetup14HandleCommandLEi @ 349 NONAME - _ZThn16_N20CPhoneStateCallSetupD0Ev @ 350 NONAME - _ZThn16_N20CPhoneStateCallSetupD1Ev @ 351 NONAME - _ZThn20_N11CPhoneState20HandleRemConCommandLE25TRemConCoreApiOperationId26TRemConCoreApiButtonAction @ 352 NONAME - _ZThn20_N11CPhoneStateD0Ev @ 353 NONAME - _ZThn20_N11CPhoneStateD1Ev @ 354 NONAME - _ZThn20_N15CPhoneStateIdle20HandleRemConCommandLE25TRemConCoreApiOperationId26TRemConCoreApiButtonAction @ 355 NONAME - _ZThn20_N15CPhoneStateIdleD0Ev @ 356 NONAME - _ZThn20_N15CPhoneStateIdleD1Ev @ 357 NONAME - _ZThn20_N17CPhoneStateInCallD0Ev @ 358 NONAME - _ZThn20_N17CPhoneStateInCallD1Ev @ 359 NONAME - _ZThn20_N18CPhoneStateStartupD0Ev @ 360 NONAME - _ZThn20_N18CPhoneStateStartupD1Ev @ 361 NONAME - _ZThn20_N19CPhoneStateIncomingD0Ev @ 362 NONAME - _ZThn20_N19CPhoneStateIncomingD1Ev @ 363 NONAME - _ZThn20_N20CPhoneStateCallSetupD0Ev @ 364 NONAME - _ZThn20_N20CPhoneStateCallSetupD1Ev @ 365 NONAME - _ZThn24_N11CPhoneState19SetDivertIndicationEi @ 366 NONAME - _ZThn24_N11CPhoneStateD0Ev @ 367 NONAME - _ZThn24_N11CPhoneStateD1Ev @ 368 NONAME - _ZThn24_N15CPhoneStateIdleD0Ev @ 369 NONAME - _ZThn24_N15CPhoneStateIdleD1Ev @ 370 NONAME - _ZThn24_N17CPhoneStateInCallD0Ev @ 371 NONAME - _ZThn24_N17CPhoneStateInCallD1Ev @ 372 NONAME - _ZThn24_N18CPhoneStateStartupD0Ev @ 373 NONAME - _ZThn24_N18CPhoneStateStartupD1Ev @ 374 NONAME - _ZThn24_N19CPhoneStateIncomingD0Ev @ 375 NONAME - _ZThn24_N19CPhoneStateIncomingD1Ev @ 376 NONAME - _ZThn24_N20CPhoneStateCallSetupD0Ev @ 377 NONAME - _ZThn24_N20CPhoneStateCallSetupD1Ev @ 378 NONAME - _ZThn28_NK11CPhoneState17GetBlockedKeyListEv @ 379 NONAME - _ZThn32_N11CPhoneState25HandleNumberEntryClearedLEv @ 380 NONAME - _ZThn32_N15CPhoneStateIdle25HandleNumberEntryClearedLEv @ 381 NONAME - _ZThn32_N17CPhoneStateInCall25HandleNumberEntryClearedLEv @ 382 NONAME - _ZThn32_N19CPhoneStateIncoming25HandleNumberEntryClearedLEv @ 383 NONAME - _ZThn32_N20CPhoneStateCallSetup25HandleNumberEntryClearedLEv @ 384 NONAME - _ZThn36_N11CPhoneState23HandleNumberEntryEditedEv @ 385 NONAME - _ZThn36_N11CPhoneStateD0Ev @ 386 NONAME - _ZThn36_N11CPhoneStateD1Ev @ 387 NONAME - _ZThn36_N15CPhoneStateIdleD0Ev @ 388 NONAME - _ZThn36_N15CPhoneStateIdleD1Ev @ 389 NONAME - _ZThn36_N17CPhoneStateInCallD0Ev @ 390 NONAME - _ZThn36_N17CPhoneStateInCallD1Ev @ 391 NONAME - _ZThn36_N18CPhoneStateStartupD0Ev @ 392 NONAME - _ZThn36_N18CPhoneStateStartupD1Ev @ 393 NONAME - _ZThn36_N19CPhoneStateIncomingD0Ev @ 394 NONAME - _ZThn36_N19CPhoneStateIncomingD1Ev @ 395 NONAME - _ZThn36_N20CPhoneStateCallSetupD0Ev @ 396 NONAME - _ZThn36_N20CPhoneStateCallSetupD1Ev @ 397 NONAME - _ZThn40_NK11CPhoneState11IsKeyLockOnEv @ 398 NONAME - _ZThn40_NK11CPhoneState12IsAutoLockOnEv @ 399 NONAME - _ZThn4_N11CPhoneState12HandleErrorLERK12TPEErrorInfo @ 400 NONAME - _ZThn4_N11CPhoneState25HandlePhoneEngineMessageLEii @ 401 NONAME - _ZThn4_N11CPhoneStateD0Ev @ 402 NONAME - _ZThn4_N11CPhoneStateD1Ev @ 403 NONAME - _ZThn4_N15CPhoneStateIdle25HandlePhoneEngineMessageLEii @ 404 NONAME - _ZThn4_N15CPhoneStateIdleD0Ev @ 405 NONAME - _ZThn4_N15CPhoneStateIdleD1Ev @ 406 NONAME - _ZThn4_N17CPhoneStateInCall25HandlePhoneEngineMessageLEii @ 407 NONAME - _ZThn4_N17CPhoneStateInCallD0Ev @ 408 NONAME - _ZThn4_N17CPhoneStateInCallD1Ev @ 409 NONAME - _ZThn4_N18CPhoneStateMachine11ChangeStateEi @ 410 NONAME - _ZThn4_N18CPhoneStateMachine11PhoneEngineEv @ 411 NONAME - _ZThn4_N18CPhoneStateMachine12PhoneStorageEv @ 412 NONAME - _ZThn4_N18CPhoneStateMachine14SetPhoneEngineEP13MPEPhoneModel @ 413 NONAME - _ZThn4_N18CPhoneStateMachine15PhoneEngineInfoEv @ 414 NONAME - _ZThn4_N18CPhoneStateMachine18CreatePhoneEngineLER14MEngineMonitor @ 415 NONAME - _ZThn4_N18CPhoneStateMachine22SendPhoneEngineMessageEi @ 416 NONAME - _ZThn4_N18CPhoneStateMachine5StateEv @ 417 NONAME - _ZThn4_N18CPhoneStateMachine9SetCallIdEi @ 418 NONAME - _ZThn4_N18CPhoneStateMachineD0Ev @ 419 NONAME - _ZThn4_N18CPhoneStateMachineD1Ev @ 420 NONAME - _ZThn4_N18CPhoneStateStartup25HandlePhoneEngineMessageLEii @ 421 NONAME - _ZThn4_N18CPhoneStateStartupD0Ev @ 422 NONAME - _ZThn4_N18CPhoneStateStartupD1Ev @ 423 NONAME - _ZThn4_N18CPhoneUIController11HandleErrorERK12TPEErrorInfo @ 424 NONAME - _ZThn4_N18CPhoneUIController13HandleMessageEii @ 425 NONAME - _ZThn4_N19CPhoneStateIncoming25HandlePhoneEngineMessageLEii @ 426 NONAME - _ZThn4_N19CPhoneStateIncomingD0Ev @ 427 NONAME - _ZThn4_N19CPhoneStateIncomingD1Ev @ 428 NONAME - _ZThn4_N20CPhoneStateCallSetup25HandlePhoneEngineMessageLEii @ 429 NONAME - _ZThn4_N20CPhoneStateCallSetupD0Ev @ 430 NONAME - _ZThn4_N20CPhoneStateCallSetupD1Ev @ 431 NONAME - _ZThn8_N11CPhoneState14IsNoteVisibleLEv @ 432 NONAME - _ZThn8_N11CPhoneState15HandleKeyEventLERK9TKeyEvent10TEventCode @ 433 NONAME - _ZThn8_N11CPhoneState15HandleLongHashLEv @ 434 NONAME - _ZThn8_N11CPhoneState17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 435 NONAME - _ZThn8_N11CPhoneState18HandleDtmfKeyToneLERK9TKeyEvent10TEventCode @ 436 NONAME - _ZThn8_N11CPhoneState23HandleKeyPressDurationLE8TKeyCode25TTimeIntervalMicroSeconds @ 437 NONAME - _ZThn8_N11CPhoneState24HandleCreateNumberEntryLERK9TKeyEvent10TEventCode @ 438 NONAME - _ZThn8_N11CPhoneState35IsAlphanumericSupportedAndCharInputERK9TKeyEvent @ 439 NONAME - _ZThn8_N11CPhoneStateD0Ev @ 440 NONAME - _ZThn8_N11CPhoneStateD1Ev @ 441 NONAME - _ZThn8_N15CPhoneStateIdle15HandleKeyEventLERK9TKeyEvent10TEventCode @ 442 NONAME - _ZThn8_N15CPhoneStateIdle17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 443 NONAME - _ZThn8_N15CPhoneStateIdleD0Ev @ 444 NONAME - _ZThn8_N15CPhoneStateIdleD1Ev @ 445 NONAME - _ZThn8_N17CPhoneStateInCall17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 446 NONAME - _ZThn8_N17CPhoneStateInCallD0Ev @ 447 NONAME - _ZThn8_N17CPhoneStateInCallD1Ev @ 448 NONAME - _ZThn8_N18CPhoneStateStartup15HandleKeyEventLERK9TKeyEvent10TEventCode @ 449 NONAME - _ZThn8_N18CPhoneStateStartup17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 450 NONAME - _ZThn8_N18CPhoneStateStartup18HandleDtmfKeyToneLERK9TKeyEvent10TEventCode @ 451 NONAME - _ZThn8_N18CPhoneStateStartup24HandleCreateNumberEntryLERK9TKeyEvent10TEventCode @ 452 NONAME - _ZThn8_N18CPhoneStateStartupD0Ev @ 453 NONAME - _ZThn8_N18CPhoneStateStartupD1Ev @ 454 NONAME - _ZThn8_N18CPhoneUIController15HandleKeyEventLERK9TKeyEvent10TEventCode @ 455 NONAME - _ZThn8_N18CPhoneUIControllerD0Ev @ 456 NONAME - _ZThn8_N18CPhoneUIControllerD1Ev @ 457 NONAME - _ZThn8_N19CPhoneStateIncoming15HandleKeyEventLERK9TKeyEvent10TEventCode @ 458 NONAME - _ZThn8_N19CPhoneStateIncoming17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 459 NONAME - _ZThn8_N19CPhoneStateIncoming23HandleKeyPressDurationLE8TKeyCode25TTimeIntervalMicroSeconds @ 460 NONAME - _ZThn8_N19CPhoneStateIncomingD0Ev @ 461 NONAME - _ZThn8_N19CPhoneStateIncomingD1Ev @ 462 NONAME - _ZThn8_N20CPhoneStateCallSetup15HandleKeyEventLERK9TKeyEvent10TEventCode @ 463 NONAME - _ZThn8_N20CPhoneStateCallSetup17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 464 NONAME - _ZThn8_N20CPhoneStateCallSetup24HandleCreateNumberEntryLERK9TKeyEvent10TEventCode @ 465 NONAME - _ZThn8_N20CPhoneStateCallSetupD0Ev @ 466 NONAME - _ZThn8_N20CPhoneStateCallSetupD1Ev @ 467 NONAME - _ZThn8_NK11CPhoneState17IsMenuBarVisibleLEv @ 468 NONAME + _ZTI24CPhoneSystemEventHandler @ 267 NONAME + _ZTI26CPhoneRemoteControlHandler @ 268 NONAME + _ZTI27CPhoneBtaaDisconnectHandler @ 269 NONAME + _ZTV11CPhoneState @ 270 NONAME + _ZTV15CPhoneStateIdle @ 271 NONAME + _ZTV17CPhoneStateHandle @ 272 NONAME + _ZTV17CPhoneStateInCall @ 273 NONAME + _ZTV18CPhoneStateMachine @ 274 NONAME + _ZTV18CPhoneStateStartup @ 275 NONAME + _ZTV18CPhoneUIController @ 276 NONAME + _ZTV19CPhoneStateIncoming @ 277 NONAME + _ZTV20CPhoneReconnectQuery @ 278 NONAME + _ZTV20CPhoneStateCallSetup @ 279 NONAME + _ZTV23CPhoneDtmfWaitCharTimer @ 280 NONAME + _ZTV24CPhoneSystemEventHandler @ 281 NONAME + _ZTV26CPhoneRemoteControlHandler @ 282 NONAME + _ZTV27CPhoneBtaaDisconnectHandler @ 283 NONAME + _ZThn12_N11CPhoneState15DynInitMenuBarLEiP11CEikMenuBar @ 284 NONAME + _ZThn12_N11CPhoneState16DynInitMenuPaneLEiP12CEikMenuPane @ 285 NONAME + _ZThn12_N11CPhoneState18HandleSystemEventLERK8TWsEvent @ 286 NONAME + _ZThn12_N11CPhoneState19HandleCenRepChangeLERK4TUidj @ 287 NONAME + _ZThn12_N11CPhoneState19HandlePhoneStartupLEv @ 288 NONAME + _ZThn12_N11CPhoneState20HandleKeyLockEnabledEi @ 289 NONAME + _ZThn12_N11CPhoneState22HandleForegroundEventLEi @ 290 NONAME + _ZThn12_N11CPhoneState22HandlePropertyChangedLERK4TUidji @ 291 NONAME + _ZThn12_N11CPhoneState24HandleEnvironmentChangeLEi @ 292 NONAME + _ZThn12_N11CPhoneState26HandleIdleForegroundEventLEv @ 293 NONAME + _ZThn12_N11CPhoneState26HandlePhoneFocusLostEventLEv @ 294 NONAME + _ZThn12_N11CPhoneState27HandlePhoneForegroundEventLEv @ 295 NONAME + _ZThn12_N11CPhoneStateD0Ev @ 296 NONAME + _ZThn12_N11CPhoneStateD1Ev @ 297 NONAME + _ZThn12_N15CPhoneStateIdle26HandleIdleForegroundEventLEv @ 298 NONAME + _ZThn12_N15CPhoneStateIdle26HandlePhoneFocusLostEventLEv @ 299 NONAME + _ZThn12_N15CPhoneStateIdle27HandlePhoneForegroundEventLEv @ 300 NONAME + _ZThn12_N15CPhoneStateIdleD0Ev @ 301 NONAME + _ZThn12_N15CPhoneStateIdleD1Ev @ 302 NONAME + _ZThn12_N17CPhoneStateInCallD0Ev @ 303 NONAME + _ZThn12_N17CPhoneStateInCallD1Ev @ 304 NONAME + _ZThn12_N18CPhoneStateStartup19HandlePhoneStartupLEv @ 305 NONAME + _ZThn12_N18CPhoneStateStartup26HandleIdleForegroundEventLEv @ 306 NONAME + _ZThn12_N18CPhoneStateStartupD0Ev @ 307 NONAME + _ZThn12_N18CPhoneStateStartupD1Ev @ 308 NONAME + _ZThn12_N18CPhoneUIController15DynInitMenuBarLEiP11CEikMenuBar @ 309 NONAME + _ZThn12_N18CPhoneUIController16DynInitMenuPaneLEiP12CEikMenuPane @ 310 NONAME + _ZThn12_N18CPhoneUIController18HandleSystemEventLERK8TWsEvent @ 311 NONAME + _ZThn12_N18CPhoneUIController19HandlePhoneStartupLEv @ 312 NONAME + _ZThn12_N18CPhoneUIController20HandleKeyLockEnabledEi @ 313 NONAME + _ZThn12_N18CPhoneUIController22HandleForegroundEventLEi @ 314 NONAME + _ZThn12_N18CPhoneUIController24HandleEnvironmentChangeLEi @ 315 NONAME + _ZThn12_N18CPhoneUIController26HandleIdleForegroundEventLEv @ 316 NONAME + _ZThn12_N18CPhoneUIController26HandlePhoneFocusLostEventLEv @ 317 NONAME + _ZThn12_N18CPhoneUIController27HandlePhoneForegroundEventLEv @ 318 NONAME + _ZThn12_N18CPhoneUIControllerD0Ev @ 319 NONAME + _ZThn12_N18CPhoneUIControllerD1Ev @ 320 NONAME + _ZThn12_N19CPhoneStateIncoming16DynInitMenuPaneLEiP12CEikMenuPane @ 321 NONAME + _ZThn12_N19CPhoneStateIncoming20HandleKeyLockEnabledEi @ 322 NONAME + _ZThn12_N19CPhoneStateIncomingD0Ev @ 323 NONAME + _ZThn12_N19CPhoneStateIncomingD1Ev @ 324 NONAME + _ZThn12_N20CPhoneStateCallSetupD0Ev @ 325 NONAME + _ZThn12_N20CPhoneStateCallSetupD1Ev @ 326 NONAME + _ZThn16_N11CPhoneState14HandleCommandLEi @ 327 NONAME + _ZThn16_N11CPhoneState15ProcessCommandLEi @ 328 NONAME + _ZThn16_N11CPhoneStateD0Ev @ 329 NONAME + _ZThn16_N11CPhoneStateD1Ev @ 330 NONAME + _ZThn16_N15CPhoneStateIdle14HandleCommandLEi @ 331 NONAME + _ZThn16_N15CPhoneStateIdle15ProcessCommandLEi @ 332 NONAME + _ZThn16_N15CPhoneStateIdleD0Ev @ 333 NONAME + _ZThn16_N15CPhoneStateIdleD1Ev @ 334 NONAME + _ZThn16_N17CPhoneStateInCall14HandleCommandLEi @ 335 NONAME + _ZThn16_N17CPhoneStateInCallD0Ev @ 336 NONAME + _ZThn16_N17CPhoneStateInCallD1Ev @ 337 NONAME + _ZThn16_N18CPhoneStateStartupD0Ev @ 338 NONAME + _ZThn16_N18CPhoneStateStartupD1Ev @ 339 NONAME + _ZThn16_N18CPhoneUIController14HandleCommandLEi @ 340 NONAME + _ZThn16_N18CPhoneUIController15ProcessCommandLEi @ 341 NONAME + _ZThn16_N18CPhoneUIControllerD0Ev @ 342 NONAME + _ZThn16_N18CPhoneUIControllerD1Ev @ 343 NONAME + _ZThn16_N19CPhoneStateIncoming14HandleCommandLEi @ 344 NONAME + _ZThn16_N19CPhoneStateIncomingD0Ev @ 345 NONAME + _ZThn16_N19CPhoneStateIncomingD1Ev @ 346 NONAME + _ZThn16_N20CPhoneStateCallSetup14HandleCommandLEi @ 347 NONAME + _ZThn16_N20CPhoneStateCallSetupD0Ev @ 348 NONAME + _ZThn16_N20CPhoneStateCallSetupD1Ev @ 349 NONAME + _ZThn20_N11CPhoneState20HandleRemConCommandLE25TRemConCoreApiOperationId26TRemConCoreApiButtonAction @ 350 NONAME + _ZThn20_N11CPhoneStateD0Ev @ 351 NONAME + _ZThn20_N11CPhoneStateD1Ev @ 352 NONAME + _ZThn20_N15CPhoneStateIdle20HandleRemConCommandLE25TRemConCoreApiOperationId26TRemConCoreApiButtonAction @ 353 NONAME + _ZThn20_N15CPhoneStateIdleD0Ev @ 354 NONAME + _ZThn20_N15CPhoneStateIdleD1Ev @ 355 NONAME + _ZThn20_N17CPhoneStateInCallD0Ev @ 356 NONAME + _ZThn20_N17CPhoneStateInCallD1Ev @ 357 NONAME + _ZThn20_N18CPhoneStateStartupD0Ev @ 358 NONAME + _ZThn20_N18CPhoneStateStartupD1Ev @ 359 NONAME + _ZThn20_N19CPhoneStateIncomingD0Ev @ 360 NONAME + _ZThn20_N19CPhoneStateIncomingD1Ev @ 361 NONAME + _ZThn20_N20CPhoneStateCallSetupD0Ev @ 362 NONAME + _ZThn20_N20CPhoneStateCallSetupD1Ev @ 363 NONAME + _ZThn24_N11CPhoneState19SetDivertIndicationEi @ 364 NONAME + _ZThn24_N11CPhoneStateD0Ev @ 365 NONAME + _ZThn24_N11CPhoneStateD1Ev @ 366 NONAME + _ZThn24_N15CPhoneStateIdleD0Ev @ 367 NONAME + _ZThn24_N15CPhoneStateIdleD1Ev @ 368 NONAME + _ZThn24_N17CPhoneStateInCallD0Ev @ 369 NONAME + _ZThn24_N17CPhoneStateInCallD1Ev @ 370 NONAME + _ZThn24_N18CPhoneStateStartupD0Ev @ 371 NONAME + _ZThn24_N18CPhoneStateStartupD1Ev @ 372 NONAME + _ZThn24_N19CPhoneStateIncomingD0Ev @ 373 NONAME + _ZThn24_N19CPhoneStateIncomingD1Ev @ 374 NONAME + _ZThn24_N20CPhoneStateCallSetupD0Ev @ 375 NONAME + _ZThn24_N20CPhoneStateCallSetupD1Ev @ 376 NONAME + _ZThn28_NK11CPhoneState17GetBlockedKeyListEv @ 377 NONAME + _ZThn32_N11CPhoneState25HandleNumberEntryClearedLEv @ 378 NONAME + _ZThn32_N15CPhoneStateIdle25HandleNumberEntryClearedLEv @ 379 NONAME + _ZThn32_N17CPhoneStateInCall25HandleNumberEntryClearedLEv @ 380 NONAME + _ZThn32_N19CPhoneStateIncoming25HandleNumberEntryClearedLEv @ 381 NONAME + _ZThn32_N20CPhoneStateCallSetup25HandleNumberEntryClearedLEv @ 382 NONAME + _ZThn36_N11CPhoneState23HandleNumberEntryEditedEv @ 383 NONAME + _ZThn36_N11CPhoneStateD0Ev @ 384 NONAME + _ZThn36_N11CPhoneStateD1Ev @ 385 NONAME + _ZThn36_N15CPhoneStateIdleD0Ev @ 386 NONAME + _ZThn36_N15CPhoneStateIdleD1Ev @ 387 NONAME + _ZThn36_N17CPhoneStateInCallD0Ev @ 388 NONAME + _ZThn36_N17CPhoneStateInCallD1Ev @ 389 NONAME + _ZThn36_N18CPhoneStateStartupD0Ev @ 390 NONAME + _ZThn36_N18CPhoneStateStartupD1Ev @ 391 NONAME + _ZThn36_N19CPhoneStateIncomingD0Ev @ 392 NONAME + _ZThn36_N19CPhoneStateIncomingD1Ev @ 393 NONAME + _ZThn36_N20CPhoneStateCallSetupD0Ev @ 394 NONAME + _ZThn36_N20CPhoneStateCallSetupD1Ev @ 395 NONAME + _ZThn40_NK11CPhoneState11IsKeyLockOnEv @ 396 NONAME + _ZThn40_NK11CPhoneState12IsAutoLockOnEv @ 397 NONAME + _ZThn4_N11CPhoneState12HandleErrorLERK12TPEErrorInfo @ 398 NONAME + _ZThn4_N11CPhoneState25HandlePhoneEngineMessageLEii @ 399 NONAME + _ZThn4_N11CPhoneStateD0Ev @ 400 NONAME + _ZThn4_N11CPhoneStateD1Ev @ 401 NONAME + _ZThn4_N15CPhoneStateIdle25HandlePhoneEngineMessageLEii @ 402 NONAME + _ZThn4_N15CPhoneStateIdleD0Ev @ 403 NONAME + _ZThn4_N15CPhoneStateIdleD1Ev @ 404 NONAME + _ZThn4_N17CPhoneStateInCall25HandlePhoneEngineMessageLEii @ 405 NONAME + _ZThn4_N17CPhoneStateInCallD0Ev @ 406 NONAME + _ZThn4_N17CPhoneStateInCallD1Ev @ 407 NONAME + _ZThn4_N18CPhoneStateMachine11ChangeStateEi @ 408 NONAME + _ZThn4_N18CPhoneStateMachine11PhoneEngineEv @ 409 NONAME + _ZThn4_N18CPhoneStateMachine12PhoneStorageEv @ 410 NONAME + _ZThn4_N18CPhoneStateMachine14SetPhoneEngineEP13MPEPhoneModel @ 411 NONAME + _ZThn4_N18CPhoneStateMachine15PhoneEngineInfoEv @ 412 NONAME + _ZThn4_N18CPhoneStateMachine18CreatePhoneEngineLER14MEngineMonitor @ 413 NONAME + _ZThn4_N18CPhoneStateMachine22SendPhoneEngineMessageEi @ 414 NONAME + _ZThn4_N18CPhoneStateMachine5StateEv @ 415 NONAME + _ZThn4_N18CPhoneStateMachine9SetCallIdEi @ 416 NONAME + _ZThn4_N18CPhoneStateMachineD0Ev @ 417 NONAME + _ZThn4_N18CPhoneStateMachineD1Ev @ 418 NONAME + _ZThn4_N18CPhoneStateStartup25HandlePhoneEngineMessageLEii @ 419 NONAME + _ZThn4_N18CPhoneStateStartupD0Ev @ 420 NONAME + _ZThn4_N18CPhoneStateStartupD1Ev @ 421 NONAME + _ZThn4_N18CPhoneUIController11HandleErrorERK12TPEErrorInfo @ 422 NONAME + _ZThn4_N18CPhoneUIController13HandleMessageEii @ 423 NONAME + _ZThn4_N19CPhoneStateIncoming25HandlePhoneEngineMessageLEii @ 424 NONAME + _ZThn4_N19CPhoneStateIncomingD0Ev @ 425 NONAME + _ZThn4_N19CPhoneStateIncomingD1Ev @ 426 NONAME + _ZThn4_N20CPhoneStateCallSetup25HandlePhoneEngineMessageLEii @ 427 NONAME + _ZThn4_N20CPhoneStateCallSetupD0Ev @ 428 NONAME + _ZThn4_N20CPhoneStateCallSetupD1Ev @ 429 NONAME + _ZThn8_N11CPhoneState14IsNoteVisibleLEv @ 430 NONAME + _ZThn8_N11CPhoneState15HandleKeyEventLERK9TKeyEvent10TEventCode @ 431 NONAME + _ZThn8_N11CPhoneState15HandleLongHashLEv @ 432 NONAME + _ZThn8_N11CPhoneState17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 433 NONAME + _ZThn8_N11CPhoneState18HandleDtmfKeyToneLERK9TKeyEvent10TEventCode @ 434 NONAME + _ZThn8_N11CPhoneState23HandleKeyPressDurationLE8TKeyCode25TTimeIntervalMicroSeconds @ 435 NONAME + _ZThn8_N11CPhoneState24HandleCreateNumberEntryLERK9TKeyEvent10TEventCode @ 436 NONAME + _ZThn8_N11CPhoneState35IsAlphanumericSupportedAndCharInputERK9TKeyEvent @ 437 NONAME + _ZThn8_N11CPhoneStateD0Ev @ 438 NONAME + _ZThn8_N11CPhoneStateD1Ev @ 439 NONAME + _ZThn8_N15CPhoneStateIdle15HandleKeyEventLERK9TKeyEvent10TEventCode @ 440 NONAME + _ZThn8_N15CPhoneStateIdle17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 441 NONAME + _ZThn8_N15CPhoneStateIdleD0Ev @ 442 NONAME + _ZThn8_N15CPhoneStateIdleD1Ev @ 443 NONAME + _ZThn8_N17CPhoneStateInCall17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 444 NONAME + _ZThn8_N17CPhoneStateInCallD0Ev @ 445 NONAME + _ZThn8_N17CPhoneStateInCallD1Ev @ 446 NONAME + _ZThn8_N18CPhoneStateStartup15HandleKeyEventLERK9TKeyEvent10TEventCode @ 447 NONAME + _ZThn8_N18CPhoneStateStartup17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 448 NONAME + _ZThn8_N18CPhoneStateStartup18HandleDtmfKeyToneLERK9TKeyEvent10TEventCode @ 449 NONAME + _ZThn8_N18CPhoneStateStartup24HandleCreateNumberEntryLERK9TKeyEvent10TEventCode @ 450 NONAME + _ZThn8_N18CPhoneStateStartupD0Ev @ 451 NONAME + _ZThn8_N18CPhoneStateStartupD1Ev @ 452 NONAME + _ZThn8_N18CPhoneUIController15HandleKeyEventLERK9TKeyEvent10TEventCode @ 453 NONAME + _ZThn8_N18CPhoneUIControllerD0Ev @ 454 NONAME + _ZThn8_N18CPhoneUIControllerD1Ev @ 455 NONAME + _ZThn8_N19CPhoneStateIncoming15HandleKeyEventLERK9TKeyEvent10TEventCode @ 456 NONAME + _ZThn8_N19CPhoneStateIncoming17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 457 NONAME + _ZThn8_N19CPhoneStateIncoming23HandleKeyPressDurationLE8TKeyCode25TTimeIntervalMicroSeconds @ 458 NONAME + _ZThn8_N19CPhoneStateIncomingD0Ev @ 459 NONAME + _ZThn8_N19CPhoneStateIncomingD1Ev @ 460 NONAME + _ZThn8_N20CPhoneStateCallSetup15HandleKeyEventLERK9TKeyEvent10TEventCode @ 461 NONAME + _ZThn8_N20CPhoneStateCallSetup17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 462 NONAME + _ZThn8_N20CPhoneStateCallSetup24HandleCreateNumberEntryLERK9TKeyEvent10TEventCode @ 463 NONAME + _ZThn8_N20CPhoneStateCallSetupD0Ev @ 464 NONAME + _ZThn8_N20CPhoneStateCallSetupD1Ev @ 465 NONAME + _ZThn8_NK11CPhoneState17IsMenuBarVisibleLEv @ 466 NONAME diff -r 6b911d05207e -r bc5a64e5bc3c phoneapp/phoneuicontrol/group/phoneuicontrol.mmp --- a/phoneapp/phoneuicontrol/group/phoneuicontrol.mmp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneapp/phoneuicontrol/group/phoneuicontrol.mmp Tue Jul 06 14:15:47 2010 +0300 @@ -50,7 +50,6 @@ SOURCE cphonestatestartup.cpp SOURCE cphonesystemeventhandler.cpp SOURCE cphoneuicontroller.cpp -SOURCE cphonekeyeventforwarder.cpp SOURCE cphoneaccessorybthandler.cpp SOURCE tphonecallheaderparam.cpp SOURCE cphonecallheadermanager.cpp diff -r 6b911d05207e -r bc5a64e5bc3c phoneapp/phoneuicontrol/inc/cphoneaccessorybthandler.h --- a/phoneapp/phoneuicontrol/inc/cphoneaccessorybthandler.h Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneapp/phoneuicontrol/inc/cphoneaccessorybthandler.h Tue Jul 06 14:15:47 2010 +0300 @@ -53,11 +53,6 @@ /** - * Sets BT debug mode on. - */ - void SetBTDebugModeL(); - - /** * Set the BT handsfree mode * @param aHandsfreeMode ETrue to activate BT, EFalse to deactivate * @return ETrue if allowed diff -r 6b911d05207e -r bc5a64e5bc3c phoneapp/phoneuicontrol/inc/cphonekeyeventforwarder.h --- a/phoneapp/phoneuicontrol/inc/cphonekeyeventforwarder.h Wed Jun 23 18:12:20 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,230 +0,0 @@ -/* -* Copyright (c) 2007 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: It is keyevent forwarder. -* -*/ - - -#ifndef CPHONEKEYEVENTFORWARDER_H -#define CPHONEKEYEVENTFORWARDER_H - -// INCLUDES -#include //Feature flags -#include - -// FORWARD DECLARATIONS -class MPhoneStateMachine; -class MPhoneKeyEventHandler; -class MPhoneViewCommandHandle; -class CPhoneTimer; - -// CLASS DECLARATION - -/** -* It is keyevent forwarder. -* -*/ -class CPhoneKeyEventForwarder - : public CCoeControl - { - public: // Constructors and destructor - - /** - * Two-phased constructor. - * - * @param aRect rectangle of this control. - * @param aStateMachine state machine - * @param aViewCommandHandle View command handle - * @return new instance. - */ - static CPhoneKeyEventForwarder* NewL( const TRect& aRect, - MPhoneStateMachine* aStateMachine, - MPhoneViewCommandHandle* aViewCommandHandle ); - - /** - * Destructor. - */ - ~CPhoneKeyEventForwarder(); - - public: // New functions. - - public: // Functions from base classes - - /** - * From CCoeControl, returns the amount of component controls. - * - * @return Returns the amount of component controls. - */ - TInt CountComponentControls() const; - - /** - * From CCoeControl, returns a control by index. - * - * @param aIndex It is the index of the control. - * @return Returns a control by index. - */ - CCoeControl* ComponentControl( TInt aIndex ) const; - - /** - * From CCoeControl, informs that the size is changed to update - * the sizes of component controls appropriately. - */ - void SizeChanged(); - - /** - * From CCoeControl, draws the contents of the view. - * - * @param aRect It is the area to be redrawn. - */ - void Draw( const TRect& aRect ) const; - - /** - * From CCoeControl, offers a key event to the view. - * - * @param aKeyEvent It contains information about the key event. - * @param aType It is the type of the event. - * @return Returns information which indicates whether the keypress - * was processed or not. - */ - TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent, - TEventCode aType ); - - /** - * This function should be called from AppUi, after framework has - * Looped through CCoeControlStack - * - * @param aKeyEvent It contains information about the key event. - * @param aType It is the type of the event. - * @return Returns information which indicates whether the keypress - * was processed or not. - */ - TKeyResponse OfferKeyEventAfterControlStackL( - const TKeyEvent& aKeyEvent, - TEventCode aType ); - - private: - - /** - * C++ default constructor. - */ - CPhoneKeyEventForwarder( MPhoneStateMachine* aStateMachine, - MPhoneViewCommandHandle* aViewCommandHandle ); - - /** - * Symbian OS constructor. - */ - void ConstructL( const TRect& aRect ); - - /** - * This function should be called before FEP or other components in - * CCoeControl stack - * - * @param aKeyEvent It contains information about the key event. - * @param aType It is the type of the event. - * @return Returns information which indicates whether the keypress - * was processed or not. - */ - TKeyResponse OfferKeyEventBeforeControlStackL( - const TKeyEvent& aKeyEvent, - TEventCode aType ); - - /** - * Handle EEventKeyDown - * @param aKeyEvent Tells which key was pressed. - * @return tells whether the event was consumed or not. - */ - TKeyResponse HandleEventKeyDownBeforeControlStackL( const TKeyEvent& aKeyEvent ); - - /** - * Handle EEventKey - * @param aKeyEvent Tells which key was pressed. - * @return tells whether the event was consumed or not. - */ - TKeyResponse HandleEventKeyBeforeControlStackL( const TKeyEvent& aKeyEvent ); - - /** - * Handle EEventKeyUp - * @param aKeyEvent Tells which key was pressed. - * @return tells whether the event was consumed or not. - */ - TKeyResponse HandleEventKeyUpBeforeControlStackL( const TKeyEvent& aKeyEvent ); - - - /** - * Callback function for long press of a particular key - */ - static TInt DoHandleLongPressKeyEventCallbackL( TAny* aAny ); - - /** - * Convert key code - */ - void ConvertKeyCode( TUint& aCode, const TKeyEvent& aKeyEvent ); - - /** - * Handle key long press - */ - void HandleLongPressKeyEventL(); - - /** - * Checks from the statemachine is the given keyevent - * from one of the allowed characters - */ - TBool IsAlphaNumericKey( const TKeyEvent& aKeyEvent ); - - - /** - * Checks if key should be blocked from phone. - * - * @ return ETrue if alpha mode, EFalse otherwise. - */ - TBool IsKeyBlocked( const TKeyEvent& aKeyEvent ) const; - - private: // Data - - /** - * State machine - */ - MPhoneStateMachine* iStateMachine; - - /** - * Interface to view command handle - */ - MPhoneViewCommandHandle* iViewCommandHandle; - - /** - * For long key press. Long press is handled within a - * specific duration. - */ - CPhoneTimer* iLongPressKeyEventTimer; - - /** - * Key press time - */ - TTime iKeyPressTime; - - /** - * Key code - */ - TUint iKeyPressedDown; - - /** - * Key scan code from EEventKey Updated in HandleEventKeyDownL. - * Zeroed in HandleEventKeyUpL. - */ - TInt iScanCode; - }; - -#endif // CPHONEKEYEVENTFORWARDER_H - -// End of File diff -r 6b911d05207e -r bc5a64e5bc3c phoneapp/phoneuicontrol/inc/cphoneuicontroller.h --- a/phoneapp/phoneuicontrol/inc/cphoneuicontroller.h Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneapp/phoneuicontrol/inc/cphoneuicontroller.h Tue Jul 06 14:15:47 2010 +0300 @@ -38,7 +38,7 @@ class CPhoneStateHandle; class CPEPhoneModel; class CPhoneRemoteControlHandler; -class CPhoneKeyEventForwarder; + class CPhoneUIController : public CBase, @@ -232,11 +232,6 @@ */ MPhoneStateMachine* iStateMachine; // NOT OWNED - /** - * iKeyEventForwarder - */ - CPhoneKeyEventForwarder* iKeyEventForwarder; - }; #endif // CPHONEUICONTROLLER_H diff -r 6b911d05207e -r bc5a64e5bc3c phoneapp/phoneuicontrol/src/cphoneaccessorybthandler.cpp --- a/phoneapp/phoneuicontrol/src/cphoneaccessorybthandler.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneapp/phoneuicontrol/src/cphoneaccessorybthandler.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -76,31 +76,6 @@ { } -// ----------------------------------------------------------- -// CPhoneAccessoryBTHandler::SetBTDebugModeL -// Handling for message EPEMessageBTDebugMode. -// Sets BT debug mode PS key on. -// ----------------------------------------------------------- -// -void CPhoneAccessoryBTHandler::SetBTDebugModeL() - { - __LOGMETHODSTARTEND(EPhoneControl, "CPhoneAccessoryBTHandler::SetBTDebugModeL( ) "); - if ( FeatureManager::FeatureSupported( KFeatureIdOnScreenDialer ) ) - { - iViewCommandHandle->ExecuteCommandL( EPhoneViewClearNumberEntryContent ); - } - else - { - // Remove number entry from screen - iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveNumberEntry ); - } - iNEClearedHandler->HandleNumberEntryClearedL(); - if ( RProperty::Set( KPSUidBluetoothDutMode, KBTSspDebugmode, EBTSspDebugModeOn )) - { - __PHONELOG( EOnlyFatal, EPhoneControl, "CPhoneAccessoryBTHandler::SetBTDebugModeL PS key not defined" ); - } - } - // --------------------------------------------------------- // CPhoneAccessoryBTHandler::SetBTHandsfreeModeL // --------------------------------------------------------- diff -r 6b911d05207e -r bc5a64e5bc3c phoneapp/phoneuicontrol/src/cphonecbamanager.cpp --- a/phoneapp/phoneuicontrol/src/cphonecbamanager.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneapp/phoneuicontrol/src/cphonecbamanager.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -37,6 +37,7 @@ #include "tphonecmdparamboolean.h" #include "tphonecmdparaminteger.h" #include "tphonecmdparamcallstatedata.h" +#include "tphonecmdparamboolean.h" // ======== MEMBER FUNCTIONS ======== @@ -112,7 +113,16 @@ TBool btAvailable = iStateMachine.PhoneEngineInfo()->AudioOutputAvailable( EPEBTAudioAccessory ); + + TPhoneCmdParamBoolean btParam; + btParam.SetBoolean( audioOutput == EPEBTAudioAccessory ); + iViewCommandHandle.ExecuteCommand(EPhoneViewSetBlueToothFlag,&btParam); + TPhoneCmdParamBoolean btAvailableParam; + btAvailableParam.SetBoolean( btAvailable ); + iViewCommandHandle.ExecuteCommand( + EPhoneViewSetBluetoothAvailableFlag,&btAvailableParam); + // Call setup cases if ( EPhoneCallHandlingCallSetupCBA == aResource ) { diff -r 6b911d05207e -r bc5a64e5bc3c phoneapp/phoneuicontrol/src/cphonekeyeventforwarder.cpp --- a/phoneapp/phoneuicontrol/src/cphonekeyeventforwarder.cpp Wed Jun 23 18:12:20 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,527 +0,0 @@ -/* -* Copyright (c) 2007 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: Key event forwarder. -* -*/ - - -// INCLUDE FILES -#include -#include -#include -#include -#include - -#include "mphonestatemachine.h" -#include "mphonekeyeventhandler.h" -#include "cphonekeys.h" -#include "cphonekeyeventforwarder.h" -#include "cphonepubsubproxy.h" -#include "cphonetimer.h" -#include "phonelogger.h" -#include "phoneui.pan" - -// ============================ MEMBER FUNCTIONS =============================== - -// ----------------------------------------------------------------------------- -// CPhoneKeyEventForwarder::NewL -// ----------------------------------------------------------------------------- -// -CPhoneKeyEventForwarder* CPhoneKeyEventForwarder::NewL( - const TRect& aRect, - MPhoneStateMachine* aStateMachine, - MPhoneViewCommandHandle* aViewCommandHandle ) - { - CPhoneKeyEventForwarder* self = - new (ELeave) CPhoneKeyEventForwarder( aStateMachine, aViewCommandHandle ); - - CleanupStack::PushL( self ); - self->ConstructL( aRect ); - CleanupStack::Pop( self ); - - return self; - } - -// ----------------------------------------------------------------------------- -// CPhoneKeyEventForwarder::~CPhoneKeyEventForwarder -// ----------------------------------------------------------------------------- -// -CPhoneKeyEventForwarder::~CPhoneKeyEventForwarder() - { - __LOGMETHODSTARTEND( EPhoneControl, "CPhoneKeyEventForwarder::~CPhoneKeyEventForwarder"); - - CEikonEnv* env = static_cast(ControlEnv()); - if( env ) - { - env->EikAppUi()->RemoveFromStack( this ); - } - delete iLongPressKeyEventTimer; - } - -// ----------------------------------------------------------------------------- -// CPhoneKeyEventForwarder::CountComponentControls -// ----------------------------------------------------------------------------- -// -TInt CPhoneKeyEventForwarder::CountComponentControls() const - { - __LOGMETHODSTARTEND( EPhoneControl, "CPhoneKeyEventForwarder::CountComponentControls"); - return 0; - } - -// ----------------------------------------------------------------------------- -// CPhoneKeyEventForwarder::ComponentControl -// ----------------------------------------------------------------------------- -// -CCoeControl* CPhoneKeyEventForwarder::ComponentControl( - TInt /*aIndex*/ ) const - { - __LOGMETHODSTARTEND( EPhoneControl, "CPhoneKeyEventForwarder::ComponentControl"); - return NULL; - } - -// ----------------------------------------------------------------------------- -// CPhoneKeyEventForwarder::SizeChanged -// ----------------------------------------------------------------------------- -// -void CPhoneKeyEventForwarder::SizeChanged() - { - __LOGMETHODSTARTEND( EPhoneControl, "CPhoneKeyEventForwarder::SizeChanged"); - } - -// ----------------------------------------------------------------------------- -// CPhoneKeyEventForwarder::Draw -// ----------------------------------------------------------------------------- -// -void CPhoneKeyEventForwarder::Draw( - const TRect& /*aRect*/ ) const - { - __LOGMETHODSTARTEND( EPhoneControl, "CPhoneKeyEventForwarder::Draw"); - } - -// ----------------------------------------------------------------------------- -// CPhoneKeyEventForwarder::OfferKeyEventL -// Checks is hte keyevent such that the number entry can be opened -// ----------------------------------------------------------------------------- -// -TKeyResponse CPhoneKeyEventForwarder::OfferKeyEventL( - const TKeyEvent& aKeyEvent, - TEventCode aType ) - { - __LOGMETHODSTARTEND( EPhoneControl, - "CPhoneKeyEventForwarder::OfferKeyEventL"); - - TKeyResponse ret( EKeyWasNotConsumed ); - TKeyEvent keyEvent = aKeyEvent; - - ret = OfferKeyEventBeforeControlStackL( aKeyEvent, aType ); - - // Convert event. Use already converted iKeyPressedDown. - // Do not convert other than DTMF tones - if( CPhoneKeys::IsDtmfTone( aKeyEvent, aType ) ) - { - keyEvent.iCode = iKeyPressedDown; - } - - if ( !keyEvent.iRepeats ) - { - // Start and stop dtmf - iStateMachine->State()->HandleDtmfKeyToneL( keyEvent, aType ); - if( aType != EEventKeyUp && - ( CPhoneKeys::IsNumericKey( keyEvent, aType ) || - IsAlphaNumericKey( keyEvent ) ) - ) - { - // Do not open number entry with up key - iStateMachine->State()->HandleCreateNumberEntryL( keyEvent, aType ); - } - } - - return ret; - } - -// ----------------------------------------------------------------------------- -// CPhoneKeyEventForwarder::CPhoneKeyEventForwarder -// ----------------------------------------------------------------------------- -// -CPhoneKeyEventForwarder::CPhoneKeyEventForwarder( - MPhoneStateMachine* aStateMachine, - MPhoneViewCommandHandle* aViewCommandHandle ) - : iStateMachine( aStateMachine ), - iViewCommandHandle( aViewCommandHandle ) - { - __LOGMETHODSTARTEND( EPhoneControl, - "CPhoneKeyEventForwarder::CPhoneKeyEventForwarder"); - } - -// ----------------------------------------------------------------------------- -// CPhoneKeyEventForwarder::ConstructL -// ----------------------------------------------------------------------------- -// -void CPhoneKeyEventForwarder::ConstructL( const TRect& aRect ) - { - __LOGMETHODSTARTEND( EPhoneControl, - "CPhoneKeyEventForwarder::ConstructL"); - - if ( FeatureManager::FeatureSupported( KFeatureIdKeypadNoSlider ) ) - { - RWindowGroup& groupWin = iCoeEnv->RootWin(); - } - // Create invisible control. - CreateWindowL(); - MakeVisible( EFalse ); - SetRect( aRect ); - - CEikonEnv* env = static_cast(ControlEnv()); - if( env ) - { - env->EikAppUi()->AddToStackL( - this, - ECoeStackPriorityEnvironmentFilter, - ECoeStackFlagRefusesFocus ); - } - - // Create the long press key event timer - iLongPressKeyEventTimer = CPhoneTimer::NewL(); - } - -// ----------------------------------------------------------------------------- -// CPhoneKeyEventForwarder::IsAlphaNumericKey -// ----------------------------------------------------------------------------- -// -TBool CPhoneKeyEventForwarder::IsAlphaNumericKey( const TKeyEvent& aKeyEvent ) - { - __LOGMETHODSTARTEND( EPhoneControl, - "CPhoneKeyEventForwarder::IsAlphaNumericKey"); - - TBool alphaNumeric = - iStateMachine->State()->IsAlphanumericSupportedAndCharInput( aKeyEvent ); - - return alphaNumeric; - } - - -// ----------------------------------------------------------------------------- -// CPhoneKeyEventForwarder::OfferKeyEventBeforeControlStackL -// Let phone handle before other components in control stack -// ----------------------------------------------------------------------------- -// -TKeyResponse CPhoneKeyEventForwarder::OfferKeyEventBeforeControlStackL( - const TKeyEvent& aKeyEvent, - TEventCode aType ) - { - __LOGMETHODSTARTEND( EPhoneControl, - "CPhoneKeyEventForwarder::OfferKeyEventBeforeControlStackL"); - - TKeyResponse response( EKeyWasNotConsumed ); - if( !IsKeyBlocked( aKeyEvent ) ) - { - // Handle key events before FEP - // This is must becouse FEP consumes * key and when - // editor is in alphanumeric mode FEP consumes all alphanumeric - // keys - switch( aType ) - { - // EEventKeyDown - case EEventKeyDown: - response = HandleEventKeyDownBeforeControlStackL( aKeyEvent ); - break; - // EEventKey - case EEventKey: - response = HandleEventKeyBeforeControlStackL( aKeyEvent ); - break; - // EEventKeyUp - case EEventKeyUp: - response = HandleEventKeyUpBeforeControlStackL( aKeyEvent ); - break; - default: - break; - } - - } - return response; - } - - -// ----------------------------------------------------------------------------- -// CPhoneKeyEventForwarder::OfferKeyEventAfterControlStackL -// Let phone handle keys if no one has done it already -// ----------------------------------------------------------------------------- -// -TKeyResponse CPhoneKeyEventForwarder::OfferKeyEventAfterControlStackL( - const TKeyEvent& aKeyEvent, - TEventCode aType ) - { - __LOGMETHODSTARTEND( EPhoneControl, - "CPhoneKeyEventForwarder::OfferKeyEventAfterControlStackL"); - - if( !IsKeyBlocked( aKeyEvent ) ) - { - // Send key to editor - iStateMachine->State()->HandleKeyEventL( aKeyEvent, aType ); - - if( EEventKeyUp == aType - && EKeyNull != iKeyPressedDown ) - { - // Handle short key press - iStateMachine->State()->HandleKeyMessageL( - MPhoneKeyEvents::EPhoneKeyShortPress, - TKeyCode( iKeyPressedDown ) ); - - // Reset key code - iScanCode = EStdKeyNull; - iKeyPressedDown = EKeyNull; - } - } - - return EKeyWasNotConsumed; - } - -// ----------------------------------------------------------- -// CPhoneKeyEventForwarder::HandleEventKeyDownBeforeControlStackL -// ----------------------------------------------------------- -// -TKeyResponse CPhoneKeyEventForwarder::HandleEventKeyDownBeforeControlStackL( - const TKeyEvent& aKeyEvent ) - { - __LOGMETHODSTARTEND( EPhoneControl, - "CPhoneKeyEventForwarder::HandleEventKeyDownBeforeControlStackL"); - - // Convert key code - ConvertKeyCode( iKeyPressedDown, aKeyEvent ); - // Save key scan code - iScanCode = aKeyEvent.iScanCode; - - // Start the key press timer - iKeyPressTime.UniversalTime(); - - // Cancel the long press key event timer, if it is active - if ( iLongPressKeyEventTimer->IsActive() ) - { - iLongPressKeyEventTimer->CancelTimer(); - } - - // Re-start the timer - iLongPressKeyEventTimer->After( - KPhoneLongPressKeyEventDuration, - TCallBack( DoHandleLongPressKeyEventCallbackL, - this ) ); - - return ( EKeyWasNotConsumed ); - } - -// ----------------------------------------------------------- -// CPhoneKeyEventForwarder::HandleEventKeyBeforeControlStackL -// Both short key press event (iRepeats == 0) and -// long key press event (iRepeats == 1) are handled here -// ----------------------------------------------------------- -// -TKeyResponse CPhoneKeyEventForwarder::HandleEventKeyBeforeControlStackL( - const TKeyEvent& aKeyEvent ) - { - __LOGMETHODSTARTEND( EPhoneControl, - "CPhoneKeyEventForwarder::HandleEventKeyBeforeControlStackL"); - - TKeyResponse response( EKeyWasNotConsumed ); - - // Convert event. - TKeyEvent keyEvent = aKeyEvent; - keyEvent.iCode = iKeyPressedDown; - - if( aKeyEvent.iRepeats > 0 && - CPhoneKeys::IsDtmfTone( keyEvent, EEventKey ) ) - { - // Do not repeat dtmf characters - response = EKeyWasConsumed; - } - - return response; - } - -// ----------------------------------------------------------- -// CPhoneKeyEventForwarder::HandleEventKeyUpBeforeControlStackL -// ----------------------------------------------------------- -// -TKeyResponse CPhoneKeyEventForwarder::HandleEventKeyUpBeforeControlStackL( - const TKeyEvent& aKeyEvent ) - { - __LOGMETHODSTARTEND( EPhoneControl, - "CPhoneKeyEventForwarder::HandleEventKeyUpBeforeControlStackL"); - - // Send a long press key event to the current state provided - // that the key scan code is the same as the key that was pressed - if ( iScanCode == aKeyEvent.iScanCode ) - { - // Pass the key press duration to the current state - TTime now; - now.UniversalTime(); - TTimeIntervalMicroSeconds keyPressDuration = now.MicroSecondsFrom( - iKeyPressTime ); - iStateMachine->State()->HandleKeyPressDurationL( - TKeyCode( iKeyPressedDown ), - keyPressDuration ); - - // Cancel the long press timer, if it is active. Otherwise - // ignore the key event since it was already handled as a long press - // key event. - if ( iLongPressKeyEventTimer->IsActive() ) - { - iLongPressKeyEventTimer->CancelTimer(); - } - } - - return EKeyWasNotConsumed; - } - -// --------------------------------------------------------- -// CPhoneKeyEventForwarder::DoHandleLongPressKeyEventCallback -// -// This routine is called when the long press key event timer expires -// after KPhoneLongPressKeyEventDuration. -// --------------------------------------------------------- -// -TInt CPhoneKeyEventForwarder::DoHandleLongPressKeyEventCallbackL( TAny* aAny ) - { - __LOGMETHODSTARTEND( EPhoneControl, - "CPhoneKeyEventForwarder::DoHandleLongPressKeyEventCallbackL"); - - __ASSERT_DEBUG( aAny, - Panic( EPhoneCtrlUnknownPanic ) ); - - reinterpret_cast< CPhoneKeyEventForwarder* >( aAny )-> - HandleLongPressKeyEventL(); - - return KErrNone; - } - -// --------------------------------------------------------- -// CPhoneKeyEventForwarder::HandleLongPressKeyEventL -// Handle long press key event -// --------------------------------------------------------- -// -void CPhoneKeyEventForwarder::HandleLongPressKeyEventL() - { - __LOGMETHODSTARTEND( EPhoneControl, - "CPhoneKeyEventForwarder::HandleLongPressKeyEventL"); - - // In alphanumeric mode EEventKey-event is not received so we must - // compare also with scan code. - if ( KPhoneDtmfHashCharacter == iKeyPressedDown ) - { - // Separate handling for long hash key because there is so much - // different functionality under it and it works differently - // in different protocols. - iStateMachine->State()->HandleLongHashL(); - } - else if ( KPhoneDtmfStarCharacter == iKeyPressedDown ) - { - // KPhoneDtmfStarCharacter value used in configuration file for - // long key press application launching - iStateMachine->State()->HandleKeyMessageL( - MPhoneKeyEvents::EPhoneKeyLongPress, - TKeyCode( KPhoneDtmfStarCharacter ) ); - } - else - { - __PHONELOG1( - EBasic, EPhoneControl, - "CPhoneKeyEventHandler::HandleLongPressKeyEventL iCode(%d)", - iKeyPressedDown ); - iStateMachine->State()->HandleKeyMessageL( - MPhoneKeyEvents::EPhoneKeyLongPress, - TKeyCode( iKeyPressedDown ) ); - } - - // Reset key code - iScanCode = EStdKeyNull; - iKeyPressedDown = EKeyNull; - } - -// ----------------------------------------------------------- -// CPhoneKeyEventForwarder::ConvertKeyCode -// ----------------------------------------------------------- -// -void CPhoneKeyEventForwarder::ConvertKeyCode( TUint& aCode, - const TKeyEvent& aKeyEvent ) - { - __LOGMETHODSTARTEND( EPhoneControl, - "CPhoneKeyEventForwarder::ConvertKeyCode"); - - // Handler for special device key mapping in case iScanCode - // to iCode conversion hasn't been handled by CAknAppUi::GetAliasKeyCodeL - __PHONELOG1( EBasic, EPhoneControl, - "CPhoneKeyEventHandler::ConvertKeyCode scan code (%d)", - aKeyEvent.iScanCode ); - - switch ( aKeyEvent.iScanCode ) - { - case EStdKeyEnter: - aCode = EKeyEnter; - break; - case EStdKeyYes: - aCode = EKeyYes; - break; - case EStdKeyNo: - aCode = EKeyNo; - break; - case EStdKeyDeviceF: - aCode = EKeyDeviceF; // EStdKeyDeviceF mapping for unlock switch. - break; - case EStdKeyHash: - aCode = KPhoneDtmfHashCharacter; - break; - case EStdKeyNkpAsterisk: - aCode = KPhoneDtmfStarCharacter; - break; - case EStdKeyApplication0: - aCode = EKeyApplication0; - break; - - default: - aCode = aKeyEvent.iScanCode; // Use default code - break; - } //switch - - __PHONELOG1( EBasic, EPhoneControl, - "CPhoneKeyEventHandler::ConvertKeyCode aCode (%d)", aCode ); - } - -// ----------------------------------------------------------------------------- -// CPhoneKeyEventForwarder::IsKeyBlocked -// ----------------------------------------------------------------------------- -// -TBool CPhoneKeyEventForwarder::IsKeyBlocked( const TKeyEvent& aKeyEvent ) const - { - TBool ret = EFalse; - - // Check blocked keys - const RArray& keyScanCodeList = iStateMachine->State()->GetBlockedKeyList(); - TInt count = keyScanCodeList.Count(); - if( count ) - { - for( TInt i = 0; i < count; i++ ) - { - if( keyScanCodeList[i] == aKeyEvent.iScanCode ) - { - ret = ETrue; - } - } - } - __PHONELOG1( EBasic, EPhoneControl, - "CPhoneKeyEventHandler::IsKeyBlocked return (%d)", ret ); - - return ret; - } - -// End of File - diff -r 6b911d05207e -r bc5a64e5bc3c phoneapp/phoneuicontrol/src/cphonestate.cpp --- a/phoneapp/phoneuicontrol/src/cphonestate.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneapp/phoneuicontrol/src/cphonestate.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -38,7 +38,7 @@ #include #include #include -#include +#include #include #include #include @@ -189,6 +189,7 @@ HandleAudioOutputChangedL(); // Go to current state implementation iCbaManager->UpdateInCallCbaL(); + SetTouchPaneButtons(0); break; case MEngineMonitor::EPEMessageAvailableAudioOutputsChanged: @@ -197,6 +198,7 @@ { // Go to current state implementation iCbaManager->UpdateInCallCbaL(); + SetTouchPaneButtons(0); } break; @@ -209,7 +211,8 @@ break; case MEngineMonitor::EPEMessageCallWaiting: - SendGlobalInfoNoteL( EPhoneWaitingText ); + // No need to send waiting notification for user. + //SendGlobalInfoNoteL( EPhoneWaitingText, ETrue ); break; case MEngineMonitor::EPEMessageProfileChanged: @@ -236,7 +239,7 @@ break; case MEngineMonitor::EPEMessageTransferDone: - SendGlobalInfoNoteL( EPhoneInCallTransferred ); + SendGlobalInfoNoteL( EPhoneInCallTransferred, ETrue ); break; case MEngineMonitor::EPEMessageInitiatedEmergencyCall: @@ -354,14 +357,6 @@ HandleCugInUseNoteL(); break; - // *#2873# - case MEngineMonitor::EPEMessageBTDebugMode: - accessoryBtHandler = CPhoneAccessoryBTHandler::NewLC( - iViewCommandHandle, iStateMachine, this ); - accessoryBtHandler->SetBTDebugModeL(); - CleanupStack::PopAndDestroy( accessoryBtHandler ); - break; - default: TBool handled( EFalse ); @@ -843,8 +838,13 @@ void CPhoneState::HandleRemoteBusyL( TInt aCallId ) { __LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::HandleRemoteBusyL( ) "); - ShowNumberBusyNoteL(); - + + TPEErrorInfo info; + info.iCallId = aCallId; + info.iErrorCode = ECCPErrorBusy; + info.iErrorType = EPECcp; + CPhoneMainErrorMessagesHandler::Instance()->ShowErrorSpecificNoteL( info ); + const TPECallType callType = iStateMachine->PhoneEngineInfo()->CallTypeCommand(); @@ -1775,7 +1775,7 @@ __PHONELOG1( EBasic, EPhoneControl, "CPhoneState::DecreaseAudioVolumeL - audio output =%d", output ); if( output == EPETTY ) { - SendGlobalInfoNoteL( EPhoneNoteTTYNoAudioControl ); + SendGlobalInfoNoteL( EPhoneNoteTTYNoAudioControl, ETrue ); } else { @@ -1799,7 +1799,7 @@ __PHONELOG1( EBasic, EPhoneControl, "CPhoneState::IncreaseAudioVolumeL - audio output =%d", output ); if( output == EPETTY ) { - SendGlobalInfoNoteL( EPhoneNoteTTYNoAudioControl ); + SendGlobalInfoNoteL( EPhoneNoteTTYNoAudioControl, ETrue ); } else { @@ -2154,11 +2154,11 @@ // ----------------------------------------------------------- // EXPORT_C void CPhoneState::CaptureKeysDuringCallNotificationL( - TBool aCaptured ) + TBool /*aCaptured*/ ) { __LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::CaptureKeysDuringCallNotificationL( ) "); // Determine which view command to execute based on the capture status - const TInt viewCommandId = aCaptured ? + /*const TInt viewCommandId = aCaptured ? EPhoneViewStartCapturingKey : EPhoneViewStopCapturingKey; @@ -2178,7 +2178,7 @@ cameraKeyCaptureParam.SetCaptureType( EPhoneKeyAllEvents ); iViewCommandHandle->ExecuteCommandL( viewCommandId, &cameraKeyCaptureParam ); - } + }*/ } // ----------------------------------------------------------- @@ -2577,7 +2577,7 @@ iViewCommandHandle, iStateMachine, this ); if ( !bt->SetHandsfreeModeL( aHandsfreeMode )) { - SendGlobalErrorNoteL( EPhoneNoteTextNotAllowed ); + SendGlobalErrorNoteL( EPhoneNoteTextNotAllowed, ETrue ); } CleanupStack::PopAndDestroy( bt ); } @@ -2593,7 +2593,7 @@ iViewCommandHandle, iStateMachine, this ); if ( !bt->SetBTHandsfreeModeL( aHandsfreeMode )) { - SendGlobalErrorNoteL( EPhoneNoteTextNotAllowed ); + SendGlobalErrorNoteL( EPhoneNoteTextNotAllowed, ETrue ); } CleanupStack::PopAndDestroy( bt ); } @@ -3436,8 +3436,22 @@ { TPhoneCmdParamBoolean muteParam; muteParam.SetBoolean( iStateMachine->PhoneEngineInfo()->AudioMute() ); + iViewCommandHandle->ExecuteCommand(EPhoneViewSetMuteFlag,&muteParam); - iViewCommandHandle->ExecuteCommand(EPhoneViewSetMuteFlag,&muteParam); + const TPEAudioOutput audioOutput = + iStateMachine->PhoneEngineInfo()->AudioOutput(); + + TBool btAvailable = iStateMachine->PhoneEngineInfo()->AudioOutputAvailable( + EPEBTAudioAccessory ); + + TPhoneCmdParamBoolean btParam; + btParam.SetBoolean( audioOutput == EPEBTAudioAccessory ); + iViewCommandHandle->ExecuteCommand(EPhoneViewSetBlueToothFlag,&btParam); + + TPhoneCmdParamBoolean btAvailableParam; + btAvailableParam.SetBoolean( btAvailable ); + iViewCommandHandle->ExecuteCommand( + EPhoneViewSetBluetoothAvailableFlag,&btAvailableParam); TBool emergency( EPEStateIdle != iStateMachine->PhoneEngineInfo()->CallState( KPEEmergencyCallId ) ); @@ -3883,13 +3897,14 @@ globalNoteParam.SetTextResourceId( CPhoneMainResourceResolver::Instance()-> ResolveResourceID( EPhoneCallWaitingWithLabel ) ); - + globalNoteParam.SetNotificationDialog( ETrue ); + iViewCommandHandle->ExecuteCommandL( EPhoneViewShowGlobalNote, &globalNoteParam ); } else { - SendGlobalInfoNoteL( EPhoneCallWaitingWithoutLabel ); + SendGlobalInfoNoteL( EPhoneCallWaitingWithoutLabel, ETrue ); } } diff -r 6b911d05207e -r bc5a64e5bc3c phoneapp/phoneuicontrol/src/cphonestatecallsetup.cpp --- a/phoneapp/phoneuicontrol/src/cphonestatecallsetup.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneapp/phoneuicontrol/src/cphonestatecallsetup.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -406,7 +406,7 @@ else // aMessage == EPhoneKeyLongPress { // Display call in progress information note - CPhoneState::SendGlobalInfoNoteL( EPhoneCallInProgress ); + CPhoneState::SendGlobalInfoNoteL( EPhoneCallInProgress, ETrue ); } break; @@ -684,6 +684,7 @@ CPhoneState::HandleAudioOutputChangedL(); // Update the call setup CBA UpdateInCallCbaL(); + SetTouchPaneButtons(0); } // ----------------------------------------------------------- diff -r 6b911d05207e -r bc5a64e5bc3c phoneapp/phoneuicontrol/src/cphonestateidle.cpp --- a/phoneapp/phoneuicontrol/src/cphonestateidle.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneapp/phoneuicontrol/src/cphonestateidle.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -37,6 +37,7 @@ #include "tphonecmdparaminteger.h" #include "tphonecmdparamboolean.h" #include "tphonecmdparamglobalnote.h" +#include "tphonecmdparamkeycapture.h" #include "tphonecmdparamstring.h" #include "tphonecmdparamboolean.h" #include "mphonestatemachine.h" @@ -343,7 +344,7 @@ break; case MEngineMonitor::EPEMessageInValidEmergencyNumber: - SendGlobalWarningNoteL( EPhoneEmergencyCallsOnly ); + SendGlobalWarningNoteL( EPhoneEmergencyCallsOnly, ETrue ); break; case MEngineMonitor::EPEMessageValidEmergencyNumber: @@ -692,6 +693,10 @@ // Remove any phone dialogs if they are displayed iViewCommandHandle->ExecuteCommandL( EPhoneViewRemovePhoneDialogs ); + TPhoneCmdParamKeyCapture captureParam; + captureParam.SetKeyCode( EKeyNo ); + iViewCommandHandle->ExecuteCommand( EPhoneViewStartCapturingKey, &captureParam ); + // Capture keys when there is an incoming call CaptureKeysDuringCallNotificationL( ETrue ); @@ -736,6 +741,10 @@ // Close menu bar, if it is displayed iViewCommandHandle->ExecuteCommandL( EPhoneViewMenuBarClose ); + TPhoneCmdParamKeyCapture captureParam; + captureParam.SetKeyCode( EKeyNo ); + iViewCommandHandle->ExecuteCommand( EPhoneViewStartCapturingKey, &captureParam ); + // Capture keys when the phone is dialling CaptureKeysDuringCallNotificationL( ETrue ); @@ -1019,46 +1028,7 @@ // void CPhoneStateIdle::ChangeMannerModeL() { - __LOGMETHODSTARTEND( EPhoneControl, "CPhoneStateIdle::ChangeMannerModeL( ) "); - - // Get the profile information - const TInt profileId = - iStateMachine->PhoneEngineInfo()->ProfileId(); - TInt newProfile; - - if ( profileId == EProfileSilentId ) - { - newProfile = EProfileGeneralId; - } - else - { - newProfile = EProfileSilentId; - } - - if ( !iEngine ) - { - iEngine = CreateProfileEngineL(); - } - - iEngine->SetActiveProfileL( newProfile ); - - // Stop playing DTMF tone - iStateMachine->SendPhoneEngineMessage( MPEPhoneModel::EPEMessageEndDTMF ); - - if ( !iOnScreenDialer ) - { - // Remove the number entry - iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveNumberEntry ); - } - else - { - NumberEntryClearL(); - } - - iCbaManager->UpdateCbaL( EPhoneEmptyCBA ); - - // Bring Idle app to the top app - iViewCommandHandle->ExecuteCommandL( EPhoneViewSetIdleTopApplication ); + __LOGMETHODSTARTEND( EPhoneControl, "CPhoneStateIdle::ChangeMannerModeL( ) "); } // ----------------------------------------------------------- diff -r 6b911d05207e -r bc5a64e5bc3c phoneapp/phoneuicontrol/src/cphonestateincall.cpp --- a/phoneapp/phoneuicontrol/src/cphonestateincall.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneapp/phoneuicontrol/src/cphonestateincall.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -34,6 +34,7 @@ #include "tphonecmdparamnote.h" #include "tphonecmdparamquery.h" #include "tphonecmdparamcallstatedata.h" +#include "tphonecmdparamkeycapture.h" #include "tphonecmdparamsfidata.h" #include "mphonestatemachine.h" #include "phonestatedefinitions.h" @@ -219,7 +220,7 @@ break; case MEngineMonitor::EPEMessageInValidEmergencyNumber: - SendGlobalErrorNoteL( EPhoneNoteTextNotAllowed ); + SendGlobalErrorNoteL( EPhoneNoteTextNotAllowed, ETrue ); break; case MEngineMonitor::EPEMessageValidEmergencyNumber: @@ -330,6 +331,10 @@ // Display call termination note, if necessary DisplayCallTerminationNoteL(); + TPhoneCmdParamKeyCapture captureParam; + captureParam.SetKeyCode( EKeyNo ); + iViewCommandHandle->ExecuteCommand( EPhoneViewStopCapturingKey, &captureParam ); + CleanupStack::PopAndDestroy( phoneNumber ); // Go to idle state iStateMachine->ChangeState( EPhoneStateIdle ); @@ -403,6 +408,8 @@ // Go to current state implementation UpdateInCallCbaL(); } + + SetTouchPaneButtons(0); } // ----------------------------------------------------------- @@ -1223,7 +1230,7 @@ state ); if ( state == EPSHWRMGripOpen ) { - SendGlobalErrorNoteL( EPhoneNoteTextNotAllowed ); + SendGlobalErrorNoteL( EPhoneNoteTextNotAllowed, ETrue ); } else { @@ -1479,7 +1486,7 @@ else // aMessage == EPhoneKeyLongPress { // Display call in progress information note - SendGlobalInfoNoteL( EPhoneCallInProgress ); + SendGlobalInfoNoteL( EPhoneCallInProgress, ETrue ); } } diff -r 6b911d05207e -r bc5a64e5bc3c phoneapp/phoneuicontrol/src/cphonestatestartup.cpp --- a/phoneapp/phoneuicontrol/src/cphonestatestartup.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneapp/phoneuicontrol/src/cphonestatestartup.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -72,20 +72,20 @@ // CAPTURE KEY EVENTS PERMANENTLY // Capture the up and down events for the No key - TPhoneCmdParamKeyCapture noKeyCaptureParam; + /*TPhoneCmdParamKeyCapture noKeyCaptureParam; noKeyCaptureParam.SetKey( EStdKeyNo ); noKeyCaptureParam.SetKeyCode( EKeyNo ); noKeyCaptureParam.SetCaptureType( EPhoneKeyAllEvents ); iViewCommandHandle->ExecuteCommandL( EPhoneViewStartCapturingKey, - &noKeyCaptureParam ); + &noKeyCaptureParam );*/ // Capture the up and down events for the EStdKeyEnd key - TPhoneCmdParamKeyCapture endKeyCaptureParam; + /*TPhoneCmdParamKeyCapture endKeyCaptureParam; endKeyCaptureParam.SetKey( EStdKeyEnd ); endKeyCaptureParam.SetKeyCode( EKeyEnd ); endKeyCaptureParam.SetCaptureType( EPhoneKeyAllEvents ); iViewCommandHandle->ExecuteCommandL( EPhoneViewStartCapturingKey, - &endKeyCaptureParam ); + &endKeyCaptureParam );*/ } // ----------------------------------------------------------- @@ -182,7 +182,7 @@ // if the phone engine is not ready. if ( iPhoneReady && !iPEReady ) { - SendGlobalErrorNoteL( EPhoneNoteTextPEFailedAtStartup ); + SendGlobalErrorNoteL( EPhoneNoteTextPEFailedAtStartup, ETrue ); } } diff -r 6b911d05207e -r bc5a64e5bc3c phoneapp/phoneuicontrol/src/cphoneuicontroller.cpp --- a/phoneapp/phoneuicontrol/src/cphoneuicontroller.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneapp/phoneuicontrol/src/cphoneuicontroller.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -31,7 +31,6 @@ #include "phonelogger.h" #include "phoneconstants.h" #include "phoneui.pan" -#include "cphonekeyeventforwarder.h" #include "cphonecenrepproxy.h" #include "cphonemediatorfactory.h" #include "tphonecmdparamnumberentryobserver.h" @@ -153,7 +152,6 @@ delete iRemoteControlHandler; delete iSystemEventHandler; delete iEngineHandler; - delete iKeyEventForwarder; delete iStateHandle; } diff -r 6b911d05207e -r bc5a64e5bc3c phoneapp/phoneuiqtviewadapter/bwins/phoneuiqtviewadapteru.def --- a/phoneapp/phoneuiqtviewadapter/bwins/phoneuiqtviewadapteru.def Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneapp/phoneuiqtviewadapter/bwins/phoneuiqtviewadapteru.def Tue Jul 06 14:15:47 2010 +0300 @@ -1,100 +1,102 @@ EXPORTS ?removeDialpad@PhoneUIQtViewAdapter@@AAEXXZ @ 1 NONAME ; void PhoneUIQtViewAdapter::removeDialpad(void) ?defaultToolbarResourceId@PhoneResourceAdapter@@QBEHXZ @ 2 NONAME ; int PhoneResourceAdapter::defaultToolbarResourceId(void) const - ??1PhoneUIQtViewAdapter@@UAE@XZ @ 3 NONAME ; PhoneUIQtViewAdapter::~PhoneUIQtViewAdapter(void) - ?createEmergencyCallHeader@PhoneUIQtViewAdapter@@AAEXHPAVTPhoneCommandParam@@@Z @ 4 NONAME ; void PhoneUIQtViewAdapter::createEmergencyCallHeader(int, class TPhoneCommandParam *) - ??0PhoneResourceAdapter@@IAE@PAVQObject@@@Z @ 5 NONAME ; PhoneResourceAdapter::PhoneResourceAdapter(class QObject *) - ?convertToString@PhoneResourceAdapter@@QBE?AVQString@@H@Z @ 6 NONAME ; class QString PhoneResourceAdapter::convertToString(int) const + ?openContacts@PhoneUIQtViewAdapter@@AAEXXZ @ 3 NONAME ; void PhoneUIQtViewAdapter::openContacts(void) + ??1PhoneUIQtViewAdapter@@UAE@XZ @ 4 NONAME ; PhoneUIQtViewAdapter::~PhoneUIQtViewAdapter(void) + ?createEmergencyCallHeader@PhoneUIQtViewAdapter@@AAEXHPAVTPhoneCommandParam@@@Z @ 5 NONAME ; void PhoneUIQtViewAdapter::createEmergencyCallHeader(int, class TPhoneCommandParam *) + ??0PhoneResourceAdapter@@IAE@PAVQObject@@@Z @ 6 NONAME ; PhoneResourceAdapter::PhoneResourceAdapter(class QObject *) ?addToConference@PhoneUIQtViewAdapter@@AAEXXZ @ 7 NONAME ; void PhoneUIQtViewAdapter::addToConference(void) - ?createConferenceBubble@PhoneUIQtViewAdapter@@AAEXHPAVTPhoneCommandParam@@@Z @ 8 NONAME ; void PhoneUIQtViewAdapter::createConferenceBubble(int, class TPhoneCommandParam *) - ?callsExists@PhoneUIQtViewAdapter@@AAE_NHH@Z @ 9 NONAME ; bool PhoneUIQtViewAdapter::callsExists(int, int) - ?ExecuteCommandL@PhoneUIQtViewAdapter@@UAEXHHAAVTDesC16@@@Z @ 10 NONAME ; void PhoneUIQtViewAdapter::ExecuteCommandL(int, int, class TDesC16 &) - ?tr@PhoneResourceAdapter@@SA?AVQString@@PBD0H@Z @ 11 NONAME ; class QString PhoneResourceAdapter::tr(char const *, char const *, int) - ?convert@PhoneResourceAdapter@@QAA?AV?$QMap@W4ActionType@PhoneAction@@PAV2@@@HZZ @ 12 NONAME ; class QMap PhoneResourceAdapter::convert(int, ...) - ?ExecuteCommandL@PhoneUIQtViewAdapter@@UAEXHH@Z @ 13 NONAME ; void PhoneUIQtViewAdapter::ExecuteCommandL(int, int) - ?noteController@PhoneUIQtViewAdapter@@QBEPAVPhoneNoteController@@XZ @ 14 NONAME ; class PhoneNoteController * PhoneUIQtViewAdapter::noteController(void) const - ??_EPhoneResourceAdapter@@UAE@I@Z @ 15 NONAME ; PhoneResourceAdapter::~PhoneResourceAdapter(unsigned int) - ?tr@PhoneResourceAdapter@@SA?AVQString@@PBD0@Z @ 16 NONAME ; class QString PhoneResourceAdapter::tr(char const *, char const *) - ?trUtf8@PhoneResourceAdapter@@SA?AVQString@@PBD0@Z @ 17 NONAME ; class QString PhoneResourceAdapter::trUtf8(char const *, char const *) - ?getStaticMetaObject@PhoneResourceAdapter@@SAABUQMetaObject@@XZ @ 18 NONAME ; struct QMetaObject const & PhoneResourceAdapter::getStaticMetaObject(void) - ?getDialpadStringLength@PhoneUIQtViewAdapter@@AAEXPAVTPhoneCommandParam@@@Z @ 19 NONAME ; void PhoneUIQtViewAdapter::getDialpadStringLength(class TPhoneCommandParam *) - ?trUtf8@PhoneResourceAdapter@@SA?AVQString@@PBD0H@Z @ 20 NONAME ; class QString PhoneResourceAdapter::trUtf8(char const *, char const *, int) - ?convertCommandToString@PhoneResourceAdapter@@QBE?AVQString@@H@Z @ 21 NONAME ; class QString PhoneResourceAdapter::convertCommandToString(int) const - ?activeCallCount@PhoneUIQtViewAdapter@@AAEXPAVTPhoneCommandParam@@@Z @ 22 NONAME ; void PhoneUIQtViewAdapter::activeCallCount(class TPhoneCommandParam *) - ?setTouchButtons@PhoneUIQtViewAdapter@@AAEXPAVTPhoneCommandParam@@@Z @ 23 NONAME ; void PhoneUIQtViewAdapter::setTouchButtons(class TPhoneCommandParam *) - ?setExpandActions@PhoneUIQtViewAdapter@@AAEXXZ @ 24 NONAME ; void PhoneUIQtViewAdapter::setExpandActions(void) - ?qt_metacast@PhoneUIQtViewAdapter@@UAEPAXPBD@Z @ 25 NONAME ; void * PhoneUIQtViewAdapter::qt_metacast(char const *) - ?Instance@PhoneResourceAdapter@@SAPAV1@PAVQObject@@@Z @ 26 NONAME ; class PhoneResourceAdapter * PhoneResourceAdapter::Instance(class QObject *) - ?setTopApplication@PhoneUIQtViewAdapter@@AAEXPAVTPhoneCommandParam@@@Z @ 27 NONAME ; void PhoneUIQtViewAdapter::setTopApplication(class TPhoneCommandParam *) - ?getNumberFromDialpad@PhoneUIQtViewAdapter@@AAEXPAVTPhoneCommandParam@@@Z @ 28 NONAME ; void PhoneUIQtViewAdapter::getNumberFromDialpad(class TPhoneCommandParam *) - ?isConference@PhoneUIQtViewAdapter@@AAEXPAVTPhoneCommandParam@@@Z @ 29 NONAME ; void PhoneUIQtViewAdapter::isConference(class TPhoneCommandParam *) - ?convertToString@PhoneResourceAdapter@@QBE?AVQString@@HABV2@@Z @ 30 NONAME ; class QString PhoneResourceAdapter::convertToString(int, class QString const &) const - ?qt_metacast@PhoneResourceAdapter@@UAEPAXPBD@Z @ 31 NONAME ; void * PhoneResourceAdapter::qt_metacast(char const *) - ??0PhoneUIQtViewAdapter@@QAE@AAVPhoneUIQtViewIF@@PAVQObject@@@Z @ 32 NONAME ; PhoneUIQtViewAdapter::PhoneUIQtViewAdapter(class PhoneUIQtViewIF &, class QObject *) - ?ExecuteCommand@PhoneUIQtViewAdapter@@UAEXHPAVTPhoneCommandParam@@@Z @ 33 NONAME ; void PhoneUIQtViewAdapter::ExecuteCommand(int, class TPhoneCommandParam *) - ?keyReleased@PhoneUIQtViewAdapter@@AAEXPAVQKeyEvent@@@Z @ 34 NONAME ; void PhoneUIQtViewAdapter::keyReleased(class QKeyEvent *) - ?bringToForeground@PhoneUIQtViewAdapter@@AAEXXZ @ 35 NONAME ; void PhoneUIQtViewAdapter::bringToForeground(void) - ??_EPhoneUIQtViewAdapter@@UAE@I@Z @ 36 NONAME ; PhoneUIQtViewAdapter::~PhoneUIQtViewAdapter(unsigned int) - ?buttonsController@PhoneResourceAdapter@@QAEPAVPhoneUIQtButtonsController@@XZ @ 37 NONAME ; class PhoneUIQtButtonsController * PhoneResourceAdapter::buttonsController(void) - ?updateCallHeaderState@PhoneUIQtViewAdapter@@AAEXHPAVTPhoneCommandParam@@@Z @ 38 NONAME ; void PhoneUIQtViewAdapter::updateCallHeaderState(int, class TPhoneCommandParam *) - ?setExpandedConferenceCallHeader@PhoneUIQtViewAdapter@@AAEXXZ @ 39 NONAME ; void PhoneUIQtViewAdapter::setExpandedConferenceCallHeader(void) - ?HandleCommandL@PhoneUIQtViewAdapter@@UAEHHPAVTPhoneCommandParam@@@Z @ 40 NONAME ; int PhoneUIQtViewAdapter::HandleCommandL(int, class TPhoneCommandParam *) - ?setDialpadMenu@PhoneUIQtViewAdapter@@AAEXXZ @ 41 NONAME ; void PhoneUIQtViewAdapter::setDialpadMenu(void) - ?callIdByState@PhoneUIQtViewAdapter@@AAEHPAVTPhoneCommandParam@@@Z @ 42 NONAME ; int PhoneUIQtViewAdapter::callIdByState(class TPhoneCommandParam *) - ?ExecuteCommandL@PhoneUIQtViewAdapter@@UAEXHPAVTPhoneCommandParam@@@Z @ 43 NONAME ; void PhoneUIQtViewAdapter::ExecuteCommandL(int, class TPhoneCommandParam *) - ?setDialpadVisibility@PhoneUIQtViewAdapter@@AAEXPAVTPhoneCommandParam@@@Z @ 44 NONAME ; void PhoneUIQtViewAdapter::setDialpadVisibility(class TPhoneCommandParam *) - ?ExecuteCommandL@PhoneUIQtViewAdapter@@UAEXHHPAVTPhoneCommandParam@@@Z @ 45 NONAME ; void PhoneUIQtViewAdapter::ExecuteCommandL(int, int, class TPhoneCommandParam *) - ?removeConferenceBubble@PhoneUIQtViewAdapter@@AAEXXZ @ 46 NONAME ; void PhoneUIQtViewAdapter::removeConferenceBubble(void) - ?showGlobalNote@PhoneUIQtViewAdapter@@AAEXPAVTPhoneCommandParam@@@Z @ 47 NONAME ; void PhoneUIQtViewAdapter::showGlobalNote(class TPhoneCommandParam *) - ?getSelectedConferenceMember@PhoneUIQtViewAdapter@@AAEHPAVTPhoneCommandParam@@@Z @ 48 NONAME ; int PhoneUIQtViewAdapter::getSelectedConferenceMember(class TPhoneCommandParam *) - ?metaObject@PhoneUIQtViewAdapter@@UBEPBUQMetaObject@@XZ @ 49 NONAME ; struct QMetaObject const * PhoneUIQtViewAdapter::metaObject(void) const - ?dialpadClosed@PhoneUIQtViewAdapter@@AAEXXZ @ 50 NONAME ; void PhoneUIQtViewAdapter::dialpadClosed(void) - ?removeAllCallHeaders@PhoneUIQtViewAdapter@@AAEXXZ @ 51 NONAME ; void PhoneUIQtViewAdapter::removeAllCallHeaders(void) - ?idleAppUid@PhoneUIQtViewAdapter@@AAEHXZ @ 52 NONAME ; int PhoneUIQtViewAdapter::idleAppUid(void) - ?setCallHoldFlag@PhoneUIQtViewAdapter@@AAEXPAVTPhoneCommandParam@@@Z @ 53 NONAME ; void PhoneUIQtViewAdapter::setCallHoldFlag(class TPhoneCommandParam *) - ?setPrivateFromConference@PhoneUIQtViewAdapter@@AAEXH@Z @ 54 NONAME ; void PhoneUIQtViewAdapter::setPrivateFromConference(int) - ?setCallMenu@PhoneUIQtViewAdapter@@AAEXXZ @ 55 NONAME ; void PhoneUIQtViewAdapter::setCallMenu(void) - ?setAudioVolumeSliderValue@PhoneUIQtViewAdapter@@AAEXPAVTPhoneCommandParam@@@Z @ 56 NONAME ; void PhoneUIQtViewAdapter::setAudioVolumeSliderValue(class TPhoneCommandParam *) - ?qt_metacall@PhoneUIQtViewAdapter@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 57 NONAME ; int PhoneUIQtViewAdapter::qt_metacall(enum QMetaObject::Call, int, void * *) - ??1PhoneResourceAdapter@@UAE@XZ @ 58 NONAME ; PhoneResourceAdapter::~PhoneResourceAdapter(void) - ?removeCallFromConference@PhoneUIQtViewAdapter@@AAEXH@Z @ 59 NONAME ; void PhoneUIQtViewAdapter::removeCallFromConference(int) - ?tr@PhoneUIQtViewAdapter@@SA?AVQString@@PBD0H@Z @ 60 NONAME ; class QString PhoneUIQtViewAdapter::tr(char const *, char const *, int) - ?staticMetaObject@PhoneResourceAdapter@@2UQMetaObject@@B @ 61 NONAME ; struct QMetaObject const PhoneResourceAdapter::staticMetaObject - ?staticMetaObject@PhoneUIQtViewAdapter@@2UQMetaObject@@B @ 62 NONAME ; struct QMetaObject const PhoneUIQtViewAdapter::staticMetaObject - ?ExecuteCommandL@PhoneUIQtViewAdapter@@UAEXH@Z @ 63 NONAME ; void PhoneUIQtViewAdapter::ExecuteCommandL(int) - ?trUtf8@PhoneUIQtViewAdapter@@SA?AVQString@@PBD0H@Z @ 64 NONAME ; class QString PhoneUIQtViewAdapter::trUtf8(char const *, char const *, int) - ?setMuteIndication@PhoneUIQtViewAdapter@@AAEXPAVTPhoneCommandParam@@@Z @ 65 NONAME ; void PhoneUIQtViewAdapter::setMuteIndication(class TPhoneCommandParam *) - ?HandleCommandL@PhoneUIQtViewAdapter@@UAEHH@Z @ 66 NONAME ; int PhoneUIQtViewAdapter::HandleCommandL(int) - ?showNote@PhoneUIQtViewAdapter@@AAEXPAVTPhoneCommandParam@@@Z @ 67 NONAME ; void PhoneUIQtViewAdapter::showNote(class TPhoneCommandParam *) - ?FetchContent@PhoneUIQtViewAdapter@@UAEABVTDesC16@@XZ @ 68 NONAME ; class TDesC16 const & PhoneUIQtViewAdapter::FetchContent(void) - ?writeAudioVolumeLevel@PhoneUIQtViewAdapter@@AAEXPAVTPhoneCommandParam@@@Z @ 69 NONAME ; void PhoneUIQtViewAdapter::writeAudioVolumeLevel(class TPhoneCommandParam *) - ?conferenceCallId@PhoneUIQtViewAdapter@@AAEXHPAVTPhoneCommandParam@@@Z @ 70 NONAME ; void PhoneUIQtViewAdapter::conferenceCallId(int, class TPhoneCommandParam *) - ?setMenu@PhoneUIQtViewAdapter@@AAEXXZ @ 71 NONAME ; void PhoneUIQtViewAdapter::setMenu(void) - ?trUtf8@PhoneUIQtViewAdapter@@SA?AVQString@@PBD0@Z @ 72 NONAME ; class QString PhoneUIQtViewAdapter::trUtf8(char const *, char const *) - ?tr@PhoneUIQtViewAdapter@@SA?AVQString@@PBD0@Z @ 73 NONAME ; class QString PhoneUIQtViewAdapter::tr(char const *, char const *) - ?getStaticMetaObject@PhoneUIQtViewAdapter@@SAABUQMetaObject@@XZ @ 74 NONAME ; struct QMetaObject const & PhoneUIQtViewAdapter::getStaticMetaObject(void) - ?updateCallHeaderRemoteInfoAndLabel@PhoneUIQtViewAdapter@@AAEXHPAVTPhoneCommandParam@@@Z @ 75 NONAME ; void PhoneUIQtViewAdapter::updateCallHeaderRemoteInfoAndLabel(int, class TPhoneCommandParam *) - ?updateCallHeaderRemoteInfo@PhoneUIQtViewAdapter@@AAEXHPAVTPhoneCommandParam@@@Z @ 76 NONAME ; void PhoneUIQtViewAdapter::updateCallHeaderRemoteInfo(int, class TPhoneCommandParam *) - ?qt_metacall@PhoneResourceAdapter@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 77 NONAME ; int PhoneResourceAdapter::qt_metacall(enum QMetaObject::Call, int, void * *) - ?callHoldFlag@PhoneUIQtViewAdapter@@AAEXPAVTPhoneCommandParam@@@Z @ 78 NONAME ; void PhoneUIQtViewAdapter::callHoldFlag(class TPhoneCommandParam *) - ?setToolbarButtons@PhoneUIQtViewAdapter@@AAEXPAVTPhoneCommandParam@@@Z @ 79 NONAME ; void PhoneUIQtViewAdapter::setToolbarButtons(class TPhoneCommandParam *) - ?setAudioPath@PhoneUIQtViewAdapter@@AAEXPAVTPhoneCommandParam@@@Z @ 80 NONAME ; void PhoneUIQtViewAdapter::setAudioPath(class TPhoneCommandParam *) - ?expandedBubbleCallId@PhoneUIQtViewAdapter@@AAEXPAVTPhoneCommandParam@@@Z @ 81 NONAME ; void PhoneUIQtViewAdapter::expandedBubbleCallId(class TPhoneCommandParam *) - ?openDialpad@PhoneUIQtViewAdapter@@AAEXXZ @ 82 NONAME ; void PhoneUIQtViewAdapter::openDialpad(void) - ?createCallHeader@PhoneUIQtViewAdapter@@AAEXHPAVTPhoneCommandParam@@@Z @ 83 NONAME ; void PhoneUIQtViewAdapter::createCallHeader(int, class TPhoneCommandParam *) - ?ExecuteCommand@PhoneUIQtViewAdapter@@UAEXH@Z @ 84 NONAME ; void PhoneUIQtViewAdapter::ExecuteCommand(int) - ?metaObject@PhoneResourceAdapter@@UBEPBUQMetaObject@@XZ @ 85 NONAME ; struct QMetaObject const * PhoneResourceAdapter::metaObject(void) const - ?setParticipantListActions@PhoneUIQtViewAdapter@@AAEXXZ @ 86 NONAME ; void PhoneUIQtViewAdapter::setParticipantListActions(void) - ?convertToHbActions@PhoneResourceAdapter@@QBE?AV?$QList@PAVHbAction@@@@H@Z @ 87 NONAME ; class QList PhoneResourceAdapter::convertToHbActions(int) const - ?convertDuration@PhoneUIQtViewAdapter@@AAE?AVQString@@H@Z @ 88 NONAME ; class QString PhoneUIQtViewAdapter::convertDuration(int) - ?setBubbleSelectionFlag@PhoneUIQtViewAdapter@@AAEXXZ @ 89 NONAME ; void PhoneUIQtViewAdapter::setBubbleSelectionFlag(void) - ?handleCipheringInfoChange@PhoneUIQtViewAdapter@@AAEXHPAVTPhoneCommandParam@@@Z @ 90 NONAME ; void PhoneUIQtViewAdapter::handleCipheringInfoChange(int, class TPhoneCommandParam *) - ?openContacts@PhoneUIQtViewAdapter@@AAEXXZ @ 91 NONAME ; void PhoneUIQtViewAdapter::openContacts(void) - ?setHidden@PhoneUIQtViewAdapter@@AAEX_N@Z @ 92 NONAME ; void PhoneUIQtViewAdapter::setHidden(bool) - ?handleWindowDeactivated@PhoneUIQtViewAdapter@@AAEXXZ @ 93 NONAME ; void PhoneUIQtViewAdapter::handleWindowDeactivated(void) - ?SetHiddenL@PhoneUIQtViewAdapter@@AAEX_N@Z @ 94 NONAME ; void PhoneUIQtViewAdapter::SetHiddenL(bool) - ?handleWindowActivated@PhoneUIQtViewAdapter@@AAEXXZ @ 95 NONAME ; void PhoneUIQtViewAdapter::handleWindowActivated(void) - ?hideDeviceDialogs@PhoneUIQtViewAdapter@@AAEXPAVTPhoneCommandParam@@@Z @ 96 NONAME ; void PhoneUIQtViewAdapter::hideDeviceDialogs(class TPhoneCommandParam *) - ?convertToToolBarCommandList@PhoneResourceAdapter@@QBE?AV?$QList@VToolBarItem@PhoneAction@@@@H@Z @ 97 NONAME ; class QList PhoneResourceAdapter::convertToToolBarCommandList(int) const - ?openLogs@PhoneUIQtViewAdapter@@AAEXPAVTPhoneCommandParam@@@Z @ 98 NONAME ; void PhoneUIQtViewAdapter::openLogs(class TPhoneCommandParam *) + ?convertDuration@PhoneUIQtViewAdapter@@AAE?AVQString@@H@Z @ 8 NONAME ; class QString PhoneUIQtViewAdapter::convertDuration(int) + ?setBubbleSelectionFlag@PhoneUIQtViewAdapter@@AAEXXZ @ 9 NONAME ; void PhoneUIQtViewAdapter::setBubbleSelectionFlag(void) + ?createConferenceBubble@PhoneUIQtViewAdapter@@AAEXHPAVTPhoneCommandParam@@@Z @ 10 NONAME ; void PhoneUIQtViewAdapter::createConferenceBubble(int, class TPhoneCommandParam *) + ?convertToStringWithParam@PhoneResourceAdapter@@QBE?AVQString@@HABV2@@Z @ 11 NONAME ; class QString PhoneResourceAdapter::convertToStringWithParam(int, class QString const &) const + ?callsExists@PhoneUIQtViewAdapter@@AAE_NHH@Z @ 12 NONAME ; bool PhoneUIQtViewAdapter::callsExists(int, int) + ?ExecuteCommandL@PhoneUIQtViewAdapter@@UAEXHHAAVTDesC16@@@Z @ 13 NONAME ; void PhoneUIQtViewAdapter::ExecuteCommandL(int, int, class TDesC16 &) + ?tr@PhoneResourceAdapter@@SA?AVQString@@PBD0H@Z @ 14 NONAME ; class QString PhoneResourceAdapter::tr(char const *, char const *, int) + ?convert@PhoneResourceAdapter@@QAA?AV?$QMap@W4ActionType@PhoneAction@@PAV2@@@HZZ @ 15 NONAME ; class QMap PhoneResourceAdapter::convert(int, ...) + ?convertToHbActions@PhoneResourceAdapter@@QBE?AV?$QList@PAVHbAction@@@@H@Z @ 16 NONAME ; class QList PhoneResourceAdapter::convertToHbActions(int) const + ?ExecuteCommandL@PhoneUIQtViewAdapter@@UAEXHH@Z @ 17 NONAME ; void PhoneUIQtViewAdapter::ExecuteCommandL(int, int) + ?noteController@PhoneUIQtViewAdapter@@QBEPAVPhoneNoteController@@XZ @ 18 NONAME ; class PhoneNoteController * PhoneUIQtViewAdapter::noteController(void) const + ??_EPhoneResourceAdapter@@UAE@I@Z @ 19 NONAME ; PhoneResourceAdapter::~PhoneResourceAdapter(unsigned int) + ?tr@PhoneResourceAdapter@@SA?AVQString@@PBD0@Z @ 20 NONAME ; class QString PhoneResourceAdapter::tr(char const *, char const *) + ?trUtf8@PhoneResourceAdapter@@SA?AVQString@@PBD0@Z @ 21 NONAME ; class QString PhoneResourceAdapter::trUtf8(char const *, char const *) + ?getStaticMetaObject@PhoneResourceAdapter@@SAABUQMetaObject@@XZ @ 22 NONAME ; struct QMetaObject const & PhoneResourceAdapter::getStaticMetaObject(void) + ?getDialpadStringLength@PhoneUIQtViewAdapter@@AAEXPAVTPhoneCommandParam@@@Z @ 23 NONAME ; void PhoneUIQtViewAdapter::getDialpadStringLength(class TPhoneCommandParam *) + ?trUtf8@PhoneResourceAdapter@@SA?AVQString@@PBD0H@Z @ 24 NONAME ; class QString PhoneResourceAdapter::trUtf8(char const *, char const *, int) + ?convertCommandToString@PhoneResourceAdapter@@QBE?AVQString@@H@Z @ 25 NONAME ; class QString PhoneResourceAdapter::convertCommandToString(int) const + ?activeCallCount@PhoneUIQtViewAdapter@@AAEXPAVTPhoneCommandParam@@@Z @ 26 NONAME ; void PhoneUIQtViewAdapter::activeCallCount(class TPhoneCommandParam *) + ?setTouchButtons@PhoneUIQtViewAdapter@@AAEXPAVTPhoneCommandParam@@@Z @ 27 NONAME ; void PhoneUIQtViewAdapter::setTouchButtons(class TPhoneCommandParam *) + ?setExpandActions@PhoneUIQtViewAdapter@@AAEXXZ @ 28 NONAME ; void PhoneUIQtViewAdapter::setExpandActions(void) + ?qt_metacast@PhoneUIQtViewAdapter@@UAEPAXPBD@Z @ 29 NONAME ; void * PhoneUIQtViewAdapter::qt_metacast(char const *) + ?Instance@PhoneResourceAdapter@@SAPAV1@PAVQObject@@@Z @ 30 NONAME ; class PhoneResourceAdapter * PhoneResourceAdapter::Instance(class QObject *) + ?handleCipheringInfoChange@PhoneUIQtViewAdapter@@AAEXHPAVTPhoneCommandParam@@@Z @ 31 NONAME ; void PhoneUIQtViewAdapter::handleCipheringInfoChange(int, class TPhoneCommandParam *) + ?setTopApplication@PhoneUIQtViewAdapter@@AAEXPAVTPhoneCommandParam@@@Z @ 32 NONAME ; void PhoneUIQtViewAdapter::setTopApplication(class TPhoneCommandParam *) + ?getNumberFromDialpad@PhoneUIQtViewAdapter@@AAEXPAVTPhoneCommandParam@@@Z @ 33 NONAME ; void PhoneUIQtViewAdapter::getNumberFromDialpad(class TPhoneCommandParam *) + ?openLogs@PhoneUIQtViewAdapter@@AAEXPAVTPhoneCommandParam@@@Z @ 34 NONAME ; void PhoneUIQtViewAdapter::openLogs(class TPhoneCommandParam *) + ?isConference@PhoneUIQtViewAdapter@@AAEXPAVTPhoneCommandParam@@@Z @ 35 NONAME ; void PhoneUIQtViewAdapter::isConference(class TPhoneCommandParam *) + ?convertToString@PhoneResourceAdapter@@QBE?AVQString@@HABV2@@Z @ 36 NONAME ; class QString PhoneResourceAdapter::convertToString(int, class QString const &) const + ?qt_metacast@PhoneResourceAdapter@@UAEPAXPBD@Z @ 37 NONAME ; void * PhoneResourceAdapter::qt_metacast(char const *) + ??0PhoneUIQtViewAdapter@@QAE@AAVPhoneUIQtViewIF@@PAVQObject@@@Z @ 38 NONAME ; PhoneUIQtViewAdapter::PhoneUIQtViewAdapter(class PhoneUIQtViewIF &, class QObject *) + ?ExecuteCommand@PhoneUIQtViewAdapter@@UAEXHPAVTPhoneCommandParam@@@Z @ 39 NONAME ; void PhoneUIQtViewAdapter::ExecuteCommand(int, class TPhoneCommandParam *) + ?keyReleased@PhoneUIQtViewAdapter@@AAEXPAVQKeyEvent@@@Z @ 40 NONAME ; void PhoneUIQtViewAdapter::keyReleased(class QKeyEvent *) + ?setCommonButtonFlags@PhoneUIQtViewAdapter@@AAEXXZ @ 41 NONAME ; void PhoneUIQtViewAdapter::setCommonButtonFlags(void) + ?bringToForeground@PhoneUIQtViewAdapter@@AAEXXZ @ 42 NONAME ; void PhoneUIQtViewAdapter::bringToForeground(void) + ??_EPhoneUIQtViewAdapter@@UAE@I@Z @ 43 NONAME ; PhoneUIQtViewAdapter::~PhoneUIQtViewAdapter(unsigned int) + ?buttonsController@PhoneResourceAdapter@@QAEPAVPhoneUIQtButtonsController@@XZ @ 44 NONAME ; class PhoneUIQtButtonsController * PhoneResourceAdapter::buttonsController(void) + ?convertKey@PhoneUIQtViewAdapter@@AAE_NW4TKeyCode@@AAW4Key@Qt@@@Z @ 45 NONAME ; bool PhoneUIQtViewAdapter::convertKey(enum TKeyCode, enum Qt::Key &) + ?updateCallHeaderState@PhoneUIQtViewAdapter@@AAEXHPAVTPhoneCommandParam@@@Z @ 46 NONAME ; void PhoneUIQtViewAdapter::updateCallHeaderState(int, class TPhoneCommandParam *) + ?setExpandedConferenceCallHeader@PhoneUIQtViewAdapter@@AAEXXZ @ 47 NONAME ; void PhoneUIQtViewAdapter::setExpandedConferenceCallHeader(void) + ?HandleCommandL@PhoneUIQtViewAdapter@@UAEHHPAVTPhoneCommandParam@@@Z @ 48 NONAME ; int PhoneUIQtViewAdapter::HandleCommandL(int, class TPhoneCommandParam *) + ?setHidden@PhoneUIQtViewAdapter@@AAEX_N@Z @ 49 NONAME ; void PhoneUIQtViewAdapter::setHidden(bool) + ?setDialpadMenu@PhoneUIQtViewAdapter@@AAEXXZ @ 50 NONAME ; void PhoneUIQtViewAdapter::setDialpadMenu(void) + ?callIdByState@PhoneUIQtViewAdapter@@AAEHPAVTPhoneCommandParam@@@Z @ 51 NONAME ; int PhoneUIQtViewAdapter::callIdByState(class TPhoneCommandParam *) + ?ExecuteCommandL@PhoneUIQtViewAdapter@@UAEXHPAVTPhoneCommandParam@@@Z @ 52 NONAME ; void PhoneUIQtViewAdapter::ExecuteCommandL(int, class TPhoneCommandParam *) + ?setDialpadVisibility@PhoneUIQtViewAdapter@@AAEXPAVTPhoneCommandParam@@@Z @ 53 NONAME ; void PhoneUIQtViewAdapter::setDialpadVisibility(class TPhoneCommandParam *) + ?ExecuteCommandL@PhoneUIQtViewAdapter@@UAEXHHPAVTPhoneCommandParam@@@Z @ 54 NONAME ; void PhoneUIQtViewAdapter::ExecuteCommandL(int, int, class TPhoneCommandParam *) + ?removeConferenceBubble@PhoneUIQtViewAdapter@@AAEXXZ @ 55 NONAME ; void PhoneUIQtViewAdapter::removeConferenceBubble(void) + ?showGlobalNote@PhoneUIQtViewAdapter@@AAEXPAVTPhoneCommandParam@@@Z @ 56 NONAME ; void PhoneUIQtViewAdapter::showGlobalNote(class TPhoneCommandParam *) + ?handleWindowDeactivated@PhoneUIQtViewAdapter@@AAEXXZ @ 57 NONAME ; void PhoneUIQtViewAdapter::handleWindowDeactivated(void) + ?getSelectedConferenceMember@PhoneUIQtViewAdapter@@AAEHPAVTPhoneCommandParam@@@Z @ 58 NONAME ; int PhoneUIQtViewAdapter::getSelectedConferenceMember(class TPhoneCommandParam *) + ?metaObject@PhoneUIQtViewAdapter@@UBEPBUQMetaObject@@XZ @ 59 NONAME ; struct QMetaObject const * PhoneUIQtViewAdapter::metaObject(void) const + ?dialpadClosed@PhoneUIQtViewAdapter@@AAEXXZ @ 60 NONAME ; void PhoneUIQtViewAdapter::dialpadClosed(void) + ?removeAllCallHeaders@PhoneUIQtViewAdapter@@AAEXXZ @ 61 NONAME ; void PhoneUIQtViewAdapter::removeAllCallHeaders(void) + ?setCallHoldFlag@PhoneUIQtViewAdapter@@AAEXPAVTPhoneCommandParam@@@Z @ 62 NONAME ; void PhoneUIQtViewAdapter::setCallHoldFlag(class TPhoneCommandParam *) + ?SetHiddenL@PhoneUIQtViewAdapter@@AAEX_N@Z @ 63 NONAME ; void PhoneUIQtViewAdapter::SetHiddenL(bool) + ?hideDeviceDialogs@PhoneUIQtViewAdapter@@AAEXPAVTPhoneCommandParam@@@Z @ 64 NONAME ; void PhoneUIQtViewAdapter::hideDeviceDialogs(class TPhoneCommandParam *) + ?idleAppUid@PhoneUIQtViewAdapter@@AAEHXZ @ 65 NONAME ; int PhoneUIQtViewAdapter::idleAppUid(void) + ?setPrivateFromConference@PhoneUIQtViewAdapter@@AAEXH@Z @ 66 NONAME ; void PhoneUIQtViewAdapter::setPrivateFromConference(int) + ?setCallMenu@PhoneUIQtViewAdapter@@AAEXXZ @ 67 NONAME ; void PhoneUIQtViewAdapter::setCallMenu(void) + ?setAudioVolumeSliderValue@PhoneUIQtViewAdapter@@AAEXPAVTPhoneCommandParam@@@Z @ 68 NONAME ; void PhoneUIQtViewAdapter::setAudioVolumeSliderValue(class TPhoneCommandParam *) + ?qt_metacall@PhoneUIQtViewAdapter@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 69 NONAME ; int PhoneUIQtViewAdapter::qt_metacall(enum QMetaObject::Call, int, void * *) + ??1PhoneResourceAdapter@@UAE@XZ @ 70 NONAME ; PhoneResourceAdapter::~PhoneResourceAdapter(void) + ?removeCallFromConference@PhoneUIQtViewAdapter@@AAEXH@Z @ 71 NONAME ; void PhoneUIQtViewAdapter::removeCallFromConference(int) + ?tr@PhoneUIQtViewAdapter@@SA?AVQString@@PBD0H@Z @ 72 NONAME ; class QString PhoneUIQtViewAdapter::tr(char const *, char const *, int) + ?staticMetaObject@PhoneResourceAdapter@@2UQMetaObject@@B @ 73 NONAME ; struct QMetaObject const PhoneResourceAdapter::staticMetaObject + ?staticMetaObject@PhoneUIQtViewAdapter@@2UQMetaObject@@B @ 74 NONAME ; struct QMetaObject const PhoneUIQtViewAdapter::staticMetaObject + ?ExecuteCommandL@PhoneUIQtViewAdapter@@UAEXH@Z @ 75 NONAME ; void PhoneUIQtViewAdapter::ExecuteCommandL(int) + ?trUtf8@PhoneUIQtViewAdapter@@SA?AVQString@@PBD0H@Z @ 76 NONAME ; class QString PhoneUIQtViewAdapter::trUtf8(char const *, char const *, int) + ?setMuteIndication@PhoneUIQtViewAdapter@@AAEXPAVTPhoneCommandParam@@@Z @ 77 NONAME ; void PhoneUIQtViewAdapter::setMuteIndication(class TPhoneCommandParam *) + ?convertToToolBarCommandList@PhoneResourceAdapter@@QBE?AV?$QList@VToolBarItem@PhoneAction@@@@H@Z @ 78 NONAME ; class QList PhoneResourceAdapter::convertToToolBarCommandList(int) const + ?HandleCommandL@PhoneUIQtViewAdapter@@UAEHH@Z @ 79 NONAME ; int PhoneUIQtViewAdapter::HandleCommandL(int) + ?showNote@PhoneUIQtViewAdapter@@AAEXPAVTPhoneCommandParam@@@Z @ 80 NONAME ; void PhoneUIQtViewAdapter::showNote(class TPhoneCommandParam *) + ?FetchContent@PhoneUIQtViewAdapter@@UAEABVTDesC16@@XZ @ 81 NONAME ; class TDesC16 const & PhoneUIQtViewAdapter::FetchContent(void) + ?writeAudioVolumeLevel@PhoneUIQtViewAdapter@@AAEXPAVTPhoneCommandParam@@@Z @ 82 NONAME ; void PhoneUIQtViewAdapter::writeAudioVolumeLevel(class TPhoneCommandParam *) + ?conferenceCallId@PhoneUIQtViewAdapter@@AAEXHPAVTPhoneCommandParam@@@Z @ 83 NONAME ; void PhoneUIQtViewAdapter::conferenceCallId(int, class TPhoneCommandParam *) + ?setMenu@PhoneUIQtViewAdapter@@AAEXXZ @ 84 NONAME ; void PhoneUIQtViewAdapter::setMenu(void) + ?trUtf8@PhoneUIQtViewAdapter@@SA?AVQString@@PBD0@Z @ 85 NONAME ; class QString PhoneUIQtViewAdapter::trUtf8(char const *, char const *) + ?tr@PhoneUIQtViewAdapter@@SA?AVQString@@PBD0@Z @ 86 NONAME ; class QString PhoneUIQtViewAdapter::tr(char const *, char const *) + ?getStaticMetaObject@PhoneUIQtViewAdapter@@SAABUQMetaObject@@XZ @ 87 NONAME ; struct QMetaObject const & PhoneUIQtViewAdapter::getStaticMetaObject(void) + ?updateCallHeaderRemoteInfoAndLabel@PhoneUIQtViewAdapter@@AAEXHPAVTPhoneCommandParam@@@Z @ 88 NONAME ; void PhoneUIQtViewAdapter::updateCallHeaderRemoteInfoAndLabel(int, class TPhoneCommandParam *) + ?updateCallHeaderRemoteInfo@PhoneUIQtViewAdapter@@AAEXHPAVTPhoneCommandParam@@@Z @ 89 NONAME ; void PhoneUIQtViewAdapter::updateCallHeaderRemoteInfo(int, class TPhoneCommandParam *) + ?qt_metacall@PhoneResourceAdapter@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 90 NONAME ; int PhoneResourceAdapter::qt_metacall(enum QMetaObject::Call, int, void * *) + ?callHoldFlag@PhoneUIQtViewAdapter@@AAEXPAVTPhoneCommandParam@@@Z @ 91 NONAME ; void PhoneUIQtViewAdapter::callHoldFlag(class TPhoneCommandParam *) + ?setToolbarButtons@PhoneUIQtViewAdapter@@AAEXPAVTPhoneCommandParam@@@Z @ 92 NONAME ; void PhoneUIQtViewAdapter::setToolbarButtons(class TPhoneCommandParam *) + ?setAudioPath@PhoneUIQtViewAdapter@@AAEXPAVTPhoneCommandParam@@@Z @ 93 NONAME ; void PhoneUIQtViewAdapter::setAudioPath(class TPhoneCommandParam *) + ?expandedBubbleCallId@PhoneUIQtViewAdapter@@AAEXPAVTPhoneCommandParam@@@Z @ 94 NONAME ; void PhoneUIQtViewAdapter::expandedBubbleCallId(class TPhoneCommandParam *) + ?openDialpad@PhoneUIQtViewAdapter@@AAEXXZ @ 95 NONAME ; void PhoneUIQtViewAdapter::openDialpad(void) + ?handleWindowActivated@PhoneUIQtViewAdapter@@AAEXXZ @ 96 NONAME ; void PhoneUIQtViewAdapter::handleWindowActivated(void) + ?createCallHeader@PhoneUIQtViewAdapter@@AAEXHPAVTPhoneCommandParam@@@Z @ 97 NONAME ; void PhoneUIQtViewAdapter::createCallHeader(int, class TPhoneCommandParam *) + ?ExecuteCommand@PhoneUIQtViewAdapter@@UAEXH@Z @ 98 NONAME ; void PhoneUIQtViewAdapter::ExecuteCommand(int) + ?metaObject@PhoneResourceAdapter@@UBEPBUQMetaObject@@XZ @ 99 NONAME ; struct QMetaObject const * PhoneResourceAdapter::metaObject(void) const + ?setParticipantListActions@PhoneUIQtViewAdapter@@AAEXXZ @ 100 NONAME ; void PhoneUIQtViewAdapter::setParticipantListActions(void) diff -r 6b911d05207e -r bc5a64e5bc3c phoneapp/phoneuiqtviewadapter/eabi/phoneuiqtviewadapteru.def --- a/phoneapp/phoneuiqtviewadapter/eabi/phoneuiqtviewadapteru.def Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneapp/phoneuiqtviewadapter/eabi/phoneuiqtviewadapteru.def Tue Jul 06 14:15:47 2010 +0300 @@ -11,102 +11,104 @@ _ZN20PhoneResourceAdapterD0Ev @ 10 NONAME _ZN20PhoneResourceAdapterD1Ev @ 11 NONAME _ZN20PhoneResourceAdapterD2Ev @ 12 NONAME - _ZN20PhoneUIQtViewAdapter10idleAppUidEv @ 13 NONAME - _ZN20PhoneUIQtViewAdapter11callsExistsEii @ 14 NONAME - _ZN20PhoneUIQtViewAdapter11keyReleasedEP9QKeyEvent @ 15 NONAME - _ZN20PhoneUIQtViewAdapter11openDialpadEv @ 16 NONAME - _ZN20PhoneUIQtViewAdapter11qt_metacallEN11QMetaObject4CallEiPPv @ 17 NONAME - _ZN20PhoneUIQtViewAdapter11qt_metacastEPKc @ 18 NONAME - _ZN20PhoneUIQtViewAdapter11setCallMenuEv @ 19 NONAME - _ZN20PhoneUIQtViewAdapter12FetchContentEv @ 20 NONAME - _ZN20PhoneUIQtViewAdapter12callHoldFlagEP18TPhoneCommandParam @ 21 NONAME - _ZN20PhoneUIQtViewAdapter12isConferenceEP18TPhoneCommandParam @ 22 NONAME - _ZN20PhoneUIQtViewAdapter12setAudioPathEP18TPhoneCommandParam @ 23 NONAME - _ZN20PhoneUIQtViewAdapter13callIdByStateEP18TPhoneCommandParam @ 24 NONAME - _ZN20PhoneUIQtViewAdapter13dialpadClosedEv @ 25 NONAME - _ZN20PhoneUIQtViewAdapter13removeDialpadEv @ 26 NONAME - _ZN20PhoneUIQtViewAdapter14ExecuteCommandEi @ 27 NONAME - _ZN20PhoneUIQtViewAdapter14ExecuteCommandEiP18TPhoneCommandParam @ 28 NONAME - _ZN20PhoneUIQtViewAdapter14HandleCommandLEi @ 29 NONAME - _ZN20PhoneUIQtViewAdapter14HandleCommandLEiP18TPhoneCommandParam @ 30 NONAME - _ZN20PhoneUIQtViewAdapter14setDialpadMenuEv @ 31 NONAME - _ZN20PhoneUIQtViewAdapter14showGlobalNoteEP18TPhoneCommandParam @ 32 NONAME - _ZN20PhoneUIQtViewAdapter15ExecuteCommandLEi @ 33 NONAME - _ZN20PhoneUIQtViewAdapter15ExecuteCommandLEiP18TPhoneCommandParam @ 34 NONAME - _ZN20PhoneUIQtViewAdapter15ExecuteCommandLEii @ 35 NONAME - _ZN20PhoneUIQtViewAdapter15ExecuteCommandLEiiP18TPhoneCommandParam @ 36 NONAME - _ZN20PhoneUIQtViewAdapter15ExecuteCommandLEiiR7TDesC16 @ 37 NONAME - _ZN20PhoneUIQtViewAdapter15activeCallCountEP18TPhoneCommandParam @ 38 NONAME - _ZN20PhoneUIQtViewAdapter15addToConferenceEv @ 39 NONAME - _ZN20PhoneUIQtViewAdapter15setCallHoldFlagEP18TPhoneCommandParam @ 40 NONAME - _ZN20PhoneUIQtViewAdapter15setTouchButtonsEP18TPhoneCommandParam @ 41 NONAME - _ZN20PhoneUIQtViewAdapter16conferenceCallIdEiP18TPhoneCommandParam @ 42 NONAME - _ZN20PhoneUIQtViewAdapter16createCallHeaderEiP18TPhoneCommandParam @ 43 NONAME - _ZN20PhoneUIQtViewAdapter16setExpandActionsEv @ 44 NONAME - _ZN20PhoneUIQtViewAdapter16staticMetaObjectE @ 45 NONAME DATA 16 - _ZN20PhoneUIQtViewAdapter17bringToForegroundEv @ 46 NONAME - _ZN20PhoneUIQtViewAdapter17setMuteIndicationEP18TPhoneCommandParam @ 47 NONAME - _ZN20PhoneUIQtViewAdapter17setToolbarButtonsEP18TPhoneCommandParam @ 48 NONAME - _ZN20PhoneUIQtViewAdapter17setTopApplicationEP18TPhoneCommandParam @ 49 NONAME - _ZN20PhoneUIQtViewAdapter19getStaticMetaObjectEv @ 50 NONAME - _ZN20PhoneUIQtViewAdapter20expandedBubbleCallIdEP18TPhoneCommandParam @ 51 NONAME - _ZN20PhoneUIQtViewAdapter20getNumberFromDialpadEP18TPhoneCommandParam @ 52 NONAME - _ZN20PhoneUIQtViewAdapter20removeAllCallHeadersEv @ 53 NONAME - _ZN20PhoneUIQtViewAdapter20setDialpadVisibilityEP18TPhoneCommandParam @ 54 NONAME - _ZN20PhoneUIQtViewAdapter21updateCallHeaderStateEiP18TPhoneCommandParam @ 55 NONAME - _ZN20PhoneUIQtViewAdapter21writeAudioVolumeLevelEP18TPhoneCommandParam @ 56 NONAME - _ZN20PhoneUIQtViewAdapter22createConferenceBubbleEiP18TPhoneCommandParam @ 57 NONAME - _ZN20PhoneUIQtViewAdapter22getDialpadStringLengthEP18TPhoneCommandParam @ 58 NONAME - _ZN20PhoneUIQtViewAdapter22removeConferenceBubbleEv @ 59 NONAME - _ZN20PhoneUIQtViewAdapter24removeCallFromConferenceEi @ 60 NONAME - _ZN20PhoneUIQtViewAdapter24setPrivateFromConferenceEi @ 61 NONAME - _ZN20PhoneUIQtViewAdapter25createEmergencyCallHeaderEiP18TPhoneCommandParam @ 62 NONAME - _ZN20PhoneUIQtViewAdapter25setAudioVolumeSliderValueEP18TPhoneCommandParam @ 63 NONAME - _ZN20PhoneUIQtViewAdapter25setParticipantListActionsEv @ 64 NONAME - _ZN20PhoneUIQtViewAdapter26updateCallHeaderRemoteInfoEiP18TPhoneCommandParam @ 65 NONAME - _ZN20PhoneUIQtViewAdapter27getSelectedConferenceMemberEP18TPhoneCommandParam @ 66 NONAME - _ZN20PhoneUIQtViewAdapter31setExpandedConferenceCallHeaderEv @ 67 NONAME - _ZN20PhoneUIQtViewAdapter34updateCallHeaderRemoteInfoAndLabelEiP18TPhoneCommandParam @ 68 NONAME - _ZN20PhoneUIQtViewAdapter7setMenuEv @ 69 NONAME - _ZN20PhoneUIQtViewAdapter8showNoteEP18TPhoneCommandParam @ 70 NONAME - _ZN20PhoneUIQtViewAdapterC1ER15PhoneUIQtViewIFP7QObject @ 71 NONAME - _ZN20PhoneUIQtViewAdapterC2ER15PhoneUIQtViewIFP7QObject @ 72 NONAME - _ZN20PhoneUIQtViewAdapterD0Ev @ 73 NONAME - _ZN20PhoneUIQtViewAdapterD1Ev @ 74 NONAME - _ZN20PhoneUIQtViewAdapterD2Ev @ 75 NONAME - _ZNK20PhoneResourceAdapter10metaObjectEv @ 76 NONAME - _ZNK20PhoneResourceAdapter15convertToStringEi @ 77 NONAME - _ZNK20PhoneResourceAdapter15convertToStringEiRK7QString @ 78 NONAME - _ZNK20PhoneResourceAdapter22convertCommandToStringEi @ 79 NONAME - _ZNK20PhoneResourceAdapter24defaultToolbarResourceIdEv @ 80 NONAME - _ZNK20PhoneUIQtViewAdapter10metaObjectEv @ 81 NONAME - _ZNK20PhoneUIQtViewAdapter14noteControllerEv @ 82 NONAME - _ZTI20PhoneResourceAdapter @ 83 NONAME - _ZTI20PhoneUIQtViewAdapter @ 84 NONAME - _ZTV20PhoneResourceAdapter @ 85 NONAME - _ZTV20PhoneUIQtViewAdapter @ 86 NONAME - _ZThn8_N20PhoneUIQtViewAdapter12FetchContentEv @ 87 NONAME - _ZThn8_N20PhoneUIQtViewAdapter14ExecuteCommandEi @ 88 NONAME - _ZThn8_N20PhoneUIQtViewAdapter14ExecuteCommandEiP18TPhoneCommandParam @ 89 NONAME - _ZThn8_N20PhoneUIQtViewAdapter14HandleCommandLEi @ 90 NONAME - _ZThn8_N20PhoneUIQtViewAdapter14HandleCommandLEiP18TPhoneCommandParam @ 91 NONAME - _ZThn8_N20PhoneUIQtViewAdapter15ExecuteCommandLEi @ 92 NONAME - _ZThn8_N20PhoneUIQtViewAdapter15ExecuteCommandLEiP18TPhoneCommandParam @ 93 NONAME - _ZThn8_N20PhoneUIQtViewAdapter15ExecuteCommandLEii @ 94 NONAME - _ZThn8_N20PhoneUIQtViewAdapter15ExecuteCommandLEiiP18TPhoneCommandParam @ 95 NONAME - _ZThn8_N20PhoneUIQtViewAdapter15ExecuteCommandLEiiR7TDesC16 @ 96 NONAME - _ZThn8_N20PhoneUIQtViewAdapterD0Ev @ 97 NONAME - _ZThn8_N20PhoneUIQtViewAdapterD1Ev @ 98 NONAME - _ZNK20PhoneResourceAdapter18convertToHbActionsEi @ 99 NONAME - _ZN20PhoneUIQtViewAdapter15convertDurationEi @ 100 NONAME - _ZN20PhoneUIQtViewAdapter22setBubbleSelectionFlagEv @ 101 NONAME - _ZN20PhoneUIQtViewAdapter25handleCipheringInfoChangeEiP18TPhoneCommandParam @ 102 NONAME - _ZN20PhoneUIQtViewAdapter10SetHiddenLEb @ 103 NONAME - _ZN20PhoneUIQtViewAdapter12openContactsEv @ 104 NONAME - _ZN20PhoneUIQtViewAdapter21handleWindowActivatedEv @ 105 NONAME - _ZN20PhoneUIQtViewAdapter23handleWindowDeactivatedEv @ 106 NONAME - _ZN20PhoneUIQtViewAdapter9setHiddenEb @ 107 NONAME - _ZN20PhoneUIQtViewAdapter17hideDeviceDialogsEP18TPhoneCommandParam @ 108 NONAME - _ZNK20PhoneResourceAdapter27convertToToolBarCommandListEi @ 109 NONAME - _ZN20PhoneUIQtViewAdapter8openLogsEP18TPhoneCommandParam @ 110 NONAME + _ZN20PhoneUIQtViewAdapter10SetHiddenLEb @ 13 NONAME + _ZN20PhoneUIQtViewAdapter10convertKeyE8TKeyCodeRN2Qt3KeyE @ 14 NONAME + _ZN20PhoneUIQtViewAdapter10idleAppUidEv @ 15 NONAME + _ZN20PhoneUIQtViewAdapter11callsExistsEii @ 16 NONAME + _ZN20PhoneUIQtViewAdapter11keyReleasedEP9QKeyEvent @ 17 NONAME + _ZN20PhoneUIQtViewAdapter11openDialpadEv @ 18 NONAME + _ZN20PhoneUIQtViewAdapter11qt_metacallEN11QMetaObject4CallEiPPv @ 19 NONAME + _ZN20PhoneUIQtViewAdapter11qt_metacastEPKc @ 20 NONAME + _ZN20PhoneUIQtViewAdapter11setCallMenuEv @ 21 NONAME + _ZN20PhoneUIQtViewAdapter12FetchContentEv @ 22 NONAME + _ZN20PhoneUIQtViewAdapter12callHoldFlagEP18TPhoneCommandParam @ 23 NONAME + _ZN20PhoneUIQtViewAdapter12isConferenceEP18TPhoneCommandParam @ 24 NONAME + _ZN20PhoneUIQtViewAdapter12openContactsEv @ 25 NONAME + _ZN20PhoneUIQtViewAdapter12setAudioPathEP18TPhoneCommandParam @ 26 NONAME + _ZN20PhoneUIQtViewAdapter13callIdByStateEP18TPhoneCommandParam @ 27 NONAME + _ZN20PhoneUIQtViewAdapter13dialpadClosedEv @ 28 NONAME + _ZN20PhoneUIQtViewAdapter13removeDialpadEv @ 29 NONAME + _ZN20PhoneUIQtViewAdapter14ExecuteCommandEi @ 30 NONAME + _ZN20PhoneUIQtViewAdapter14ExecuteCommandEiP18TPhoneCommandParam @ 31 NONAME + _ZN20PhoneUIQtViewAdapter14HandleCommandLEi @ 32 NONAME + _ZN20PhoneUIQtViewAdapter14HandleCommandLEiP18TPhoneCommandParam @ 33 NONAME + _ZN20PhoneUIQtViewAdapter14setDialpadMenuEv @ 34 NONAME + _ZN20PhoneUIQtViewAdapter14showGlobalNoteEP18TPhoneCommandParam @ 35 NONAME + _ZN20PhoneUIQtViewAdapter15ExecuteCommandLEi @ 36 NONAME + _ZN20PhoneUIQtViewAdapter15ExecuteCommandLEiP18TPhoneCommandParam @ 37 NONAME + _ZN20PhoneUIQtViewAdapter15ExecuteCommandLEii @ 38 NONAME + _ZN20PhoneUIQtViewAdapter15ExecuteCommandLEiiP18TPhoneCommandParam @ 39 NONAME + _ZN20PhoneUIQtViewAdapter15ExecuteCommandLEiiR7TDesC16 @ 40 NONAME + _ZN20PhoneUIQtViewAdapter15activeCallCountEP18TPhoneCommandParam @ 41 NONAME + _ZN20PhoneUIQtViewAdapter15addToConferenceEv @ 42 NONAME + _ZN20PhoneUIQtViewAdapter15convertDurationEi @ 43 NONAME + _ZN20PhoneUIQtViewAdapter15setCallHoldFlagEP18TPhoneCommandParam @ 44 NONAME + _ZN20PhoneUIQtViewAdapter15setTouchButtonsEP18TPhoneCommandParam @ 45 NONAME + _ZN20PhoneUIQtViewAdapter16conferenceCallIdEiP18TPhoneCommandParam @ 46 NONAME + _ZN20PhoneUIQtViewAdapter16createCallHeaderEiP18TPhoneCommandParam @ 47 NONAME + _ZN20PhoneUIQtViewAdapter16setExpandActionsEv @ 48 NONAME + _ZN20PhoneUIQtViewAdapter16staticMetaObjectE @ 49 NONAME DATA 16 + _ZN20PhoneUIQtViewAdapter17bringToForegroundEv @ 50 NONAME + _ZN20PhoneUIQtViewAdapter17hideDeviceDialogsEP18TPhoneCommandParam @ 51 NONAME + _ZN20PhoneUIQtViewAdapter17setMuteIndicationEP18TPhoneCommandParam @ 52 NONAME + _ZN20PhoneUIQtViewAdapter17setToolbarButtonsEP18TPhoneCommandParam @ 53 NONAME + _ZN20PhoneUIQtViewAdapter17setTopApplicationEP18TPhoneCommandParam @ 54 NONAME + _ZN20PhoneUIQtViewAdapter19getStaticMetaObjectEv @ 55 NONAME + _ZN20PhoneUIQtViewAdapter20expandedBubbleCallIdEP18TPhoneCommandParam @ 56 NONAME + _ZN20PhoneUIQtViewAdapter20getNumberFromDialpadEP18TPhoneCommandParam @ 57 NONAME + _ZN20PhoneUIQtViewAdapter20removeAllCallHeadersEv @ 58 NONAME + _ZN20PhoneUIQtViewAdapter20setCommonButtonFlagsEv @ 59 NONAME + _ZN20PhoneUIQtViewAdapter20setDialpadVisibilityEP18TPhoneCommandParam @ 60 NONAME + _ZN20PhoneUIQtViewAdapter21handleWindowActivatedEv @ 61 NONAME + _ZN20PhoneUIQtViewAdapter21updateCallHeaderStateEiP18TPhoneCommandParam @ 62 NONAME + _ZN20PhoneUIQtViewAdapter21writeAudioVolumeLevelEP18TPhoneCommandParam @ 63 NONAME + _ZN20PhoneUIQtViewAdapter22createConferenceBubbleEiP18TPhoneCommandParam @ 64 NONAME + _ZN20PhoneUIQtViewAdapter22getDialpadStringLengthEP18TPhoneCommandParam @ 65 NONAME + _ZN20PhoneUIQtViewAdapter22removeConferenceBubbleEv @ 66 NONAME + _ZN20PhoneUIQtViewAdapter22setBubbleSelectionFlagEv @ 67 NONAME + _ZN20PhoneUIQtViewAdapter23handleWindowDeactivatedEv @ 68 NONAME + _ZN20PhoneUIQtViewAdapter24removeCallFromConferenceEi @ 69 NONAME + _ZN20PhoneUIQtViewAdapter24setPrivateFromConferenceEi @ 70 NONAME + _ZN20PhoneUIQtViewAdapter25createEmergencyCallHeaderEiP18TPhoneCommandParam @ 71 NONAME + _ZN20PhoneUIQtViewAdapter25handleCipheringInfoChangeEiP18TPhoneCommandParam @ 72 NONAME + _ZN20PhoneUIQtViewAdapter25setAudioVolumeSliderValueEP18TPhoneCommandParam @ 73 NONAME + _ZN20PhoneUIQtViewAdapter25setParticipantListActionsEv @ 74 NONAME + _ZN20PhoneUIQtViewAdapter26updateCallHeaderRemoteInfoEiP18TPhoneCommandParam @ 75 NONAME + _ZN20PhoneUIQtViewAdapter27getSelectedConferenceMemberEP18TPhoneCommandParam @ 76 NONAME + _ZN20PhoneUIQtViewAdapter31setExpandedConferenceCallHeaderEv @ 77 NONAME + _ZN20PhoneUIQtViewAdapter34updateCallHeaderRemoteInfoAndLabelEiP18TPhoneCommandParam @ 78 NONAME + _ZN20PhoneUIQtViewAdapter7setMenuEv @ 79 NONAME + _ZN20PhoneUIQtViewAdapter8openLogsEP18TPhoneCommandParam @ 80 NONAME + _ZN20PhoneUIQtViewAdapter8showNoteEP18TPhoneCommandParam @ 81 NONAME + _ZN20PhoneUIQtViewAdapter9setHiddenEb @ 82 NONAME + _ZN20PhoneUIQtViewAdapterC1ER15PhoneUIQtViewIFP7QObject @ 83 NONAME + _ZN20PhoneUIQtViewAdapterC2ER15PhoneUIQtViewIFP7QObject @ 84 NONAME + _ZN20PhoneUIQtViewAdapterD0Ev @ 85 NONAME + _ZN20PhoneUIQtViewAdapterD1Ev @ 86 NONAME + _ZN20PhoneUIQtViewAdapterD2Ev @ 87 NONAME + _ZNK20PhoneResourceAdapter10metaObjectEv @ 88 NONAME + _ZNK20PhoneResourceAdapter15convertToStringEiRK7QString @ 89 NONAME + _ZNK20PhoneResourceAdapter18convertToHbActionsEi @ 90 NONAME + _ZNK20PhoneResourceAdapter22convertCommandToStringEi @ 91 NONAME + _ZNK20PhoneResourceAdapter24convertToStringWithParamEiRK7QString @ 92 NONAME + _ZNK20PhoneResourceAdapter24defaultToolbarResourceIdEv @ 93 NONAME + _ZNK20PhoneResourceAdapter27convertToToolBarCommandListEi @ 94 NONAME + _ZNK20PhoneUIQtViewAdapter10metaObjectEv @ 95 NONAME + _ZNK20PhoneUIQtViewAdapter14noteControllerEv @ 96 NONAME + _ZTI20PhoneResourceAdapter @ 97 NONAME + _ZTI20PhoneUIQtViewAdapter @ 98 NONAME + _ZTV20PhoneResourceAdapter @ 99 NONAME + _ZTV20PhoneUIQtViewAdapter @ 100 NONAME + _ZThn8_N20PhoneUIQtViewAdapter12FetchContentEv @ 101 NONAME + _ZThn8_N20PhoneUIQtViewAdapter14ExecuteCommandEi @ 102 NONAME + _ZThn8_N20PhoneUIQtViewAdapter14ExecuteCommandEiP18TPhoneCommandParam @ 103 NONAME + _ZThn8_N20PhoneUIQtViewAdapter14HandleCommandLEi @ 104 NONAME + _ZThn8_N20PhoneUIQtViewAdapter14HandleCommandLEiP18TPhoneCommandParam @ 105 NONAME + _ZThn8_N20PhoneUIQtViewAdapter15ExecuteCommandLEi @ 106 NONAME + _ZThn8_N20PhoneUIQtViewAdapter15ExecuteCommandLEiP18TPhoneCommandParam @ 107 NONAME + _ZThn8_N20PhoneUIQtViewAdapter15ExecuteCommandLEii @ 108 NONAME + _ZThn8_N20PhoneUIQtViewAdapter15ExecuteCommandLEiiP18TPhoneCommandParam @ 109 NONAME + _ZThn8_N20PhoneUIQtViewAdapter15ExecuteCommandLEiiR7TDesC16 @ 110 NONAME + _ZThn8_N20PhoneUIQtViewAdapterD0Ev @ 111 NONAME + _ZThn8_N20PhoneUIQtViewAdapterD1Ev @ 112 NONAME diff -r 6b911d05207e -r bc5a64e5bc3c phoneapp/phoneuiqtviewadapter/inc/phoneapplauncher.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phoneapp/phoneuiqtviewadapter/inc/phoneapplauncher.h Tue Jul 06 14:15:47 2010 +0300 @@ -0,0 +1,69 @@ +/* +* 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: Interface for application launch. +* +*/ + +#ifndef PHONEAPPLAUNCHER_H +#define PHONEAPPLAUNCHER_H + +#include + + +/*! + * \class PhoneAppLauncher + * \brief Interface for application launch. +*/ +class PhoneAppLauncher : + public QObject +{ + Q_OBJECT + +public: + + /** + * Constructor. + */ + PhoneAppLauncher(QObject *parent = 0); + + /** + * Destructor. + */ + ~PhoneAppLauncher(); + +public: + /** + * Launch app + */ + void launchMessaging( + const QString& toField, + const QString& name, + const QString &messageBody); + + void launchContacts(); + + void launchLogs( + int activatedView, + bool showDialpad, + const QString& dialpadText); + +private: + void sendServiceRequest( + const QString& service, + const QString& interface, + const QString& operation, + const QList& arguments); +}; + +#endif // PHONEAPPLAUNCHER_H diff -r 6b911d05207e -r bc5a64e5bc3c phoneapp/phoneuiqtviewadapter/inc/phonemessagecontroller.h --- a/phoneapp/phoneuiqtviewadapter/inc/phonemessagecontroller.h Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneapp/phoneuiqtviewadapter/inc/phonemessagecontroller.h Tue Jul 06 14:15:47 2010 +0300 @@ -24,7 +24,7 @@ // FORWARD DECLARATION class TPhoneCommandParam; -class XQServiceRequest; +class PhoneAppLauncher; class PhoneMessageController : public QObject { @@ -35,7 +35,7 @@ /*! \fn PhoneMessageController (QObject *parent) */ - PhoneMessageController(QObject *parent = 0); + PhoneMessageController(PhoneAppLauncher &appLauncher, QObject *parent = 0); /*! Destructor @@ -49,19 +49,9 @@ */ void openSoftRejectMessageEditor(TPhoneCommandParam *commandParam); - -private: - - /*! - \fn void showNote () - - This method opens message editor. - - */ - void openEditor(QString toField, QString name, QString messageBody = QString()); private: - XQServiceRequest *mService; + PhoneAppLauncher &m_appLauncher; }; #endif // PHONEMESSAGECONTROLLER_H diff -r 6b911d05207e -r bc5a64e5bc3c phoneapp/phoneuiqtviewadapter/inc/phoneresourceadapter.h --- a/phoneapp/phoneuiqtviewadapter/inc/phoneresourceadapter.h Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneapp/phoneuiqtviewadapter/inc/phoneresourceadapter.h Tue Jul 06 14:15:47 2010 +0300 @@ -76,7 +76,8 @@ Returns QString. */ - QString convertToString(int symbianResourceId) const; + QString convertToString(int symbianResourceId, + const QString &causeCode = QString("")) const; /*! \fn QString PhoneResourceAdapter::convert (int symbianResourceId, QString text ) @@ -86,7 +87,7 @@ Returns QString. */ - QString convertToString(int symbianResourceId, const QString &text) const; + QString convertToStringWithParam(int symbianResourceId, const QString &text) const; /*! \fn int PhoneResourceAdapter::defaultToolbarResourceId () diff -r 6b911d05207e -r bc5a64e5bc3c phoneapp/phoneuiqtviewadapter/inc/phoneuiqtbuttonscontroller.h --- a/phoneapp/phoneuiqtviewadapter/inc/phoneuiqtbuttonscontroller.h Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneapp/phoneuiqtviewadapter/inc/phoneuiqtbuttonscontroller.h Tue Jul 06 14:15:47 2010 +0300 @@ -38,7 +38,9 @@ Mute = 0x80, // Mute MultiCall = 0x100, // Multi call FullConference = 0x200, // Max member count in conference - Outgoing = 0x400 // Outgoing call + Outgoing = 0x400, // Outgoing call + IhfAsPushButton = 0x800, // Speaker as push button in bubble + BluetoothAvailable = 0x1000 // Bluetooth available }; Q_DECLARE_FLAGS(PhoneButtonFlags, PhoneButtonFlag) diff -r 6b911d05207e -r bc5a64e5bc3c phoneapp/phoneuiqtviewadapter/inc/phoneuiqtviewadapter.h --- a/phoneapp/phoneuiqtviewadapter/inc/phoneuiqtviewadapter.h Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneapp/phoneuiqtviewadapter/inc/phoneuiqtviewadapter.h Tue Jul 06 14:15:47 2010 +0300 @@ -42,6 +42,7 @@ class QKeyEvent; class PhoneIndicatorController; class PhoneVisibilityHandler; +class PhoneAppLauncher; class PHONEUIQTVIEWADAPTER_EXPORT PhoneUIQtViewAdapter : public QObject, @@ -536,6 +537,18 @@ This method opens logs/dialer application. */ void openLogs(TPhoneCommandParam *commandParam); + + /*! + /fn void setCommonButtonFlags() + This method sets common button flags. + */ + void setCommonButtonFlags(); + + /*! + /fn void convertKey() + This method converts key. + */ + bool convertKey(TKeyCode symbianKey, Qt::Key &qtKey); private: @@ -552,7 +565,9 @@ bool m_dialpadAboutToClose; bool m_homeScreenToForeground; PhoneVisibilityHandler *m_visibilityHandler; + PhoneAppLauncher *m_appLauncher; bool m_clearDialpadOnClose; + bool m_speakerAsDefaultButton; }; #endif // PHONEUIQTVIEWADAPTER_H diff -r 6b911d05207e -r bc5a64e5bc3c phoneapp/phoneuiqtviewadapter/inc/phoneviewcommanddefinitions.h --- a/phoneapp/phoneuiqtviewadapter/inc/phoneviewcommanddefinitions.h Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneapp/phoneuiqtviewadapter/inc/phoneviewcommanddefinitions.h Tue Jul 06 14:15:47 2010 +0300 @@ -235,6 +235,8 @@ EPhoneViewSetIhfFlag, EPhoneViewSetMuteFlag, EPhoneViewLaunchLogs, + EPhoneViewSetBlueToothFlag, + EPhoneViewSetBluetoothAvailableFlag, EPhoneAmountOfCommands, // Don't remove this, this should always be the last in list. }; diff -r 6b911d05207e -r bc5a64e5bc3c phoneapp/phoneuiqtviewadapter/inc/phonevisibilityhandler.h --- a/phoneapp/phoneuiqtviewadapter/inc/phonevisibilityhandler.h Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneapp/phoneuiqtviewadapter/inc/phonevisibilityhandler.h Tue Jul 06 14:15:47 2010 +0300 @@ -66,7 +66,10 @@ void sendToBackground(bool homeScreenForeground); void hideDeviceDialogs(bool hide); - int ordinalPosition(); + /** + * Return true if phone is visible application + */ + bool phoneVisible(); public: // from MPhonePubSubObserver @@ -82,8 +85,19 @@ const TInt aValue); private: + /** + * Handle keyguard according phone visiblity + * and keyguard previous state + */ + bool disableKeyGuard(); + void enableKeyGuard(); /** + * Number of currently ongoing call's + */ + int ongoingCalls(); + + /** * Adjusts visibility based on current call and device security statuses. */ void adjustVisibility(AdjustAction action); @@ -117,6 +131,8 @@ /** Car Mode publisher */ QValueSpacePublisher* m_carModePublisher; + /** Key guard status before phone came top */ + bool m_keyguardOnBeforeForeground; }; #endif // PHONEVISIBILITYHANDLER_H diff -r 6b911d05207e -r bc5a64e5bc3c phoneapp/phoneuiqtviewadapter/inc/telephonyservice.h --- a/phoneapp/phoneuiqtviewadapter/inc/telephonyservice.h Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneapp/phoneuiqtviewadapter/inc/telephonyservice.h Tue Jul 06 14:15:47 2010 +0300 @@ -43,11 +43,20 @@ then dialer launches on top of empty call handling. Usage example: - int inCallDialer(1); - XQServiceRequest snd("com.nokia.services.telephonyservices.starter", "start(int)", false); - snd << inCallDialer; - QVariant err; - snd.send(err); + QString service("phoneui"); + QString interface(""com.nokia.symbian.IStart"); + QString operation("start(int)"); + XQApplicationManager appManager; + QScopedPointer request(appManager.create(service, interface, operation, false)); + if (request == NULL) { + //Service not found + } + QList args; + args << 1; // open dialpad + request->setArguments(args); + if (request->send()) { + //error + } */ void start(const int serviceId); diff -r 6b911d05207e -r bc5a64e5bc3c phoneapp/phoneuiqtviewadapter/phoneuiqtviewadapter.pri --- a/phoneapp/phoneuiqtviewadapter/phoneuiqtviewadapter.pri Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneapp/phoneuiqtviewadapter/phoneuiqtviewadapter.pri Tue Jul 06 14:15:47 2010 +0300 @@ -27,6 +27,7 @@ HEADERS += ./inc/phonemessagecontroller.h HEADERS += ./inc/phoneindicatorcontroller.h HEADERS += ./inc/phonevisibilityhandler.h +HEADERS += ./inc/phoneapplauncher.h SOURCES += ./src/phoneuiqtviewadapter.cpp SOURCES += ./src/phoneuiqtbuttonscontroller.cpp @@ -39,4 +40,6 @@ SOURCES += ./src/phonemessagecontroller.cpp SOURCES += ./src/phoneindicatorcontroller.cpp SOURCES += ./src/phonevisibilityhandler.cpp +SOURCES += ./src/phoneapplauncher.cpp + diff -r 6b911d05207e -r bc5a64e5bc3c phoneapp/phoneuiqtviewadapter/phoneuiqtviewadapter.pro --- a/phoneapp/phoneuiqtviewadapter/phoneuiqtviewadapter.pro Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneapp/phoneuiqtviewadapter/phoneuiqtviewadapter.pro Tue Jul 06 14:15:47 2010 +0300 @@ -47,6 +47,7 @@ -llogsengine \ -lxqplugins \ -lakncapserverclient \ + -llockclient \ -ltelephonyservice \ -lapgrfx \ -lavkon \ diff -r 6b911d05207e -r bc5a64e5bc3c phoneapp/phoneuiqtviewadapter/src/phoneapplauncher.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phoneapp/phoneuiqtviewadapter/src/phoneapplauncher.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -0,0 +1,140 @@ +/* +* 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 "phoneapplauncher.h" +#include "qtphonelog.h" + +/*! + PhoneAppLauncher::PhoneAppLauncher. + */ +PhoneAppLauncher::PhoneAppLauncher(QObject *parent) + : QObject(parent) +{ + PHONE_TRACE; +} + + +/*! + PhoneAppLauncher::~PhoneAppLauncher. + */ +PhoneAppLauncher::~PhoneAppLauncher() +{ + PHONE_TRACE; +} + +/*! + PhoneAppLauncher::launchMessaging. + */ +void PhoneAppLauncher::launchMessaging( + const QString &toField, + const QString &name, + const QString &messageBody) +{ + QList arguments; + arguments.append(QVariant(toField)); + arguments.append(QVariant(name)); + arguments.append(QVariant(messageBody)); + sendServiceRequest( + "com.nokia.services.hbserviceprovider", + "conversationview", + "send(QString,QString,QString)", + arguments); +} + +/*! + PhoneAppLauncher::launchContacts. + */ +void PhoneAppLauncher::launchContacts() +{ + QList arguments; + sendServiceRequest( + "com.nokia.services.phonebookappservices", + "Launch", + "launch()", + arguments); +} + +/*! + PhoneAppLauncher::launchLogs. + */ +void PhoneAppLauncher::launchLogs( + int activatedView, + bool showDialpad, + const QString &dialpadText) +{ + QVariantMap map; + map.insert("view_index", QVariant(activatedView)); + map.insert("show_dialpad", QVariant(showDialpad)); + map.insert("dialpad_text", QVariant(dialpadText)); + QList args; + args.append(QVariant(map)); + sendServiceRequest( + "logs", + "com.nokia.symbian.ILogsView", + "show(QVariantMap)", + args); +} + +/*! + PhoneAppLauncher::sendServiceRequest. + */ +void PhoneAppLauncher::sendServiceRequest( + const QString &service, + const QString &interface, + const QString &operation, + const QList &arguments) +{ + int err = -1; + TRAP_IGNORE( + // Allow application launch only when device is unlocked + // If locked ask devicelock query + CDevicelockAccessApi *devicelockAccessApi = CDevicelockAccessApi::NewL(); + err = devicelockAccessApi->DisableDevicelock(); + delete devicelockAccessApi; + ) + + if ((err == KErrNone) || (err == KErrAlreadyExists)) { + PHONE_TRACE3(service, operation, arguments); + XQApplicationManager appManager; + QScopedPointer request( + service.isEmpty() ? + appManager.create(interface, operation, false) : + appManager.create(service, interface, operation, false) ); + if (request == NULL) { + PHONE_TRACE1("service not found"); + return; + } + XQRequestInfo info; + info.setForeground(true); + request->setInfo(info); + request->setArguments(arguments); + QVariant retValue(-1); + if (!request->send(retValue)) { + int error = request->lastError(); + PHONE_TRACE2("send failed, error %d", request->lastError()); + } + } +} + +// end of file + diff -r 6b911d05207e -r bc5a64e5bc3c phoneapp/phoneuiqtviewadapter/src/phoneindicatorcontroller.cpp --- a/phoneapp/phoneuiqtviewadapter/src/phoneindicatorcontroller.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneapp/phoneuiqtviewadapter/src/phoneindicatorcontroller.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -155,7 +155,7 @@ PHONE_TRACE if ( compareKeys( key, PhoneIndicatorControllerKeys::currentCFKey ) ){ PHONE_DEBUG("currentCfKey"); - int cfStatus = value.toInt(); + int cfStatus = value.toByteArray().toInt(); updateDiverIndicator( cfStatus & KCFVoiceForwarded); } else if (compareKeys(key, PhoneIndicatorControllerKeys::unconditionalCFKey )){ QByteArray bytes = value.toByteArray(); @@ -241,11 +241,7 @@ parameters.insert( QVariant( HbIndicatorInterface::DecorationNameRole ).toString(), iconName ); - - // TODO: remove this when ready - parameters.insert( - QVariant( HbIndicatorInterface::SecondaryTextRole ).toString(), - "Feature not ready" ); + m_indicator.activate( indicatorType, parameters ); }else{ m_indicator.deactivate( indicatorType ); diff -r 6b911d05207e -r bc5a64e5bc3c phoneapp/phoneuiqtviewadapter/src/phonemessagecontroller.cpp --- a/phoneapp/phoneuiqtviewadapter/src/phonemessagecontroller.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneapp/phoneuiqtviewadapter/src/phonemessagecontroller.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -19,23 +19,21 @@ #include "phoneconstants.h" #include "cphonecenrepproxy.h" #include "cphonepubsubproxy.h" +#include "phoneapplauncher.h" #include #include #include -#include -PhoneMessageController::PhoneMessageController(QObject *parent) : +PhoneMessageController::PhoneMessageController(PhoneAppLauncher &appLauncher, QObject *parent) : QObject(parent), - mService(0) + m_appLauncher(appLauncher) { } PhoneMessageController::~PhoneMessageController() { - delete mService; - mService = 0; } void PhoneMessageController::openSoftRejectMessageEditor( @@ -85,26 +83,5 @@ // open message editor - openEditor(toField, alias, messageBody ); + m_appLauncher.launchMessaging(toField, alias, messageBody); } - -void PhoneMessageController::openEditor( - QString toField, QString name, QString messageBody) -{ - delete mService; - mService = 0; - mService = new XQServiceRequest("com.nokia.services.hbserviceprovider.conversationview", - "send(QString,QString,QString)", false); - - QList arguments; - arguments.append(QVariant(toField)); - arguments.append(QVariant(name)); - arguments.append(QVariant(messageBody)); - mService->setArguments(arguments); - - QVariant retValue; - mService->send(retValue); -} - - - diff -r 6b911d05207e -r bc5a64e5bc3c phoneapp/phoneuiqtviewadapter/src/phonenotecontroller.cpp --- a/phoneapp/phoneuiqtviewadapter/src/phonenotecontroller.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneapp/phoneuiqtviewadapter/src/phonenotecontroller.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -28,7 +28,8 @@ #include #include #include - +#include + PhoneNoteController::PhoneNoteController(QObject *parent) : QObject(parent), m_timer(0), m_progressDialog(0), m_dtmfNote(0), m_queryNote(0), m_queryCanceledCommand(-1), m_timeoutCommand(-1) @@ -217,14 +218,20 @@ if ( globalNoteParam->TextResourceId() && KErrNone != globalNoteParam->Text().Compare( KNullDesC() ) ) { // resource and text exists - ret = PhoneResourceAdapter::Instance()->convertToString( + ret = PhoneResourceAdapter::Instance()->convertToStringWithParam( globalNoteParam->TextResourceId(), QString::fromUtf16(globalNoteParam->Text().Ptr(), globalNoteParam->Text().Length()) ); } else if ( globalNoteParam->TextResourceId() ) { // resource exists + QString causeCode; + if (-1 != globalNoteParam->CauseCode()) { + causeCode.setNum(globalNoteParam->CauseCode()); + causeCode = HbStringUtil::convertDigits(causeCode); + } + ret = PhoneResourceAdapter::Instance()->convertToString( - globalNoteParam->TextResourceId()); + globalNoteParam->TextResourceId(), causeCode); } else if ( KErrNone != globalNoteParam->Text().Compare( KNullDesC() ) ) { // text exists @@ -420,7 +427,7 @@ // Do not show same note/text several times, e.g when user hits // the end button several times we should show only one "not allowed" // note. - if (noteString == m_notificationList.at(i)->text()) { + if (noteString == m_notificationList.at(i)->title()) { showNote = false; break; } diff -r 6b911d05207e -r bc5a64e5bc3c phoneapp/phoneuiqtviewadapter/src/phoneresourceadapter.cpp --- a/phoneapp/phoneuiqtviewadapter/src/phoneresourceadapter.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneapp/phoneuiqtviewadapter/src/phoneresourceadapter.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -206,56 +206,57 @@ return translatedActions; } -QString PhoneResourceAdapter::convertToString(int symbianResourceId) const +QString PhoneResourceAdapter::convertToString( + int symbianResourceId, const QString &causeCode) const { QString ret; switch (symbianResourceId) { case R_PHONE_ERROR_CALL_NOT_ALLOWED: { - ret = hbTrId("txt_phone_dpopinfo_not_allowed"); + ret = hbTrId("txt_phone_dpopinfo_not_allowed").arg(causeCode); } break; case R_ERROR_NOTE_NOT_ALLOWED: { - ret = hbTrId("txt_phone_dpopinfo_not_allowed"); + ret = hbTrId("txt_phone_dpopinfo_not_allowed").arg(causeCode); } break; case R_NOTETEXT_INVALID_PHONENUMBER: { - ret = hbTrId("txt_phone_info_invalid_phone_number"); + ret = hbTrId("txt_phone_info_invalid_phone_number").arg(causeCode); } break; case R_NOTETEXT_NO_ANSWER: { - ret = hbTrId("txt_phone_info_no_answer"); + ret = hbTrId("txt_phone_info_no_answer").arg(causeCode); } break; case R_PHONE_ERROR_NUMBER_BUSY: { - ret = hbTrId("txt_phone_info_number_busy"); + ret = hbTrId("txt_phone_info_number_busy").arg(causeCode); } break; - case R_PHONE_SS_NOTIFICATION_MOCAL_WAITING_TEXT: + case R_PHONE_ERROR_REQUEST_REJECTED: { - ret = hbTrId("txt_phone_other_waiting"); + ret = hbTrId("txt_phone_info_request_rejected").arg(causeCode); } break; - + case R_PHONE_SS_NOTIFICATION_INCAL_INFO_HOLD_TEXT: { - ret = hbTrId("txt_phone_other_on_hold"); + ret = hbTrId("txt_phone_dpopinfo_on_hold"); } break; case R_INCAL_INFO_HOLD_TEXT: { - ret = hbTrId("txt_phone_other_on_hold"); + ret = hbTrId("txt_phone_dpopinfo_on_hold"); } break; @@ -265,39 +266,34 @@ } break; - case R_INCAL_INFO_CONF_HOLD_TEXT: - { - ret = hbTrId("Conference on hold"); - } - break; case R_PHONE_INCALL_INFO_NO_NETWORK_SUPPORT: { - ret = hbTrId("txt_phone_info_no_network_support_for_video_call"); + ret = hbTrId("txt_phone_info_no_network_support_for_video_call").arg(causeCode); } break; case R_PHONE_ERROR_EMERGENCY_CALLS_ONLY: { - ret = hbTrId("txt_phone_info_emergency_calls_only"); + ret = hbTrId("txt_phone_info_emergency_calls_only").arg(causeCode); } break; case R_NOTETEXT_NUMBER_NOT_IN_USE: { - ret = hbTrId("txt_phone_info_number_not_in_use"); + ret = hbTrId("txt_phone_info_number_not_in_use").arg(causeCode); } break; case R_NOTETEXT_NETWORK_BUSY: { - ret = hbTrId("txt_phone_info_network_busy"); + ret = hbTrId("txt_phone_info_network_busy").arg(causeCode); } break; case R_NOTETEXT_ERROR_IN_CONNECTION: { - ret = hbTrId("txt_phone_info_error_in_connection"); + ret = hbTrId("txt_phone_info_error_in_connection").arg(causeCode); } break; case R_PHONEUI_ERROR_EMERGENCY_ATTEMPT_FAILED: { - ret = hbTrId("txt_phone_info_emergency_call_failed"); + ret = hbTrId("txt_phone_info_emergency_call_failed").arg(causeCode); } break; case R_PHONE_SS_NOTIFICATION_INCAL_TRANSFERRED_TEXT: @@ -307,22 +303,17 @@ break; case R_PHONE_ERROR_NO_SERVICE: { - ret = hbTrId("txt_phone_dpopinfo_no_network_coverage"); + ret = hbTrId("txt_phone_dpopinfo_no_network_coverage").arg(causeCode); } break; case R_NOTETEXT_NUMBER_BARRED: { - ret = hbTrId("txt_phone_info_number_barred"); - } - break; - case R_PHONEUI_NO_VIDEO_NETWORK: - { - ret = hbTrId("txt_phone_info_video_call_setup_failed"); + ret = hbTrId("txt_phone_info_number_barred").arg(causeCode); } break; case R_PHONEUI_VIDEO_CALL_NOT_POSSIBLE: { - ret = hbTrId("txt_phone_info_video_call_didnt_succeed_to_called"); + ret = hbTrId("txt_phone_info_video_call_didnt_succeed_to_called").arg(causeCode); } break; case R_CALL_INFO_CAUSE_VALUE127: @@ -333,22 +324,22 @@ case R_CALL_INFO_CAUSE_VALUE58: case R_NOTE_UNABLE_TO_MAKE_VIDEO_CALL_NOT_SUPPORTED_BY_OTHER_PHONE: { - ret = hbTrId("txt_phone_info_unable_to_make_video_call_not_supp"); + ret = hbTrId("txt_phone_info_unable_to_make_video_call_not_supp").arg(causeCode); } break; case R_NOTE_PHONE_OUT_OF_3G_COVERAGE: { - ret = hbTrId("txt_phone_info_phone_switched_off_or_out_of_3g"); + ret = hbTrId("txt_phone_info_phone_switched_off_or_out_of_3g").arg(causeCode); } break; case R_NOTE_VIDEO_CALL_ONLY_POSSIBLE_UNDER_3G_COVERAGE: { - ret = hbTrId("txt_phone_info_videocall_only_possible_under_3g"); + ret = hbTrId("txt_phone_info_videocall_only_possible_under_3g").arg(causeCode); } break; case R_NOTE_CALLED_NUMBER_HAS_BARRED_INCOMING_CALLS: { - ret = hbTrId("txt_phone_info_called_number_has_barred_incoming"); + ret = hbTrId("txt_phone_info_called_number_has_barred_incoming").arg(causeCode); } break; case R_INCAL_REMOTE_CREATE_CONFERENCE_TEXT: @@ -363,32 +354,32 @@ break; case R_CALL_INFO_CAUSE_VALUE16: { - ret = hbTrId("txt_phone_info_call_ended"); + ret = hbTrId("txt_phone_info_no_answer").arg(causeCode); } break; case R_CALL_INFO_CAUSE_VALUE18: { - ret = hbTrId("txt_phone_info_no_answer"); + ret = hbTrId("txt_phone_info_no_answer").arg(causeCode); } break; case R_CALL_INFO_CAUSE_VALUE21: { - ret = hbTrId("txt_phone_info_call_rejected"); + ret = hbTrId("txt_phone_info_request_rejected"); } break; case R_CALL_INFO_CAUSE_VALUE22: { - ret = hbTrId("txt_phone_info_number_not_in_use"); + ret = hbTrId("txt_phone_info_number_not_in_use").arg(causeCode); } break; case R_CALL_INFO_CAUSE_VALUE34: { - ret = hbTrId("txt_phone_info_network_busy"); + ret = hbTrId("txt_phone_info_network_busy").arg(causeCode); } break; case R_PHONE_ERROR_CALL_NOT_ALLOWED_FDN: { - ret = hbTrId("txt_phone_info_call_not_allowed_fixed_dialling"); + ret = hbTrId("txt_phone_info_call_not_allowed_fixed_dialling").arg(causeCode); } break; case R_NOTETEXT_DIVERTING_INCOMING_CALL: @@ -404,27 +395,27 @@ break; case R_PHONE_ERROR_CHECK_CLIR: { - ret = hbTrId("txt_phone_info_check_own_number_sending"); + ret = hbTrId("txt_phone_info_check_own_number_sending").arg(causeCode); } break; case R_PHONE_SS_NOTIFICATION_CLIR_SUPPR_REJECT_TEXT: { - ret = hbTrId("txt_phone_info_could_not_send_own_number"); + ret = hbTrId("txt_phone_info_could_not_send_own_number").arg(causeCode); } break; case R_NOTE_TEXT_CLIR_CHANGE: { - ret = hbTrId("txt_phone_info_activate_own_number_sending"); + ret = hbTrId("txt_phone_info_activate_own_number_sending").arg(causeCode); } break; case R_PHONE_ERROR_CHECK_NETWORK_SERVICES: { - ret = hbTrId("txt_phone_info_check_network_services"); + ret = hbTrId("txt_phone_info_check_network_services").arg(causeCode); } break; case R_PHONE_INCALL_INFO_VIDEO_CALL_NOT_ALLOWED_DURING_RESTORE: { - ret = hbTrId("txt_phone_info_video_call_not_allowed_during_resto"); + ret = hbTrId("txt_phone_info_video_call_not_allowed_during_resto").arg(causeCode); } break; default: @@ -434,7 +425,7 @@ return ret; } -QString PhoneResourceAdapter::convertToString( +QString PhoneResourceAdapter::convertToStringWithParam( int symbianResourceId, const QString &text) const { QString ret; @@ -556,37 +547,73 @@ case R_PHONEUI_CALLHANDLING_INCALL_UNMUTE_CBA: case R_PHONEUI_CALLHANDLING_INCALL_HANDSET_CBA: case R_PHONEUI_CALLHANDLING_CALLSETUP_EMPTY_DTMFDIALER_CBA: + case R_PHONEUI_CALLHANDLING_INCALL_BTAA_CBA: { - if (!m_buttonsCtrl->getButtonFlags(PhoneUIQtButtonsController::Ihf)) - { - ret.append(PhoneAction::ToolBarItem(PhoneInCallCmdActivateIhf,true)); + if (m_buttonsCtrl->getButtonFlags( + PhoneUIQtButtonsController::IhfAsPushButton)) { + if (m_buttonsCtrl->getButtonFlags( + PhoneUIQtButtonsController::Mute)) { + ret.append(PhoneAction::ToolBarItem( + PhoneInCallCmdUnmute,true)); + } else { + ret.append(PhoneAction::ToolBarItem( + PhoneInCallCmdMute,true)); } - else - { - ret.append(PhoneAction::ToolBarItem(PhoneInCallCmdDeactivateIhf,true)); - } - - if (!m_buttonsCtrl->getButtonFlags(PhoneUIQtButtonsController::MultiCall)) { - bool outgoing(m_buttonsCtrl->getButtonFlags(PhoneUIQtButtonsController::Outgoing)); - if (m_buttonsCtrl->getButtonFlags(PhoneUIQtButtonsController::Hold)) - { - ret.append(PhoneAction::ToolBarItem(PhoneInCallCmdUnhold,!outgoing)); + } else { + if (m_buttonsCtrl->getButtonFlags( + PhoneUIQtButtonsController::BluetoothAvailable)) { + if (m_buttonsCtrl->getButtonFlags( + PhoneUIQtButtonsController::Btaa)) { + ret.append(PhoneAction::ToolBarItem( + PhoneInCallCmdHandset,true)); + } else { + ret.append(PhoneAction::ToolBarItem( + PhoneInCallCmdBtHandsfree,true)); + } + } else { + if (!m_buttonsCtrl->getButtonFlags( + PhoneUIQtButtonsController::Ihf)) { + ret.append(PhoneAction::ToolBarItem( + PhoneInCallCmdActivateIhf,true)); + } else { + ret.append(PhoneAction::ToolBarItem( + PhoneInCallCmdDeactivateIhf,true)); } - else - { - ret.append(PhoneAction::ToolBarItem(PhoneInCallCmdHold,!outgoing)); - } + } + } + + if (!m_buttonsCtrl->getButtonFlags( + PhoneUIQtButtonsController::MultiCall)) { + bool outgoing(m_buttonsCtrl->getButtonFlags( + PhoneUIQtButtonsController::Outgoing)); + if (m_buttonsCtrl->getButtonFlags( + PhoneUIQtButtonsController::Hold)) { + ret.append(PhoneAction::ToolBarItem( + PhoneInCallCmdUnhold,!outgoing)); + } else { + ret.append(PhoneAction::ToolBarItem( + PhoneInCallCmdHold,!outgoing)); + } - ret.append(PhoneAction::ToolBarItem(PhoneInCallCmdOpenContacts,true)); + ret.append(PhoneAction::ToolBarItem( + PhoneInCallCmdOpenContacts,true)); } else { - bool outgoing(m_buttonsCtrl->getButtonFlags(PhoneUIQtButtonsController::Outgoing)); - bool disableJoin(outgoing ? true : m_buttonsCtrl->getButtonFlags(PhoneUIQtButtonsController::DisableJoin)); + bool outgoing(m_buttonsCtrl->getButtonFlags( + PhoneUIQtButtonsController::Outgoing)); + bool disableJoin(outgoing ? true : + m_buttonsCtrl->getButtonFlags( + PhoneUIQtButtonsController::DisableJoin)); - ret.append(PhoneAction::ToolBarItem(PhoneInCallCmdSwap,!outgoing)); - if (m_buttonsCtrl->getButtonFlags(PhoneUIQtButtonsController::Conference)) { - ret.append(PhoneAction::ToolBarItem(PhoneInCallCmdJoinToConference,!disableJoin)); + ret.append(PhoneAction::ToolBarItem( + PhoneInCallCmdSwap,!outgoing)); + + if (m_buttonsCtrl->getButtonFlags( + PhoneUIQtButtonsController::Conference)) { + ret.append(PhoneAction::ToolBarItem( + PhoneInCallCmdJoinToConference,!disableJoin)); } else { - ret.append(PhoneAction::ToolBarItem(PhoneInCallCmdCreateConference,!disableJoin)); + ret.append(PhoneAction::ToolBarItem( + PhoneInCallCmdCreateConference,!disableJoin)); } } @@ -599,11 +626,13 @@ if (!m_buttonsCtrl->getButtonFlags(PhoneUIQtButtonsController::Ihf)) { - ret.append(PhoneAction::ToolBarItem(PhoneInCallCmdActivateIhf,true)); + ret.append(PhoneAction::ToolBarItem( + PhoneInCallCmdActivateIhf,true)); } else { - ret.append(PhoneAction::ToolBarItem(PhoneInCallCmdDeactivateIhf,true)); + ret.append(PhoneAction::ToolBarItem( + PhoneInCallCmdDeactivateIhf,true)); } } diff -r 6b911d05207e -r bc5a64e5bc3c phoneapp/phoneuiqtviewadapter/src/phoneuicommandcontroller.cpp --- a/phoneapp/phoneuiqtviewadapter/src/phoneuicommandcontroller.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneapp/phoneuiqtviewadapter/src/phoneuicommandcontroller.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -314,16 +314,14 @@ } } - if ( -1 == pluginInd ) - { + if ( -1 == pluginInd ) { wrapper = new PhoneCommandExtensionWrapper( pluginUid.iUid ); - if (wrapper) + if (wrapper) { m_commandExtensions.append( wrapper ); } - else - { + } else { wrapper = m_commandExtensions[pluginInd]; - } + } m_lastCommandExtension = wrapper; return wrapper; @@ -464,12 +462,34 @@ case EPEStateConnecting: { if (!emergencyCall) { if (PhoneResourceAdapter::Instance()->buttonsController()-> - getButtonFlags(PhoneUIQtButtonsController::Mute)) { - ret.append(PhoneInCallCmdUnmute); + getButtonFlags( + PhoneUIQtButtonsController::IhfAsPushButton)) { + if (PhoneResourceAdapter::Instance()->buttonsController()->getButtonFlags( + PhoneUIQtButtonsController::BluetoothAvailable)) { + if (PhoneResourceAdapter::Instance()->buttonsController()->getButtonFlags( + PhoneUIQtButtonsController::Btaa)) { + ret.append(PhoneInCallCmdHandset); + } else { + ret.append(PhoneInCallCmdBtHandsfree); + } + } else { + if (!PhoneResourceAdapter::Instance()->buttonsController()-> + getButtonFlags(PhoneUIQtButtonsController::Ihf)) { + ret.append(PhoneInCallCmdActivateIhf); + } else { + ret.append(PhoneInCallCmdDeactivateIhf); + } + } } else { - ret.append(PhoneInCallCmdMute); + if (PhoneResourceAdapter::Instance()->buttonsController()-> + getButtonFlags(PhoneUIQtButtonsController::Mute)) { + ret.append(PhoneInCallCmdUnmute); + } else { + ret.append(PhoneInCallCmdMute); + } } } + ret.append(PhoneInCallCmdEndOutgoingCall); } break; @@ -489,10 +509,31 @@ case EPEStateHeldConference: { if (!emergencyCall) { if (PhoneResourceAdapter::Instance()->buttonsController()-> - getButtonFlags(PhoneUIQtButtonsController::Mute)) { - ret.append(PhoneInCallCmdUnmute); + getButtonFlags( + PhoneUIQtButtonsController::IhfAsPushButton)) { + if (PhoneResourceAdapter::Instance()->buttonsController()->getButtonFlags( + PhoneUIQtButtonsController::BluetoothAvailable)) { + if (PhoneResourceAdapter::Instance()->buttonsController()->getButtonFlags( + PhoneUIQtButtonsController::Btaa)) { + ret.append(PhoneInCallCmdHandset); + } else { + ret.append(PhoneInCallCmdBtHandsfree); + } + } else { + if (!PhoneResourceAdapter::Instance()->buttonsController()-> + getButtonFlags(PhoneUIQtButtonsController::Ihf)) { + ret.append(PhoneInCallCmdActivateIhf); + } else { + ret.append(PhoneInCallCmdDeactivateIhf); + } + } } else { - ret.append(PhoneInCallCmdMute); + if (PhoneResourceAdapter::Instance()->buttonsController()-> + getButtonFlags(PhoneUIQtButtonsController::Mute)) { + ret.append(PhoneInCallCmdUnmute); + } else { + ret.append(PhoneInCallCmdMute); + } } } @@ -656,6 +697,20 @@ action->setCommand(EPhoneInCallCmdContacts); } break; + case PhoneInCallCmdBtHandsfree: { + action = new PhoneAction; + action->setIcon(HbIcon("qtg_mono_bluetooth_headset")); + action->setDisabled(disabled); + action->setCommand(EPhoneInCallCmdBtHandsfree); + } + break; + case PhoneInCallCmdHandset: { + action = new PhoneAction; + action->setIcon(HbIcon("qtg_mono_mobile")); + action->setDisabled(disabled); + action->setCommand(EPhoneInCallCmdHandset); + } + break; default: break; } diff -r 6b911d05207e -r bc5a64e5bc3c phoneapp/phoneuiqtviewadapter/src/phoneuiqtviewadapter.cpp --- a/phoneapp/phoneuiqtviewadapter/src/phoneuiqtviewadapter.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneapp/phoneuiqtviewadapter/src/phoneuiqtviewadapter.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -26,6 +26,7 @@ #include "tphonecmdparamcallheaderdata.h" #include "tphonecmdparamemergencycallheaderdata.h" #include "tphonecmdparamstring.h" +#include "tphonecmdparamkeycapture.h" #include "cphonepubsubproxy.h" #include "pevirtualengine.h" #include "cphoneringingtonecontroller.h" @@ -41,12 +42,13 @@ #include "phoneindicatorcontroller.h" #include "qtphonelog.h" #include "phonevisibilityhandler.h" +#include "phoneapplauncher.h" +#include "cphonecenrepproxy.h" #include #include #include #include -#include #include #include #include @@ -61,9 +63,14 @@ #include + //CONSTANTS static const int PHONE_CALL_NOT_FOUND = -1; +const TUid KCRUidTelTouchButtons = {0x2001B2E6}; +const TUint32 KTelIncallTouchButtons = 0x00000001; + + PhoneUIQtViewAdapter::PhoneUIQtViewAdapter (PhoneUIQtViewIF &view, QObject *parent) : QObject (parent), m_view (view), @@ -79,12 +86,13 @@ m_dialpadAboutToClose(false), m_homeScreenToForeground(false), m_visibilityHandler(0), - m_clearDialpadOnClose(true) + m_appLauncher(0), + m_clearDialpadOnClose(true), + m_speakerAsDefaultButton(false) { m_bubbleWrapper = new PhoneBubbleWrapper(m_view.bubbleManager (), this); m_noteController = new PhoneNoteController(this); m_uiCommandController = new PhoneUiCommandController(view, this); - m_messageController = new PhoneMessageController(this); TRAPD( error, m_ringingtonecontroller = CPhoneRingingToneController::NewL () ); qt_symbian_throwIfError(error); @@ -98,6 +106,19 @@ m_telephonyService = new TelephonyService (this, this); m_indicatorController = new PhoneIndicatorController(this); m_visibilityHandler = new PhoneVisibilityHandler(view, this); + m_appLauncher = new PhoneAppLauncher(this); + m_messageController = new PhoneMessageController(*m_appLauncher, this); + + int touchButton(-1); + if ( KErrNone == CPhoneCenRepProxy::Instance()->GetInt( + KCRUidTelTouchButtons, + KTelIncallTouchButtons, + touchButton ) ) { + if ( touchButton == 2 ) { + m_speakerAsDefaultButton = true; + } + } + } PhoneUIQtViewAdapter::~PhoneUIQtViewAdapter () @@ -198,7 +219,10 @@ m_view.removeExpandAction(bubble); m_bubbleWrapper->removeCallHeader (aCallId); m_bubbleWrapper->bubbleManager().endChanges(); - m_indicatorController->clearActiveCallData(); + + if (!m_bubbleWrapper->bubbles().count()) { + m_indicatorController->clearActiveCallData(); + } } break; case EPhoneViewRemoveFromConference: @@ -275,8 +299,8 @@ m_noteController->showQuery(aCommandParam); break; case EPhoneViewOpenSoftRejectEditor: + m_visibilityHandler->hideDeviceDialogs(false); m_messageController->openSoftRejectMessageEditor(aCommandParam); - m_visibilityHandler->hideDeviceDialogs(false); break; case EPhoneViewSetGlobalNotifiersDisabled: hideDeviceDialogs(aCommandParam); @@ -468,6 +492,42 @@ param->Boolean()); } break; + case EPhoneViewSetBlueToothFlag: { + TPhoneCmdParamBoolean *param = static_cast(aCommandParam); + + PhoneResourceAdapter::Instance()->buttonsController()-> + setButtonFlags(PhoneUIQtButtonsController::Btaa, + param->Boolean()); + } + break; + case EPhoneViewSetBluetoothAvailableFlag: { + TPhoneCmdParamBoolean *param = static_cast(aCommandParam); + + PhoneResourceAdapter::Instance()->buttonsController()-> + setButtonFlags(PhoneUIQtButtonsController::BluetoothAvailable, + param->Boolean()); + } + break; + case EPhoneViewStartCapturingKey: { + TPhoneCmdParamKeyCapture *captureParam = + static_cast(aCommandParam); + Qt::Key qtKey; + + if (convertKey(captureParam->KeyCode(), qtKey)) { + m_view.captureKey(qtKey, true); + } + } + break; + case EPhoneViewStopCapturingKey: { + TPhoneCmdParamKeyCapture *captureParam = + static_cast(aCommandParam); + Qt::Key qtKey; + + if (convertKey(captureParam->KeyCode(), qtKey)) { + m_view.captureKey(qtKey, false); + } + } + break; default: break; } @@ -693,7 +753,6 @@ bool emergencyCall = param.Boolean(); m_bubbleWrapper->bubbleManager ().startChanges (); - m_view.clearParticipantListActions(); QList bubbles = m_bubbleWrapper->bubbles().keys(); @@ -701,9 +760,7 @@ PhoneUIQtButtonsController::DisableJoin, (5 <= m_bubbleWrapper->conferenceCallList().count())); - m_resourceAdapter->buttonsController()->setButtonFlags( - PhoneUIQtButtonsController::FullConference, - (5 <= m_bubbleWrapper->conferenceCallList().count())); + setCommonButtonFlags(); for (int j = 0; j < bubbles.size(); ++j){ int callId = bubbles.at(j); @@ -729,7 +786,6 @@ } } - setParticipantListActions(); setExpandedConferenceCallHeader(); setBubbleSelectionFlag(); setMenu(); @@ -744,10 +800,8 @@ TPhoneCmdParamInteger &intParam = static_cast(*commandParam); - m_resourceAdapter->buttonsController()->setButtonFlags( - PhoneUIQtButtonsController::FullConference, - (5 <= m_bubbleWrapper->conferenceCallList().count())); - + setCommonButtonFlags(); + int callId(-1); int serviceId(-1); if ( 0callStates().keys().size() ) { @@ -880,6 +934,8 @@ m_bubbleWrapper->setServiceId(callId,data.ServiceId()); m_bubbleWrapper->setCiphering(bubble, data.CipheringIndicatorAllowed(), data.Ciphering()); + + setParticipantListActions(); } void PhoneUIQtViewAdapter::conferenceCallId(int callId, TPhoneCommandParam *commandParam) @@ -898,9 +954,13 @@ { m_bubbleWrapper->bubbleManager().startChanges(); m_view.removeExpandAction(m_bubbleWrapper->bubbleId(KConferenceCallId)); + m_view.clearParticipantListActions(); m_bubbleWrapper->removeConferenceBubble(); m_bubbleWrapper->bubbleManager().endChanges(); - m_indicatorController->clearActiveCallData(); + if (!m_bubbleWrapper->bubbles().count()) { + m_indicatorController->clearActiveCallData(); + } + } void PhoneUIQtViewAdapter::isConference(TPhoneCommandParam *commandParam) @@ -1056,7 +1116,7 @@ static_cast(commandParam); if (booleanParam->Boolean()) { - m_dialpadAboutToClose = true; + m_dialpadAboutToClose = false; m_view.showDialpad(); } else { m_clearDialpadOnClose = false; @@ -1083,7 +1143,10 @@ m_bubbleWrapper->bubbleManager().endChanges(); } } - m_indicatorController->clearActiveCallData(); + if (!m_bubbleWrapper->bubbles().count()) { + m_indicatorController->clearActiveCallData(); + } + } void PhoneUIQtViewAdapter::getNumberFromDialpad( @@ -1199,15 +1262,9 @@ CAknSgcClient::AknSrv()->UpdateTaskList(); } } - void PhoneUIQtViewAdapter::openContacts() { - XQServiceRequest snd("com.nokia.services.phonebookappservices.Launch","launch()", false); - XQRequestInfo info; - info.setForeground(true); - snd.setInfo(info); - int retValue; - snd.send(retValue); + m_appLauncher->launchContacts(); } void PhoneUIQtViewAdapter::openLogs(TPhoneCommandParam *commandParam) @@ -1215,29 +1272,49 @@ TPhoneCmdParamString* entryContent = static_cast(commandParam); - int ordinalPosition = m_visibilityHandler->ordinalPosition(); + bool phoneVisible = m_visibilityHandler->phoneVisible(); m_homeScreenToForeground = false; m_visibilityHandler->sendToBackground(m_homeScreenToForeground); - if (0 == ordinalPosition) { + if (phoneVisible) { // Activate logs dialer only if telephone is on the top. - XQServiceRequest snd("com.nokia.services.logsservices.starter", - "startWithNum(int,bool,QString)", false); - - snd << (int)LogsServices::ViewAll; - snd << true; - snd << QString::fromUtf16(entryContent->String()->Ptr(), - entryContent->String()->Length()); - - XQRequestInfo info; - info.setForeground(true); - snd.setInfo(info); - - int retValue = -1; - snd.send(retValue); + m_appLauncher->launchLogs( + LogsServices::ViewAll, + true, + QString::fromUtf16( + entryContent->String()->Ptr(), + entryContent->String()->Length())); } } +void PhoneUIQtViewAdapter::setCommonButtonFlags() +{ + m_resourceAdapter->buttonsController()->setButtonFlags( + PhoneUIQtButtonsController::FullConference, + (5 <= m_bubbleWrapper->conferenceCallList().count())); + + m_resourceAdapter->buttonsController()->setButtonFlags( + PhoneUIQtButtonsController::IhfAsPushButton, + m_speakerAsDefaultButton); +} + +bool PhoneUIQtViewAdapter::convertKey( + TKeyCode symbianKey, Qt::Key &qtKey) +{ + bool ret = false; + + switch(symbianKey) { + case EKeyNo: { + qtKey = Qt::Key_No; + ret = true; + } + break; + default: + break; + } + + return ret; +} diff -r 6b911d05207e -r bc5a64e5bc3c phoneapp/phoneuiqtviewadapter/src/phonevisibilityhandler.cpp --- a/phoneapp/phoneuiqtviewadapter/src/phonevisibilityhandler.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneapp/phoneuiqtviewadapter/src/phonevisibilityhandler.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -21,6 +21,7 @@ #include #include #include +#include #include "phonevisibilityhandler.h" #include "cphonepubsubproxy.h" #include "phoneconstants.h" @@ -51,21 +52,6 @@ connect(m_carModeSubscriber, SIGNAL(contentsChanged()), this, SLOT(carModeChanged())); m_carModeEnabled = m_carModeSubscriber->value().toBool(); -/* - // Define car mode pub sub key - int err = RProperty::Define( - KPSUidTelCarMode, - KTelCarMode, - RProperty::EInt, - KPhoneReadPolicy, - KPhoneWritePolicy); - - // Start listening to car mode changes - if(err == KErrNone) { - QT_TRAP_THROWING(CPhonePubSubProxy::Instance()->NotifyChangeL( - KPSUidTelCarMode, KTelCarMode, this)); - } -*/ int autlockValue = CPhonePubSubProxy::Instance()->Value( KPSUidCoreApplicationUIs, KCoreAppUIsAutolockStatus); m_deviceLockEnabled = (EAutolockOff < autlockValue); @@ -74,6 +60,10 @@ // Start listening to device lock changes QT_TRAP_THROWING(CPhonePubSubProxy::Instance()->NotifyChangeL( KPSUidCoreApplicationUIs, KCoreAppUIsAutolockStatus, this)); + + QT_TRAP_THROWING(CPhonePubSubProxy::Instance()->NotifyChangeL( + KPSUidCoreApplicationUIs, KCoreAppUIsAutolockStatus, this)); + } @@ -92,8 +82,9 @@ void PhoneVisibilityHandler::bringToForeground() { PHONE_TRACE2("m_carModeEnabled=", m_carModeEnabled); - - if(!m_carModeEnabled) { + + if (!m_carModeEnabled) { + disableKeyGuard(); m_view.bringToForeground(); adjustVisibility(BringForwards); } @@ -112,11 +103,12 @@ } /*! - PhoneVisibilityHandler::ordinalPosition. + PhoneVisibilityHandler::phoneVisible. */ -int PhoneVisibilityHandler::ordinalPosition() +bool PhoneVisibilityHandler::phoneVisible() { - return m_eikonEnv->RootWin().OrdinalPosition(); + // Should we check if there is phone's devicedialogs visible? + return (m_eikonEnv->RootWin().OrdinalPosition() == 0); } /*! @@ -125,7 +117,9 @@ void PhoneVisibilityHandler::sendToBackground(bool homeScreenForeground) { PHONE_TRACE2(": homeScreenForeground =", homeScreenForeground); - + + enableKeyGuard(); + // Send phone back on WSERV stack adjustVisibility(SendToBack); @@ -149,16 +143,76 @@ // Adjust visibility according mode m_deviceLockEnabled = (EAutolockOff < aValue); PHONE_TRACE2(": m_deviceLockEnabled=", m_deviceLockEnabled); + m_view.setRestrictedMode(m_deviceLockEnabled); adjustVisibility(KeepCurrentPos); } } /*! + * PhoneVisibilityHandler::disableKeyGuard(). + */ +bool PhoneVisibilityHandler::disableKeyGuard() +{ + TRAP_IGNORE( + CKeyguardAccessApi* keyguardAccess = CKeyguardAccessApi::NewL( ); + if (!m_keyguardOnBeforeForeground) { + // Check if keyguard previous status only when it is not set + // Keyguard status will be restored when phone is ordered to background + m_keyguardOnBeforeForeground = keyguardAccess->IsKeyguardEnabled(); + } + keyguardAccess->DisableKeyguard( EFalse ); + delete keyguardAccess; + ); + + return m_keyguardOnBeforeForeground; +} + +/*! + * PhoneVisibilityHandler::enableKeyGuard(). + */ +void PhoneVisibilityHandler::enableKeyGuard() +{ + if (phoneVisible() && m_keyguardOnBeforeForeground) { + // If phone is visible return to previous keyguard status + TRAP_IGNORE( + CKeyguardAccessApi* keyguardAccess = CKeyguardAccessApi::NewL( ); + keyguardAccess->EnableKeyguard( EFalse ); + delete keyguardAccess; + ); + } + + m_keyguardOnBeforeForeground = false; +} + +/*! + * PhoneVisibilityHandler::ongoingCalls(). + */ +int PhoneVisibilityHandler::ongoingCalls() +{ + int amountOfCalls=0; + TRAP_IGNORE( + CCallInformation* callInfos = CCallInformation::NewL(); + CleanupStack::PushL(callInfos); + Q_ASSERT(callInfos != 0); + amountOfCalls = callInfos->GetCallsL().Count(); + CleanupStack::PopAndDestroy(callInfos); + ); + + return amountOfCalls; +} + +/*! PhoneVisibilityHandler::adjustVisibility. -1 Ordinal position is lowest ( not visible ) 0 Ordinal position is highest ( visible ) 1 - ... Ordinal postition under one or more window group + + It is agreed with devicedialog that: + - Incomincall, ECoeWinPriorityAlwaysAtFront + 100 + - Ongoing call + security, ECoeWinPriorityAlwaysAtFront + - Ongoing call + Securire query, ECoeWinPriorityAlwaysAtFront - 1 + - Ongoing call, ECoeWinPriorityNormal */ void PhoneVisibilityHandler::adjustVisibility(AdjustAction action) { @@ -179,7 +233,7 @@ } else if (m_hideDeviceDialogs) { PHONE_TRACE1(": Hide dialogs"); - m_eikonEnv->RootWin().SetOrdinalPosition(0, ECoeWinPriorityAlwaysAtFront + 1); + m_eikonEnv->RootWin().SetOrdinalPosition(0, ECoeWinPriorityAlwaysAtFront + 100); } else if (m_deviceLockEnabled) { // critical notes are allowed to show on top of Phone application @@ -204,18 +258,11 @@ void PhoneVisibilityHandler::carModeChanged() { PHONE_TRACE; + m_carModeEnabled = m_carModeSubscriber->value().toBool(); - m_carModeEnabled = m_carModeSubscriber->value().toBool(); - - CCallInformation* callInfos = CCallInformation::NewL(); - Q_ASSERT(callInfos != 0); - int amountOfCalls = callInfos->GetCallsL().Count(); - - if(!m_carModeEnabled && (amountOfCalls > 0)) { + if(!m_carModeEnabled && (ongoingCalls() > 0)) { bringToForeground(); } - - delete callInfos; // Adjust visibility according mode (TODO!) PHONE_TRACE2(": m_carModeEnabled=", m_carModeEnabled); diff -r 6b911d05207e -r bc5a64e5bc3c phoneapp/phoneuiqtviewadapter/src/telephonyservice.cpp --- a/phoneapp/phoneuiqtviewadapter/src/telephonyservice.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneapp/phoneuiqtviewadapter/src/telephonyservice.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -22,7 +22,7 @@ #include "qtphonelog.h" TelephonyService::TelephonyService( PhoneUIQtViewAdapter *viewAdapter, QObject* parent) : - XQServiceProvider(QLatin1String("com.nokia.services.telephony.uistarter"), parent), + XQServiceProvider(QLatin1String("phoneui.com.nokia.symbian.IStart"), parent), m_viewAdapter (viewAdapter) { PHONE_DEBUG("TelephonyService::TelephonyService"); @@ -47,7 +47,6 @@ case 1: { m_viewAdapter->ExecuteCommandL( EPhoneViewOpenDialer ); - /*TODO: remove this as soon as QT Highway brings in call dialer to foreground*/ TPhoneCmdParamInteger uidParam; uidParam.SetInteger( KUidPhoneApplication.iUid ); m_viewAdapter->ExecuteCommandL(EPhoneViewBringAppToForeground, &uidParam); diff -r 6b911d05207e -r bc5a64e5bc3c phoneapp/phoneuiqtviewadapter/tsrc/ut_phonemessagecontroller/phoneapplauncher_stub.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phonemessagecontroller/phoneapplauncher_stub.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -0,0 +1,92 @@ +/* +* 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 "phoneapplauncher.h" +#include "qtphonelog.h" + +QList gList; + +/*! + PhoneAppLauncher::PhoneAppLauncher. + */ +PhoneAppLauncher::PhoneAppLauncher(QObject *parent) + : QObject(parent) +{ + PHONE_TRACE; +} + + +/*! + PhoneAppLauncher::~PhoneAppLauncher. + */ +PhoneAppLauncher::~PhoneAppLauncher() +{ + PHONE_TRACE; +} + +/*! + PhoneAppLauncher::launchMessaging. + */ +void PhoneAppLauncher::launchMessaging( + const QString &toField, + const QString &name, + const QString &messageBody) +{ + gList.append(toField); + gList.append(name); + gList.append(messageBody); +} + +/*! + PhoneAppLauncher::launchContacts. + */ +void PhoneAppLauncher::launchContacts() +{ + +} + +/*! + PhoneAppLauncher::launchLogs. + */ +void PhoneAppLauncher::launchLogs( + int activatedView, + bool showDialpad, + const QString &dialpadText) +{ + Q_UNUSED(activatedView); + Q_UNUSED(showDialpad); + Q_UNUSED(dialpadText); +} + +/*! + PhoneAppLauncher::sendServiceRequest. + */ +void PhoneAppLauncher::sendServiceRequest( + const QString &service, + const QString &interface, + const QString &function, + const QList &arguments) +{ + Q_UNUSED(service); + Q_UNUSED(interface); + Q_UNUSED(function); + Q_UNUSED(arguments); +} + +// end of file diff -r 6b911d05207e -r bc5a64e5bc3c phoneapp/phoneuiqtviewadapter/tsrc/ut_phonemessagecontroller/unit_tests.cpp --- a/phoneapp/phoneuiqtviewadapter/tsrc/ut_phonemessagecontroller/unit_tests.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phonemessagecontroller/unit_tests.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -23,13 +23,11 @@ #include "cphonecenrepproxy.h" #include "cphonepubsubproxy.h" #include +#include "phoneapplauncher.h" #include "phonemessagecontroller.h" #include "tphonecmdparamsfidata.h" -QString mService; -QString mMessage; -bool mSend; -QList mList; +extern QList gList; #define PHONE_QT_MESSAGE_CONTROLLER_TEST_MAIN(TestObject) \ @@ -68,6 +66,7 @@ QString softRejectText(); private: + PhoneAppLauncher *m_launcher; PhoneMessageController *m_messageController; // class under test }; @@ -81,12 +80,14 @@ void TestPhoneMessageController::initTestCase() { - m_messageController = new PhoneMessageController(); + m_launcher = new PhoneAppLauncher(this); + m_messageController = new PhoneMessageController(*m_launcher, this); } void TestPhoneMessageController::cleanupTestCase() { delete m_messageController; + delete m_launcher; } void TestPhoneMessageController::init() @@ -106,12 +107,9 @@ m_messageController->openSoftRejectMessageEditor(&sfiParam); - QVERIFY( mService == "com.nokia.services.hbserviceprovider.conversationview" ); - QVERIFY( mMessage == "send(QString,QString,QString)" ); - QVERIFY( mList.contains("1234567") ); - QVERIFY( mList.contains("Tester") ); - QVERIFY( mList.contains(text) ); - QVERIFY( mSend ); + QVERIFY( gList.contains("1234567") ); + QVERIFY( gList.contains("Tester") ); + QVERIFY( gList.contains(text) ); } QString TestPhoneMessageController::softRejectText() diff -r 6b911d05207e -r bc5a64e5bc3c phoneapp/phoneuiqtviewadapter/tsrc/ut_phonemessagecontroller/ut_phonemessagecontroller.pro --- a/phoneapp/phoneuiqtviewadapter/tsrc/ut_phonemessagecontroller/ut_phonemessagecontroller.pro Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phonemessagecontroller/ut_phonemessagecontroller.pro Tue Jul 06 14:15:47 2010 +0300 @@ -41,8 +41,9 @@ } # Input -HEADERS += xqservicerequest.h HEADERS += ../../inc/phonemessagecontroller.h SOURCES += ../../src/phonemessagecontroller.cpp +HEADERS += ../../inc/phoneapplauncher.h +SOURCES += phoneapplauncher_stub.cpp SOURCES += unit_tests.cpp diff -r 6b911d05207e -r bc5a64e5bc3c phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneresourceadapter/unit_tests.cpp --- a/phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneresourceadapter/unit_tests.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneresourceadapter/unit_tests.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -64,6 +64,7 @@ void testConvertCommandToString(); void testConvertToHbActions(); void testConvertToToolBarCommandList(); + void testBtToolBarCommandList(); private: void testIncallToolbar (int id); // helper function @@ -208,7 +209,7 @@ QString testString5 = m_resourceAdapter->convertToString(R_PHONE_ERROR_NUMBER_BUSY); QVERIFY( false == testString5.isEmpty() ); - QString testString6 = m_resourceAdapter->convertToString(R_PHONE_SS_NOTIFICATION_MOCAL_WAITING_TEXT); + QString testString6 = m_resourceAdapter->convertToString(R_PHONE_ERROR_REQUEST_REJECTED); QVERIFY( false == testString6.isEmpty() ); QString testString7 = m_resourceAdapter->convertToString(R_PHONE_SS_NOTIFICATION_INCAL_INFO_HOLD_TEXT); @@ -220,8 +221,8 @@ QString testString9 = m_resourceAdapter->convertToString(R_INCAL_REMOTE_ACTIVE_TEXT); QVERIFY( false == testString9.isEmpty() ); - QString testString10 = m_resourceAdapter->convertToString(R_INCAL_INFO_CONF_HOLD_TEXT); - QVERIFY( false == testString10.isEmpty() ); + /*QString testString10 = m_resourceAdapter->convertToString(R_INCAL_INFO_CONF_HOLD_TEXT); + QVERIFY( false == testString10.isEmpty() );*/ QString testString11 = m_resourceAdapter->convertToString(R_PHONE_INCALL_INFO_NO_NETWORK_SUPPORT); QVERIFY( false == testString11.isEmpty() ); @@ -250,8 +251,8 @@ QString testString19 = m_resourceAdapter->convertToString(R_NOTETEXT_NUMBER_BARRED); QVERIFY( false == testString19.isEmpty() ); - QString testString20 = m_resourceAdapter->convertToString(R_PHONEUI_NO_VIDEO_NETWORK); - QVERIFY( false == testString20.isEmpty() ); + /*QString testString20 = m_resourceAdapter->convertToString(R_PHONEUI_NO_VIDEO_NETWORK); + QVERIFY( false == testString20.isEmpty() );*/ QString testString21 = m_resourceAdapter->convertToString(R_PHONEUI_VIDEO_CALL_NOT_POSSIBLE); QVERIFY( false == testString21.isEmpty() ); @@ -342,12 +343,12 @@ { m_resourceAdapter = PhoneResourceAdapter::Instance (this); - QString testString = m_resourceAdapter->convertToString( + QString testString = m_resourceAdapter->convertToStringWithParam( R_PHONE_TEXT_COLP_CONNECTED, QString("123456")); QVERIFY( false == testString.isEmpty() ); - QString testString2 = m_resourceAdapter->convertToString(0, QString()); + QString testString2 = m_resourceAdapter->convertToStringWithParam(0, QString()); QCOMPARE( testString2, QString ("") ); } @@ -600,5 +601,29 @@ testList.clear(); } +void TestPhoneResourceAdapter::testBtToolBarCommandList () +{ + m_resourceAdapter = PhoneResourceAdapter::Instance(this); + PhoneUIQtButtonsController* buttonsController = + m_resourceAdapter->buttonsController(); + + QList testList; + buttonsController->setButtonFlags(PhoneUIQtButtonsController::BluetoothAvailable,true); + buttonsController->setButtonFlags(PhoneUIQtButtonsController::IhfAsPushButton,false); + + testList = m_resourceAdapter->convertToToolBarCommandList(R_PHONEUI_CALLHANDLING_INCALL_BTAA_CBA); + QVERIFY(0 < testList.count()); + QVERIFY(PhoneInCallCmdBtHandsfree == testList.at(0).mCommandId); + QVERIFY(true == testList.at(0).mEnabled); + testList.clear(); + + buttonsController->setButtonFlags(PhoneUIQtButtonsController::Btaa,true); + testList = m_resourceAdapter->convertToToolBarCommandList(R_PHONEUI_CALLHANDLING_INCALL_BTAA_CBA); + QVERIFY(0 < testList.count()); + QVERIFY(PhoneInCallCmdHandset == testList.at(0).mCommandId); + QVERIFY(true == testList.at(0).mEnabled); + testList.clear(); +} + PHONE_QT_RESOURCE_ADAPTER_TEST_MAIN(TestPhoneResourceAdapter) #include "unit_tests.moc" diff -r 6b911d05207e -r bc5a64e5bc3c phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneuicommandcontroller/unit_tests.cpp --- a/phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneuicommandcontroller/unit_tests.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneuicommandcontroller/unit_tests.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -27,6 +27,8 @@ #include "phonebubblewrapper.h" #include "phoneuicommandcontroller.h" #include "phoneresourceids.h" +#include "phoneresourceadapter.h" +#include "phoneuiqtbuttonscontroller.h" extern bool m_setActions; extern bool m_setInvalidCommand; @@ -34,6 +36,7 @@ extern bool m_setInvalidButtonCommands; extern bool m_setInvalidToolBarCommands; extern bool m_setCustomToolBarCommands; +extern int m_phoneButtonFlags; #define PHONE_QT_VIEW_ADAPTER_TEST_MAIN(TestObject) \ int main(int argc, char *argv[]) \ @@ -73,13 +76,13 @@ int volumeSliderValue () { m_volumeSliderValueCalled = true; return 5; }; void removeVolumeSlider () { m_removeVolumeSliderCalled = true; }; void setVolumeSliderValue ( - int value, - int commandId, - int maxVolumeValue, - int minVolumeValue ) { m_setVolumeSliderValueCalled = true; m_volumeSliderValue = value; }; + int , + int , + int , + int ) { m_setVolumeSliderValueCalled = true; m_volumeSliderValue = value; }; void setExpandAction(int bubbleId, int commandId) {m_expandAction[bubbleId]=commandId;}; - void removeExpandAction(int bubbleId) {}; + void removeExpandAction(int ) {}; void showDialpad() {m_showDialpadCalled = true;}; void hideDialpad() {m_hideDialpadCalled = true;}; bool isDialpadVisible() @@ -88,48 +91,49 @@ QString dialpadText() {return m_dialpadText;}; void clearAndHideDialpad() { m_clearAndHideDialpadCalled = true;}; void clearDialpad() {}; - void bringToForeground() {;}; - void setMenuActions(const QList& actions) { m_setMenuActionsCalled = true;}; - void shutdownPhoneApp() {;}; - void setBackButtonVisible(bool visible) {;}; + void bringToForeground() {}; + void setMenuActions(const QList& ) { m_setMenuActionsCalled = true;}; + void shutdownPhoneApp() {}; + void setBackButtonVisible(bool ) {}; HbMenu &menuReference(){return m_menu;}; + void captureKey(Qt::Key , bool ) {}; // From BubbleManagerIF void startChanges () { m_startChangesCalled=true; }; void endChanges () { m_endChangesCalled=true; }; int createCallHeader () { return 0; }; - void removeCallHeader (int bubbleId) {}; - void setState (int bubbleId, PhoneCallState state) {}; + void removeCallHeader (int ) {}; + void setState (int , PhoneCallState ) {}; void setLabel ( - int bubbleId, - const QString& text, - Qt::TextElideMode clipDirection) {}; - void setCli (int bubbleId, - const QString& cliText, - Qt::TextElideMode clipDirection) {}; + int , + const QString& , + Qt::TextElideMode ) {}; + void setCli (int , + const QString& , + Qt::TextElideMode ) {}; void updateCLI ( - int bubbleId, - const QString& cliText, - Qt::TextElideMode clipDirection) {}; + int , + const QString& , + Qt::TextElideMode ) {}; void setSecondaryCli ( - int bubbleId, - const QString& cliText, + int , + const QString& , Qt::TextElideMode clipDirection = Qt::ElideLeft) {}; - void setCallTime (int bubbleId, const QString& callTime) {}; + void setCallTime (int , const QString& ) {}; void updateCallTime (int bubbleId, const QString& callTime) { m_updateCallTimeCalled=true; m_int=bubbleId; m_string=callTime; }; - void setCallObjectImage (int bubbleId, const QString &fileName) {}; - void setCallObjectFromTheme (int bubbleId) {}; - void setCallObjectText (int bubbleId, const QString &text) {}; - void setCallFlags (int bubbleId, int flags) {}; - void setCallFlag (int bubbleId, PhoneCallFlags flag, bool set) {}; - void setNumberType (int bubbleId, PhoneNumberType type) {}; + void setCallObjectImage (int , const QString &) {}; + void setCallObjectFromTheme (int ) {}; + void setCallObjectText (int , const QString &) {}; + void setCallFlags (int , int ) {}; + void setCallFlag (int , PhoneCallFlags , bool ) {}; + void setNumberType (int , PhoneNumberType ) {}; void updateCallHeaderText( - int bubbleId, - const QString &longText, - const QString &shortText, - Qt::TextElideMode clipDirection) {}; + int , + const QString &, + const QString &, + Qt::TextElideMode ) {}; void setPhoneMuted (bool muted) { m_setPhoneMutedCalled = muted; }; - int createConference (int bubble1, int bubble2) { return 1; }; + int createConference (int , int ) { return 1; }; void removeConference () {}; void addRowToConference (int bubbleId) {}; void removeRowFromConference (int bubbleId) {}; @@ -140,17 +144,18 @@ int selectionIdInConference () const { return 0; }; void moveHighlightOneUpInConference () {}; void moveHighlightOneDownInConference () {}; - void setExpandedConferenceCallHeader (bool expanded) { m_ExpandConferenceCalled = true; }; + void setExpandedConferenceCallHeader (bool ) { m_ExpandConferenceCalled = true; }; bool isConferenceExpanded () const { return false; }; int shownHeaderCount () const { return 1; }; - void setParticipantListCli (int aBubbleId, ParticipantListCli aParticipantCli) {}; - void addAction (int bubble, HbAction *action) {}; - void clearActions (int bubble) {}; - QGraphicsWidget* graphicsWidgetForAction (HbAction *action) const { return 0;}; - void addParticipantListAction (HbAction *action) {}; + void setParticipantListCli (int , ParticipantListCli ) {}; + void addAction (int , HbAction *) {}; + void clearActions (int ) {}; + QGraphicsWidget* graphicsWidgetForAction (HbAction *) const { return 0;}; + void addParticipantListAction (HbAction *) {}; int expandedBubble() const { return 1; }; - void setExpandAction(int bubbleId, HbAction* action) {}; - void setBubbleSelectionDisabled(bool b) {}; + void setExpandAction(int , HbAction* ) {}; + void setBubbleSelectionDisabled(bool ) {}; + void setRestrictedMode(bool ) {}; signals: void dialpadAboutToClose(); @@ -376,6 +381,9 @@ qDeleteAll(actions.values()); actions.clear(); + PhoneResourceAdapter::Instance()->buttonsController()-> + setButtonFlags(PhoneUIQtButtonsController::Ihf, true); + callStates[callId] = EPEStateHeld; callState = EPEStateHeld; actions = m_commandController->pushButtonActionsForCall( @@ -520,6 +528,9 @@ //2 calls ////////////////////////////////////////////////////////////////////////// + PhoneResourceAdapter::Instance()->buttonsController()-> + setButtonFlags(PhoneUIQtButtonsController::BluetoothAvailable, true); + callStates[2] = EPEStateHeldConference; actions = m_commandController->pushButtonActionsForCall( callState, @@ -634,6 +645,9 @@ qDeleteAll(actions.values()); actions.clear(); + PhoneResourceAdapter::Instance()->buttonsController()-> + setButtonFlags(PhoneUIQtButtonsController::Btaa, true); + callStates[callId] = EPEStateConnected; callStates[2] = EPEStateHeldConference; callState = EPEStateHeldConference; @@ -683,6 +697,7 @@ void TestPhoneUiCommandController::testToolBarActionsForCall() { + m_phoneButtonFlags = 0; int callState = EPEStateConnected; QMap callStates; QMap serviceIds; @@ -692,6 +707,15 @@ serviceIds[callId] = serviceId; m_setInvalidToolBarCommands = false; m_setCustomToolBarCommands = false; + PhoneResourceAdapter::Instance()->buttonsController()-> + setButtonFlags(PhoneUIQtButtonsController::Btaa, false); + PhoneResourceAdapter::Instance()->buttonsController()-> + setButtonFlags(PhoneUIQtButtonsController::BluetoothAvailable, false); + PhoneResourceAdapter::Instance()->buttonsController()-> + setButtonFlags(PhoneUIQtButtonsController::IhfAsPushButton, false); + PhoneResourceAdapter::Instance()->buttonsController()-> + setButtonFlags(PhoneUIQtButtonsController::Ihf, false); + QList actions = m_commandController->toolBarActions( diff -r 6b911d05207e -r bc5a64e5bc3c phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneuiqtviewadapter/phoneapplauncher_stub.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneuiqtviewadapter/phoneapplauncher_stub.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -0,0 +1,90 @@ +/* +* 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 "phoneapplauncher.h" +#include "qtphonelog.h" + +/*! + PhoneAppLauncher::PhoneAppLauncher. + */ +PhoneAppLauncher::PhoneAppLauncher(QObject *parent) + : QObject(parent) +{ + PHONE_TRACE; +} + + +/*! + PhoneAppLauncher::~PhoneAppLauncher. + */ +PhoneAppLauncher::~PhoneAppLauncher() +{ + PHONE_TRACE; +} + +/*! + PhoneAppLauncher::launchMessaging. + */ +void PhoneAppLauncher::launchMessaging( + const QString &toField, + const QString &name, + const QString &messageBody) +{ + Q_UNUSED(toField); + Q_UNUSED(name); + Q_UNUSED(messageBody); +} + +/*! + PhoneAppLauncher::launchContacts. + */ +void PhoneAppLauncher::launchContacts() +{ + +} + +/*! + PhoneAppLauncher::launchLogs. + */ +void PhoneAppLauncher::launchLogs( + int activatedView, + bool showDialpad, + const QString &dialpadText) +{ + Q_UNUSED(activatedView); + Q_UNUSED(showDialpad); + Q_UNUSED(dialpadText); +} + +/*! + PhoneAppLauncher::sendServiceRequest. + */ +void PhoneAppLauncher::sendServiceRequest( + const QString &service, + const QString &interface, + const QString &function, + const QList &arguments) +{ + Q_UNUSED(service); + Q_UNUSED(interface); + Q_UNUSED(function); + Q_UNUSED(arguments); +} + +// end of file diff -r 6b911d05207e -r bc5a64e5bc3c phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneuiqtviewadapter/phonevisibilityhandler_stub.cpp --- a/phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneuiqtviewadapter/phonevisibilityhandler_stub.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneuiqtviewadapter/phonevisibilityhandler_stub.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -83,10 +83,10 @@ /*! PhoneVisibilityHandler::ordinalPosition. */ -int PhoneVisibilityHandler::ordinalPosition() +bool PhoneVisibilityHandler::phoneVisible() { m_ordinalPositionCalled = true; - return -1; + return false; } /*! @@ -107,3 +107,12 @@ { Q_UNUSED(action) } + +/*! + PhoneVisibilityHandler::carModeChanged. + */ +void PhoneVisibilityHandler::carModeChanged() +{ + +} + diff -r 6b911d05207e -r bc5a64e5bc3c phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneuiqtviewadapter/unit_tests.cpp --- a/phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneuiqtviewadapter/unit_tests.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneuiqtviewadapter/unit_tests.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -34,6 +34,7 @@ #include "tphonecmdparamemergencycallheaderdata.h" #include "tphonecmdparamboolean.h" #include "tphonecmdparamringtone.h" +#include "tphonecmdparamkeycapture.h" #include "pevirtualengine.h" #include "bubblemanagerif.h" #include "phoneresourceids.h" @@ -105,12 +106,12 @@ void removeVolumeSlider () { m_removeVolumeSliderCalled = true; }; void setVolumeSliderValue ( int value, - int commandId, - int maxVolumeValue, - int minVolumeValue ) { m_setVolumeSliderValueCalled = true; m_volumeSliderValue = value; }; + int , + int , + int ) { m_setVolumeSliderValueCalled = true; m_volumeSliderValue = value; }; void setExpandAction(int bubbleId, int commandId) {m_expandAction[bubbleId]=commandId;}; - void removeExpandAction(int bubbleId) {}; + void removeExpandAction(int ) {}; void showDialpad() {m_showDialpadCalled = true;}; void hideDialpad() {m_hideDialpadCalled = true;}; bool isDialpadVisible() @@ -119,69 +120,73 @@ QString dialpadText() {return m_dialpadText;}; void clearDialpad() {}; void clearAndHideDialpad() { m_clearAndHideDialpadCalled = true;}; - void bringToForeground() {;}; - void setMenuActions(const QList& actions) { m_setMenuActionsCalled = true;}; - void shutdownPhoneApp() {;}; - void setBackButtonVisible(bool visible) {;}; + void bringToForeground() {}; + void setMenuActions(const QList& ) { m_setMenuActionsCalled = true;}; + void shutdownPhoneApp() {}; + void setBackButtonVisible(bool ) {}; HbMenu &menuReference(){return m_menu;}; + void captureKey(Qt::Key key, bool capture) { + m_capturedKey = key; + m_captured = capture;}; // From BubbleManagerIF void startChanges () { m_startChangesCalled=true; }; void endChanges () { m_endChangesCalled=true; }; int createCallHeader () { return 0; }; - void removeCallHeader (int bubbleId) {}; - void setState (int bubbleId, PhoneCallState state) {}; + void removeCallHeader (int ) {}; + void setState (int , PhoneCallState ) {}; void setLabel ( - int bubbleId, - const QString& text, - Qt::TextElideMode clipDirection) {}; - void setCli (int bubbleId, - const QString& cliText, - Qt::TextElideMode clipDirection) {}; + int , + const QString& , + Qt::TextElideMode ) {}; + void setCli (int , + const QString& , + Qt::TextElideMode ) {}; void updateCLI ( - int bubbleId, - const QString& cliText, - Qt::TextElideMode clipDirection) {}; + int , + const QString& , + Qt::TextElideMode ) {}; void setSecondaryCli ( - int bubbleId, - const QString& cliText, - Qt::TextElideMode clipDirection = Qt::ElideLeft) {}; - void setCallTime (int bubbleId, const QString& callTime) {}; + int , + const QString& , + Qt::TextElideMode ) {}; + void setCallTime (int , const QString& ) {}; void updateCallTime (int bubbleId, const QString& callTime) { m_updateCallTimeCalled=true; m_int=bubbleId; m_string=callTime; }; - void setCallObjectImage (int bubbleId, const QString &fileName) {}; - void setCallObjectFromTheme (int bubbleId) {}; - void setCallObjectText (int bubbleId, const QString &text) {}; - void setCallFlags (int bubbleId, int flags) {}; - void setCallFlag (int bubbleId, PhoneCallFlags flag, bool set) {}; - void setNumberType (int bubbleId, PhoneNumberType type) {}; + void setCallObjectImage (int , const QString &) {}; + void setCallObjectFromTheme (int ) {}; + void setCallObjectText (int , const QString &) {}; + void setCallFlags (int , int ) {}; + void setCallFlag (int , PhoneCallFlags , bool ) {}; + void setNumberType (int , PhoneNumberType ) {}; void updateCallHeaderText( - int bubbleId, - const QString &longText, - const QString &shortText, - Qt::TextElideMode clipDirection) {}; + int , + const QString &, + const QString &, + Qt::TextElideMode ) {}; void setPhoneMuted (bool muted) { m_setPhoneMutedCalled = muted; }; - int createConference (int bubble1, int bubble2) { return 1; }; + int createConference (int , int ) { return 1; }; void removeConference () {}; - void addRowToConference (int bubbleId) {}; - void removeRowFromConference (int bubbleId) {}; + void addRowToConference (int ) {}; + void removeRowFromConference (int ) {}; int conferenceRowCount () const { return 2; }; - void setSelectionInConference (int rowNumber) {}; - void setSelectionIdInConference (int bubbleId) {}; + void setSelectionInConference (int ) {}; + void setSelectionIdInConference (int ) {}; int selectionInConference () const { return 0; }; int selectionIdInConference () const { return 0; }; void moveHighlightOneUpInConference () {}; void moveHighlightOneDownInConference () {}; - void setExpandedConferenceCallHeader (bool expanded) { m_ExpandConferenceCalled = true; }; + void setExpandedConferenceCallHeader (bool ) { m_ExpandConferenceCalled = true; }; bool isConferenceExpanded () const { return false; }; int shownHeaderCount () const { return 1; }; - void setParticipantListCli (int aBubbleId, ParticipantListCli aParticipantCli) {}; - void addAction (int bubble, HbAction *action) {}; - void clearActions (int bubble) {}; - QGraphicsWidget* graphicsWidgetForAction (HbAction *action) const { return 0;}; - void addParticipantListAction (HbAction *action) {}; + void setParticipantListCli (int , ParticipantListCli ) {}; + void addAction (int , HbAction *) {}; + void clearActions (int ) {}; + QGraphicsWidget* graphicsWidgetForAction (HbAction *) const { return 0;}; + void addParticipantListAction (HbAction *) {}; int expandedBubble() const { return 1; }; - void setExpandAction(int bubbleId, HbAction* action) {}; - void setBubbleSelectionDisabled(bool b) {}; + void setExpandAction(int , HbAction* ) {}; + void setBubbleSelectionDisabled(bool ) {}; + void setRestrictedMode(bool ) {}; signals: void dialpadAboutToClose(); @@ -242,6 +247,8 @@ void testBeginEndUiUpdate(); void testIndicatorController(); void testOpenLogs(); + void testSetFlags(); + void testCaptureEndKey(); private: PhoneUIQtViewAdapter *m_adapter; // class under test @@ -269,7 +276,9 @@ bool m_isDialpadVisible; QString m_dialpadText; HbMenu m_menu; - + bool m_captured; + Qt::Key m_capturedKey; + QList mParticipantListActions; }; TestPhoneUIQtViewAdapter::TestPhoneUIQtViewAdapter () : @@ -332,15 +341,15 @@ void TestPhoneUIQtViewAdapter::addParticipantListAction( int commandId, - const QString& text, - const HbIcon& icon) + const QString& , + const HbIcon& ) { - + mParticipantListActions.append(commandId); } void TestPhoneUIQtViewAdapter::clearParticipantListActions() { - + mParticipantListActions.clear(); } void TestPhoneUIQtViewAdapter::testEPhoneViewSetTopApplicationCommand () @@ -902,6 +911,9 @@ m_adapter->ExecuteCommandL (EPhoneViewCreateConference, 3, &callHeader); QVERIFY (m_creataConferenceCalled == true); + QVERIFY (mParticipantListActions.count()==2); + QVERIFY (mParticipantListActions.at(0)==EPhoneInCallCmdPrivate); + QVERIFY (mParticipantListActions.at(1)==EPhoneInCallCmdDrop); // TPhoneCmdParamBoolean conferenceDataValue; @@ -910,6 +922,7 @@ m_adapter->ExecuteCommandL(EPhoneViewRemoveConferenceBubble); QVERIFY (m_removeConferenceCalled == true); + QVERIFY (mParticipantListActions.count()==0); m_adapter->ExecuteCommandL (EPhoneViewGetCallExistsInConference, 0, &conferenceDataValue); QVERIFY (conferenceDataValue.Boolean() == false); @@ -1306,6 +1319,49 @@ QVERIFY(m_sendToBackgroundCalled); } +void TestPhoneUIQtViewAdapter::testSetFlags() +{ + TPhoneCmdParamBoolean param; + param.SetBoolean( ETrue ); + m_phoneButtonFlags = 0; + + m_adapter->ExecuteCommand(EPhoneViewSetBlueToothFlag,¶m); + m_adapter->ExecuteCommand(EPhoneViewSetIhfFlag,¶m); + m_adapter->ExecuteCommand(EPhoneViewSetMuteFlag,¶m); + m_adapter->ExecuteCommand(EPhoneViewSetBluetoothAvailableFlag,¶m); + + QVERIFY(m_phoneButtonFlags & PhoneUIQtButtonsController::Ihf); + QVERIFY(m_phoneButtonFlags & PhoneUIQtButtonsController::Mute); + QVERIFY(m_phoneButtonFlags & PhoneUIQtButtonsController::Btaa); + QVERIFY(m_phoneButtonFlags & PhoneUIQtButtonsController::BluetoothAvailable); +} + +void TestPhoneUIQtViewAdapter::testCaptureEndKey() +{ + TPhoneCmdParamKeyCapture captureParam; + captureParam.SetKeyCode( EKeyNo ); + m_captured = false; + m_capturedKey = Qt::Key_0; + + m_adapter->ExecuteCommand(EPhoneViewStartCapturingKey,&captureParam); + QVERIFY(m_captured); + QVERIFY(m_capturedKey == Qt::Key_No); + + m_adapter->ExecuteCommand(EPhoneViewStopCapturingKey,&captureParam); + QVERIFY(false == m_captured); + QVERIFY(m_capturedKey == Qt::Key_No); + + m_capturedKey = Qt::Key_0; + captureParam.SetKeyCode( EKeyYes ); + + m_adapter->ExecuteCommand(EPhoneViewStartCapturingKey,&captureParam); + QVERIFY(false == m_captured); + QVERIFY(m_capturedKey == Qt::Key_0); + + m_adapter->ExecuteCommand(EPhoneViewStopCapturingKey,&captureParam); + QVERIFY(false == m_captured); + QVERIFY(m_capturedKey == Qt::Key_0); +} PHONE_QT_VIEW_ADAPTER_TEST_MAIN(TestPhoneUIQtViewAdapter) #include "unit_tests.moc" diff -r 6b911d05207e -r bc5a64e5bc3c phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneuiqtviewadapter/ut_phoneuiqtviewadapter.pro --- a/phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneuiqtviewadapter/ut_phoneuiqtviewadapter.pro Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneuiqtviewadapter/ut_phoneuiqtviewadapter.pro Tue Jul 06 14:15:47 2010 +0300 @@ -80,5 +80,7 @@ SOURCES += cphonemediatorfactory_stub.cpp SOURCES += cphonemediatorsender_stub.cpp SOURCES += phonenotecontroller_stub.cpp +HEADERS += ../../inc/phoneapplauncher.h +SOURCES += phoneapplauncher_stub.cpp SOURCES += unit_tests.cpp diff -r 6b911d05207e -r bc5a64e5bc3c phoneapp/phoneuiqtviewadapter/tsrc/ut_phonevisibilityhandler/unit_tests.cpp --- a/phoneapp/phoneuiqtviewadapter/tsrc/ut_phonevisibilityhandler/unit_tests.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phonevisibilityhandler/unit_tests.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -27,12 +27,16 @@ #include #include #include +#include #include "phoneuiqtviewif.h" #define private public #include "phonevisibilityhandler.h" #undef public int m_callCount = 0; +int g_keyGuardEnabled = false; +int g_enableKeyGuardCalled = false; +int g_disableKeyGuardCalled = false; #define PHONE_TEST_MAIN(TestObject) \ int main(int argc, char *argv[]) \ @@ -63,26 +67,26 @@ // From PhoneUIQtViewIF BubbleManagerIF& bubbleManager () {}; - void addBubbleCommand (int bubbleId, const PhoneAction& action) {}; - void clearBubbleCommands (int bubbleId) {}; + void addBubbleCommand (int , const PhoneAction& ) {}; + void clearBubbleCommands (int ) {}; void addParticipantListAction( - int commandId, - const QString &text, - const HbIcon &icon) {}; + int , + const QString &, + const HbIcon &) {}; void clearParticipantListActions() {}; void hideToolbar () {}; void showToolbar () {}; - void setToolbarActions (const QList& actions) {}; + void setToolbarActions (const QList& ) {}; int volumeSliderValue () {}; void removeVolumeSlider () {}; void setVolumeSliderValue ( - int value, - int commandId, - int maxVolumeValue, - int minVolumeValue ) {}; + int , + int , + int , + int ) {}; - void setExpandAction(int bubbleId, int commandId) {}; - void removeExpandAction(int bubbleId) {}; + void setExpandAction(int , int ) {}; + void removeExpandAction(int ) {}; void showDialpad() {}; void hideDialpad() {}; bool isDialpadVisible() {}; @@ -90,10 +94,13 @@ void clearAndHideDialpad() {}; void clearDialpad() {}; void bringToForeground() { m_bringToForegroundCalled = true;}; - void setMenuActions(const QList& actions) {}; + void setMenuActions(const QList& ) {}; void shutdownPhoneApp() {}; - void setBackButtonVisible(bool visible) {}; + void setBackButtonVisible(bool ) {}; HbMenu &menuReference() {}; + void captureKey(Qt::Key , bool ) {}; + void setRestrictedMode(bool ) {}; + public slots: void initTestCase(); @@ -111,6 +118,8 @@ void t_carmode(); void t_devicelock(); + + void t_keyGuardHandling(); private: @@ -121,6 +130,33 @@ int m_normalPriority; }; +CKeyguardAccessApi* CKeyguardAccessApi::NewL() +{ + return new CKeyguardAccessApi; +} +CKeyguardAccessApi::~CKeyguardAccessApi( ) {} +CKeyguardAccessApi::CKeyguardAccessApi( ) {} + + +TBool CKeyguardAccessApi::IsKeyguardEnabled() +{ + return g_keyGuardEnabled; +} + +TInt CKeyguardAccessApi::EnableKeyguard( TBool ) +{ + g_enableKeyGuardCalled = true; + return 0; +} + +TInt CKeyguardAccessApi::DisableKeyguard( TBool ) +{ + g_disableKeyGuardCalled = true; + return 0; +} + + + TestPhoneVisibilityHandler::TestPhoneVisibilityHandler () { } @@ -135,7 +171,7 @@ m_handler = new PhoneVisibilityHandler (*this, this); - m_startPosition = m_handler->ordinalPosition(); + m_startPosition = CEikonEnv::Static()->RootWin().OrdinalPosition(); QVERIFY(m_startPosition > 0); // Expect OrdinalPosition higher than 0 m_startPriority = CEikonEnv::Static()->RootWin().OrdinalPriority(); QCOMPARE(m_startPriority, (int)ECoeWinPriorityNeverAtFront); @@ -153,6 +189,9 @@ void TestPhoneVisibilityHandler::cleanup () { + g_keyGuardEnabled = false; + g_enableKeyGuardCalled = false; + g_disableKeyGuardCalled = false; m_bringToForegroundCalled = false; } @@ -176,7 +215,7 @@ m_handler->bringToForeground(); QVERIFY(m_bringToForegroundCalled); QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPosition(), 0); - QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPriority(), ECoeWinPriorityAlwaysAtFront + 1); + QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPriority(), ECoeWinPriorityAlwaysAtFront + 100); // Test hide device dialogs when foreground ( false ) m_handler->hideDeviceDialogs(false); @@ -186,7 +225,7 @@ // Test hide device dialogs when foreground ( true ) m_handler->hideDeviceDialogs(true); QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPosition(), 0); - QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPriority(), ECoeWinPriorityAlwaysAtFront + 1); + QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPriority(), ECoeWinPriorityAlwaysAtFront + 100); // send backgroud is called last m_handler->sendToBackground(false); @@ -227,6 +266,11 @@ QTest::qWait(100); QVERIFY(m_handler->m_carModeEnabled == false); QVERIFY(m_bringToForegroundCalled == false); + + // send backgroud is called last + m_handler->sendToBackground(false); + QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPosition(), m_startPosition); + QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPriority(), m_startPriority); } void TestPhoneVisibilityHandler::t_devicelock() @@ -249,7 +293,7 @@ m_handler->bringToForeground(); QVERIFY(m_bringToForegroundCalled); QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPosition(), 0); - QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPriority(), ECoeWinPriorityAlwaysAtFront + 1); + QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPriority(), ECoeWinPriorityAlwaysAtFront + 100); // Test hide device dialogs when foreground ( false ) m_handler->hideDeviceDialogs(false); @@ -259,12 +303,12 @@ // Test hide device dialogs when foreground ( true ) m_handler->hideDeviceDialogs(true); QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPosition(), 0); - QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPriority(), ECoeWinPriorityAlwaysAtFront + 1); + QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPriority(), ECoeWinPriorityAlwaysAtFront + 100); // Test lock status change m_handler->HandlePropertyChangedL(KPSUidCoreApplicationUIs, KCoreAppUIsAutolockStatus, EAutolockOff); QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPosition(), 0); - QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPriority(), ECoeWinPriorityAlwaysAtFront + 1); + QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPriority(), ECoeWinPriorityAlwaysAtFront + 100); // send backgroud is called last @@ -275,5 +319,114 @@ } +void TestPhoneVisibilityHandler::t_keyGuardHandling() +{ + // Test when keyguard is not enabled before call + g_keyGuardEnabled = false; + + // bringToForeground is call + m_handler->bringToForeground(); + QVERIFY(m_bringToForegroundCalled); + QVERIFY(g_disableKeyGuardCalled); + QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPosition(), 0); + QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPriority(), ECoeWinPriorityAlwaysAtFront + 100); + + cleanup(); + // send backgroud is called last + m_handler->sendToBackground(false); + QVERIFY(!g_enableKeyGuardCalled); + QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPosition(), m_startPosition); + QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPriority(), m_startPriority); + + + // Test when keyguard is enabled before call + cleanup(); + g_keyGuardEnabled = true; + + // bringToForeground is call + m_handler->bringToForeground(); + QVERIFY(m_bringToForegroundCalled); + QVERIFY(g_disableKeyGuardCalled); + QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPosition(), 0); + QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPriority(), ECoeWinPriorityAlwaysAtFront + 100); + + cleanup(); + // send backgroud is called last + m_handler->sendToBackground(false); + QVERIFY(g_enableKeyGuardCalled); + QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPosition(), m_startPosition); + QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPriority(), m_startPriority); + + // Test when keyguard is enabled before call + + // keyguard is not enabled when phone is background + cleanup(); + g_keyGuardEnabled = true; + + // bringToForeground is call + m_handler->bringToForeground(); + QVERIFY(m_bringToForegroundCalled); + QVERIFY(g_disableKeyGuardCalled); + QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPosition(), 0); + QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPriority(), ECoeWinPriorityAlwaysAtFront + 100); + + cleanup(); + // Test that keyguard is not enabled when phone is background + CEikonEnv::Static()->RootWin().SetOrdinalPosition(-1, ECoeWinPriorityNormal); + m_handler->sendToBackground(false); + QVERIFY(!g_enableKeyGuardCalled); + QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPosition(), m_startPosition); + QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPriority(), m_startPriority); + + + // Test case where two calls is created and key guard is enabled + cleanup(); + g_keyGuardEnabled = true; + + // bringToForeground is call + m_handler->bringToForeground(); + QVERIFY(m_bringToForegroundCalled); + QVERIFY(g_disableKeyGuardCalled); + QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPosition(), 0); + QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPriority(), ECoeWinPriorityAlwaysAtFront + 100); + + cleanup(); + m_handler->bringToForeground(); + QVERIFY(m_bringToForegroundCalled); + QVERIFY(g_disableKeyGuardCalled); + QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPosition(), 0); + QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPriority(), ECoeWinPriorityAlwaysAtFront + 100); + + cleanup(); + m_handler->sendToBackground(false); + QVERIFY(g_enableKeyGuardCalled); + QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPosition(), m_startPosition); + QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPriority(), m_startPriority); + + // Test case where two calls is created and key guard is enabled during middle + cleanup(); + + // bringToForeground is call + m_handler->bringToForeground(); + QVERIFY(m_bringToForegroundCalled); + QVERIFY(g_disableKeyGuardCalled); + QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPosition(), 0); + QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPriority(), ECoeWinPriorityAlwaysAtFront + 100); + + cleanup(); + g_keyGuardEnabled = true; + m_handler->bringToForeground(); + QVERIFY(m_bringToForegroundCalled); + QVERIFY(g_disableKeyGuardCalled); + QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPosition(), 0); + QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPriority(), ECoeWinPriorityAlwaysAtFront + 100); + + cleanup(); + m_handler->sendToBackground(false); + QVERIFY(g_enableKeyGuardCalled); + QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPosition(), m_startPosition); + QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPriority(), m_startPriority); +} + + PHONE_TEST_MAIN(TestPhoneVisibilityHandler) #include "unit_tests.moc" diff -r 6b911d05207e -r bc5a64e5bc3c phoneapp/phoneuiqtviewadapter/tsrc/ut_telephonyservice/unit_tests.cpp --- a/phoneapp/phoneuiqtviewadapter/tsrc/ut_telephonyservice/unit_tests.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_telephonyservice/unit_tests.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -55,37 +55,40 @@ BubbleManagerIF& bubbleManager (){}; void addBubbleCommand ( - int bubbleId, - const PhoneAction& action ){}; - void clearBubbleCommands (int bubbleId){}; + int , + const PhoneAction& ){}; + void clearBubbleCommands (int ){}; void addParticipantListAction( - int commandId, - const QString &text, - const HbIcon &icon){}; + int , + const QString &, + const HbIcon &){}; void clearParticipantListActions(){}; void hideToolbar () {}; void showToolbar () {}; - void setToolbarActions (const QList& actions){}; - int volumeSliderValue () {}; + void setToolbarActions (const QList& ){}; + int volumeSliderValue () { return 0; }; void removeVolumeSlider () {}; void setVolumeSliderValue ( - int value, - int commandId, - int maxVolumeValue, - int minVolumeValue ) { }; + int , + int , + int , + int ) { }; - void setExpandAction(int bubbleId, int commandId) {}; - void removeExpandAction(int bubbleId) {}; + void setExpandAction(int , int ) {}; + void removeExpandAction(int ) {}; void showDialpad() {}; void hideDialpad() {}; - bool isDialpadVisible() {}; + bool isDialpadVisible() { return false; }; QString dialpadText() {return QString("1234567");}; void clearAndHideDialpad(){}; - void bringToForeground() {;}; - void setMenuActions(const QList& actions){;}; - void shutdownPhoneApp() {;}; - void setBackButtonVisible(bool visible) {;}; + void clearDialpad() {}; + void bringToForeground() {}; + void setMenuActions(const QList& ){}; + void shutdownPhoneApp() {}; + void setBackButtonVisible(bool ) {}; HbMenu &menuReference() { return mMenu; }; + void captureKey(Qt::Key , bool ) {}; + void setRestrictedMode(bool ) {}; public slots: void initTestCase (); diff -r 6b911d05207e -r bc5a64e5bc3c phoneapp/phoneuistates/inc/cphoneerrormessageshandler.h --- a/phoneapp/phoneuistates/inc/cphoneerrormessageshandler.h Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneapp/phoneuistates/inc/cphoneerrormessageshandler.h Tue Jul 06 14:15:47 2010 +0300 @@ -113,7 +113,18 @@ * Return ETrue if video call. */ TBool IsVideoCall( const TInt aCallId ) const; - + + /** + * Return ETrue if voice call. + */ + TBool IsVoiceCall( const TInt aCallId ) const; + + /** + * Gets cause code and resource id. + */ + TBool GetCauseCode( TInt &aCauseCode, + TInt &aResourceId, TBool &aNotification ) const; + protected: /** @@ -122,6 +133,10 @@ MPhoneViewCommandHandle* iViewCommandHandle; MPhoneStateMachine* iStateMachine; + + TBool iCauseCodeVariation; + + TInt iCallId; }; diff -r 6b911d05207e -r bc5a64e5bc3c phoneapp/phoneuistates/src/cphonealerting.cpp --- a/phoneapp/phoneuistates/src/cphonealerting.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneapp/phoneuistates/src/cphonealerting.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -116,7 +116,7 @@ { // Show not allowed note SendGlobalErrorNoteL( - EPhoneNoteTextNotAllowed ); + EPhoneNoteTextNotAllowed, ETrue ); } break; diff -r 6b911d05207e -r bc5a64e5bc3c phoneapp/phoneuistates/src/cphoneconference.cpp --- a/phoneapp/phoneuistates/src/cphoneconference.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneapp/phoneuistates/src/cphoneconference.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -147,6 +147,12 @@ { TPhoneCmdParamCallHeaderData callHeaderParam; callHeaderParam.SetCallState( EPEStateHeld ); + TBuf labelText( KNullDesC ); + TInt callLabelId = CPhoneMainResourceResolver::Instance()-> + ResolveResourceID( EPhoneCallOnHold ); + + StringLoader::Load( labelText, callLabelId, CCoeEnv::Static() ); + callHeaderParam.SetLabelText( labelText ); iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateBubble, aCallId, &callHeaderParam ); } @@ -512,7 +518,7 @@ if ( !FeatureManager::FeatureSupported( KFeatureIdTouchCallHandling ) ) { - SendGlobalInfoNoteL( EPhoneInformationConferenceOnHold ); + SendGlobalInfoNoteL( EPhoneInformationConferenceOnHold, ETrue ); } SetTouchPaneButtonDisabled( EPhoneInCallCmdPrivate ); @@ -593,7 +599,7 @@ if ( !FeatureManager::FeatureSupported( KFeatureIdTouchCallHandling ) ) { - SendGlobalInfoNoteL( EPhoneInformationConferenceActiveted ); + SendGlobalInfoNoteL( EPhoneInformationConferenceActiveted, ETrue ); } SetTouchPaneButtonEnabled( EPhoneInCallCmdPrivate ); diff -r 6b911d05207e -r bc5a64e5bc3c phoneapp/phoneuistates/src/cphoneconferenceandsingle.cpp --- a/phoneapp/phoneuistates/src/cphoneconferenceandsingle.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneapp/phoneuistates/src/cphoneconferenceandsingle.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -128,7 +128,7 @@ break; case MEngineMonitor::EPEMessageInValidEmergencyNumber: - SendGlobalErrorNoteL( EPhoneNoteTextNotAllowed ); + SendGlobalErrorNoteL( EPhoneNoteTextNotAllowed, ETrue ); break; case MEngineMonitor::EPEMessageValidEmergencyNumber: diff -r 6b911d05207e -r bc5a64e5bc3c phoneapp/phoneuistates/src/cphoneconferenceandsingleandwaiting.cpp --- a/phoneapp/phoneuistates/src/cphoneconferenceandsingleandwaiting.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneapp/phoneuistates/src/cphoneconferenceandsingleandwaiting.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -409,7 +409,7 @@ { // Not allowed to answer SendGlobalWarningNoteL( - EPhoneNoteTextCallNotAllowed ); + EPhoneNoteTextCallNotAllowed, ETrue ); } break; diff -r 6b911d05207e -r bc5a64e5bc3c phoneapp/phoneuistates/src/cphoneconferenceandwaitingandcallsetup.cpp --- a/phoneapp/phoneuistates/src/cphoneconferenceandwaitingandcallsetup.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneapp/phoneuistates/src/cphoneconferenceandwaitingandcallsetup.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -185,7 +185,7 @@ // We can't answer to call in this state so display // Not allowed -note. SendGlobalErrorNoteL( - EPhoneNoteTextNotAllowed ); + EPhoneNoteTextNotAllowed, ETrue ); } break; diff -r 6b911d05207e -r bc5a64e5bc3c phoneapp/phoneuistates/src/cphoneemergency.cpp --- a/phoneapp/phoneuistates/src/cphoneemergency.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneapp/phoneuistates/src/cphoneemergency.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -31,6 +31,7 @@ #include "tphonecmdparamboolean.h" #include "tphonecmdparamemergencycallheaderdata.h" #include "tphonecmdparamcallheaderdata.h" +#include "tphonecmdparamkeycapture.h" #include "mphonestatemachine.h" #include "phonestatedefinitionsgsm.h" #include "phoneviewcommanddefinitions.h" @@ -221,6 +222,11 @@ iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveNote ); // Close menu bar, if it is displayed iViewCommandHandle->ExecuteCommandL( EPhoneViewMenuBarClose ); + + TPhoneCmdParamKeyCapture captureParam; + captureParam.SetKeyCode( EKeyNo ); + iViewCommandHandle->ExecuteCommand( + EPhoneViewStopCapturingKey, &captureParam ); const TBool isSimStateNotPresentWithSecurityMode = IsSimStateNotPresentWithSecurityModeEnabled(); @@ -349,6 +355,10 @@ EPhoneViewSetGlobalNotifiersDisabled, &globalNotifierParam ); + TPhoneCmdParamKeyCapture captureParam; + captureParam.SetKeyCode( EKeyNo ); + iViewCommandHandle->ExecuteCommand( EPhoneViewStartCapturingKey, &captureParam ); + // Capture keys when the phone is dialling CaptureKeysDuringCallNotificationL( ETrue ); @@ -585,7 +595,7 @@ if ( neLength ) { // Show not allowed note - SendGlobalErrorNoteL( EPhoneNoteTextNotAllowed ); + SendGlobalErrorNoteL( EPhoneNoteTextNotAllowed, ETrue ); } else { @@ -596,7 +606,7 @@ else { // Show not allowed note - SendGlobalErrorNoteL( EPhoneNoteTextNotAllowed ); + SendGlobalErrorNoteL( EPhoneNoteTextNotAllowed, ETrue ); } break; @@ -817,7 +827,8 @@ iStateMachine->PhoneEngineInfo()->AudioOutput(); UpdateSetupCbaL(); - + SetTouchPaneButtons(0); + // view update outputParam.SetAudioOutput( audioOutput ); iViewCommandHandle->ExecuteCommandL( EPhoneViewActivateAudioPathUIChanges, diff -r 6b911d05207e -r bc5a64e5bc3c phoneapp/phoneuistates/src/cphoneerrormessageshandler.cpp --- a/phoneapp/phoneuistates/src/cphoneerrormessageshandler.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneapp/phoneuistates/src/cphoneerrormessageshandler.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -34,6 +34,12 @@ #include "tphonecmdparamglobalnote.h" #include "tphonecmdparamnote.h" #include "cphonemainresourceresolver.h" +#include "cphonecenrepproxy.h" + +// CONSTANTS +const TUid KCRUidTelConfiguration = {0x102828B8}; + +const TUint32 KTelShowCauseCode = 0x00000002; // ================= MEMBER FUNCTIONS ======================= @@ -45,9 +51,17 @@ MPhoneViewCommandHandle* aViewCommandHandle, MPhoneStateMachine* aStateMachine ) : iViewCommandHandle( aViewCommandHandle), - iStateMachine (aStateMachine ) + iStateMachine( aStateMachine ), + iCauseCodeVariation( EFalse ) { - } + if ( KErrNone != CPhoneCenRepProxy::Instance()->GetInt( + KCRUidTelConfiguration, + KTelShowCauseCode, + iCauseCodeVariation ) ) + { + iCauseCodeVariation = EFalse; + } + } // ----------------------------------------------------------- // CPhoneErrorMessagesHandler::~CPhoneErrorMessagesHandler() @@ -113,12 +127,28 @@ TPhoneCmdParamGlobalNote globalNoteParam; globalNoteParam.SetType( EAknGlobalInformationNote ); - globalNoteParam.SetTextResourceId( - CPhoneMainResourceResolver::Instance()-> - ResolveResourceID( aResourceId ) ); + globalNoteParam.SetTone( EAvkonSIDInformationTone ); globalNoteParam.SetNotificationDialog( aNotificationDialog ); + TInt resourceID( KErrNotFound ); + TInt causeCode( KErrNotFound ); + TBool notification( ETrue ); + if ( iCauseCodeVariation && GetCauseCode( causeCode, resourceID, notification ) ) + { + globalNoteParam.SetNotificationDialog( notification ); + globalNoteParam.SetCauseCode(causeCode); + globalNoteParam.SetTextResourceId( + CPhoneMainResourceResolver::Instance()-> + ResolveResourceID( resourceID ) ); + } + else + { + globalNoteParam.SetTextResourceId( + CPhoneMainResourceResolver::Instance()-> + ResolveResourceID( aResourceId ) ); + } + iViewCommandHandle->ExecuteCommandL( EPhoneViewShowGlobalNote, &globalNoteParam ); } @@ -148,12 +178,28 @@ TPhoneCmdParamGlobalNote globalNoteParam; globalNoteParam.SetType( EAknGlobalErrorNote ); - globalNoteParam.SetTextResourceId( - CPhoneMainResourceResolver::Instance()-> - ResolveResourceID( aResourceId ) ); + globalNoteParam.SetTone( CAknNoteDialog::EErrorTone ); globalNoteParam.SetNotificationDialog( aNotificationDialog ); + TInt resourceID( KErrNotFound ); + TInt causeCode( KErrNotFound ); + TBool notification( ETrue ); + if ( iCauseCodeVariation && GetCauseCode( causeCode, resourceID, notification ) ) + { + globalNoteParam.SetNotificationDialog( notification ); + globalNoteParam.SetCauseCode(causeCode); + globalNoteParam.SetTextResourceId( + CPhoneMainResourceResolver::Instance()-> + ResolveResourceID( resourceID ) ); + } + else + { + globalNoteParam.SetTextResourceId( + CPhoneMainResourceResolver::Instance()-> + ResolveResourceID( aResourceId ) ); + } + iViewCommandHandle->ExecuteCommandL( EPhoneViewShowGlobalNote, &globalNoteParam ); } @@ -183,12 +229,28 @@ TPhoneCmdParamGlobalNote globalNoteParam; globalNoteParam.SetType( EAknGlobalWarningNote ); - globalNoteParam.SetTextResourceId( - CPhoneMainResourceResolver::Instance()-> - ResolveResourceID( aResourceId ) ); + globalNoteParam.SetTone( EAvkonSIDWarningTone ); globalNoteParam.SetNotificationDialog( aNotificationDialog ); + TInt resourceID( KErrNotFound ); + TInt causeCode( KErrNotFound ); + TBool notification( ETrue ); + if ( iCauseCodeVariation && GetCauseCode( causeCode, resourceID, notification) ) + { + globalNoteParam.SetNotificationDialog( notification ); + globalNoteParam.SetCauseCode(causeCode); + globalNoteParam.SetTextResourceId( + CPhoneMainResourceResolver::Instance()-> + ResolveResourceID( resourceID ) ); + } + else + { + globalNoteParam.SetTextResourceId( + CPhoneMainResourceResolver::Instance()-> + ResolveResourceID( aResourceId ) ); + } + iViewCommandHandle->ExecuteCommandL( EPhoneViewShowGlobalNote, &globalNoteParam ); } @@ -217,7 +279,8 @@ __PHONELOG1( EBasic, EPhoneControl, "PhoneUIControl: CPhoneErrorMessagesHandler::ShowErrorSpecificNoteL - aErrorInfo.iErrorCode =%d ", aErrorInfo.iErrorCode); - + iCallId = aErrorInfo.iCallId; + switch( aErrorInfo.iErrorCode ) { case ECCPErrorRejected: @@ -286,15 +349,12 @@ break; case ECCPErrorUnacceptableChannel: - case ECCPErrorCCDestinationOutOfOrder: - case ECCPErrorAccessInformationDiscarded: - case ECCPErrorQualityOfServiceNotAvailable: + case ECCPErrorCCDestinationOutOfOrder: case ECCPErrorInvalidCallReferenceValue: case ECCPErrorCCInvalidTransitNetworkSelection: case ECCPErrorConnectionError: case ECCPErrorCCIncompatibleMessageInCallState: - if( IsVideoCall( aErrorInfo.iCallId ) && - iStateMachine->PhoneEngineInfo()->ProfileId() != EProfileOffLineId ) + if( IsVideoCall( aErrorInfo.iCallId ) ) { SendGlobalInfoNoteL( EPhoneNoteVideoCallNotPossible ); } @@ -303,7 +363,9 @@ SendGlobalWarningNoteL( EPhoneErrorInConnection, ETrue ); } break; - + + case ECCPErrorQualityOfServiceNotAvailable: + case ECCPErrorAccessInformationDiscarded: case ECCPErrorCCResourceNotAvailable: SendGlobalWarningNoteL( EPhoneErrorInConnection, ETrue ); break; @@ -355,17 +417,21 @@ { SendGlobalInfoNoteL( EPhoneNumberNotInCUG, ETrue ); } - else + else { SendGlobalWarningNoteL( EPhoneNumberNotInCUG, ETrue ); } break; case ECCPErrorCCNoRouteToDestination: - if( IsVideoCall( aErrorInfo.iCallId ) ) - { - SendGlobalInfoNoteL( EPhoneNotePhoneOutOf3GCoverage ); - } + if( IsVideoCall( aErrorInfo.iCallId ) ) + { + SendGlobalInfoNoteL( EPhoneErrorInConnection ); + } + else + { + SendGlobalWarningNoteL( EPhoneErrorInConnection, ETrue ); + } break; case ECCPErrorCCNormalCallClearing: @@ -378,7 +444,7 @@ case ECCPErrorCCUserNotResponding: if( IsVideoCall( aErrorInfo.iCallId ) ) { - SendGlobalInfoNoteL( EPhoneNoteCallInfoCauseValue18 ); + SendGlobalInfoNoteL( EPhoneNoAnswer ); } else { @@ -387,16 +453,27 @@ break; case ECCPErrorCCCallRejected: - if( IsVideoCall( aErrorInfo.iCallId ) ) + if ( !iStateMachine->PhoneEngineInfo()->IsOutgoingCallBarringActivated() ) { - SendGlobalInfoNoteL( EPhoneNoteCalledNumberHasBarredIncomingCalls, ETrue ); + if( IsVideoCall( aErrorInfo.iCallId ) ) + { + SendGlobalInfoNoteL( EPhoneNoteCalledNumberHasBarredIncomingCalls, ETrue ); + } + else if ( IsVoiceCall( aErrorInfo.iCallId )) + { + SendGlobalWarningNoteL( EPhoneNoteCallInfoCauseValue21 ); + } } break; case ECCPErrorMovedPermanently: if( IsVideoCall( aErrorInfo.iCallId ) ) { - SendGlobalInfoNoteL( EPhoneNoteCallInfoCauseValue22 ); + SendGlobalInfoNoteL( EPhoneNumberNotInUse ); + } + else + { + SendGlobalWarningNoteL( EPhoneNumberNotInUse, ETrue ); } break; @@ -414,7 +491,7 @@ case ECCPErrorCCNoChannelAvailable: if( IsVideoCall( aErrorInfo.iCallId ) ) { - SendGlobalInfoNoteL( EPhoneNoteCallInfoCauseValue34 ); + SendGlobalInfoNoteL( EPhoneNetworkBusy ); } else { @@ -425,7 +502,11 @@ case ECCPErrorNetworkOutOfOrder: if( IsVideoCall( aErrorInfo.iCallId ) ) { - SendGlobalInfoNoteL( EPhoneNoteCallInfoCauseValue38 ); + SendGlobalInfoNoteL( EPhoneErrorInConnection ); + } + else + { + SendGlobalWarningNoteL( EPhoneErrorInConnection, ETrue ); } break; @@ -443,7 +524,11 @@ case ECCPErrorCCIncomingCallsBarredInCug: if( IsVideoCall( aErrorInfo.iCallId ) ) { - SendGlobalInfoNoteL( EPhoneNoteCallInfoCauseValue55 ); + SendGlobalInfoNoteL( EPhoneNumberBarred ); + } + else + { + SendGlobalWarningNoteL( EPhoneNumberBarred, ETrue ); } break; @@ -453,12 +538,22 @@ { SendGlobalInfoNoteL( EPhoneNoteUnableToMakeVideoCallNotSupportedByOtherPhone ); } + else + { + SendGlobalWarningNoteL( EPhoneErrorInConnection, ETrue ); + } break; case ECCPErrorCCBearerCapabilityNotCurrentlyAvailable: + case ECCPErrorCCInvalidMandatoryInformation: + case ECCPErrorCCUnspecifiedInterworkingError: if( IsVideoCall( aErrorInfo.iCallId ) ) { - SendGlobalInfoNoteL( EPhoneNoteCallInfoCauseValue58 ); + SendGlobalInfoNoteL( EPhoneNoteVideoCallNotPossible ); + } + else + { + SendGlobalWarningNoteL( EPhoneErrorInConnection, ETrue ); } break; @@ -473,19 +568,7 @@ } break; - case ECCPErrorCCUnspecifiedInterworkingError: - if( IsVideoCall( aErrorInfo.iCallId ) ) - { - SendGlobalInfoNoteL( EPhoneNoteCallInfoCauseValue127 ); - } - break; - - case ECCPErrorCCPreemption: - case ECCPErrorCCResponseToStatusEnquiry: - case ECCPErrorCCInvalidMandatoryInformation: - case ECCPErrorCCNonExistentMessageType: - case ECCPErrorCCIncompatibleMessageInProtocolState: - case ECCPErrorCCNonExistentInformationElement: + case ECCPErrorCCPreemption: if( IsVideoCall( aErrorInfo.iCallId ) ) { SendGlobalInfoNoteL( EPhoneNoteCallInfoNotSupported ); @@ -495,18 +578,21 @@ SendGlobalWarningNoteL( EPhoneErrorInConnection, ETrue ); } break; - - case ECCPErrorCCRecoveryOnTimerExpiry: + case ECCPErrorCCResponseToStatusEnquiry: if( IsVideoCall( aErrorInfo.iCallId ) ) { - SendGlobalInfoNoteL( EPhoneNoteCallInfoNotSupported ); + SendGlobalInfoNoteL( EPhoneErrorInConnection ); } + else + { + SendGlobalWarningNoteL( EPhoneErrorInConnection, ETrue ); + } break; case ECCPErrorCCFacilityRejected: if( IsVideoCall( aErrorInfo.iCallId ) ) { - SendGlobalInfoNoteL( EPhoneNoteCallInfoNotSupported ); + SendGlobalInfoNoteL( EPhoneNoteTextRequestRejected ); } else { @@ -518,15 +604,39 @@ SendGlobalErrorNoteL( EPhoneNoteTextRequestRejected, ETrue ); break; - case ECCPErrorCCServiceNotAvailable: case ECCPErrorCCBearerServiceNotImplemented: case ECCPErrorCCOnlyRestrictedDigitalInformationBCAvailable: + case ECCPErrorCCNonExistentMessageType: + case ECCPErrorCCIncompatibleMessageInProtocolState: + case ECCPErrorCCNonExistentInformationElement: + case ECCPErrorCCRecoveryOnTimerExpiry: + if ( IsVideoCall( aErrorInfo.iCallId ) ) + { + SendGlobalInfoNoteL( EPhoneNoteVideoCallNotPossible ); //Video call didn't succeed to called end. + } + else + { + SendGlobalWarningNoteL( EPhoneErrorInConnection, ETrue ); + } + break; + case ECCPErrorCCServiceNotImplemented: if( IsVideoCall( aErrorInfo.iCallId ) ) { SendGlobalInfoNoteL( EPhoneNoteCallInfoServiceNotAvailable ); } break; + + case ECCPErrorCCServiceNotAvailable: + if( IsVideoCall( aErrorInfo.iCallId ) ) + { + SendGlobalInfoNoteL( EPhoneErrorInConnection ); + } + else + { + SendGlobalWarningNoteL( EPhoneErrorInConnection, ETrue ); + } + break; case ECCPErrorCUGOutgoingCallsBarred: SendGlobalInfoNoteL( EPhoneOutgoingCallsBarredWithinCUG, ETrue ); @@ -565,6 +675,8 @@ aErrorInfo.iErrorCode); break; } + + iCallId = KErrNotFound; } // ----------------------------------------------------------- @@ -585,5 +697,483 @@ return ( iStateMachine->PhoneEngineInfo() ->CallType( aCallId )== EPECallTypeVideo ); } + +// ----------------------------------------------------------- +// CPhoneErrorMessagesHandler::IsVoiceCall +// ----------------------------------------------------------- +// +TBool CPhoneErrorMessagesHandler::IsVoiceCall( const TInt aCallId ) const + { + __LOGMETHODSTARTEND( EPhoneControl, "CPhoneErrorMessagesHandler::IsVoiceCall() "); + + if( aCallId == KErrNotFound ) + { + // Illegal call id, check call type command + return ( iStateMachine->PhoneEngineInfo()->CallTypeCommand() + == EPECallTypeCSVoice ); + } + + return ( iStateMachine->PhoneEngineInfo() + ->CallType( aCallId )== EPECallTypeCSVoice ); + } +// ----------------------------------------------------------- +// CPhoneErrorMessagesHandler::GetCauseCode +// ----------------------------------------------------------- +// +TBool CPhoneErrorMessagesHandler::GetCauseCode( + TInt &aCauseCode, TInt &aResourceId, TBool &aNotification ) const + { + __LOGMETHODSTARTEND( EPhoneControl, "CPhoneErrorMessagesHandler::CauseCode() "); + + aCauseCode = KErrNotFound; + aNotification = ETrue; + TInt callId = (KErrNotFound == iCallId) ? + iStateMachine->PhoneEngineInfo()->CallId() : + iCallId; + + + //get exit code error from call data + TInt callError = iStateMachine->PhoneEngineInfo()->ProtocolError( + callId ); + + switch( callError ) + { + case KErrGsmCCUnassignedNumber: + aResourceId = EPhoneNumberNotInUse; + aCauseCode = 1; + break; + + case KErrGsmCCNoRouteToDestination: + aResourceId = EPhoneErrorInConnection; + aCauseCode = 3; + break; + + case KErrGsmCCChannelUnacceptable: + if ( IsVideoCall( callId ) ) + { + aResourceId = EPhoneNoteVideoCallNotPossible; //Video call didn't succeed to called end. + aNotification = EFalse; + } + else + { + aResourceId = EPhoneErrorInConnection; + } + aCauseCode = 6; + break; + + case KErrGsmCCOperatorDeterminedBarring: + aResourceId = EPhoneNumberBarred; + aCauseCode = 8; + break; + + case KErrGsmCCUserBusy: + aResourceId = EPhoneNumberBusy; + aCauseCode = 17; + break; + + case KErrGsmCCUserNotResponding: + aResourceId = EPhoneNoAnswer; + aCauseCode = 18; + break; + + case KErrGsmCCUserAlertingNoAnswer: + aResourceId = EPhoneNoAnswer; + aCauseCode = 19; + break; + + case KErrGsmCCCallRejected: + if ( !iStateMachine->PhoneEngineInfo()->IsOutgoingCallBarringActivated() ) + { + aResourceId = EPhoneNoteCalledNumberHasBarredIncomingCalls; + aCauseCode = 21; + } + break; + + case KErrGsmCCNumberChanged: + aResourceId = EPhoneNumberNotInUse; + aCauseCode = 22; + break; + + case KErrGsmCCNonSelectedUserClearing: + if ( IsVideoCall( callId ) ) + { + aResourceId = EPhoneNotePhoneOutOf3GCoverage; + aNotification = EFalse; + } + else + { + aResourceId = EPhoneNoAnswer; + } + aCauseCode = 26; + break; + + case KErrGsmCCDestinationOutOfOrder: + if ( IsVideoCall( callId ) ) + { + aResourceId = EPhoneNoteVideoCallNotPossible; //Video call didn't succeed to called end. + aNotification = EFalse; + } + else + { + aResourceId = EPhoneErrorInConnection; + } + aCauseCode = 27; + break; + + case KErrGsmCCInvalidNumberFormat: + aResourceId = EPhoneInvalidPhoneNumber; + aCauseCode = 28; + break; + + case KErrGsmCCFacilityRejected: + aResourceId = EPhoneNoteTextRequestRejected; + aCauseCode = 29; + break; + + case KErrGsmCCResponseToStatusEnquiry: + aResourceId = EPhoneErrorInConnection; + aCauseCode = 30; + break; + + case KErrGsmCCNormalUnspecified: + if ( IsVideoCall( callId ) ) + { + aResourceId = EPhoneNotePhoneOutOf3GCoverage; + aNotification = EFalse; + } + else + { + aResourceId = EPhoneNoAnswer; + } + aCauseCode = 31; + break; + + case KErrGsmCCNoChannelAvailable: + aResourceId = EPhoneNetworkBusy; + aCauseCode = 34; + break; + + case KErrGsmCCNetworkOutOfOrder: + aResourceId = EPhoneErrorInConnection; + aCauseCode = 38; + break; + + case KErrGsmCCTemporaryFailure: + aResourceId = EPhoneNetworkBusy; + aCauseCode = 41; + break; + + case KErrGsmCCSwitchingEquipmentCongestion: + aResourceId = EPhoneNetworkBusy; + aCauseCode = 42; + break; + + case KErrGsmCCAccessInformationDiscarded: + aResourceId = EPhoneErrorInConnection; + aCauseCode = 43; + break; + + case KErrGsmCCRequestedChannelNotAvailable: + aResourceId = EPhoneNetworkBusy; + aCauseCode = 44; + break; + + case KErrGsmCCResourceNotAvailable: + aResourceId = EPhoneErrorInConnection; + aCauseCode = 47; + break; + + case KErrGsmCCQualityOfServiceNotAvailable: + aResourceId = EPhoneErrorInConnection; + aCauseCode = 49; + break; + + case KErrGsmCCRequestedFacilityNotSubscribed: + if ( IsVideoCall( callId ) ) + { + aResourceId = EPhoneNoteVideoCallOnlyPossibleUnder3GCoverage; + aNotification = EFalse; + } + else + { + aResourceId = EPhoneNoteTextNotAllowed; + } + aCauseCode = 50; + break; + + case KErrGsmCCIncomingCallsBarredInCug: + aResourceId = EPhoneNumberBarred; + aCauseCode = 55; + break; + + case KErrGsmCCBearerCapabilityNotAuthorised: + if ( IsVideoCall( callId ) ) + { + aResourceId = EPhoneNoteUnableToMakeVideoCallNotSupportedByOtherPhone; + aNotification = EFalse; + } + else + { + aResourceId = EPhoneErrorInConnection; + } + aCauseCode = 57; + break; + + case KErrGsmCCBearerCapabilityNotCurrentlyAvailable: + if ( IsVideoCall( callId ) ) + { + aResourceId = EPhoneNoteVideoCallNotPossible; //Video call didn't succeed to called end. + aNotification = EFalse; + } + else + { + aResourceId = EPhoneErrorInConnection; + } + aCauseCode = 58; + break; + + case KErrGsmCCServiceNotAvailable: + aResourceId = EPhoneErrorInConnection; + aCauseCode = 63; + break; + + case KErrGsmCCBearerServiceNotImplemented: + if ( IsVideoCall( callId ) ) + { + aResourceId = EPhoneNoteVideoCallNotPossible; //Video call didn't succeed to called end. + aNotification = EFalse; + } + else + { + aResourceId = EPhoneErrorInConnection; + } + aCauseCode = 65; + break; + + case KErrGsmCCAcmGreaterThanAcmMax: + aResourceId = EPhoneErrorInConnection; + aCauseCode = 68; + break; + + case KErrGsmCCRequestedFacilityNotImplemented: + if ( IsVideoCall( callId ) ) + { + aResourceId = EPhoneNotePhoneOutOf3GCoverage; + aNotification = EFalse; + } + else + { + aResourceId = EPhoneNoteTextCheckNetworkservices; + } + aCauseCode = 69; + break; + + case KErrGsmCCOnlyRestrictedDigitalInformationBCAvailable: + if ( IsVideoCall( callId ) ) + { + aResourceId = EPhoneNoteVideoCallNotPossible; + aNotification = EFalse; + } + else + { + aResourceId = EPhoneNoteTextCheckNetworkservices; + } + aCauseCode = 70; + break; + + case KErrGsmCCServiceNotImplemented: + if ( IsVideoCall( callId ) ) + { + aResourceId = EPhoneNoteVideoCallNotPossible; + aNotification = EFalse; + } + else + { + aResourceId = EPhoneErrorInConnection; + } + aCauseCode = 79; + break; + + case KErrGsmCCInvalidCallReferenceValue: + if ( IsVideoCall( callId ) ) + { + aResourceId = EPhoneNoteVideoCallNotPossible; + aNotification = EFalse; + } + else + { + aResourceId = EPhoneErrorInConnection; + } + aCauseCode = 81; + break; + + case KErrGsmCCUserNotInCug: + // Todo correct string missing + aResourceId = EPhoneNumberNotInCUG; + aCauseCode = 87; + break; + + case KErrGsmCCIncompatibleDestination: + if ( IsVideoCall( callId ) ) + { + aResourceId = EPhoneNoteUnableToMakeVideoCallNotSupportedByOtherPhone; + aNotification = EFalse; + } + else + { + aResourceId = EPhoneErrorInConnection; + } + aCauseCode = 88; + break; + + case KErrGsmCCInvalidTransitNetworkSelection: + if ( IsVideoCall( callId ) ) + { + aResourceId = EPhoneNoteVideoCallNotPossible; //Video call didn't succeed to called end. + aNotification = EFalse; + } + else + { + aResourceId = EPhoneErrorInConnection; + } + aCauseCode = 91; + break; + + case KErrGsmCCSemanticallyIncorrectMessage: + if ( IsVideoCall( callId ) ) + { + aResourceId = EPhoneNoteVideoCallNotPossible; //Video call didn't succeed to called end. + aNotification = EFalse; + } + else + { + aResourceId = EPhoneErrorInConnection; + } + aCauseCode = 95; + break; + + case KErrGsmCCInvalidMandatoryInformation: + if ( IsVideoCall( callId ) ) + { + aResourceId = EPhoneNoteVideoCallNotPossible; //Video call didn't succeed to called end. + aNotification = EFalse; + } + else + { + aResourceId = EPhoneErrorInConnection; + } + aCauseCode = 96; + break; + + case KErrGsmCCNonExistentMessageType: + if ( IsVideoCall( callId ) ) + { + aResourceId = EPhoneNoteVideoCallNotPossible; //Video call didn't succeed to called end. + aNotification = EFalse; + } + else + { + aResourceId = EPhoneErrorInConnection; + } + aCauseCode = 97; + break; + + case KErrGsmCCIncompatibleMessageInProtocolState: + if ( IsVideoCall( callId ) ) + { + aResourceId = EPhoneNoteVideoCallNotPossible; //Video call didn't succeed to called end. + aNotification = EFalse; + } + else + { + aResourceId = EPhoneErrorInConnection; + } + aCauseCode = 98; + break; + + case KErrGsmCCNonExistentInformationElement: + if ( IsVideoCall( callId ) ) + { + aResourceId = EPhoneNoteVideoCallNotPossible; //Video call didn't succeed to called end. + aNotification = EFalse; + } + else + { + aResourceId = EPhoneErrorInConnection; + } + aCauseCode = 99; + break; + + case KErrGsmCCConditionalIEError: + if ( IsVideoCall( callId ) ) + { + aResourceId = EPhoneNoteVideoCallNotPossible; //Video call didn't succeed to called end. + aNotification = EFalse; + } + else + { + aResourceId = EPhoneErrorInConnection; + } + aCauseCode = 100; + break; + + case KErrGsmCCIncompatibleMessageInCallState: + if ( IsVideoCall( callId ) ) + { + aResourceId = EPhoneNoteVideoCallNotPossible; //Video call didn't succeed to called end. + aNotification = EFalse; + } + else + { + aResourceId = EPhoneErrorInConnection; + } + aCauseCode = 101; + break; + + case KErrGsmCCRecoveryOnTimerExpiry: + if ( IsVideoCall( callId ) ) + { + aResourceId = EPhoneNoteVideoCallNotPossible; //Video call didn't succeed to called end. + aNotification = EFalse; + } + else + { + aResourceId = EPhoneErrorInConnection; + } + aCauseCode = 102; + break; + + case KErrGsmCCUnspecifiedProtocolError: + if ( IsVideoCall( callId ) ) + { + aResourceId = EPhoneNoteVideoCallNotPossible; //Video call didn't succeed to called end. + aNotification = EFalse; + } + else + { + aResourceId = EPhoneErrorInConnection; + } + aCauseCode = 111; + break; + + case KErrGsmCCUnspecifiedInterworkingError: + if ( IsVideoCall( callId ) ) + { + aResourceId = EPhoneNoteVideoCallNotPossible; //Video call didn't succeed to called end. + aNotification = EFalse; + } + else + { + aResourceId = EPhoneErrorInConnection; + } + aCauseCode = 127; + break; + default: + break; + } + + return (aCauseCode != KErrNotFound); + } + // End of File diff -r 6b911d05207e -r bc5a64e5bc3c phoneapp/phoneuistates/src/cphonesingleandalerting.cpp --- a/phoneapp/phoneuistates/src/cphonesingleandalerting.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneapp/phoneuistates/src/cphonesingleandalerting.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -138,7 +138,7 @@ { // Show not allowed note CPhoneState::SendGlobalErrorNoteL( - EPhoneNoteTextNotAllowed ); + EPhoneNoteTextNotAllowed, ETrue ); } break; diff -r 6b911d05207e -r bc5a64e5bc3c phoneapp/phoneuistates/src/cphonesingleandcallsetup.cpp --- a/phoneapp/phoneuistates/src/cphonesingleandcallsetup.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneapp/phoneuistates/src/cphonesingleandcallsetup.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -142,7 +142,7 @@ { // Show not allowed note CPhoneState::SendGlobalErrorNoteL( - EPhoneNoteTextNotAllowed ); + EPhoneNoteTextNotAllowed, ETrue ); } break; diff -r 6b911d05207e -r bc5a64e5bc3c phoneapp/phoneuistates/src/cphonesingleandcallsetupandwaiting.cpp --- a/phoneapp/phoneuistates/src/cphonesingleandcallsetupandwaiting.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneapp/phoneuistates/src/cphonesingleandcallsetupandwaiting.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -130,7 +130,7 @@ // We can't answer to waiting call in this state // so display Not allowed -note. CPhoneState::SendGlobalErrorNoteL( - EPhoneNoteTextNotAllowed ); + EPhoneNoteTextNotAllowed, ETrue ); } break; diff -r 6b911d05207e -r bc5a64e5bc3c phoneapp/phoneuistates/src/cphonesinglecall.cpp --- a/phoneapp/phoneuistates/src/cphonesinglecall.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneapp/phoneuistates/src/cphonesinglecall.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -238,7 +238,7 @@ break; case MEngineMonitor::EPEMessageInValidEmergencyNumber: - SendGlobalErrorNoteL( EPhoneNoteTextNotAllowed ); + SendGlobalErrorNoteL( EPhoneNoteTextNotAllowed, ETrue ); break; case MEngineMonitor::EPEMessageValidEmergencyNumber: @@ -495,7 +495,7 @@ } else { - SendGlobalInfoNoteL( EPhoneNoteTextNotAllowed ); + SendGlobalInfoNoteL( EPhoneNoteTextNotAllowed, ETrue ); } } @@ -710,7 +710,7 @@ else { // Show not allowed note - SendGlobalInfoNoteL( EPhoneNoteTextNotAllowed ); + SendGlobalInfoNoteL( EPhoneNoteTextNotAllowed, ETrue ); } } @@ -737,7 +737,7 @@ else { // Show not allowed note - SendGlobalInfoNoteL( EPhoneNoteTextNotAllowed ); + SendGlobalInfoNoteL( EPhoneNoteTextNotAllowed, ETrue ); } } diff -r 6b911d05207e -r bc5a64e5bc3c phoneapp/phoneuiutils/bwins/phoneuiutilsu.def --- a/phoneapp/phoneuiutils/bwins/phoneuiutilsu.def Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneapp/phoneuiutils/bwins/phoneuiutilsu.def Tue Jul 06 14:15:47 2010 +0300 @@ -57,251 +57,253 @@ ?LittleBubbleVisible@TPhoneCmdParamIncallIndicatorData@@QBEHXZ @ 56 NONAME ; int TPhoneCmdParamIncallIndicatorData::LittleBubbleVisible(void) const ?SetCallState@TPhoneCmdParamIncallIndicatorData@@QAEXH@Z @ 57 NONAME ; void TPhoneCmdParamIncallIndicatorData::SetCallState(int) ?GetString@CPhoneCenRepProxy@@QBEHABVTUid@@IAAVTDes16@@@Z @ 58 NONAME ; int CPhoneCenRepProxy::GetString(class TUid const &, unsigned int, class TDes16 &) const - ?ResourceId@TPhoneCmdParamProgressNote@@QBEHXZ @ 59 NONAME ; int TPhoneCmdParamProgressNote::ResourceId(void) const - ?CallId@TPhoneCmdParamCallStateData@@QBEHXZ @ 60 NONAME ; int TPhoneCmdParamCallStateData::CallId(void) const - ?NotifyChangeL@CPhoneCenRepProxy@@QAEXABVTUid@@IPAVMPhoneCenRepObserver@@@Z @ 61 NONAME ; void CPhoneCenRepProxy::NotifyChangeL(class TUid const &, unsigned int, class MPhoneCenRepObserver *) - ?SetResourceId@TPhoneCmdParamDynMenu@@QAEXH@Z @ 62 NONAME ; void TPhoneCmdParamDynMenu::SetResourceId(int) - ?Validate@CPhoneKeys@@SAHABVTDesC16@@@Z @ 63 NONAME ; int CPhoneKeys::Validate(class TDesC16 const &) - ??0TPhoneCmdParamKeyCapture@@QAE@XZ @ 64 NONAME ; TPhoneCmdParamKeyCapture::TPhoneCmdParamKeyCapture(void) - ?SetResourceId@TPhoneCmdParamNote@@QAEXH@Z @ 65 NONAME ; void TPhoneCmdParamNote::SetResourceId(int) - ?LogMsgFromPEToPhoneUI@CPhoneLogger@@QAEXHH@Z @ 66 NONAME ; void CPhoneLogger::LogMsgFromPEToPhoneUI(int, int) - ??0TPhoneCmdParamProgressNote@@QAE@XZ @ 67 NONAME ; TPhoneCmdParamProgressNote::TPhoneCmdParamProgressNote(void) - ?CallState@TPhoneCmdParamCallStateData@@QBEHXZ @ 68 NONAME ; int TPhoneCmdParamCallStateData::CallState(void) const - ?SetPointer@TPhoneCmdParamPointer@@QAEXPAX@Z @ 69 NONAME ; void TPhoneCmdParamPointer::SetPointer(void *) - ??1CPhoneCenRepProxy@@UAE@XZ @ 70 NONAME ; CPhoneCenRepProxy::~CPhoneCenRepProxy(void) - ?SetEventCode@TPhoneCmdParamKeyEvent@@QAEXW4TEventCode@@@Z @ 71 NONAME ; void TPhoneCmdParamKeyEvent::SetEventCode(enum TEventCode) - ?WaitTime@TPhoneCmdParamProgressNote@@QBE?AVTTimeIntervalMicroSeconds32@@XZ @ 72 NONAME ; class TTimeIntervalMicroSeconds32 TPhoneCmdParamProgressNote::WaitTime(void) const - ?SetParam@TPhoneCmdParamAppInfo@@QAEXABVTDesC8@@@Z @ 73 NONAME ; void TPhoneCmdParamAppInfo::SetParam(class TDesC8 const &) - ??0TPhoneCmdParamPointer@@QAE@XZ @ 74 NONAME ; TPhoneCmdParamPointer::TPhoneCmdParamPointer(void) - ??0TPhoneCmdParamGlobalNote@@QAE@XZ @ 75 NONAME ; TPhoneCmdParamGlobalNote::TPhoneCmdParamGlobalNote(void) - ?CallType@TPhoneCmdParamCallHeaderData@@QBEHXZ @ 76 NONAME ; int TPhoneCmdParamCallHeaderData::CallType(void) const - ?SetCiphering@TPhoneCmdParamEmergencyCallHeaderData@@QAEXH@Z @ 77 NONAME ; void TPhoneCmdParamEmergencyCallHeaderData::SetCiphering(int) - ?SetTone@TPhoneCmdParamNote@@QAEXW4TTone@CAknNoteDialog@@@Z @ 78 NONAME ; void TPhoneCmdParamNote::SetTone(enum CAknNoteDialog::TTone) - ?SetCustomCommandForTimeOut@TPhoneCmdParamQuery@@QAEXH@Z @ 79 NONAME ; void TPhoneCmdParamQuery::SetCustomCommandForTimeOut(int) - ?IsBTAccAvailable@TPhoneCmdParamAudioAvailability@@QBEHXZ @ 80 NONAME ; int TPhoneCmdParamAudioAvailability::IsBTAccAvailable(void) const - ?NewL@CPhoneStorage@@SAPAV1@XZ @ 81 NONAME ; class CPhoneStorage * CPhoneStorage::NewL(void) - ?CNAPTextClippingDirection@TPhoneCmdParamCallHeaderData@@QBE?AW4TPhoneTextClippingDirection@1@XZ @ 82 NONAME ; enum TPhoneCmdParamCallHeaderData::TPhoneTextClippingDirection TPhoneCmdParamCallHeaderData::CNAPTextClippingDirection(void) const - ?Timeout@TPhoneCmdParamNote@@QBE?AW4TTimeout@CAknNoteDialog@@XZ @ 83 NONAME ; enum CAknNoteDialog::TTimeout TPhoneCmdParamNote::Timeout(void) const - ?Instance@CPhoneRecoverySystem@@SAPAV1@XZ @ 84 NONAME ; class CPhoneRecoverySystem * CPhoneRecoverySystem::Instance(void) - ?CancelTimer@CPhoneTimer@@QAEXXZ @ 85 NONAME ; void CPhoneTimer::CancelTimer(void) - ?NewL@CPhoneTimer@@SAPAV1@H@Z @ 86 NONAME ; class CPhoneTimer * CPhoneTimer::NewL(int) - ?GetInt@CPhoneCenRepProxy@@QBEHABVTUid@@IAAH@Z @ 87 NONAME ; int CPhoneCenRepProxy::GetInt(class TUid const &, unsigned int, int &) const - ?SetTextToSay@TPhoneCmdParamRingTone@@QAEXABVTDesC16@@@Z @ 88 NONAME ; void TPhoneCmdParamRingTone::SetTextToSay(class TDesC16 const &) - ?SetCallState@TPhoneCmdParamCallHeaderData@@QAEXH@Z @ 89 NONAME ; void TPhoneCmdParamCallHeaderData::SetCallState(int) - ?ContentCba@TPhoneCmdParamQuery@@QBEHXZ @ 90 NONAME ; int TPhoneCmdParamQuery::ContentCba(void) const - ?SetTextResourceId@TPhoneCmdParamGlobalNote@@QAEXH@Z @ 91 NONAME ; void TPhoneCmdParamGlobalNote::SetTextResourceId(int) - ??0TPhoneCmdParamDynMenu@@QAE@XZ @ 92 NONAME ; TPhoneCmdParamDynMenu::TPhoneCmdParamDynMenu(void) - ?CancelAllNotifications@CPhonePubSubProxy@@SAXPAVMPhonePubSubObserver@@@Z @ 93 NONAME ; void CPhonePubSubProxy::CancelAllNotifications(class MPhonePubSubObserver *) - ??0TPhoneCommandParam@@QAE@XZ @ 94 NONAME ; TPhoneCommandParam::TPhoneCommandParam(void) - ?SetCLIText@TPhoneCmdParamCallHeaderData@@QAEXABVTDesC16@@W4TPhoneTextClippingDirection@1@@Z @ 95 NONAME ; void TPhoneCmdParamCallHeaderData::SetCLIText(class TDesC16 const &, enum TPhoneCmdParamCallHeaderData::TPhoneTextClippingDirection) - ??1CPhoneLogger@@UAE@XZ @ 96 NONAME ; CPhoneLogger::~CPhoneLogger(void) - ?Softkeys@TPhoneCmdParamGlobalNote@@QBEHXZ @ 97 NONAME ; int TPhoneCmdParamGlobalNote::Softkeys(void) const - ?SetCallState@TPhoneCmdParamCallStateData@@QAEXH@Z @ 98 NONAME ; void TPhoneCmdParamCallStateData::SetCallState(int) - ?CallerText@TPhoneCmdParamCallHeaderData@@QBEABVTDesC16@@XZ @ 99 NONAME ; class TDesC16 const & TPhoneCmdParamCallHeaderData::CallerText(void) const - ?Diverted@TPhoneCmdParamCallHeaderData@@QBEHXZ @ 100 NONAME ; int TPhoneCmdParamCallHeaderData::Diverted(void) const - ?String@TPhoneCmdParamString@@QAEPAVTPtr16@@XZ @ 101 NONAME ; class TPtr16 * TPhoneCmdParamString::String(void) - ?SetKey@TPhoneCmdParamKeyCapture@@QAEXW4TStdScanCode@@@Z @ 102 NONAME ; void TPhoneCmdParamKeyCapture::SetKey(enum TStdScanCode) - ?IsExtraChar@CPhoneKeys@@SAHH@Z @ 103 NONAME ; int CPhoneKeys::IsExtraChar(int) - ?SetDynMenu@TPhoneCmdParamDynMenu@@QAEXPAX@Z @ 104 NONAME ; void TPhoneCmdParamDynMenu::SetDynMenu(void *) - ?IsSecondHashKey@CPhoneKeys@@SAHABVTDes16@@@Z @ 105 NONAME ; int CPhoneKeys::IsSecondHashKey(class TDes16 const &) - ?SetCallerImageStatus@TPhoneCmdParamRingTone@@QAEXH@Z @ 106 NONAME ; void TPhoneCmdParamRingTone::SetCallerImageStatus(int) - ?SetTimeout@TPhoneCmdParamGlobalNote@@QAEXH@Z @ 107 NONAME ; void TPhoneCmdParamGlobalNote::SetTimeout(int) - ?GetReal@CPhoneCenRepProxy@@QBEHABVTUid@@IAAN@Z @ 108 NONAME ; int CPhoneCenRepProxy::GetReal(class TUid const &, unsigned int, double &) const - ?SetShortLabelText@TPhoneCmdParamCallHeaderData@@QAEXABVTDesC16@@@Z @ 109 NONAME ; void TPhoneCmdParamCallHeaderData::SetShortLabelText(class TDesC16 const &) - ?SetDialerController@TPhoneCmdParamCustomDialer@@QAEXPAVMPhoneDialerController@@@Z @ 110 NONAME ; void TPhoneCmdParamCustomDialer::SetDialerController(class MPhoneDialerController *) - ?RingTone@TPhoneCmdParamRingTone@@QBEABVTDesC16@@XZ @ 111 NONAME ; class TDesC16 const & TPhoneCmdParamRingTone::RingTone(void) const - ?TimeOut@TPhoneCmdParamQuery@@QBEHXZ @ 112 NONAME ; int TPhoneCmdParamQuery::TimeOut(void) const - ?ShortLabelText@TPhoneCmdParamCallHeaderData@@QBEABVTDesC16@@XZ @ 113 NONAME ; class TDesC16 const & TPhoneCmdParamCallHeaderData::ShortLabelText(void) const - ?SetInteger@TPhoneCmdParamInteger@@QAEXH@Z @ 114 NONAME ; void TPhoneCmdParamInteger::SetInteger(int) - ?SetMaskBitmap@TPhoneCmdParamBitmap@@QAEXPAVCFbsBitmap@@@Z @ 115 NONAME ; void TPhoneCmdParamBitmap::SetMaskBitmap(class CFbsBitmap *) - ?SetTimeout@TPhoneCmdParamNote@@QAEXW4TTimeout@CAknNoteDialog@@@Z @ 116 NONAME ; void TPhoneCmdParamNote::SetTimeout(enum CAknNoteDialog::TTimeout) - ?IsBlockedKeysListEmpty@CPhoneStorage@@UAEHXZ @ 117 NONAME ; int CPhoneStorage::IsBlockedKeysListEmpty(void) - ?SetCustomMessage@TPhoneCmdParamAppInfo@@QAEXABVTDesC8@@@Z @ 118 NONAME ; void TPhoneCmdParamAppInfo::SetCustomMessage(class TDesC8 const &) - ?BaseConstructL@CPhoneResourceResolverBase@@QAEXXZ @ 119 NONAME ; void CPhoneResourceResolverBase::BaseConstructL(void) - ?SetTextResourceId@TPhoneCmdParamNote@@QAEXH@Z @ 120 NONAME ; void TPhoneCmdParamNote::SetTextResourceId(int) - ?SetString@TPhoneCmdParamString@@QAEXPAVTPtr16@@@Z @ 121 NONAME ; void TPhoneCmdParamString::SetString(class TPtr16 *) - ?SetAppUid@TPhoneCmdParamAppInfo@@QAEXABVTUid@@@Z @ 122 NONAME ; void TPhoneCmdParamAppInfo::SetAppUid(class TUid const &) - ?SetBTAccAvailable@TPhoneCmdParamAudioAvailability@@QAEXH@Z @ 123 NONAME ; void TPhoneCmdParamAudioAvailability::SetBTAccAvailable(int) - ?IsTelephonyFeatureSupported@CPhoneCenRepProxy@@QAEHH@Z @ 124 NONAME ; int CPhoneCenRepProxy::IsTelephonyFeatureSupported(int) - ?CallImageThemeFilePath@CPhoneCallThemeMonitor@@QBE?AVTPtrC16@@XZ @ 125 NONAME ; class TPtrC16 CPhoneCallThemeMonitor::CallImageThemeFilePath(void) const - ?HasThumbnail@TPhoneCmdParamCallHeaderData@@QBEHXZ @ 126 NONAME ; int TPhoneCmdParamCallHeaderData::HasThumbnail(void) const - ?ClearBlackListNow@CPhoneClearBlacklist@@QAEXXZ @ 127 NONAME ; void CPhoneClearBlacklist::ClearBlackListNow(void) - ?SetCipheringIndicatorAllowed@TPhoneCmdParamEmergencyCallHeaderData@@QAEXH@Z @ 128 NONAME ; void TPhoneCmdParamEmergencyCallHeaderData::SetCipheringIndicatorAllowed(int) - ?SetCommandParamId@TPhoneCmdParamQuery@@QAEXW4TPhoneParamId@TPhoneCommandParam@@@Z @ 129 NONAME ; void TPhoneCmdParamQuery::SetCommandParamId(enum TPhoneCommandParam::TPhoneParamId) - ??0TPhoneCmdParamEmergencyCallHeaderData@@QAE@XZ @ 130 NONAME ; TPhoneCmdParamEmergencyCallHeaderData::TPhoneCmdParamEmergencyCallHeaderData(void) - ?After@CPhoneTimer@@QAEXVTTimeIntervalMicroSeconds32@@PAVMPhoneTimer@@@Z @ 131 NONAME ; void CPhoneTimer::After(class TTimeIntervalMicroSeconds32, class MPhoneTimer *) - ?NewL@CPhoneLibraryContainer@@SAPAV1@XZ @ 132 NONAME ; class CPhoneLibraryContainer * CPhoneLibraryContainer::NewL(void) - ?CreateL@CPhoneClearBlacklist@@SAPAV1@AAVRWsSession@@ABVRWindowBase@@@Z @ 133 NONAME ; class CPhoneClearBlacklist * CPhoneClearBlacklist::CreateL(class RWsSession &, class RWindowBase const &) - ??1CPhoneStorage@@UAE@XZ @ 134 NONAME ; CPhoneStorage::~CPhoneStorage(void) - ?SetVolume@TPhoneCmdParamRingTone@@QAEXH@Z @ 135 NONAME ; void TPhoneCmdParamRingTone::SetVolume(int) - ??0TPhoneCmdParamString@@QAE@XZ @ 136 NONAME ; TPhoneCmdParamString::TPhoneCmdParamString(void) - ?SetContactLink@TPhoneCmdParamCallHeaderData@@QAEXABVTDesC8@@@Z @ 137 NONAME ; void TPhoneCmdParamCallHeaderData::SetContactLink(class TDesC8 const &) - ??4TPhoneCmdParamQuery@@QAEAAV0@ABV0@@Z @ 138 NONAME ; class TPhoneCmdParamQuery & TPhoneCmdParamQuery::operator=(class TPhoneCmdParamQuery const &) - ??0TPhoneCmdParamAudioAvailability@@QAE@XZ @ 139 NONAME ; TPhoneCmdParamAudioAvailability::TPhoneCmdParamAudioAvailability(void) - ?GetBlockedKeyList@CPhoneStorage@@UBEABV?$RArray@H@@XZ @ 140 NONAME ; class RArray const & CPhoneStorage::GetBlockedKeyList(void) const - ?Timeout@TPhoneCmdParamGlobalNote@@QBEHXZ @ 141 NONAME ; int TPhoneCmdParamGlobalNote::Timeout(void) const - ??0TPhoneCmdParamRingTone@@QAE@XZ @ 142 NONAME ; TPhoneCmdParamRingTone::TPhoneCmdParamRingTone(void) - ?Observer@TPhoneCmdParamNumberEntryObserver@@QAE?AVTCallBack@@XZ @ 143 NONAME ; class TCallBack TPhoneCmdParamNumberEntryObserver::Observer(void) - ?SetSoftkeys@TPhoneCmdParamGlobalNote@@QAEXH@Z @ 144 NONAME ; void TPhoneCmdParamGlobalNote::SetSoftkeys(int) - ??0CPhoneResourceResolverBase@@IAE@XZ @ 145 NONAME ; CPhoneResourceResolverBase::CPhoneResourceResolverBase(void) - ?SetCallId@TPhoneCmdParamCallStateData@@QAEXH@Z @ 146 NONAME ; void TPhoneCmdParamCallStateData::SetCallId(int) - ?MultipleInstances@TPhoneCmdParamAppInfo@@QBEHXZ @ 147 NONAME ; int TPhoneCmdParamAppInfo::MultipleInstances(void) const - ?ItemTextArrayForListQuery@TPhoneCmdParamQuery@@QBEPAVMDesC16Array@@XZ @ 148 NONAME ; class MDesC16Array * TPhoneCmdParamQuery::ItemTextArrayForListQuery(void) const - ?SetHeaderText@TPhoneCmdParamEmergencyCallHeaderData@@QAEXABVTDesC16@@@Z @ 149 NONAME ; void TPhoneCmdParamEmergencyCallHeaderData::SetHeaderText(class TDesC16 const &) - ?SetContentCba@TPhoneCmdParamQuery@@QAEXH@Z @ 150 NONAME ; void TPhoneCmdParamQuery::SetContentCba(int) - ?CaptureType@TPhoneCmdParamKeyCapture@@QBE?AW4TPhoneCaptureType@@XZ @ 151 NONAME ; enum TPhoneCaptureType TPhoneCmdParamKeyCapture::CaptureType(void) const - ?SetQueryResourceId@TPhoneCmdParamQuery@@QAEXH@Z @ 152 NONAME ; void TPhoneCmdParamQuery::SetQueryResourceId(int) - ?CancelNotify@CPhoneCenRepProxy@@QAEXPAVMPhoneCenRepObserver@@I@Z @ 153 NONAME ; void CPhoneCenRepProxy::CancelNotify(class MPhoneCenRepObserver *, unsigned int) - ?Param@TPhoneCmdParamAppInfo@@QBEABVTDesC8@@XZ @ 154 NONAME ; class TDesC8 const & TPhoneCmdParamAppInfo::Param(void) const - ??0CPhoneMethodLogger@@QAE@W4TPhoneUILoggingComponent@@VTPtrC16@@@Z @ 155 NONAME ; CPhoneMethodLogger::CPhoneMethodLogger(enum TPhoneUILoggingComponent, class TPtrC16) - ?IsDtmfTone@CPhoneKeys@@SAHABUTKeyEvent@@W4TEventCode@@@Z @ 156 NONAME ; int CPhoneKeys::IsDtmfTone(struct TKeyEvent const &, enum TEventCode) - ?SetMode@TPhoneCmdParamIncallIndicatorData@@QAEXH@Z @ 157 NONAME ; void TPhoneCmdParamIncallIndicatorData::SetMode(int) - ?NewL@CPhoneCallThemeMonitor@@SAPAV1@XZ @ 158 NONAME ; class CPhoneCallThemeMonitor * CPhoneCallThemeMonitor::NewL(void) - ?SendKeyEnabled@TPhoneCmdParamQuery@@QBEHXZ @ 159 NONAME ; int TPhoneCmdParamQuery::SendKeyEnabled(void) const - ?SetNeedToEnableKeylock@CPhoneStorage@@UAEXH@Z @ 160 NONAME ; void CPhoneStorage::SetNeedToEnableKeylock(int) - ?Find@CPhoneCenRepProxy@@QBEHABVTUid@@KKAAV?$RArray@K@@@Z @ 161 NONAME ; int CPhoneCenRepProxy::Find(class TUid const &, unsigned long, unsigned long, class RArray &) const - ?SetLabelText@TPhoneCmdParamCallHeaderData@@QAEXABVTDesC16@@@Z @ 162 NONAME ; void TPhoneCmdParamCallHeaderData::SetLabelText(class TDesC16 const &) - ?CNAPText@TPhoneCmdParamCallHeaderData@@QBEABVTDesC16@@XZ @ 163 NONAME ; class TDesC16 const & TPhoneCmdParamCallHeaderData::CNAPText(void) const - ?SetOwnPhoneNumberText@TPhoneCmdParamEmergencyCallHeaderData@@QAEXABVTDesC16@@@Z @ 164 NONAME ; void TPhoneCmdParamEmergencyCallHeaderData::SetOwnPhoneNumberText(class TDesC16 const &) - ?Emergency@TPhoneCmdParamIncallIndicatorData@@QBEHXZ @ 165 NONAME ; int TPhoneCmdParamIncallIndicatorData::Emergency(void) const - ?AppUid@TPhoneCmdParamAppInfo@@QBE?AVTUid@@XZ @ 166 NONAME ; class TUid TPhoneCmdParamAppInfo::AppUid(void) const - ?CustomMessage@TPhoneCmdParamAppInfo@@QBEABVTDesC8@@XZ @ 167 NONAME ; class TDesC8 const & TPhoneCmdParamAppInfo::CustomMessage(void) const - ?QueryResourceId@TPhoneCmdParamQuery@@QBEHXZ @ 168 NONAME ; int TPhoneCmdParamQuery::QueryResourceId(void) const - ?NotifyChangeL@CPhonePubSubProxy@@QAEXABVTUid@@IPAVMPhonePubSubObserver@@@Z @ 169 NONAME ; void CPhonePubSubProxy::NotifyChangeL(class TUid const &, unsigned int, class MPhonePubSubObserver *) - ?SetRingTone@TPhoneCmdParamRingTone@@QAEXABVTDesC16@@@Z @ 170 NONAME ; void TPhoneCmdParamRingTone::SetRingTone(class TDesC16 const &) - ?AppendBlockedKeysListL@CPhoneStorage@@UAEXW4TStdScanCode@@@Z @ 171 NONAME ; void CPhoneStorage::AppendBlockedKeysListL(enum TStdScanCode) - ?SetEmergency@TPhoneCmdParamIncallIndicatorData@@QAEXH@Z @ 172 NONAME ; void TPhoneCmdParamIncallIndicatorData::SetEmergency(int) - ?SetDefaultCba@TPhoneCmdParamQuery@@QAEXH@Z @ 173 NONAME ; void TPhoneCmdParamQuery::SetDefaultCba(int) - ?Type@TPhoneCmdParamTransEffect@@QBE?AW4TPhoneTransEffectType@@XZ @ 174 NONAME ; enum TPhoneTransEffectType TPhoneCmdParamTransEffect::Type(void) const - ??0TPhoneCmdParamSfiData@@QAE@XZ @ 175 NONAME ; TPhoneCmdParamSfiData::TPhoneCmdParamSfiData(void) - ??0TPhoneCmdParamCallHeaderData@@QAE@XZ @ 176 NONAME ; TPhoneCmdParamCallHeaderData::TPhoneCmdParamCallHeaderData(void) - ??1CPhoneClearBlacklist@@UAE@XZ @ 177 NONAME ; CPhoneClearBlacklist::~CPhoneClearBlacklist(void) - ?SetMute@TPhoneCmdParamIncallIndicatorData@@QAEXH@Z @ 178 NONAME ; void TPhoneCmdParamIncallIndicatorData::SetMute(int) - ?KeyCode@TPhoneCmdParamKeyCapture@@QBE?AW4TKeyCode@@XZ @ 179 NONAME ; enum TKeyCode TPhoneCmdParamKeyCapture::KeyCode(void) const - ?IsNumberKey@CPhoneKeys@@SAHABUTKeyEvent@@W4TEventCode@@@Z @ 180 NONAME ; int CPhoneKeys::IsNumberKey(struct TKeyEvent const &, enum TEventCode) - ?TextResourceId@TPhoneCmdParamGlobalNote@@QBEHXZ @ 181 NONAME ; int TPhoneCmdParamGlobalNote::TextResourceId(void) const - ?SetCiphering@TPhoneCmdParamCallHeaderData@@QAEXH@Z @ 182 NONAME ; void TPhoneCmdParamCallHeaderData::SetCiphering(int) - ?EnablePreconditionL@CPhoneRecoverySystem@@QAEXXZ @ 183 NONAME ; void CPhoneRecoverySystem::EnablePreconditionL(void) - ?AddL@CPhoneRecoverySystem@@QAEHVTCallBack@@CW4TRecoveryState@CTeleRecoverySystem@@@Z @ 184 NONAME ; int CPhoneRecoverySystem::AddL(class TCallBack, signed char, enum CTeleRecoverySystem::TRecoveryState) - ?SetLine2@TPhoneCmdParamIncallIndicatorData@@QAEXH@Z @ 185 NONAME ; void TPhoneCmdParamIncallIndicatorData::SetLine2(int) - ?SetAudioOutput@TPhoneCmdParamAudioOutput@@QAEXW4TPEAudioOutput@@@Z @ 186 NONAME ; void TPhoneCmdParamAudioOutput::SetAudioOutput(enum TPEAudioOutput) - ?HeaderText@TPhoneCmdParamEmergencyCallHeaderData@@QBEABVTDesC16@@XZ @ 187 NONAME ; class TDesC16 const & TPhoneCmdParamEmergencyCallHeaderData::HeaderText(void) const - ?CallImageThemeSettings@CPhoneCallThemeMonitor@@QBEHXZ @ 188 NONAME ; int CPhoneCallThemeMonitor::CallImageThemeSettings(void) const - ??0TPhoneCmdParamTransEffect@@QAE@XZ @ 189 NONAME ; TPhoneCmdParamTransEffect::TPhoneCmdParamTransEffect(void) - ?Number@TPhoneCmdParamSfiData@@QBEABVTDesC16@@XZ @ 190 NONAME ; class TDesC16 const & TPhoneCmdParamSfiData::Number(void) const - ?OwnPhoneNumberText@TPhoneCmdParamEmergencyCallHeaderData@@QBEABVTDesC16@@XZ @ 191 NONAME ; class TDesC16 const & TPhoneCmdParamEmergencyCallHeaderData::OwnPhoneNumberText(void) const - ?QueryPrompt@TPhoneCmdParamQuery@@QBEABVTDesC16@@XZ @ 192 NONAME ; class TDesC16 const & TPhoneCmdParamQuery::QueryPrompt(void) const - ?SetQueryPrompt@TPhoneCmdParamQuery@@QAEXABVTDesC16@@@Z @ 193 NONAME ; void TPhoneCmdParamQuery::SetQueryPrompt(class TDesC16 const &) - ?IsNumericKey@CPhoneKeys@@SAHABUTKeyEvent@@W4TEventCode@@@Z @ 194 NONAME ; int CPhoneKeys::IsNumericKey(struct TKeyEvent const &, enum TEventCode) - ?SetCaptureType@TPhoneCmdParamKeyCapture@@QAEXW4TPhoneCaptureType@@@Z @ 195 NONAME ; void TPhoneCmdParamKeyCapture::SetCaptureType(enum TPhoneCaptureType) - ?ViewUid@TPhoneCmdParamAppInfo@@QBE?AVTUid@@XZ @ 196 NONAME ; class TUid TPhoneCmdParamAppInfo::ViewUid(void) const - ?SetLabelText@TPhoneCmdParamEmergencyCallHeaderData@@QAEXABVTDesC16@@@Z @ 197 NONAME ; void TPhoneCmdParamEmergencyCallHeaderData::SetLabelText(class TDesC16 const &) - ?IsCallerText@TPhoneCmdParamRingTone@@QAEHXZ @ 198 NONAME ; int TPhoneCmdParamRingTone::IsCallerText(void) - ?SetBitmap@TPhoneCmdParamBitmap@@QAEXPAVCFbsBitmap@@@Z @ 199 NONAME ; void TPhoneCmdParamBitmap::SetBitmap(class CFbsBitmap *) - ?SetNumber@TPhoneCmdParamSfiData@@QAEXABVTDesC16@@@Z @ 200 NONAME ; void TPhoneCmdParamSfiData::SetNumber(class TDesC16 const &) - ?CipheringIndicatorAllowed@TPhoneCmdParamCallHeaderData@@QBEHXZ @ 201 NONAME ; int TPhoneCmdParamCallHeaderData::CipheringIndicatorAllowed(void) const - ?Name@TPhoneCmdParamSfiData@@QBEABVTDesC16@@XZ @ 202 NONAME ; class TDesC16 const & TPhoneCmdParamSfiData::Name(void) const - ??0TPhoneCmdParamQuery@@QAE@ABV0@@Z @ 203 NONAME ; TPhoneCmdParamQuery::TPhoneCmdParamQuery(class TPhoneCmdParamQuery const &) - ?CallState@TPhoneCmdParamCallHeaderData@@QBEHXZ @ 204 NONAME ; int TPhoneCmdParamCallHeaderData::CallState(void) const - ??0TPhoneCmdParamIncallIndicatorData@@QAE@XZ @ 205 NONAME ; TPhoneCmdParamIncallIndicatorData::TPhoneCmdParamIncallIndicatorData(void) - ?Picture@TPhoneCmdParamCallHeaderData@@QBEABVTDesC16@@XZ @ 206 NONAME ; class TDesC16 const & TPhoneCmdParamCallHeaderData::Picture(void) const - ?SetCallThemeSettingsObserver@CPhoneCallThemeMonitor@@QAEXPAVMPhoneCallThemeSettingsObserver@@@Z @ 207 NONAME ; void CPhoneCallThemeMonitor::SetCallThemeSettingsObserver(class MPhoneCallThemeSettingsObserver *) - ?SetDiverted@TPhoneCmdParamCallHeaderData@@QAEXH@Z @ 208 NONAME ; void TPhoneCmdParamCallHeaderData::SetDiverted(int) - ?ServiceId@TPhoneCmdParamCallHeaderData@@QBEKXZ @ 209 NONAME ; unsigned long TPhoneCmdParamCallHeaderData::ServiceId(void) const - ?LabelText@TPhoneCmdParamCallHeaderData@@QBEABVTDesC16@@XZ @ 210 NONAME ; class TDesC16 const & TPhoneCmdParamCallHeaderData::LabelText(void) const - ?Overflow@CPhoneLogger@@EAEXAAVTDes16@@@Z @ 211 NONAME ; void CPhoneLogger::Overflow(class TDes16 &) - ?SetCNAPText@TPhoneCmdParamCallHeaderData@@QAEXABVTDesC16@@W4TPhoneTextClippingDirection@1@@Z @ 212 NONAME ; void TPhoneCmdParamCallHeaderData::SetCNAPText(class TDesC16 const &, enum TPhoneCmdParamCallHeaderData::TPhoneTextClippingDirection) - ?SetKeyEvent@TPhoneCmdParamKeyEvent@@QAEXABUTKeyEvent@@@Z @ 213 NONAME ; void TPhoneCmdParamKeyEvent::SetKeyEvent(struct TKeyEvent const &) - ?Instance@CPhonePubSubProxy@@SAPAV1@XZ @ 214 NONAME ; class CPhonePubSubProxy * CPhonePubSubProxy::Instance(void) - ?ResourceId@TPhoneCmdParamNote@@QBEHXZ @ 215 NONAME ; int TPhoneCmdParamNote::ResourceId(void) const - ?CipheringIndicatorAllowed@TPhoneCmdParamEmergencyCallHeaderData@@QBEHXZ @ 216 NONAME ; int TPhoneCmdParamEmergencyCallHeaderData::CipheringIndicatorAllowed(void) const - ?CancelAllNotifies@CPhoneCenRepProxy@@SAXPAVMPhoneCenRepObserver@@@Z @ 217 NONAME ; void CPhoneCenRepProxy::CancelAllNotifies(class MPhoneCenRepObserver *) - ?TextResourceId@TPhoneCmdParamNote@@QBEHXZ @ 218 NONAME ; int TPhoneCmdParamNote::TextResourceId(void) const - ?SetRemotePhoneNumber@TPhoneCmdParamCallHeaderData@@QAEXABVTDesC16@@@Z @ 219 NONAME ; void TPhoneCmdParamCallHeaderData::SetRemotePhoneNumber(class TDesC16 const &) - ?CipheringIndicatorAllowed@TPhoneCmdParamIncallIndicatorData@@QBEHXZ @ 220 NONAME ; int TPhoneCmdParamIncallIndicatorData::CipheringIndicatorAllowed(void) const - ??0TPhoneCmdParamCallStateData@@QAE@XZ @ 221 NONAME ; TPhoneCmdParamCallStateData::TPhoneCmdParamCallStateData(void) - ?SetKeyCode@TPhoneCmdParamKeyCapture@@QAEXW4TKeyCode@@@Z @ 222 NONAME ; void TPhoneCmdParamKeyCapture::SetKeyCode(enum TKeyCode) - ?SetScreenLocked@CPhoneStorage@@UAEXH@Z @ 223 NONAME ; void CPhoneStorage::SetScreenLocked(int) - ?CustomMessageId@TPhoneCmdParamAppInfo@@QBE?AVTUid@@XZ @ 224 NONAME ; class TUid TPhoneCmdParamAppInfo::CustomMessageId(void) const - ?RemotePhoneNumber@TPhoneCmdParamCallHeaderData@@QBEABVTDesC16@@XZ @ 225 NONAME ; class TDesC16 const & TPhoneCmdParamCallHeaderData::RemotePhoneNumber(void) const - ?SetType@TPhoneCmdParamNote@@QAEXW4TPhoneNoteType@@@Z @ 226 NONAME ; void TPhoneCmdParamNote::SetType(enum TPhoneNoteType) - ?Instance@CPhoneClearBlacklist@@SAPAV1@XZ @ 227 NONAME ; class CPhoneClearBlacklist * CPhoneClearBlacklist::Instance(void) - ?TextToSay@TPhoneCmdParamRingTone@@QBEABVTDesC16@@XZ @ 228 NONAME ; class TDesC16 const & TPhoneCmdParamRingTone::TextToSay(void) const - ?Type@TPhoneCmdParamNote@@QBE?AW4TPhoneNoteType@@XZ @ 229 NONAME ; enum TPhoneNoteType TPhoneCmdParamNote::Type(void) const - ?SetPicture@TPhoneCmdParamCallHeaderData@@QAEXABVTDesC16@@@Z @ 230 NONAME ; void TPhoneCmdParamCallHeaderData::SetPicture(class TDesC16 const &) - ?Integer@TPhoneCmdParamInteger@@QBEHXZ @ 231 NONAME ; int TPhoneCmdParamInteger::Integer(void) const - ?Mode@TPhoneCmdParamIncallIndicatorData@@QBEHXZ @ 232 NONAME ; int TPhoneCmdParamIncallIndicatorData::Mode(void) const - ?SetCallerTextStatus@TPhoneCmdParamRingTone@@QAEXH@Z @ 233 NONAME ; void TPhoneCmdParamRingTone::SetCallerTextStatus(int) - ?SetText@TPhoneCmdParamNote@@QAEXABVTDesC16@@@Z @ 234 NONAME ; void TPhoneCmdParamNote::SetText(class TDesC16 const &) - ?IsWiredAccAvailable@TPhoneCmdParamAudioAvailability@@QBEHXZ @ 235 NONAME ; int TPhoneCmdParamAudioAvailability::IsWiredAccAvailable(void) const - ?SetWaitForReady@TPhoneCmdParamGlobalNote@@QAEXH@Z @ 236 NONAME ; void TPhoneCmdParamGlobalNote::SetWaitForReady(int) - ??0TPhoneCmdParamBoolean@@QAE@XZ @ 237 NONAME ; TPhoneCmdParamBoolean::TPhoneCmdParamBoolean(void) - ?QueryCommandObserver@TPhoneCmdParamQuery@@QAEPAVMPhoneQueryCommandObserver@@XZ @ 238 NONAME ; class MPhoneQueryCommandObserver * TPhoneCmdParamQuery::QueryCommandObserver(void) - ?DataText@TPhoneCmdParamQuery@@QBEPAVTDes16@@XZ @ 239 NONAME ; class TDes16 * TPhoneCmdParamQuery::DataText(void) const - ?SetReal@CPhoneCenRepProxy@@QAEHABVTUid@@IN@Z @ 240 NONAME ; int CPhoneCenRepProxy::SetReal(class TUid const &, unsigned int, double) - ??0TPhoneCmdParamCustomDialer@@QAE@XZ @ 241 NONAME ; TPhoneCmdParamCustomDialer::TPhoneCmdParamCustomDialer(void) - ??1CPhonePubSubProxy@@UAE@XZ @ 242 NONAME ; CPhonePubSubProxy::~CPhonePubSubProxy(void) - ??0TPhoneCmdParamNote@@QAE@XZ @ 243 NONAME ; TPhoneCmdParamNote::TPhoneCmdParamNote(void) - ?Volume@TPhoneCmdParamRingTone@@QBEHXZ @ 244 NONAME ; int TPhoneCmdParamRingTone::Volume(void) const - ?SetItemTextArrayForListQuery@TPhoneCmdParamQuery@@QAEXAAVMDesC16Array@@@Z @ 245 NONAME ; void TPhoneCmdParamQuery::SetItemTextArrayForListQuery(class MDesC16Array &) - ?Type@TPhoneCmdParamRingTone@@QBE?AW4TPhoneRingToneType@@XZ @ 246 NONAME ; enum TPhoneRingToneType TPhoneCmdParamRingTone::Type(void) const - ?Key@TPhoneCmdParamKeyCapture@@QBE?AW4TStdScanCode@@XZ @ 247 NONAME ; enum TStdScanCode TPhoneCmdParamKeyCapture::Key(void) const - ?LabelText@TPhoneCmdParamEmergencyCallHeaderData@@QBEABVTDesC16@@XZ @ 248 NONAME ; class TDesC16 const & TPhoneCmdParamEmergencyCallHeaderData::LabelText(void) const - ?Ciphering@TPhoneCmdParamIncallIndicatorData@@QBEHXZ @ 249 NONAME ; int TPhoneCmdParamIncallIndicatorData::Ciphering(void) const - ?SetQueryCommandObserver@TPhoneCmdParamQuery@@QAEXAAVMPhoneQueryCommandObserver@@@Z @ 250 NONAME ; void TPhoneCmdParamQuery::SetQueryCommandObserver(class MPhoneQueryCommandObserver &) - ?IsPhoneUIFeatureSupported@CPhoneCenRepProxy@@QAEHH@Z @ 251 NONAME ; int CPhoneCenRepProxy::IsPhoneUIFeatureSupported(int) - ?DefaultCba@TPhoneCmdParamQuery@@QBEHXZ @ 252 NONAME ; int TPhoneCmdParamQuery::DefaultCba(void) const - ?CallState@TPhoneCmdParamIncallIndicatorData@@QBEHXZ @ 253 NONAME ; int TPhoneCmdParamIncallIndicatorData::CallState(void) const - ??0TPhoneCmdParamNumberEntryObserver@@QAE@XZ @ 254 NONAME ; TPhoneCmdParamNumberEntryObserver::TPhoneCmdParamNumberEntryObserver(void) - ?SetLine2@TPhoneCmdParamCallHeaderData@@QAEXH@Z @ 255 NONAME ; void TPhoneCmdParamCallHeaderData::SetLine2(int) - ?FetchValuesFromCenRepL@CPhoneCenRepProxy@@QAEXAAVTPhoneCmdParamAppInfo@@W4TKeyCode@@PAVHBufC8@@AAH@Z @ 256 NONAME ; void CPhoneCenRepProxy::FetchValuesFromCenRepL(class TPhoneCmdParamAppInfo &, enum TKeyCode, class HBufC8 *, int &) - ?ParticipantCLI@TPhoneCmdParamCallHeaderData@@QBE?AW4TPhoneParticipantListCLI@1@XZ @ 257 NONAME ; enum TPhoneCmdParamCallHeaderData::TPhoneParticipantListCLI TPhoneCmdParamCallHeaderData::ParticipantCLI(void) const - ?Thumbnail@TPhoneCmdParamCallHeaderData@@QBEPAVCFbsBitmap@@XZ @ 258 NONAME ; class CFbsBitmap * TPhoneCmdParamCallHeaderData::Thumbnail(void) const - ?SetTimeOut@TPhoneCmdParamQuery@@QAEXH@Z @ 259 NONAME ; void TPhoneCmdParamQuery::SetTimeOut(int) - ?Boolean@TPhoneCmdParamBoolean@@QBEHXZ @ 260 NONAME ; int TPhoneCmdParamBoolean::Boolean(void) const - ?CLITextClippingDirection@TPhoneCmdParamCallHeaderData@@QBE?AW4TPhoneTextClippingDirection@1@XZ @ 261 NONAME ; enum TPhoneCmdParamCallHeaderData::TPhoneTextClippingDirection TPhoneCmdParamCallHeaderData::CLITextClippingDirection(void) const - ?LogMsgFromPhoneUIToPE@CPhoneLogger@@QAEXHH@Z @ 262 NONAME ; void CPhoneLogger::LogMsgFromPhoneUIToPE(int, int) - ?SetCustomMessageId@TPhoneCmdParamAppInfo@@QAEXABVTUid@@@Z @ 263 NONAME ; void TPhoneCmdParamAppInfo::SetCustomMessageId(class TUid const &) - ?ResolveResourceID@CPhoneResourceResolverBase@@UBEHABH@Z @ 264 NONAME ; int CPhoneResourceResolverBase::ResolveResourceID(int const &) const - ?SetName@TPhoneCmdParamSfiData@@QAEXABVTDesC16@@@Z @ 265 NONAME ; void TPhoneCmdParamSfiData::SetName(class TDesC16 const &) - ?SetType@TPhoneCmdParamGlobalNote@@QAEXW4TAknGlobalNoteType@@@Z @ 266 NONAME ; void TPhoneCmdParamGlobalNote::SetType(enum TAknGlobalNoteType) - ?SetLittleBubbleVisible@TPhoneCmdParamIncallIndicatorData@@QAEXH@Z @ 267 NONAME ; void TPhoneCmdParamIncallIndicatorData::SetLittleBubbleVisible(int) - ?Ciphering@TPhoneCmdParamCallHeaderData@@QBEHXZ @ 268 NONAME ; int TPhoneCmdParamCallHeaderData::Ciphering(void) const - ?SetType@TPhoneCmdParamRingTone@@QAEXW4TPhoneRingToneType@@@Z @ 269 NONAME ; void TPhoneCmdParamRingTone::SetType(enum TPhoneRingToneType) - ?ResourceId@TPhoneCmdParamDynMenu@@QBEHXZ @ 270 NONAME ; int TPhoneCmdParamDynMenu::ResourceId(void) const - ?SetCipheringIndicatorAllowed@TPhoneCmdParamCallHeaderData@@QAEXH@Z @ 271 NONAME ; void TPhoneCmdParamCallHeaderData::SetCipheringIndicatorAllowed(int) - ?SetWaitTime@TPhoneCmdParamProgressNote@@QAEXVTTimeIntervalMicroSeconds32@@@Z @ 272 NONAME ; void TPhoneCmdParamProgressNote::SetWaitTime(class TTimeIntervalMicroSeconds32) - ?Ciphering@TPhoneCmdParamEmergencyCallHeaderData@@QBEHXZ @ 273 NONAME ; int TPhoneCmdParamEmergencyCallHeaderData::Ciphering(void) const - ??1CPhoneCallThemeMonitor@@UAE@XZ @ 274 NONAME ; CPhoneCallThemeMonitor::~CPhoneCallThemeMonitor(void) - ?SetNumberType@TPhoneCmdParamCallHeaderData@@QAEXH@Z @ 275 NONAME ; void TPhoneCmdParamCallHeaderData::SetNumberType(int) - ?Mute@TPhoneCmdParamIncallIndicatorData@@QBEHXZ @ 276 NONAME ; int TPhoneCmdParamIncallIndicatorData::Mute(void) const - ?SetBoolean@TPhoneCmdParamBoolean@@QAEXH@Z @ 277 NONAME ; void TPhoneCmdParamBoolean::SetBoolean(int) - ?IsTelephonyFeatureSupported@CPhoneResourceResolverBase@@MBEHH@Z @ 278 NONAME ; int CPhoneResourceResolverBase::IsTelephonyFeatureSupported(int) const - ?Instance@CPhoneMainErrorMessagesHandler@@SAPAV1@XZ @ 279 NONAME ; class CPhoneMainErrorMessagesHandler * CPhoneMainErrorMessagesHandler::Instance(void) - ?SetViewUid@TPhoneCmdParamAppInfo@@QAEXABVTUid@@@Z @ 280 NONAME ; void TPhoneCmdParamAppInfo::SetViewUid(class TUid const &) - ?SetServiceId@TPhoneCmdParamCallHeaderData@@QAEXK@Z @ 281 NONAME ; void TPhoneCmdParamCallHeaderData::SetServiceId(unsigned long) - ?Instance@CPhoneCenRepProxy@@SAPAV1@XZ @ 282 NONAME ; class CPhoneCenRepProxy * CPhoneCenRepProxy::Instance(void) - ?SetQueryType@TPhoneCmdParamQuery@@QAEXW4TPhoneQueryType@@@Z @ 283 NONAME ; void TPhoneCmdParamQuery::SetQueryType(enum TPhoneQueryType) - ?Value@CPhonePubSubProxy@@QAEHABVTUid@@I@Z @ 284 NONAME ; int CPhonePubSubProxy::Value(class TUid const &, unsigned int) - ?SetWiredAccAvailable@TPhoneCmdParamAudioAvailability@@QAEXH@Z @ 285 NONAME ; void TPhoneCmdParamAudioAvailability::SetWiredAccAvailable(int) - ??0TPhoneCmdParamAudioOutput@@QAE@XZ @ 286 NONAME ; TPhoneCmdParamAudioOutput::TPhoneCmdParamAudioOutput(void) - ?IsCallerImage@TPhoneCmdParamRingTone@@QAEHXZ @ 287 NONAME ; int TPhoneCmdParamRingTone::IsCallerImage(void) - ??0TPhoneCmdParamQuery@@QAE@XZ @ 288 NONAME ; TPhoneCmdParamQuery::TPhoneCmdParamQuery(void) - ?Instance@CPhoneMainResourceResolver@@SAPAV1@XZ @ 289 NONAME ; class CPhoneMainResourceResolver * CPhoneMainResourceResolver::Instance(void) - ??1CPhoneLibraryContainer@@UAE@XZ @ 290 NONAME ; CPhoneLibraryContainer::~CPhoneLibraryContainer(void) - ?ClearBlackListOnNextKey@CPhoneClearBlacklist@@QAEXXZ @ 291 NONAME ; void CPhoneClearBlacklist::ClearBlackListOnNextKey(void) - ?Tone@TPhoneCmdParamQuery@@QBEHXZ @ 292 NONAME ; int TPhoneCmdParamQuery::Tone(void) const - ?SetCiphering@TPhoneCmdParamIncallIndicatorData@@QAEXH@Z @ 293 NONAME ; void TPhoneCmdParamIncallIndicatorData::SetCiphering(int) - ?SetRingingType@TPhoneCmdParamRingTone@@QAEXH@Z @ 294 NONAME ; void TPhoneCmdParamRingTone::SetRingingType(int) - ?SetCipheringIndicatorAllowed@TPhoneCmdParamIncallIndicatorData@@QAEXH@Z @ 295 NONAME ; void TPhoneCmdParamIncallIndicatorData::SetCipheringIndicatorAllowed(int) - ?NeedToEnableKeylock@CPhoneStorage@@UAEHXZ @ 296 NONAME ; int CPhoneStorage::NeedToEnableKeylock(void) - ?AudioOutput@TPhoneCmdParamAudioOutput@@QBE?AW4TPEAudioOutput@@XZ @ 297 NONAME ; enum TPEAudioOutput TPhoneCmdParamAudioOutput::AudioOutput(void) const - ?SetResourceId@TPhoneCmdParamProgressNote@@QAEXH@Z @ 298 NONAME ; void TPhoneCmdParamProgressNote::SetResourceId(int) - ??0TPhoneCmdParamInteger@@QAE@XZ @ 299 NONAME ; TPhoneCmdParamInteger::TPhoneCmdParamInteger(void) - ?SetType@TPhoneCmdParamTransEffect@@QAEXW4TPhoneTransEffectType@@@Z @ 300 NONAME ; void TPhoneCmdParamTransEffect::SetType(enum TPhoneTransEffectType) - ?Bitmap@TPhoneCmdParamBitmap@@QBEPAVCFbsBitmap@@XZ @ 301 NONAME ; class CFbsBitmap * TPhoneCmdParamBitmap::Bitmap(void) const - ?SetTone@TPhoneCmdParamGlobalNote@@QAEXH@Z @ 302 NONAME ; void TPhoneCmdParamGlobalNote::SetTone(int) - ?After@CPhoneTimer@@QAEXVTTimeIntervalMicroSeconds32@@VTCallBack@@@Z @ 303 NONAME ; void CPhoneTimer::After(class TTimeIntervalMicroSeconds32, class TCallBack) - ?SetNotificationDialog@TPhoneCmdParamGlobalNote@@QAEXH@Z @ 304 NONAME ; void TPhoneCmdParamGlobalNote::SetNotificationDialog(int) - ?NotificationDialog@TPhoneCmdParamGlobalNote@@QBEHXZ @ 305 NONAME ; int TPhoneCmdParamGlobalNote::NotificationDialog(void) const + ?SetCauseCode@TPhoneCmdParamGlobalNote@@QAEXH@Z @ 59 NONAME ; void TPhoneCmdParamGlobalNote::SetCauseCode(int) + ?ResourceId@TPhoneCmdParamProgressNote@@QBEHXZ @ 60 NONAME ; int TPhoneCmdParamProgressNote::ResourceId(void) const + ?CallId@TPhoneCmdParamCallStateData@@QBEHXZ @ 61 NONAME ; int TPhoneCmdParamCallStateData::CallId(void) const + ?NotifyChangeL@CPhoneCenRepProxy@@QAEXABVTUid@@IPAVMPhoneCenRepObserver@@@Z @ 62 NONAME ; void CPhoneCenRepProxy::NotifyChangeL(class TUid const &, unsigned int, class MPhoneCenRepObserver *) + ?SetResourceId@TPhoneCmdParamDynMenu@@QAEXH@Z @ 63 NONAME ; void TPhoneCmdParamDynMenu::SetResourceId(int) + ?Validate@CPhoneKeys@@SAHABVTDesC16@@@Z @ 64 NONAME ; int CPhoneKeys::Validate(class TDesC16 const &) + ??0TPhoneCmdParamKeyCapture@@QAE@XZ @ 65 NONAME ; TPhoneCmdParamKeyCapture::TPhoneCmdParamKeyCapture(void) + ?SetResourceId@TPhoneCmdParamNote@@QAEXH@Z @ 66 NONAME ; void TPhoneCmdParamNote::SetResourceId(int) + ?LogMsgFromPEToPhoneUI@CPhoneLogger@@QAEXHH@Z @ 67 NONAME ; void CPhoneLogger::LogMsgFromPEToPhoneUI(int, int) + ?SetNotificationDialog@TPhoneCmdParamGlobalNote@@QAEXH@Z @ 68 NONAME ; void TPhoneCmdParamGlobalNote::SetNotificationDialog(int) + ??0TPhoneCmdParamProgressNote@@QAE@XZ @ 69 NONAME ; TPhoneCmdParamProgressNote::TPhoneCmdParamProgressNote(void) + ?CallState@TPhoneCmdParamCallStateData@@QBEHXZ @ 70 NONAME ; int TPhoneCmdParamCallStateData::CallState(void) const + ?SetPointer@TPhoneCmdParamPointer@@QAEXPAX@Z @ 71 NONAME ; void TPhoneCmdParamPointer::SetPointer(void *) + ??1CPhoneCenRepProxy@@UAE@XZ @ 72 NONAME ; CPhoneCenRepProxy::~CPhoneCenRepProxy(void) + ?SetEventCode@TPhoneCmdParamKeyEvent@@QAEXW4TEventCode@@@Z @ 73 NONAME ; void TPhoneCmdParamKeyEvent::SetEventCode(enum TEventCode) + ?WaitTime@TPhoneCmdParamProgressNote@@QBE?AVTTimeIntervalMicroSeconds32@@XZ @ 74 NONAME ; class TTimeIntervalMicroSeconds32 TPhoneCmdParamProgressNote::WaitTime(void) const + ?SetParam@TPhoneCmdParamAppInfo@@QAEXABVTDesC8@@@Z @ 75 NONAME ; void TPhoneCmdParamAppInfo::SetParam(class TDesC8 const &) + ??0TPhoneCmdParamPointer@@QAE@XZ @ 76 NONAME ; TPhoneCmdParamPointer::TPhoneCmdParamPointer(void) + ??0TPhoneCmdParamGlobalNote@@QAE@XZ @ 77 NONAME ; TPhoneCmdParamGlobalNote::TPhoneCmdParamGlobalNote(void) + ?CallType@TPhoneCmdParamCallHeaderData@@QBEHXZ @ 78 NONAME ; int TPhoneCmdParamCallHeaderData::CallType(void) const + ?SetCiphering@TPhoneCmdParamEmergencyCallHeaderData@@QAEXH@Z @ 79 NONAME ; void TPhoneCmdParamEmergencyCallHeaderData::SetCiphering(int) + ?SetTone@TPhoneCmdParamNote@@QAEXW4TTone@CAknNoteDialog@@@Z @ 80 NONAME ; void TPhoneCmdParamNote::SetTone(enum CAknNoteDialog::TTone) + ?SetCustomCommandForTimeOut@TPhoneCmdParamQuery@@QAEXH@Z @ 81 NONAME ; void TPhoneCmdParamQuery::SetCustomCommandForTimeOut(int) + ?IsBTAccAvailable@TPhoneCmdParamAudioAvailability@@QBEHXZ @ 82 NONAME ; int TPhoneCmdParamAudioAvailability::IsBTAccAvailable(void) const + ?NewL@CPhoneStorage@@SAPAV1@XZ @ 83 NONAME ; class CPhoneStorage * CPhoneStorage::NewL(void) + ?CNAPTextClippingDirection@TPhoneCmdParamCallHeaderData@@QBE?AW4TPhoneTextClippingDirection@1@XZ @ 84 NONAME ; enum TPhoneCmdParamCallHeaderData::TPhoneTextClippingDirection TPhoneCmdParamCallHeaderData::CNAPTextClippingDirection(void) const + ?Timeout@TPhoneCmdParamNote@@QBE?AW4TTimeout@CAknNoteDialog@@XZ @ 85 NONAME ; enum CAknNoteDialog::TTimeout TPhoneCmdParamNote::Timeout(void) const + ?Instance@CPhoneRecoverySystem@@SAPAV1@XZ @ 86 NONAME ; class CPhoneRecoverySystem * CPhoneRecoverySystem::Instance(void) + ?CancelTimer@CPhoneTimer@@QAEXXZ @ 87 NONAME ; void CPhoneTimer::CancelTimer(void) + ?NewL@CPhoneTimer@@SAPAV1@H@Z @ 88 NONAME ; class CPhoneTimer * CPhoneTimer::NewL(int) + ?GetInt@CPhoneCenRepProxy@@QBEHABVTUid@@IAAH@Z @ 89 NONAME ; int CPhoneCenRepProxy::GetInt(class TUid const &, unsigned int, int &) const + ?SetTextToSay@TPhoneCmdParamRingTone@@QAEXABVTDesC16@@@Z @ 90 NONAME ; void TPhoneCmdParamRingTone::SetTextToSay(class TDesC16 const &) + ?SetCallState@TPhoneCmdParamCallHeaderData@@QAEXH@Z @ 91 NONAME ; void TPhoneCmdParamCallHeaderData::SetCallState(int) + ?ContentCba@TPhoneCmdParamQuery@@QBEHXZ @ 92 NONAME ; int TPhoneCmdParamQuery::ContentCba(void) const + ?SetTextResourceId@TPhoneCmdParamGlobalNote@@QAEXH@Z @ 93 NONAME ; void TPhoneCmdParamGlobalNote::SetTextResourceId(int) + ??0TPhoneCmdParamDynMenu@@QAE@XZ @ 94 NONAME ; TPhoneCmdParamDynMenu::TPhoneCmdParamDynMenu(void) + ?CancelAllNotifications@CPhonePubSubProxy@@SAXPAVMPhonePubSubObserver@@@Z @ 95 NONAME ; void CPhonePubSubProxy::CancelAllNotifications(class MPhonePubSubObserver *) + ??0TPhoneCommandParam@@QAE@XZ @ 96 NONAME ; TPhoneCommandParam::TPhoneCommandParam(void) + ?SetCLIText@TPhoneCmdParamCallHeaderData@@QAEXABVTDesC16@@W4TPhoneTextClippingDirection@1@@Z @ 97 NONAME ; void TPhoneCmdParamCallHeaderData::SetCLIText(class TDesC16 const &, enum TPhoneCmdParamCallHeaderData::TPhoneTextClippingDirection) + ??1CPhoneLogger@@UAE@XZ @ 98 NONAME ; CPhoneLogger::~CPhoneLogger(void) + ?Softkeys@TPhoneCmdParamGlobalNote@@QBEHXZ @ 99 NONAME ; int TPhoneCmdParamGlobalNote::Softkeys(void) const + ?SetCallState@TPhoneCmdParamCallStateData@@QAEXH@Z @ 100 NONAME ; void TPhoneCmdParamCallStateData::SetCallState(int) + ?CallerText@TPhoneCmdParamCallHeaderData@@QBEABVTDesC16@@XZ @ 101 NONAME ; class TDesC16 const & TPhoneCmdParamCallHeaderData::CallerText(void) const + ?Diverted@TPhoneCmdParamCallHeaderData@@QBEHXZ @ 102 NONAME ; int TPhoneCmdParamCallHeaderData::Diverted(void) const + ?String@TPhoneCmdParamString@@QAEPAVTPtr16@@XZ @ 103 NONAME ; class TPtr16 * TPhoneCmdParamString::String(void) + ?SetKey@TPhoneCmdParamKeyCapture@@QAEXW4TStdScanCode@@@Z @ 104 NONAME ; void TPhoneCmdParamKeyCapture::SetKey(enum TStdScanCode) + ?NotificationDialog@TPhoneCmdParamGlobalNote@@QBEHXZ @ 105 NONAME ; int TPhoneCmdParamGlobalNote::NotificationDialog(void) const + ?IsExtraChar@CPhoneKeys@@SAHH@Z @ 106 NONAME ; int CPhoneKeys::IsExtraChar(int) + ?SetDynMenu@TPhoneCmdParamDynMenu@@QAEXPAX@Z @ 107 NONAME ; void TPhoneCmdParamDynMenu::SetDynMenu(void *) + ?IsSecondHashKey@CPhoneKeys@@SAHABVTDes16@@@Z @ 108 NONAME ; int CPhoneKeys::IsSecondHashKey(class TDes16 const &) + ?SetCallerImageStatus@TPhoneCmdParamRingTone@@QAEXH@Z @ 109 NONAME ; void TPhoneCmdParamRingTone::SetCallerImageStatus(int) + ?SetTimeout@TPhoneCmdParamGlobalNote@@QAEXH@Z @ 110 NONAME ; void TPhoneCmdParamGlobalNote::SetTimeout(int) + ?GetReal@CPhoneCenRepProxy@@QBEHABVTUid@@IAAN@Z @ 111 NONAME ; int CPhoneCenRepProxy::GetReal(class TUid const &, unsigned int, double &) const + ?SetShortLabelText@TPhoneCmdParamCallHeaderData@@QAEXABVTDesC16@@@Z @ 112 NONAME ; void TPhoneCmdParamCallHeaderData::SetShortLabelText(class TDesC16 const &) + ?SetDialerController@TPhoneCmdParamCustomDialer@@QAEXPAVMPhoneDialerController@@@Z @ 113 NONAME ; void TPhoneCmdParamCustomDialer::SetDialerController(class MPhoneDialerController *) + ?RingTone@TPhoneCmdParamRingTone@@QBEABVTDesC16@@XZ @ 114 NONAME ; class TDesC16 const & TPhoneCmdParamRingTone::RingTone(void) const + ?TimeOut@TPhoneCmdParamQuery@@QBEHXZ @ 115 NONAME ; int TPhoneCmdParamQuery::TimeOut(void) const + ?ShortLabelText@TPhoneCmdParamCallHeaderData@@QBEABVTDesC16@@XZ @ 116 NONAME ; class TDesC16 const & TPhoneCmdParamCallHeaderData::ShortLabelText(void) const + ?SetInteger@TPhoneCmdParamInteger@@QAEXH@Z @ 117 NONAME ; void TPhoneCmdParamInteger::SetInteger(int) + ?SetMaskBitmap@TPhoneCmdParamBitmap@@QAEXPAVCFbsBitmap@@@Z @ 118 NONAME ; void TPhoneCmdParamBitmap::SetMaskBitmap(class CFbsBitmap *) + ?SetTimeout@TPhoneCmdParamNote@@QAEXW4TTimeout@CAknNoteDialog@@@Z @ 119 NONAME ; void TPhoneCmdParamNote::SetTimeout(enum CAknNoteDialog::TTimeout) + ?IsBlockedKeysListEmpty@CPhoneStorage@@UAEHXZ @ 120 NONAME ; int CPhoneStorage::IsBlockedKeysListEmpty(void) + ?SetCustomMessage@TPhoneCmdParamAppInfo@@QAEXABVTDesC8@@@Z @ 121 NONAME ; void TPhoneCmdParamAppInfo::SetCustomMessage(class TDesC8 const &) + ?BaseConstructL@CPhoneResourceResolverBase@@QAEXXZ @ 122 NONAME ; void CPhoneResourceResolverBase::BaseConstructL(void) + ?SetTextResourceId@TPhoneCmdParamNote@@QAEXH@Z @ 123 NONAME ; void TPhoneCmdParamNote::SetTextResourceId(int) + ?SetString@TPhoneCmdParamString@@QAEXPAVTPtr16@@@Z @ 124 NONAME ; void TPhoneCmdParamString::SetString(class TPtr16 *) + ?SetAppUid@TPhoneCmdParamAppInfo@@QAEXABVTUid@@@Z @ 125 NONAME ; void TPhoneCmdParamAppInfo::SetAppUid(class TUid const &) + ?SetBTAccAvailable@TPhoneCmdParamAudioAvailability@@QAEXH@Z @ 126 NONAME ; void TPhoneCmdParamAudioAvailability::SetBTAccAvailable(int) + ?IsTelephonyFeatureSupported@CPhoneCenRepProxy@@QAEHH@Z @ 127 NONAME ; int CPhoneCenRepProxy::IsTelephonyFeatureSupported(int) + ?CallImageThemeFilePath@CPhoneCallThemeMonitor@@QBE?AVTPtrC16@@XZ @ 128 NONAME ; class TPtrC16 CPhoneCallThemeMonitor::CallImageThemeFilePath(void) const + ?HasThumbnail@TPhoneCmdParamCallHeaderData@@QBEHXZ @ 129 NONAME ; int TPhoneCmdParamCallHeaderData::HasThumbnail(void) const + ?ClearBlackListNow@CPhoneClearBlacklist@@QAEXXZ @ 130 NONAME ; void CPhoneClearBlacklist::ClearBlackListNow(void) + ?SetCipheringIndicatorAllowed@TPhoneCmdParamEmergencyCallHeaderData@@QAEXH@Z @ 131 NONAME ; void TPhoneCmdParamEmergencyCallHeaderData::SetCipheringIndicatorAllowed(int) + ?SetCommandParamId@TPhoneCmdParamQuery@@QAEXW4TPhoneParamId@TPhoneCommandParam@@@Z @ 132 NONAME ; void TPhoneCmdParamQuery::SetCommandParamId(enum TPhoneCommandParam::TPhoneParamId) + ??0TPhoneCmdParamEmergencyCallHeaderData@@QAE@XZ @ 133 NONAME ; TPhoneCmdParamEmergencyCallHeaderData::TPhoneCmdParamEmergencyCallHeaderData(void) + ?After@CPhoneTimer@@QAEXVTTimeIntervalMicroSeconds32@@PAVMPhoneTimer@@@Z @ 134 NONAME ; void CPhoneTimer::After(class TTimeIntervalMicroSeconds32, class MPhoneTimer *) + ?NewL@CPhoneLibraryContainer@@SAPAV1@XZ @ 135 NONAME ; class CPhoneLibraryContainer * CPhoneLibraryContainer::NewL(void) + ?CreateL@CPhoneClearBlacklist@@SAPAV1@AAVRWsSession@@ABVRWindowBase@@@Z @ 136 NONAME ; class CPhoneClearBlacklist * CPhoneClearBlacklist::CreateL(class RWsSession &, class RWindowBase const &) + ??1CPhoneStorage@@UAE@XZ @ 137 NONAME ; CPhoneStorage::~CPhoneStorage(void) + ?SetVolume@TPhoneCmdParamRingTone@@QAEXH@Z @ 138 NONAME ; void TPhoneCmdParamRingTone::SetVolume(int) + ??0TPhoneCmdParamString@@QAE@XZ @ 139 NONAME ; TPhoneCmdParamString::TPhoneCmdParamString(void) + ?SetContactLink@TPhoneCmdParamCallHeaderData@@QAEXABVTDesC8@@@Z @ 140 NONAME ; void TPhoneCmdParamCallHeaderData::SetContactLink(class TDesC8 const &) + ??4TPhoneCmdParamQuery@@QAEAAV0@ABV0@@Z @ 141 NONAME ; class TPhoneCmdParamQuery & TPhoneCmdParamQuery::operator=(class TPhoneCmdParamQuery const &) + ??0TPhoneCmdParamAudioAvailability@@QAE@XZ @ 142 NONAME ; TPhoneCmdParamAudioAvailability::TPhoneCmdParamAudioAvailability(void) + ?GetBlockedKeyList@CPhoneStorage@@UBEABV?$RArray@H@@XZ @ 143 NONAME ; class RArray const & CPhoneStorage::GetBlockedKeyList(void) const + ?Timeout@TPhoneCmdParamGlobalNote@@QBEHXZ @ 144 NONAME ; int TPhoneCmdParamGlobalNote::Timeout(void) const + ??0TPhoneCmdParamRingTone@@QAE@XZ @ 145 NONAME ; TPhoneCmdParamRingTone::TPhoneCmdParamRingTone(void) + ?Observer@TPhoneCmdParamNumberEntryObserver@@QAE?AVTCallBack@@XZ @ 146 NONAME ; class TCallBack TPhoneCmdParamNumberEntryObserver::Observer(void) + ?SetSoftkeys@TPhoneCmdParamGlobalNote@@QAEXH@Z @ 147 NONAME ; void TPhoneCmdParamGlobalNote::SetSoftkeys(int) + ??0CPhoneResourceResolverBase@@IAE@XZ @ 148 NONAME ; CPhoneResourceResolverBase::CPhoneResourceResolverBase(void) + ?SetCallId@TPhoneCmdParamCallStateData@@QAEXH@Z @ 149 NONAME ; void TPhoneCmdParamCallStateData::SetCallId(int) + ?MultipleInstances@TPhoneCmdParamAppInfo@@QBEHXZ @ 150 NONAME ; int TPhoneCmdParamAppInfo::MultipleInstances(void) const + ?ItemTextArrayForListQuery@TPhoneCmdParamQuery@@QBEPAVMDesC16Array@@XZ @ 151 NONAME ; class MDesC16Array * TPhoneCmdParamQuery::ItemTextArrayForListQuery(void) const + ?SetHeaderText@TPhoneCmdParamEmergencyCallHeaderData@@QAEXABVTDesC16@@@Z @ 152 NONAME ; void TPhoneCmdParamEmergencyCallHeaderData::SetHeaderText(class TDesC16 const &) + ?SetContentCba@TPhoneCmdParamQuery@@QAEXH@Z @ 153 NONAME ; void TPhoneCmdParamQuery::SetContentCba(int) + ?CaptureType@TPhoneCmdParamKeyCapture@@QBE?AW4TPhoneCaptureType@@XZ @ 154 NONAME ; enum TPhoneCaptureType TPhoneCmdParamKeyCapture::CaptureType(void) const + ?SetQueryResourceId@TPhoneCmdParamQuery@@QAEXH@Z @ 155 NONAME ; void TPhoneCmdParamQuery::SetQueryResourceId(int) + ?CancelNotify@CPhoneCenRepProxy@@QAEXPAVMPhoneCenRepObserver@@I@Z @ 156 NONAME ; void CPhoneCenRepProxy::CancelNotify(class MPhoneCenRepObserver *, unsigned int) + ?Param@TPhoneCmdParamAppInfo@@QBEABVTDesC8@@XZ @ 157 NONAME ; class TDesC8 const & TPhoneCmdParamAppInfo::Param(void) const + ??0CPhoneMethodLogger@@QAE@W4TPhoneUILoggingComponent@@VTPtrC16@@@Z @ 158 NONAME ; CPhoneMethodLogger::CPhoneMethodLogger(enum TPhoneUILoggingComponent, class TPtrC16) + ?IsDtmfTone@CPhoneKeys@@SAHABUTKeyEvent@@W4TEventCode@@@Z @ 159 NONAME ; int CPhoneKeys::IsDtmfTone(struct TKeyEvent const &, enum TEventCode) + ?SetMode@TPhoneCmdParamIncallIndicatorData@@QAEXH@Z @ 160 NONAME ; void TPhoneCmdParamIncallIndicatorData::SetMode(int) + ?NewL@CPhoneCallThemeMonitor@@SAPAV1@XZ @ 161 NONAME ; class CPhoneCallThemeMonitor * CPhoneCallThemeMonitor::NewL(void) + ?SendKeyEnabled@TPhoneCmdParamQuery@@QBEHXZ @ 162 NONAME ; int TPhoneCmdParamQuery::SendKeyEnabled(void) const + ?SetNeedToEnableKeylock@CPhoneStorage@@UAEXH@Z @ 163 NONAME ; void CPhoneStorage::SetNeedToEnableKeylock(int) + ?Find@CPhoneCenRepProxy@@QBEHABVTUid@@KKAAV?$RArray@K@@@Z @ 164 NONAME ; int CPhoneCenRepProxy::Find(class TUid const &, unsigned long, unsigned long, class RArray &) const + ?SetLabelText@TPhoneCmdParamCallHeaderData@@QAEXABVTDesC16@@@Z @ 165 NONAME ; void TPhoneCmdParamCallHeaderData::SetLabelText(class TDesC16 const &) + ?CNAPText@TPhoneCmdParamCallHeaderData@@QBEABVTDesC16@@XZ @ 166 NONAME ; class TDesC16 const & TPhoneCmdParamCallHeaderData::CNAPText(void) const + ?SetOwnPhoneNumberText@TPhoneCmdParamEmergencyCallHeaderData@@QAEXABVTDesC16@@@Z @ 167 NONAME ; void TPhoneCmdParamEmergencyCallHeaderData::SetOwnPhoneNumberText(class TDesC16 const &) + ?Emergency@TPhoneCmdParamIncallIndicatorData@@QBEHXZ @ 168 NONAME ; int TPhoneCmdParamIncallIndicatorData::Emergency(void) const + ?AppUid@TPhoneCmdParamAppInfo@@QBE?AVTUid@@XZ @ 169 NONAME ; class TUid TPhoneCmdParamAppInfo::AppUid(void) const + ?CustomMessage@TPhoneCmdParamAppInfo@@QBEABVTDesC8@@XZ @ 170 NONAME ; class TDesC8 const & TPhoneCmdParamAppInfo::CustomMessage(void) const + ?QueryResourceId@TPhoneCmdParamQuery@@QBEHXZ @ 171 NONAME ; int TPhoneCmdParamQuery::QueryResourceId(void) const + ?NotifyChangeL@CPhonePubSubProxy@@QAEXABVTUid@@IPAVMPhonePubSubObserver@@@Z @ 172 NONAME ; void CPhonePubSubProxy::NotifyChangeL(class TUid const &, unsigned int, class MPhonePubSubObserver *) + ?SetRingTone@TPhoneCmdParamRingTone@@QAEXABVTDesC16@@@Z @ 173 NONAME ; void TPhoneCmdParamRingTone::SetRingTone(class TDesC16 const &) + ?AppendBlockedKeysListL@CPhoneStorage@@UAEXW4TStdScanCode@@@Z @ 174 NONAME ; void CPhoneStorage::AppendBlockedKeysListL(enum TStdScanCode) + ?SetEmergency@TPhoneCmdParamIncallIndicatorData@@QAEXH@Z @ 175 NONAME ; void TPhoneCmdParamIncallIndicatorData::SetEmergency(int) + ?SetDefaultCba@TPhoneCmdParamQuery@@QAEXH@Z @ 176 NONAME ; void TPhoneCmdParamQuery::SetDefaultCba(int) + ?Type@TPhoneCmdParamTransEffect@@QBE?AW4TPhoneTransEffectType@@XZ @ 177 NONAME ; enum TPhoneTransEffectType TPhoneCmdParamTransEffect::Type(void) const + ??0TPhoneCmdParamSfiData@@QAE@XZ @ 178 NONAME ; TPhoneCmdParamSfiData::TPhoneCmdParamSfiData(void) + ??0TPhoneCmdParamCallHeaderData@@QAE@XZ @ 179 NONAME ; TPhoneCmdParamCallHeaderData::TPhoneCmdParamCallHeaderData(void) + ??1CPhoneClearBlacklist@@UAE@XZ @ 180 NONAME ; CPhoneClearBlacklist::~CPhoneClearBlacklist(void) + ?SetMute@TPhoneCmdParamIncallIndicatorData@@QAEXH@Z @ 181 NONAME ; void TPhoneCmdParamIncallIndicatorData::SetMute(int) + ?KeyCode@TPhoneCmdParamKeyCapture@@QBE?AW4TKeyCode@@XZ @ 182 NONAME ; enum TKeyCode TPhoneCmdParamKeyCapture::KeyCode(void) const + ?IsNumberKey@CPhoneKeys@@SAHABUTKeyEvent@@W4TEventCode@@@Z @ 183 NONAME ; int CPhoneKeys::IsNumberKey(struct TKeyEvent const &, enum TEventCode) + ?TextResourceId@TPhoneCmdParamGlobalNote@@QBEHXZ @ 184 NONAME ; int TPhoneCmdParamGlobalNote::TextResourceId(void) const + ?SetCiphering@TPhoneCmdParamCallHeaderData@@QAEXH@Z @ 185 NONAME ; void TPhoneCmdParamCallHeaderData::SetCiphering(int) + ?EnablePreconditionL@CPhoneRecoverySystem@@QAEXXZ @ 186 NONAME ; void CPhoneRecoverySystem::EnablePreconditionL(void) + ?AddL@CPhoneRecoverySystem@@QAEHVTCallBack@@CW4TRecoveryState@CTeleRecoverySystem@@@Z @ 187 NONAME ; int CPhoneRecoverySystem::AddL(class TCallBack, signed char, enum CTeleRecoverySystem::TRecoveryState) + ?SetLine2@TPhoneCmdParamIncallIndicatorData@@QAEXH@Z @ 188 NONAME ; void TPhoneCmdParamIncallIndicatorData::SetLine2(int) + ?SetAudioOutput@TPhoneCmdParamAudioOutput@@QAEXW4TPEAudioOutput@@@Z @ 189 NONAME ; void TPhoneCmdParamAudioOutput::SetAudioOutput(enum TPEAudioOutput) + ?HeaderText@TPhoneCmdParamEmergencyCallHeaderData@@QBEABVTDesC16@@XZ @ 190 NONAME ; class TDesC16 const & TPhoneCmdParamEmergencyCallHeaderData::HeaderText(void) const + ?CallImageThemeSettings@CPhoneCallThemeMonitor@@QBEHXZ @ 191 NONAME ; int CPhoneCallThemeMonitor::CallImageThemeSettings(void) const + ??0TPhoneCmdParamTransEffect@@QAE@XZ @ 192 NONAME ; TPhoneCmdParamTransEffect::TPhoneCmdParamTransEffect(void) + ?Number@TPhoneCmdParamSfiData@@QBEABVTDesC16@@XZ @ 193 NONAME ; class TDesC16 const & TPhoneCmdParamSfiData::Number(void) const + ?OwnPhoneNumberText@TPhoneCmdParamEmergencyCallHeaderData@@QBEABVTDesC16@@XZ @ 194 NONAME ; class TDesC16 const & TPhoneCmdParamEmergencyCallHeaderData::OwnPhoneNumberText(void) const + ?CauseCode@TPhoneCmdParamGlobalNote@@QBEHXZ @ 195 NONAME ; int TPhoneCmdParamGlobalNote::CauseCode(void) const + ?QueryPrompt@TPhoneCmdParamQuery@@QBEABVTDesC16@@XZ @ 196 NONAME ; class TDesC16 const & TPhoneCmdParamQuery::QueryPrompt(void) const + ?SetQueryPrompt@TPhoneCmdParamQuery@@QAEXABVTDesC16@@@Z @ 197 NONAME ; void TPhoneCmdParamQuery::SetQueryPrompt(class TDesC16 const &) + ?IsNumericKey@CPhoneKeys@@SAHABUTKeyEvent@@W4TEventCode@@@Z @ 198 NONAME ; int CPhoneKeys::IsNumericKey(struct TKeyEvent const &, enum TEventCode) + ?SetCaptureType@TPhoneCmdParamKeyCapture@@QAEXW4TPhoneCaptureType@@@Z @ 199 NONAME ; void TPhoneCmdParamKeyCapture::SetCaptureType(enum TPhoneCaptureType) + ?ViewUid@TPhoneCmdParamAppInfo@@QBE?AVTUid@@XZ @ 200 NONAME ; class TUid TPhoneCmdParamAppInfo::ViewUid(void) const + ?SetLabelText@TPhoneCmdParamEmergencyCallHeaderData@@QAEXABVTDesC16@@@Z @ 201 NONAME ; void TPhoneCmdParamEmergencyCallHeaderData::SetLabelText(class TDesC16 const &) + ?IsCallerText@TPhoneCmdParamRingTone@@QAEHXZ @ 202 NONAME ; int TPhoneCmdParamRingTone::IsCallerText(void) + ?SetBitmap@TPhoneCmdParamBitmap@@QAEXPAVCFbsBitmap@@@Z @ 203 NONAME ; void TPhoneCmdParamBitmap::SetBitmap(class CFbsBitmap *) + ?SetNumber@TPhoneCmdParamSfiData@@QAEXABVTDesC16@@@Z @ 204 NONAME ; void TPhoneCmdParamSfiData::SetNumber(class TDesC16 const &) + ?CipheringIndicatorAllowed@TPhoneCmdParamCallHeaderData@@QBEHXZ @ 205 NONAME ; int TPhoneCmdParamCallHeaderData::CipheringIndicatorAllowed(void) const + ?Name@TPhoneCmdParamSfiData@@QBEABVTDesC16@@XZ @ 206 NONAME ; class TDesC16 const & TPhoneCmdParamSfiData::Name(void) const + ??0TPhoneCmdParamQuery@@QAE@ABV0@@Z @ 207 NONAME ; TPhoneCmdParamQuery::TPhoneCmdParamQuery(class TPhoneCmdParamQuery const &) + ?CallState@TPhoneCmdParamCallHeaderData@@QBEHXZ @ 208 NONAME ; int TPhoneCmdParamCallHeaderData::CallState(void) const + ??0TPhoneCmdParamIncallIndicatorData@@QAE@XZ @ 209 NONAME ; TPhoneCmdParamIncallIndicatorData::TPhoneCmdParamIncallIndicatorData(void) + ?Picture@TPhoneCmdParamCallHeaderData@@QBEABVTDesC16@@XZ @ 210 NONAME ; class TDesC16 const & TPhoneCmdParamCallHeaderData::Picture(void) const + ?SetCallThemeSettingsObserver@CPhoneCallThemeMonitor@@QAEXPAVMPhoneCallThemeSettingsObserver@@@Z @ 211 NONAME ; void CPhoneCallThemeMonitor::SetCallThemeSettingsObserver(class MPhoneCallThemeSettingsObserver *) + ?SetDiverted@TPhoneCmdParamCallHeaderData@@QAEXH@Z @ 212 NONAME ; void TPhoneCmdParamCallHeaderData::SetDiverted(int) + ?ServiceId@TPhoneCmdParamCallHeaderData@@QBEKXZ @ 213 NONAME ; unsigned long TPhoneCmdParamCallHeaderData::ServiceId(void) const + ?LabelText@TPhoneCmdParamCallHeaderData@@QBEABVTDesC16@@XZ @ 214 NONAME ; class TDesC16 const & TPhoneCmdParamCallHeaderData::LabelText(void) const + ?Overflow@CPhoneLogger@@EAEXAAVTDes16@@@Z @ 215 NONAME ; void CPhoneLogger::Overflow(class TDes16 &) + ?SetCNAPText@TPhoneCmdParamCallHeaderData@@QAEXABVTDesC16@@W4TPhoneTextClippingDirection@1@@Z @ 216 NONAME ; void TPhoneCmdParamCallHeaderData::SetCNAPText(class TDesC16 const &, enum TPhoneCmdParamCallHeaderData::TPhoneTextClippingDirection) + ?SetKeyEvent@TPhoneCmdParamKeyEvent@@QAEXABUTKeyEvent@@@Z @ 217 NONAME ; void TPhoneCmdParamKeyEvent::SetKeyEvent(struct TKeyEvent const &) + ?Instance@CPhonePubSubProxy@@SAPAV1@XZ @ 218 NONAME ; class CPhonePubSubProxy * CPhonePubSubProxy::Instance(void) + ?ResourceId@TPhoneCmdParamNote@@QBEHXZ @ 219 NONAME ; int TPhoneCmdParamNote::ResourceId(void) const + ?CipheringIndicatorAllowed@TPhoneCmdParamEmergencyCallHeaderData@@QBEHXZ @ 220 NONAME ; int TPhoneCmdParamEmergencyCallHeaderData::CipheringIndicatorAllowed(void) const + ?CancelAllNotifies@CPhoneCenRepProxy@@SAXPAVMPhoneCenRepObserver@@@Z @ 221 NONAME ; void CPhoneCenRepProxy::CancelAllNotifies(class MPhoneCenRepObserver *) + ?TextResourceId@TPhoneCmdParamNote@@QBEHXZ @ 222 NONAME ; int TPhoneCmdParamNote::TextResourceId(void) const + ?SetRemotePhoneNumber@TPhoneCmdParamCallHeaderData@@QAEXABVTDesC16@@@Z @ 223 NONAME ; void TPhoneCmdParamCallHeaderData::SetRemotePhoneNumber(class TDesC16 const &) + ?CipheringIndicatorAllowed@TPhoneCmdParamIncallIndicatorData@@QBEHXZ @ 224 NONAME ; int TPhoneCmdParamIncallIndicatorData::CipheringIndicatorAllowed(void) const + ??0TPhoneCmdParamCallStateData@@QAE@XZ @ 225 NONAME ; TPhoneCmdParamCallStateData::TPhoneCmdParamCallStateData(void) + ?SetKeyCode@TPhoneCmdParamKeyCapture@@QAEXW4TKeyCode@@@Z @ 226 NONAME ; void TPhoneCmdParamKeyCapture::SetKeyCode(enum TKeyCode) + ?SetScreenLocked@CPhoneStorage@@UAEXH@Z @ 227 NONAME ; void CPhoneStorage::SetScreenLocked(int) + ?CustomMessageId@TPhoneCmdParamAppInfo@@QBE?AVTUid@@XZ @ 228 NONAME ; class TUid TPhoneCmdParamAppInfo::CustomMessageId(void) const + ?RemotePhoneNumber@TPhoneCmdParamCallHeaderData@@QBEABVTDesC16@@XZ @ 229 NONAME ; class TDesC16 const & TPhoneCmdParamCallHeaderData::RemotePhoneNumber(void) const + ?SetType@TPhoneCmdParamNote@@QAEXW4TPhoneNoteType@@@Z @ 230 NONAME ; void TPhoneCmdParamNote::SetType(enum TPhoneNoteType) + ?Instance@CPhoneClearBlacklist@@SAPAV1@XZ @ 231 NONAME ; class CPhoneClearBlacklist * CPhoneClearBlacklist::Instance(void) + ?TextToSay@TPhoneCmdParamRingTone@@QBEABVTDesC16@@XZ @ 232 NONAME ; class TDesC16 const & TPhoneCmdParamRingTone::TextToSay(void) const + ?Type@TPhoneCmdParamNote@@QBE?AW4TPhoneNoteType@@XZ @ 233 NONAME ; enum TPhoneNoteType TPhoneCmdParamNote::Type(void) const + ?SetPicture@TPhoneCmdParamCallHeaderData@@QAEXABVTDesC16@@@Z @ 234 NONAME ; void TPhoneCmdParamCallHeaderData::SetPicture(class TDesC16 const &) + ?Integer@TPhoneCmdParamInteger@@QBEHXZ @ 235 NONAME ; int TPhoneCmdParamInteger::Integer(void) const + ?Mode@TPhoneCmdParamIncallIndicatorData@@QBEHXZ @ 236 NONAME ; int TPhoneCmdParamIncallIndicatorData::Mode(void) const + ?SetText@TPhoneCmdParamNote@@QAEXABVTDesC16@@@Z @ 237 NONAME ; void TPhoneCmdParamNote::SetText(class TDesC16 const &) + ?SetCallerTextStatus@TPhoneCmdParamRingTone@@QAEXH@Z @ 238 NONAME ; void TPhoneCmdParamRingTone::SetCallerTextStatus(int) + ?IsWiredAccAvailable@TPhoneCmdParamAudioAvailability@@QBEHXZ @ 239 NONAME ; int TPhoneCmdParamAudioAvailability::IsWiredAccAvailable(void) const + ?SetWaitForReady@TPhoneCmdParamGlobalNote@@QAEXH@Z @ 240 NONAME ; void TPhoneCmdParamGlobalNote::SetWaitForReady(int) + ??0TPhoneCmdParamBoolean@@QAE@XZ @ 241 NONAME ; TPhoneCmdParamBoolean::TPhoneCmdParamBoolean(void) + ?QueryCommandObserver@TPhoneCmdParamQuery@@QAEPAVMPhoneQueryCommandObserver@@XZ @ 242 NONAME ; class MPhoneQueryCommandObserver * TPhoneCmdParamQuery::QueryCommandObserver(void) + ?DataText@TPhoneCmdParamQuery@@QBEPAVTDes16@@XZ @ 243 NONAME ; class TDes16 * TPhoneCmdParamQuery::DataText(void) const + ?SetReal@CPhoneCenRepProxy@@QAEHABVTUid@@IN@Z @ 244 NONAME ; int CPhoneCenRepProxy::SetReal(class TUid const &, unsigned int, double) + ??0TPhoneCmdParamCustomDialer@@QAE@XZ @ 245 NONAME ; TPhoneCmdParamCustomDialer::TPhoneCmdParamCustomDialer(void) + ??1CPhonePubSubProxy@@UAE@XZ @ 246 NONAME ; CPhonePubSubProxy::~CPhonePubSubProxy(void) + ??0TPhoneCmdParamNote@@QAE@XZ @ 247 NONAME ; TPhoneCmdParamNote::TPhoneCmdParamNote(void) + ?Volume@TPhoneCmdParamRingTone@@QBEHXZ @ 248 NONAME ; int TPhoneCmdParamRingTone::Volume(void) const + ?SetItemTextArrayForListQuery@TPhoneCmdParamQuery@@QAEXAAVMDesC16Array@@@Z @ 249 NONAME ; void TPhoneCmdParamQuery::SetItemTextArrayForListQuery(class MDesC16Array &) + ?Type@TPhoneCmdParamRingTone@@QBE?AW4TPhoneRingToneType@@XZ @ 250 NONAME ; enum TPhoneRingToneType TPhoneCmdParamRingTone::Type(void) const + ?Key@TPhoneCmdParamKeyCapture@@QBE?AW4TStdScanCode@@XZ @ 251 NONAME ; enum TStdScanCode TPhoneCmdParamKeyCapture::Key(void) const + ?LabelText@TPhoneCmdParamEmergencyCallHeaderData@@QBEABVTDesC16@@XZ @ 252 NONAME ; class TDesC16 const & TPhoneCmdParamEmergencyCallHeaderData::LabelText(void) const + ?Ciphering@TPhoneCmdParamIncallIndicatorData@@QBEHXZ @ 253 NONAME ; int TPhoneCmdParamIncallIndicatorData::Ciphering(void) const + ?SetQueryCommandObserver@TPhoneCmdParamQuery@@QAEXAAVMPhoneQueryCommandObserver@@@Z @ 254 NONAME ; void TPhoneCmdParamQuery::SetQueryCommandObserver(class MPhoneQueryCommandObserver &) + ?IsPhoneUIFeatureSupported@CPhoneCenRepProxy@@QAEHH@Z @ 255 NONAME ; int CPhoneCenRepProxy::IsPhoneUIFeatureSupported(int) + ?DefaultCba@TPhoneCmdParamQuery@@QBEHXZ @ 256 NONAME ; int TPhoneCmdParamQuery::DefaultCba(void) const + ?CallState@TPhoneCmdParamIncallIndicatorData@@QBEHXZ @ 257 NONAME ; int TPhoneCmdParamIncallIndicatorData::CallState(void) const + ??0TPhoneCmdParamNumberEntryObserver@@QAE@XZ @ 258 NONAME ; TPhoneCmdParamNumberEntryObserver::TPhoneCmdParamNumberEntryObserver(void) + ?SetLine2@TPhoneCmdParamCallHeaderData@@QAEXH@Z @ 259 NONAME ; void TPhoneCmdParamCallHeaderData::SetLine2(int) + ?FetchValuesFromCenRepL@CPhoneCenRepProxy@@QAEXAAVTPhoneCmdParamAppInfo@@W4TKeyCode@@PAVHBufC8@@AAH@Z @ 260 NONAME ; void CPhoneCenRepProxy::FetchValuesFromCenRepL(class TPhoneCmdParamAppInfo &, enum TKeyCode, class HBufC8 *, int &) + ?ParticipantCLI@TPhoneCmdParamCallHeaderData@@QBE?AW4TPhoneParticipantListCLI@1@XZ @ 261 NONAME ; enum TPhoneCmdParamCallHeaderData::TPhoneParticipantListCLI TPhoneCmdParamCallHeaderData::ParticipantCLI(void) const + ?Thumbnail@TPhoneCmdParamCallHeaderData@@QBEPAVCFbsBitmap@@XZ @ 262 NONAME ; class CFbsBitmap * TPhoneCmdParamCallHeaderData::Thumbnail(void) const + ?SetTimeOut@TPhoneCmdParamQuery@@QAEXH@Z @ 263 NONAME ; void TPhoneCmdParamQuery::SetTimeOut(int) + ?Boolean@TPhoneCmdParamBoolean@@QBEHXZ @ 264 NONAME ; int TPhoneCmdParamBoolean::Boolean(void) const + ?CLITextClippingDirection@TPhoneCmdParamCallHeaderData@@QBE?AW4TPhoneTextClippingDirection@1@XZ @ 265 NONAME ; enum TPhoneCmdParamCallHeaderData::TPhoneTextClippingDirection TPhoneCmdParamCallHeaderData::CLITextClippingDirection(void) const + ?LogMsgFromPhoneUIToPE@CPhoneLogger@@QAEXHH@Z @ 266 NONAME ; void CPhoneLogger::LogMsgFromPhoneUIToPE(int, int) + ?SetCustomMessageId@TPhoneCmdParamAppInfo@@QAEXABVTUid@@@Z @ 267 NONAME ; void TPhoneCmdParamAppInfo::SetCustomMessageId(class TUid const &) + ?ResolveResourceID@CPhoneResourceResolverBase@@UBEHABH@Z @ 268 NONAME ; int CPhoneResourceResolverBase::ResolveResourceID(int const &) const + ?SetName@TPhoneCmdParamSfiData@@QAEXABVTDesC16@@@Z @ 269 NONAME ; void TPhoneCmdParamSfiData::SetName(class TDesC16 const &) + ?SetType@TPhoneCmdParamGlobalNote@@QAEXW4TAknGlobalNoteType@@@Z @ 270 NONAME ; void TPhoneCmdParamGlobalNote::SetType(enum TAknGlobalNoteType) + ?SetLittleBubbleVisible@TPhoneCmdParamIncallIndicatorData@@QAEXH@Z @ 271 NONAME ; void TPhoneCmdParamIncallIndicatorData::SetLittleBubbleVisible(int) + ?Ciphering@TPhoneCmdParamCallHeaderData@@QBEHXZ @ 272 NONAME ; int TPhoneCmdParamCallHeaderData::Ciphering(void) const + ?SetType@TPhoneCmdParamRingTone@@QAEXW4TPhoneRingToneType@@@Z @ 273 NONAME ; void TPhoneCmdParamRingTone::SetType(enum TPhoneRingToneType) + ?ResourceId@TPhoneCmdParamDynMenu@@QBEHXZ @ 274 NONAME ; int TPhoneCmdParamDynMenu::ResourceId(void) const + ?SetCipheringIndicatorAllowed@TPhoneCmdParamCallHeaderData@@QAEXH@Z @ 275 NONAME ; void TPhoneCmdParamCallHeaderData::SetCipheringIndicatorAllowed(int) + ?SetWaitTime@TPhoneCmdParamProgressNote@@QAEXVTTimeIntervalMicroSeconds32@@@Z @ 276 NONAME ; void TPhoneCmdParamProgressNote::SetWaitTime(class TTimeIntervalMicroSeconds32) + ?Ciphering@TPhoneCmdParamEmergencyCallHeaderData@@QBEHXZ @ 277 NONAME ; int TPhoneCmdParamEmergencyCallHeaderData::Ciphering(void) const + ??1CPhoneCallThemeMonitor@@UAE@XZ @ 278 NONAME ; CPhoneCallThemeMonitor::~CPhoneCallThemeMonitor(void) + ?SetNumberType@TPhoneCmdParamCallHeaderData@@QAEXH@Z @ 279 NONAME ; void TPhoneCmdParamCallHeaderData::SetNumberType(int) + ?Mute@TPhoneCmdParamIncallIndicatorData@@QBEHXZ @ 280 NONAME ; int TPhoneCmdParamIncallIndicatorData::Mute(void) const + ?SetBoolean@TPhoneCmdParamBoolean@@QAEXH@Z @ 281 NONAME ; void TPhoneCmdParamBoolean::SetBoolean(int) + ?IsTelephonyFeatureSupported@CPhoneResourceResolverBase@@MBEHH@Z @ 282 NONAME ; int CPhoneResourceResolverBase::IsTelephonyFeatureSupported(int) const + ?Instance@CPhoneMainErrorMessagesHandler@@SAPAV1@XZ @ 283 NONAME ; class CPhoneMainErrorMessagesHandler * CPhoneMainErrorMessagesHandler::Instance(void) + ?SetViewUid@TPhoneCmdParamAppInfo@@QAEXABVTUid@@@Z @ 284 NONAME ; void TPhoneCmdParamAppInfo::SetViewUid(class TUid const &) + ?SetServiceId@TPhoneCmdParamCallHeaderData@@QAEXK@Z @ 285 NONAME ; void TPhoneCmdParamCallHeaderData::SetServiceId(unsigned long) + ?Instance@CPhoneCenRepProxy@@SAPAV1@XZ @ 286 NONAME ; class CPhoneCenRepProxy * CPhoneCenRepProxy::Instance(void) + ?SetQueryType@TPhoneCmdParamQuery@@QAEXW4TPhoneQueryType@@@Z @ 287 NONAME ; void TPhoneCmdParamQuery::SetQueryType(enum TPhoneQueryType) + ?Value@CPhonePubSubProxy@@QAEHABVTUid@@I@Z @ 288 NONAME ; int CPhonePubSubProxy::Value(class TUid const &, unsigned int) + ?SetWiredAccAvailable@TPhoneCmdParamAudioAvailability@@QAEXH@Z @ 289 NONAME ; void TPhoneCmdParamAudioAvailability::SetWiredAccAvailable(int) + ??0TPhoneCmdParamAudioOutput@@QAE@XZ @ 290 NONAME ; TPhoneCmdParamAudioOutput::TPhoneCmdParamAudioOutput(void) + ?IsCallerImage@TPhoneCmdParamRingTone@@QAEHXZ @ 291 NONAME ; int TPhoneCmdParamRingTone::IsCallerImage(void) + ??0TPhoneCmdParamQuery@@QAE@XZ @ 292 NONAME ; TPhoneCmdParamQuery::TPhoneCmdParamQuery(void) + ?Instance@CPhoneMainResourceResolver@@SAPAV1@XZ @ 293 NONAME ; class CPhoneMainResourceResolver * CPhoneMainResourceResolver::Instance(void) + ??1CPhoneLibraryContainer@@UAE@XZ @ 294 NONAME ; CPhoneLibraryContainer::~CPhoneLibraryContainer(void) + ?ClearBlackListOnNextKey@CPhoneClearBlacklist@@QAEXXZ @ 295 NONAME ; void CPhoneClearBlacklist::ClearBlackListOnNextKey(void) + ?Tone@TPhoneCmdParamQuery@@QBEHXZ @ 296 NONAME ; int TPhoneCmdParamQuery::Tone(void) const + ?SetCiphering@TPhoneCmdParamIncallIndicatorData@@QAEXH@Z @ 297 NONAME ; void TPhoneCmdParamIncallIndicatorData::SetCiphering(int) + ?SetRingingType@TPhoneCmdParamRingTone@@QAEXH@Z @ 298 NONAME ; void TPhoneCmdParamRingTone::SetRingingType(int) + ?SetCipheringIndicatorAllowed@TPhoneCmdParamIncallIndicatorData@@QAEXH@Z @ 299 NONAME ; void TPhoneCmdParamIncallIndicatorData::SetCipheringIndicatorAllowed(int) + ?NeedToEnableKeylock@CPhoneStorage@@UAEHXZ @ 300 NONAME ; int CPhoneStorage::NeedToEnableKeylock(void) + ?AudioOutput@TPhoneCmdParamAudioOutput@@QBE?AW4TPEAudioOutput@@XZ @ 301 NONAME ; enum TPEAudioOutput TPhoneCmdParamAudioOutput::AudioOutput(void) const + ?SetResourceId@TPhoneCmdParamProgressNote@@QAEXH@Z @ 302 NONAME ; void TPhoneCmdParamProgressNote::SetResourceId(int) + ??0TPhoneCmdParamInteger@@QAE@XZ @ 303 NONAME ; TPhoneCmdParamInteger::TPhoneCmdParamInteger(void) + ?SetType@TPhoneCmdParamTransEffect@@QAEXW4TPhoneTransEffectType@@@Z @ 304 NONAME ; void TPhoneCmdParamTransEffect::SetType(enum TPhoneTransEffectType) + ?Bitmap@TPhoneCmdParamBitmap@@QBEPAVCFbsBitmap@@XZ @ 305 NONAME ; class CFbsBitmap * TPhoneCmdParamBitmap::Bitmap(void) const + ?SetTone@TPhoneCmdParamGlobalNote@@QAEXH@Z @ 306 NONAME ; void TPhoneCmdParamGlobalNote::SetTone(int) + ?After@CPhoneTimer@@QAEXVTTimeIntervalMicroSeconds32@@VTCallBack@@@Z @ 307 NONAME ; void CPhoneTimer::After(class TTimeIntervalMicroSeconds32, class TCallBack) diff -r 6b911d05207e -r bc5a64e5bc3c phoneapp/phoneuiutils/eabi/phoneuiutilsu.def --- a/phoneapp/phoneuiutils/eabi/phoneuiutilsu.def Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneapp/phoneuiutils/eabi/phoneuiutilsu.def Tue Jul 06 14:15:47 2010 +0300 @@ -166,236 +166,238 @@ _ZN22TPhoneCmdParamRingToneC2Ev @ 165 NONAME _ZN24TPhoneCmdParamGlobalNote10SetTimeoutEi @ 166 NONAME _ZN24TPhoneCmdParamGlobalNote11SetSoftkeysEi @ 167 NONAME - _ZN24TPhoneCmdParamGlobalNote15SetWaitForReadyEi @ 168 NONAME - _ZN24TPhoneCmdParamGlobalNote17SetTextResourceIdEi @ 169 NONAME - _ZN24TPhoneCmdParamGlobalNote21SetNotificationDialogEi @ 170 NONAME - _ZN24TPhoneCmdParamGlobalNote7SetTextERK7TDesC16 @ 171 NONAME - _ZN24TPhoneCmdParamGlobalNote7SetToneEi @ 172 NONAME - _ZN24TPhoneCmdParamGlobalNote7SetTypeE18TAknGlobalNoteType @ 173 NONAME - _ZN24TPhoneCmdParamGlobalNoteC1Ev @ 174 NONAME - _ZN24TPhoneCmdParamGlobalNoteC2Ev @ 175 NONAME - _ZN24TPhoneCmdParamKeyCapture10SetKeyCodeE8TKeyCode @ 176 NONAME - _ZN24TPhoneCmdParamKeyCapture14SetCaptureTypeE17TPhoneCaptureType @ 177 NONAME - _ZN24TPhoneCmdParamKeyCapture6SetKeyE12TStdScanCode @ 178 NONAME - _ZN24TPhoneCmdParamKeyCaptureC1Ev @ 179 NONAME - _ZN24TPhoneCmdParamKeyCaptureC2Ev @ 180 NONAME - _ZN25TPhoneCmdParamAudioOutput14SetAudioOutputE14TPEAudioOutput @ 181 NONAME - _ZN25TPhoneCmdParamAudioOutputC1Ev @ 182 NONAME - _ZN25TPhoneCmdParamAudioOutputC2Ev @ 183 NONAME - _ZN25TPhoneCmdParamTransEffect7SetTypeE21TPhoneTransEffectType @ 184 NONAME - _ZN25TPhoneCmdParamTransEffectC1Ev @ 185 NONAME - _ZN25TPhoneCmdParamTransEffectC2Ev @ 186 NONAME - _ZN26CPhoneMainResourceResolver8InstanceEv @ 187 NONAME - _ZN26CPhoneResourceResolverBase14BaseConstructLEv @ 188 NONAME - _ZN26CPhoneResourceResolverBaseC1Ev @ 189 NONAME - _ZN26CPhoneResourceResolverBaseC2Ev @ 190 NONAME - _ZN26CPhoneResourceResolverBaseD0Ev @ 191 NONAME - _ZN26CPhoneResourceResolverBaseD1Ev @ 192 NONAME - _ZN26CPhoneResourceResolverBaseD2Ev @ 193 NONAME - _ZN26TPhoneCmdParamCustomDialer16DialerControllerEv @ 194 NONAME - _ZN26TPhoneCmdParamCustomDialer19SetDialerControllerEP22MPhoneDialerController @ 195 NONAME - _ZN26TPhoneCmdParamCustomDialerC1Ev @ 196 NONAME - _ZN26TPhoneCmdParamCustomDialerC2Ev @ 197 NONAME - _ZN26TPhoneCmdParamProgressNote11SetWaitTimeE27TTimeIntervalMicroSeconds32 @ 198 NONAME - _ZN26TPhoneCmdParamProgressNote13SetResourceIdEi @ 199 NONAME - _ZN26TPhoneCmdParamProgressNoteC1Ev @ 200 NONAME - _ZN26TPhoneCmdParamProgressNoteC2Ev @ 201 NONAME - _ZN27TPhoneCmdParamCallStateData12SetCallStateEi @ 202 NONAME - _ZN27TPhoneCmdParamCallStateData9SetCallIdEi @ 203 NONAME - _ZN27TPhoneCmdParamCallStateDataC1Ev @ 204 NONAME - _ZN27TPhoneCmdParamCallStateDataC2Ev @ 205 NONAME - _ZN28TPhoneCmdParamCallHeaderData10SetCLITextERK7TDesC16NS_27TPhoneTextClippingDirectionE @ 206 NONAME - _ZN28TPhoneCmdParamCallHeaderData10SetPictureERK7TDesC16 @ 207 NONAME - _ZN28TPhoneCmdParamCallHeaderData11SetCNAPTextERK7TDesC16NS_27TPhoneTextClippingDirectionE @ 208 NONAME - _ZN28TPhoneCmdParamCallHeaderData11SetCallTypeEi @ 209 NONAME - _ZN28TPhoneCmdParamCallHeaderData11SetDivertedEi @ 210 NONAME - _ZN28TPhoneCmdParamCallHeaderData12SetCallStateEi @ 211 NONAME - _ZN28TPhoneCmdParamCallHeaderData12SetCipheringEi @ 212 NONAME - _ZN28TPhoneCmdParamCallHeaderData12SetLabelTextERK7TDesC16 @ 213 NONAME - _ZN28TPhoneCmdParamCallHeaderData12SetServiceIdEm @ 214 NONAME - _ZN28TPhoneCmdParamCallHeaderData12SetThumbnailEP10CFbsBitmap @ 215 NONAME - _ZN28TPhoneCmdParamCallHeaderData13SetCallerTextERK7TDesC16 @ 216 NONAME - _ZN28TPhoneCmdParamCallHeaderData13SetNumberTypeEi @ 217 NONAME - _ZN28TPhoneCmdParamCallHeaderData14SetContactLinkERK6TDesC8 @ 218 NONAME - _ZN28TPhoneCmdParamCallHeaderData15SetHasThumbnailEi @ 219 NONAME - _ZN28TPhoneCmdParamCallHeaderData17SetShortLabelTextERK7TDesC16 @ 220 NONAME - _ZN28TPhoneCmdParamCallHeaderData20SetRemotePhoneNumberERK7TDesC16 @ 221 NONAME - _ZN28TPhoneCmdParamCallHeaderData21SetParticipantListCLIENS_24TPhoneParticipantListCLIE @ 222 NONAME - _ZN28TPhoneCmdParamCallHeaderData28SetCipheringIndicatorAllowedEi @ 223 NONAME - _ZN28TPhoneCmdParamCallHeaderData8SetLine2Ei @ 224 NONAME - _ZN28TPhoneCmdParamCallHeaderDataC1Ev @ 225 NONAME - _ZN28TPhoneCmdParamCallHeaderDataC2Ev @ 226 NONAME - _ZN30CPhoneMainErrorMessagesHandler8InstanceEv @ 227 NONAME - _ZN31TPhoneCmdParamAudioAvailability17SetBTAccAvailableEi @ 228 NONAME - _ZN31TPhoneCmdParamAudioAvailability20SetWiredAccAvailableEi @ 229 NONAME - _ZN31TPhoneCmdParamAudioAvailabilityC1Ev @ 230 NONAME - _ZN31TPhoneCmdParamAudioAvailabilityC2Ev @ 231 NONAME - _ZN33TPhoneCmdParamIncallIndicatorData12SetCallStateEi @ 232 NONAME - _ZN33TPhoneCmdParamIncallIndicatorData12SetCipheringEi @ 233 NONAME - _ZN33TPhoneCmdParamIncallIndicatorData12SetEmergencyEi @ 234 NONAME - _ZN33TPhoneCmdParamIncallIndicatorData22SetLittleBubbleVisibleEi @ 235 NONAME - _ZN33TPhoneCmdParamIncallIndicatorData28SetCipheringIndicatorAllowedEi @ 236 NONAME - _ZN33TPhoneCmdParamIncallIndicatorData7SetModeEi @ 237 NONAME - _ZN33TPhoneCmdParamIncallIndicatorData7SetMuteEi @ 238 NONAME - _ZN33TPhoneCmdParamIncallIndicatorData8SetLine2Ei @ 239 NONAME - _ZN33TPhoneCmdParamIncallIndicatorDataC1Ev @ 240 NONAME - _ZN33TPhoneCmdParamIncallIndicatorDataC2Ev @ 241 NONAME - _ZN33TPhoneCmdParamNumberEntryObserver11SetObserverE9TCallBack @ 242 NONAME - _ZN33TPhoneCmdParamNumberEntryObserver8ObserverEv @ 243 NONAME - _ZN33TPhoneCmdParamNumberEntryObserverC1Ev @ 244 NONAME - _ZN33TPhoneCmdParamNumberEntryObserverC2Ev @ 245 NONAME - _ZN37TPhoneCmdParamEmergencyCallHeaderData12SetCipheringEi @ 246 NONAME - _ZN37TPhoneCmdParamEmergencyCallHeaderData12SetLabelTextERK7TDesC16 @ 247 NONAME - _ZN37TPhoneCmdParamEmergencyCallHeaderData13SetHeaderTextERK7TDesC16 @ 248 NONAME - _ZN37TPhoneCmdParamEmergencyCallHeaderData21SetOwnPhoneNumberTextERK7TDesC16 @ 249 NONAME - _ZN37TPhoneCmdParamEmergencyCallHeaderData28SetCipheringIndicatorAllowedEi @ 250 NONAME - _ZN37TPhoneCmdParamEmergencyCallHeaderDataC1Ev @ 251 NONAME - _ZN37TPhoneCmdParamEmergencyCallHeaderDataC2Ev @ 252 NONAME - _ZNK13CPhoneStorage17GetBlockedKeyListEv @ 253 NONAME - _ZNK17CPhoneCenRepProxy4FindERK4TUidmmR6RArrayImE @ 254 NONAME - _ZNK17CPhoneCenRepProxy6GetIntERK4TUidjRi @ 255 NONAME - _ZNK17CPhoneCenRepProxy7GetRealERK4TUidjRd @ 256 NONAME - _ZNK17CPhoneCenRepProxy9GetStringERK4TUidjR6TDes16 @ 257 NONAME - _ZNK18TPhoneCmdParamNote10ResourceIdEv @ 258 NONAME - _ZNK18TPhoneCmdParamNote14TextResourceIdEv @ 259 NONAME - _ZNK18TPhoneCmdParamNote4TextEv @ 260 NONAME - _ZNK18TPhoneCmdParamNote4ToneEv @ 261 NONAME - _ZNK18TPhoneCmdParamNote4TypeEv @ 262 NONAME - _ZNK18TPhoneCmdParamNote7TimeoutEv @ 263 NONAME - _ZNK18TPhoneCommandParam7ParamIdEv @ 264 NONAME - _ZNK19TPhoneCmdParamQuery10ContentCbaEv @ 265 NONAME - _ZNK19TPhoneCmdParamQuery10DefaultCbaEv @ 266 NONAME - _ZNK19TPhoneCmdParamQuery11QueryPromptEv @ 267 NONAME - _ZNK19TPhoneCmdParamQuery14SendKeyEnabledEv @ 268 NONAME - _ZNK19TPhoneCmdParamQuery15QueryResourceIdEv @ 269 NONAME - _ZNK19TPhoneCmdParamQuery17CbaCommandMappingEi @ 270 NONAME - _ZNK19TPhoneCmdParamQuery25ItemTextArrayForListQueryEv @ 271 NONAME - _ZNK19TPhoneCmdParamQuery26GetCustomCommandForTimeOutERi @ 272 NONAME - _ZNK19TPhoneCmdParamQuery4ToneEv @ 273 NONAME - _ZNK19TPhoneCmdParamQuery7TimeOutEv @ 274 NONAME - _ZNK19TPhoneCmdParamQuery8DataTextEv @ 275 NONAME - _ZNK19TPhoneCmdParamQuery9QueryTypeEv @ 276 NONAME - _ZNK20TPhoneCmdParamBitmap10MaskBitmapEv @ 277 NONAME - _ZNK20TPhoneCmdParamBitmap6BitmapEv @ 278 NONAME - _ZNK21TPhoneCmdParamAppInfo13CustomMessageEv @ 279 NONAME - _ZNK21TPhoneCmdParamAppInfo15CustomMessageIdEv @ 280 NONAME - _ZNK21TPhoneCmdParamAppInfo17MultipleInstancesEv @ 281 NONAME - _ZNK21TPhoneCmdParamAppInfo5ParamEv @ 282 NONAME - _ZNK21TPhoneCmdParamAppInfo6AppUidEv @ 283 NONAME - _ZNK21TPhoneCmdParamAppInfo7ViewUidEv @ 284 NONAME - _ZNK21TPhoneCmdParamBoolean7BooleanEv @ 285 NONAME - _ZNK21TPhoneCmdParamDynMenu10ResourceIdEv @ 286 NONAME - _ZNK21TPhoneCmdParamInteger7IntegerEv @ 287 NONAME - _ZNK21TPhoneCmdParamPointer7PointerEv @ 288 NONAME - _ZNK21TPhoneCmdParamSfiData4NameEv @ 289 NONAME - _ZNK21TPhoneCmdParamSfiData6NumberEv @ 290 NONAME - _ZNK22CPhoneCallThemeMonitor22CallImageThemeFilePathEv @ 291 NONAME - _ZNK22CPhoneCallThemeMonitor22CallImageThemeSettingsEv @ 292 NONAME - _ZNK22TPhoneCmdParamKeyEvent8KeyEventEv @ 293 NONAME - _ZNK22TPhoneCmdParamKeyEvent9EventCodeEv @ 294 NONAME - _ZNK22TPhoneCmdParamRingTone11RingingTypeEv @ 295 NONAME - _ZNK22TPhoneCmdParamRingTone4TypeEv @ 296 NONAME - _ZNK22TPhoneCmdParamRingTone6VolumeEv @ 297 NONAME - _ZNK22TPhoneCmdParamRingTone8RingToneEv @ 298 NONAME - _ZNK22TPhoneCmdParamRingTone9TextToSayEv @ 299 NONAME - _ZNK24TPhoneCmdParamGlobalNote12WaitForReadyEv @ 300 NONAME - _ZNK24TPhoneCmdParamGlobalNote14TextResourceIdEv @ 301 NONAME - _ZNK24TPhoneCmdParamGlobalNote18NotificationDialogEv @ 302 NONAME - _ZNK24TPhoneCmdParamGlobalNote4TextEv @ 303 NONAME - _ZNK24TPhoneCmdParamGlobalNote4ToneEv @ 304 NONAME - _ZNK24TPhoneCmdParamGlobalNote4TypeEv @ 305 NONAME - _ZNK24TPhoneCmdParamGlobalNote7TimeoutEv @ 306 NONAME - _ZNK24TPhoneCmdParamGlobalNote8SoftkeysEv @ 307 NONAME - _ZNK24TPhoneCmdParamKeyCapture11CaptureTypeEv @ 308 NONAME - _ZNK24TPhoneCmdParamKeyCapture3KeyEv @ 309 NONAME - _ZNK24TPhoneCmdParamKeyCapture7KeyCodeEv @ 310 NONAME - _ZNK25TPhoneCmdParamAudioOutput11AudioOutputEv @ 311 NONAME - _ZNK25TPhoneCmdParamTransEffect4TypeEv @ 312 NONAME - _ZNK26CPhoneResourceResolverBase17ResolveResourceIDERKi @ 313 NONAME - _ZNK26CPhoneResourceResolverBase27IsTelephonyFeatureSupportedEi @ 314 NONAME - _ZNK26TPhoneCmdParamProgressNote10ResourceIdEv @ 315 NONAME - _ZNK26TPhoneCmdParamProgressNote8WaitTimeEv @ 316 NONAME - _ZNK27TPhoneCmdParamCallStateData6CallIdEv @ 317 NONAME - _ZNK27TPhoneCmdParamCallStateData9CallStateEv @ 318 NONAME - _ZNK28TPhoneCmdParamCallHeaderData10CallerTextEv @ 319 NONAME - _ZNK28TPhoneCmdParamCallHeaderData10NumberTypeEv @ 320 NONAME - _ZNK28TPhoneCmdParamCallHeaderData11ContactLinkEv @ 321 NONAME - _ZNK28TPhoneCmdParamCallHeaderData12HasThumbnailEv @ 322 NONAME - _ZNK28TPhoneCmdParamCallHeaderData14ParticipantCLIEv @ 323 NONAME - _ZNK28TPhoneCmdParamCallHeaderData14ShortLabelTextEv @ 324 NONAME - _ZNK28TPhoneCmdParamCallHeaderData17RemotePhoneNumberEv @ 325 NONAME - _ZNK28TPhoneCmdParamCallHeaderData24CLITextClippingDirectionEv @ 326 NONAME - _ZNK28TPhoneCmdParamCallHeaderData25CNAPTextClippingDirectionEv @ 327 NONAME - _ZNK28TPhoneCmdParamCallHeaderData25CipheringIndicatorAllowedEv @ 328 NONAME - _ZNK28TPhoneCmdParamCallHeaderData5Line2Ev @ 329 NONAME - _ZNK28TPhoneCmdParamCallHeaderData7CLITextEv @ 330 NONAME - _ZNK28TPhoneCmdParamCallHeaderData7PictureEv @ 331 NONAME - _ZNK28TPhoneCmdParamCallHeaderData8CNAPTextEv @ 332 NONAME - _ZNK28TPhoneCmdParamCallHeaderData8CallTypeEv @ 333 NONAME - _ZNK28TPhoneCmdParamCallHeaderData8DivertedEv @ 334 NONAME - _ZNK28TPhoneCmdParamCallHeaderData9CallStateEv @ 335 NONAME - _ZNK28TPhoneCmdParamCallHeaderData9CipheringEv @ 336 NONAME - _ZNK28TPhoneCmdParamCallHeaderData9LabelTextEv @ 337 NONAME - _ZNK28TPhoneCmdParamCallHeaderData9ServiceIdEv @ 338 NONAME - _ZNK28TPhoneCmdParamCallHeaderData9ThumbnailEv @ 339 NONAME - _ZNK31TPhoneCmdParamAudioAvailability16IsBTAccAvailableEv @ 340 NONAME - _ZNK31TPhoneCmdParamAudioAvailability19IsWiredAccAvailableEv @ 341 NONAME - _ZNK33TPhoneCmdParamIncallIndicatorData19LittleBubbleVisibleEv @ 342 NONAME - _ZNK33TPhoneCmdParamIncallIndicatorData25CipheringIndicatorAllowedEv @ 343 NONAME - _ZNK33TPhoneCmdParamIncallIndicatorData4ModeEv @ 344 NONAME - _ZNK33TPhoneCmdParamIncallIndicatorData4MuteEv @ 345 NONAME - _ZNK33TPhoneCmdParamIncallIndicatorData5Line2Ev @ 346 NONAME - _ZNK33TPhoneCmdParamIncallIndicatorData9CallStateEv @ 347 NONAME - _ZNK33TPhoneCmdParamIncallIndicatorData9CipheringEv @ 348 NONAME - _ZNK33TPhoneCmdParamIncallIndicatorData9EmergencyEv @ 349 NONAME - _ZNK37TPhoneCmdParamEmergencyCallHeaderData10HeaderTextEv @ 350 NONAME - _ZNK37TPhoneCmdParamEmergencyCallHeaderData18OwnPhoneNumberTextEv @ 351 NONAME - _ZNK37TPhoneCmdParamEmergencyCallHeaderData25CipheringIndicatorAllowedEv @ 352 NONAME - _ZNK37TPhoneCmdParamEmergencyCallHeaderData9CipheringEv @ 353 NONAME - _ZNK37TPhoneCmdParamEmergencyCallHeaderData9LabelTextEv @ 354 NONAME - _ZTI11CPhoneTimer @ 355 NONAME - _ZTI12CPhoneLogger @ 356 NONAME - _ZTI13CPhoneStorage @ 357 NONAME - _ZTI17CPhoneCenRepProxy @ 358 NONAME - _ZTI17CPhonePubSubProxy @ 359 NONAME - _ZTI18CPhoneMethodLogger @ 360 NONAME - _ZTI20CPhoneClearBlacklist @ 361 NONAME - _ZTI20CPhoneRecoverySystem @ 362 NONAME - _ZTI22CPhoneCallThemeMonitor @ 363 NONAME - _ZTI22CPhoneLibraryContainer @ 364 NONAME - _ZTI24CPhoneCenRepEventHandler @ 365 NONAME - _ZTI25CPhonePublishSubscriberAO @ 366 NONAME - _ZTI26CPhoneMainResourceResolver @ 367 NONAME - _ZTI26CPhoneResourceResolverBase @ 368 NONAME - _ZTI30CPhoneMainErrorMessagesHandler @ 369 NONAME - _ZTV11CPhoneTimer @ 370 NONAME - _ZTV12CPhoneLogger @ 371 NONAME - _ZTV13CPhoneStorage @ 372 NONAME - _ZTV17CPhoneCenRepProxy @ 373 NONAME - _ZTV17CPhonePubSubProxy @ 374 NONAME - _ZTV18CPhoneMethodLogger @ 375 NONAME - _ZTV20CPhoneClearBlacklist @ 376 NONAME - _ZTV20CPhoneRecoverySystem @ 377 NONAME - _ZTV22CPhoneCallThemeMonitor @ 378 NONAME - _ZTV22CPhoneLibraryContainer @ 379 NONAME - _ZTV24CPhoneCenRepEventHandler @ 380 NONAME - _ZTV25CPhonePublishSubscriberAO @ 381 NONAME - _ZTV26CPhoneMainResourceResolver @ 382 NONAME - _ZTV26CPhoneResourceResolverBase @ 383 NONAME - _ZTV30CPhoneMainErrorMessagesHandler @ 384 NONAME - _ZThn4_N12CPhoneLoggerD0Ev @ 385 NONAME - _ZThn4_N12CPhoneLoggerD1Ev @ 386 NONAME - _ZThn4_N13CPhoneStorage14IsScreenLockedEv @ 387 NONAME - _ZThn4_N13CPhoneStorage15SetScreenLockedEi @ 388 NONAME - _ZThn4_N13CPhoneStorage19NeedToEnableKeylockEv @ 389 NONAME - _ZThn4_N13CPhoneStorage20ResetBlockedKeysListEv @ 390 NONAME - _ZThn4_N13CPhoneStorage22AppendBlockedKeysListLE12TStdScanCode @ 391 NONAME - _ZThn4_N13CPhoneStorage22IsBlockedKeysListEmptyEv @ 392 NONAME - _ZThn4_N13CPhoneStorage22SetNeedToEnableKeylockEi @ 393 NONAME - _ZThn4_N13CPhoneStorageD0Ev @ 394 NONAME - _ZThn4_N13CPhoneStorageD1Ev @ 395 NONAME - _ZThn4_N26CPhoneResourceResolverBaseD0Ev @ 396 NONAME - _ZThn4_N26CPhoneResourceResolverBaseD1Ev @ 397 NONAME - _ZThn4_NK13CPhoneStorage17GetBlockedKeyListEv @ 398 NONAME - _ZThn4_NK26CPhoneResourceResolverBase17ResolveResourceIDERKi @ 399 NONAME + _ZN24TPhoneCmdParamGlobalNote12SetCauseCodeEi @ 168 NONAME + _ZN24TPhoneCmdParamGlobalNote15SetWaitForReadyEi @ 169 NONAME + _ZN24TPhoneCmdParamGlobalNote17SetTextResourceIdEi @ 170 NONAME + _ZN24TPhoneCmdParamGlobalNote21SetNotificationDialogEi @ 171 NONAME + _ZN24TPhoneCmdParamGlobalNote7SetTextERK7TDesC16 @ 172 NONAME + _ZN24TPhoneCmdParamGlobalNote7SetToneEi @ 173 NONAME + _ZN24TPhoneCmdParamGlobalNote7SetTypeE18TAknGlobalNoteType @ 174 NONAME + _ZN24TPhoneCmdParamGlobalNoteC1Ev @ 175 NONAME + _ZN24TPhoneCmdParamGlobalNoteC2Ev @ 176 NONAME + _ZN24TPhoneCmdParamKeyCapture10SetKeyCodeE8TKeyCode @ 177 NONAME + _ZN24TPhoneCmdParamKeyCapture14SetCaptureTypeE17TPhoneCaptureType @ 178 NONAME + _ZN24TPhoneCmdParamKeyCapture6SetKeyE12TStdScanCode @ 179 NONAME + _ZN24TPhoneCmdParamKeyCaptureC1Ev @ 180 NONAME + _ZN24TPhoneCmdParamKeyCaptureC2Ev @ 181 NONAME + _ZN25TPhoneCmdParamAudioOutput14SetAudioOutputE14TPEAudioOutput @ 182 NONAME + _ZN25TPhoneCmdParamAudioOutputC1Ev @ 183 NONAME + _ZN25TPhoneCmdParamAudioOutputC2Ev @ 184 NONAME + _ZN25TPhoneCmdParamTransEffect7SetTypeE21TPhoneTransEffectType @ 185 NONAME + _ZN25TPhoneCmdParamTransEffectC1Ev @ 186 NONAME + _ZN25TPhoneCmdParamTransEffectC2Ev @ 187 NONAME + _ZN26CPhoneMainResourceResolver8InstanceEv @ 188 NONAME + _ZN26CPhoneResourceResolverBase14BaseConstructLEv @ 189 NONAME + _ZN26CPhoneResourceResolverBaseC1Ev @ 190 NONAME + _ZN26CPhoneResourceResolverBaseC2Ev @ 191 NONAME + _ZN26CPhoneResourceResolverBaseD0Ev @ 192 NONAME + _ZN26CPhoneResourceResolverBaseD1Ev @ 193 NONAME + _ZN26CPhoneResourceResolverBaseD2Ev @ 194 NONAME + _ZN26TPhoneCmdParamCustomDialer16DialerControllerEv @ 195 NONAME + _ZN26TPhoneCmdParamCustomDialer19SetDialerControllerEP22MPhoneDialerController @ 196 NONAME + _ZN26TPhoneCmdParamCustomDialerC1Ev @ 197 NONAME + _ZN26TPhoneCmdParamCustomDialerC2Ev @ 198 NONAME + _ZN26TPhoneCmdParamProgressNote11SetWaitTimeE27TTimeIntervalMicroSeconds32 @ 199 NONAME + _ZN26TPhoneCmdParamProgressNote13SetResourceIdEi @ 200 NONAME + _ZN26TPhoneCmdParamProgressNoteC1Ev @ 201 NONAME + _ZN26TPhoneCmdParamProgressNoteC2Ev @ 202 NONAME + _ZN27TPhoneCmdParamCallStateData12SetCallStateEi @ 203 NONAME + _ZN27TPhoneCmdParamCallStateData9SetCallIdEi @ 204 NONAME + _ZN27TPhoneCmdParamCallStateDataC1Ev @ 205 NONAME + _ZN27TPhoneCmdParamCallStateDataC2Ev @ 206 NONAME + _ZN28TPhoneCmdParamCallHeaderData10SetCLITextERK7TDesC16NS_27TPhoneTextClippingDirectionE @ 207 NONAME + _ZN28TPhoneCmdParamCallHeaderData10SetPictureERK7TDesC16 @ 208 NONAME + _ZN28TPhoneCmdParamCallHeaderData11SetCNAPTextERK7TDesC16NS_27TPhoneTextClippingDirectionE @ 209 NONAME + _ZN28TPhoneCmdParamCallHeaderData11SetCallTypeEi @ 210 NONAME + _ZN28TPhoneCmdParamCallHeaderData11SetDivertedEi @ 211 NONAME + _ZN28TPhoneCmdParamCallHeaderData12SetCallStateEi @ 212 NONAME + _ZN28TPhoneCmdParamCallHeaderData12SetCipheringEi @ 213 NONAME + _ZN28TPhoneCmdParamCallHeaderData12SetLabelTextERK7TDesC16 @ 214 NONAME + _ZN28TPhoneCmdParamCallHeaderData12SetServiceIdEm @ 215 NONAME + _ZN28TPhoneCmdParamCallHeaderData12SetThumbnailEP10CFbsBitmap @ 216 NONAME + _ZN28TPhoneCmdParamCallHeaderData13SetCallerTextERK7TDesC16 @ 217 NONAME + _ZN28TPhoneCmdParamCallHeaderData13SetNumberTypeEi @ 218 NONAME + _ZN28TPhoneCmdParamCallHeaderData14SetContactLinkERK6TDesC8 @ 219 NONAME + _ZN28TPhoneCmdParamCallHeaderData15SetHasThumbnailEi @ 220 NONAME + _ZN28TPhoneCmdParamCallHeaderData17SetShortLabelTextERK7TDesC16 @ 221 NONAME + _ZN28TPhoneCmdParamCallHeaderData20SetRemotePhoneNumberERK7TDesC16 @ 222 NONAME + _ZN28TPhoneCmdParamCallHeaderData21SetParticipantListCLIENS_24TPhoneParticipantListCLIE @ 223 NONAME + _ZN28TPhoneCmdParamCallHeaderData28SetCipheringIndicatorAllowedEi @ 224 NONAME + _ZN28TPhoneCmdParamCallHeaderData8SetLine2Ei @ 225 NONAME + _ZN28TPhoneCmdParamCallHeaderDataC1Ev @ 226 NONAME + _ZN28TPhoneCmdParamCallHeaderDataC2Ev @ 227 NONAME + _ZN30CPhoneMainErrorMessagesHandler8InstanceEv @ 228 NONAME + _ZN31TPhoneCmdParamAudioAvailability17SetBTAccAvailableEi @ 229 NONAME + _ZN31TPhoneCmdParamAudioAvailability20SetWiredAccAvailableEi @ 230 NONAME + _ZN31TPhoneCmdParamAudioAvailabilityC1Ev @ 231 NONAME + _ZN31TPhoneCmdParamAudioAvailabilityC2Ev @ 232 NONAME + _ZN33TPhoneCmdParamIncallIndicatorData12SetCallStateEi @ 233 NONAME + _ZN33TPhoneCmdParamIncallIndicatorData12SetCipheringEi @ 234 NONAME + _ZN33TPhoneCmdParamIncallIndicatorData12SetEmergencyEi @ 235 NONAME + _ZN33TPhoneCmdParamIncallIndicatorData22SetLittleBubbleVisibleEi @ 236 NONAME + _ZN33TPhoneCmdParamIncallIndicatorData28SetCipheringIndicatorAllowedEi @ 237 NONAME + _ZN33TPhoneCmdParamIncallIndicatorData7SetModeEi @ 238 NONAME + _ZN33TPhoneCmdParamIncallIndicatorData7SetMuteEi @ 239 NONAME + _ZN33TPhoneCmdParamIncallIndicatorData8SetLine2Ei @ 240 NONAME + _ZN33TPhoneCmdParamIncallIndicatorDataC1Ev @ 241 NONAME + _ZN33TPhoneCmdParamIncallIndicatorDataC2Ev @ 242 NONAME + _ZN33TPhoneCmdParamNumberEntryObserver11SetObserverE9TCallBack @ 243 NONAME + _ZN33TPhoneCmdParamNumberEntryObserver8ObserverEv @ 244 NONAME + _ZN33TPhoneCmdParamNumberEntryObserverC1Ev @ 245 NONAME + _ZN33TPhoneCmdParamNumberEntryObserverC2Ev @ 246 NONAME + _ZN37TPhoneCmdParamEmergencyCallHeaderData12SetCipheringEi @ 247 NONAME + _ZN37TPhoneCmdParamEmergencyCallHeaderData12SetLabelTextERK7TDesC16 @ 248 NONAME + _ZN37TPhoneCmdParamEmergencyCallHeaderData13SetHeaderTextERK7TDesC16 @ 249 NONAME + _ZN37TPhoneCmdParamEmergencyCallHeaderData21SetOwnPhoneNumberTextERK7TDesC16 @ 250 NONAME + _ZN37TPhoneCmdParamEmergencyCallHeaderData28SetCipheringIndicatorAllowedEi @ 251 NONAME + _ZN37TPhoneCmdParamEmergencyCallHeaderDataC1Ev @ 252 NONAME + _ZN37TPhoneCmdParamEmergencyCallHeaderDataC2Ev @ 253 NONAME + _ZNK13CPhoneStorage17GetBlockedKeyListEv @ 254 NONAME + _ZNK17CPhoneCenRepProxy4FindERK4TUidmmR6RArrayImE @ 255 NONAME + _ZNK17CPhoneCenRepProxy6GetIntERK4TUidjRi @ 256 NONAME + _ZNK17CPhoneCenRepProxy7GetRealERK4TUidjRd @ 257 NONAME + _ZNK17CPhoneCenRepProxy9GetStringERK4TUidjR6TDes16 @ 258 NONAME + _ZNK18TPhoneCmdParamNote10ResourceIdEv @ 259 NONAME + _ZNK18TPhoneCmdParamNote14TextResourceIdEv @ 260 NONAME + _ZNK18TPhoneCmdParamNote4TextEv @ 261 NONAME + _ZNK18TPhoneCmdParamNote4ToneEv @ 262 NONAME + _ZNK18TPhoneCmdParamNote4TypeEv @ 263 NONAME + _ZNK18TPhoneCmdParamNote7TimeoutEv @ 264 NONAME + _ZNK18TPhoneCommandParam7ParamIdEv @ 265 NONAME + _ZNK19TPhoneCmdParamQuery10ContentCbaEv @ 266 NONAME + _ZNK19TPhoneCmdParamQuery10DefaultCbaEv @ 267 NONAME + _ZNK19TPhoneCmdParamQuery11QueryPromptEv @ 268 NONAME + _ZNK19TPhoneCmdParamQuery14SendKeyEnabledEv @ 269 NONAME + _ZNK19TPhoneCmdParamQuery15QueryResourceIdEv @ 270 NONAME + _ZNK19TPhoneCmdParamQuery17CbaCommandMappingEi @ 271 NONAME + _ZNK19TPhoneCmdParamQuery25ItemTextArrayForListQueryEv @ 272 NONAME + _ZNK19TPhoneCmdParamQuery26GetCustomCommandForTimeOutERi @ 273 NONAME + _ZNK19TPhoneCmdParamQuery4ToneEv @ 274 NONAME + _ZNK19TPhoneCmdParamQuery7TimeOutEv @ 275 NONAME + _ZNK19TPhoneCmdParamQuery8DataTextEv @ 276 NONAME + _ZNK19TPhoneCmdParamQuery9QueryTypeEv @ 277 NONAME + _ZNK20TPhoneCmdParamBitmap10MaskBitmapEv @ 278 NONAME + _ZNK20TPhoneCmdParamBitmap6BitmapEv @ 279 NONAME + _ZNK21TPhoneCmdParamAppInfo13CustomMessageEv @ 280 NONAME + _ZNK21TPhoneCmdParamAppInfo15CustomMessageIdEv @ 281 NONAME + _ZNK21TPhoneCmdParamAppInfo17MultipleInstancesEv @ 282 NONAME + _ZNK21TPhoneCmdParamAppInfo5ParamEv @ 283 NONAME + _ZNK21TPhoneCmdParamAppInfo6AppUidEv @ 284 NONAME + _ZNK21TPhoneCmdParamAppInfo7ViewUidEv @ 285 NONAME + _ZNK21TPhoneCmdParamBoolean7BooleanEv @ 286 NONAME + _ZNK21TPhoneCmdParamDynMenu10ResourceIdEv @ 287 NONAME + _ZNK21TPhoneCmdParamInteger7IntegerEv @ 288 NONAME + _ZNK21TPhoneCmdParamPointer7PointerEv @ 289 NONAME + _ZNK21TPhoneCmdParamSfiData4NameEv @ 290 NONAME + _ZNK21TPhoneCmdParamSfiData6NumberEv @ 291 NONAME + _ZNK22CPhoneCallThemeMonitor22CallImageThemeFilePathEv @ 292 NONAME + _ZNK22CPhoneCallThemeMonitor22CallImageThemeSettingsEv @ 293 NONAME + _ZNK22TPhoneCmdParamKeyEvent8KeyEventEv @ 294 NONAME + _ZNK22TPhoneCmdParamKeyEvent9EventCodeEv @ 295 NONAME + _ZNK22TPhoneCmdParamRingTone11RingingTypeEv @ 296 NONAME + _ZNK22TPhoneCmdParamRingTone4TypeEv @ 297 NONAME + _ZNK22TPhoneCmdParamRingTone6VolumeEv @ 298 NONAME + _ZNK22TPhoneCmdParamRingTone8RingToneEv @ 299 NONAME + _ZNK22TPhoneCmdParamRingTone9TextToSayEv @ 300 NONAME + _ZNK24TPhoneCmdParamGlobalNote12WaitForReadyEv @ 301 NONAME + _ZNK24TPhoneCmdParamGlobalNote14TextResourceIdEv @ 302 NONAME + _ZNK24TPhoneCmdParamGlobalNote18NotificationDialogEv @ 303 NONAME + _ZNK24TPhoneCmdParamGlobalNote4TextEv @ 304 NONAME + _ZNK24TPhoneCmdParamGlobalNote4ToneEv @ 305 NONAME + _ZNK24TPhoneCmdParamGlobalNote4TypeEv @ 306 NONAME + _ZNK24TPhoneCmdParamGlobalNote7TimeoutEv @ 307 NONAME + _ZNK24TPhoneCmdParamGlobalNote8SoftkeysEv @ 308 NONAME + _ZNK24TPhoneCmdParamGlobalNote9CauseCodeEv @ 309 NONAME + _ZNK24TPhoneCmdParamKeyCapture11CaptureTypeEv @ 310 NONAME + _ZNK24TPhoneCmdParamKeyCapture3KeyEv @ 311 NONAME + _ZNK24TPhoneCmdParamKeyCapture7KeyCodeEv @ 312 NONAME + _ZNK25TPhoneCmdParamAudioOutput11AudioOutputEv @ 313 NONAME + _ZNK25TPhoneCmdParamTransEffect4TypeEv @ 314 NONAME + _ZNK26CPhoneResourceResolverBase17ResolveResourceIDERKi @ 315 NONAME + _ZNK26CPhoneResourceResolverBase27IsTelephonyFeatureSupportedEi @ 316 NONAME + _ZNK26TPhoneCmdParamProgressNote10ResourceIdEv @ 317 NONAME + _ZNK26TPhoneCmdParamProgressNote8WaitTimeEv @ 318 NONAME + _ZNK27TPhoneCmdParamCallStateData6CallIdEv @ 319 NONAME + _ZNK27TPhoneCmdParamCallStateData9CallStateEv @ 320 NONAME + _ZNK28TPhoneCmdParamCallHeaderData10CallerTextEv @ 321 NONAME + _ZNK28TPhoneCmdParamCallHeaderData10NumberTypeEv @ 322 NONAME + _ZNK28TPhoneCmdParamCallHeaderData11ContactLinkEv @ 323 NONAME + _ZNK28TPhoneCmdParamCallHeaderData12HasThumbnailEv @ 324 NONAME + _ZNK28TPhoneCmdParamCallHeaderData14ParticipantCLIEv @ 325 NONAME + _ZNK28TPhoneCmdParamCallHeaderData14ShortLabelTextEv @ 326 NONAME + _ZNK28TPhoneCmdParamCallHeaderData17RemotePhoneNumberEv @ 327 NONAME + _ZNK28TPhoneCmdParamCallHeaderData24CLITextClippingDirectionEv @ 328 NONAME + _ZNK28TPhoneCmdParamCallHeaderData25CNAPTextClippingDirectionEv @ 329 NONAME + _ZNK28TPhoneCmdParamCallHeaderData25CipheringIndicatorAllowedEv @ 330 NONAME + _ZNK28TPhoneCmdParamCallHeaderData5Line2Ev @ 331 NONAME + _ZNK28TPhoneCmdParamCallHeaderData7CLITextEv @ 332 NONAME + _ZNK28TPhoneCmdParamCallHeaderData7PictureEv @ 333 NONAME + _ZNK28TPhoneCmdParamCallHeaderData8CNAPTextEv @ 334 NONAME + _ZNK28TPhoneCmdParamCallHeaderData8CallTypeEv @ 335 NONAME + _ZNK28TPhoneCmdParamCallHeaderData8DivertedEv @ 336 NONAME + _ZNK28TPhoneCmdParamCallHeaderData9CallStateEv @ 337 NONAME + _ZNK28TPhoneCmdParamCallHeaderData9CipheringEv @ 338 NONAME + _ZNK28TPhoneCmdParamCallHeaderData9LabelTextEv @ 339 NONAME + _ZNK28TPhoneCmdParamCallHeaderData9ServiceIdEv @ 340 NONAME + _ZNK28TPhoneCmdParamCallHeaderData9ThumbnailEv @ 341 NONAME + _ZNK31TPhoneCmdParamAudioAvailability16IsBTAccAvailableEv @ 342 NONAME + _ZNK31TPhoneCmdParamAudioAvailability19IsWiredAccAvailableEv @ 343 NONAME + _ZNK33TPhoneCmdParamIncallIndicatorData19LittleBubbleVisibleEv @ 344 NONAME + _ZNK33TPhoneCmdParamIncallIndicatorData25CipheringIndicatorAllowedEv @ 345 NONAME + _ZNK33TPhoneCmdParamIncallIndicatorData4ModeEv @ 346 NONAME + _ZNK33TPhoneCmdParamIncallIndicatorData4MuteEv @ 347 NONAME + _ZNK33TPhoneCmdParamIncallIndicatorData5Line2Ev @ 348 NONAME + _ZNK33TPhoneCmdParamIncallIndicatorData9CallStateEv @ 349 NONAME + _ZNK33TPhoneCmdParamIncallIndicatorData9CipheringEv @ 350 NONAME + _ZNK33TPhoneCmdParamIncallIndicatorData9EmergencyEv @ 351 NONAME + _ZNK37TPhoneCmdParamEmergencyCallHeaderData10HeaderTextEv @ 352 NONAME + _ZNK37TPhoneCmdParamEmergencyCallHeaderData18OwnPhoneNumberTextEv @ 353 NONAME + _ZNK37TPhoneCmdParamEmergencyCallHeaderData25CipheringIndicatorAllowedEv @ 354 NONAME + _ZNK37TPhoneCmdParamEmergencyCallHeaderData9CipheringEv @ 355 NONAME + _ZNK37TPhoneCmdParamEmergencyCallHeaderData9LabelTextEv @ 356 NONAME + _ZTI11CPhoneTimer @ 357 NONAME + _ZTI12CPhoneLogger @ 358 NONAME + _ZTI13CPhoneStorage @ 359 NONAME + _ZTI17CPhoneCenRepProxy @ 360 NONAME + _ZTI17CPhonePubSubProxy @ 361 NONAME + _ZTI18CPhoneMethodLogger @ 362 NONAME + _ZTI20CPhoneClearBlacklist @ 363 NONAME + _ZTI20CPhoneRecoverySystem @ 364 NONAME + _ZTI22CPhoneCallThemeMonitor @ 365 NONAME + _ZTI22CPhoneLibraryContainer @ 366 NONAME + _ZTI24CPhoneCenRepEventHandler @ 367 NONAME + _ZTI25CPhonePublishSubscriberAO @ 368 NONAME + _ZTI26CPhoneMainResourceResolver @ 369 NONAME + _ZTI26CPhoneResourceResolverBase @ 370 NONAME + _ZTI30CPhoneMainErrorMessagesHandler @ 371 NONAME + _ZTV11CPhoneTimer @ 372 NONAME + _ZTV12CPhoneLogger @ 373 NONAME + _ZTV13CPhoneStorage @ 374 NONAME + _ZTV17CPhoneCenRepProxy @ 375 NONAME + _ZTV17CPhonePubSubProxy @ 376 NONAME + _ZTV18CPhoneMethodLogger @ 377 NONAME + _ZTV20CPhoneClearBlacklist @ 378 NONAME + _ZTV20CPhoneRecoverySystem @ 379 NONAME + _ZTV22CPhoneCallThemeMonitor @ 380 NONAME + _ZTV22CPhoneLibraryContainer @ 381 NONAME + _ZTV24CPhoneCenRepEventHandler @ 382 NONAME + _ZTV25CPhonePublishSubscriberAO @ 383 NONAME + _ZTV26CPhoneMainResourceResolver @ 384 NONAME + _ZTV26CPhoneResourceResolverBase @ 385 NONAME + _ZTV30CPhoneMainErrorMessagesHandler @ 386 NONAME + _ZThn4_N12CPhoneLoggerD0Ev @ 387 NONAME + _ZThn4_N12CPhoneLoggerD1Ev @ 388 NONAME + _ZThn4_N13CPhoneStorage14IsScreenLockedEv @ 389 NONAME + _ZThn4_N13CPhoneStorage15SetScreenLockedEi @ 390 NONAME + _ZThn4_N13CPhoneStorage19NeedToEnableKeylockEv @ 391 NONAME + _ZThn4_N13CPhoneStorage20ResetBlockedKeysListEv @ 392 NONAME + _ZThn4_N13CPhoneStorage22AppendBlockedKeysListLE12TStdScanCode @ 393 NONAME + _ZThn4_N13CPhoneStorage22IsBlockedKeysListEmptyEv @ 394 NONAME + _ZThn4_N13CPhoneStorage22SetNeedToEnableKeylockEi @ 395 NONAME + _ZThn4_N13CPhoneStorageD0Ev @ 396 NONAME + _ZThn4_N13CPhoneStorageD1Ev @ 397 NONAME + _ZThn4_N26CPhoneResourceResolverBaseD0Ev @ 398 NONAME + _ZThn4_N26CPhoneResourceResolverBaseD1Ev @ 399 NONAME + _ZThn4_NK13CPhoneStorage17GetBlockedKeyListEv @ 400 NONAME + _ZThn4_NK26CPhoneResourceResolverBase17ResolveResourceIDERKi @ 401 NONAME diff -r 6b911d05207e -r bc5a64e5bc3c phoneapp/phoneuiutils/inc/phoneloggerviewcommands.h --- a/phoneapp/phoneuiutils/inc/phoneloggerviewcommands.h Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneapp/phoneuiutils/inc/phoneloggerviewcommands.h Tue Jul 06 14:15:47 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2005 - 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" @@ -11,12 +11,11 @@ * * Contributors: * -* Description: -* Macro definition file for logging. +* Description: Macro definition file for logging. * */ -// Autogenerated from phoneloggerviewcommands.st by the stringtable tool - Do not edit +// Autogenerated from .\phoneloggerviewcommands.st by the stringtable tool - Do not edit #ifndef STRINGTABLE_PhoneLoggerviewCommands #define STRINGTABLE_PhoneLoggerviewCommands @@ -27,393 +26,429 @@ /** A String table */ class PhoneLoggerviewCommands - { + { public: - enum TStrings - { - /** EPhoneViewStartValue */ - EPhoneViewStartValue, - /** EPhoneViewCreateNumberEntry */ - EPhoneViewCreateNumberEntry, - /** EPhoneViewSetNumberEntryContent */ - EPhoneViewSetNumberEntryContent, - /** EPhoneViewSendKeyEventToNumberEntry */ - EPhoneViewSendKeyEventToNumberEntry, - /** EPhoneViewRemoveNumberEntry */ - EPhoneViewRemoveNumberEntry, - /** EPhoneViewSetNumberEntryVisible */ - EPhoneViewSetNumberEntryVisible, - /** EPhoneViewGetNumberFromEntry */ - EPhoneViewGetNumberFromEntry, - /** EPhoneViewGetNumberEntryCount */ - EPhoneViewGetNumberEntryCount, - /** EPhoneViewGetNumberEntryIsUsedStatus */ - EPhoneViewGetNumberEntryIsUsedStatus, - /** EPhoneViewGetNumberEntryIsVisibleStatus */ - EPhoneViewGetNumberEntryIsVisibleStatus, - /** EPhoneViewToggleNumberEntryAlphaNumericMode */ - EPhoneViewToggleNumberEntryAlphaNumericMode, - /** EPhoneViewIsNumberEntryNumericMode */ - EPhoneViewIsNumberEntryNumericMode, - /** EPhoneViewClearNumberEntryContent */ - EPhoneViewClearNumberEntryContent, - /** EPhoneViewCreateCallHeader */ - EPhoneViewCreateCallHeader, - /** EPhoneViewCreateEmergencyCallHeader */ - EPhoneViewCreateEmergencyCallHeader, - /** EPhoneViewUpdateCallHeaderRemoteInfoData */ - EPhoneViewUpdateCallHeaderRemoteInfoData, - /** EPhoneViewUpdateCallHeaderCallDuration */ - EPhoneViewUpdateCallHeaderCallDuration, - /** EPhoneViewRemoveCallHeader */ - EPhoneViewRemoveCallHeader, - /** EPhoneViewMenuBarOpen */ - EPhoneViewMenuBarOpen, - /** EPhoneViewMenuBarClose */ - EPhoneViewMenuBarClose, - /** EPhoneViewDimCbaCommand */ - EPhoneViewDimCbaCommand, - /** EPhoneViewUpdateCba */ - EPhoneViewUpdateCba, - /** EPhoneViewUpdateBubble */ - EPhoneViewUpdateBubble, - /** EPhoneViewMenuPane */ - EPhoneViewMenuPane, - /** EPhoneViewMenuBar */ - EPhoneViewMenuBar, - /** EPhoneViewSetTitlePaneContent */ - EPhoneViewSetTitlePaneContent, - /** EPhoneViewSetNaviPaneContent */ - EPhoneViewSetNaviPaneContent, - /** EPhoneViewSetTitlePanePicture */ - EPhoneViewSetTitlePanePicture, - /** EPhoneViewGetTitlePaneIsVisibleStatus */ - EPhoneViewGetTitlePaneIsVisibleStatus, - /** EPhoneViewActivateAudioPathUIChanges */ - EPhoneViewActivateAudioPathUIChanges, - /** EPhoneViewActivateAudioAvailabilityUIChanges */ - EPhoneViewActivateAudioAvailabilityUIChanges, - /** EPhoneViewActivateMuteUIChanges */ - EPhoneViewActivateMuteUIChanges, - /** EPhoneViewShowNote */ - EPhoneViewShowNote, - /** EPhoneViewShowGlobalNote */ - EPhoneViewShowGlobalNote, - /** EPhoneViewShowProgressNote */ - EPhoneViewShowProgressNote, - /** EPhoneViewRemoveNote */ - EPhoneViewRemoveNote, - /** EPhoneViewRemoveProgressNote */ - EPhoneViewRemoveProgressNote, - /** EPhoneViewRemoveGlobalNote */ - EPhoneViewRemoveGlobalNote, - /** EPhoneViewGetIsNoteVisible */ - EPhoneViewGetIsNoteVisible, - /** EPhoneViewGetIsProgressNoteVisible */ - EPhoneViewGetIsProgressNoteVisible, - /** EPhoneViewShowQuery */ - EPhoneViewShowQuery, - /** EPhoneViewSetListQueryString */ - EPhoneViewSetListQueryString, - /** EPhoneViewRemoveQuery */ - EPhoneViewRemoveQuery, - /** EPhoneViewGetTextQueryContents */ - EPhoneViewGetTextQueryContents, - /** EPhoneViewSetTopApplication */ - EPhoneViewSetTopApplication, - /** EPhoneViewBringAppToForeground */ - EPhoneViewBringAppToForeground, - /** EPhoneViewSendToBackground */ - EPhoneViewSendToBackground, - /** EPhoneViewSetNeedToSendToBackgroundStatus */ - EPhoneViewSetNeedToSendToBackgroundStatus, - /** EPhoneViewGetNeedToSendToBackgroundStatus */ - EPhoneViewGetNeedToSendToBackgroundStatus, - /** EPhoneViewGetTopApplicationIsDisplayedStatus */ - EPhoneViewGetTopApplicationIsDisplayedStatus, - /** EPhoneViewGetForegroundApplication */ - EPhoneViewGetForegroundApplication, - /** EPhoneViewSetBackgroundImageBitmap */ - EPhoneViewSetBackgroundImageBitmap, - /** EPhoneViewGetBackgroundImageBitmap */ - EPhoneViewGetBackgroundImageBitmap, - /** EPhoneViewActivateApp */ - EPhoneViewActivateApp, - /** EPhoneViewActivateAppView */ - EPhoneViewActivateAppView, - /** EPhoneViewActivateAppViewWithCustomMessage */ - EPhoneViewActivateAppViewWithCustomMessage, - /** EPhoneViewActivateAppViewConventional */ - EPhoneViewActivateAppViewConventional, - /** EPhoneViewLaunchApplication */ - EPhoneViewLaunchApplication, - /** EPhoneViewLaunchHelpApplication */ - EPhoneViewLaunchHelpApplication, - /** EPhoneViewOpenMessageEditor */ - EPhoneViewOpenMessageEditor, - /** EPhoneViewExitApplications */ - EPhoneViewExitApplications, - /** EPhoneViewUpdateIncallIndicator */ - EPhoneViewUpdateIncallIndicator, - /** EPhoneViewStartCapturingKey */ - EPhoneViewStartCapturingKey, - /** EPhoneViewStopCapturingKey */ - EPhoneViewStopCapturingKey, - /** EPhoneViewSetGlobalNotifiersDisabled */ - EPhoneViewSetGlobalNotifiersDisabled, - /** EPhoneViewGetHoldFlag */ - EPhoneViewGetHoldFlag, - /** EPhoneViewSetHoldFlag */ - EPhoneViewSetHoldFlag, - /** EPhoneViewSetSoftRejectFlag */ - EPhoneViewSetSoftRejectFlag, - /** EPhoneViewGetSoftRejectFlag */ - EPhoneViewGetSoftRejectFlag, - /** EPhoneViewSetServiceCodeFlag */ - EPhoneViewSetServiceCodeFlag, - /** EPhoneViewUpdateContact */ - EPhoneViewUpdateContact, - /** EPhoneViewAddContact */ - EPhoneViewAddContact, - /** EPhoneViewOpenSingleItemFetchDialog */ - EPhoneViewOpenSingleItemFetchDialog, - /** EPhoneViewRemovePhoneDialogs */ - EPhoneViewRemovePhoneDialogs, - /** EPhoneViewCreateConference */ - EPhoneViewCreateConference, - /** EPhoneViewAddToConference */ - EPhoneViewAddToConference, - /** EPhoneViewRemoveFromConference */ - EPhoneViewRemoveFromConference, - /** EPhoneViewPrivateFromConference */ - EPhoneViewPrivateFromConference, - /** EPhoneViewSelectedConfMember */ - EPhoneViewSelectedConfMember, - /** EPhoneViewOpenConferenceList */ - EPhoneViewOpenConferenceList, - /** EPhoneViewGetConferenceListVisibleFlag */ - EPhoneViewGetConferenceListVisibleFlag, - /** EPhoneViewGetCallState */ - EPhoneViewGetCallState, - /** EPhoneViewGetCallIdByState */ - EPhoneViewGetCallIdByState, - /** EPhoneViewMoveHighLightInList */ - EPhoneViewMoveHighLightInList, - /** EPhoneViewGetCountOfActiveCalls */ - EPhoneViewGetCountOfActiveCalls, - /** EPhoneViewSetNaviPaneAudioVolume */ - EPhoneViewSetNaviPaneAudioVolume, - /** EPhoneViewShowNaviPaneAudioVolume */ - EPhoneViewShowNaviPaneAudioVolume, - /** EPhoneViewHideNaviPaneAudioVolume */ - EPhoneViewHideNaviPaneAudioVolume, - /** EPhoneViewGetIsConference */ - EPhoneViewGetIsConference, - /** EPhoneViewGetCallExistsInConference */ - EPhoneViewGetCallExistsInConference, - /** EPhoneViewRemoveAllCallHeaders */ - EPhoneViewRemoveAllCallHeaders, - /** EPhoneViewPlayRingTone */ - EPhoneViewPlayRingTone, - /** EPhoneViewMuteRingTone */ - EPhoneViewMuteRingTone, - /** EPhoneViewStopRingTone */ - EPhoneViewStopRingTone, - /** EPhoneViewMuteRingToneOnAnswer */ - EPhoneViewMuteRingToneOnAnswer, - /** EPhoneViewCipheringInfoChange */ - EPhoneViewCipheringInfoChange, - /** EPhoneViewUpdateMaxConfMemberFlag */ - EPhoneViewUpdateMaxConfMemberFlag, - /** EPhoneViewCloseFSW */ - EPhoneViewCloseFSW, - /** EPhoneViewLaunchRfsDeep */ - EPhoneViewLaunchRfsDeep, - /** EPhoneViewLaunchRfsNormal */ - EPhoneViewLaunchRfsNormal, - /** EPhoneViewUpdateView */ - EPhoneViewUpdateView, - /** EPhoneViewOpenSoftRejectEditor */ - EPhoneViewOpenSoftRejectEditor, - /** EPhoneViewSendMessage */ - EPhoneViewSendMessage, - /** EPhoneViewSetBlockingDialogStatus */ - EPhoneViewSetBlockingDialogStatus, - /** EPhoneViewSetPhoneNumberAvailableInPhoneEngine */ - EPhoneViewSetPhoneNumberAvailableInPhoneEngine, - /** EPhoneViewSetSecurityMode */ - EPhoneViewSetSecurityMode, - /** EPhoneViewGetSecurityModeStatus */ - EPhoneViewGetSecurityModeStatus, - /** EPhoneViewSetStatusPaneVisible */ - EPhoneViewSetStatusPaneVisible, - /** EPhoneViewEnableKeyLock */ - EPhoneViewEnableKeyLock, - /** EPhoneViewEnableKeyLockWithoutNote */ - EPhoneViewEnableKeyLockWithoutNote, - /** EPhoneViewLaunchFaxModem */ - EPhoneViewLaunchFaxModem, - /** EPhoneViewUpdateFSW */ - EPhoneViewUpdateFSW, - /** EPhoneViewIsQuery */ - EPhoneViewIsQuery, - /** EPhoneViewBringIdleToForeground */ - EPhoneViewBringIdleToForeground, - /** EPhoneViewSetIdleTopApplication */ - EPhoneViewSetIdleTopApplication, - /** EPhoneViewBeginUpdate */ - EPhoneViewBeginUpdate, - /** EPhoneViewEndUpdate */ - EPhoneViewEndUpdate, - /** EPhoneViewSetConfrenceOptionsFlag */ - EPhoneViewSetConfrenceOptionsFlag, - /** EPhoneViewRemoveConferenceBubble */ - EPhoneViewRemoveConferenceBubble, - /** EPhoneViewGetSoftRejectWindowGroupId */ - EPhoneViewGetSoftRejectWindowGroupId, - /** EPhoneViewSetTouchPaneButtons */ - EPhoneViewSetTouchPaneButtons, - /** EPhoneViewSetTouchPaneVisible */ - EPhoneViewSetTouchPaneVisible, - /** EPhoneViewEnableTouchButton */ - EPhoneViewEnableTouchButton, - /** EPhoneViewDisableTouchButton */ - EPhoneViewDisableTouchButton, - /** EPhoneResetTouchButtons */ - EPhoneResetTouchButtons, - /** EPhoneViewGetIsConferenceInSelectionMode */ - EPhoneViewGetIsConferenceInSelectionMode, - /** EPhoneViewIsStraightCallToVideoMailBox */ - EPhoneViewIsStraightCallToVideoMailBox, - /** EPhoneViewSetDtmfDialerViewVisible */ - EPhoneViewSetDtmfDialerViewVisible, - /** EPhoneViewSetRetrictedDialer */ - EPhoneViewSetRetrictedDialer, - /** EPhoneViewIsConferenceInExpandedMode */ - EPhoneViewIsConferenceInExpandedMode, - /** EPhoneViewIsMenuBarVisible */ - EPhoneViewIsMenuBarVisible, - /** EPhoneViewGetBlockingDialogStatus */ - EPhoneViewGetBlockingDialogStatus, - /** EPhoneViewYesSingleItemFetch */ - EPhoneViewYesSingleItemFetch, - /** EPhoneViewNoSingleItemFetch */ - EPhoneViewNoSingleItemFetch, - /** EPhoneViewGetLocalizedNumberFromEntry */ - EPhoneViewGetLocalizedNumberFromEntry, - /** EPhoneViewIsNoteActive */ - EPhoneViewIsNoteActive, - /** EPhoneViewOpenNumberEntry */ - EPhoneViewOpenNumberEntry, - /** EPhoneViewOpenCallHandling */ - EPhoneViewOpenCallHandling, - /** EPhoneViewGetConferenceAndSingleFlag */ - EPhoneViewGetConferenceAndSingleFlag, - /** EPhoneViewSetConferenceAndSingleFlag */ - EPhoneViewSetConferenceAndSingleFlag, - /** EPhoneViewSetVideoCallFlag */ - EPhoneViewSetVideoCallFlag, - /** EPhoneViewSetDtmfOptionsFlag */ - EPhoneViewSetDtmfOptionsFlag, - /** EPhoneViewShowVTSetupFailedCreateCallToSameContactQuery */ - EPhoneViewShowVTSetupFailedCreateCallToSameContactQuery, - /** EPhoneViewGetAudioVolumeLevel */ - EPhoneViewGetAudioVolumeLevel, - /** EPhoneViewIsIdleTopApp */ - EPhoneViewIsIdleTopApp, - /** EPhoneViewUpdateToolbar */ - EPhoneViewUpdateToolbar, - /** EPhoneViewSetControlAndVisibility */ - EPhoneViewSetControlAndVisibility, - /** EPhoneViewAllowWaitingCallHeader */ - EPhoneViewAllowWaitingCallHeader, - /** EPhoneViewBeginTransEffect */ - EPhoneViewBeginTransEffect, - /** EPhoneViewEndTransEffect */ - EPhoneViewEndTransEffect, - /** EPhoneViewSetDialerControlVisible */ - EPhoneViewSetDialerControlVisible, - /** EPhoneViewCloseSingleItemFetchDialog */ - EPhoneViewCloseSingleItemFetchDialog, - /** EPhoneViewGetActivatePreviousApp */ - EPhoneViewGetActivatePreviousApp, - /** EPhoneViewActivatePreviousApp */ - EPhoneViewActivatePreviousApp, - /** EPhoneViewSetPointerCapture */ - EPhoneViewSetPointerCapture, - /** EPhoneViewSetSendKeyDialerActivationFlag */ - EPhoneViewSetSendKeyDialerActivationFlag, - /** EPhoneViewPrepareIcons */ - EPhoneViewPrepareIcons, - /** EPhoneViewKeypadAudioEnabled */ - EPhoneViewKeypadAudioEnabled, - /** EPhoneViewKeypadAudioDisabled */ - EPhoneViewKeypadAudioDisabled, - /** EPhoneViewUpdateCallHeaderRemoteInfoDataAndLabel */ - EPhoneViewUpdateCallHeaderRemoteInfoDataAndLabel, - /** EPhoneViewRemoveDtmfNote */ - EPhoneViewRemoveDtmfNote, - /** EPhoneViewUpdatePhoneIconToFSW */ - EPhoneViewUpdatePhoneIconToFSW, - /** EPhoneViewSetEikonNotifiersDisabled */ - EPhoneViewSetEikonNotifiersDisabled, - /** EPhoneViewCancelAllNotications */ - EPhoneViewCancelAllNotications, - /** EPhoneViewSetVideoCallDTMFVisibilityFlag */ - EPhoneViewSetVideoCallDTMFVisibilityFlag, - /** EPhoneViewIsKeyLockEnabled */ - EPhoneViewIsKeyLockEnabled, - /** EPhoneViewDisableKeyLock */ - EPhoneViewDisableKeyLock, - /** EPhoneViewLoadPlugins */ - EPhoneViewLoadPlugins, - /** PhoneViewServiceSelection */ - PhoneViewServiceSelection, - /** EPhoneViewOpenVirtualKeyBoard */ - EPhoneViewOpenVirtualKeyBoard, - /** EPhoneViewUpdateNoteSoftkeys */ - EPhoneViewUpdateNoteSoftkeys, - /** EPhoneViewShowCustomizedDialer */ - EPhoneViewShowCustomizedDialer, - /** EPhoneViewHideCustomizedDialer */ - EPhoneViewHideCustomizedDialer, - /** EPhoneViewGetCustomizedDialerMenuResourceId */ - EPhoneViewGetCustomizedDialerMenuResourceId, - /** EPhoneViewGetCustomizedDialerCbaResourceId */ - EPhoneViewGetCustomizedDialerCbaResourceId, - /** EPhoneViewCreatePhoneBookServices */ - EPhoneViewCreatePhoneBookServices, - /** EPhoneViewDisableKeyLockWithoutNote */ - EPhoneViewDisableKeyLockWithoutNote, - /** EPhoneViewGetKeyLockStatus */ - EPhoneViewGetKeyLockStatus, - /** EPhoneViewSetNumberEntryObserver */ - EPhoneViewSetNumberEntryObserver, - /** EPhoneViewGetSingleItemFetchType */ - EPhoneViewGetSingleItemFetchType, - /** EPhoneViewRemoveGlobalWaitNote */ - EPhoneViewRemoveGlobalWaitNote, - /** EPhoneViewSetPhoneCustomization */ - EPhoneViewSetPhoneCustomization, - /** EPhoneViewSetViewCustomization */ - EPhoneViewSetViewCustomization, - /** EPhoneViewSetButtonCustomization */ - EPhoneViewSetButtonCustomization, - /** EPhoneViewUpdateContactByString */ - EPhoneViewUpdateContactByString, - /** EPhoneViewAddContactByString */ - EPhoneViewAddContactByString, - /** EPhoneViewIsActiveNoteDissmissableByKeyEvent */ - EPhoneViewIsActiveNoteDissmissableByKeyEvent, - /** EPhoneViewSetNoConnectedCalls */ - EPhoneViewSetNoConnectedCalls, - /** EPhoneViewIsDTMFEditorVisible */ - EPhoneViewIsDTMFEditorVisible, - /** , // Don't remove this, this should always be the last in list. */ - EPhoneAmountOfCommands - }; - static const TStringTable Table; - }; + enum TStrings + { + /** EPhoneViewStartValue */ + EPhoneViewStartValue, + /** EPhoneViewCreateNumberEntry */ + EPhoneViewCreateNumberEntry, + /** EPhoneViewSetNumberEntryContent */ + EPhoneViewSetNumberEntryContent, + /** EPhoneViewSendKeyEventToNumberEntry */ + EPhoneViewSendKeyEventToNumberEntry, + /** EPhoneViewRemoveNumberEntry */ + EPhoneViewRemoveNumberEntry, + /** EPhoneViewSetNumberEntryVisible */ + EPhoneViewSetNumberEntryVisible, + /** EPhoneViewGetNumberFromEntry */ + EPhoneViewGetNumberFromEntry, + /** EPhoneViewGetNumberEntryCount */ + EPhoneViewGetNumberEntryCount, + /** EPhoneViewGetNumberEntryIsUsedStatus */ + EPhoneViewGetNumberEntryIsUsedStatus, + /** EPhoneViewGetNumberEntryIsVisibleStatus */ + EPhoneViewGetNumberEntryIsVisibleStatus, + /** EPhoneViewToggleNumberEntryAlphaNumericMode */ + EPhoneViewToggleNumberEntryAlphaNumericMode, + /** EPhoneViewIsNumberEntryNumericMode */ + EPhoneViewIsNumberEntryNumericMode, + /** EPhoneViewClearNumberEntryContent */ + EPhoneViewClearNumberEntryContent, + /** EPhoneViewCreateCallHeader */ + EPhoneViewCreateCallHeader, + /** EPhoneViewCreateEmergencyCallHeader */ + EPhoneViewCreateEmergencyCallHeader, + /** EPhoneViewUpdateCallHeaderRemoteInfoData */ + EPhoneViewUpdateCallHeaderRemoteInfoData, + /** EPhoneViewUpdateCallHeaderCallDuration */ + EPhoneViewUpdateCallHeaderCallDuration, + /** EPhoneViewRemoveCallHeader */ + EPhoneViewRemoveCallHeader, + /** EPhoneViewMenuBarOpen */ + EPhoneViewMenuBarOpen, + /** EPhoneViewMenuBarClose */ + EPhoneViewMenuBarClose, + /** EPhoneViewDimCbaCommand */ + EPhoneViewDimCbaCommand, + /** EPhoneViewUpdateCba */ + EPhoneViewUpdateCba, + /** EPhoneViewUpdateBubble */ + EPhoneViewUpdateBubble, + /** EPhoneViewMenuPane */ + EPhoneViewMenuPane, + /** EPhoneViewMenuBar */ + EPhoneViewMenuBar, + /** EPhoneViewSetTitlePaneContent */ + EPhoneViewSetTitlePaneContent, + /** EPhoneViewSetNaviPaneContent */ + EPhoneViewSetNaviPaneContent, + /** EPhoneViewSetTitlePanePicture */ + EPhoneViewSetTitlePanePicture, + /** EPhoneViewGetTitlePaneIsVisibleStatus */ + EPhoneViewGetTitlePaneIsVisibleStatus, + /** EPhoneViewActivateAudioPathUIChanges */ + EPhoneViewActivateAudioPathUIChanges, + /** EPhoneViewActivateAudioAvailabilityUIChanges */ + EPhoneViewActivateAudioAvailabilityUIChanges, + /** EPhoneViewActivateMuteUIChanges */ + EPhoneViewActivateMuteUIChanges, + /** EPhoneViewShowNote */ + EPhoneViewShowNote, + /** EPhoneViewShowGlobalNote */ + EPhoneViewShowGlobalNote, + /** EPhoneViewShowProgressNote */ + EPhoneViewShowProgressNote, + /** EPhoneViewRemoveNote */ + EPhoneViewRemoveNote, + /** EPhoneViewRemoveProgressNote */ + EPhoneViewRemoveProgressNote, + /** EPhoneViewRemoveGlobalNote */ + EPhoneViewRemoveGlobalNote, + /** EPhoneViewGetIsNoteVisible */ + EPhoneViewGetIsNoteVisible, + /** EPhoneViewGetIsProgressNoteVisible */ + EPhoneViewGetIsProgressNoteVisible, + /** EPhoneViewShowQuery */ + EPhoneViewShowQuery, + /** EPhoneViewSetListQueryString */ + EPhoneViewSetListQueryString, + /** EPhoneViewRemoveQuery */ + EPhoneViewRemoveQuery, + /** EPhoneViewGetTextQueryContent */ + EPhoneViewGetTextQueryContent, + /** EPhoneViewSetTopApplication */ + EPhoneViewSetTopApplication, + /** EPhoneViewBringAppToForeground */ + EPhoneViewBringAppToForeground, + /** EPhoneViewSendToBackground */ + EPhoneViewSendToBackground, + /** EPhoneViewSetNeedToSendToBackgroundStatus */ + EPhoneViewSetNeedToSendToBackgroundStatus, + /** EPhoneViewGetNeedToSendToBackgroundStatus */ + EPhoneViewGetNeedToSendToBackgroundStatus, + /** EPhoneViewGetTopApplicationIsDisplayedStatus */ + EPhoneViewGetTopApplicationIsDisplayedStatus, + /** EPhoneViewGetForegroundApplication */ + EPhoneViewGetForegroundApplication, + /** EPhoneViewSetBackgroundImageBitmap */ + EPhoneViewSetBackgroundImageBitmap, + /** EPhoneViewGetBackgroundImageBitmap */ + EPhoneViewGetBackgroundImageBitmap, + /** EPhoneViewActivateApp */ + EPhoneViewActivateApp, + /** EPhoneViewActivateAppView */ + EPhoneViewActivateAppView, + /** EPhoneViewActivateAppViewWithCustomMessage */ + EPhoneViewActivateAppViewWithCustomMessage, + /** EPhoneViewActivateAppViewConventional */ + EPhoneViewActivateAppViewConventional, + /** EPhoneViewLaunchApplication */ + EPhoneViewLaunchApplication, + /** EPhoneViewLaunchHelpApplication */ + EPhoneViewLaunchHelpApplication, + /** EPhoneViewOpenMessageEditor */ + EPhoneViewOpenMessageEditor, + /** EPhoneViewExitApplications */ + EPhoneViewExitApplications, + /** EPhoneViewUpdateIncallIndicator */ + EPhoneViewUpdateIncallIndicator, + /** EPhoneViewStartCapturingKey */ + EPhoneViewStartCapturingKey, + /** EPhoneViewStopCapturingKey */ + EPhoneViewStopCapturingKey, + /** EPhoneViewSetGlobalNotifiersDisabled */ + EPhoneViewSetGlobalNotifiersDisabled, + /** EPhoneViewGetHoldFlag */ + EPhoneViewGetHoldFlag, + /** EPhoneViewSetHoldFlag */ + EPhoneViewSetHoldFlag, + /** EPhoneViewSetSoftRejectFlag */ + EPhoneViewSetSoftRejectFlag, + /** EPhoneViewGetSoftRejectFlag */ + EPhoneViewGetSoftRejectFlag, + /** EPhoneViewSetServiceCodeFlag */ + EPhoneViewSetServiceCodeFlag, + /** EPhoneViewUpdateContact */ + EPhoneViewUpdateContact, + /** EPhoneViewAddContact */ + EPhoneViewAddContact, + /** EPhoneViewOpenSingleItemFetchDialog */ + EPhoneViewOpenSingleItemFetchDialog, + /** EPhoneViewRemovePhoneDialogs */ + EPhoneViewRemovePhoneDialogs, + /** EPhoneViewCreateConference */ + EPhoneViewCreateConference, + /** EPhoneViewAddToConference */ + EPhoneViewAddToConference, + /** EPhoneViewRemoveFromConference */ + EPhoneViewRemoveFromConference, + /** EPhoneViewPrivateFromConference */ + EPhoneViewPrivateFromConference, + /** EPhoneViewSelectedConfMember */ + EPhoneViewSelectedConfMember, + /** EPhoneViewGetConferenceListVisibleFlag */ + EPhoneViewGetConferenceListVisibleFlag, + /** EPhoneViewOpenConferenceList */ + EPhoneViewOpenConferenceList, + /** EPhoneViewGetCallState */ + EPhoneViewGetCallState, + /** EPhoneViewGetCallIdByState */ + EPhoneViewGetCallIdByState, + /** EPhoneViewMoveHighLightInList */ + EPhoneViewMoveHighLightInList, + /** EPhoneViewGetCountOfActiveCalls */ + EPhoneViewGetCountOfActiveCalls, + /** EPhoneViewSetNaviPaneAudioVolume */ + EPhoneViewSetNaviPaneAudioVolume, + /** EPhoneViewShowNaviPaneAudioVolume */ + EPhoneViewShowNaviPaneAudioVolume, + /** EPhoneViewHideNaviPaneAudioVolume */ + EPhoneViewHideNaviPaneAudioVolume, + /** EPhoneViewGetIsConference */ + EPhoneViewGetIsConference, + /** EPhoneViewGetCallExistsInConference */ + EPhoneViewGetCallExistsInConference, + /** EPhoneViewRemoveAllCallHeaders */ + EPhoneViewRemoveAllCallHeaders, + /** EPhoneViewPlayRingTone */ + EPhoneViewPlayRingTone, + /** EPhoneViewMuteRingTone */ + EPhoneViewMuteRingTone, + /** EPhoneViewStopRingTone */ + EPhoneViewStopRingTone, + /** EPhoneViewMuteRingToneOnAnswer */ + EPhoneViewMuteRingToneOnAnswer, + /** EPhoneViewCipheringInfoChange */ + EPhoneViewCipheringInfoChange, + /** EPhoneViewUpdateMaxConfMemberFlag */ + EPhoneViewUpdateMaxConfMemberFlag, + /** EPhoneViewCloseFSW */ + EPhoneViewCloseFSW, + /** EPhoneViewLaunchRfsDeep */ + EPhoneViewLaunchRfsDeep, + /** EPhoneViewLaunchRfsNormal */ + EPhoneViewLaunchRfsNormal, + /** EPhoneViewUpdateView */ + EPhoneViewUpdateView, + /** EPhoneViewOpenSoftRejectEditor */ + EPhoneViewOpenSoftRejectEditor, + /** EPhoneViewSendMessage */ + EPhoneViewSendMessage, + /** EPhoneViewSetBlockingDialogStatus */ + EPhoneViewSetBlockingDialogStatus, + /** EPhoneViewSetPhoneNumberAvailableInPhoneEngine */ + EPhoneViewSetPhoneNumberAvailableInPhoneEngine, + /** EPhoneViewSetSecurityMode */ + EPhoneViewSetSecurityMode, + /** EPhoneViewGetSecurityModeStatus */ + EPhoneViewGetSecurityModeStatus, + /** EPhoneViewSetStatusPaneVisible */ + EPhoneViewSetStatusPaneVisible, + /** EPhoneViewEnableKeyLock */ + EPhoneViewEnableKeyLock, + /** EPhoneViewEnableKeyLockWithoutNote */ + EPhoneViewEnableKeyLockWithoutNote, + /** EPhoneViewLaunchFaxModem */ + EPhoneViewLaunchFaxModem, + /** EPhoneViewUpdateFSW */ + EPhoneViewUpdateFSW, + /** EPhoneViewIsQuery */ + EPhoneViewIsQuery, + /** EPhoneViewBringIdleToForeground */ + EPhoneViewBringIdleToForeground, + /** EPhoneViewSetIdleTopApplication */ + EPhoneViewSetIdleTopApplication, + /** EPhoneViewBeginUpdate */ + EPhoneViewBeginUpdate, + /** EPhoneViewEndUpdate */ + EPhoneViewEndUpdate, + /** EPhoneViewSetConfrenceOptionsFlag */ + EPhoneViewSetConfrenceOptionsFlag, + /** EPhoneViewRemoveConferenceBubble */ + EPhoneViewRemoveConferenceBubble, + /** EPhoneViewGetSoftRejectWindowGroupId */ + EPhoneViewGetSoftRejectWindowGroupId, + /** EPhoneViewSetTouchPaneButtons */ + EPhoneViewSetTouchPaneButtons, + /** EPhoneViewSetTouchPaneVisible */ + EPhoneViewSetTouchPaneVisible, + /** EPhoneViewEnableTouchButton */ + EPhoneViewEnableTouchButton, + /** EPhoneViewDisableTouchButton */ + EPhoneViewDisableTouchButton, + /** EPhoneResetTouchButtons */ + EPhoneResetTouchButtons, + /** EPhoneViewGetIsConferenceInSelectionMode */ + EPhoneViewGetIsConferenceInSelectionMode, + /** EPhoneViewIsStraightCallToVideoMailBox */ + EPhoneViewIsStraightCallToVideoMailBox, + /** EPhoneViewSetDtmfDialerViewVisible */ + EPhoneViewSetDtmfDialerViewVisible, + /** EPhoneViewSetRetrictedDialer */ + EPhoneViewSetRetrictedDialer, + /** EPhoneViewIsConferenceInExpandedMode */ + EPhoneViewIsConferenceInExpandedMode, + /** EPhoneViewIsMenuBarVisible */ + EPhoneViewIsMenuBarVisible, + /** EPhoneViewGetBlockingDialogStatus */ + EPhoneViewGetBlockingDialogStatus, + /** EPhoneViewYesSingleItemFetch */ + EPhoneViewYesSingleItemFetch, + /** EPhoneViewNoSingleItemFetch */ + EPhoneViewNoSingleItemFetch, + /** EPhoneViewGetLocalizedNumberFromEntry */ + EPhoneViewGetLocalizedNumberFromEntry, + /** EPhoneViewIsNoteActive */ + EPhoneViewIsNoteActive, + /** EPhoneViewOpenNumberEntry */ + EPhoneViewOpenNumberEntry, + /** EPhoneViewOpenCallHandling */ + EPhoneViewOpenCallHandling, + /** EPhoneViewGetConferenceAndSingleFlag */ + EPhoneViewGetConferenceAndSingleFlag, + /** EPhoneViewSetConferenceAndSingleFlag */ + EPhoneViewSetConferenceAndSingleFlag, + /** EPhoneViewSetVideoCallFlag */ + EPhoneViewSetVideoCallFlag, + /** EPhoneViewSetDtmfOptionsFlag */ + EPhoneViewSetDtmfOptionsFlag, + /** EPhoneViewShowVTSetupFailedCreateCallToSameContactQuery */ + EPhoneViewShowVTSetupFailedCreateCallToSameContactQuery, + /** EPhoneViewGetAudioVolumeLevel */ + EPhoneViewGetAudioVolumeLevel, + /** EPhoneViewIsIdleTopApp */ + EPhoneViewIsIdleTopApp, + /** EPhoneViewUpdateToolbar */ + EPhoneViewUpdateToolbar, + /** EPhoneViewSetControlAndVisibility */ + EPhoneViewSetControlAndVisibility, + /** EPhoneViewAllowWaitingCallHeader */ + EPhoneViewAllowWaitingCallHeader, + /** EPhoneViewBeginTransEffect */ + EPhoneViewBeginTransEffect, + /** EPhoneViewEndTransEffect */ + EPhoneViewEndTransEffect, + /** EPhoneViewSetDialerControlVisible */ + EPhoneViewSetDialerControlVisible, + /** EPhoneViewCloseSingleItemFetchDialog */ + EPhoneViewCloseSingleItemFetchDialog, + /** EPhoneViewGetActivatePreviousApp */ + EPhoneViewGetActivatePreviousApp, + /** EPhoneViewActivatePreviousApp */ + EPhoneViewActivatePreviousApp, + /** EPhoneViewSetPointerCapture */ + EPhoneViewSetPointerCapture, + /** EPhoneViewSetSendKeyDialerActivationFlag */ + EPhoneViewSetSendKeyDialerActivationFlag, + /** EPhoneViewPrepareIcons */ + EPhoneViewPrepareIcons, + /** EPhoneViewKeypadAudioEnabled */ + EPhoneViewKeypadAudioEnabled, + /** EPhoneViewKeypadAudioDisabled */ + EPhoneViewKeypadAudioDisabled, + /** EPhoneViewUpdateCallHeaderRemoteInfoDataAndLabel */ + EPhoneViewUpdateCallHeaderRemoteInfoDataAndLabel, + /** EPhoneViewRemoveDtmfNote */ + EPhoneViewRemoveDtmfNote, + /** EPhoneViewUpdatePhoneIconToFSW */ + EPhoneViewUpdatePhoneIconToFSW, + /** EPhoneViewSetEikonNotifiersDisabled */ + EPhoneViewSetEikonNotifiersDisabled, + /** EPhoneViewCancelAllNotications */ + EPhoneViewCancelAllNotications, + /** EPhoneViewSetVideoCallDTMFVisibilityFlag */ + EPhoneViewSetVideoCallDTMFVisibilityFlag, + /** EPhoneViewIsKeyLockEnabled */ + EPhoneViewIsKeyLockEnabled, + /** EPhoneViewDisableKeyLock */ + EPhoneViewDisableKeyLock, + /** EPhoneViewLoadPlugins */ + EPhoneViewLoadPlugins, + /** EPhoneViewOpenVirtualKeyBoard */ + EPhoneViewOpenVirtualKeyBoard, + /** EPhoneViewUpdateNoteSoftkeys */ + EPhoneViewUpdateNoteSoftkeys, + /** EPhoneViewSendAiwCommand */ + EPhoneViewSendAiwCommand, + /** EPhoneViewShowCustomizedDialer */ + EPhoneViewShowCustomizedDialer, + /** EPhoneViewHideCustomizedDialer */ + EPhoneViewHideCustomizedDialer, + /** EPhoneViewGetCustomizedDialerMenuResourceId */ + EPhoneViewGetCustomizedDialerMenuResourceId, + /** EPhoneViewGetCustomizedDialerCbaResourceId */ + EPhoneViewGetCustomizedDialerCbaResourceId, + /** EPhoneViewCipheringInfoChangePlayTone */ + EPhoneViewCipheringInfoChangePlayTone, + /** EPhoneViewCreatePhoneBookServices */ + EPhoneViewCreatePhoneBookServices, + /** EPhoneViewDisableKeyLockWithoutNote */ + EPhoneViewDisableKeyLockWithoutNote, + /** EPhoneViewGetKeyLockStatus */ + EPhoneViewGetKeyLockStatus, + /** EPhoneViewSetNumberEntryObserver */ + EPhoneViewSetNumberEntryObserver, + /** EPhoneViewGetSingleItemFetchType */ + EPhoneViewGetSingleItemFetchType, + /** EPhoneViewRemoveGlobalWaitNote */ + EPhoneViewRemoveGlobalWaitNote, + /** EPhoneViewSetPhoneCustomization */ + EPhoneViewSetPhoneCustomization, + /** EPhoneViewSetViewCustomization */ + EPhoneViewSetViewCustomization, + /** EPhoneViewSetButtonCustomization */ + EPhoneViewSetButtonCustomization, + /** EPhoneViewUpdateContactByString */ + EPhoneViewUpdateContactByString, + /** EPhoneViewAddContactByString */ + EPhoneViewAddContactByString, + /** EPhoneViewIsActiveNoteDissmissableByKeyEvent */ + EPhoneViewIsActiveNoteDissmissableByKeyEvent, + /** EPhoneViewUpdateContextMenu */ + EPhoneViewUpdateContextMenu, + /** EPhoneViewSetNoConnectedCalls */ + EPhoneViewSetNoConnectedCalls, + /** EPhoneViewIsDTMFEditorVisible */ + EPhoneViewIsDTMFEditorVisible, + /** EPhoneViewSetToolbarDimming */ + EPhoneViewSetToolbarDimming, + /** EPhoneViewEnableToolbarButton */ + EPhoneViewEnableToolbarButton, + /** EPhoneViewHideToolbar */ + EPhoneViewHideToolbar, + /** EPhoneViewShowToolbar */ + EPhoneViewShowToolbar, + /** EPhoneViewGetExpandedBubbleCallId */ + EPhoneViewGetExpandedBubbleCallId, + /** EPhoneViewOpenDialer */ + EPhoneViewOpenDialer, + /** EPhoneSetConferenceExpanded */ + EPhoneSetConferenceExpanded, + /** EPhoneAppShutDown */ + EPhoneAppShutDown, + /** EPhoneViewBackButtonActive */ + EPhoneViewBackButtonActive, + /** EPhoneViewHsToForegroundAfterCall */ + EPhoneViewHsToForegroundAfterCall, + /** EPhoneViewOpenContacts */ + EPhoneViewOpenContacts, + /** EPhoneViewSetIhfFlag */ + EPhoneViewSetIhfFlag, + /** EPhoneViewSetMuteFlag */ + EPhoneViewSetMuteFlag, + /** EPhoneViewLaunchLogs */ + EPhoneViewLaunchLogs, + /** EPhoneViewSetBlueToothFlag */ + EPhoneViewSetBlueToothFlag, + /** EPhoneViewSetBluetoothAvailableFlag */ + EPhoneViewSetBluetoothAvailableFlag, + /** , // Don't remove this, this should always be the last in list. */ + EPhoneAmountOfCommands + }; + static const TStringTable Table; + }; #endif // STRINGTABLE_PhoneLoggerviewCommands diff -r 6b911d05207e -r bc5a64e5bc3c phoneapp/phoneuiutils/inc/phonerssbase.h --- a/phoneapp/phoneuiutils/inc/phonerssbase.h Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneapp/phoneuiutils/inc/phonerssbase.h Tue Jul 06 14:15:47 2010 +0300 @@ -340,6 +340,7 @@ EPhoneNoteNoService, EPhoneNoteCallInfoCauseValue16, EPhoneNoteCallInfoCauseValue18, + EPhoneNoteCallInfoCauseValue21, EPhoneNoteCallInfoCauseValue22, EPhoneNoteCallInfoCauseValue34, EPhoneNoteCallInfoCauseValue38, diff -r 6b911d05207e -r bc5a64e5bc3c phoneapp/phoneuiutils/inc/phonestatestrings.h --- a/phoneapp/phoneuiutils/inc/phonestatestrings.h Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneapp/phoneuiutils/inc/phonestatestrings.h Tue Jul 06 14:15:47 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2005 - 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" @@ -11,12 +11,11 @@ * * Contributors: * -* Description: -* Macro definition file for logging. +* Description: Macro definition file for logging. * */ -// Autogenerated from phonestatestrings.st by the stringtable tool - Do not edit +// Autogenerated from .\phonestatestrings.st by the stringtable tool - Do not edit #ifndef STRINGTABLE_PhoneStateStrings #define STRINGTABLE_PhoneStateStrings @@ -27,27 +26,27 @@ /** A String table */ class PhoneStateStrings - { + { public: - enum TStrings - { - /** EPhoneStateNull */ - EPhoneStateNull, - /** EPhoneStateStartup */ - EPhoneStateStartup, - /** EPhoneStateIdle */ - EPhoneStateIdle, - /** EPhoneStateCallSetup */ - EPhoneStateCallSetup, - /** EPhoneStateSingle */ - EPhoneStateSingle, - /** EPhoneStateIncoming */ - EPhoneStateIncoming, - /** EPhoneStateEmergency */ - EPhoneStateEmergency - }; - static const TStringTable Table; - }; + enum TStrings + { + /** EPhoneStateNull */ + EPhoneStateNull, + /** EPhoneStateStartup */ + EPhoneStateStartup, + /** EPhoneStateIdle */ + EPhoneStateIdle, + /** EPhoneStateCallSetup */ + EPhoneStateCallSetup, + /** EPhoneStateSingle */ + EPhoneStateSingle, + /** EPhoneStateIncoming */ + EPhoneStateIncoming, + /** EPhoneStateEmergency */ + EPhoneStateEmergency + }; + static const TStringTable Table; + }; #endif // STRINGTABLE_PhoneStateStrings diff -r 6b911d05207e -r bc5a64e5bc3c phoneapp/phoneuiutils/inc/phonestatestringsgsm.h --- a/phoneapp/phoneuiutils/inc/phonestatestringsgsm.h Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneapp/phoneuiutils/inc/phonestatestringsgsm.h Tue Jul 06 14:15:47 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2005 - 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" @@ -11,12 +11,11 @@ * * Contributors: * -* Description: -* Macro definition file for logging. +* Description: Macro definition file for logging. * */ -// Autogenerated from phonestatestringsgsm.st by the stringtable tool - Do not edit +// Autogenerated from .\phonestatestringsgsm.st by the stringtable tool - Do not edit #ifndef STRINGTABLE_PhoneStateStringsGSM #define STRINGTABLE_PhoneStateStringsGSM @@ -27,44 +26,44 @@ /** A String table */ class PhoneStateStringsGSM - { + { public: - enum TStrings - { - // GSM States - start at KPhoneStateProtocolFirst - /** EPhoneStateAlerting */ - EPhoneStateAlerting, - /** EPhoneStateAlertingInSingle */ - EPhoneStateAlertingInSingle, - /** EPhoneStateWaitingInSingle */ - EPhoneStateWaitingInSingle, - /** EPhoneStateTwoSingles */ - EPhoneStateTwoSingles, - /** EPhoneStateCallSetupInSingle */ - EPhoneStateCallSetupInSingle, - /** EPhoneStateConference */ - EPhoneStateConference, - /** EPhoneStateConferenceAndCallSetup */ - EPhoneStateConferenceAndCallSetup, - /** EPhoneStateConferenceAndSingle */ - EPhoneStateConferenceAndSingle, - /** EPhoneStateConferenceAndWaiting */ - EPhoneStateConferenceAndWaiting, - /** EPhoneStateSingleAndCallSetupAndWaiting */ - EPhoneStateSingleAndCallSetupAndWaiting, - /** EPhoneStateCallSetupAndWaiting */ - EPhoneStateCallSetupAndWaiting, - /** EPhoneStateTwoSinglesAndWaiting */ - EPhoneStateTwoSinglesAndWaiting, - /** EPhoneStateConferenceAndSingleAndWaiting */ - EPhoneStateConferenceAndSingleAndWaiting, - /** EPhoneStateConferenceAndWaitingAndCallSetup */ - EPhoneStateConferenceAndWaitingAndCallSetup, - /** EPhoneStateLastGSMState */ - EPhoneStateLastGSMState - }; - static const TStringTable Table; - }; + enum TStrings + { + // GSM States - start at KPhoneStateProtocolFirst + /** EPhoneStateAlerting */ + EPhoneStateAlerting, + /** EPhoneStateAlertingInSingle */ + EPhoneStateAlertingInSingle, + /** EPhoneStateWaitingInSingle */ + EPhoneStateWaitingInSingle, + /** EPhoneStateTwoSingles */ + EPhoneStateTwoSingles, + /** EPhoneStateCallSetupInSingle */ + EPhoneStateCallSetupInSingle, + /** EPhoneStateConference */ + EPhoneStateConference, + /** EPhoneStateConferenceAndCallSetup */ + EPhoneStateConferenceAndCallSetup, + /** EPhoneStateConferenceAndSingle */ + EPhoneStateConferenceAndSingle, + /** EPhoneStateConferenceAndWaiting */ + EPhoneStateConferenceAndWaiting, + /** EPhoneStateSingleAndCallSetupAndWaiting */ + EPhoneStateSingleAndCallSetupAndWaiting, + /** EPhoneStateCallSetupAndWaiting */ + EPhoneStateCallSetupAndWaiting, + /** EPhoneStateTwoSinglesAndWaiting */ + EPhoneStateTwoSinglesAndWaiting, + /** EPhoneStateConferenceAndSingleAndWaiting */ + EPhoneStateConferenceAndSingleAndWaiting, + /** EPhoneStateConferenceAndWaitingAndCallSetup */ + EPhoneStateConferenceAndWaitingAndCallSetup, + /** EPhoneStateLastGSMState */ + EPhoneStateLastGSMState + }; + static const TStringTable Table; + }; #endif // STRINGTABLE_PhoneStateStringsGSM diff -r 6b911d05207e -r bc5a64e5bc3c phoneapp/phoneuiutils/inc/tphonecmdparamglobalnote.h --- a/phoneapp/phoneuiutils/inc/tphonecmdparamglobalnote.h Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneapp/phoneuiutils/inc/tphonecmdparamglobalnote.h Tue Jul 06 14:15:47 2010 +0300 @@ -96,6 +96,12 @@ IMPORT_C void SetNotificationDialog( TBool aNotificationDialog ); /** + * Sets cause code. + * @param aCauseCode Cause code. + */ + IMPORT_C void SetCauseCode( TInt aCauseCode ); + + /** * Returns the global note type * @return Returns the type */ @@ -142,6 +148,12 @@ * @return Notification dialog flag. */ IMPORT_C TBool NotificationDialog() const; + + /** + * Returns cause code. + * @return Cause code. + */ + IMPORT_C TInt CauseCode() const; private: @@ -185,6 +197,10 @@ */ TBool iNotificationDialog; + /** + * Cause code. + */ + TInt iCauseCode; }; #endif // __TPHONECMDPARAMGLOBALNOTE_H diff -r 6b911d05207e -r bc5a64e5bc3c phoneapp/phoneuiutils/src/cphonepubsubproxy.cpp --- a/phoneapp/phoneuiutils/src/cphonepubsubproxy.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneapp/phoneuiutils/src/cphonepubsubproxy.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -170,7 +170,7 @@ { __ASSERT_DEBUG( aObserver, Panic( EPhoneUtilsParameterNotInitialized ) ); __LOGMETHODSTARTEND(EPhoneUIUtils, "CPhonePubSubProxy::NotifyChangeL() "); - + // make sure this a new item in iObserverArray TBool requestIssued = EFalse; TBool sameRequestIssuedByObserver = EFalse; @@ -291,7 +291,7 @@ { TInt count = iObserverArray->Count(); - // Remove the observer and its subscriptions + // Remove the observer TBool observerRemoved = EFalse; for( TInt i = count - 1; i >= 0 && !observerRemoved; i-- ) { @@ -301,22 +301,6 @@ // Remove observer observerRemoved = ETrue; iObserverArray->Delete( i ); - - // Remove this observers' subscriptions - TInt pubSubCount = iPublishSubscriberArray->Count(); - - for ( TInt j = 0; j < pubSubCount; j++ ) - { - CPhonePublishSubscriberAO* publishSubscriber = - iPublishSubscriberArray->At( j ); - - if ( publishSubscriber->Category() == observerTag.iCategory && - publishSubscriber->Key() == observerTag.iKey ) - { - iPublishSubscriberArray->Delete( i ); - delete publishSubscriber; - } - } } } } diff -r 6b911d05207e -r bc5a64e5bc3c phoneapp/phoneuiutils/src/cphoneresourceresolverbase.cpp --- a/phoneapp/phoneuiutils/src/cphoneresourceresolverbase.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneapp/phoneuiutils/src/cphoneresourceresolverbase.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -1400,6 +1400,10 @@ case EPhoneNoteCalledNumberHasBarredIncomingCalls: retVal = R_NOTE_CALLED_NUMBER_HAS_BARRED_INCOMING_CALLS; break; + + case EPhoneNoteCallInfoCauseValue21: + retVal = R_CALL_INFO_CAUSE_VALUE21; + break; case EPhoneNoteCallInfoCauseValue22: retVal = R_CALL_INFO_CAUSE_VALUE22; diff -r 6b911d05207e -r bc5a64e5bc3c phoneapp/phoneuiutils/src/generate.bat --- a/phoneapp/phoneuiutils/src/generate.bat Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneapp/phoneuiutils/src/generate.bat Tue Jul 06 14:15:47 2010 +0300 @@ -14,11 +14,11 @@ rem Description: Generate string tables and move headers. rem -perl %EPOCROOT%epoc32\tools\stringtable.pl phoneloggerviewcommands.st -perl %EPOCROOT%epoc32\tools\stringtable.pl phonestatestrings.st -perl %EPOCROOT%epoc32\tools\stringtable.pl phonestatestringsgsm.st +perl %EPOCROOT%epoc32\tools\stringtable.pl .\phoneloggerviewcommands.st +perl %EPOCROOT%epoc32\tools\stringtable.pl .\phonestatestrings.st +perl %EPOCROOT%epoc32\tools\stringtable.pl .\phonestatestringsgsm.st -perl ..\..\phoneui\internal\tools\add_copyright.pl +perl ..\internal\tools\add_copyright.pl move /Y phoneloggerviewcommands.h ..\inc\phoneloggerviewcommands.h move /Y phonestatestrings.h ..\inc\phonestatestrings.h diff -r 6b911d05207e -r bc5a64e5bc3c phoneapp/phoneuiutils/src/phoneloggerviewcommands.cpp --- a/phoneapp/phoneuiutils/src/phoneloggerviewcommands.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneapp/phoneuiutils/src/phoneloggerviewcommands.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2005 - 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" @@ -11,12 +11,11 @@ * * Contributors: * -* Description: -* Macro definition file for logging. +* Description: Macro definition file for logging. * */ -// Autogenerated from phoneloggerviewcommands.st by the stringtable tool - Do not edit +// Autogenerated from .\phoneloggerviewcommands.st by the stringtable tool - Do not edit #include #include #include @@ -68,7 +67,7 @@ _STLIT8(K41, "EPhoneViewShowQuery"); _STLIT8(K42, "EPhoneViewSetListQueryString"); _STLIT8(K43, "EPhoneViewRemoveQuery"); -_STLIT8(K44, "EPhoneViewGetTextQueryContents"); +_STLIT8(K44, "EPhoneViewGetTextQueryContent"); _STLIT8(K45, "EPhoneViewSetTopApplication"); _STLIT8(K46, "EPhoneViewBringAppToForeground"); _STLIT8(K47, "EPhoneViewSendToBackground"); @@ -90,326 +89,362 @@ _STLIT8(K63, "EPhoneViewStartCapturingKey"); _STLIT8(K64, "EPhoneViewStopCapturingKey"); _STLIT8(K65, "EPhoneViewSetGlobalNotifiersDisabled"); -_STLIT8(K69, "EPhoneViewGetHoldFlag"); -_STLIT8(K70, "EPhoneViewSetHoldFlag"); -_STLIT8(K71, "EPhoneViewSetSoftRejectFlag"); -_STLIT8(K72, "EPhoneViewGetSoftRejectFlag"); -_STLIT8(K73, "EPhoneViewSetServiceCodeFlag"); -_STLIT8(K74, "EPhoneViewUpdateContact"); -_STLIT8(K75, "EPhoneViewAddContact"); -_STLIT8(K76, "EPhoneViewOpenSingleItemFetchDialog"); -_STLIT8(K77, "EPhoneViewRemovePhoneDialogs"); -_STLIT8(K78, "EPhoneViewCreateConference"); -_STLIT8(K79, "EPhoneViewAddToConference"); -_STLIT8(K80, "EPhoneViewRemoveFromConference"); -_STLIT8(K81, "EPhoneViewPrivateFromConference"); -_STLIT8(K82, "EPhoneViewSelectedConfMember"); -_STLIT8(K83, "EPhoneViewOpenConferenceList"); -_STLIT8(K84, "EPhoneViewGetConferenceListVisibleFlag"); -_STLIT8(K85, "EPhoneViewGetCallState"); -_STLIT8(K86, "EPhoneViewGetCallIdByState"); -_STLIT8(K87, "EPhoneViewMoveHighLightInList"); -_STLIT8(K88, "EPhoneViewGetCountOfActiveCalls"); -_STLIT8(K89, "EPhoneViewSetNaviPaneAudioVolume"); -_STLIT8(K90, "EPhoneViewShowNaviPaneAudioVolume"); -_STLIT8(K91, "EPhoneViewHideNaviPaneAudioVolume"); -_STLIT8(K92, "EPhoneViewGetIsConference"); -_STLIT8(K93, "EPhoneViewGetCallExistsInConference"); -_STLIT8(K94, "EPhoneViewRemoveAllCallHeaders"); -_STLIT8(K95, "EPhoneViewPlayRingTone"); -_STLIT8(K96, "EPhoneViewMuteRingTone"); -_STLIT8(K97, "EPhoneViewStopRingTone"); -_STLIT8(K98, "EPhoneViewMuteRingToneOnAnswer"); -_STLIT8(K99, "EPhoneViewCipheringInfoChange"); -_STLIT8(K100, "EPhoneViewUpdateMaxConfMemberFlag"); -_STLIT8(K101, "EPhoneViewCloseFSW"); -_STLIT8(K102, "EPhoneViewLaunchRfsDeep"); -_STLIT8(K103, "EPhoneViewLaunchRfsNormal"); -_STLIT8(K104, "EPhoneViewUpdateView"); -_STLIT8(K105, "EPhoneViewOpenSoftRejectEditor"); -_STLIT8(K106, "EPhoneViewSendMessage"); -_STLIT8(K107, "EPhoneViewSetBlockingDialogStatus"); -_STLIT8(K108, "EPhoneViewSetPhoneNumberAvailableInPhoneEngine"); -_STLIT8(K109, "EPhoneViewSetSecurityMode"); -_STLIT8(K110, "EPhoneViewGetSecurityModeStatus"); -_STLIT8(K111, "EPhoneViewSetStatusPaneVisible"); -_STLIT8(K112, "EPhoneViewEnableKeyLock"); -_STLIT8(K113, "EPhoneViewEnableKeyLockWithoutNote"); -_STLIT8(K114, "EPhoneViewLaunchFaxModem"); -_STLIT8(K115, "EPhoneViewUpdateFSW"); -_STLIT8(K116, "EPhoneViewIsQuery"); -_STLIT8(K117, "EPhoneViewBringIdleToForeground"); -_STLIT8(K118, "EPhoneViewSetIdleTopApplication"); -_STLIT8(K119, "EPhoneViewBeginUpdate"); -_STLIT8(K120, "EPhoneViewEndUpdate"); -_STLIT8(K121, "EPhoneViewSetConfrenceOptionsFlag"); -_STLIT8(K122, "EPhoneViewRemoveConferenceBubble"); -_STLIT8(K123, "EPhoneViewGetSoftRejectWindowGroupId"); -_STLIT8(K124, "EPhoneViewSetTouchPaneButtons"); -_STLIT8(K125, "EPhoneViewSetTouchPaneVisible"); -_STLIT8(K126, "EPhoneViewEnableTouchButton"); -_STLIT8(K127, "EPhoneViewDisableTouchButton"); -_STLIT8(K128, "EPhoneResetTouchButtons"); -_STLIT8(K129, "EPhoneViewGetIsConferenceInSelectionMode"); -_STLIT8(K130, "EPhoneViewIsStraightCallToVideoMailBox"); -_STLIT8(K131, "EPhoneViewSetDtmfDialerViewVisible"); -_STLIT8(K132, "EPhoneViewSetRetrictedDialer"); -_STLIT8(K133, "EPhoneViewIsConferenceInExpandedMode"); -_STLIT8(K134, "EPhoneViewIsMenuBarVisible"); -_STLIT8(K135, "EPhoneViewGetBlockingDialogStatus"); -_STLIT8(K136, "EPhoneViewYesSingleItemFetch"); -_STLIT8(K137, "EPhoneViewNoSingleItemFetch"); -_STLIT8(K138, "EPhoneViewGetLocalizedNumberFromEntry"); -_STLIT8(K139, "EPhoneViewIsNoteActive"); -_STLIT8(K140, "EPhoneViewOpenNumberEntry"); -_STLIT8(K141, "EPhoneViewOpenCallHandling"); -_STLIT8(K142, "EPhoneViewGetConferenceAndSingleFlag"); -_STLIT8(K143, "EPhoneViewSetConferenceAndSingleFlag"); -_STLIT8(K144, "EPhoneViewSetVideoCallFlag"); -_STLIT8(K145, "EPhoneViewSetDtmfOptionsFlag"); -_STLIT8(K146, "EPhoneViewShowVTSetupFailedCreateCallToSameContactQuery"); -_STLIT8(K147, "EPhoneViewGetAudioVolumeLevel"); -_STLIT8(K148, "EPhoneViewIsIdleTopApp"); -_STLIT8(K149, "EPhoneViewUpdateToolbar"); -_STLIT8(K150, "EPhoneViewSetControlAndVisibility"); -_STLIT8(K151, "EPhoneViewAllowWaitingCallHeader"); -_STLIT8(K152, "EPhoneViewBeginTransEffect"); -_STLIT8(K153, "EPhoneViewEndTransEffect"); -_STLIT8(K154, "EPhoneViewSetDialerControlVisible"); -_STLIT8(K155, "EPhoneViewCloseSingleItemFetchDialog"); -_STLIT8(K156, "EPhoneViewGetActivatePreviousApp"); -_STLIT8(K157, "EPhoneViewActivatePreviousApp"); -_STLIT8(K158, "EPhoneViewSetPointerCapture"); -_STLIT8(K159, "EPhoneViewSetSendKeyDialerActivationFlag"); -_STLIT8(K160, "EPhoneViewPrepareIcons"); -_STLIT8(K161, "EPhoneViewKeypadAudioEnabled"); -_STLIT8(K162, "EPhoneViewKeypadAudioDisabled"); -_STLIT8(K163, "EPhoneViewUpdateCallHeaderRemoteInfoDataAndLabel"); -_STLIT8(K164, "EPhoneViewRemoveDtmfNote"); -_STLIT8(K165, "EPhoneViewUpdatePhoneIconToFSW"); -_STLIT8(K166, "EPhoneViewSetEikonNotifiersDisabled"); -_STLIT8(K167, "EPhoneViewCancelAllNotications"); -_STLIT8(K168, "EPhoneViewSetVideoCallDTMFVisibilityFlag"); -_STLIT8(K169, "EPhoneViewIsKeyLockEnabled"); -_STLIT8(K170, "EPhoneViewDisableKeyLock"); -_STLIT8(K171, "EPhoneViewLoadPlugins"); -_STLIT8(K172, "PhoneViewServiceSelection"); -_STLIT8(K173, "EPhoneViewOpenVirtualKeyBoard"); -_STLIT8(K174, "EPhoneViewUpdateNoteSoftkeys"); -_STLIT8(K175, "EPhoneViewShowCustomizedDialer"); -_STLIT8(K176, "EPhoneViewHideCustomizedDialer"); -_STLIT8(K177, "EPhoneViewGetCustomizedDialerMenuResourceId"); -_STLIT8(K178, "EPhoneViewGetCustomizedDialerCbaResourceId"); -_STLIT8(K179, "EPhoneViewCreatePhoneBookServices"); -_STLIT8(K180, "EPhoneViewDisableKeyLockWithoutNote"); -_STLIT8(K181, "EPhoneViewGetKeyLockStatus"); -_STLIT8(K182, "EPhoneViewSetNumberEntryObserver"); -_STLIT8(K183, "EPhoneViewGetSingleItemFetchType"); -_STLIT8(K184, "EPhoneViewRemoveGlobalWaitNote"); -_STLIT8(K185, "EPhoneViewSetPhoneCustomization"); -_STLIT8(K186, "EPhoneViewSetViewCustomization"); -_STLIT8(K187, "EPhoneViewSetButtonCustomization"); -_STLIT8(K188, "EPhoneViewUpdateContactByString"); -_STLIT8(K189, "EPhoneViewAddContactByString"); -_STLIT8(K190, "EPhoneViewIsActiveNoteDissmissableByKeyEvent"); -_STLIT8(K191, "EPhoneViewSetNoConnectedCalls"); -_STLIT8(K192, "EPhoneViewIsDTMFEditorVisible"); -_STLIT8(K193, ", // Don't remove this, this should always be the last in list."); +_STLIT8(K66, "EPhoneViewGetHoldFlag"); +_STLIT8(K67, "EPhoneViewSetHoldFlag"); +_STLIT8(K68, "EPhoneViewSetSoftRejectFlag"); +_STLIT8(K69, "EPhoneViewGetSoftRejectFlag"); +_STLIT8(K70, "EPhoneViewSetServiceCodeFlag"); +_STLIT8(K71, "EPhoneViewUpdateContact"); +_STLIT8(K72, "EPhoneViewAddContact"); +_STLIT8(K73, "EPhoneViewOpenSingleItemFetchDialog"); +_STLIT8(K74, "EPhoneViewRemovePhoneDialogs"); +_STLIT8(K75, "EPhoneViewCreateConference"); +_STLIT8(K76, "EPhoneViewAddToConference"); +_STLIT8(K77, "EPhoneViewRemoveFromConference"); +_STLIT8(K78, "EPhoneViewPrivateFromConference"); +_STLIT8(K79, "EPhoneViewSelectedConfMember"); +_STLIT8(K80, "EPhoneViewGetConferenceListVisibleFlag"); +_STLIT8(K81, "EPhoneViewOpenConferenceList"); +_STLIT8(K82, "EPhoneViewGetCallState"); +_STLIT8(K83, "EPhoneViewGetCallIdByState"); +_STLIT8(K84, "EPhoneViewMoveHighLightInList"); +_STLIT8(K85, "EPhoneViewGetCountOfActiveCalls"); +_STLIT8(K86, "EPhoneViewSetNaviPaneAudioVolume"); +_STLIT8(K87, "EPhoneViewShowNaviPaneAudioVolume"); +_STLIT8(K88, "EPhoneViewHideNaviPaneAudioVolume"); +_STLIT8(K89, "EPhoneViewGetIsConference"); +_STLIT8(K90, "EPhoneViewGetCallExistsInConference"); +_STLIT8(K91, "EPhoneViewRemoveAllCallHeaders"); +_STLIT8(K92, "EPhoneViewPlayRingTone"); +_STLIT8(K93, "EPhoneViewMuteRingTone"); +_STLIT8(K94, "EPhoneViewStopRingTone"); +_STLIT8(K95, "EPhoneViewMuteRingToneOnAnswer"); +_STLIT8(K96, "EPhoneViewCipheringInfoChange"); +_STLIT8(K97, "EPhoneViewUpdateMaxConfMemberFlag"); +_STLIT8(K98, "EPhoneViewCloseFSW"); +_STLIT8(K99, "EPhoneViewLaunchRfsDeep"); +_STLIT8(K100, "EPhoneViewLaunchRfsNormal"); +_STLIT8(K101, "EPhoneViewUpdateView"); +_STLIT8(K102, "EPhoneViewOpenSoftRejectEditor"); +_STLIT8(K103, "EPhoneViewSendMessage"); +_STLIT8(K104, "EPhoneViewSetBlockingDialogStatus"); +_STLIT8(K105, "EPhoneViewSetPhoneNumberAvailableInPhoneEngine"); +_STLIT8(K106, "EPhoneViewSetSecurityMode"); +_STLIT8(K107, "EPhoneViewGetSecurityModeStatus"); +_STLIT8(K108, "EPhoneViewSetStatusPaneVisible"); +_STLIT8(K109, "EPhoneViewEnableKeyLock"); +_STLIT8(K110, "EPhoneViewEnableKeyLockWithoutNote"); +_STLIT8(K111, "EPhoneViewLaunchFaxModem"); +_STLIT8(K112, "EPhoneViewUpdateFSW"); +_STLIT8(K113, "EPhoneViewIsQuery"); +_STLIT8(K114, "EPhoneViewBringIdleToForeground"); +_STLIT8(K115, "EPhoneViewSetIdleTopApplication"); +_STLIT8(K116, "EPhoneViewBeginUpdate"); +_STLIT8(K117, "EPhoneViewEndUpdate"); +_STLIT8(K118, "EPhoneViewSetConfrenceOptionsFlag"); +_STLIT8(K119, "EPhoneViewRemoveConferenceBubble"); +_STLIT8(K120, "EPhoneViewGetSoftRejectWindowGroupId"); +_STLIT8(K121, "EPhoneViewSetTouchPaneButtons"); +_STLIT8(K122, "EPhoneViewSetTouchPaneVisible"); +_STLIT8(K123, "EPhoneViewEnableTouchButton"); +_STLIT8(K124, "EPhoneViewDisableTouchButton"); +_STLIT8(K125, "EPhoneResetTouchButtons"); +_STLIT8(K126, "EPhoneViewGetIsConferenceInSelectionMode"); +_STLIT8(K127, "EPhoneViewIsStraightCallToVideoMailBox"); +_STLIT8(K128, "EPhoneViewSetDtmfDialerViewVisible"); +_STLIT8(K129, "EPhoneViewSetRetrictedDialer"); +_STLIT8(K130, "EPhoneViewIsConferenceInExpandedMode"); +_STLIT8(K131, "EPhoneViewIsMenuBarVisible"); +_STLIT8(K132, "EPhoneViewGetBlockingDialogStatus"); +_STLIT8(K133, "EPhoneViewYesSingleItemFetch"); +_STLIT8(K134, "EPhoneViewNoSingleItemFetch"); +_STLIT8(K135, "EPhoneViewGetLocalizedNumberFromEntry"); +_STLIT8(K136, "EPhoneViewIsNoteActive"); +_STLIT8(K137, "EPhoneViewOpenNumberEntry"); +_STLIT8(K138, "EPhoneViewOpenCallHandling"); +_STLIT8(K139, "EPhoneViewGetConferenceAndSingleFlag"); +_STLIT8(K140, "EPhoneViewSetConferenceAndSingleFlag"); +_STLIT8(K141, "EPhoneViewSetVideoCallFlag"); +_STLIT8(K142, "EPhoneViewSetDtmfOptionsFlag"); +_STLIT8(K143, "EPhoneViewShowVTSetupFailedCreateCallToSameContactQuery"); +_STLIT8(K144, "EPhoneViewGetAudioVolumeLevel"); +_STLIT8(K145, "EPhoneViewIsIdleTopApp"); +_STLIT8(K146, "EPhoneViewUpdateToolbar"); +_STLIT8(K147, "EPhoneViewSetControlAndVisibility"); +_STLIT8(K148, "EPhoneViewAllowWaitingCallHeader"); +_STLIT8(K149, "EPhoneViewBeginTransEffect"); +_STLIT8(K150, "EPhoneViewEndTransEffect"); +_STLIT8(K151, "EPhoneViewSetDialerControlVisible"); +_STLIT8(K152, "EPhoneViewCloseSingleItemFetchDialog"); +_STLIT8(K153, "EPhoneViewGetActivatePreviousApp"); +_STLIT8(K154, "EPhoneViewActivatePreviousApp"); +_STLIT8(K155, "EPhoneViewSetPointerCapture"); +_STLIT8(K156, "EPhoneViewSetSendKeyDialerActivationFlag"); +_STLIT8(K157, "EPhoneViewPrepareIcons"); +_STLIT8(K158, "EPhoneViewKeypadAudioEnabled"); +_STLIT8(K159, "EPhoneViewKeypadAudioDisabled"); +_STLIT8(K160, "EPhoneViewUpdateCallHeaderRemoteInfoDataAndLabel"); +_STLIT8(K161, "EPhoneViewRemoveDtmfNote"); +_STLIT8(K162, "EPhoneViewUpdatePhoneIconToFSW"); +_STLIT8(K163, "EPhoneViewSetEikonNotifiersDisabled"); +_STLIT8(K164, "EPhoneViewCancelAllNotications"); +_STLIT8(K165, "EPhoneViewSetVideoCallDTMFVisibilityFlag"); +_STLIT8(K166, "EPhoneViewIsKeyLockEnabled"); +_STLIT8(K167, "EPhoneViewDisableKeyLock"); +_STLIT8(K168, "EPhoneViewLoadPlugins"); +_STLIT8(K169, "EPhoneViewOpenVirtualKeyBoard"); +_STLIT8(K170, "EPhoneViewUpdateNoteSoftkeys"); +_STLIT8(K171, "EPhoneViewSendAiwCommand"); +_STLIT8(K172, "EPhoneViewShowCustomizedDialer"); +_STLIT8(K173, "EPhoneViewHideCustomizedDialer"); +_STLIT8(K174, "EPhoneViewGetCustomizedDialerMenuResourceId"); +_STLIT8(K175, "EPhoneViewGetCustomizedDialerCbaResourceId"); +_STLIT8(K176, "EPhoneViewCipheringInfoChangePlayTone"); +_STLIT8(K177, "EPhoneViewCreatePhoneBookServices"); +_STLIT8(K178, "EPhoneViewDisableKeyLockWithoutNote"); +_STLIT8(K179, "EPhoneViewGetKeyLockStatus"); +_STLIT8(K180, "EPhoneViewSetNumberEntryObserver"); +_STLIT8(K181, "EPhoneViewGetSingleItemFetchType"); +_STLIT8(K182, "EPhoneViewRemoveGlobalWaitNote"); +_STLIT8(K183, "EPhoneViewSetPhoneCustomization"); +_STLIT8(K184, "EPhoneViewSetViewCustomization"); +_STLIT8(K185, "EPhoneViewSetButtonCustomization"); +_STLIT8(K186, "EPhoneViewUpdateContactByString"); +_STLIT8(K187, "EPhoneViewAddContactByString"); +_STLIT8(K188, "EPhoneViewIsActiveNoteDissmissableByKeyEvent"); +_STLIT8(K189, "EPhoneViewUpdateContextMenu"); +_STLIT8(K190, "EPhoneViewSetNoConnectedCalls"); +_STLIT8(K191, "EPhoneViewIsDTMFEditorVisible"); +_STLIT8(K192, "EPhoneViewSetToolbarDimming"); +_STLIT8(K193, "EPhoneViewEnableToolbarButton"); +_STLIT8(K194, "EPhoneViewHideToolbar"); +_STLIT8(K195, "EPhoneViewShowToolbar"); +_STLIT8(K196, "EPhoneViewGetExpandedBubbleCallId"); +_STLIT8(K197, "EPhoneViewOpenDialer"); +_STLIT8(K198, "EPhoneSetConferenceExpanded"); +_STLIT8(K199, "EPhoneAppShutDown"); +_STLIT8(K200, "EPhoneViewBackButtonActive"); +_STLIT8(K201, "EPhoneViewHsToForegroundAfterCall"); +_STLIT8(K202, "EPhoneViewOpenContacts"); +_STLIT8(K203, "EPhoneViewSetIhfFlag"); +_STLIT8(K204, "EPhoneViewSetMuteFlag"); +_STLIT8(K205, "EPhoneViewLaunchLogs"); +_STLIT8(K206, "EPhoneViewSetBlueToothFlag"); +_STLIT8(K207, "EPhoneViewSetBluetoothAvailableFlag"); +_STLIT8(K208, ", // Don't remove this, this should always be the last in list."); // Intermediate const void * const KStringPointers[] = - { - (const void*)&K1, - (const void*)&K2, - (const void*)&K3, - (const void*)&K4, - (const void*)&K5, - (const void*)&K6, - (const void*)&K7, - (const void*)&K8, - (const void*)&K9, - (const void*)&K10, - (const void*)&K11, - (const void*)&K12, - (const void*)&K13, - (const void*)&K14, - (const void*)&K15, - (const void*)&K16, - (const void*)&K17, - (const void*)&K18, - (const void*)&K19, - (const void*)&K20, - (const void*)&K21, - (const void*)&K22, - (const void*)&K23, - (const void*)&K24, - (const void*)&K25, - (const void*)&K26, - (const void*)&K27, - (const void*)&K28, - (const void*)&K29, - (const void*)&K30, - (const void*)&K31, - (const void*)&K32, - (const void*)&K33, - (const void*)&K34, - (const void*)&K35, - (const void*)&K36, - (const void*)&K37, - (const void*)&K38, - (const void*)&K39, - (const void*)&K40, - (const void*)&K41, - (const void*)&K42, - (const void*)&K43, - (const void*)&K44, - (const void*)&K45, - (const void*)&K46, - (const void*)&K47, - (const void*)&K48, - (const void*)&K49, - (const void*)&K50, - (const void*)&K51, - (const void*)&K52, - (const void*)&K53, - (const void*)&K54, - (const void*)&K55, - (const void*)&K56, - (const void*)&K57, - (const void*)&K58, - (const void*)&K59, - (const void*)&K60, - (const void*)&K61, - (const void*)&K62, - (const void*)&K63, - (const void*)&K64, - (const void*)&K65, - (const void*)&K69, - (const void*)&K70, - (const void*)&K71, - (const void*)&K72, - (const void*)&K73, - (const void*)&K74, - (const void*)&K75, - (const void*)&K76, - (const void*)&K77, - (const void*)&K78, - (const void*)&K79, - (const void*)&K80, - (const void*)&K81, - (const void*)&K82, - (const void*)&K83, - (const void*)&K84, - (const void*)&K85, - (const void*)&K86, - (const void*)&K87, - (const void*)&K88, - (const void*)&K89, - (const void*)&K90, - (const void*)&K91, - (const void*)&K92, - (const void*)&K93, - (const void*)&K94, - (const void*)&K95, - (const void*)&K96, - (const void*)&K97, - (const void*)&K98, - (const void*)&K99, - (const void*)&K100, - (const void*)&K101, - (const void*)&K102, - (const void*)&K103, - (const void*)&K104, - (const void*)&K105, - (const void*)&K106, - (const void*)&K107, - (const void*)&K108, - (const void*)&K109, - (const void*)&K110, - (const void*)&K111, - (const void*)&K112, - (const void*)&K113, - (const void*)&K114, - (const void*)&K115, - (const void*)&K116, - (const void*)&K117, - (const void*)&K118, - (const void*)&K119, - (const void*)&K120, - (const void*)&K121, - (const void*)&K122, - (const void*)&K123, - (const void*)&K124, - (const void*)&K125, - (const void*)&K126, - (const void*)&K127, - (const void*)&K128, - (const void*)&K129, - (const void*)&K130, - (const void*)&K131, - (const void*)&K132, - (const void*)&K133, - (const void*)&K134, - (const void*)&K135, - (const void*)&K136, - (const void*)&K137, - (const void*)&K138, - (const void*)&K139, - (const void*)&K140, - (const void*)&K141, - (const void*)&K142, - (const void*)&K143, - (const void*)&K144, - (const void*)&K145, - (const void*)&K146, - (const void*)&K147, - (const void*)&K148, - (const void*)&K149, - (const void*)&K150, - (const void*)&K151, - (const void*)&K152, - (const void*)&K153, - (const void*)&K154, - (const void*)&K155, - (const void*)&K156, - (const void*)&K157, - (const void*)&K158, - (const void*)&K159, - (const void*)&K160, - (const void*)&K161, - (const void*)&K162, - (const void*)&K163, - (const void*)&K164, - (const void*)&K165, - (const void*)&K166, - (const void*)&K167, - (const void*)&K168, - (const void*)&K169, - (const void*)&K170, - (const void*)&K171, - (const void*)&K172, - (const void*)&K173, - (const void*)&K174, - (const void*)&K175, - (const void*)&K176, - (const void*)&K177, - (const void*)&K178, - (const void*)&K179, - (const void*)&K180, - (const void*)&K181, - (const void*)&K182, - (const void*)&K183, - (const void*)&K184, - (const void*)&K185, - (const void*)&K186, - (const void*)&K187, - (const void*)&K188, - (const void*)&K189, - (const void*)&K190, - (const void*)&K191, - (const void*)&K192, - (const void*)&K193 - }; + { + (const void*)&K1, + (const void*)&K2, + (const void*)&K3, + (const void*)&K4, + (const void*)&K5, + (const void*)&K6, + (const void*)&K7, + (const void*)&K8, + (const void*)&K9, + (const void*)&K10, + (const void*)&K11, + (const void*)&K12, + (const void*)&K13, + (const void*)&K14, + (const void*)&K15, + (const void*)&K16, + (const void*)&K17, + (const void*)&K18, + (const void*)&K19, + (const void*)&K20, + (const void*)&K21, + (const void*)&K22, + (const void*)&K23, + (const void*)&K24, + (const void*)&K25, + (const void*)&K26, + (const void*)&K27, + (const void*)&K28, + (const void*)&K29, + (const void*)&K30, + (const void*)&K31, + (const void*)&K32, + (const void*)&K33, + (const void*)&K34, + (const void*)&K35, + (const void*)&K36, + (const void*)&K37, + (const void*)&K38, + (const void*)&K39, + (const void*)&K40, + (const void*)&K41, + (const void*)&K42, + (const void*)&K43, + (const void*)&K44, + (const void*)&K45, + (const void*)&K46, + (const void*)&K47, + (const void*)&K48, + (const void*)&K49, + (const void*)&K50, + (const void*)&K51, + (const void*)&K52, + (const void*)&K53, + (const void*)&K54, + (const void*)&K55, + (const void*)&K56, + (const void*)&K57, + (const void*)&K58, + (const void*)&K59, + (const void*)&K60, + (const void*)&K61, + (const void*)&K62, + (const void*)&K63, + (const void*)&K64, + (const void*)&K65, + (const void*)&K66, + (const void*)&K67, + (const void*)&K68, + (const void*)&K69, + (const void*)&K70, + (const void*)&K71, + (const void*)&K72, + (const void*)&K73, + (const void*)&K74, + (const void*)&K75, + (const void*)&K76, + (const void*)&K77, + (const void*)&K78, + (const void*)&K79, + (const void*)&K80, + (const void*)&K81, + (const void*)&K82, + (const void*)&K83, + (const void*)&K84, + (const void*)&K85, + (const void*)&K86, + (const void*)&K87, + (const void*)&K88, + (const void*)&K89, + (const void*)&K90, + (const void*)&K91, + (const void*)&K92, + (const void*)&K93, + (const void*)&K94, + (const void*)&K95, + (const void*)&K96, + (const void*)&K97, + (const void*)&K98, + (const void*)&K99, + (const void*)&K100, + (const void*)&K101, + (const void*)&K102, + (const void*)&K103, + (const void*)&K104, + (const void*)&K105, + (const void*)&K106, + (const void*)&K107, + (const void*)&K108, + (const void*)&K109, + (const void*)&K110, + (const void*)&K111, + (const void*)&K112, + (const void*)&K113, + (const void*)&K114, + (const void*)&K115, + (const void*)&K116, + (const void*)&K117, + (const void*)&K118, + (const void*)&K119, + (const void*)&K120, + (const void*)&K121, + (const void*)&K122, + (const void*)&K123, + (const void*)&K124, + (const void*)&K125, + (const void*)&K126, + (const void*)&K127, + (const void*)&K128, + (const void*)&K129, + (const void*)&K130, + (const void*)&K131, + (const void*)&K132, + (const void*)&K133, + (const void*)&K134, + (const void*)&K135, + (const void*)&K136, + (const void*)&K137, + (const void*)&K138, + (const void*)&K139, + (const void*)&K140, + (const void*)&K141, + (const void*)&K142, + (const void*)&K143, + (const void*)&K144, + (const void*)&K145, + (const void*)&K146, + (const void*)&K147, + (const void*)&K148, + (const void*)&K149, + (const void*)&K150, + (const void*)&K151, + (const void*)&K152, + (const void*)&K153, + (const void*)&K154, + (const void*)&K155, + (const void*)&K156, + (const void*)&K157, + (const void*)&K158, + (const void*)&K159, + (const void*)&K160, + (const void*)&K161, + (const void*)&K162, + (const void*)&K163, + (const void*)&K164, + (const void*)&K165, + (const void*)&K166, + (const void*)&K167, + (const void*)&K168, + (const void*)&K169, + (const void*)&K170, + (const void*)&K171, + (const void*)&K172, + (const void*)&K173, + (const void*)&K174, + (const void*)&K175, + (const void*)&K176, + (const void*)&K177, + (const void*)&K178, + (const void*)&K179, + (const void*)&K180, + (const void*)&K181, + (const void*)&K182, + (const void*)&K183, + (const void*)&K184, + (const void*)&K185, + (const void*)&K186, + (const void*)&K187, + (const void*)&K188, + (const void*)&K189, + (const void*)&K190, + (const void*)&K191, + (const void*)&K192, + (const void*)&K193, + (const void*)&K194, + (const void*)&K195, + (const void*)&K196, + (const void*)&K197, + (const void*)&K198, + (const void*)&K199, + (const void*)&K200, + (const void*)&K201, + (const void*)&K202, + (const void*)&K203, + (const void*)&K204, + (const void*)&K205, + (const void*)&K206, + (const void*)&K207, + (const void*)&K208 + }; -const TStringTable PhoneLoggerviewCommands::Table = {193, KStringPointers, EFalse}; +const TStringTable PhoneLoggerviewCommands::Table = {208, KStringPointers, EFalse}; diff -r 6b911d05207e -r bc5a64e5bc3c phoneapp/phoneuiutils/src/phoneloggerviewcommands.st --- a/phoneapp/phoneuiutils/src/phoneloggerviewcommands.st Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneapp/phoneuiutils/src/phoneloggerviewcommands.st Tue Jul 06 14:15:47 2010 +0300 @@ -1,192 +1,210 @@ # Phone Application Logger UI Command String Table fstringtable PhoneLoggerviewCommands EPhoneViewStartValue EPhoneViewStartValue -EPhoneViewCreateNumberEntry EPhoneViewCreateNumberEntry -EPhoneViewSetNumberEntryContent EPhoneViewSetNumberEntryContent -EPhoneViewSendKeyEventToNumberEntry EPhoneViewSendKeyEventToNumberEntry -EPhoneViewRemoveNumberEntry EPhoneViewRemoveNumberEntry -EPhoneViewSetNumberEntryVisible EPhoneViewSetNumberEntryVisible -EPhoneViewGetNumberFromEntry EPhoneViewGetNumberFromEntry -EPhoneViewGetNumberEntryCount EPhoneViewGetNumberEntryCount -EPhoneViewGetNumberEntryIsUsedStatus EPhoneViewGetNumberEntryIsUsedStatus -EPhoneViewGetNumberEntryIsVisibleStatus EPhoneViewGetNumberEntryIsVisibleStatus -EPhoneViewToggleNumberEntryAlphaNumericMode EPhoneViewToggleNumberEntryAlphaNumericMode -EPhoneViewIsNumberEntryNumericMode EPhoneViewIsNumberEntryNumericMode -EPhoneViewClearNumberEntryContent EPhoneViewClearNumberEntryContent -EPhoneViewCreateCallHeader EPhoneViewCreateCallHeader -EPhoneViewCreateEmergencyCallHeader EPhoneViewCreateEmergencyCallHeader -EPhoneViewUpdateCallHeaderRemoteInfoData EPhoneViewUpdateCallHeaderRemoteInfoData -EPhoneViewUpdateCallHeaderCallDuration EPhoneViewUpdateCallHeaderCallDuration -EPhoneViewRemoveCallHeader EPhoneViewRemoveCallHeader -EPhoneViewMenuBarOpen EPhoneViewMenuBarOpen -EPhoneViewMenuBarClose EPhoneViewMenuBarClose -EPhoneViewDimCbaCommand EPhoneViewDimCbaCommand -EPhoneViewUpdateCba EPhoneViewUpdateCba -EPhoneViewUpdateBubble EPhoneViewUpdateBubble -EPhoneViewMenuPane EPhoneViewMenuPane -EPhoneViewMenuBar EPhoneViewMenuBar -EPhoneViewSetTitlePaneContent EPhoneViewSetTitlePaneContent -EPhoneViewSetNaviPaneContent EPhoneViewSetNaviPaneContent -EPhoneViewSetTitlePanePicture EPhoneViewSetTitlePanePicture -EPhoneViewGetTitlePaneIsVisibleStatus EPhoneViewGetTitlePaneIsVisibleStatus -EPhoneViewActivateAudioPathUIChanges EPhoneViewActivateAudioPathUIChanges -EPhoneViewActivateAudioAvailabilityUIChanges EPhoneViewActivateAudioAvailabilityUIChanges -EPhoneViewActivateMuteUIChanges EPhoneViewActivateMuteUIChanges -EPhoneViewShowNote EPhoneViewShowNote -EPhoneViewShowGlobalNote EPhoneViewShowGlobalNote -EPhoneViewShowProgressNote EPhoneViewShowProgressNote -EPhoneViewRemoveNote EPhoneViewRemoveNote -EPhoneViewRemoveProgressNote EPhoneViewRemoveProgressNote -EPhoneViewRemoveGlobalNote EPhoneViewRemoveGlobalNote -EPhoneViewGetIsNoteVisible EPhoneViewGetIsNoteVisible -EPhoneViewGetIsProgressNoteVisible EPhoneViewGetIsProgressNoteVisible -EPhoneViewShowQuery EPhoneViewShowQuery -EPhoneViewSetListQueryString EPhoneViewSetListQueryString -EPhoneViewRemoveQuery EPhoneViewRemoveQuery -EPhoneViewGetTextQueryContents EPhoneViewGetTextQueryContents -EPhoneViewSetTopApplication EPhoneViewSetTopApplication -EPhoneViewBringAppToForeground EPhoneViewBringAppToForeground -EPhoneViewSendToBackground EPhoneViewSendToBackground -EPhoneViewSetNeedToSendToBackgroundStatus EPhoneViewSetNeedToSendToBackgroundStatus -EPhoneViewGetNeedToSendToBackgroundStatus EPhoneViewGetNeedToSendToBackgroundStatus -EPhoneViewGetTopApplicationIsDisplayedStatus EPhoneViewGetTopApplicationIsDisplayedStatus -EPhoneViewGetForegroundApplication EPhoneViewGetForegroundApplication -EPhoneViewSetBackgroundImageBitmap EPhoneViewSetBackgroundImageBitmap -EPhoneViewGetBackgroundImageBitmap EPhoneViewGetBackgroundImageBitmap -EPhoneViewActivateApp EPhoneViewActivateApp -EPhoneViewActivateAppView EPhoneViewActivateAppView -EPhoneViewActivateAppViewWithCustomMessage EPhoneViewActivateAppViewWithCustomMessage -EPhoneViewActivateAppViewConventional EPhoneViewActivateAppViewConventional -EPhoneViewLaunchApplication EPhoneViewLaunchApplication -EPhoneViewLaunchHelpApplication EPhoneViewLaunchHelpApplication -EPhoneViewOpenMessageEditor EPhoneViewOpenMessageEditor -EPhoneViewExitApplications EPhoneViewExitApplications -EPhoneViewUpdateIncallIndicator EPhoneViewUpdateIncallIndicator -EPhoneViewStartCapturingKey EPhoneViewStartCapturingKey -EPhoneViewStopCapturingKey EPhoneViewStopCapturingKey -EPhoneViewSetGlobalNotifiersDisabled EPhoneViewSetGlobalNotifiersDisabled -EPhoneViewGetHoldFlag EPhoneViewGetHoldFlag -EPhoneViewSetHoldFlag EPhoneViewSetHoldFlag -EPhoneViewSetSoftRejectFlag EPhoneViewSetSoftRejectFlag -EPhoneViewGetSoftRejectFlag EPhoneViewGetSoftRejectFlag -EPhoneViewSetServiceCodeFlag EPhoneViewSetServiceCodeFlag -EPhoneViewUpdateContact EPhoneViewUpdateContact -EPhoneViewAddContact EPhoneViewAddContact -EPhoneViewOpenSingleItemFetchDialog EPhoneViewOpenSingleItemFetchDialog -EPhoneViewRemovePhoneDialogs EPhoneViewRemovePhoneDialogs -EPhoneViewCreateConference EPhoneViewCreateConference -EPhoneViewAddToConference EPhoneViewAddToConference -EPhoneViewRemoveFromConference EPhoneViewRemoveFromConference -EPhoneViewPrivateFromConference EPhoneViewPrivateFromConference -EPhoneViewSelectedConfMember EPhoneViewSelectedConfMember -EPhoneViewOpenConferenceList EPhoneViewOpenConferenceList -EPhoneViewGetConferenceListVisibleFlag EPhoneViewGetConferenceListVisibleFlag -EPhoneViewGetCallState EPhoneViewGetCallState -EPhoneViewGetCallIdByState EPhoneViewGetCallIdByState -EPhoneViewMoveHighLightInList EPhoneViewMoveHighLightInList -EPhoneViewGetCountOfActiveCalls EPhoneViewGetCountOfActiveCalls -EPhoneViewSetNaviPaneAudioVolume EPhoneViewSetNaviPaneAudioVolume -EPhoneViewShowNaviPaneAudioVolume EPhoneViewShowNaviPaneAudioVolume -EPhoneViewHideNaviPaneAudioVolume EPhoneViewHideNaviPaneAudioVolume -EPhoneViewGetIsConference EPhoneViewGetIsConference -EPhoneViewGetCallExistsInConference EPhoneViewGetCallExistsInConference -EPhoneViewRemoveAllCallHeaders EPhoneViewRemoveAllCallHeaders -EPhoneViewPlayRingTone EPhoneViewPlayRingTone -EPhoneViewMuteRingTone EPhoneViewMuteRingTone -EPhoneViewStopRingTone EPhoneViewStopRingTone -EPhoneViewMuteRingToneOnAnswer EPhoneViewMuteRingToneOnAnswer -EPhoneViewCipheringInfoChange EPhoneViewCipheringInfoChange -EPhoneViewUpdateMaxConfMemberFlag EPhoneViewUpdateMaxConfMemberFlag -EPhoneViewCloseFSW EPhoneViewCloseFSW -EPhoneViewLaunchRfsDeep EPhoneViewLaunchRfsDeep -EPhoneViewLaunchRfsNormal EPhoneViewLaunchRfsNormal -EPhoneViewUpdateView EPhoneViewUpdateView -EPhoneViewOpenSoftRejectEditor EPhoneViewOpenSoftRejectEditor -EPhoneViewSendMessage EPhoneViewSendMessage -EPhoneViewSetBlockingDialogStatus EPhoneViewSetBlockingDialogStatus -EPhoneViewSetPhoneNumberAvailableInPhoneEngine EPhoneViewSetPhoneNumberAvailableInPhoneEngine -EPhoneViewSetSecurityMode EPhoneViewSetSecurityMode -EPhoneViewGetSecurityModeStatus EPhoneViewGetSecurityModeStatus -EPhoneViewSetStatusPaneVisible EPhoneViewSetStatusPaneVisible -EPhoneViewEnableKeyLock EPhoneViewEnableKeyLock -EPhoneViewEnableKeyLockWithoutNote EPhoneViewEnableKeyLockWithoutNote -EPhoneViewLaunchFaxModem EPhoneViewLaunchFaxModem -EPhoneViewUpdateFSW EPhoneViewUpdateFSW -EPhoneViewIsQuery EPhoneViewIsQuery -EPhoneViewBringIdleToForeground EPhoneViewBringIdleToForeground -EPhoneViewSetIdleTopApplication EPhoneViewSetIdleTopApplication -EPhoneViewBeginUpdate EPhoneViewBeginUpdate -EPhoneViewEndUpdate EPhoneViewEndUpdate -EPhoneViewSetConfrenceOptionsFlag EPhoneViewSetConfrenceOptionsFlag -EPhoneViewRemoveConferenceBubble EPhoneViewRemoveConferenceBubble -EPhoneViewGetSoftRejectWindowGroupId EPhoneViewGetSoftRejectWindowGroupId -EPhoneViewSetTouchPaneButtons EPhoneViewSetTouchPaneButtons -EPhoneViewSetTouchPaneVisible EPhoneViewSetTouchPaneVisible -EPhoneViewEnableTouchButton EPhoneViewEnableTouchButton -EPhoneViewDisableTouchButton EPhoneViewDisableTouchButton -EPhoneResetTouchButtons EPhoneResetTouchButtons -EPhoneViewGetIsConferenceInSelectionMode EPhoneViewGetIsConferenceInSelectionMode -EPhoneViewIsStraightCallToVideoMailBox EPhoneViewIsStraightCallToVideoMailBox -EPhoneViewSetDtmfDialerViewVisible EPhoneViewSetDtmfDialerViewVisible -EPhoneViewSetRetrictedDialer EPhoneViewSetRetrictedDialer +EPhoneViewCreateNumberEntry EPhoneViewCreateNumberEntry +EPhoneViewSetNumberEntryContent EPhoneViewSetNumberEntryContent +EPhoneViewSendKeyEventToNumberEntry EPhoneViewSendKeyEventToNumberEntry +EPhoneViewRemoveNumberEntry EPhoneViewRemoveNumberEntry +EPhoneViewSetNumberEntryVisible EPhoneViewSetNumberEntryVisible +EPhoneViewGetNumberFromEntry EPhoneViewGetNumberFromEntry +EPhoneViewGetNumberEntryCount EPhoneViewGetNumberEntryCount +EPhoneViewGetNumberEntryIsUsedStatus EPhoneViewGetNumberEntryIsUsedStatus +EPhoneViewGetNumberEntryIsVisibleStatus EPhoneViewGetNumberEntryIsVisibleStatus +EPhoneViewToggleNumberEntryAlphaNumericMode EPhoneViewToggleNumberEntryAlphaNumericMode +EPhoneViewIsNumberEntryNumericMode EPhoneViewIsNumberEntryNumericMode +EPhoneViewClearNumberEntryContent EPhoneViewClearNumberEntryContent +EPhoneViewCreateCallHeader EPhoneViewCreateCallHeader +EPhoneViewCreateEmergencyCallHeader EPhoneViewCreateEmergencyCallHeader +EPhoneViewUpdateCallHeaderRemoteInfoData EPhoneViewUpdateCallHeaderRemoteInfoData +EPhoneViewUpdateCallHeaderCallDuration EPhoneViewUpdateCallHeaderCallDuration +EPhoneViewRemoveCallHeader EPhoneViewRemoveCallHeader +EPhoneViewMenuBarOpen EPhoneViewMenuBarOpen +EPhoneViewMenuBarClose EPhoneViewMenuBarClose +EPhoneViewDimCbaCommand EPhoneViewDimCbaCommand +EPhoneViewUpdateCba EPhoneViewUpdateCba +EPhoneViewUpdateBubble EPhoneViewUpdateBubble +EPhoneViewMenuPane EPhoneViewMenuPane +EPhoneViewMenuBar EPhoneViewMenuBar +EPhoneViewSetTitlePaneContent EPhoneViewSetTitlePaneContent +EPhoneViewSetNaviPaneContent EPhoneViewSetNaviPaneContent +EPhoneViewSetTitlePanePicture EPhoneViewSetTitlePanePicture +EPhoneViewGetTitlePaneIsVisibleStatus EPhoneViewGetTitlePaneIsVisibleStatus +EPhoneViewActivateAudioPathUIChanges EPhoneViewActivateAudioPathUIChanges +EPhoneViewActivateAudioAvailabilityUIChanges EPhoneViewActivateAudioAvailabilityUIChanges +EPhoneViewActivateMuteUIChanges EPhoneViewActivateMuteUIChanges +EPhoneViewShowNote EPhoneViewShowNote +EPhoneViewShowGlobalNote EPhoneViewShowGlobalNote +EPhoneViewShowProgressNote EPhoneViewShowProgressNote +EPhoneViewRemoveNote EPhoneViewRemoveNote +EPhoneViewRemoveProgressNote EPhoneViewRemoveProgressNote +EPhoneViewRemoveGlobalNote EPhoneViewRemoveGlobalNote +EPhoneViewGetIsNoteVisible EPhoneViewGetIsNoteVisible +EPhoneViewGetIsProgressNoteVisible EPhoneViewGetIsProgressNoteVisible +EPhoneViewShowQuery EPhoneViewShowQuery +EPhoneViewSetListQueryString EPhoneViewSetListQueryString +EPhoneViewRemoveQuery EPhoneViewRemoveQuery +EPhoneViewGetTextQueryContent EPhoneViewGetTextQueryContent +EPhoneViewSetTopApplication EPhoneViewSetTopApplication +EPhoneViewBringAppToForeground EPhoneViewBringAppToForeground +EPhoneViewSendToBackground EPhoneViewSendToBackground +EPhoneViewSetNeedToSendToBackgroundStatus EPhoneViewSetNeedToSendToBackgroundStatus +EPhoneViewGetNeedToSendToBackgroundStatus EPhoneViewGetNeedToSendToBackgroundStatus +EPhoneViewGetTopApplicationIsDisplayedStatus EPhoneViewGetTopApplicationIsDisplayedStatus +EPhoneViewGetForegroundApplication EPhoneViewGetForegroundApplication +EPhoneViewSetBackgroundImageBitmap EPhoneViewSetBackgroundImageBitmap +EPhoneViewGetBackgroundImageBitmap EPhoneViewGetBackgroundImageBitmap +EPhoneViewActivateApp EPhoneViewActivateApp +EPhoneViewActivateAppView EPhoneViewActivateAppView +EPhoneViewActivateAppViewWithCustomMessage EPhoneViewActivateAppViewWithCustomMessage +EPhoneViewActivateAppViewConventional EPhoneViewActivateAppViewConventional +EPhoneViewLaunchApplication EPhoneViewLaunchApplication +EPhoneViewLaunchHelpApplication EPhoneViewLaunchHelpApplication +EPhoneViewOpenMessageEditor EPhoneViewOpenMessageEditor +EPhoneViewExitApplications EPhoneViewExitApplications +EPhoneViewUpdateIncallIndicator EPhoneViewUpdateIncallIndicator +EPhoneViewStartCapturingKey EPhoneViewStartCapturingKey +EPhoneViewStopCapturingKey EPhoneViewStopCapturingKey +EPhoneViewSetGlobalNotifiersDisabled EPhoneViewSetGlobalNotifiersDisabled +EPhoneViewGetHoldFlag EPhoneViewGetHoldFlag +EPhoneViewSetHoldFlag EPhoneViewSetHoldFlag +EPhoneViewSetSoftRejectFlag EPhoneViewSetSoftRejectFlag +EPhoneViewGetSoftRejectFlag EPhoneViewGetSoftRejectFlag +EPhoneViewSetServiceCodeFlag EPhoneViewSetServiceCodeFlag +EPhoneViewUpdateContact EPhoneViewUpdateContact +EPhoneViewAddContact EPhoneViewAddContact +EPhoneViewOpenSingleItemFetchDialog EPhoneViewOpenSingleItemFetchDialog +EPhoneViewRemovePhoneDialogs EPhoneViewRemovePhoneDialogs +EPhoneViewCreateConference EPhoneViewCreateConference +EPhoneViewAddToConference EPhoneViewAddToConference +EPhoneViewRemoveFromConference EPhoneViewRemoveFromConference +EPhoneViewPrivateFromConference EPhoneViewPrivateFromConference +EPhoneViewSelectedConfMember EPhoneViewSelectedConfMember +EPhoneViewGetConferenceListVisibleFlag EPhoneViewGetConferenceListVisibleFlag +EPhoneViewOpenConferenceList EPhoneViewOpenConferenceList +EPhoneViewGetCallState EPhoneViewGetCallState +EPhoneViewGetCallIdByState EPhoneViewGetCallIdByState +EPhoneViewMoveHighLightInList EPhoneViewMoveHighLightInList +EPhoneViewGetCountOfActiveCalls EPhoneViewGetCountOfActiveCalls +EPhoneViewSetNaviPaneAudioVolume EPhoneViewSetNaviPaneAudioVolume +EPhoneViewShowNaviPaneAudioVolume EPhoneViewShowNaviPaneAudioVolume +EPhoneViewHideNaviPaneAudioVolume EPhoneViewHideNaviPaneAudioVolume +EPhoneViewGetIsConference EPhoneViewGetIsConference +EPhoneViewGetCallExistsInConference EPhoneViewGetCallExistsInConference +EPhoneViewRemoveAllCallHeaders EPhoneViewRemoveAllCallHeaders +EPhoneViewPlayRingTone EPhoneViewPlayRingTone +EPhoneViewMuteRingTone EPhoneViewMuteRingTone +EPhoneViewStopRingTone EPhoneViewStopRingTone +EPhoneViewMuteRingToneOnAnswer EPhoneViewMuteRingToneOnAnswer +EPhoneViewCipheringInfoChange EPhoneViewCipheringInfoChange +EPhoneViewUpdateMaxConfMemberFlag EPhoneViewUpdateMaxConfMemberFlag +EPhoneViewCloseFSW EPhoneViewCloseFSW +EPhoneViewLaunchRfsDeep EPhoneViewLaunchRfsDeep +EPhoneViewLaunchRfsNormal EPhoneViewLaunchRfsNormal +EPhoneViewUpdateView EPhoneViewUpdateView +EPhoneViewOpenSoftRejectEditor EPhoneViewOpenSoftRejectEditor +EPhoneViewSendMessage EPhoneViewSendMessage +EPhoneViewSetBlockingDialogStatus EPhoneViewSetBlockingDialogStatus +EPhoneViewSetPhoneNumberAvailableInPhoneEngine EPhoneViewSetPhoneNumberAvailableInPhoneEngine +EPhoneViewSetSecurityMode EPhoneViewSetSecurityMode +EPhoneViewGetSecurityModeStatus EPhoneViewGetSecurityModeStatus +EPhoneViewSetStatusPaneVisible EPhoneViewSetStatusPaneVisible +EPhoneViewEnableKeyLock EPhoneViewEnableKeyLock +EPhoneViewEnableKeyLockWithoutNote EPhoneViewEnableKeyLockWithoutNote +EPhoneViewLaunchFaxModem EPhoneViewLaunchFaxModem +EPhoneViewUpdateFSW EPhoneViewUpdateFSW +EPhoneViewIsQuery EPhoneViewIsQuery +EPhoneViewBringIdleToForeground EPhoneViewBringIdleToForeground +EPhoneViewSetIdleTopApplication EPhoneViewSetIdleTopApplication +EPhoneViewBeginUpdate EPhoneViewBeginUpdate +EPhoneViewEndUpdate EPhoneViewEndUpdate +EPhoneViewSetConfrenceOptionsFlag EPhoneViewSetConfrenceOptionsFlag +EPhoneViewRemoveConferenceBubble EPhoneViewRemoveConferenceBubble +EPhoneViewGetSoftRejectWindowGroupId EPhoneViewGetSoftRejectWindowGroupId +EPhoneViewSetTouchPaneButtons EPhoneViewSetTouchPaneButtons +EPhoneViewSetTouchPaneVisible EPhoneViewSetTouchPaneVisible +EPhoneViewEnableTouchButton EPhoneViewEnableTouchButton +EPhoneViewDisableTouchButton EPhoneViewDisableTouchButton +EPhoneResetTouchButtons EPhoneResetTouchButtons +EPhoneViewGetIsConferenceInSelectionMode EPhoneViewGetIsConferenceInSelectionMode +EPhoneViewIsStraightCallToVideoMailBox EPhoneViewIsStraightCallToVideoMailBox +EPhoneViewSetDtmfDialerViewVisible EPhoneViewSetDtmfDialerViewVisible +EPhoneViewSetRetrictedDialer EPhoneViewSetRetrictedDialer EPhoneViewIsConferenceInExpandedMode EPhoneViewIsConferenceInExpandedMode -EPhoneViewIsMenuBarVisible EPhoneViewIsMenuBarVisible -EPhoneViewGetBlockingDialogStatus EPhoneViewGetBlockingDialogStatus -EPhoneViewYesSingleItemFetch EPhoneViewYesSingleItemFetch -EPhoneViewNoSingleItemFetch EPhoneViewNoSingleItemFetch -EPhoneViewGetLocalizedNumberFromEntry EPhoneViewGetLocalizedNumberFromEntry -EPhoneViewIsNoteActive EPhoneViewIsNoteActive -EPhoneViewOpenNumberEntry EPhoneViewOpenNumberEntry -EPhoneViewOpenCallHandling EPhoneViewOpenCallHandling -EPhoneViewGetConferenceAndSingleFlag EPhoneViewGetConferenceAndSingleFlag -EPhoneViewSetConferenceAndSingleFlag EPhoneViewSetConferenceAndSingleFlag -EPhoneViewSetVideoCallFlag EPhoneViewSetVideoCallFlag -EPhoneViewSetDtmfOptionsFlag EPhoneViewSetDtmfOptionsFlag -EPhoneViewShowVTSetupFailedCreateCallToSameContactQuery EPhoneViewShowVTSetupFailedCreateCallToSameContactQuery -EPhoneViewGetAudioVolumeLevel EPhoneViewGetAudioVolumeLevel -EPhoneViewIsIdleTopApp EPhoneViewIsIdleTopApp -EPhoneViewUpdateToolbar EPhoneViewUpdateToolbar -EPhoneViewSetControlAndVisibility EPhoneViewSetControlAndVisibility -EPhoneViewAllowWaitingCallHeader EPhoneViewAllowWaitingCallHeader -EPhoneViewBeginTransEffect EPhoneViewBeginTransEffect -EPhoneViewEndTransEffect EPhoneViewEndTransEffect -EPhoneViewSetDialerControlVisible EPhoneViewSetDialerControlVisible -EPhoneViewCloseSingleItemFetchDialog EPhoneViewCloseSingleItemFetchDialog -EPhoneViewGetActivatePreviousApp EPhoneViewGetActivatePreviousApp -EPhoneViewActivatePreviousApp EPhoneViewActivatePreviousApp -EPhoneViewSetPointerCapture EPhoneViewSetPointerCapture -EPhoneViewSetSendKeyDialerActivationFlag EPhoneViewSetSendKeyDialerActivationFlag +EPhoneViewIsMenuBarVisible EPhoneViewIsMenuBarVisible +EPhoneViewGetBlockingDialogStatus EPhoneViewGetBlockingDialogStatus +EPhoneViewYesSingleItemFetch EPhoneViewYesSingleItemFetch +EPhoneViewNoSingleItemFetch EPhoneViewNoSingleItemFetch +EPhoneViewGetLocalizedNumberFromEntry EPhoneViewGetLocalizedNumberFromEntry +EPhoneViewIsNoteActive EPhoneViewIsNoteActive +EPhoneViewOpenNumberEntry EPhoneViewOpenNumberEntry +EPhoneViewOpenCallHandling EPhoneViewOpenCallHandling +EPhoneViewGetConferenceAndSingleFlag EPhoneViewGetConferenceAndSingleFlag +EPhoneViewSetConferenceAndSingleFlag EPhoneViewSetConferenceAndSingleFlag +EPhoneViewSetVideoCallFlag EPhoneViewSetVideoCallFlag +EPhoneViewSetDtmfOptionsFlag EPhoneViewSetDtmfOptionsFlag +EPhoneViewShowVTSetupFailedCreateCallToSameContactQuery EPhoneViewShowVTSetupFailedCreateCallToSameContactQuery +EPhoneViewGetAudioVolumeLevel EPhoneViewGetAudioVolumeLevel +EPhoneViewIsIdleTopApp EPhoneViewIsIdleTopApp +EPhoneViewUpdateToolbar EPhoneViewUpdateToolbar +EPhoneViewSetControlAndVisibility EPhoneViewSetControlAndVisibility +EPhoneViewAllowWaitingCallHeader EPhoneViewAllowWaitingCallHeader +EPhoneViewBeginTransEffect EPhoneViewBeginTransEffect +EPhoneViewEndTransEffect EPhoneViewEndTransEffect +EPhoneViewSetDialerControlVisible EPhoneViewSetDialerControlVisible +EPhoneViewCloseSingleItemFetchDialog EPhoneViewCloseSingleItemFetchDialog +EPhoneViewGetActivatePreviousApp EPhoneViewGetActivatePreviousApp +EPhoneViewActivatePreviousApp EPhoneViewActivatePreviousApp +EPhoneViewSetPointerCapture EPhoneViewSetPointerCapture +EPhoneViewSetSendKeyDialerActivationFlag EPhoneViewSetSendKeyDialerActivationFlag EPhoneViewPrepareIcons EPhoneViewPrepareIcons -EPhoneViewKeypadAudioEnabled EPhoneViewKeypadAudioEnabled -EPhoneViewKeypadAudioDisabled EPhoneViewKeypadAudioDisabled -EPhoneViewUpdateCallHeaderRemoteInfoDataAndLabel EPhoneViewUpdateCallHeaderRemoteInfoDataAndLabel -EPhoneViewRemoveDtmfNote EPhoneViewRemoveDtmfNote -EPhoneViewUpdatePhoneIconToFSW EPhoneViewUpdatePhoneIconToFSW -EPhoneViewSetEikonNotifiersDisabled EPhoneViewSetEikonNotifiersDisabled -EPhoneViewCancelAllNotications EPhoneViewCancelAllNotications -EPhoneViewSetVideoCallDTMFVisibilityFlag EPhoneViewSetVideoCallDTMFVisibilityFlag -EPhoneViewIsKeyLockEnabled EPhoneViewIsKeyLockEnabled -EPhoneViewDisableKeyLock EPhoneViewDisableKeyLock -EPhoneViewLoadPlugins EPhoneViewLoadPlugins -PhoneViewServiceSelection PhoneViewServiceSelection -EPhoneViewOpenVirtualKeyBoard EPhoneViewOpenVirtualKeyBoard -EPhoneViewUpdateNoteSoftkeys EPhoneViewUpdateNoteSoftkeys -EPhoneViewShowCustomizedDialer EPhoneViewShowCustomizedDialer -EPhoneViewHideCustomizedDialer EPhoneViewHideCustomizedDialer -EPhoneViewGetCustomizedDialerMenuResourceId EPhoneViewGetCustomizedDialerMenuResourceId -EPhoneViewGetCustomizedDialerCbaResourceId EPhoneViewGetCustomizedDialerCbaResourceId -EPhoneViewCreatePhoneBookServices EPhoneViewCreatePhoneBookServices -EPhoneViewDisableKeyLockWithoutNote EPhoneViewDisableKeyLockWithoutNote -EPhoneViewGetKeyLockStatus EPhoneViewGetKeyLockStatus -EPhoneViewSetNumberEntryObserver EPhoneViewSetNumberEntryObserver -EPhoneViewGetSingleItemFetchType EPhoneViewGetSingleItemFetchType -EPhoneViewRemoveGlobalWaitNote EPhoneViewRemoveGlobalWaitNote -EPhoneViewSetPhoneCustomization EPhoneViewSetPhoneCustomization -EPhoneViewSetViewCustomization EPhoneViewSetViewCustomization -EPhoneViewSetButtonCustomization EPhoneViewSetButtonCustomization -EPhoneViewUpdateContactByString EPhoneViewUpdateContactByString -EPhoneViewAddContactByString EPhoneViewAddContactByString -EPhoneViewIsActiveNoteDissmissableByKeyEvent EPhoneViewIsActiveNoteDissmissableByKeyEvent -EPhoneViewSetNoConnectedCalls EPhoneViewSetNoConnectedCalls -EPhoneViewIsDTMFEditorVisible EPhoneViewIsDTMFEditorVisible +EPhoneViewKeypadAudioEnabled EPhoneViewKeypadAudioEnabled +EPhoneViewKeypadAudioDisabled EPhoneViewKeypadAudioDisabled +EPhoneViewUpdateCallHeaderRemoteInfoDataAndLabel EPhoneViewUpdateCallHeaderRemoteInfoDataAndLabel +EPhoneViewRemoveDtmfNote EPhoneViewRemoveDtmfNote +EPhoneViewUpdatePhoneIconToFSW EPhoneViewUpdatePhoneIconToFSW +EPhoneViewSetEikonNotifiersDisabled EPhoneViewSetEikonNotifiersDisabled +EPhoneViewCancelAllNotications EPhoneViewCancelAllNotications +EPhoneViewSetVideoCallDTMFVisibilityFlag EPhoneViewSetVideoCallDTMFVisibilityFlag +EPhoneViewIsKeyLockEnabled EPhoneViewIsKeyLockEnabled +EPhoneViewDisableKeyLock EPhoneViewDisableKeyLock +EPhoneViewLoadPlugins EPhoneViewLoadPlugins +EPhoneViewOpenVirtualKeyBoard EPhoneViewOpenVirtualKeyBoard +EPhoneViewUpdateNoteSoftkeys EPhoneViewUpdateNoteSoftkeys +EPhoneViewSendAiwCommand EPhoneViewSendAiwCommand +EPhoneViewShowCustomizedDialer EPhoneViewShowCustomizedDialer +EPhoneViewHideCustomizedDialer EPhoneViewHideCustomizedDialer +EPhoneViewGetCustomizedDialerMenuResourceId EPhoneViewGetCustomizedDialerMenuResourceId +EPhoneViewGetCustomizedDialerCbaResourceId EPhoneViewGetCustomizedDialerCbaResourceId +EPhoneViewCipheringInfoChangePlayTone EPhoneViewCipheringInfoChangePlayTone +EPhoneViewCreatePhoneBookServices EPhoneViewCreatePhoneBookServices +EPhoneViewDisableKeyLockWithoutNote EPhoneViewDisableKeyLockWithoutNote +EPhoneViewGetKeyLockStatus EPhoneViewGetKeyLockStatus +EPhoneViewSetNumberEntryObserver EPhoneViewSetNumberEntryObserver +EPhoneViewGetSingleItemFetchType EPhoneViewGetSingleItemFetchType +EPhoneViewRemoveGlobalWaitNote EPhoneViewRemoveGlobalWaitNote +EPhoneViewSetPhoneCustomization EPhoneViewSetPhoneCustomization +EPhoneViewSetViewCustomization EPhoneViewSetViewCustomization +EPhoneViewSetButtonCustomization EPhoneViewSetButtonCustomization +EPhoneViewUpdateContactByString EPhoneViewUpdateContactByString +EPhoneViewAddContactByString EPhoneViewAddContactByString +EPhoneViewIsActiveNoteDissmissableByKeyEvent EPhoneViewIsActiveNoteDissmissableByKeyEvent +EPhoneViewUpdateContextMenu EPhoneViewUpdateContextMenu +EPhoneViewSetNoConnectedCalls EPhoneViewSetNoConnectedCalls +EPhoneViewIsDTMFEditorVisible EPhoneViewIsDTMFEditorVisible +EPhoneViewSetToolbarDimming EPhoneViewSetToolbarDimming +EPhoneViewEnableToolbarButton EPhoneViewEnableToolbarButton +EPhoneViewHideToolbar EPhoneViewHideToolbar +EPhoneViewShowToolbar EPhoneViewShowToolbar +EPhoneViewGetExpandedBubbleCallId EPhoneViewGetExpandedBubbleCallId +EPhoneViewOpenDialer EPhoneViewOpenDialer +EPhoneSetConferenceExpanded EPhoneSetConferenceExpanded +EPhoneAppShutDown EPhoneAppShutDown +EPhoneViewBackButtonActive EPhoneViewBackButtonActive +EPhoneViewHsToForegroundAfterCall EPhoneViewHsToForegroundAfterCall +EPhoneViewOpenContacts EPhoneViewOpenContacts +EPhoneViewSetIhfFlag EPhoneViewSetIhfFlag +EPhoneViewSetMuteFlag EPhoneViewSetMuteFlag +EPhoneViewLaunchLogs EPhoneViewLaunchLogs +EPhoneViewSetBlueToothFlag EPhoneViewSetBlueToothFlag +EPhoneViewSetBluetoothAvailableFlag EPhoneViewSetBluetoothAvailableFlag EPhoneAmountOfCommands, // Don't remove this, this should always be the last in list. diff -r 6b911d05207e -r bc5a64e5bc3c phoneapp/phoneuiutils/src/phonestatestrings.cpp --- a/phoneapp/phoneuiutils/src/phonestatestrings.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneapp/phoneuiutils/src/phonestatestrings.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2005 - 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" @@ -11,12 +11,11 @@ * * Contributors: * -* Description: -* Macro definition file for logging. +* Description: Macro definition file for logging. * */ -// Autogenerated from phonestatestrings.st by the stringtable tool - Do not edit +// Autogenerated from .\phonestatestrings.st by the stringtable tool - Do not edit #include #include #include @@ -35,15 +34,15 @@ // Intermediate const void * const KStringPointers[] = - { - (const void*)&K1, - (const void*)&K2, - (const void*)&K3, - (const void*)&K4, - (const void*)&K5, - (const void*)&K6, - (const void*)&K7 - }; + { + (const void*)&K1, + (const void*)&K2, + (const void*)&K3, + (const void*)&K4, + (const void*)&K5, + (const void*)&K6, + (const void*)&K7 + }; const TStringTable PhoneStateStrings::Table = {7, KStringPointers, EFalse}; diff -r 6b911d05207e -r bc5a64e5bc3c phoneapp/phoneuiutils/src/phonestatestringsgsm.cpp --- a/phoneapp/phoneuiutils/src/phonestatestringsgsm.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneapp/phoneuiutils/src/phonestatestringsgsm.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2005 - 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" @@ -11,12 +11,11 @@ * * Contributors: * -* Description: -* Macro definition file for logging. +* Description: Macro definition file for logging. * */ -// Autogenerated from phonestatestringsgsm.st by the stringtable tool - Do not edit +// Autogenerated from .\phonestatestringsgsm.st by the stringtable tool - Do not edit #include #include #include @@ -43,23 +42,23 @@ // Intermediate const void * const KStringPointers[] = - { - (const void*)&K1, - (const void*)&K2, - (const void*)&K3, - (const void*)&K4, - (const void*)&K5, - (const void*)&K6, - (const void*)&K7, - (const void*)&K8, - (const void*)&K9, - (const void*)&K10, - (const void*)&K11, - (const void*)&K12, - (const void*)&K13, - (const void*)&K14, - (const void*)&K15 - }; + { + (const void*)&K1, + (const void*)&K2, + (const void*)&K3, + (const void*)&K4, + (const void*)&K5, + (const void*)&K6, + (const void*)&K7, + (const void*)&K8, + (const void*)&K9, + (const void*)&K10, + (const void*)&K11, + (const void*)&K12, + (const void*)&K13, + (const void*)&K14, + (const void*)&K15 + }; const TStringTable PhoneStateStringsGSM::Table = {15, KStringPointers, EFalse}; diff -r 6b911d05207e -r bc5a64e5bc3c phoneapp/phoneuiutils/src/tphonecmdparamglobalnote.cpp --- a/phoneapp/phoneuiutils/src/tphonecmdparamglobalnote.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneapp/phoneuiutils/src/tphonecmdparamglobalnote.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -38,7 +38,8 @@ iWaitforReady ( EFalse ), iSoftkeys( 0 ), iTimeout( 0 ), - iNotificationDialog( EFalse ) + iNotificationDialog( EFalse ), + iCauseCode( KErrNotFound ) { iParamId = EPhoneParamIdGlobalNote; } @@ -137,6 +138,18 @@ } // --------------------------------------------------------- +// TPhoneCmdParamGlobalNote::SetCauseCode +// Sets the cause code. +// (other items were commented in a header). +// --------------------------------------------------------- +// +EXPORT_C void TPhoneCmdParamGlobalNote::SetCauseCode( + TInt aCauseCode ) +{ + iCauseCode = aCauseCode; +} + +// --------------------------------------------------------- // TPhoneCmdParamGlobalNote::Type // Returns the global note type // (other items were commented in a header). @@ -222,4 +235,14 @@ return iNotificationDialog; } +// --------------------------------------------------------- +// TPhoneCmdParamGlobalNote::CauseCode +// Returns the cause code. +// --------------------------------------------------------- +// +EXPORT_C TInt TPhoneCmdParamGlobalNote::CauseCode() const + { + return iCauseCode; + } + // End of File diff -r 6b911d05207e -r bc5a64e5bc3c phoneapp/phoneuiview2/bwins/phoneuiqtviewu.def --- a/phoneapp/phoneuiview2/bwins/phoneuiqtviewu.def Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneapp/phoneuiview2/bwins/phoneuiqtviewu.def Tue Jul 06 14:15:47 2010 +0300 @@ -64,4 +64,6 @@ ?windowDeactivated@PhoneUIQtView@@IAEXXZ @ 63 NONAME ; void PhoneUIQtView::windowDeactivated(void) ?windowActivated@PhoneUIQtView@@IAEXXZ @ 64 NONAME ; void PhoneUIQtView::windowActivated(void) ?clearDialpad@PhoneUIQtView@@UAEXXZ @ 65 NONAME ; void PhoneUIQtView::clearDialpad(void) + ?captureKey@PhoneUIQtView@@UAEXW4Key@Qt@@_N@Z @ 66 NONAME ; void PhoneUIQtView::captureKey(enum Qt::Key, bool) + ?setRestrictedMode@PhoneUIQtView@@UAEX_N@Z @ 67 NONAME ; void PhoneUIQtView::setRestrictedMode(bool) diff -r 6b911d05207e -r bc5a64e5bc3c phoneapp/phoneuiview2/eabi/phoneuiqtviewu.def --- a/phoneapp/phoneuiview2/eabi/phoneuiqtviewu.def Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneapp/phoneuiview2/eabi/phoneuiqtviewu.def Tue Jul 06 14:15:47 2010 +0300 @@ -94,4 +94,8 @@ _ZN13PhoneUIQtView17windowDeactivatedEv @ 93 NONAME _ZN13PhoneUIQtView12clearDialpadEv @ 94 NONAME _ZThn28_N13PhoneUIQtView12clearDialpadEv @ 95 NONAME + _ZN13PhoneUIQtView10captureKeyEN2Qt3KeyEb @ 96 NONAME + _ZThn28_N13PhoneUIQtView10captureKeyEN2Qt3KeyEb @ 97 NONAME + _ZN13PhoneUIQtView17setRestrictedModeEb @ 98 NONAME + _ZThn28_N13PhoneUIQtView17setRestrictedModeEb @ 99 NONAME diff -r 6b911d05207e -r bc5a64e5bc3c phoneapp/phoneuiview2/inc/phoneuiqtview.h --- a/phoneapp/phoneuiview2/inc/phoneuiqtview.h Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneapp/phoneuiview2/inc/phoneuiqtview.h Tue Jul 06 14:15:47 2010 +0300 @@ -31,6 +31,7 @@ class HbVolumeSliderPopup; class Dialpad; class XqKeyCapture; +class DialpadKeyHandler; #ifdef BUILD_PHONEUIQTVIEW #define PHONEUIQTVIEW_EXPORT Q_DECL_EXPORT @@ -224,6 +225,20 @@ */ HbMenu &menuReference(); + /*! + \fn void PhoneUIQtViewIF::captureKey() + + Captures key. + */ + void captureKey(Qt::Key key, bool capture); + + /* + \fn void setRestrictedMode() + + Sets Ui to restricted mode. Decides which keyevent are allowed. + */ + void setRestrictedMode(bool restrictedMode); + public slots: /*! @@ -378,6 +393,9 @@ QSignalMapper *m_menuSignalMapper; XqKeyCapture *m_keyCapture; QSystemNetworkInfo *m_networkInfo; + QList m_keyCaptures; + DialpadKeyHandler *m_dialpadKeyHandler; + bool m_restrictedMode; }; #endif // PHONEUIQTVIEW_H diff -r 6b911d05207e -r bc5a64e5bc3c phoneapp/phoneuiview2/inc/phoneuiqtviewif.h --- a/phoneapp/phoneuiview2/inc/phoneuiqtviewif.h Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneapp/phoneuiview2/inc/phoneuiqtviewif.h Tue Jul 06 14:15:47 2010 +0300 @@ -210,6 +210,20 @@ Returns HbMenu reference. */ virtual HbMenu &menuReference() = 0; + + /*! + \fn void PhoneUIQtViewIF::captureKey() + + Captures key. + */ + virtual void captureKey(Qt::Key key, bool capture) = 0; + + /* + \fn void setRestrictedMode() + + Sets Ui to restricted mode. Decides which keyevent are allowed. + */ + virtual void setRestrictedMode(bool restrictedMode) = 0; }; #endif // PHONEUIQTVIEWIF_H diff -r 6b911d05207e -r bc5a64e5bc3c phoneapp/phoneuiview2/src/phoneuiqtview.cpp --- a/phoneapp/phoneuiview2/src/phoneuiqtview.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneapp/phoneuiview2/src/phoneuiqtview.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -15,7 +15,7 @@ * */ #include -#include +#include #include #include #include @@ -36,12 +36,19 @@ PhoneUIQtView::PhoneUIQtView (HbMainWindow &window, QGraphicsItem *parent) : HbView (parent), m_window(window), + m_bubbleManager(0), + m_signalMapper(0), m_volumeSlider (0), m_expandSignalMapper(0), m_participantListSignalMapper(0), m_volumeCommandId(0), + m_backAction(0), + m_dialpad(0), + m_menuSignalMapper(0), m_keyCapture(0), - m_networkInfo(0) + m_networkInfo(0), + m_dialpadKeyHandler(0), + m_restrictedMode(false) { // Set network name m_networkInfo = new QSystemNetworkInfo(this); @@ -49,24 +56,19 @@ if(networkName.isEmpty()) { networkName = m_networkInfo->networkName(QSystemNetworkInfo::GsmMode); } - connect(m_networkInfo, SIGNAL (networkNameChanged(QSystemNetworkInfo::NetworkMode,QString)), this, SLOT(networkNameChanged(QSystemNetworkInfo::NetworkMode, QString))); + connect(m_networkInfo, SIGNAL (networkNameChanged(QSystemNetworkInfo::NetworkMode,QString)), + this, SLOT(networkNameChanged(QSystemNetworkInfo::NetworkMode, QString))); setTitle(networkName); // Capturing long press of end key m_keyCapture = new XqKeyCapture(); - m_keyCapture->captureLongKey(Qt::Key_No); - m_keyCapture->captureKey(Qt::Key_No); // Dialpad m_dialpad = new Dialpad(m_window); m_dialpad->setCallButtonEnabled(false); m_dialpad->setTapOutsideDismiss(true); - connect(&m_dialpad->editor(),SIGNAL(contentsChanged()), - SLOT(onEditorContentChanged())); connect(m_dialpad,SIGNAL(aboutToClose()),this, SLOT(dialpadClosed())); - // enable key sequence handling during a call - new DialpadKeyHandler(m_dialpad, DialpadKeyHandler::KeySequence, this); // Call handling widget m_bubbleManager = new BubbleManager (this); @@ -91,6 +93,9 @@ setNavigationAction(m_backAction); createToolBarActions(); + + // Set restricted mode off, normal state + setRestrictedMode(false); } PhoneUIQtView::~PhoneUIQtView () @@ -405,6 +410,23 @@ return *menu(); } +void PhoneUIQtView::captureKey(Qt::Key key, bool capture) +{ + if (capture) { + if (!m_keyCaptures.contains(key)) { + m_keyCapture->captureLongKey(key); + m_keyCapture->captureKey(key); + m_keyCaptures.append(key); + } + } else { + if (m_keyCaptures.contains(key)) { + m_keyCapture->cancelCaptureKey(key); + m_keyCapture->cancelCaptureLongKey(key); + m_keyCaptures.removeOne(key); + } + } +} + void PhoneUIQtView::handleOrientationChange(Qt::Orientation orientation) { if (orientation==Qt::Horizontal) { @@ -436,20 +458,30 @@ { Q_UNUSED(watched); PHONE_DEBUG2("PhoneUIQtView::eventFilter event type:", event->type()); + + // Allow send key only when there is callbutton enabled or no text in input field + bool sendKeyAllowed = m_dialpad->isCallButtonEnabled() || + (m_dialpad->editor().text().length() == 0); + if(event->type() == QEvent::KeyPress) { QKeyEvent *keyEvent = static_cast(event); PHONE_DEBUG2("PhoneUIQtView::eventFilter pressed key:", keyEvent->key()); PHONE_DEBUG2("PhoneUIQtView::eventFilter isAutoRepeat:", keyEvent->isAutoRepeat()); - emit keyPressed(keyEvent); - keyEvent->accept(); + if ( (keyEvent->key() != Qt::Key_Yes && keyEvent->key() != Qt::Key_Enter) || + sendKeyAllowed) { + emit keyPressed(keyEvent); + keyEvent->accept(); + } return false; } else if(event->type() == QEvent::KeyRelease) { QKeyEvent *keyEvent = static_cast(event); PHONE_DEBUG2("PhoneUIQtView::eventFilter released key:", keyEvent->key()); - emit keyReleased(keyEvent); - keyEvent->accept(); - + if ( (keyEvent->key() != Qt::Key_Yes && keyEvent->key() != Qt::Key_Enter) || + sendKeyAllowed) { + emit keyReleased(keyEvent); + keyEvent->accept(); + } return false; } else if (event->type() == QEvent::WindowActivate){ PHONE_DEBUG("PhoneUIQtView::eventFilter WindowActivate"); @@ -510,7 +542,34 @@ void PhoneUIQtView::setBackButtonVisible(bool visible) { - m_backAction->setEnabled(visible); + if (!m_restrictedMode) { + m_backAction->setEnabled(visible); + } +} + +void PhoneUIQtView::setRestrictedMode(bool restrictedMode) +{ + m_restrictedMode = restrictedMode; + m_backAction->setEnabled(!restrictedMode); + m_dialpad->setCallButtonEnabled(false); + m_dialpad->editor().setText(""); // Clead dialpad + if (m_restrictedMode) { + delete m_dialpadKeyHandler; + m_dialpadKeyHandler = 0; + m_dialpadKeyHandler = new DialpadKeyHandler( + m_dialpad, DialpadKeyHandler::EmergencyCall, this); + disconnect(&m_dialpad->editor(),SIGNAL(contentsChanged()), + this, SLOT(onEditorContentChanged())); // Let emergency handler do updating + } else { + delete m_dialpadKeyHandler; + m_dialpadKeyHandler = 0; + // enable key sequence handling during a call + m_dialpadKeyHandler = new DialpadKeyHandler( + m_dialpad, DialpadKeyHandler::KeySequence, this); + connect(&m_dialpad->editor(),SIGNAL(contentsChanged()), + SLOT(onEditorContentChanged())); // Update our self + } + } void PhoneUIQtView::networkNameChanged(QSystemNetworkInfo::NetworkMode mode, const QString &netName) @@ -520,3 +579,4 @@ setTitle(netName); } } + diff -r 6b911d05207e -r bc5a64e5bc3c phoneapp/phoneuiview2/tsrc/ut_phoneuiqtview/unit_tests.cpp --- a/phoneapp/phoneuiview2/tsrc/ut_phoneuiqtview/unit_tests.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneapp/phoneuiview2/tsrc/ut_phoneuiqtview/unit_tests.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -28,12 +28,15 @@ #include #include #define protected public +#define private public #include "phoneuiqtview.h" #undef public #include "phoneaction.h" #include #include #include +#include +#include #include "xqserviceutil.h" #include "phoneaction.h" @@ -94,6 +97,8 @@ void testSetMenuActions(); void testLongEndKeyPressEventOutsideTelephony(); void testNetworkNameChanged(); + void testCaptureKey(); + void testRestrictedMode(); private: int createCallHeader(); @@ -419,11 +424,63 @@ QCOMPARE(m_networkName, QString("test2")); } +void TestPhoneUIQtView::testCaptureKey() +{ + m_view->captureKey( Qt::Key_No, true ); + m_view->captureKey( Qt::Key_No, true ); + m_view->captureKey( Qt::Key_Yes, false ); + m_view->captureKey( Qt::Key_No, false ); + m_view->captureKey( Qt::Key_No, false ); +} + +void TestPhoneUIQtView::testRestrictedMode() +{ + qRegisterMetaType("QKeyEvent*"); + QKeyEvent yesDown(QEvent::KeyPress, Qt::Key_Yes, Qt::NoModifier); + QKeyEvent yesUp(QEvent::KeyRelease, Qt::Key_Yes, Qt::NoModifier); + QKeyEvent oneDown(QEvent::KeyPress, Qt::Key_1, Qt::NoModifier); + QKeyEvent oneUp(QEvent::KeyRelease, Qt::Key_1, Qt::NoModifier); + QSignalSpy downSpy(m_view, SIGNAL(keyPressed(QKeyEvent*))); + QSignalSpy upSpy(m_view, SIGNAL(keyReleased(QKeyEvent*))); + + m_view->setRestrictedMode(true); + m_view->m_dialpad->editor().setText("1"); // emits signal + QCOMPARE(m_view->m_dialpad->isCallButtonEnabled(), false); + m_view->eventFilter(0, &oneDown); + m_view->eventFilter(0, &oneUp); + m_view->eventFilter(0, &yesDown); + m_view->eventFilter(0, &yesUp); + QCOMPARE(downSpy.count(), 1); // Only Key_1 is passed + QCOMPARE(upSpy.count(), 1); // Only Key_1 is passed + QCOMPARE(m_view->m_dialpad->isCallButtonEnabled(), false); + QCOMPARE(m_view->m_backAction->isEnabled(), false); + + // Test backbutton + m_view->setBackButtonVisible(true); + QCOMPARE(m_view->m_backAction->isEnabled(), false); + + // Test return to normal mode + downSpy.clear(); + upSpy.clear(); + m_view->setRestrictedMode(false); + m_view->m_dialpad->editor().setText("1"); // emits signal + QCOMPARE(m_view->m_dialpad->isCallButtonEnabled(), true); + m_view->eventFilter(0, &oneDown); + m_view->eventFilter(0, &oneUp); + m_view->eventFilter(0, &yesDown); + m_view->eventFilter(0, &yesUp); + QCOMPARE(downSpy.count(), 2); + QCOMPARE(upSpy.count(), 2); + QCOMPARE(m_view->m_dialpad->isCallButtonEnabled(), true); + QCOMPARE(m_view->m_backAction->isEnabled(), true); +} + void HbView::setTitle (const QString &title) { m_networkName = title; } + PHONE_QT_VIEW_TEST_MAIN(TestPhoneUIQtView) Q_DECLARE_METATYPE(QKeyEvent *) #include "unit_tests.moc" diff -r 6b911d05207e -r bc5a64e5bc3c phoneengine/audiohandling/data/defaultbeep.rss --- a/phoneengine/audiohandling/data/defaultbeep.rss Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneengine/audiohandling/data/defaultbeep.rss Tue Jul 06 14:15:47 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2006-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" @@ -231,6 +231,33 @@ // 11 = OPCODE_END } +RESOURCE VAR_ARRAY r_net_call_waiting_alternative_tone + { + sequence={0,17,10,83,20,64,10,83,20,64,125,64,125,64,100,83,20,64,10,83,20,11}; + // 0 = OPCODE_SEQUENCE_START + // 17 = OPCODE_DURATION_UNIT + // 10 = duration unit => tone duration is 10ms * tone_tick + // 83-64=19=AUD_TONE_NETWORK_DUAL_FREQ_2 = 440Hz + // 20 = tone_tick = 200ms + // 64-64 = 0 = AUD_TONE_FREQ_OFF = 0Hz + // 10 = tone_tick = 100ms + // 83-64=19=AUD_TONE_NETWORK_DUAL_FREQ_2 = 440Hz + // 20 = tone_tick = 200ms + // 64-64 = 0 = AUD_TONE_FREQ_OFF = 0Hz + // 125 = tone_tick = 1250ms + // 64-64 = 0 = AUD_TONE_FREQ_OFF = 0Hz + // 125 = tone_tick = 1250ms + // 64-64 = 0 = AUD_TONE_FREQ_OFF = 0Hz + // 100 = tone_tick = 1000ms + // 83-64=19=AUD_TONE_NETWORK_DUAL_FREQ_2 = 440Hz + // 20 = tone_tick = 200ms + // 64-64 = 0 = AUD_TONE_FREQ_OFF = 0Hz + // 10 = tone_tick = 100ms + // 83-64=19=AUD_TONE_NETWORK_DUAL_FREQ_2 = 440Hz + // 20 = tone_tick = 200ms + // 11 = OPCODE_END + } + RESOURCE VAR_ARRAY r_data_call_tone { sequence={0,17,6,2,252,10,8,5,8,84,3,89,3,6,10,247,64,50,7,11}; diff -r 6b911d05207e -r bc5a64e5bc3c phoneengine/audiohandling/group/audiohandling.mmp --- a/phoneengine/audiohandling/group/audiohandling.mmp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneengine/audiohandling/group/audiohandling.mmp Tue Jul 06 14:15:47 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2004-2007 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2004-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" @@ -76,6 +76,7 @@ LIBRARY mediaclientaudio.lib LIBRARY mmfdevsound.lib +LIBRARY featdiscovery.lib LIBRARY tmsfactory.lib LIBRARY tmsapi.lib LIBRARY libglib.lib diff -r 6b911d05207e -r bc5a64e5bc3c phoneengine/audiohandling/src/cpeaudiodata.cpp --- a/phoneengine/audiohandling/src/cpeaudiodata.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneengine/audiohandling/src/cpeaudiodata.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -29,6 +29,7 @@ #include #include #include +#include #include "pepanic.pan" #include "cpeaudiodtmftoneplayer.h" #include "cpeaudioroutingmonitor.h" @@ -545,6 +546,16 @@ { output = CTelephonyAudioRouting::ELoudspeaker; } + else + { + TInt value; + const TInt err = RProperty::Get( KPSUidTelCarMode, KTelCarMode, value ); + if ( !err && value == EPSCarModeOn ) + { + output = CTelephonyAudioRouting::ELoudspeaker; + } + } + TEFLOGSTRING2( KTAMESINT, "AUD CPEAudioData::RoutePreference() output %d", output ); return output; } diff -r 6b911d05207e -r bc5a64e5bc3c phoneengine/audiohandling/src/cpeaudioinbandtoneplayer.cpp --- a/phoneengine/audiohandling/src/cpeaudioinbandtoneplayer.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneengine/audiohandling/src/cpeaudioinbandtoneplayer.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2002-2004 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" @@ -26,7 +26,8 @@ #include #include #include -#include +#include +#include #include #include @@ -147,7 +148,20 @@ HBufC8* resourceSpecial = resourceFile.AllocReadL( R_NET_SPECIAL_INFORMATION ); HBufC8* resourceRadioPath = resourceFile.AllocReadL( R_NET_RADIO_NOT_AVAILABLE ); HBufC8* resourceRingGoing = resourceFile.AllocReadL( R_NET_RING_GOING ); - HBufC8* resourceCallWaiting = resourceFile.AllocReadL( R_NET_CALL_WAITING ); + + + HBufC8* resourceCallWaiting; + + if ( CFeatureDiscovery::IsFeatureSupportedL( KFeatureIdFfAlternativeCallWaitingTone ) ) + { + resourceCallWaiting = resourceFile.AllocReadL( R_NET_CALL_WAITING_ALTERNATIVE_TONE ); + } + else + { + resourceCallWaiting = resourceFile.AllocReadL( R_NET_CALL_WAITING ); + } + + HBufC8* dataCallTone = resourceFile.AllocReadL( R_DATA_CALL_TONE ); HBufC8* noSoundSequence = resourceFile.AllocReadL( R_NO_SOUND_SEQUENCE ); HBufC8* beepSequence = resourceFile.AllocReadL( R_BEEP_SEQUENCE ); diff -r 6b911d05207e -r bc5a64e5bc3c phoneengine/callhandling/src/cpecallhandling.cpp --- a/phoneengine/callhandling/src/cpecallhandling.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneengine/callhandling/src/cpecallhandling.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -1908,7 +1908,10 @@ SendMessage( MEngineMonitor::EPEMessageInitiatedEmergencyCall ); TEFLOGSTRING( KTAINT, "CALL CPECallHandling::DialEmergencyCall start emergency dialing" ); CPESingleCall* callData = iCallArrayOwner->GetCallObject( KPEEmergencyCallId ); - callData->DialEmergency( aEmergencyNumber ); + if ( callData ) + { + callData->DialEmergency( aEmergencyNumber ); + } } // ----------------------------------------------------------------------------- diff -r 6b911d05207e -r bc5a64e5bc3c phoneengine/callhandling/src/cpesupplementaryservicesmonitor.cpp --- a/phoneengine/callhandling/src/cpesupplementaryservicesmonitor.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneengine/callhandling/src/cpesupplementaryservicesmonitor.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -90,6 +90,11 @@ case ECCESsAnonymousCallBarred: /** Anonymous call barring. */ case ECCESsOutgoingCallBarred: /** Outgoing call barring */ iOwner.SendMessage( MEngineMonitor::EPEMessageCallBarred, KPECallIdNotUsed ); + if ( aBarringEvent == ECCESsOutgoingCallBarred ) + { + iOwner.SendMessage( MEngineMonitor::EPEMessageOutgoingCallBarred, + KPECallIdNotUsed ); + } break; default: diff -r 6b911d05207e -r bc5a64e5bc3c phoneengine/engineinfo/inc/cpecallinfo.h --- a/phoneengine/engineinfo/inc/cpecallinfo.h Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneengine/engineinfo/inc/cpecallinfo.h Tue Jul 06 14:15:47 2010 +0300 @@ -465,6 +465,19 @@ */ TPECallOrigin CallOrigin() const; + /** + * Sets the protocol spesific error code + * @param aError is the error code from protocol. + * @return None. + */ + void SetProtocolError( TInt aError ); + + /** + * Returns the protocol spesific error code + * @return Error code. + */ + TInt ProtocolError() const; + private: /** @@ -634,6 +647,11 @@ * Origin of the call. */ TPECallOrigin iCallOrigin; + + /** + * Protocol error code. + */ + TInt iProtocolError; }; #endif // C_CPECALLINFO_H diff -r 6b911d05207e -r bc5a64e5bc3c phoneengine/engineinfo/inc/cpeengineinfoimpl.h --- a/phoneengine/engineinfo/inc/cpeengineinfoimpl.h Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneengine/engineinfo/inc/cpeengineinfoimpl.h Tue Jul 06 14:15:47 2010 +0300 @@ -88,6 +88,7 @@ TBool iSecureSpecified; // Secure specified status TName iDataPortName; // the name of data port currently on-loan TBool iSwitchToOngoing; // Switch to operation status + TBool iOutgoingBarringActivated; // Outgoing barring activated }; NONSHARABLE_STRUCT( TPEConferenceCallInfo ) // Contains conference call related variables @@ -1520,6 +1521,32 @@ * Returns Phonebook contact identifier. */ TInt ContactId2() const; + + /** + * Sets the protocol spesific error code + * @param aError is the error code from protocol. + * @return None. + */ + void SetProtocolError( TInt aError, TInt aCallId ); + + /** + * Returns the protocol spesific error code + * @return Error code. + */ + TInt ProtocolError( TInt aCallId ); + + /** + * Returns flag if the outgoing barring is activated. + * @return ETrue if barring activated. + */ + TBool IsOutgoingCallBarringActivated(); + + /** + * Sets the flag if the outgoing barring is activated. + * @return ETrue if barring activated. + */ + void SetOutgoingCallBarringActivated( + TBool aActivated ); private: /** diff -r 6b911d05207e -r bc5a64e5bc3c phoneengine/engineinfo/inc/mpeengineinfo.h --- a/phoneengine/engineinfo/inc/mpeengineinfo.h Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneengine/engineinfo/inc/mpeengineinfo.h Tue Jul 06 14:15:47 2010 +0300 @@ -697,7 +697,27 @@ * @param aError is the error code from protocol. * @return None. */ - virtual void SetProtocolError( TInt aError ) = 0; + virtual void SetProtocolError( TInt aError, TInt aCallId ) = 0; + + /** + * Returns the protocol spesific error code + * @return Error code. + */ + virtual TInt ProtocolError( TInt aCallId ) = 0; + + /** + * Returns flag if the outgoing barring is activated. + * @return ETrue if barring activated. + */ + virtual TBool IsOutgoingCallBarringActivated() = 0; + + /** + * Sets the flag if the outgoing barring is activated. + * @return ETrue if barring activated. + */ + virtual void SetOutgoingCallBarringActivated( + TBool aActivated ) = 0; + }; // MPEEngineInfo #endif //MPEENGINEINFO_H diff -r 6b911d05207e -r bc5a64e5bc3c phoneengine/engineinfo/src/cpecallinfo.cpp --- a/phoneengine/engineinfo/src/cpecallinfo.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneengine/engineinfo/src/cpecallinfo.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -106,6 +106,7 @@ iDtmfPostFix = KNullDesC; iForwardAddressChoices = NULL; iCallIndex = KPEInvalidCallIndex; + iProtocolError = KErrNotFound; } // --------------------------------------------------------------------------- @@ -650,5 +651,22 @@ return iCallOrigin; } - +// --------------------------------------------------------------------------- +// Sets the protocol error of a call. +// --------------------------------------------------------------------------- +// +void CPECallInfo::SetProtocolError( TInt aError ) + { + iProtocolError = aError; + } + +// --------------------------------------------------------------------------- +// Returns protocol error of a call. +// --------------------------------------------------------------------------- +// +TInt CPECallInfo::ProtocolError() const + { + return iProtocolError; + } + // End of File diff -r 6b911d05207e -r bc5a64e5bc3c phoneengine/engineinfo/src/cpeengineinfoimpl.cpp --- a/phoneengine/engineinfo/src/cpeengineinfoimpl.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneengine/engineinfo/src/cpeengineinfoimpl.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -94,7 +94,7 @@ iBasicInfo.iDataPortName = KNullDesC; iBasicInfo.iSwitchToOngoing = EFalse; iConferenceCallInfo.iConferenceCallState = EPEStateConferenceIdle; - + iBasicInfo.iOutgoingBarringActivated = EFalse; //TODO remove after profile information is available iBasicInfo.iRingingVolume = 10; } @@ -2593,12 +2593,51 @@ // ----------------------------------------------------------------------------- // CPEEngineInfoImpl::SetProtocolError -// Sets the protocol spesific error code to TPEErrorInfo +// Sets the protocol spesific error code +// ----------------------------------------------------------------------------- +// +void CPEEngineInfoImpl::SetProtocolError( TInt aError, TInt aCallId ) + { + if ( 0<=aCallId && aCallIdSetProtocolError( aError ); + } + } + +// ----------------------------------------------------------------------------- +// CPEEngineInfoImpl::ProtocolError +// Returns the protocol spesific error code // ----------------------------------------------------------------------------- // -void CPEEngineInfoImpl::SetProtocolError( TInt aError ) +TInt CPEEngineInfoImpl::ProtocolError( TInt aCallId ) { - iBasicInfo.iErrorInfo.iProtocolSpesificErrorCode = aError; + TInt ret( KErrNotFound ); + + if ( 0<=aCallId && aCallIdProtocolError(); + } + + return ret; + } + +// ----------------------------------------------------------------------------- +// CPEEngineInfoImpl::IsOutgoingCallBarringActivated +// ----------------------------------------------------------------------------- +// +TBool CPEEngineInfoImpl::IsOutgoingCallBarringActivated() + { + return iBasicInfo.iOutgoingBarringActivated; + } + +// ----------------------------------------------------------------------------- +// CPEEngineInfoImpl::SetOutgoingCallBarringActivated +// ----------------------------------------------------------------------------- +// +void CPEEngineInfoImpl::SetOutgoingCallBarringActivated( + TBool aActivated ) + { + iBasicInfo.iOutgoingBarringActivated = aActivated; } // End of File diff -r 6b911d05207e -r bc5a64e5bc3c phoneengine/phonecntfinder2/inc/cphcntmatch2.h --- a/phoneengine/phonecntfinder2/inc/cphcntmatch2.h Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneengine/phonecntfinder2/inc/cphcntmatch2.h Tue Jul 06 14:15:47 2010 +0300 @@ -142,26 +142,31 @@ */ CDesCArray& AllDtmfNumbers() const; - - private: /** * C++ constructor. */ CPhCntMatch2(const QContact aContact); + + private: + void ConstructL(); /* * checks for exactly 1 item in the list */ - TPtrC FieldValue(const QString& name, const QString& key) const; + QString FieldValue(const QString& name, const QString& key) const; private: // Data const QContact iContact; HBufC* iNumber; CPhCntContactIdImpl2* iContactId; - CDesCArrayFlat* iDummyArray; + CDesCArrayFlat* iDTMFArray; + QString iFirstname; + QString iLastname; + QString iPersonalRingtone; + QString iCallImage; }; diff -r 6b911d05207e -r bc5a64e5bc3c phoneengine/phonecntfinder2/src/cphcntmatch2.cpp --- a/phoneengine/phonecntfinder2/src/cphcntmatch2.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneengine/phonecntfinder2/src/cphcntmatch2.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -18,6 +18,7 @@ #include #include #include +#include #include #include #include "cphcntmatch2.h" @@ -31,7 +32,7 @@ // --------------------------------------------------------------------------- // CPhCntMatch2::CPhCntMatch2(const QContact aContact): -iContact(aContact), iNumber(NULL), iContactId(NULL), iDummyArray(NULL) +iContact(aContact), iNumber(NULL), iContactId(NULL), iDTMFArray(NULL) { } @@ -42,7 +43,7 @@ CPhCntMatch2::~CPhCntMatch2() { delete iNumber; - delete iDummyArray; + delete iDTMFArray; delete iContactId; } @@ -85,25 +86,7 @@ // MPhCntMatch::TNumberType CPhCntMatch2::NumberType() const { - - MPhCntMatch::TNumberType valueToReturn = MPhCntMatch::EMobileNumber; - /* -> TODO not yet supported - switch (iContact->field(fieldNumber).property()) - { - case propertyMobile: - { - valueToReturn = MPhCntMatch::EMobileNumber; - break; - } - default: - { - valueToReturn = MPhCntMatch::ENone; - } - - }//switch - */ - - return valueToReturn; + return MPhCntMatch::ENone; } // ----------------------------------------------------------------------------- @@ -122,7 +105,7 @@ // TPtrC CPhCntMatch2::FirstName() const { - return FieldValue(QContactName::DefinitionName, QContactName::FieldFirstName); + return iFirstname.utf16(); } // ----------------------------------------------------------------------------- @@ -131,7 +114,7 @@ // TPtrC CPhCntMatch2::LastName() const { - return FieldValue(QContactName::DefinitionName, QContactName::FieldLastName); + return iLastname.utf16(); } // ----------------------------------------------------------------------------- @@ -148,10 +131,14 @@ // TPtrC CPhCntMatch2::Number() const { -//how many numbers are returned here? should be only one that matched - return iNumber? iNumber->Des() : - FieldValue(QContactPhoneNumber::DefinitionName, - QContactPhoneNumber::FieldNumber); + //how many numbers are returned here? should be only one that matched + if ( iNumber == NULL ) { + + TPtrC ptr(FieldValue(QContactPhoneNumber::DefinitionName, + QContactPhoneNumber::FieldNumber).utf16()); + const_cast(iNumber) = ptr.Alloc(); + } + return iNumber->Des(); } // ----------------------------------------------------------------------------- // PersonalRingingTone @@ -159,20 +146,7 @@ // TPtrC CPhCntMatch2::PersonalRingingTone() const { - /* - //TODO - QString returnValue; - QList details = iContact.details(); - - for (int i=0;i details = iContact.details(); - - for (int i=0;i details = iContact.details(); + for (int i=0;i(); + iPersonalRingtone = ringtonedetail.audioRingtoneUrl().toString(); + PHONE_DEBUG2("CPhCntMatch2::personalRingingtone:: value is :", iPersonalRingtone); + } // ----------------------------------------------------------------------------- // FieldValue // ----------------------------------------------------------------------------- // -TPtrC CPhCntMatch2::FieldValue(const QString& name, const QString& key) const +QString CPhCntMatch2::FieldValue(const QString& name, const QString& key) const { QString returnValue; QList details = iContact.details(name); @@ -268,7 +259,7 @@ returnValue = details.first().value(key); } PHONE_DEBUG4("CPhCntMatch2::FieldValue:: key is :", key, "..value is :", returnValue); - return returnValue.utf16(); + return returnValue; } diff -r 6b911d05207e -r bc5a64e5bc3c phoneengine/phonecntfinder2/tsrc/u_cphcntmatch2/testmatch2.pro --- a/phoneengine/phonecntfinder2/tsrc/u_cphcntmatch2/testmatch2.pro Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneengine/phonecntfinder2/tsrc/u_cphcntmatch2/testmatch2.pro Tue Jul 06 14:15:47 2010 +0300 @@ -21,21 +21,21 @@ TARGET = DEPENDPATH += . INCLUDEPATH += . -INCLUDEPATH += ..\..\inc +INCLUDEPATH += ..\..\..\..\inc INCLUDEPATH += \epoc32\include\platform\mw \ - \epoc32\include\platform \ - \epoc32\include \ - \epoc32\include\platform\app \ - \epoc32\include\app + \epoc32\include\platform \ + \epoc32\include \ + \epoc32\include\platform\app \ + \epoc32\include\app # Input -HEADERS += ..\mocks\qcontact.h -HEADERS += ..\mocks\qcontactdetail.h +#HEADERS += ..\mocks\qcontact.h +#HEADERS += ..\mocks\qcontactdetail.h HEADERS += ..\..\inc\cphcntmatch2.h HEADERS += ..\..\inc\cphcntcontactidimpl2.h -SOURCES += ..\mocks\qcontact_stub.cpp -SOURCES += ..\mocks\qcontactdetail_stub.cpp +#SOURCES += ..\mocks\qcontact_stub.cpp +#SOURCES += ..\mocks\qcontactdetail_stub.cpp SOURCES += ..\..\src\cphcntmatch2.cpp SOURCES += ..\..\src\cphcntcontactidimpl2.cpp SOURCES += u_cphcntmatch2.cpp diff -r 6b911d05207e -r bc5a64e5bc3c phoneengine/phonecntfinder2/tsrc/u_cphcntmatch2/u_cphcntmatch2.cpp --- a/phoneengine/phonecntfinder2/tsrc/u_cphcntmatch2/u_cphcntmatch2.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneengine/phonecntfinder2/tsrc/u_cphcntmatch2/u_cphcntmatch2.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -18,9 +18,14 @@ #include #include #include +#include +#include "qcontactdetailfielddefinition.h" #include //KNullDesC #include "qcontact.h" #include "qcontactdetail.h" +#include "qcontactmanager.h" +#include "qcontactringtone.h" +#include "qcontactavatar.h" #include "qcontactname.h" #include "qcontactphonenumber.h" #include "cphcntmatch2.h" @@ -49,6 +54,7 @@ //void testSeveralFirstNames(); //void testEmptyList(); void testPhoneNumberOverride(); + void testPhoneNumberNotSet(); void testRelease(); void testCli(); void testContactId(); @@ -66,7 +72,7 @@ CPhCntMatch2* mMatch; // SUT MPhCntMatch* mMatchIf; - QContact mContact; + QContactManager* cm; QContactDetail mDetail; }; @@ -84,109 +90,168 @@ void U_CPhCntMatch2::initTestCase() { - TRAP_IGNORE( mMatch = CPhCntMatch2::NewL(mContact) ); - mMatchIf = mMatch; + cm = new QContactManager(); + QContact contact; + QList contactIds = cm->contactIds(); + if (!contactIds.isEmpty()) { + // removes all contact + /* for (int i = 0; i < contactIds.count(); i++) + { + QContact a = cm->contact(contactIds.at(i)); + cm->removeContact(a.localId()); + }*/ + + contact = cm->contact(contactIds.first()); + qDebug() << "This manager contains" << contact.displayLabel(); + } else { + qDebug() << "This manager contains no contacts"; + } + + QList allDetails = contact.details(); + for (int i = 0; i < allDetails.size(); i++) { + QContactDetail detail = allDetails.at(i); + QContactDetailDefinition currentDefinition = cm->detailDefinition(detail.definitionName()); + QMap fields = currentDefinition.fields(); + + qDebug("\tDetail #%d (%s):", i, detail.definitionName().toAscii().constData()); + foreach (const QString& fieldKey, fields.keys()) { + qDebug() << "\t\t" << fieldKey << "(" << fields.value(fieldKey).dataType() << ") =" << detail.value(fieldKey); + } + qDebug(); + } + } void U_CPhCntMatch2::cleanupTestCase() { delete mMatch; + delete cm; } void U_CPhCntMatch2::testFirstNameEmpty() { - QVariant name(""); - mDetail.setValue(QContactName::FieldFirst,name); - bool err = mContact.saveDetail(&mDetail); + QContact contact; + QContactName name; + name.setFirstName(""); + bool err = contact.saveDetail(&name); + err = cm->saveContact(&contact); + TRAP_IGNORE( mMatch = CPhCntMatch2::NewL(contact) ); + mMatchIf = mMatch; Q_ASSERT(mMatchIf->FirstName().Length() == 0); - // reset mDetail - mDetail.removeValue(QContactName::FieldFirst); + + err = contact.removeDetail(&name); + err = cm->removeContact(contact.localId()); + + qDebug() << "U_CPhCntMatch2 : The first phone number of" << contact.displayLabel() + << "is" << contact.detail(QContactPhoneNumber::DefinitionName).value(QContactPhoneNumber::FieldNumber); + + qDebug()<<"U_CPhCntMatch2 : contact.details().count() " << contact.details().count(); + } void U_CPhCntMatch2::testFirstNameNotEmpty() { - _LIT(KFirstName, "firstname"); - QString name((QChar*)KFirstName().Ptr(),KFirstName().Length()); - mDetail.setValue(QContactName::FieldFirst,name); - bool err = mContact.saveDetail(&mDetail); - delete mMatch; - TRAP_IGNORE( mMatch = CPhCntMatch2::NewL(mContact) ); - mMatchIf = mMatch; - qDebug()<<"U_CPhCntMatch2 : mContact.details().count() " << mContact.details().count(); - qDebug()<<"U_CPhCntMatch2 : mContact.details().at(0).value() " << mContact.details().at(0).value(""); - HBufC* buf = NULL; - buf = mMatchIf->FirstName().AllocL(); - QString qBuf((QChar*)buf->Ptr(),buf->Length()); - qDebug()<<"mMatchIf->FirstName() returned...: " << qBuf; - Q_ASSERT( *buf == KFirstName()); - delete buf; - // reset mDetail - mDetail.removeValue(QContactName::FieldFirst); + QContact contact; + _LIT(KFirstName, "firstname"); + QContactName name; + name.setFirstName("firstname"); + bool err = contact.saveDetail(&name); + err = cm->saveContact(&contact); + + qDebug()<<"U_CPhCntMatch2 : contact.details().count() " << contact.details().count(); + + delete mMatch; + TRAP_IGNORE( mMatch = CPhCntMatch2::NewL(contact) ); + mMatchIf = mMatch; + qDebug()<<"U_CPhCntMatch2 : contact.details().count() " << contact.details().count(); + qDebug()<<"U_CPhCntMatch2 : contact.details().at(0).value() " << contact.details().at(0).value(QContactName::FieldFirstName); + HBufC* buf = NULL; + buf = mMatchIf->FirstName().AllocL(); + QString qBuf((QChar*)buf->Ptr(),buf->Length()); + qDebug()<<"mMatchIf->FirstName() returned...: " << qBuf; + Q_ASSERT( *buf == KFirstName()); + delete buf; + + err = contact.removeDetail(&name); + err = cm->removeContact(contact.localId()); } void U_CPhCntMatch2::testLastNameEmpty() { - QVariant name(""); - mDetail.setValue(QContactName::FieldLast,name); - bool err = mContact.saveDetail(&mDetail); - delete mMatch; - TRAP_IGNORE( mMatch = CPhCntMatch2::NewL(mContact) ); - mMatchIf = mMatch; - Q_ASSERT(mMatchIf->LastName().Length() == 0); - // reset mDetail - mDetail.removeValue(QContactName::FieldLast); + QContact contact; + QContactName lastname; + lastname.setLastName(""); + bool err = contact.saveDetail(&lastname); + err = cm->saveContact(&contact); + delete mMatch; + TRAP_IGNORE( mMatch = CPhCntMatch2::NewL(contact) ); + mMatchIf = mMatch; + Q_ASSERT(mMatchIf->LastName().Length() == 0); + + err = contact.removeDetail(&lastname); + err = cm->removeContact(contact.localId()); } void U_CPhCntMatch2::testLastNameNotEmpty() { + QContact contact; _LIT(KLastName, "lastname"); - QString name((QChar*)KLastName().Ptr(),KLastName().Length()); - mDetail.setValue(QContactName::FieldLast,name); - bool err = mContact.saveDetail(&mDetail); + QContactName lastname; + lastname.setLastName("lastname"); + bool err = contact.saveDetail(&lastname); + err = cm->saveContact(&contact); delete mMatch; - TRAP_IGNORE( mMatch = CPhCntMatch2::NewL(mContact) ); + TRAP_IGNORE( mMatch = CPhCntMatch2::NewL(contact) ); mMatchIf = mMatch; HBufC* buf = NULL; buf = mMatchIf->LastName().AllocL(); QString qBuf((QChar*)buf->Ptr(),buf->Length()); + qDebug()<<"mMatchIf->LastName() returned...: " << qBuf; Q_ASSERT(*buf == KLastName()); delete buf; - qDebug()<<"testLastNameNotEmpty() -- exit "; - // reset mDetail - mDetail.removeValue(QContactName::FieldLast); + + err = contact.removeDetail(&lastname); + err = cm->removeContact(contact.localId()); } void U_CPhCntMatch2::testNumberEmpty() { - QVariant number(""); - mDetail.setValue(QContactPhoneNumber::FieldNumber,number); - bool err = mContact.saveDetail(&mDetail); + QContact contact; + QContactPhoneNumber number; + number.setNumber(""); + bool err = contact.saveDetail(&number); + err = cm->saveContact(&contact); delete mMatch; - TRAP_IGNORE( mMatch = CPhCntMatch2::NewL(mContact) ); + TRAP_IGNORE( mMatch = CPhCntMatch2::NewL(contact) ); mMatchIf = mMatch; Q_ASSERT(mMatchIf->Number().Length() == 0); - // reset mDetail - mDetail.removeValue(QContactPhoneNumber::FieldNumber); + + err = contact.removeDetail(&number); + err = cm->removeContact(contact.localId()); } void U_CPhCntMatch2::testNumberNotEmpty() { - _LIT(KNumber, "05012345678"); - QString number((QChar*)KNumber().Ptr(),KNumber().Length()); - mDetail.setValue(QContactPhoneNumber::FieldNumber,number); - bool err = mContact.saveDetail(&mDetail); + QContact contact; + _LIT(KNumber, "0501234567"); + QContactPhoneNumber number; + number.setNumber("0501234567"); + bool err = contact.saveDetail(&number); + err = cm->saveContact(&contact); + delete mMatch; - TRAP_IGNORE( mMatch = CPhCntMatch2::NewL(mContact) ); + TRAP_IGNORE( mMatch = CPhCntMatch2::NewL(contact) ); mMatchIf = mMatch; HBufC* buf = NULL; buf = mMatchIf->Number().AllocL(); QString qBuf((QChar*)buf->Ptr(),buf->Length()); Q_ASSERT(*buf == KNumber()); delete buf; - // reset mDetail - mDetail.removeValue(QContactPhoneNumber::FieldNumber); + + err = contact.removeDetail(&number); + err = cm->removeContact(contact.localId()); } /* void U_CPhCntMatch2::testSeveralFirstNames() //in case pb returns bad variants @@ -215,13 +280,17 @@ */ void U_CPhCntMatch2::testPhoneNumberOverride() { - _LIT(KNumber, "05012345678"); + QContact contact; + _LIT(KNumber, "0501234567"); _LIT(KNumberOverride, "888888888"); - QString number((QChar*)KNumber().Ptr(),KNumber().Length()); - mDetail.setValue(QContactPhoneNumber::FieldNumber,number); - bool err = mContact.saveDetail(&mDetail); + + QContactPhoneNumber number; + number.setNumber("0501234567"); + bool err = contact.saveDetail(&number); + err = cm->saveContact(&contact); + delete mMatch; - TRAP_IGNORE( mMatch = CPhCntMatch2::NewL(mContact) ); + TRAP_IGNORE( mMatch = CPhCntMatch2::NewL(contact) ); mMatch->SetNumberL(KNumberOverride()); mMatchIf = mMatch; HBufC* buf = NULL; @@ -229,23 +298,54 @@ QString qBuf((QChar*)buf->Ptr(),buf->Length()); Q_ASSERT(*buf == KNumberOverride()); delete buf; - // reset mDetail - mDetail.removeValue(QContactPhoneNumber::FieldNumber); + + err = contact.removeDetail(&number); + err = cm->removeContact(contact.localId()); + } + + +void U_CPhCntMatch2::testPhoneNumberNotSet() + { + QContact contact; + _LIT(KNumber, "0501234567"); + + QContactPhoneNumber number; + number.setNumber("0501234567"); + bool err = contact.saveDetail(&number); + err = cm->saveContact(&contact); + + delete mMatch; + TRAP_IGNORE( mMatch = CPhCntMatch2::NewL(contact) ); + mMatchIf = mMatch; + HBufC* buf = NULL; + buf = mMatchIf->Number().AllocL(); + QString qBuf((QChar*)buf->Ptr(),buf->Length()); + Q_ASSERT(*buf == KNumber()); + delete buf; + + err = contact.removeDetail(&number); + err = cm->removeContact(contact.localId()); } void U_CPhCntMatch2::testRelease() { + QContact contact; _LIT(KNumber, "1234"); - QVariant number("1234"); - mDetail.setValue(QContactPhoneNumber::FieldNumber,number); - bool err = mContact.saveDetail(&mDetail); + + QContactPhoneNumber number; + number.setNumber("1234"); + bool err = contact.saveDetail(&number); + err = cm->saveContact(&contact); + delete mMatch; - TRAP_IGNORE( mMatch = CPhCntMatch2::NewL(mContact) ); + TRAP_IGNORE( mMatch = CPhCntMatch2::NewL(contact) ); mMatchIf = mMatch; mMatchIf->Release(); Q_ASSERT(mMatchIf->Number() == KNumber()); - // reset mDetail - mDetail.removeValue(QContactPhoneNumber::FieldNumber); + + + err = contact.removeDetail(&number); + err = cm->removeContact(contact.localId()); } void U_CPhCntMatch2::testCli() @@ -256,14 +356,28 @@ void U_CPhCntMatch2::testContactId() { + QContact contact; + QContactPhoneNumber number; + number.setNumber("1234"); + bool err = contact.saveDetail(&number); + err = cm->saveContact(&contact); + + delete mMatch; + TRAP_IGNORE( mMatch = CPhCntMatch2::NewL(contact) ); + mMatchIf = mMatch; + CPhCntContactId* id = NULL; id = mMatchIf->ContactId(); - Q_ASSERT(id->ContactId()== mContact.localId()); + Q_ASSERT(id->ContactId()== contact.localId()); + + err = contact.removeDetail(&number); + err = cm->removeContact(contact.localId()); + } void U_CPhCntMatch2::testNumberType() { - Q_ASSERT(mMatchIf->NumberType() == MPhCntMatch::EMobileNumber); + Q_ASSERT(mMatchIf->NumberType() == MPhCntMatch::ENone); } void U_CPhCntMatch2::testCompanyName() @@ -273,7 +387,28 @@ void U_CPhCntMatch2::testPersonalRingingTone() { - Q_ASSERT(mMatchIf->PersonalRingingTone().Length() == 0); + _LIT(KRingtone, "Z:\\Data\\Sounds\\Digital\\Incoming.aac"); + QContact contact; + QUrl name("Z:\\Data\\Sounds\\Digital\\Incoming.aac"); + QContactRingtone ringtone; + ringtone.setAudioRingtoneUrl(name); + bool err = contact.saveDetail( &ringtone ); + err = cm->saveContact(&contact); + + delete mMatch; + TRAP_IGNORE( mMatch = CPhCntMatch2::NewL(contact) ); + mMatchIf = mMatch; + + HBufC* buf = NULL; + buf = mMatchIf->PersonalRingingTone().AllocL(); + QString qBuf((QChar*)buf->Ptr(),buf->Length()); + + + Q_ASSERT(mMatchIf->PersonalRingingTone() == KRingtone()); + + err = contact.removeDetail(&ringtone); + err = cm->removeContact(contact.localId()); + } void U_CPhCntMatch2::testBelongsToGroups() @@ -294,7 +429,26 @@ void U_CPhCntMatch2::testCallImage() { - Q_ASSERT(mMatchIf->CallImage().Length() == 0); + _LIT(KCallImage, "Z:\\Data\\Images\\Avatar.jpg"); + QContact contact; + QUrl image("Z:\\Data\\Images\\Avatar.jpg"); + QContactAvatar avatar; + avatar.setImageUrl(image); + bool err = contact.saveDetail( &avatar ); + err = cm->saveContact(&contact); + + delete mMatch; + TRAP_IGNORE( mMatch = CPhCntMatch2::NewL(contact) ); + mMatchIf = mMatch; + + HBufC* buf = NULL; + buf = mMatchIf->PersonalRingingTone().AllocL(); + QString qBuf((QChar*)buf->Ptr(),buf->Length()); + + Q_ASSERT(mMatchIf->CallImage() == KCallImage()); + + err = contact.removeDetail(&avatar); + err = cm->removeContact(contact.localId()); } void U_CPhCntMatch2::testHasThumbnailImage() diff -r 6b911d05207e -r bc5a64e5bc3c phoneengine/phonemodel/conf/s60telephony.confml Binary file phoneengine/phonemodel/conf/s60telephony.confml has changed diff -r 6b911d05207e -r bc5a64e5bc3c phoneengine/phonemodel/conf/s60telephony_102828B8.crml Binary file phoneengine/phonemodel/conf/s60telephony_102828B8.crml has changed diff -r 6b911d05207e -r bc5a64e5bc3c phoneengine/phonemodel/conf/s60telephony_102828F8.crml Binary file phoneengine/phonemodel/conf/s60telephony_102828F8.crml has changed diff -r 6b911d05207e -r bc5a64e5bc3c phoneengine/phonemodel/conf/s60telephony_2001B2E6.crml Binary file phoneengine/phonemodel/conf/s60telephony_2001B2E6.crml has changed diff -r 6b911d05207e -r bc5a64e5bc3c phoneengine/phonemodel/inc/cpemessagehandler.h --- a/phoneengine/phonemodel/inc/cpemessagehandler.h Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneengine/phonemodel/inc/cpemessagehandler.h Tue Jul 06 14:15:47 2010 +0300 @@ -571,10 +571,24 @@ void HandleDisableService(); /** + * Adds SIM rejected MO CS call to logs. + * @param aCallId is the identification number of the call. + * @return KErrNone if succesfull + */ + TInt AddSIMRejectedMoCsCallToLog( const TInt aCallId ); + + /** * Handle dial service call */ TInt HandleDialServiceCall( const TBool aClientCall ); + + /** + * Returns a boolean to indicate whether network connection + * is allowed or not. + * @return Return a True or False. + */ + TBool IsNetworkConnectionAllowed() const; private: // New functions @@ -621,12 +635,6 @@ TBool AutomaticAnswer( const TInt aCallId ) const; /** - * Returns a boolean to indicate whether emergency call is allowed or not. - * @return Return a True or False. - */ - TBool IsEmergencyAllowed() const; - - /** * Handle Client Call Data. * @return Return possible error. */ diff -r 6b911d05207e -r bc5a64e5bc3c phoneengine/phonemodel/inc/cpeparsersshandler.h --- a/phoneengine/phonemodel/inc/cpeparsersshandler.h Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneengine/phonemodel/inc/cpeparsersshandler.h Tue Jul 06 14:15:47 2010 +0300 @@ -40,6 +40,12 @@ class CPsuiDivertObs; class CPsuiCliObserver; +class PSetCallDivertingWrapper; +class PSetCallWaitingWrapper; +class PSetWrapper; +class PsUiDivertNoteHandler; +class PsUiWaitingNoteHandler; + // CLASS DECLARATION /** @@ -277,23 +283,34 @@ CPsetContainer* iSettings; // Owned phone settings ui container. CPsuiContainer* iObsContainer; - // Owned call waiting. - CPsetCallWaiting* iWaiting; - // Owned waiting observer. - CPsuiWaitingObs* iCwObserver; + // Owned call barring. CPsetCallBarring* iBarring; // Owned call barring observer. - CPsuiBarringObs* iCbObserver; - // Owned call diverting. - CPsetCallDiverting* iDivert; - // Owned call diverting observer. - CPsuiDivertObs* iCfObserver; + CPsuiBarringObs* iCbObserver; + // Owned calling line identity. CPsetCli* iCli; // Owned calling line identity observer. CPsuiCliObserver* iCliObserver; + + + // Call diverting. Not own. + CPsetCallDiverting* iDivert; + // Call divert wrapper. Not own + PSetCallDivertingWrapper* iCallDivertingWrapper; + // Call diverting note handler, Own + PsUiDivertNoteHandler* iCallDivertingHandler; + + // Owned call waiting. Now Own + CPsetCallWaiting* iWaiting; + // Call divert wrapper. Not own + PSetCallWaitingWrapper* iCallWaitingWrapper; + // Call diverting note handler, Own + PsUiWaitingNoteHandler* iCallWaitingHandler; + // Setting wrappers. Own. + PSetWrapper *iPsetWrapper; }; #endif // CPEPARSERSSHANDLER_H diff -r 6b911d05207e -r bc5a64e5bc3c phoneengine/phonemodel/inc/pevirtualengine.h --- a/phoneengine/phonemodel/inc/pevirtualengine.h Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneengine/phonemodel/inc/pevirtualengine.h Tue Jul 06 14:15:47 2010 +0300 @@ -231,8 +231,6 @@ TInt iCallId; // Error type( Cch or Ccp ) TPEErrorType iErrorType; - //Protocol spesific error code - TInt iProtocolSpesificErrorCode; }; enum TPECallType @@ -434,7 +432,6 @@ EPEMessageShowBTLoopback, EPEMessageShowWlanMacAddress, EPEMessageSSRequestFailed, - EPEMessageBTDebugMode, // Security messages 7000 - 7999 EPEMessageBadBarringPasswordChange = 7000, @@ -491,6 +488,7 @@ EPEMessageTempClirActivationUnsuccessful, EPEMessageShowIncCallGroupIndex, EPEMessageDataPortLoaned, + EPEMessageOutgoingCallBarred, // Contact messages 11400 - 11599 // Error messages 11600 - 11799 diff -r 6b911d05207e -r bc5a64e5bc3c phoneengine/phonemodel/inc/qtphonelog.h --- a/phoneengine/phonemodel/inc/qtphonelog.h Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneengine/phonemodel/inc/qtphonelog.h Tue Jul 06 14:15:47 2010 +0300 @@ -32,11 +32,20 @@ #define PHONE_DEBUG3(A, B, C) qDebug() <Get( aValue ); TEFLOGSTRING2( KTAINT, "CPEExternalDataHandler::Get EPECallDurationDisplaySetting, error code: %d", errorCode ); } + else if ( EPENetworkConnectionAllowedSetting == aSetting ) + { + // Fetches setting that indicates if network connection is allowed, + // i.e. is the phone in off-line mode. + errorCode = iCoreApplicationRepository + ->Get( KCoreAppUIsNetworkConnectionAllowed, aValue ); + } else { errorCode = KErrNone; aValue = 0; } - + // Process Common id return errorCode; } diff -r 6b911d05207e -r bc5a64e5bc3c phoneengine/phonemodel/src/cpemessagehandler.cpp --- a/phoneengine/phonemodel/src/cpemessagehandler.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneengine/phonemodel/src/cpemessagehandler.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -2404,7 +2404,7 @@ // Checks if emergency call is allowed. // ----------------------------------------------------------------------------- // -TBool CPEMessageHandler::IsEmergencyAllowed() const +TBool CPEMessageHandler::IsNetworkConnectionAllowed() const { TBool networkConnectionAllowed( EFalse ); //It is safe to ignore error code here: a default value of EFalse is used if the get fails @@ -2821,6 +2821,44 @@ } // ----------------------------------------------------------------------------- +// CPEMessageHandler::AddSIMRejectedMoCsCallToLog +// ----------------------------------------------------------------------------- +// +TInt CPEMessageHandler::AddSIMRejectedMoCsCallToLog( const TInt aCallId ) + { + TInt errorCode( ECCPErrorGeneral ); + + errorCode = iCallHandling.GetCallInfo( *iCallInfo, aCallId ); + + if ( errorCode == ECCPErrorNone ) + { + TPEState callState; + callState = iCallHandling.GetCallState( aCallId ); + TPECallType callType; + callType = iDataStore.CallType( aCallId ); + + errorCode = ECCPErrorNotFound; + + if ( EPEStateIdle == callState + && EPECallTypeCSVoice == callType ) + { + SetPhoneNumberForCallLogging( aCallId ); + + errorCode = UpdateClientInfo( aCallId ); + + // Calls have to log also without a contact (ECCPErrorNotFound). + if ( errorCode == ECCPErrorNone || errorCode == ECCPErrorNotFound ) + { + // Save the rest of information to EngineInfo. + SetLoggingInfo( aCallId, callState ); + errorCode = iLogHandling.SaveCallEntry( aCallId ); + } + } + } + return errorCode; + } + +// ----------------------------------------------------------------------------- // CPEMessageHandler::HandleDialCall // Handles dial message from dial service // diff -r 6b911d05207e -r bc5a64e5bc3c phoneengine/phonemodel/src/cpeparsermanufacturerhandler.cpp --- a/phoneengine/phonemodel/src/cpeparsermanufacturerhandler.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneengine/phonemodel/src/cpeparsermanufacturerhandler.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -101,11 +101,6 @@ iModel.SendMessage( MEngineMonitor::EPEMessageShowWlanMacAddress ); break; } - case EBTDebugMode: // *#2873# - { - iModel.SendMessage( MEngineMonitor::EPEMessageBTDebugMode ); - break; - } default: { TEFLOGSTRING( KTAERROR, "PE CPEGSMPARSERMANUFACTURERHANDLER::PROCESSCOMMANDL: UNEXPECTED COMMAND" ); diff -r 6b911d05207e -r bc5a64e5bc3c phoneengine/phonemodel/src/cpeparserphonenumberhandler.cpp --- a/phoneengine/phonemodel/src/cpeparserphonenumberhandler.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneengine/phonemodel/src/cpeparserphonenumberhandler.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -206,7 +206,7 @@ TBool isPhoneOffline( EFalse ); if( FeatureManager::FeatureSupported( KFeatureIdOfflineMode ) - && ( iDataStore.ProfileId() == EProfileOffLineId ) ) + && ( EFalse == iOwner.IsNetworkConnectionAllowed() ) ) { isPhoneOffline = ETrue; } diff -r 6b911d05207e -r bc5a64e5bc3c phoneengine/phonemodel/src/cpeparsersshandler.cpp --- a/phoneengine/phonemodel/src/cpeparsersshandler.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneengine/phonemodel/src/cpeparsersshandler.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -43,6 +43,11 @@ #include #include +#include +#include +#include +#include +#include // CONSTANTS const TInt KPEDefinedBasicServiceGroup = 99; @@ -94,12 +99,13 @@ delete iCliObserver; delete iBarring; delete iCbObserver; - delete iDivert; - delete iCfObserver; delete iWaiting; - delete iCwObserver; delete iSettings; delete iObsContainer; + + delete iCallDivertingHandler; + delete iPsetWrapper; + TEFLOGSTRING( KTAOBJECT, "CPEParserSSHandler::~CPEParserSSHandler" ); } @@ -972,12 +978,14 @@ void CPEParserSSHandler::CreateCWObsL() { ConnectToSsEngineL(); - //call waiting observer and engine - if ( !iCwObserver ) + + if ( !iPsetWrapper ) { - iCwObserver = iObsContainer->CreateCWObsL(); - iWaiting = iSettings->CreateCWObjectL( *iCwObserver ); - iWaiting->SetRequestObserver( this ); + iPsetWrapper = new PSetWrapper; + iCallWaitingWrapper = &iPsetWrapper->callWaitingWrapper(); + iCallWaitingHandler = new PsUiWaitingNoteHandler(*iCallWaitingWrapper); + iWaiting = &iCallWaitingWrapper->getCPsetCallWaiting(); + iWaiting->SetRequestObserver(this); } } @@ -1003,13 +1011,13 @@ // void CPEParserSSHandler::CreateCFObsL() { - ConnectToSsEngineL(); - //call divert observer and engine - if ( !iCfObserver ) - { - iCfObserver = iObsContainer->CreateCFObsL(); - iDivert = iSettings->CreateCFObjectL( *iCfObserver ); - iDivert->SetRequestObserver( this ); + if ( !iPsetWrapper ) + { + iPsetWrapper = new PSetWrapper; + iCallDivertingWrapper = &iPsetWrapper->callDivertingWrapper(); + iCallDivertingHandler = new PsUiDivertNoteHandler(*iCallDivertingWrapper); + iDivert = &iCallDivertingWrapper->getCPsetCallDiverting(); + iDivert->SetRequestObserver(this); } } @@ -1066,26 +1074,31 @@ // void CPEParserSSHandler::ResetVariables() { - delete iCfObserver; - iCfObserver = NULL; delete iCbObserver; iCbObserver = NULL; - delete iCwObserver; - iCwObserver = NULL; delete iCliObserver; iCliObserver = NULL; - delete iDivert; - iDivert = NULL; + delete iBarring; iBarring = NULL; - delete iWaiting; - iWaiting = NULL; + delete iCli; iCli = NULL; delete iSettings; iSettings = NULL; delete iObsContainer; iObsContainer = NULL; + + iDivert = NULL; + delete iCallDivertingHandler; + iCallDivertingHandler = NULL; + + iWaiting = NULL; + delete iCallWaitingHandler; + iCallWaitingHandler = NULL; + + delete iPsetWrapper; + iPsetWrapper = NULL; } // ----------------------------------------------------------------------------- diff -r 6b911d05207e -r bc5a64e5bc3c phoneengine/phonemodel/src/cpephonemodel.cpp --- a/phoneengine/phonemodel/src/cpephonemodel.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneengine/phonemodel/src/cpephonemodel.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -599,7 +599,9 @@ return MESSAGE("EPEMessageTempClirSuppressUnsuccessful"); case MEngineMonitor::EPEMessageTempClirActivationUnsuccessful: return MESSAGE("EPEMessageTempClirActivationUnsuccessful"); - + case MEngineMonitor::EPEMessageOutgoingCallBarred: + return MESSAGE("EPEMessageOutgoingCallBarred"); + // Contact messages 11400 - 11599 // Error messages 11600 - 11799 @@ -914,6 +916,12 @@ } } + if ( message == MEngineMonitor::EPEMessageOutgoingCallBarred ) + { + iEngineInfo->SetOutgoingCallBarringActivated( ETrue ); + message = KPEDontSendMessage; + } + if ( ( message == MEngineMonitor::EPEMessageIncoming ) ) { if ( FeatureManager::FeatureSupported( KFeatureIdDriveMode ) ) @@ -968,7 +976,14 @@ TPEErrorInfo errorInfo = iEngineInfo->ErrorInfo(); errorInfo.iCallId = aCallId; errorInfo.iErrorType = EPECcp; - iEngineMonitor.HandleError( errorInfo ); + + if ( ECCPErrorCCCallRejected == errorInfo.iErrorCode ) + { + // Call direction is not set if the call was rejected before Dialing-state + iEngineInfo->SetCallDirection( RMobileCall::EMobileOriginated, aCallId ); + iMessageHandler->AddSIMRejectedMoCsCallToLog( aCallId ); + } + iEngineMonitor.HandleError( errorInfo ); } else if ( message == MEngineMonitor::EPEMessageServiceHandlingError ) { @@ -1091,6 +1106,8 @@ { errorCode = iMessageHandler->ContinueSwitchToCall( aCallId ); } + + iEngineInfo->SetOutgoingCallBarringActivated( EFalse ); break; case MEngineMonitor::EPEMessageRemoteBusy: @@ -1510,7 +1527,7 @@ { callError = ( iCallInfo->iExitCode >> KTimesToSplitValue ); //Set protocol spesific error code to TPEErrorInfo - EngineInfo()->SetProtocolError( callError ); + EngineInfo()->SetProtocolError( callError, aCallId ); } } } diff -r 6b911d05207e -r bc5a64e5bc3c phoneengine/phoneservices/inc/ctiurischemeparser.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phoneengine/phoneservices/inc/ctiurischemeparser.h Tue Jul 06 14:15:47 2010 +0300 @@ -0,0 +1,46 @@ +/*! +* 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: Provides services to parse CTI URIs. +* +*/ + +#ifndef CTIURISCHEMEPARSER_H +#define CTIURISCHEMEPARSER_H + +#include +#include +#include "urischemeparser.h" + +class CtiUriSchemeParser : public UriSchemeParser +{ + Q_OBJECT + +public: + CtiUriSchemeParser(QObject *parent = 0); + ~CtiUriSchemeParser(); + +public: + bool isSupportedUriScheme(const QString &uri) const; + bool parseUri( + const QString &uri, + QString &phoneNumber, + QString &dtmfString) const; + +private: + bool validateUri(const QString &uri) const; + void removeVisualSeparators(QString &uri) const; + void convertToneInputToPostDialDtmfString(QString &uri) const; +}; + +#endif // CTIURISCHEMEPARSER_H diff -r 6b911d05207e -r bc5a64e5bc3c phoneengine/phoneservices/inc/dialservice.h --- a/phoneengine/phoneservices/inc/dialservice.h Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneengine/phoneservices/inc/dialservice.h Tue Jul 06 14:15:47 2010 +0300 @@ -13,6 +13,26 @@ * * Description: Dial API to be used through Qt Highway. * +* +* Example usage: +* QString service("phoneui"); +* QString interface(""com.nokia.symbian.ICallDial"); +* QString operation("dial(QString)"); // choose appropriate operation +* XQApplicationManager appManager; +* QScopedPointer request(appManager.create(service, interface, operation, false)); +* if (request == NULL) { +* //Service not found +* } +* QList args; +* args << QString("0501234567"); // number or address +* // add contactId and serviceId when needed by operation +* request->setArguments(args); +* if (request->send()) { +* //error +* } +* +* Note: +* */ #ifndef DIALSERVICE_H @@ -24,6 +44,9 @@ #include "mpecallcontrolif.h" #include "mpecallsettersif.h" +// FORWARD DECLARATIONS +class XQSettingsManager; + class DialService : public XQServiceProvider { Q_OBJECT @@ -37,10 +60,6 @@ This method makes a cellular switched dial command to Phone Application. It is intended to be used via Qt Highway. - - Usage example: - XQServiceRequest snd("com.nokia.symbian.ICallDial","dial(QString)"); - snd << "0501234567"; */ int dial(const QString& number); @@ -51,10 +70,7 @@ Phone Application. It is intended to be used via Qt Highway. Caller's name is shown according to the given Phonebook contact identifier. - - Usage example: - XQServiceRequest snd("com.nokia.symbian.ICallDial","dial(QString,int)"); - snd << "0501234567" << 123456; + */ int dial(const QString& number, int contactId); @@ -63,10 +79,7 @@ This method makes a video call dial command to Phone Application. It is intended to be used via Qt Highway. - - Usage example: - XQServiceRequest snd("com.nokia.symbian.ICallDial","dial(QString)"); - snd << "0501234567"; + */ void dialVideo(const QString& number); @@ -77,10 +90,6 @@ Phone Application. It is intended to be used via Qt Highway. Caller's name is shown according to the given Phonebook contact identifier. - - Usage example: - XQServiceRequest snd("com.nokia.symbian.ICallDial","dial(QString,int)"); - snd << "0501234567" << 123456; */ void dialVideo(const QString& number, int contactId); @@ -89,10 +98,6 @@ This method makes a voip call dial command to Phone Application. It is intended to be used via Qt Highway. - - Usage example: - XQServiceRequest snd("com.nokia.symbian.ICallDial","dialVoip(QString)"); - snd << "address@domain"; */ void dialVoip(const QString& address); @@ -103,10 +108,7 @@ Phone Application. It is intended to be used via Qt Highway. Caller's name is shown according to the given Phonebook contact identifier. - - Usage example: - XQServiceRequest snd("com.nokia.symbian.ICallDial","dialVoip(QString,int)"); - snd << "address@domain" << 123456; + */ void dialVoip(const QString& address, int contactId); @@ -116,10 +118,6 @@ This method makes a voip call dial command to Phone Application. It is intended to be used via Qt Highway. Call is made by given service (id). - - Usage example: - XQServiceRequest snd("com.nokia.symbian.ICallDial","dialVoipService(QString,int)"); - snd << "address@domain" << 123; */ void dialVoipService(const QString& address, int serviceId); @@ -131,25 +129,37 @@ Call is made by given service (id). Caller's name is shown according to the given Phonebook contact identifier. - - Usage example: - XQServiceRequest snd("com.nokia.symbian.ICallDial","dialVoipService(QString,int,int)"); - snd << "address@domain" << 123 << 12345; */ void dialVoipService(const QString& address, int serviceId, int contactId); private: + + /*! + \fn QString modifyPhoneNumber(QString& number) + + Returns a modified phone number string. Strips white spaces, makes prefix changes etc. + */ + QString modifyPhoneNumber(const QString &number) Q_REQUIRED_RESULT; + /*! \fn QString simplified(QString& number) Returns a string that has whitespaces, '(', ')', '-', '[', and ']' chars removed */ static QString simplified(const QString &number) Q_REQUIRED_RESULT; + + /*! + \fn QString japanPrefixModifications(QString& number) + + Returns a string that has japan specific configuration modifications made + */ + QString japanPrefixModifications(const QString &number) Q_REQUIRED_RESULT; private: - MPECallControlIF &m_call; - MPECallSettersIF &m_parameters; + MPECallControlIF &m_call; + MPECallSettersIF &m_parameters; + XQSettingsManager *m_settingsManager; }; #endif // DIALERSERVICE_H diff -r 6b911d05207e -r bc5a64e5bc3c phoneengine/phoneservices/inc/dtmfservice.h --- a/phoneengine/phoneservices/inc/dtmfservice.h Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneengine/phoneservices/inc/dtmfservice.h Tue Jul 06 14:15:47 2010 +0300 @@ -13,6 +13,24 @@ * * Description: DTMF API to be used through Qt Highway. * +* +* +* Example usage: +* QString service("phoneui"); +* QString interface(""com.nokia.symbian.ICallDial"); +* QString operation("playDTMFTone(QString)"); // or stopDTMFPlay() +* XQApplicationManager appManager; +* QScopedPointer request(appManager.create(service, interface, operation, false)); +* if (request == NULL) { +* //Service not found +* } +* QList args; +* args << QChar('0'); +* request->setArguments(args); +* if (request->send()) { +* //error +* } +* */ #ifndef DTMFSERVICE_H @@ -41,10 +59,6 @@ This method plays DTMF tone matching given character. If character doesn't match any supported DTMF tone it is ignored. - - Usage example: - XQServiceRequest snd("com.nokia.symbian.IDtmfPlay","playDTMFTone(QChar)"); - snd << "5"; */ void playDTMFTone(const QChar& keyToPlay); diff -r 6b911d05207e -r bc5a64e5bc3c phoneengine/phoneservices/inc/phoneservices.h --- a/phoneengine/phoneservices/inc/phoneservices.h Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneengine/phoneservices/inc/phoneservices.h Tue Jul 06 14:15:47 2010 +0300 @@ -24,6 +24,7 @@ class DialService; class DTMFService; +class UriSchemeHandlerService; // Depricated APIs class DialServiceDepricated; @@ -48,7 +49,8 @@ private: QScopedPointer dialService; QScopedPointer dtmfService; - + QScopedPointer uriSchemeHandlerService; + // Depricated QScopedPointer dialServiceDepricated; QScopedPointer dtmfServiceDepricated; diff -r 6b911d05207e -r bc5a64e5bc3c phoneengine/phoneservices/inc/telurischemeparser.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phoneengine/phoneservices/inc/telurischemeparser.h Tue Jul 06 14:15:47 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: TEL URI parser. +* +*/ + +#ifndef TELURISCHEMEPARSER_H +#define TELURISCHEMEPARSER_H + +#include +#include +#include "urischemeparser.h" + +class TelUriSchemeParser : public UriSchemeParser +{ + Q_OBJECT +public: + TelUriSchemeParser(QObject *parent = 0); + ~TelUriSchemeParser(); + +public: + bool isSupportedUriScheme(const QString &uri) const; + bool parseUri( + const QString &uri, + QString &phoneNumber, + QString &dtmfString) const; +}; + +#endif // TELURISCHEMEPARSER_H diff -r 6b911d05207e -r bc5a64e5bc3c phoneengine/phoneservices/inc/urischemehandlerservice.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phoneengine/phoneservices/inc/urischemehandlerservice.h Tue Jul 06 14:15:47 2010 +0300 @@ -0,0 +1,74 @@ +/*! +* 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: Provides services to create phone calls via URIs. +* +*/ + +#ifndef URISCHEMEHANDLERSERVICE_H +#define URISCHEMEHANDLERSERVICE_H + +#include +#include +#include + +class MPECallControlIF; +class MPECallSettersIF; +class UriSchemeParser; + +class UriSchemeHandlerService : public XQServiceProvider +{ + Q_OBJECT + +public: + UriSchemeHandlerService( + MPECallControlIF &call, + MPECallSettersIF ¶meters, + QObject *parent = 0); + ~UriSchemeHandlerService(); + +public slots: + /*! + \fn view(const QString& uri) + + This method provides handling for "call" URIs like TEL and CTI. + It is intended to be used via Qt Highway. + + Usage example: + QUrl telUri("tel:+358 40 123 4567"); + QScopedPointer request(mAiwMgr.create(telUri)); + if (request.isNull()) { + // no handlers for the URI + return; + } + + QList args; + args << telUri.toString(); + request->setArguments(args); + + QVariant uriHandled(false); + bool requestOk = request->send(uriHandled); + */ + bool view(const QString &uri); + +private: + UriSchemeParser *findSchemeParser(const QString &uri); + bool verifyClientCapabilities() const; + +private: + MPECallControlIF &m_callControlIf; + MPECallSettersIF &m_callParameters; + QList m_parsers; +}; + +#endif // URISCHEMEHANDLERSERVICE_H diff -r 6b911d05207e -r bc5a64e5bc3c phoneengine/phoneservices/inc/urischemeparser.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phoneengine/phoneservices/inc/urischemeparser.h Tue Jul 06 14:15:47 2010 +0300 @@ -0,0 +1,45 @@ +/*! +* 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: Base class for URI Scheme parsers. +* +*/ + +#ifndef URISCHEMEPARSER_H +#define URISCHEMEPARSER_H + +#include +#include + +class UriSchemeParser : public QObject +{ + Q_OBJECT + +public: + UriSchemeParser(QObject *parent = 0); + ~UriSchemeParser(); + + virtual bool isSupportedUriScheme(const QString &uri) const = 0; + virtual bool parseUri( + const QString &uri, + QString &phoneNumber, + QString &dtmfString) const = 0; + +protected: + bool parsePhoneDialString( + const QString &uri, + QString &phoneNumber, + QString &dtmfString) const; +}; + +#endif // URISCHEMEPARSER_H diff -r 6b911d05207e -r bc5a64e5bc3c phoneengine/phoneservices/phoneservices.pri --- a/phoneengine/phoneservices/phoneservices.pri Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneengine/phoneservices/phoneservices.pri Tue Jul 06 14:15:47 2010 +0300 @@ -19,14 +19,22 @@ ./src/dialservice.cpp \ ./src/dtmfservice.cpp \ ./src/dialservicedepricated.cpp \ - ./src/dtmfservicedepricated.cpp + ./src/dtmfservicedepricated.cpp \ + ./src/urischemehandlerservice.cpp \ + ./src/urischemeparser.cpp \ + ./src/telurischemeparser.cpp \ + ./src/ctiurischemeparser.cpp HEADERS=\ ./inc/phoneservices.h \ ./inc/dialservice.h \ ./inc/dtmfservice.h \ ./inc/dialservicedepricated.h \ - ./inc/dtmfservicedepricated.h + ./inc/dtmfservicedepricated.h \ + ./inc/urischemehandlerservice.h \ + ./inc/urischemeparser.h \ + ./inc/telurischemeparser.h \ + ./inc/ctiurischemeparser.h PHONESERVICES_API_HEADERS=\ ./inc/phoneservices.h diff -r 6b911d05207e -r bc5a64e5bc3c phoneengine/phoneservices/phoneservices.pro --- a/phoneengine/phoneservices/phoneservices.pro Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneengine/phoneservices/phoneservices.pro Tue Jul 06 14:15:47 2010 +0300 @@ -17,6 +17,7 @@ TEMPLATE = lib TARGET = phoneservices +CONFIG += hb symbian { TARGET.UID3 = 0x20029F88 @@ -38,7 +39,9 @@ MMP_RULES += servicesDefFiles LIBS += -lxqservice \ - -lxqserviceutil + -lxqserviceutil \ + -lfeatmgr \ + -lxqsettingsmanager } # Input diff -r 6b911d05207e -r bc5a64e5bc3c phoneengine/phoneservices/src/ctiurischemeparser.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phoneengine/phoneservices/src/ctiurischemeparser.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -0,0 +1,136 @@ +/*! +* 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: Provides services to parse CTI URIs. +* +*/ + +#include +#include "ctiurischemeparser.h" +#include "qtphonelog.h" + +const QString KCtiUriSchemePrefix = "cti:"; +const QString KVisualSeparators("-.() "); +const QString KCtiPauseChar = ","; +const QString KCtiWaitChar = "/"; +const QString KDtmfPauseChar = "p"; +const QString KDtmfWaitChar = "w"; + +/*! + CtiUriSchemeParser::CtiUriSchemeParser. + */ +CtiUriSchemeParser::CtiUriSchemeParser(QObject* parent) + : + UriSchemeParser(parent) +{ + PHONE_DEBUG("CtiUriSchemeParser::CtiUriSchemeParser"); +} + + +/*! + CtiUriSchemeParser::~CtiUriSchemeParser. + */ +CtiUriSchemeParser::~CtiUriSchemeParser() +{ + PHONE_DEBUG("CtiUriSchemeParser::~CtiUriSchemeParser"); +} + + +/*! + CtiUriSchemeParser::isSupportedUriScheme. + */ +bool CtiUriSchemeParser::isSupportedUriScheme(const QString &uri) const +{ + PHONE_DEBUG("CtiUriSchemeParser::isSupportedUriScheme"); + + QRegExp expression(QString("^") + KCtiUriSchemePrefix); + return uri.contains(expression); +} + + +/*! + CtiUriSchemeParser::parseUri. + */ +bool CtiUriSchemeParser::parseUri( + const QString &uri, + QString &phoneNumber, + QString &dtmfString) const +{ + PHONE_DEBUG("CtiUriSchemeParser::parseUri"); + + QString dialString = ""; + + if (validateUri(uri)) { + dialString = uri.mid(KCtiUriSchemePrefix.length()); + + removeVisualSeparators(dialString); + convertToneInputToPostDialDtmfString(dialString); + } + + return UriSchemeParser::parsePhoneDialString( + dialString, phoneNumber, dtmfString); +} + + +/*! + CtiUriSchemeParser::validateUri. + Validity rules: + 1. Uri must start with "cti:" + 2. + -sign may occur only at the beginning of the URI. + 3. Uri cannot contain tone input only or start with tone input. + 4. Uri length must be at least 1. + 5. Uri must contain only valid characters. + 5.1. Phone number part cannot contain tone input characters. + 6. Uri cannot contain multiple wait characters in succession. + */ +bool CtiUriSchemeParser::validateUri(const QString &uri) const +{ + PHONE_DEBUG("CtiUriSchemeParser::validateUri"); + + bool isValid = false; + + QRegExp expression( + "^cti:\\+?[\\d-\\.\\(\\) ]{1,}([,/][\\d*#,/-\\.\\(\\) ]*)?$"); + isValid = uri.contains(expression); + if (isValid) { + QRegExp validateMultipleWaitExp("//+"); + isValid = !uri.contains(validateMultipleWaitExp); + } + + return isValid; +} + + +/*! + CtiUriSchemeParser::removeVisualSeparators. + */ +void CtiUriSchemeParser::removeVisualSeparators(QString &uri) const +{ + PHONE_DEBUG("CtiUriSchemeParser::removeVisualSeparators"); + + QRegExp visualSeparatorExp("[" + QRegExp::escape(KVisualSeparators) + "]"); + uri.remove(visualSeparatorExp); +} + + +/*! + CtiUriSchemeParser::convertToneInputToPostDialDtmfString. + */ +void CtiUriSchemeParser::convertToneInputToPostDialDtmfString( + QString &uri) const +{ + PHONE_DEBUG("CtiUriSchemeParser::convertToneInputToPostDialDtmfString"); + + uri.replace(KCtiWaitChar, KDtmfWaitChar); + uri.replace(KCtiPauseChar, KDtmfPauseChar); +} diff -r 6b911d05207e -r bc5a64e5bc3c phoneengine/phoneservices/src/dialservice.cpp --- a/phoneengine/phoneservices/src/dialservice.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneengine/phoneservices/src/dialservice.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -18,14 +18,23 @@ #include #include #include +#include +#include +#include #include "dialservice.h" #include "qtphonelog.h" +// CONSTANTS +const int MaxPrefixStringLength = 10; +const XQSettingsKey dialPrefixMode(XQSettingsKey::TargetCentralRepository, KCRUidNetworkSettings.iUid, KSettingsDialPrefixChangeMode); +const XQSettingsKey dialPrefixString(XQSettingsKey::TargetCentralRepository, KCRUidNetworkSettings.iUid, KSettingsDialPrefixText); DialService::DialService(MPECallControlIF &call, MPECallSettersIF ¶meters, QObject* parent) : - XQServiceProvider(QLatin1String("com.nokia.symbian.ICallDial"), parent), m_call (call), m_parameters (parameters) + XQServiceProvider(QLatin1String("com.nokia.symbian.ICallDial"), parent), m_call (call), m_parameters (parameters), m_settingsManager(0) { publishAll(); + m_settingsManager = new XQSettingsManager(this); + Q_ASSERT(m_settingsManager != 0); } DialService::~DialService() @@ -35,8 +44,8 @@ int DialService::dial(const QString& number) { PHONE_DEBUG2("DialService::dial number:", number); - QString simplifiedNumber = simplified(number); - TPtrC16 numberPtr(reinterpret_cast(simplifiedNumber.utf16())); + QString phoneNumber = modifyPhoneNumber(number); + TPtrC16 numberPtr(reinterpret_cast(phoneNumber.utf16())); m_parameters.SetPhoneNumber (numberPtr); m_parameters.SetCallTypeCommand (EPECallTypeCSVoice); return m_call.HandleDialServiceCall (); @@ -45,8 +54,8 @@ int DialService::dial(const QString& number, int contactId) { PHONE_DEBUG4("DialService::dial number:", number, "contactId:", contactId); - QString simplifiedNumber = simplified(number); - TPtrC16 numberPtr (reinterpret_cast(simplifiedNumber.utf16())); + QString phoneNumber = modifyPhoneNumber(number); + TPtrC16 numberPtr (reinterpret_cast(phoneNumber.utf16())); m_parameters.SetPhoneNumber (numberPtr); m_parameters.SetCallTypeCommand (EPECallTypeCSVoice); m_parameters.SetContactId2 (contactId); @@ -56,8 +65,8 @@ void DialService::dialVideo(const QString& number) { PHONE_DEBUG2("DialService::dialVideo number:", number); - QString simplifiedNumber = simplified(number); - TPtrC16 numberPtr(reinterpret_cast(simplifiedNumber.utf16())); + QString phoneNumber = modifyPhoneNumber(number); + TPtrC16 numberPtr(reinterpret_cast(phoneNumber.utf16())); m_parameters.SetPhoneNumber (numberPtr); m_parameters.SetCallTypeCommand (EPECallTypeVideo); m_call.HandleDialServiceCall (); @@ -66,8 +75,8 @@ void DialService::dialVideo(const QString& number, int contactId) { PHONE_DEBUG4("DialService::dialVideo number:", number, "contactId:", contactId); - QString simplifiedNumber = simplified(number); - TPtrC16 numberPtr (reinterpret_cast(simplifiedNumber.utf16())); + QString phoneNumber = modifyPhoneNumber(number); + TPtrC16 numberPtr (reinterpret_cast(phoneNumber.utf16())); m_parameters.SetPhoneNumber (numberPtr); m_parameters.SetCallTypeCommand (EPECallTypeVideo); m_parameters.SetContactId2 (contactId); @@ -117,6 +126,14 @@ m_call.HandleDialServiceCall(); } +QString DialService::modifyPhoneNumber(const QString &number) +{ + QString modifiedNumber = simplified(number); + modifiedNumber = japanPrefixModifications(modifiedNumber); + + return modifiedNumber; +} + QString DialService::simplified(const QString &number) { QString simplifiedNumber = number; @@ -124,3 +141,28 @@ simplifiedNumber.remove(rx); return simplifiedNumber; } + +QString DialService::japanPrefixModifications(const QString &number) +{ + bool checkPrefix = FeatureManager::FeatureSupported(KFeatureIdJapanPrefixChange); + if(checkPrefix == false) { + // prefix change setting is off so don't play with the number + return number; + } + + QString modifiedNumber = number; + + int prefixMode = m_settingsManager->readItemValue(dialPrefixMode, XQSettingsManager::TypeInt).toInt(); + if((m_settingsManager->error() == XQSettingsManager::NoError) && (prefixMode > 0)) { + // No error fetching value and setting is on + QString prefixString = m_settingsManager->readItemValue(dialPrefixString, XQSettingsManager::TypeString).toString(); + + if(m_settingsManager->error() == XQSettingsManager::NoError) { + if(modifiedNumber.startsWith("+")) { + modifiedNumber = modifiedNumber.replace(0, prefixString.length(), prefixString); + } + } + } + + return modifiedNumber; +} diff -r 6b911d05207e -r bc5a64e5bc3c phoneengine/phoneservices/src/phoneservices.cpp --- a/phoneengine/phoneservices/src/phoneservices.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneengine/phoneservices/src/phoneservices.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -18,6 +18,7 @@ #include "phoneservices.h" #include "dialservice.h" #include "dtmfservice.h" +#include "urischemehandlerservice.h" #include "qtphonelog.h" // Depricated APIs @@ -31,7 +32,8 @@ : QObject(parent), dialService(0), - dtmfService(0) + dtmfService(0), + uriSchemeHandlerService(0) // Depricated , dialServiceDepricated(0) , dtmfServiceDepricated(0) @@ -39,7 +41,9 @@ PHONE_DEBUG("PhoneServices::PhoneServices"); dialService.reset(new DialService(call, parameters)); dtmfService.reset(new DTMFService(call, parameters)); - + uriSchemeHandlerService.reset( + new UriSchemeHandlerService(call, parameters)); + // Depricated dialServiceDepricated.reset(new DialServiceDepricated(call, parameters)); dtmfServiceDepricated.reset(new DTMFServiceDepricated(call, parameters)); diff -r 6b911d05207e -r bc5a64e5bc3c phoneengine/phoneservices/src/telurischemeparser.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phoneengine/phoneservices/src/telurischemeparser.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -0,0 +1,123 @@ +/*! +* 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: TEL URI parser. +* +*/ + +#include +#include +#include "telurischemeparser.h" +#include "qtphonelog.h" + +const QString KTelUriSchemaPrefix = "tel:"; +const QString KPostDialTag = "postd="; +const QString KSharpDigit = "%23"; +const QChar KSplit = ';'; +const QChar KSharpDigitHex = '#'; +const QChar KPauseDigit = 'p'; + +const QString KWhitespacesAndVisuals = "[\\s,.\\[\\]\\(\\)\\-]"; +const QString KInvalidTelNum = "[^\\d\\+]"; +const QString KInvalidPostDial = "[^\\d*#pw]"; +const QString KNotJustWaitsAndPauses = "[^pw]"; + +/*! + TelUriSchemeParser::TelUriSchemeParser. + */ +TelUriSchemeParser::TelUriSchemeParser(QObject* parent) + : + UriSchemeParser(parent) +{ + PHONE_DEBUG("TelUriSchemeParser::TelUriSchemeParser"); +} + + +/*! + TelUriSchemeParser::~TelUriSchemeParser. + */ +TelUriSchemeParser::~TelUriSchemeParser() +{ + PHONE_DEBUG("TelUriSchemeParser::~TelUriSchemeParser"); +} + + +/*! + TelUriSchemeParser::isSupportedUriScheme. + */ +bool TelUriSchemeParser::isSupportedUriScheme(const QString &uri) const +{ + PHONE_DEBUG("TelUriSchemeParser::isSupportedUriScheme"); + + QRegExp expression(QString("^") + KTelUriSchemaPrefix); + return uri.contains(expression); +} + + +/*! + TelUriSchemeParser::parseUri. + Accepted Uri's: + 1. Uri must start with "tel:1*phonedigit" + 2. Only "tel:1*phonedigit" and + ";postd=1*(phonedigit / dtmf-digit / pause-character)" tags are recognized + 3. DTMF digits "A" "B" "C" and "D" are not supported + 4. ";postd=" can't contain only pause-characters "p" "w" + 5. ";postd=" can contain only '*''#''%23''0123456789''p''w' characters + 6. ";postd=" should start 'p' character, if not it's inserted + */ +bool TelUriSchemeParser::parseUri( + const QString &uri, + QString &phoneNumber, + QString &dtmfString) const +{ + PHONE_DEBUG("TelUriSchemeParser::parseUri"); + QString dialString = ""; + QString postNum; + + if (uri.startsWith(KTelUriSchemaPrefix,Qt::CaseInsensitive)) { + dialString = uri; + dialString.remove(QRegExp(KWhitespacesAndVisuals)); + QStringList list = dialString.split(KSplit); + dialString = list.at(0).mid(KTelUriSchemaPrefix.length()); + if (dialString.contains(QRegExp(KInvalidTelNum))) { + dialString.clear(); + } else{ + for(int i = 1; i < list.count(); i++){ + if(list.at(i).startsWith(KPostDialTag,Qt::CaseInsensitive)){ + postNum = list.at(i).mid(KPostDialTag.length()); + //found, check sharp digit + int ndx = postNum.indexOf(KSharpDigit); + while(-1 != ndx){ + postNum.replace(ndx, KSharpDigit.length(),KSharpDigitHex); + ndx = postNum.indexOf(KSharpDigit); + } + //now check if it's valid + if(postNum.contains(QRegExp(KInvalidPostDial))|| + !postNum.contains(QRegExp(KNotJustWaitsAndPauses))){ + postNum.clear(); + }else{ + //finally check it's starting with 'p' + if(KPauseDigit != postNum.at(0)){ + postNum.insert(0,KPauseDigit); + } + dialString += postNum; + } + } + } + } + } + + PHONE_DEBUG2("TelUriSchemeParser::parseUri: ", dialString); + return UriSchemeParser::parsePhoneDialString( + dialString, phoneNumber, dtmfString); +} diff -r 6b911d05207e -r bc5a64e5bc3c phoneengine/phoneservices/src/urischemehandlerservice.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phoneengine/phoneservices/src/urischemehandlerservice.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -0,0 +1,132 @@ +/*! +* 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: Provides services to create phone calls via URIs. +* +*/ + +#include +#include +#include +#include "urischemehandlerservice.h" +#include "mpecallcontrolif.h" +#include "mpecallsettersif.h" +#include "ctiurischemeparser.h" +#include "telurischemeparser.h" +#include "qtphonelog.h" + +/*! + UriSchemeHandlerService::UriSchemeHandlerService. + */ +UriSchemeHandlerService::UriSchemeHandlerService( + MPECallControlIF &call, MPECallSettersIF ¶meters, QObject* parent) + : + XQServiceProvider( + QLatin1String("phoneui.com.nokia.symbian.IUriView"), parent), + m_callControlIf(call), + m_callParameters(parameters) +{ + PHONE_DEBUG("UriSchemeHandlerService::UriSchemeHandlerService"); + + publishAll(); + + QScopedPointer telUriParser( + new TelUriSchemeParser(this)); + m_parsers.append(telUriParser.data()); + telUriParser.take(); + + QScopedPointer ctiUriParser( + new CtiUriSchemeParser(this)); + m_parsers.append(ctiUriParser.data()); + ctiUriParser.take(); +} + + +/*! + UriSchemeHandlerService::~UriSchemeHandlerService. + */ +UriSchemeHandlerService::~UriSchemeHandlerService() +{ + PHONE_DEBUG("UriSchemeHandlerService::~UriSchemeHandlerService"); +} + + +/*! + UriSchemeHandlerService::view. + */ +bool UriSchemeHandlerService::view(const QString &uri) +{ + PHONE_DEBUG2("UriSchemeHandlerService::view URI:", uri); + + bool handled = false; + + UriSchemeParser* schemeParser = findSchemeParser(uri); + if (schemeParser && verifyClientCapabilities()) { + QString phoneNumber = ""; + QString dtmfString = ""; + if (schemeParser->parseUri(uri, phoneNumber, dtmfString)) { + QString dialString = phoneNumber + dtmfString; + + HbDeviceMessageBox confirmationNote( + hbTrId("txt_phone_info_call_l1").arg(dialString), + HbMessageBox::MessageTypeQuestion, + NULL); + confirmationNote.setTimeout(0); + + const QAction *action = confirmationNote.exec(); + if (confirmationNote.isAcceptAction(action)) { + m_callParameters.SetPhoneNumber(dialString.utf16()); + m_callParameters.SetCallTypeCommand(EPECallTypeCSVoice); + + handled = (KErrNone == m_callControlIf.HandleDialServiceCall()); + } + } + } + + return handled; +} + + +/*! + UriSchemeHandlerService::findSchemeParser. + */ +UriSchemeParser* UriSchemeHandlerService::findSchemeParser( + const QString &uri) +{ + PHONE_DEBUG("UriSchemeHandlerService::findSchemeParser"); + + UriSchemeParser* handler = NULL; + + QList::const_iterator it = m_parsers.constBegin(); + for (;(it != m_parsers.constEnd()) && (!handler); ++it) { + if ((*it)->isSupportedUriScheme(uri)) { + handler = (*it); + } + } + + return handler; +} + + +/*! + UriSchemeHandlerService::verifyClientCapabilities. + Checks that client has enough capabilities for making a phone call. + */ +bool UriSchemeHandlerService::verifyClientCapabilities() const +{ + PHONE_DEBUG("UriSchemeHandlerService::verifyClientCapabilities"); + + QSet capabilities = requestInfo().clientCapabilities(); + return (capabilities.contains(ECapabilityNetworkServices) && + capabilities.contains(ECapabilityNetworkControl)); +} diff -r 6b911d05207e -r bc5a64e5bc3c phoneengine/phoneservices/src/urischemeparser.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phoneengine/phoneservices/src/urischemeparser.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -0,0 +1,76 @@ +/*! +* 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: Base class for URI Scheme parsers. +* +*/ + +#include +#include +#include "urischemeparser.h" +#include "qtphonelog.h" + +const QString KDtmfPauseChar = "p"; +const QString KDtmfWaitChar = "w"; + +/*! + UriSchemeParser::UriSchemeParser. + */ +UriSchemeParser::UriSchemeParser(QObject* parent) + : + QObject(parent) +{ + PHONE_DEBUG("UriSchemeParser::UriSchemeParser"); +} + + +/*! + UriSchemeParser::~UriSchemeParser. + */ +UriSchemeParser::~UriSchemeParser() +{ + PHONE_DEBUG("UriSchemeParser::~UriSchemeParser"); +} + + +/*! + UriSchemeParser::parsePhoneDialString. + */ +bool UriSchemeParser::parsePhoneDialString( + const QString &dialString, + QString &phoneNumber, + QString &dtmfString) const +{ + PHONE_DEBUG("UriSchemeParser::parsePhoneDialString"); + + bool parsingResult = false; + + int dialStringLength = dialString.length(); + if ((dialStringLength <= 0) || + (KPEPhoneNumberMaxLength < dialStringLength)) { + parsingResult = false; + phoneNumber.clear(); + dtmfString.clear(); + } else { + parsingResult = true; + QRegExp dtmfFindExp( + QString("[") + KDtmfPauseChar + KDtmfWaitChar + QString("]")); + int dtmfPostfixIndex = dialString.indexOf(dtmfFindExp); + phoneNumber = dialString.left(dtmfPostfixIndex); + if (0 <= dtmfPostfixIndex) { + dtmfString = dialString.mid(dtmfPostfixIndex); + } + } + + return parsingResult; +} diff -r 6b911d05207e -r bc5a64e5bc3c phoneengine/phoneservices/tsrc/runtests.bat --- a/phoneengine/phoneservices/tsrc/runtests.bat Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneengine/phoneservices/tsrc/runtests.bat Tue Jul 06 14:15:47 2010 +0300 @@ -27,3 +27,15 @@ del \epoc32\winscw\c\private\EEE39B2F\ut_dtmfservice.log \epoc32\release\winscw\udeb\ut_dtmfservice.exe -o ut_dtmfservice.log type \epoc32\winscw\c\private\EEE39B2F\ut_dtmfservice.log + +del \epoc32\winscw\c\private\E31F4ECF\ut_ctiurischemeparser.log +\epoc32\release\winscw\udeb\ut_ctiurischemeparser.exe -o ut_ctiurischemeparser.log +type \epoc32\winscw\c\private\E31F4ECF\ut_ctiurischemeparser.log + +del \epoc32\winscw\c\private\E31F4EAF\ut_telurischemeparser.log +\epoc32\release\winscw\udeb\ut_telurischemeparser.exe -o ut_telurischemeparser.log +type \epoc32\winscw\c\private\E31F4EAF\ut_telurischemeparser.log + +del \epoc32\winscw\c\private\E31F4EDA\ut_urischemehandlerservice.log +\epoc32\release\winscw\udeb\ut_urischemehandlerservice.exe -o ut_urischemehandlerservice.log +type \epoc32\winscw\c\private\E31F4EDA\ut_urischemehandlerservice.log diff -r 6b911d05207e -r bc5a64e5bc3c phoneengine/phoneservices/tsrc/shared/mock_ctiurischemeparser.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phoneengine/phoneservices/tsrc/shared/mock_ctiurischemeparser.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -0,0 +1,70 @@ +/* +* 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 "ctiurischemeparser.h" + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CtiUriSchemeParser::CtiUriSchemeParser +// ----------------------------------------------------------------------------- +// +CtiUriSchemeParser::CtiUriSchemeParser( + QObject * parent ) + : + UriSchemeParser(parent) + { + + } + + +// ----------------------------------------------------------------------------- +// CtiUriSchemeParser::~CtiUriSchemeParser +// ----------------------------------------------------------------------------- +// +CtiUriSchemeParser::~CtiUriSchemeParser( ) + { + + } + + +// ----------------------------------------------------------------------------- +// CtiUriSchemeParser::isSupportedUriScheme +// ----------------------------------------------------------------------------- +// +bool CtiUriSchemeParser::isSupportedUriScheme( + const QString & uri ) const + { + SMC_MOCK_METHOD1( bool, const QString &, uri ) + } + + +// ----------------------------------------------------------------------------- +// CtiUriSchemeParser::parseUri +// ----------------------------------------------------------------------------- +// +bool CtiUriSchemeParser::parseUri( + const QString & uri, + QString &phoneNumber, + QString &dtmfString ) const + { + SMC_MOCK_METHOD3( bool, + const QString &, uri, + QString &, phoneNumber, + QString &, dtmfString) + } diff -r 6b911d05207e -r bc5a64e5bc3c phoneengine/phoneservices/tsrc/shared/mock_hbdevicemessagebox.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phoneengine/phoneservices/tsrc/shared/mock_hbdevicemessagebox.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -0,0 +1,354 @@ +/* +* 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 + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// HbDeviceMessageBox::HbDeviceMessageBox +// ----------------------------------------------------------------------------- +// +HbDeviceMessageBox::HbDeviceMessageBox( + HbMessageBox::MessageBoxType type, + QObject * parent ) + : + QObject(parent) + { + Q_UNUSED(type) + } + + +// ----------------------------------------------------------------------------- +// HbDeviceMessageBox::HbDeviceMessageBox +// ----------------------------------------------------------------------------- +// +HbDeviceMessageBox::HbDeviceMessageBox( + const QString & text, + HbMessageBox::MessageBoxType type, + QObject * parent ) + : + QObject(parent) + { + Q_UNUSED(text) + Q_UNUSED(type) + } + + +// ----------------------------------------------------------------------------- +// HbDeviceMessageBox::~HbDeviceMessageBox +// ----------------------------------------------------------------------------- +// +HbDeviceMessageBox::~HbDeviceMessageBox( ) + { + + } + + +// ----------------------------------------------------------------------------- +// HbDeviceMessageBox::question +// ----------------------------------------------------------------------------- +// +bool HbDeviceMessageBox::question( + const QString & text, + const QString & acceptButtonText, + const QString & rejectButtonText ) + { + SMC_MOCK_METHOD3( bool, const QString &, text, + const QString &, acceptButtonText, + const QString &, rejectButtonText ) + } + + +// ----------------------------------------------------------------------------- +// HbDeviceMessageBox::information +// ----------------------------------------------------------------------------- +// +void HbDeviceMessageBox::information( + const QString & text ) + { + SMC_MOCK_METHOD1( void, const QString &, text ) + } + + +// ----------------------------------------------------------------------------- +// HbDeviceMessageBox::warning +// ----------------------------------------------------------------------------- +// +void HbDeviceMessageBox::warning( + const QString & text ) + { + SMC_MOCK_METHOD1( void, const QString &, text ) + } + + +// ----------------------------------------------------------------------------- +// HbDeviceMessageBox::show +// ----------------------------------------------------------------------------- +// +void HbDeviceMessageBox::show( ) + { + SMC_MOCK_METHOD0( void ) + } + + +// ----------------------------------------------------------------------------- +// HbDeviceMessageBox::update +// ----------------------------------------------------------------------------- +// +void HbDeviceMessageBox::update( ) + { + SMC_MOCK_METHOD0( void ) + } + + +// ----------------------------------------------------------------------------- +// HbDeviceMessageBox::close +// ----------------------------------------------------------------------------- +// +void HbDeviceMessageBox::close( ) + { + SMC_MOCK_METHOD0( void ) + } + + +// ----------------------------------------------------------------------------- +// HbDeviceMessageBox::exec +// ----------------------------------------------------------------------------- +// +const QAction * HbDeviceMessageBox::exec( ) + { + SMC_MOCK_METHOD0( const QAction * ) + } + + +// ----------------------------------------------------------------------------- +// HbDeviceMessageBox::triggeredAction +// ----------------------------------------------------------------------------- +// +const QAction * HbDeviceMessageBox::triggeredAction( ) const + { + SMC_MOCK_METHOD0( const QAction * ) + } + + +// ----------------------------------------------------------------------------- +// HbDeviceMessageBox::isAcceptAction +// ----------------------------------------------------------------------------- +// +bool HbDeviceMessageBox::isAcceptAction( + const QAction * qAction ) const + { + SMC_MOCK_METHOD1( bool, const QAction *, qAction ) + } + + +// ----------------------------------------------------------------------------- +// HbDeviceMessageBox::setMessageBoxType +// ----------------------------------------------------------------------------- +// +void HbDeviceMessageBox::setMessageBoxType( + HbMessageBox::MessageBoxType type ) + { + SMC_MOCK_METHOD1( void, HbMessageBox::MessageBoxType, type ) + } + + +// ----------------------------------------------------------------------------- +// HbDeviceMessageBox::messageBoxType +// ----------------------------------------------------------------------------- +// +HbMessageBox::MessageBoxType HbDeviceMessageBox::messageBoxType( ) const + { + SMC_MOCK_METHOD0( HbMessageBox::MessageBoxType ) + } + + +// ----------------------------------------------------------------------------- +// HbDeviceMessageBox::setText +// ----------------------------------------------------------------------------- +// +void HbDeviceMessageBox::setText( + const QString & text ) + { + SMC_MOCK_METHOD1( void, const QString &, text ) + } + + +// ----------------------------------------------------------------------------- +// HbDeviceMessageBox::text +// ----------------------------------------------------------------------------- +// +QString HbDeviceMessageBox::text( ) const + { + SMC_MOCK_METHOD0( QString ) + } + + +// ----------------------------------------------------------------------------- +// HbDeviceMessageBox::setIconName +// ----------------------------------------------------------------------------- +// +void HbDeviceMessageBox::setIconName( + const QString & iconName ) + { + SMC_MOCK_METHOD1( void, const QString &, iconName ) + } + + +// ----------------------------------------------------------------------------- +// HbDeviceMessageBox::iconName +// ----------------------------------------------------------------------------- +// +QString HbDeviceMessageBox::iconName( ) const + { + SMC_MOCK_METHOD0( QString ) + } + + +// ----------------------------------------------------------------------------- +// HbDeviceMessageBox::setIconVisible +// ----------------------------------------------------------------------------- +// +void HbDeviceMessageBox::setIconVisible( + bool visible ) + { + SMC_MOCK_METHOD1( void, bool, visible ) + } + + +// ----------------------------------------------------------------------------- +// HbDeviceMessageBox::iconVisible +// ----------------------------------------------------------------------------- +// +bool HbDeviceMessageBox::iconVisible( ) const + { + SMC_MOCK_METHOD0( bool ) + } + + +// ----------------------------------------------------------------------------- +// HbDeviceMessageBox::setAnimationDefinition +// ----------------------------------------------------------------------------- +// +void HbDeviceMessageBox::setAnimationDefinition( + QString & animationDefinition ) + { + SMC_MOCK_METHOD1( void, QString &, animationDefinition ) + } + + +// ----------------------------------------------------------------------------- +// HbDeviceMessageBox::animationDefinition +// ----------------------------------------------------------------------------- +// +QString HbDeviceMessageBox::animationDefinition( ) const + { + SMC_MOCK_METHOD0( QString ) + } + + +// ----------------------------------------------------------------------------- +// HbDeviceMessageBox::setTimeout +// ----------------------------------------------------------------------------- +// +void HbDeviceMessageBox::setTimeout( + int timeout ) + { + SMC_MOCK_METHOD1( void, int, timeout ) + } + + +// ----------------------------------------------------------------------------- +// HbDeviceMessageBox::setTimeout +// ----------------------------------------------------------------------------- +// +void HbDeviceMessageBox::setTimeout( + HbPopup::DefaultTimeout timeout ) + { + SMC_MOCK_METHOD1( void, HbPopup::DefaultTimeout, timeout ) + } + + +// ----------------------------------------------------------------------------- +// HbDeviceMessageBox::timeout +// ----------------------------------------------------------------------------- +// +int HbDeviceMessageBox::timeout( ) const + { + SMC_MOCK_METHOD0( int ) + } + + +// ----------------------------------------------------------------------------- +// HbDeviceMessageBox::setDismissPolicy +// ----------------------------------------------------------------------------- +// +void HbDeviceMessageBox::setDismissPolicy( + HbPopup::DismissPolicy dismissPolicy ) + { + SMC_MOCK_METHOD1( void, HbPopup::DismissPolicy, dismissPolicy ) + } + + +// ----------------------------------------------------------------------------- +// HbDeviceMessageBox::dismissPolicy +// ----------------------------------------------------------------------------- +// +HbPopup::DismissPolicy HbDeviceMessageBox::dismissPolicy( ) const + { + SMC_MOCK_METHOD0( HbPopup::DismissPolicy ) + } + + +// ----------------------------------------------------------------------------- +// HbDeviceMessageBox::setAction +// ----------------------------------------------------------------------------- +// +void HbDeviceMessageBox::setAction( + QAction * qAction, + ActionRole role ) + { + SMC_MOCK_METHOD2( void, + QAction *, qAction, + ActionRole, role ) + } + + +// ----------------------------------------------------------------------------- +// HbDeviceMessageBox::action +// ----------------------------------------------------------------------------- +// +QAction * HbDeviceMessageBox::action( + ActionRole role ) const + { + SMC_MOCK_METHOD1( QAction *, ActionRole, role ) + } + + +// ----------------------------------------------------------------------------- +// HbDeviceMessageBox::aboutToClose +// ----------------------------------------------------------------------------- +// +void HbDeviceMessageBox::aboutToClose( ) + { + SMC_MOCK_METHOD0( void ) + } + + diff -r 6b911d05207e -r bc5a64e5bc3c phoneengine/phoneservices/tsrc/shared/mock_mpecallcontrolif.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phoneengine/phoneservices/tsrc/shared/mock_mpecallcontrolif.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -0,0 +1,52 @@ +/* +* 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 "mock_mpecallcontrolif.h" + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CPECallControlIFMock::HandleDialServiceCall +// ----------------------------------------------------------------------------- +// +TInt CPECallControlIFMock::HandleDialServiceCall( + const TBool aClientCall ) + { + SMC_MOCK_METHOD1( TInt, const TBool, aClientCall ) + } + + +// ----------------------------------------------------------------------------- +// CPECallControlIFMock::HandlePlayDTMFL +// ----------------------------------------------------------------------------- +// +void CPECallControlIFMock::HandlePlayDTMFL( ) + { + SMC_MOCK_METHOD0( void ) + } + + +// ----------------------------------------------------------------------------- +// CPECallControlIFMock::HandleEndDTMF +// ----------------------------------------------------------------------------- +// +TInt CPECallControlIFMock::HandleEndDTMF( ) + { + SMC_MOCK_METHOD0( TInt ) + } + + diff -r 6b911d05207e -r bc5a64e5bc3c phoneengine/phoneservices/tsrc/shared/mock_mpecallcontrolif.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phoneengine/phoneservices/tsrc/shared/mock_mpecallcontrolif.h Tue Jul 06 14:15:47 2010 +0300 @@ -0,0 +1,58 @@ +/* +* Copyright (c) 2007-2008 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: This file contains the interface for dialling a phone call. +* +*/ + +#ifndef CPECALLCONTROLIFMOCK_H +#define CPECALLCONTROLIFMOCK_H + +#include +#include "mpecallcontrolif.h" + +// CLASS DECLARATION + +/** +* Dials a phone call. +* +* @lib phoneengine.lib +* @since S60_10.1 +*/ +NONSHARABLE_CLASS( CPECallControlIFMock ) : public CBase, public MPECallControlIF +{ + public: //New functions + + /** + * Dials a phone call. + * @param aClientCall, Informs is the current call client originated or not. + * By default not client originated. + * @return Return possible error code. + */ + TInt HandleDialServiceCall( const TBool aClientCall = EFalse ); + + /** + * Starts tone playing. + */ + void HandlePlayDTMFL(); + + /** + * Stops tone playing. + * @return error code. + */ + TInt HandleEndDTMF(); + }; + +#endif // CPECALLCONTROLIFMOCK_H + +// End of File diff -r 6b911d05207e -r bc5a64e5bc3c phoneengine/phoneservices/tsrc/shared/mock_mpecallsettersif.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phoneengine/phoneservices/tsrc/shared/mock_mpecallsettersif.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -0,0 +1,76 @@ +/* +* 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 "mock_mpecallsettersif.h" + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CPECallSettersIFMock::SetKeyCode +// ----------------------------------------------------------------------------- +// +void CPECallSettersIFMock::SetKeyCode( + const TChar & aKeyCode ) + { + SMC_MOCK_METHOD1( void, const TUint &, static_cast(aKeyCode) ) + } + + +// ----------------------------------------------------------------------------- +// CPECallSettersIFMock::SetPhoneNumber +// ----------------------------------------------------------------------------- +// +void CPECallSettersIFMock::SetPhoneNumber( + const TPEPhoneNumber & aPhoneNumber ) + { + SMC_MOCK_METHOD1( void, const TPEPhoneNumber &, aPhoneNumber ) + } + + +// ----------------------------------------------------------------------------- +// CPECallSettersIFMock::SetCallTypeCommand +// ----------------------------------------------------------------------------- +// +void CPECallSettersIFMock::SetCallTypeCommand( + const TPECallType & aCallType ) + { + SMC_MOCK_METHOD1( void, const TPECallType &, aCallType ) + } + + +// ----------------------------------------------------------------------------- +// CPECallSettersIFMock::SetContactId2 +// ----------------------------------------------------------------------------- +// +void CPECallSettersIFMock::SetContactId2( + const TInt aContactId ) + { + SMC_MOCK_METHOD1( void, const TInt, aContactId ) + } + + +// ----------------------------------------------------------------------------- +// CPECallSettersIFMock::SetServiceIdCommand +// ----------------------------------------------------------------------------- +// +void CPECallSettersIFMock::SetServiceIdCommand( + TUint32 aServiceId ) + { + SMC_MOCK_METHOD1( void, TUint32, aServiceId ) + } + + diff -r 6b911d05207e -r bc5a64e5bc3c phoneengine/phoneservices/tsrc/shared/mock_mpecallsettersif.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phoneengine/phoneservices/tsrc/shared/mock_mpecallsettersif.h Tue Jul 06 14:15:47 2010 +0300 @@ -0,0 +1,74 @@ +/* +* Copyright (c) 2007-2008 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: This file contains the interface for setters needed needed for dialling a phone call. +* +*/ + +#ifndef CPECALLSETTERSIFMOCK_H +#define CPECALLSETTERSIFMOCK_H + +// INCLUDES +#include +#include "mpecallsettersif.h" + +// CLASS DECLARATION + +/** +* Call for setting needed parameters before making a phone call. +* +* @lib phoneengine.lib +* @since S60_10.1 +*/ +NONSHARABLE_CLASS( CPECallSettersIFMock ) : public CBase, public MPECallSettersIF +{ + public: //New functions + + /** + * Sets key code value to TPEBasicInfo-structure + * @param aKeyCode is the key code value. + * @return None. + */ + void SetKeyCode( const TChar& aKeyCode ); + + /** + * Sets phone number to TPECallCommandInfo-structure + * @param aPhoneNumber is the phone number + * @return None. + */ + void SetPhoneNumber( const TPEPhoneNumber& aPhoneNumber ); + + /** + * Sets call type information for following command message + * Used for specifying the call type of the next attempted call + * @param aCallType is the call type of the next attempted call + */ + void SetCallTypeCommand( const TPECallType& aCallType ); + + /** + * Sets call Phonebook contact identifier. + * @param aContactId is the contact identifier for a call + */ + void SetContactId2( const TInt aContactId ); + + /** + * Sets service identifier. + * @param aServiceId service id + */ + void SetServiceIdCommand( TUint32 aServiceId ); + + }; + +#endif // CPECALLSETTERSIFMOCK_H + +// End of File diff -r 6b911d05207e -r bc5a64e5bc3c phoneengine/phoneservices/tsrc/shared/mock_telurischemeparser.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phoneengine/phoneservices/tsrc/shared/mock_telurischemeparser.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -0,0 +1,70 @@ +/* +* 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 "telurischemeparser.h" + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// TelUriSchemeParser::TelUriSchemeParser +// ----------------------------------------------------------------------------- +// +TelUriSchemeParser::TelUriSchemeParser( + QObject * parent ) + : + UriSchemeParser(parent) + { + + } + + +// ----------------------------------------------------------------------------- +// TelUriSchemeParser::~TelUriSchemeParser +// ----------------------------------------------------------------------------- +// +TelUriSchemeParser::~TelUriSchemeParser( ) + { + + } + + +// ----------------------------------------------------------------------------- +// TelUriSchemeParser::isSupportedUriScheme +// ----------------------------------------------------------------------------- +// +bool TelUriSchemeParser::isSupportedUriScheme( + const QString & uri ) const + { + SMC_MOCK_METHOD1( bool, const QString &, uri ) + } + + +// ----------------------------------------------------------------------------- +// TelUriSchemeParser::parseUri +// ----------------------------------------------------------------------------- +// +bool TelUriSchemeParser::parseUri( + const QString & uri, + QString &phoneNumber, + QString &dtmfString ) const + { + SMC_MOCK_METHOD3( bool, + const QString &, uri, + QString &, phoneNumber, + QString &, dtmfString) + } diff -r 6b911d05207e -r bc5a64e5bc3c phoneengine/phoneservices/tsrc/shared/mock_urischemeparser.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phoneengine/phoneservices/tsrc/shared/mock_urischemeparser.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -0,0 +1,59 @@ +/* +* 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 "urischemeparser.h" + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// UriSchemeParser::UriSchemeParser +// ----------------------------------------------------------------------------- +// +UriSchemeParser::UriSchemeParser( + QObject * parent ) + : + QObject(parent) + { + + } + + +// ----------------------------------------------------------------------------- +// UriSchemeParser::~UriSchemeParser +// ----------------------------------------------------------------------------- +// +UriSchemeParser::~UriSchemeParser( ) + { + + } + + +// ----------------------------------------------------------------------------- +// UriSchemeParser::parsePhoneDialString +// ----------------------------------------------------------------------------- +// +bool UriSchemeParser::parsePhoneDialString( + const QString &dialString, + QString &phoneNumber, + QString &dtmfString) const +{ + SMC_MOCK_METHOD3( bool, + const QString &, dialString, + QString &, phoneNumber, + QString &, dtmfString) +} diff -r 6b911d05207e -r bc5a64e5bc3c phoneengine/phoneservices/tsrc/shared/mock_xqrequestinfo.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phoneengine/phoneservices/tsrc/shared/mock_xqrequestinfo.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -0,0 +1,199 @@ +/* +* 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 "xqrequestinfo.h" + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// XQRequestInfo::XQRequestInfo +// ----------------------------------------------------------------------------- +// +XQRequestInfo::XQRequestInfo( ) + { + + } + + +// ----------------------------------------------------------------------------- +// XQRequestInfo::~XQRequestInfo +// ----------------------------------------------------------------------------- +// +XQRequestInfo::~XQRequestInfo( ) + { + + } + + +// ----------------------------------------------------------------------------- +// XQRequestInfo::isValid +// ----------------------------------------------------------------------------- +// +bool XQRequestInfo::isValid( ) const + { + SMC_MOCK_METHOD0( bool ) + } + + +// ----------------------------------------------------------------------------- +// XQRequestInfo::setEmbedded +// ----------------------------------------------------------------------------- +// +void XQRequestInfo::setEmbedded( + bool on ) + { + SMC_MOCK_METHOD1( void, bool, on ) + } + + +// ----------------------------------------------------------------------------- +// XQRequestInfo::isEmbedded +// ----------------------------------------------------------------------------- +// +bool XQRequestInfo::isEmbedded( ) const + { + SMC_MOCK_METHOD0( bool ) + } + + +// ----------------------------------------------------------------------------- +// XQRequestInfo::setBackground +// ----------------------------------------------------------------------------- +// +void XQRequestInfo::setBackground( + bool on ) + { + SMC_MOCK_METHOD1( void, bool, on ) + } + + +// ----------------------------------------------------------------------------- +// XQRequestInfo::isBackground +// ----------------------------------------------------------------------------- +// +bool XQRequestInfo::isBackground( ) const + { + SMC_MOCK_METHOD0( bool ) + } + + +// ----------------------------------------------------------------------------- +// XQRequestInfo::isSynchronous +// ----------------------------------------------------------------------------- +// +bool XQRequestInfo::isSynchronous( ) const + { + SMC_MOCK_METHOD0( bool ) + } + + +// ----------------------------------------------------------------------------- +// XQRequestInfo::setForeground +// ----------------------------------------------------------------------------- +// +void XQRequestInfo::setForeground( + bool on ) + { + SMC_MOCK_METHOD1( void, bool, on ) + } + + +// ----------------------------------------------------------------------------- +// XQRequestInfo::isForeground +// ----------------------------------------------------------------------------- +// +bool XQRequestInfo::isForeground( ) const + { + SMC_MOCK_METHOD0( bool ) + } + + +// ----------------------------------------------------------------------------- +// XQRequestInfo::clientSecureId +// ----------------------------------------------------------------------------- +// +quint32 XQRequestInfo::clientSecureId( ) const + { + SMC_MOCK_METHOD0( quint32 ) + } + + +// ----------------------------------------------------------------------------- +// XQRequestInfo::clientVendorId +// ----------------------------------------------------------------------------- +// +quint32 XQRequestInfo::clientVendorId( ) const + { + SMC_MOCK_METHOD0( quint32 ) + } + + +// ----------------------------------------------------------------------------- +// XQRequestInfo::clientCapabilities +// ----------------------------------------------------------------------------- +// +QSet XQRequestInfo::clientCapabilities( ) const + { + SMC_MOCK_METHOD0( QSet ) + } + + +// ----------------------------------------------------------------------------- +// XQRequestInfo::id +// ----------------------------------------------------------------------------- +// +int XQRequestInfo::id( ) const + { + SMC_MOCK_METHOD0( int ) + } + + +// ----------------------------------------------------------------------------- +// XQRequestInfo::setInfo +// ----------------------------------------------------------------------------- +// +void XQRequestInfo::setInfo( + const QString & key, + const QVariant & value ) + { + SMC_MOCK_METHOD2( void, const QString &, key, + const QVariant &, value ) + } + + +// ----------------------------------------------------------------------------- +// XQRequestInfo::info +// ----------------------------------------------------------------------------- +// +QVariant XQRequestInfo::info( + const QString & key ) const + { + SMC_MOCK_METHOD1( QVariant, const QString &, key ) + } + + +// ----------------------------------------------------------------------------- +// XQRequestInfo::infoKeys +// ----------------------------------------------------------------------------- +// +QStringList XQRequestInfo::infoKeys( ) const + { + SMC_MOCK_METHOD0( QStringList ) + } diff -r 6b911d05207e -r bc5a64e5bc3c phoneengine/phoneservices/tsrc/shared/mock_xqserviceprovider.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phoneengine/phoneservices/tsrc/shared/mock_xqserviceprovider.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -0,0 +1,101 @@ +/* +* 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 + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// XQServiceProvider::XQServiceProvider +// ----------------------------------------------------------------------------- +// +XQServiceProvider::XQServiceProvider( + const QString & service, + QObject * parent ) + : + QObject(parent) + { + Q_UNUSED(service) + } + + +// ----------------------------------------------------------------------------- +// XQServiceProvider::~XQServiceProvider +// ----------------------------------------------------------------------------- +// +XQServiceProvider::~XQServiceProvider( ) + { + + } + + +// ----------------------------------------------------------------------------- +// XQServiceProvider::SetPlugin +// ----------------------------------------------------------------------------- +// +void XQServiceProvider::SetPlugin( + QObject * impl_plugin ) + { + SMC_MOCK_METHOD1( void, QObject *, impl_plugin ) + } + + +// ----------------------------------------------------------------------------- +// XQServiceProvider::publishAll +// ----------------------------------------------------------------------------- +// +void XQServiceProvider::publishAll( ) + { + SMC_MOCK_METHOD0( void ) + } + + +// ----------------------------------------------------------------------------- +// XQServiceProvider::setCurrentRequestAsync +// ----------------------------------------------------------------------------- +// +int XQServiceProvider::setCurrentRequestAsync( ) + { + SMC_MOCK_METHOD0( int ) + } + + +// ----------------------------------------------------------------------------- +// XQServiceProvider::completeRequest +// ----------------------------------------------------------------------------- +// +bool XQServiceProvider::completeRequest( + int index, + const QVariant & retValue ) + { + SMC_MOCK_METHOD2( bool, int, index, + const QVariant &, retValue ) + } + + +// ----------------------------------------------------------------------------- +// XQServiceProvider::requestInfo +// ----------------------------------------------------------------------------- +// +XQRequestInfo XQServiceProvider::requestInfo( ) const + { + SMC_MOCK_METHOD0( XQRequestInfo ) + } + + diff -r 6b911d05207e -r bc5a64e5bc3c phoneengine/phoneservices/tsrc/unit.pro --- a/phoneengine/phoneservices/tsrc/unit.pro Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneengine/phoneservices/tsrc/unit.pro Tue Jul 06 14:15:47 2010 +0300 @@ -19,3 +19,6 @@ SUBDIRS += ut_phoneservices SUBDIRS += ut_dialservice SUBDIRS += ut_dtmfservice +SUBDIRS += ut_ctiurischemeparser +SUBDIRS += ut_telurischemeparser +SUBDIRS += ut_urischemehandlerservice diff -r 6b911d05207e -r bc5a64e5bc3c phoneengine/phoneservices/tsrc/ut_ctiurischemeparser/unit_tests.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phoneengine/phoneservices/tsrc/ut_ctiurischemeparser/unit_tests.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -0,0 +1,361 @@ +/*! +* 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: Unit tests for CTI URI Parser. +* +*/ + +#include +#include +#include "ctiurischemeparser.h" + +const QString KCtiUriSchemePrefix = "cti:"; + +class UT_CtiUriSchemeParser : public QObject, public MockService +{ + Q_OBJECT + +public: + UT_CtiUriSchemeParser(); + virtual ~UT_CtiUriSchemeParser(); + +private slots: + void init(); + void cleanup(); + + void t_isSupportedUriScheme(); + void t_ctiUriWithLocalNumber(); + void t_ctiUriWithGlobalNumber(); + void t_ctiUriWithGlobalNumberAndVisualSeparators(); + void t_ctiUriWithGlobalNumberAndToneInput(); + void t_invalidUriWrongSchema(); + void t_invalidUriTooLongPhoneNumber(); + void t_invalidUriMultipleWaitInSuccession(); + void t_invalidUriInvalidCharacters(); + void t_invalidUriToneInputOnly(); + void t_invalidUriOnlyVisualSeparators(); + void t_invalidUriOnlyPausesAndWaits(); + void t_invalidUriToneInputCharactersInNumber(); + +private: + CtiUriSchemeParser *m_uriParser; +}; + + +UT_CtiUriSchemeParser::UT_CtiUriSchemeParser() + : + m_uriParser(NULL) +{ +} + + +UT_CtiUriSchemeParser::~UT_CtiUriSchemeParser() +{ + delete m_uriParser; +} + + +void UT_CtiUriSchemeParser::init() +{ + initialize(); + + m_uriParser = new CtiUriSchemeParser(); +} + + +void UT_CtiUriSchemeParser::cleanup() +{ + reset(); + + delete m_uriParser; + m_uriParser = NULL; +} + + +void UT_CtiUriSchemeParser::t_isSupportedUriScheme() +{ + // valid scheme + QString uriWithValidScheme( + QString("cti:") + + QString("1234567890")); + bool result = m_uriParser->isSupportedUriScheme(uriWithValidScheme); + + QCOMPARE(result, true); + + // invalid scheme + QString uriWithWrongScheme( + QString("tel:") + + QString("1234567890")); + result = m_uriParser->isSupportedUriScheme(uriWithWrongScheme); + + QCOMPARE(result, false); + QVERIFY(verify()); +} + + +void UT_CtiUriSchemeParser::t_ctiUriWithLocalNumber() +{ + QString KExpectedPhoneNumber = "0401234567890"; + QString KExpectedDtmfString = ""; + QString ctiUriWithLocalNumber(KCtiUriSchemePrefix + KExpectedPhoneNumber); + + QString phoneNumber = ""; + QString dtmfString = ""; + bool result = m_uriParser->parseUri( + ctiUriWithLocalNumber, phoneNumber, dtmfString); + + QCOMPARE(result, true); + QCOMPARE(phoneNumber, KExpectedPhoneNumber); + QCOMPARE(dtmfString, KExpectedDtmfString); + QVERIFY(verify()); +} + + +void UT_CtiUriSchemeParser::t_ctiUriWithGlobalNumber() +{ + QString KExpectedPhoneNumber = "+358401234567890"; + QString KExpectedDtmfString = ""; + QString ctiUriWithGlobalNumber(KCtiUriSchemePrefix + KExpectedPhoneNumber); + + QString phoneNumber = ""; + QString dtmfString = ""; + bool result = m_uriParser->parseUri( + ctiUriWithGlobalNumber, phoneNumber, dtmfString); + + QCOMPARE(result, true); + QCOMPARE(phoneNumber, KExpectedPhoneNumber); + QCOMPARE(dtmfString, KExpectedDtmfString); + QVERIFY(verify()); +} + + +void UT_CtiUriSchemeParser::t_ctiUriWithGlobalNumberAndVisualSeparators() +{ + QString KExpectedPhoneNumber = "+358401234567890"; + QString KExpectedDtmfString = ""; + QString ctiUriWithVisualSeparators("cti:+358-(40)12345.6789 0"); + + QString phoneNumber = ""; + QString dtmfString = ""; + bool result = m_uriParser->parseUri( + ctiUriWithVisualSeparators, phoneNumber, dtmfString); + + QCOMPARE(result, true); + QCOMPARE(phoneNumber, KExpectedPhoneNumber); + QCOMPARE(dtmfString, KExpectedDtmfString); + QVERIFY(verify()); +} + + +void UT_CtiUriSchemeParser::t_ctiUriWithGlobalNumberAndToneInput() +{ + QString KExpectedPhoneNumber = "+358401234567890"; + QString KExpectedDtmfString = "w0123456789pp*#"; + QString ctiUriWithNumberAndToneInput("cti:+358401234567890/0123456789,,*#"); + + QString phoneNumber = ""; + QString dtmfString = ""; + bool result = m_uriParser->parseUri( + ctiUriWithNumberAndToneInput, phoneNumber, dtmfString); + + QCOMPARE(result, true); + QCOMPARE(phoneNumber, KExpectedPhoneNumber); + QCOMPARE(dtmfString, KExpectedDtmfString); + QVERIFY(verify()); +} + + +void UT_CtiUriSchemeParser::t_invalidUriWrongSchema() +{ + QString KExpectedPhoneNumber = ""; + QString KExpectedDtmfString = ""; + QString uriWithWrongSchema( + QString("tel:") + + QString("1234567890")); + + QString phoneNumber = ""; + QString dtmfString = ""; + bool result = m_uriParser->parseUri( + uriWithWrongSchema, phoneNumber, dtmfString); + + QCOMPARE(result, false); + QCOMPARE(phoneNumber, KExpectedPhoneNumber); + QCOMPARE(dtmfString, KExpectedDtmfString); + QVERIFY(verify()); +} + + +void UT_CtiUriSchemeParser::t_invalidUriTooLongPhoneNumber() +{ + QString KExpectedPhoneNumber = ""; + QString KExpectedDtmfString = ""; + QString uriWithTooLongPhoneNumber( + QString("cti:") + + QString("12345678901234567890123456789012345678901234567890") + + QString("12345678901234567890123456789012345678901234567890") + + QString("1")); + + QString phoneNumber = ""; + QString dtmfString = ""; + bool result = m_uriParser->parseUri( + uriWithTooLongPhoneNumber, phoneNumber, dtmfString); + + QCOMPARE(result, false); + QCOMPARE(phoneNumber, KExpectedPhoneNumber); + QCOMPARE(dtmfString, KExpectedDtmfString); + QVERIFY(verify()); +} + + +void UT_CtiUriSchemeParser::t_invalidUriMultipleWaitInSuccession() +{ + QString KExpectedPhoneNumber = ""; + QString KExpectedDtmfString = ""; + QString uriWithMultipleWaitInSuccession( + QString("cti:") + + QString("1234567890//123//")); + + QString phoneNumber = ""; + QString dtmfString = ""; + bool result = m_uriParser->parseUri( + uriWithMultipleWaitInSuccession, phoneNumber, dtmfString); + + QCOMPARE(result, false); + QCOMPARE(phoneNumber, KExpectedPhoneNumber); + QCOMPARE(dtmfString, KExpectedDtmfString); + QVERIFY(verify()); +} + + +void UT_CtiUriSchemeParser::t_invalidUriInvalidCharacters() +{ + QString KExpectedPhoneNumber = ""; + QString KExpectedDtmfString = ""; + QString uriWithInvalidCharacters( + QString("cti:") + + QString("abcdefghijklmnopqrstuvxyz")); + + QString phoneNumber = ""; + QString dtmfString = ""; + bool result = m_uriParser->parseUri( + uriWithInvalidCharacters, phoneNumber, dtmfString); + + QCOMPARE(result, false); + QCOMPARE(phoneNumber, KExpectedPhoneNumber); + QCOMPARE(dtmfString, KExpectedDtmfString); + QVERIFY(verify()); + + QString invalidUri( + QString("cti:") + + QString("a")); + result = m_uriParser->parseUri( + invalidUri, phoneNumber, dtmfString); + + QCOMPARE(result, false); + QCOMPARE(phoneNumber, KExpectedPhoneNumber); + QCOMPARE(dtmfString, KExpectedDtmfString); + QVERIFY(verify()); +} + + +void UT_CtiUriSchemeParser::t_invalidUriToneInputOnly() +{ + QString KExpectedPhoneNumber = ""; + QString KExpectedDtmfString = ""; + QString uriWithToneInputOnly( + QString("cti:") + + QString("/123,321")); + + QString phoneNumber = ""; + QString dtmfString = ""; + bool result = m_uriParser->parseUri( + uriWithToneInputOnly, phoneNumber, dtmfString); + + QCOMPARE(result, false); + QCOMPARE(phoneNumber, KExpectedPhoneNumber); + QCOMPARE(dtmfString, KExpectedDtmfString); + QVERIFY(verify()); +} + + +void UT_CtiUriSchemeParser::t_invalidUriOnlyVisualSeparators() +{ + QString KExpectedPhoneNumber = ""; + QString KExpectedDtmfString = ""; + QString uriWithToneInputOnly( + QString("cti:") + + QString(" -.()")); + + QString phoneNumber = ""; + QString dtmfString = ""; + bool result = m_uriParser->parseUri( + uriWithToneInputOnly, phoneNumber, dtmfString); + + QCOMPARE(result, false); + QCOMPARE(phoneNumber, KExpectedPhoneNumber); + QCOMPARE(dtmfString, KExpectedDtmfString); + QVERIFY(verify()); +} + + +void UT_CtiUriSchemeParser::t_invalidUriOnlyPausesAndWaits() +{ + QString KExpectedPhoneNumber = ""; + QString KExpectedDtmfString = ""; + QString uriWithPausesAndWaitsOnly( + QString("cti:") + + QString(",,//")); + + QString phoneNumber = ""; + QString dtmfString = ""; + bool result = m_uriParser->parseUri( + uriWithPausesAndWaitsOnly, phoneNumber, dtmfString); + + QCOMPARE(result, false); + QCOMPARE(phoneNumber, KExpectedPhoneNumber); + QCOMPARE(dtmfString, KExpectedDtmfString); + QVERIFY(verify()); +} + + +void UT_CtiUriSchemeParser::t_invalidUriToneInputCharactersInNumber() +{ + QString KExpectedPhoneNumber = ""; + QString KExpectedDtmfString = ""; + QString uriWithToneInputCharactersInNumber1( + QString("cti:") + + QString("1234567890*#")); + + QString phoneNumber = ""; + QString dtmfString = ""; + bool result = m_uriParser->parseUri( + uriWithToneInputCharactersInNumber1, phoneNumber, dtmfString); + + QCOMPARE(result, false); + QCOMPARE(phoneNumber, KExpectedPhoneNumber); + QCOMPARE(dtmfString, KExpectedDtmfString); + + QString uriWithToneInputCharactersInNumber2( + QString("cti:") + + QString("*#1234567890")); + result = m_uriParser->parseUri( + uriWithToneInputCharactersInNumber2, phoneNumber, dtmfString); + QCOMPARE(result, false); + QCOMPARE(phoneNumber, KExpectedPhoneNumber); + QCOMPARE(dtmfString, KExpectedDtmfString); + + QVERIFY(verify()); +} + +QTEST_MAIN(UT_CtiUriSchemeParser) +#include "unit_tests.moc" diff -r 6b911d05207e -r bc5a64e5bc3c phoneengine/phoneservices/tsrc/ut_ctiurischemeparser/ut_ctiurischemeparser.pro --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phoneengine/phoneservices/tsrc/ut_ctiurischemeparser/ut_ctiurischemeparser.pro Tue Jul 06 14:15:47 2010 +0300 @@ -0,0 +1,46 @@ +# +# 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 = +TARGET.UID3 = 0xE31F4ECF +DEPENDPATH += . +INCLUDEPATH += . ../shared +CONFIG += qtestlib +DEFINES += QT_NO_DEBUG_STREAM + +QT -= gui + +symbian { + TARGET.CAPABILITY = ALL -TCB + + INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE + INCLUDEPATH += ../../../../inc + + # TEST CODE + HEADERS += ../../inc/urischemeparser.h \ + ../../inc/ctiurischemeparser.h + SOURCES += ../../src/urischemeparser.cpp \ + ../../src/ctiurischemeparser.cpp + SOURCES += unit_tests.cpp + + #MOCKED DEPENDENCIES + SOURCES += ../shared/mock_mpecallsettersif.cpp + SOURCES += ../shared/mock_mpecallcontrolif.cpp + + LIBS += -lmocklib -lsymbianmock +} diff -r 6b911d05207e -r bc5a64e5bc3c phoneengine/phoneservices/tsrc/ut_dialservice/ut_dialservice.pro --- a/phoneengine/phoneservices/tsrc/ut_dialservice/ut_dialservice.pro Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneengine/phoneservices/tsrc/ut_dialservice/ut_dialservice.pro Tue Jul 06 14:15:47 2010 +0300 @@ -35,7 +35,9 @@ LIBS += -lxqservice \ -lxqserviceutil \ - -lphoneuicontrol + -lphoneuicontrol \ + -lfeatmgr \ + -lxqsettingsmanager TARGET.CAPABILITY = ALL -TCB } diff -r 6b911d05207e -r bc5a64e5bc3c phoneengine/phoneservices/tsrc/ut_phoneservices/unit_tests.cpp --- a/phoneengine/phoneservices/tsrc/ut_phoneservices/unit_tests.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneengine/phoneservices/tsrc/ut_phoneservices/unit_tests.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -16,18 +16,22 @@ */ #include - -//#include #include "phoneservices.h" #include "dialservice.h" #include "dtmfservice.h" +#include "urischemehandlerservice.h" -bool m_dialServiceConstructed; -bool m_dtmfServiceConstructed; -MPECallControlIF* m_dialServiceCallPointer; -MPECallSettersIF* m_dialServiceParameterPointer; -MPECallControlIF* m_dtmfServiceCallPointer; -MPECallSettersIF* m_dtmfServiceParameterPointer; +bool g_dialServiceConstructed; +MPECallControlIF* g_dialServiceCallPointer; +MPECallSettersIF* g_dialServiceParameterPointer; + +bool g_dtmfServiceConstructed; +MPECallControlIF* g_dtmfServiceCallPointer; +MPECallSettersIF* g_dtmfServiceParameterPointer; + +bool g_uriSchemeHandlerServiceConstructed; +MPECallControlIF* g_uriSchemeServiceCallPointer; +MPECallSettersIF* g_uriSchemeServiceParameterPointer; class TestPhoneServices : @@ -78,9 +82,9 @@ DialService::DialService(MPECallControlIF &call, MPECallSettersIF ¶meters, QObject* parent) : XQServiceProvider(QLatin1String("com.nokia.symbian.ICallDial"), parent), m_call (call), m_parameters (parameters) { - m_dialServiceConstructed = true; - m_dialServiceCallPointer = &call; - m_dialServiceParameterPointer = ¶meters; + g_dialServiceConstructed = true; + g_dialServiceCallPointer = &call; + g_dialServiceParameterPointer = ¶meters; } DialService::~DialService() @@ -89,59 +93,59 @@ int DialService::dial(const QString& number) { - Q_UNUSED(number); + Q_UNUSED(number) return 0; } int DialService::dial(const QString& number, int contactId) { - Q_UNUSED(number); - Q_UNUSED (contactId); + Q_UNUSED(number) + Q_UNUSED (contactId) return 0; } void DialService::dialVideo(const QString& number) { - Q_UNUSED(number); + Q_UNUSED(number) } void DialService::dialVideo(const QString& number, int contactId) { - Q_UNUSED(number); - Q_UNUSED(contactId); + Q_UNUSED(number) + Q_UNUSED(contactId) } void DialService::dialVoip(const QString& address) { -Q_UNUSED(address); + Q_UNUSED(address) } void DialService::dialVoip(const QString& address, int contactId) { -Q_UNUSED(address); -Q_UNUSED(contactId); + Q_UNUSED(address) + Q_UNUSED(contactId) } void DialService::dialVoipService(const QString& address, int serviceId) { -Q_UNUSED(address); -Q_UNUSED(serviceId); + Q_UNUSED(address) + Q_UNUSED(serviceId) } void DialService::dialVoipService( const QString& address, int serviceId, int contactId) { -Q_UNUSED(address); -Q_UNUSED(serviceId); -Q_UNUSED(contactId); + Q_UNUSED(address) + Q_UNUSED(serviceId) + Q_UNUSED(contactId) } DTMFService::DTMFService(MPECallControlIF &call, MPECallSettersIF ¶meters, QObject* parent) : XQServiceProvider(QLatin1String("com.nokia.symbian.IDtmfPlay"), parent), m_call (call), m_parameters (parameters) { - m_dtmfServiceConstructed = true; - m_dtmfServiceCallPointer = &call; - m_dtmfServiceParameterPointer = ¶meters; + g_dtmfServiceConstructed = true; + g_dtmfServiceCallPointer = &call; + g_dtmfServiceParameterPointer = ¶meters; } DTMFService::~DTMFService() @@ -150,13 +154,37 @@ void DTMFService::playDTMFTone(const QChar& keyToPlay) { - Q_UNUSED(keyToPlay); + Q_UNUSED(keyToPlay) } void DTMFService::stopDTMFPlay() { } +UriSchemeHandlerService::UriSchemeHandlerService( + MPECallControlIF &call, MPECallSettersIF ¶meters, QObject* parent) + : + XQServiceProvider( + QLatin1String("phoneui.com.nokia.symbian.IUriView"), parent), + m_callControlIf(call), + m_callParameters(parameters) +{ + g_uriSchemeHandlerServiceConstructed = true; + g_uriSchemeServiceCallPointer = &call; + g_uriSchemeServiceParameterPointer = ¶meters; +} + +UriSchemeHandlerService::~UriSchemeHandlerService() +{ + +} + +bool UriSchemeHandlerService::view(const QString &uri) +{ + Q_UNUSED(uri) + return true; +} + TestPhoneServices::TestPhoneServices () { } @@ -185,18 +213,26 @@ m_handlePlayDTMFLCalled = false; m_setKeyCodeCalled = false; keyValue = -1; - m_dialServiceConstructed = false; - m_dtmfServiceConstructed = false; + g_dialServiceConstructed = false; + g_dtmfServiceConstructed = false; + + g_uriSchemeHandlerServiceConstructed = false; + g_uriSchemeServiceCallPointer = NULL; + g_uriSchemeServiceParameterPointer = NULL; m_phoneServices = new PhoneServices(*this, *this, this); - QVERIFY(m_dialServiceConstructed == true); - QVERIFY(m_dialServiceCallPointer == this); - QVERIFY(m_dialServiceParameterPointer == this); + QVERIFY(g_dialServiceConstructed == true); + QVERIFY(g_dialServiceCallPointer == this); + QVERIFY(g_dialServiceParameterPointer == this); - QVERIFY(m_dtmfServiceConstructed == true); - QVERIFY(m_dtmfServiceCallPointer == this); - QVERIFY(m_dtmfServiceParameterPointer == this); + QVERIFY(g_dtmfServiceConstructed == true); + QVERIFY(g_dtmfServiceCallPointer == this); + QVERIFY(g_dtmfServiceParameterPointer == this); + + QVERIFY(g_uriSchemeHandlerServiceConstructed == true); + QVERIFY(g_uriSchemeServiceCallPointer == this); + QVERIFY(g_uriSchemeServiceParameterPointer == this); } void TestPhoneServices::cleanup () diff -r 6b911d05207e -r bc5a64e5bc3c phoneengine/phoneservices/tsrc/ut_phoneservices/ut_phoneservices.pro --- a/phoneengine/phoneservices/tsrc/ut_phoneservices/ut_phoneservices.pro Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneengine/phoneservices/tsrc/ut_phoneservices/ut_phoneservices.pro Tue Jul 06 14:15:47 2010 +0300 @@ -47,6 +47,7 @@ HEADERS += ../../inc/dtmfservice.h HEADERS += ../../inc/dialservicedepricated.h HEADERS += ../../inc/dtmfservicedepricated.h +HEADERS += ../../inc/urischemehandlerservice.h SOURCES += ../../src/phoneservices.cpp SOURCES += ../../src/dialservicedepricated.cpp SOURCES += ../../src/dtmfservicedepricated.cpp diff -r 6b911d05207e -r bc5a64e5bc3c phoneengine/phoneservices/tsrc/ut_telurischemeparser/unit_tests.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phoneengine/phoneservices/tsrc/ut_telurischemeparser/unit_tests.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -0,0 +1,350 @@ +/*! +* 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: Unit tests for TEL URI Parser. +* +*/ + +#include +#include +#include "telurischemeparser.h" +#include "mock_mpecallcontrolif.h" +#include "mock_mpecallsettersif.h" + +class UT_TelUriSchemeParser : public QObject, public MockService +{ + Q_OBJECT + +public: + UT_TelUriSchemeParser(); + virtual ~UT_TelUriSchemeParser(); + +private slots: + void init(); + void cleanup(); + + void t_isSupportedUriScheme(); + void t_globalNumber(); + void t_localNumber(); + void t_withPauseAndMustChangeSharpDigit(); + void t_localWithAreaSpecifierAndPauseWithSharpDigit(); + void t_visualSeparatorAndMultiplePausesWithStar(); + void t_withAreaSpecifierWithWaitPauseAndStar(); + void t_withIsdnSubAndAndWaitAndPause(); + void t_wrongTelNum(); + void t_wrongPostDial(); + void t_justPauses(); + void t_justWaits(); + void t_justPausesAndWaits(); + void t_uriWrongSchema(); + void t_uriTooLongPhoneNumber(); + +private: + TelUriSchemeParser *m_uriParser; +}; + +UT_TelUriSchemeParser::UT_TelUriSchemeParser() + : + m_uriParser(NULL) +{ +} + +UT_TelUriSchemeParser::~UT_TelUriSchemeParser() +{ + delete m_uriParser; +} + +void UT_TelUriSchemeParser::init() +{ + initialize(); + + m_uriParser = new TelUriSchemeParser(); +} + +void UT_TelUriSchemeParser::cleanup() +{ + reset(); + + delete m_uriParser; + m_uriParser = NULL; +} + +void UT_TelUriSchemeParser::t_isSupportedUriScheme() +{ + // valid scheme + QString uriWithValidScheme( + QString("tel:") + + QString("1234567890")); + bool isValid = m_uriParser->isSupportedUriScheme(uriWithValidScheme); + + QCOMPARE(isValid, true); + + // invalid scheme + QString uriWithWrongScheme( + QString("cti:") + + QString("1234567890")); + isValid = m_uriParser->isSupportedUriScheme(uriWithWrongScheme); + + QCOMPARE(isValid, false); + QVERIFY(verify()); +} + +void UT_TelUriSchemeParser::t_globalNumber() +{ + QString KExpectedPhoneNumber = "+3585551234567"; + QString KExpectedDtmfString = ""; + QString telUriWithNumber("tel:+3585551234567"); + + QString phoneNumber = ""; + QString dtmfString = ""; + bool handled = m_uriParser->parseUri( + telUriWithNumber, phoneNumber, dtmfString); + + QCOMPARE(handled, true); + QCOMPARE(phoneNumber, KExpectedPhoneNumber); + QCOMPARE(dtmfString, KExpectedDtmfString); + QVERIFY(verify()); +} + +void UT_TelUriSchemeParser::t_localNumber() +{ + QString KExpectedPhoneNumber = "04051234567"; + QString KExpectedDtmfString = ""; + QString telUriWithNumber("tel:04051234567"); + + QString phoneNumber = ""; + QString dtmfString = ""; + bool handled = m_uriParser->parseUri( + telUriWithNumber, phoneNumber, dtmfString); + + QCOMPARE(handled, true); + QCOMPARE(phoneNumber, KExpectedPhoneNumber); + QCOMPARE(dtmfString, KExpectedDtmfString); + QVERIFY(verify()); +} + +void UT_TelUriSchemeParser::t_withPauseAndMustChangeSharpDigit() +{ + QString KExpectedPhoneNumber = "+3585551234567"; + QString KExpectedDtmfString = "p#3233"; + QString telUri("tel:+3585551234567;postd=p%233233"); + + QString phoneNumber = ""; + QString dtmfString = ""; + bool handled = m_uriParser->parseUri( + telUri, phoneNumber, dtmfString); + + QCOMPARE(handled, true); + QCOMPARE(phoneNumber, KExpectedPhoneNumber); + QCOMPARE(dtmfString, KExpectedDtmfString); + QVERIFY(verify()); +} + +void UT_TelUriSchemeParser::t_localWithAreaSpecifierAndPauseWithSharpDigit() +{ + QString KExpectedPhoneNumber = "1234"; + QString KExpectedDtmfString = "p#3233"; + QString telUriWithNumber("tel:1234;phone-context=+358555;postd=p#3233"); + + QString phoneNumber = ""; + QString dtmfString = ""; + bool handled = m_uriParser->parseUri( + telUriWithNumber, phoneNumber, dtmfString); + + QCOMPARE(handled, true); + QCOMPARE(phoneNumber, KExpectedPhoneNumber); + QCOMPARE(dtmfString, KExpectedDtmfString); + QVERIFY(verify()); +} + +void UT_TelUriSchemeParser::t_visualSeparatorAndMultiplePausesWithStar() +{ + QString KExpectedPhoneNumber = "+3585551234567"; + QString KExpectedDtmfString = "pp*3233"; + QString telUriWithNumber("tel:+358-555-1234567;postd=pp*3233"); + + QString phoneNumber = ""; + QString dtmfString = ""; + bool handled = m_uriParser->parseUri( + telUriWithNumber, phoneNumber, dtmfString); + + QCOMPARE(handled, true); + QCOMPARE(phoneNumber, KExpectedPhoneNumber); + QCOMPARE(dtmfString, KExpectedDtmfString); + QVERIFY(verify()); +} + +void UT_TelUriSchemeParser::t_withAreaSpecifierWithWaitPauseAndStar() +{ + QString KExpectedPhoneNumber = "+1234567890"; + QString KExpectedDtmfString = "pw22p*3"; + QString telUriWithNumber("tel:+1234567890;phone-context=+1234;" + "vnd.company.option=foo;postd=w22p*3"); + + QString phoneNumber = ""; + QString dtmfString = ""; + bool handled = m_uriParser->parseUri( + telUriWithNumber, phoneNumber, dtmfString); + + QCOMPARE(handled, true); + QCOMPARE(phoneNumber, KExpectedPhoneNumber); + QCOMPARE(dtmfString, KExpectedDtmfString); + QVERIFY(verify()); +} + +void UT_TelUriSchemeParser::t_withIsdnSubAndAndWaitAndPause() +{ + QString KExpectedPhoneNumber = "+3585551234567"; + QString KExpectedDtmfString = "pwp2233"; + QString telUriWithNumber("tel:+358-555-1234567;isub=5555;postd=wp2233"); + + QString phoneNumber = ""; + QString dtmfString = ""; + bool handled = m_uriParser->parseUri( + telUriWithNumber, phoneNumber, dtmfString); + + QCOMPARE(handled, true); + QCOMPARE(phoneNumber, KExpectedPhoneNumber); + QCOMPARE(dtmfString, KExpectedDtmfString); + QVERIFY(verify()); +} + +void UT_TelUriSchemeParser::t_wrongTelNum() +{ + QString KExpectedPhoneNumber = ""; + QString KExpectedDtmfString = ""; + QString telUriWithNumber("tel:0w003585551234567;phone-context=+3585551234"); + + QString phoneNumber = ""; + QString dtmfString = ""; + bool handled = m_uriParser->parseUri( + telUriWithNumber, phoneNumber, dtmfString); + + QCOMPARE(handled, false); + QCOMPARE(phoneNumber, KExpectedPhoneNumber); + QCOMPARE(dtmfString, KExpectedDtmfString); + QVERIFY(verify()); +} + +void UT_TelUriSchemeParser::t_wrongPostDial() +{ + QString KExpectedPhoneNumber = "+3585551234567"; + QString KExpectedDtmfString = ""; + QString telUriWithNumber("tel:+3585551234567;postd=*A123"); + + QString phoneNumber = ""; + QString dtmfString = ""; + bool handled = m_uriParser->parseUri( + telUriWithNumber, phoneNumber, dtmfString); + + QCOMPARE(handled, true); + QCOMPARE(phoneNumber, KExpectedPhoneNumber); + QCOMPARE(dtmfString, KExpectedDtmfString); + QVERIFY(verify()); +} + +void UT_TelUriSchemeParser::t_justPauses() +{ + QString KExpectedPhoneNumber = "+3585551234567"; + QString KExpectedDtmfString = ""; + QString telUriWithNumber("tel:+3585551234567;postd=pppp"); + + QString phoneNumber = ""; + QString dtmfString = ""; + bool handled = m_uriParser->parseUri( + telUriWithNumber, phoneNumber, dtmfString); + + QCOMPARE(handled, true); + QCOMPARE(phoneNumber, KExpectedPhoneNumber); + QCOMPARE(dtmfString, KExpectedDtmfString); + QVERIFY(verify()); +} + +void UT_TelUriSchemeParser::t_justWaits() +{ + QString KExpectedPhoneNumber = "+3585551234567"; + QString KExpectedDtmfString = ""; + QString telUriWithNumber("tel:+3585551234567;postd=wwww"); + + QString phoneNumber = ""; + QString dtmfString = ""; + bool handled = m_uriParser->parseUri( + telUriWithNumber, phoneNumber, dtmfString); + + QCOMPARE(handled, true); + QCOMPARE(phoneNumber, KExpectedPhoneNumber); + QCOMPARE(dtmfString, KExpectedDtmfString); + QVERIFY(verify()); +} + +void UT_TelUriSchemeParser::t_justPausesAndWaits() +{ + QString KExpectedPhoneNumber = "+3585551234567"; + QString KExpectedDtmfString = ""; + QString telUriWithNumber("tel:+3585551234567;postd=wpwp"); + + QString phoneNumber = ""; + QString dtmfString = ""; + bool handled = m_uriParser->parseUri( + telUriWithNumber, phoneNumber, dtmfString); + + QCOMPARE(handled, true); + QCOMPARE(phoneNumber, KExpectedPhoneNumber); + QCOMPARE(dtmfString, KExpectedDtmfString); + QVERIFY(verify()); +} + +void UT_TelUriSchemeParser::t_uriWrongSchema() +{ + QString KExpectedPhoneNumber = ""; + QString KExpectedDtmfString = ""; + + QString uriWithWrongSchema( + QString("cti:") + + QString("1234567890")); + + QString phoneNumber = ""; + QString dtmfString = ""; + bool handled = m_uriParser->parseUri( + uriWithWrongSchema, phoneNumber, dtmfString); + + QCOMPARE(handled, false); + QCOMPARE(phoneNumber, KExpectedPhoneNumber); + QCOMPARE(dtmfString, KExpectedDtmfString); + QVERIFY(verify()); +} + +void UT_TelUriSchemeParser::t_uriTooLongPhoneNumber() +{ + QString KExpectedPhoneNumber = ""; + QString KExpectedDtmfString = ""; + + QString uriWithTooLongPhoneNumber( + QString("tel:") + + QString("12345678901234567890123456789012345678901234567890") + + QString("12345678901234567890123456789012345678901234567890") + + QString("1")); + + QString phoneNumber = ""; + QString dtmfString = ""; + bool handled = m_uriParser->parseUri( + uriWithTooLongPhoneNumber, phoneNumber, dtmfString); + + QCOMPARE(handled, false); + QCOMPARE(phoneNumber, KExpectedPhoneNumber); + QCOMPARE(dtmfString, KExpectedDtmfString); + QVERIFY(verify()); +} + +QTEST_MAIN(UT_TelUriSchemeParser) +#include "unit_tests.moc" diff -r 6b911d05207e -r bc5a64e5bc3c phoneengine/phoneservices/tsrc/ut_telurischemeparser/ut_telurischemeparser.pro --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phoneengine/phoneservices/tsrc/ut_telurischemeparser/ut_telurischemeparser.pro Tue Jul 06 14:15:47 2010 +0300 @@ -0,0 +1,45 @@ +# +# 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 = +TARGET.UID3 = 0xE31F4EAF +DEPENDPATH += . +INCLUDEPATH += . ../shared +CONFIG += qtestlib + +QT -= gui + +symbian { + TARGET.CAPABILITY = ALL -TCB + + INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE + INCLUDEPATH += ../../../../inc + + # TEST CODE + HEADERS += ../../inc/urischemeparser.h \ + ../../inc/telurischemeparser.h + SOURCES += ../../src/urischemeparser.cpp \ + ../../src/telurischemeparser.cpp + SOURCES += unit_tests.cpp + + #MOCKED DEPENDENCIES + SOURCES += ../shared/mock_mpecallsettersif.cpp + SOURCES += ../shared/mock_mpecallcontrolif.cpp + + LIBS += -lmocklib -lsymbianmock +} diff -r 6b911d05207e -r bc5a64e5bc3c phoneengine/phoneservices/tsrc/ut_urischemehandlerservice/unit_tests.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phoneengine/phoneservices/tsrc/ut_urischemehandlerservice/unit_tests.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -0,0 +1,234 @@ +/*! +* 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: Unit tests for URI Scheme Handler Service. +* +*/ + +#include +#include +#include +#include +#include "urischemehandlerservice.h" +#include "telurischemeparser.h" +#include "ctiurischemeparser.h" +#include "mock_mpecallcontrolif.h" +#include "mock_mpecallsettersif.h" + +const QString KGlobalPhoneNumber = "+358401234567890"; +const QString KTelUriWithGlobalNumber("tel:" + KGlobalPhoneNumber); + +void setPhoneNumber( + const QString &uri, + QString &phoneNumber, + QString &dtmfString()) +{ + Q_UNUSED(uri) + Q_UNUSED(dtmfString) + phoneNumber = KGlobalPhoneNumber; +} + +class UT_UriSchemeHandlerService : public QObject, public MockService +{ + Q_OBJECT + +public: + UT_UriSchemeHandlerService(); + virtual ~UT_UriSchemeHandlerService(); + +private slots: + void init(); + void cleanup(); + + void t_viewUnsupportedScheme(); + void t_viewSupportedSchemeCapabilityCheckFails(); + void t_viewSupportedSchemeParsingFails(); + void t_viewSupportedUriUserCancelsCall(); + void t_viewSupportedUriUserAcceptsCall(); + void t_viewSupportedUriCallRequestFails(); + +private: + UriSchemeHandlerService *m_uriHandlerService; + CPECallControlIFMock *m_callControlIfMock; + CPECallSettersIFMock *m_callSettersIfMock; +}; + + +UT_UriSchemeHandlerService::UT_UriSchemeHandlerService() + : + m_uriHandlerService(NULL), + m_callControlIfMock(NULL), + m_callSettersIfMock(NULL) +{ +} + + +UT_UriSchemeHandlerService::~UT_UriSchemeHandlerService() +{ + delete m_uriHandlerService; + delete m_callControlIfMock; + delete m_callSettersIfMock; +} + + +void UT_UriSchemeHandlerService::init() +{ + initialize(); + + QT_TRAP_THROWING(SmcDefaultValue::SetL(XQRequestInfo())) + + m_callControlIfMock = new CPECallControlIFMock(); + m_callSettersIfMock = new CPECallSettersIFMock(); + m_uriHandlerService = new UriSchemeHandlerService( + *m_callControlIfMock, *m_callSettersIfMock); +} + + +void UT_UriSchemeHandlerService::cleanup() +{ + reset(); + + delete m_uriHandlerService; + m_uriHandlerService = NULL; + delete m_callControlIfMock; + m_callControlIfMock = NULL; + delete m_callSettersIfMock; + m_callSettersIfMock = NULL; + + SmcDefaultValue::Reset(); +} + + +void UT_UriSchemeHandlerService::t_viewUnsupportedScheme() +{ + QString unknownUri("mailto:alice@wonderland"); + + EXPECT(TelUriSchemeParser::isSupportedUriScheme).returns(false); + EXPECT(CPECallControlIFMock::HandleDialServiceCall).times(0); + + bool handled = m_uriHandlerService->view(unknownUri); + + QCOMPARE(handled, false); + QVERIFY(verify()); +} + + +void UT_UriSchemeHandlerService::t_viewSupportedSchemeCapabilityCheckFails() +{ + EXPECT(TelUriSchemeParser::isSupportedUriScheme).returns(true); + QSet invalidCapabilities; + invalidCapabilities.insert(ECapabilityNetworkServices); + EXPECT(XQRequestInfo::clientCapabilities).returns(invalidCapabilities); + EXPECT(CPECallControlIFMock::HandleDialServiceCall).times(0); + + bool handled = m_uriHandlerService->view(KTelUriWithGlobalNumber); + + QCOMPARE(handled, false); + QVERIFY(verify()); +} + + +void UT_UriSchemeHandlerService::t_viewSupportedSchemeParsingFails() +{ + EXPECT(TelUriSchemeParser::isSupportedUriScheme).returns(true); + QSet validCapabilities; + validCapabilities.insert(ECapabilityNetworkServices); + validCapabilities.insert(ECapabilityNetworkControl); + EXPECT(XQRequestInfo::clientCapabilities).returns(validCapabilities); + EXPECT(TelUriSchemeParser::parseUri).returns(false); + EXPECT(CPECallControlIFMock::HandleDialServiceCall).times(0); + + bool handled = m_uriHandlerService->view(KTelUriWithGlobalNumber); + + QCOMPARE(handled, false); + QVERIFY(verify()); +} + + +void UT_UriSchemeHandlerService::t_viewSupportedUriUserCancelsCall() +{ + EXPECT(TelUriSchemeParser::isSupportedUriScheme).returns(true); + QSet validCapabilities; + validCapabilities.insert(ECapabilityNetworkServices); + validCapabilities.insert(ECapabilityNetworkControl); + EXPECT(XQRequestInfo::clientCapabilities).returns(validCapabilities); + EXPECT(TelUriSchemeParser::parseUri).returns(true); + EXPECT(HbDeviceMessageBox::setTimeout).with(0); + EXPECT(HbDeviceMessageBox::isAcceptAction).returns(false); + EXPECT(CPECallControlIFMock::HandleDialServiceCall).times(0); + + bool handled = m_uriHandlerService->view(KTelUriWithGlobalNumber); + + QCOMPARE(handled, false); + QVERIFY(verify()); +} + + +void UT_UriSchemeHandlerService::t_viewSupportedUriUserAcceptsCall() +{ + EXPECT(TelUriSchemeParser::isSupportedUriScheme).returns(true); + QSet validCapabilities; + validCapabilities.insert(ECapabilityNetworkServices); + validCapabilities.insert(ECapabilityNetworkControl); + EXPECT(XQRequestInfo::clientCapabilities).returns(validCapabilities); + EXPECT(TelUriSchemeParser::parseUri) + .willOnce(invoke(setPhoneNumber)) + .returns(true); + EXPECT(HbDeviceMessageBox::setTimeout).with(0); + EXPECT(HbDeviceMessageBox::isAcceptAction).returns(true); + + _LIT(KExpectedDialString, "+358401234567890"); + EXPECT(CPECallSettersIFMock::SetPhoneNumber).with(KExpectedDialString()); + EXPECT(CPECallSettersIFMock::SetCallTypeCommand).with(EPECallTypeCSVoice); + EXPECT(CPECallControlIFMock::HandleDialServiceCall).returns(KErrNone); + + bool handled = m_uriHandlerService->view(KTelUriWithGlobalNumber); + + QCOMPARE(handled, true); + QVERIFY(verify()); +} + + +void UT_UriSchemeHandlerService::t_viewSupportedUriCallRequestFails() +{ + EXPECT(TelUriSchemeParser::isSupportedUriScheme).returns(true); + QSet validCapabilities; + validCapabilities.insert(ECapabilityNetworkServices); + validCapabilities.insert(ECapabilityNetworkControl); + EXPECT(XQRequestInfo::clientCapabilities).returns(validCapabilities); + EXPECT(TelUriSchemeParser::parseUri) + .willOnce(invoke(setPhoneNumber)) + .returns(true); + EXPECT(HbDeviceMessageBox::setTimeout).with(0); + EXPECT(HbDeviceMessageBox::isAcceptAction).returns(true); + + _LIT(KExpectedDialString, "+358401234567890"); + EXPECT(CPECallSettersIFMock::SetPhoneNumber).with(KExpectedDialString()); + EXPECT(CPECallSettersIFMock::SetCallTypeCommand).with(EPECallTypeCSVoice); + EXPECT(CPECallControlIFMock::HandleDialServiceCall).returns(KErrNoMemory); + + bool handled = m_uriHandlerService->view(KTelUriWithGlobalNumber); + + QCOMPARE(handled, false); + QVERIFY(verify()); +} + + +int main(int argc, char *argv[]) +{ + QCoreApplication app(argc, argv); + UT_UriSchemeHandlerService tc; + return QTest::qExec(&tc, argc, argv); +} + +#include "unit_tests.moc" diff -r 6b911d05207e -r bc5a64e5bc3c phoneengine/phoneservices/tsrc/ut_urischemehandlerservice/ut_urischemehandlerservice.pro --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phoneengine/phoneservices/tsrc/ut_urischemehandlerservice/ut_urischemehandlerservice.pro Tue Jul 06 14:15:47 2010 +0300 @@ -0,0 +1,55 @@ +# +# 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 = +TARGET.UID3 = 0xE31F4EDA +DEPENDPATH += . +INCLUDEPATH += . ../shared +CONFIG += hb qtestlib +DEFINES += QT_NO_DEBUG_STREAM XQ_BUILD_XQSERVICEUTIL_LIB XQ_BUILD_XQSERVICE_LIB + +QT -= gui +DEFINES -= QT_GUI_LIB + +symbian { + TARGET.CAPABILITY = ALL -TCB + + INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE + INCLUDEPATH += ../../../../inc + + # TEST CODE + HEADERS += ../../inc/urischemehandlerservice.h + SOURCES += ../../src/urischemehandlerservice.cpp + SOURCES += unit_tests.cpp + + #MOCKED DEPENDENCIES + HEADERS += /epoc32/include/mw/xqserviceprovider.h + HEADERS += ../../inc/urischemeparser.h + HEADERS += ../../inc/ctiurischemeparser.h + HEADERS += ../../inc/telurischemeparser.h + SOURCES += ../shared/mock_hbdevicemessagebox.cpp + SOURCES += ../shared/mock_urischemeparser.cpp + SOURCES += ../shared/mock_telurischemeparser.cpp + SOURCES += ../shared/mock_ctiurischemeparser.cpp + SOURCES += ../shared/mock_xqrequestinfo.cpp + SOURCES += ../shared/mock_mpecallsettersif.cpp + SOURCES += ../shared/mock_mpecallcontrolif.cpp + SOURCES += ../shared/mock_xqserviceprovider.cpp + + LIBS += -lmocklib -lsymbianmock# -lxqservice +} diff -r 6b911d05207e -r bc5a64e5bc3c phoneplugins/dialerwidgetplugin/dialerwidgetplugin.pri --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phoneplugins/dialerwidgetplugin/dialerwidgetplugin.pri Tue Jul 06 14:15:47 2010 +0300 @@ -0,0 +1,47 @@ +# +# 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: +# + +HEADERS += ./inc/*.h + +SOURCES += ./src/*.cpp + +defineTest(exportResources) { + symbian { + for(subdirs, 1) { + entries = $$files($$subdirs) + for(entry, entries) : BLD_INF_RULES.prj_exports += "./$$entry z:/$$replace(2, ^/,)/$$basename(entry)" + } + export ( BLD_INF_RULES.prj_exports) + } +} + +symbian: plugin { # copy qtstub and manifest + + pluginstub.sources = $${TARGET}.dll + pluginstub.path = $$PLUGIN_SUBDIR + + DEPLOYMENT += pluginstub + + qtplugins.path = $$PLUGIN_SUBDIR + qtplugins.sources += qmakepluginstubs/$${TARGET}.qtplugin + + message(Remove "contains(MOBILITY, serviceframework)" after the QtSF refactorig is done!) + + !contains(MOBILITY, serviceframework):qtplugins.sources += resource/$${TARGET}.manifest + contains(MOBILITY, serviceframework):BLD_INF_RULES.prj_exports += "resource/$${TARGET}.s60xml z:$$qtplugins.path/$${TARGET}.xml" + + for(qtplugin, qtplugins.sources):BLD_INF_RULES.prj_exports += "./$$qtplugin z:$$qtplugins.path/$$basename(qtplugin)" +} \ No newline at end of file diff -r 6b911d05207e -r bc5a64e5bc3c phoneplugins/dialerwidgetplugin/dialerwidgetplugin.pro --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phoneplugins/dialerwidgetplugin/dialerwidgetplugin.pro Tue Jul 06 14:15:47 2010 +0300 @@ -0,0 +1,57 @@ +# 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 = lib +CONFIG += plugin \ + hb \ + mobility +MOBILITY = serviceframework +win32:PLUGIN_SUBDIR = /hsresources/import/widgetregistry/20022F44 +symbian:PLUGIN_SUBDIR = /private/20022F35/import/widgetregistry/20022F44 +LIBS += -lhswidgetmodel +DEPENDPATH += ./inc \ + ./src +INCLUDEPATH += ./inc \ + ../../inc +symbian: { + LIBS += -lxqservice \ + -lxqserviceutil \ + -lxqtelephonyservice \ + -lxqsettingsmanager \ + -llogsengine + TARGET.UID3 = 0x20022F44 + TARGET.EPOCALLOWDLLDATA = 1 + TARGET.CAPABILITY = ALL \ + -TCB + INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE + + BLD_INF_RULES.prj_exports += \ + "$${LITERAL_HASH}include " \ + "./rom/dialerwidgetplugin.iby CORE_APP_LAYER_IBY_EXPORT_PATH(dialerwidgetplugin.iby)" +} +OUTPUT_DIR = $$PWD/bin +SOURCE_DIR = $$PWD/inc +OBJECTS_DIR = $$OUTPUT_DIR/tmp/$$TARGET +DESTDIR = $$OUTPUT_DIR +MOC_DIR = $$OUTPUT_DIR/tmp/$$TARGET/moc +RCC_DIR = $$OUTPUT_DIR/tmp/$$TARGET/rcc +UI_DIR = $$OUTPUT_DIR/tmp/$$TARGET/ui +LIBS += -L$$DESTDIR +DEPENDPATH += . \ + $$SOURCE_DIR +INCLUDEPATH += . \ + $$SOURCE_DIR +INCLUDEPATH += $$MOC_DIR +plugin:!isEmpty(PLUGIN_SUBDIR):DESTDIR = $$OUTPUT_DIR/$$PLUGIN_SUBDIR +include(dialerwidgetplugin.pri) +exportResources(./resource/*.manifest, $$PLUGIN_SUBDIR) +exportResources(./resource/*.svg, $$PLUGIN_SUBDIR) +exportResources(./resource/*.png, $$PLUGIN_SUBDIR) +RESOURCES += dialerwidgetpluging.qrc diff -r 6b911d05207e -r bc5a64e5bc3c phoneplugins/dialerwidgetplugin/dialerwidgetpluging.qrc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phoneplugins/dialerwidgetplugin/dialerwidgetpluging.qrc Tue Jul 06 14:15:47 2010 +0300 @@ -0,0 +1,13 @@ + + + resource/qtg_fr_shortcut_badge_bg_r.png + resource/qtg_fr_shortcut_badge_bg_c.png + resource/qtg_fr_shortcut_badge_bg_l.png + resource/qtg_graf_hs_dialer.svg + + + resource/dialerwidget.widgetml + resource/dialerwidget.css + + + diff -r 6b911d05207e -r bc5a64e5bc3c phoneplugins/dialerwidgetplugin/inc/dialerwidget.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phoneplugins/dialerwidgetplugin/inc/dialerwidget.h Tue Jul 06 14:15:47 2010 +0300 @@ -0,0 +1,88 @@ +/* +* 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: +* +*/ + +#ifndef DIALERWIDGET_H +#define DIALERWIDGET_H + +#include + + +#ifndef HOMESCREEN_TEST + #define HOMESCREEN_TEST_CLASS(aClassName) + #define HOMESCREEN_TEST_FRIEND_CLASS(aClassName) +#else + #define HOMESCREEN_TEST_CLASS(aClassName) class aClassName; + #define HOMESCREEN_TEST_FRIEND_CLASS(aClassName) friend class aClassName; +#endif //HOMESCREEN_TEST + +HOMESCREEN_TEST_CLASS(TestDialerWidgetPlugin) + + +class DialerWidgetEngine; +class HbFrameItem; +class HbIconItem; +class HbTextItem; +class HbTouchArea; + +class DialerWidget : public HsWidget +{ + Q_OBJECT + +public: + DialerWidget(QGraphicsItem* parent = 0, Qt::WindowFlags flags = 0); + ~DialerWidget(); +private: + + void createPrimitives(); + +public slots: + void startDialer(); + + // from HS fw + void onInitialize(); + void onShow(); + void onHide(); + void onUninitialize(); + + // from engine + void onEngineException(const int& exc); + + void onMissedCallsCountChange(const int& count); + +signals: + void error(); + +protected: + void mousePressEvent(QGraphicsSceneMouseEvent *event) { Q_UNUSED(event) } + void mouseReleaseEvent(QGraphicsSceneMouseEvent *event); + StartResult onStart(); + StopResult onStop(); + SuspendResult onSuspend(); + ResumeResult onResume(); + +private: + + HbFrameItem *m_background; + HbFrameItem *m_badgeBackground; + HbTextItem *m_text; + HbTouchArea *m_touchArea; + DialerWidgetEngine *m_engine; + + HOMESCREEN_TEST_FRIEND_CLASS(TestDialerWidgetPlugin) +}; + +#endif diff -r 6b911d05207e -r bc5a64e5bc3c phoneplugins/dialerwidgetplugin/inc/dialerwidgetengine.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phoneplugins/dialerwidgetplugin/inc/dialerwidgetengine.h Tue Jul 06 14:15:47 2010 +0300 @@ -0,0 +1,46 @@ +/* +* 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 DIALERWIDGETENGINE_H_ +#define DIALERWIDGETENGINE_H_ + +#include +#include + +class DialerWidgetEngine : public QObject + { + Q_OBJECT +public: + DialerWidgetEngine(); + virtual ~DialerWidgetEngine(); + bool initialize(); + int missedCallsCount(); + +public slots: + void valueChanged(const XQSettingsKey &key, const QVariant &value); +signals: + void exceptionOccured(const int& err); + void missedCallsCountChanged(const int& missedCallsCount); +private: + +private: + XQSettingsManager * m_settingsManager; + int m_missedCalls; + }; + +#endif /* DIALERWIDGETENGINE_H_ */ + diff -r 6b911d05207e -r bc5a64e5bc3c phoneplugins/dialerwidgetplugin/inc/dialerwidgetplugin.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phoneplugins/dialerwidgetplugin/inc/dialerwidgetplugin.h Tue Jul 06 14:15:47 2010 +0300 @@ -0,0 +1,50 @@ +/* +* 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: Homescreen widget plugin +* +*/ + + +#ifndef DIALERWIDGETPLUGIN_H +#define DIALERWIDGETPLUGIN_H + +#include +#include + +QTM_USE_NAMESPACE + + +/** + * @ingroup group_hsdialerwidgetplugin + * @brief Homescreen dialer widget plugin. + * + * This library includes homescreen dialer widget implemented by homescreen scrum team. + * This plugin provides widgets that are described in the hsdialerwidgetplugin.xml plugin + * xml file. + * + * @since S60 ?S60_version. + */ +class DialerWidgetPlugin : public QObject, public QServicePluginInterface +{ + Q_OBJECT + Q_INTERFACES(QtMobility::QServicePluginInterface) + +public: + QObject *createInstance(const QServiceInterfaceDescriptor &descriptor, + QServiceContext *context, + QAbstractSecuritySession *session); + +}; + +#endif //DIALERWIDGETPLUGIN_H diff -r 6b911d05207e -r bc5a64e5bc3c phoneplugins/dialerwidgetplugin/resource/dialerwidget.css --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phoneplugins/dialerwidgetplugin/resource/dialerwidget.css Tue Jul 06 14:15:47 2010 +0300 @@ -0,0 +1,44 @@ +DialerWidget { + layout: default +} + +DialerWidget::background { + top: -6un; + right: 6un; + left: -6un; + preferred-width: 24un; + preferred-height: 24un; + zvalue: 0; +} + +DialerWidget::badgeBackground { + left: -1.5un; + right: 1.5un; + top: -1.5un; + bottom: 1.5un; + preferred-width: 3.0un; + preferred-height: 3.0un; + zvalue: 1; +} + +DialerWidget::text { + left: -1.5un; + right: 1.5un; + top: -1.5un; + bottom: 1.5un; + fixed-width: 3.0un; + text-align: center center; + text-height: var(hb-param-text-height-tiny); + text-line-count-max: 1; + color: var(qtc_list_item_title_normal); + zvalue: 2; +} + +DialerWidget::touch_area { + left: -6.0un; + top: -6.0un; + preferred-width: 12un; + preferred-height: 12un; + zvalue: 3; +} + diff -r 6b911d05207e -r bc5a64e5bc3c phoneplugins/dialerwidgetplugin/resource/dialerwidget.widgetml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phoneplugins/dialerwidgetplugin/resource/dialerwidget.widgetml Tue Jul 06 14:15:47 2010 +0300 @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff -r 6b911d05207e -r bc5a64e5bc3c phoneplugins/dialerwidgetplugin/resource/dialerwidgetplugin.manifest --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phoneplugins/dialerwidgetplugin/resource/dialerwidgetplugin.manifest Tue Jul 06 14:15:47 2010 +0300 @@ -0,0 +1,8 @@ + + + + diff -r 6b911d05207e -r bc5a64e5bc3c phoneplugins/dialerwidgetplugin/resource/dialerwidgetplugin.s60xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phoneplugins/dialerwidgetplugin/resource/dialerwidgetplugin.s60xml Tue Jul 06 14:15:47 2010 +0300 @@ -0,0 +1,14 @@ + + + dialerwidgetplugin + dialerwidgetplugin + Dialer widget + + com.nokia.symbian.IHomeScreenWidget + 1.0 + The dialer widget displays dialing menu + + qtg_graf_hs_dialer.svg + Dialer + + diff -r 6b911d05207e -r bc5a64e5bc3c phoneplugins/dialerwidgetplugin/resource/dialerwidgetplugin.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phoneplugins/dialerwidgetplugin/resource/dialerwidgetplugin.xml Tue Jul 06 14:15:47 2010 +0300 @@ -0,0 +1,14 @@ + + + dialerwidgetplugin + dialerwidgetplugin + Dialer widget + + com.nokia.symbian.IHomeScreenWidget + 1.0 + The dialer widget displays dialing menu + + qtg_graf_hs_dialer.svg + Dialer + + diff -r 6b911d05207e -r bc5a64e5bc3c phoneplugins/dialerwidgetplugin/resource/qtg_fr_shortcut_badge_bg_c.png Binary file phoneplugins/dialerwidgetplugin/resource/qtg_fr_shortcut_badge_bg_c.png has changed diff -r 6b911d05207e -r bc5a64e5bc3c phoneplugins/dialerwidgetplugin/resource/qtg_fr_shortcut_badge_bg_l.png Binary file phoneplugins/dialerwidgetplugin/resource/qtg_fr_shortcut_badge_bg_l.png has changed diff -r 6b911d05207e -r bc5a64e5bc3c phoneplugins/dialerwidgetplugin/resource/qtg_fr_shortcut_badge_bg_r.png Binary file phoneplugins/dialerwidgetplugin/resource/qtg_fr_shortcut_badge_bg_r.png has changed diff -r 6b911d05207e -r bc5a64e5bc3c phoneplugins/dialerwidgetplugin/resource/qtg_graf_hs_dialer.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phoneplugins/dialerwidgetplugin/resource/qtg_graf_hs_dialer.svg Tue Jul 06 14:15:47 2010 +0300 @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 6b911d05207e -r bc5a64e5bc3c phoneplugins/dialerwidgetplugin/resource/qtg_graf_hs_dialer_pressed.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phoneplugins/dialerwidgetplugin/resource/qtg_graf_hs_dialer_pressed.svg Tue Jul 06 14:15:47 2010 +0300 @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 6b911d05207e -r bc5a64e5bc3c phoneplugins/dialerwidgetplugin/rom/dialerwidgetplugin.iby --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phoneplugins/dialerwidgetplugin/rom/dialerwidgetplugin.iby Tue Jul 06 14:15:47 2010 +0300 @@ -0,0 +1,30 @@ +/* +* 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 __DIALERWIDETPLUGIN_IBY__ +#define __DIALERWIDETPLUGIN_IBY__ + +file=ABI_DIR\BUILD_DIR\dialerwidgetplugin.dll SHARED_LIB_DIR\dialerwidgetplugin.dll +data=ZPRIVATE\20022f35\import\widgetregistry\20022F44\dialerwidgetplugin.qtplugin private\20022f35\import\widgetregistry\20022F44\dialerwidgetplugin.qtplugin +data=ZPRIVATE\20022f35\import\widgetregistry\20022F44\dialerwidgetplugin.manifest private\20022f35\import\widgetregistry\20022F44\dialerwidgetplugin.manifest +data=ZPRIVATE\20022f35\import\widgetregistry\20022F44\qtg_graf_hs_dialer.svg private\20022f35\import\widgetregistry\20022F44\qtg_graf_hs_dialer.svg +data=ZPRIVATE\20022f35\import\widgetregistry\20022F44\qtg_fr_shortcut_badge_bg_r.png private\20022f35\import\widgetregistry\20022F44\qtg_fr_shortcut_badge_bg_r.png +data=ZPRIVATE\20022f35\import\widgetregistry\20022F44\qtg_fr_shortcut_badge_bg_l.png private\20022f35\import\widgetregistry\20022F44\qtg_fr_shortcut_badge_bg_l.png +data=ZPRIVATE\20022f35\import\widgetregistry\20022F44\qtg_fr_shortcut_badge_bg_c.png private\20022f35\import\widgetregistry\20022F44\qtg_fr_shortcut_badge_bg_c.png +data=ZPRIVATE\20022f35\import\widgetregistry\20022F44\dialerwidgetplugin.xml private\20022f35\import\widgetregistry\20022F44\dialerwidgetplugin.xml + +#endif //__DIALERWIDETPLUGIN_IBY__ diff -r 6b911d05207e -r bc5a64e5bc3c phoneplugins/dialerwidgetplugin/src/dialerwidget.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phoneplugins/dialerwidgetplugin/src/dialerwidget.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -0,0 +1,274 @@ +/* +* Copyright (c) 2008 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 "dialerwidgetengine.h" +#include "dialerwidget.h" +#include "qtphonelog.h" + +#ifdef Q_OS_SYMBIAN +#include "qtphonelog.h" +#include +#include +#include +#include +#include +#include +#endif + +namespace +{ + const char KDialerWidgetIcon[] = ":/icons/resource/qtg_graf_hs_dialer"; + const char KMissedCallShortcutBadge[] = ":/icons/resource/qtg_fr_shortcut_badge_bg"; + const char KDialerWidgetWidgetml[] = ":/data/resource/dialerwidget.widgetml"; + const char KDialerWidgetCss[] = ":/data/resource/dialerwidget.css"; +} + +/*! + \class DialerWidget + + \ingroup group_dialerwidgetplugin + \brief Implementation for the homescreen dialer launcher. + +*/ + +/*! + Constructs dialer widget with given \a parent and given window \a flags. +*/ +DialerWidget::DialerWidget(QGraphicsItem *parent, Qt::WindowFlags flags) + : HsWidget(parent, flags), + m_background(0), m_badgeBackground(0), m_text(0), m_touchArea(0) +{ + PHONE_TRACE +} + +/*! + Destructor. +*/ +DialerWidget::~DialerWidget() +{ +} + +/*! + \fn void DialerWidget::startDialer() + + Starts dialer widget via view activation service. +*/ +void DialerWidget::startDialer() +{ + PHONE_TRACE +#ifdef Q_OS_SYMBIAN + PHONE_DEBUG("DialerWidget::startDialer"); + + QList calls; + QScopedPointer callInfo(XQCallInfo::create()); + callInfo->getCalls(calls); + QList args; + QString service; + QString interface; + QString operation; + + if (0 < calls.count()) { + PHONE_DEBUG("call ongoing, bring Telephone to foreground"); + service = "phoneui"; + interface = "com.nokia.symbian.IStart"; + operation = "start(int)"; + int openDialer(0); + args << openDialer; + } else { + PHONE_DEBUG("no calls, open Dialer"); + service = "logs"; + interface = "com.nokia.symbian.ILogsView"; + operation = "show(QVariantMap)"; + QVariantMap map; + map.insert("view_index", QVariant(int(LogsServices::ViewAll))); + map.insert("show_dialpad", QVariant(true)); + map.insert("dialpad_text", QVariant(QString())); + args.append(QVariant(map)); + } + + XQApplicationManager appManager; + QScopedPointer request(appManager.create(service, interface, operation, false)); + if (request == NULL) { + return; + } + request->setArguments(args); + XQRequestInfo info; + info.setForeground(true); + request->setInfo(info); + bool ret = request->send(); + PHONE_TRACE2("request sent successfully:", ret); +#endif + +} + +void DialerWidget::onInitialize() +{ + PHONE_TRACE + QT_TRY{ + // basic ui + createPrimitives(); + Q_ASSERT(HbStyleLoader::registerFilePath(KDialerWidgetWidgetml)); + Q_ASSERT(HbStyleLoader::registerFilePath(KDialerWidgetCss)); + // Engine construction is 2 phased + m_engine = new DialerWidgetEngine(); + connect(m_engine, SIGNAL( exceptionOccured(const int&) ) + ,this, SLOT( onEngineException(const int&) ) ); + + if(!m_engine->initialize()){ + //engine construction failed. Give up. + emit error(); + return; + } + connect( m_engine, SIGNAL(missedCallsCountChanged(const int&)), + this, SLOT(onMissedCallsCountChange(const int&))); + } + QT_CATCH(...){ + emit error(); + } +} + +/*! + \fn void DialerWidget::onShow() + + Shows the widget +*/ +void DialerWidget::onShow() +{ + PHONE_TRACE + updatePrimitives(); +} + +/*! + \fn void DialerWidget::onHide() + + Hides the widget +*/ +void DialerWidget::onHide() +{ + PHONE_TRACE +} + +void DialerWidget::onUninitialize() +{ + PHONE_TRACE + HbStyleLoader::unregisterFilePath(KDialerWidgetWidgetml); + HbStyleLoader::unregisterFilePath(KDialerWidgetCss); +} + +void DialerWidget::onEngineException(const int& exc) +{ + Q_UNUSED(exc); + emit error(); +} + +void DialerWidget::onMissedCallsCountChange(const int& count) +{ + m_text->setText( QLocale::system().toString(count)); + if ( count ){ + m_text->setVisible(true); + m_badgeBackground->setVisible(true); + } else { + m_text->setVisible(false); + m_badgeBackground->setVisible(false); + } +} + +/*! + \fn void DialerWidget::mouseReleaseEvent(QGraphicsSceneMouseEvent* event) + + Dialer widget start is triggered from release \a event. + \sa startDialer() +*/ +void DialerWidget::mouseReleaseEvent(QGraphicsSceneMouseEvent* event) +{ + Q_UNUSED(event); + startDialer(); +} + +HsWidget::StartResult DialerWidget::onStart() +{ + return StartResultRunning; +} +HsWidget::StopResult DialerWidget::onStop() +{ + return StopResultFinished; +} +HsWidget::SuspendResult DialerWidget::onSuspend() +{ + return SuspendResultSuspended; +} +HsWidget::ResumeResult DialerWidget::onResume() +{ + return ResumeResultRunning; +} + +void DialerWidget::createPrimitives() +{ + setPreferredSize(100,100); + // Background + if (!m_background) { + HbFrameDrawer *drawer = new HbFrameDrawer( + KDialerWidgetIcon, HbFrameDrawer::OnePiece); + m_background = new HbFrameItem(drawer, this); + style()->setItemName(m_background, /*QLatin1String(*/"background"/*)*/); + m_background->moveBy(0,10); + m_background->resize(81,81); + } + + // Badge background + if (!m_badgeBackground) { + HbFrameDrawer *badgedrawer = new HbFrameDrawer( + KMissedCallShortcutBadge, HbFrameDrawer::ThreePiecesHorizontal); + m_badgeBackground = new HbFrameItem(badgedrawer, this); + style()->setItemName(m_background, QLatin1String("badgeBackground")); + m_badgeBackground->resize(20,20); + m_badgeBackground->moveBy(70,0); + m_badgeBackground->setVisible(true); + m_badgeBackground->setVisible( false ); + } + + // Text + if (!m_text) { + m_text = new HbTextItem(this); + style()->setItemName(m_text, QLatin1String("text")); + m_text->resize(20,20); + m_text->moveBy(76,0); + m_text->setVisible(true); + HbFontSpec *textFont = new HbFontSpec(HbFontSpec::Primary); + textFont->setTextHeight(3*HbDeviceProfile::current().unitValue()); + m_text->setFontSpec(*textFont); + m_text->setText("0"); + m_text->setVisible( false); + } + + // Touch Area + if (!m_touchArea) { + m_touchArea = new HbTouchArea(this); + m_touchArea->installEventFilter(this); + style()->setItemName(m_touchArea, QLatin1String("touch_area")); + m_touchArea->moveBy(0,10); + m_touchArea->resize(81,81); + } +} + diff -r 6b911d05207e -r bc5a64e5bc3c phoneplugins/dialerwidgetplugin/src/dialerwidgetengine.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phoneplugins/dialerwidgetplugin/src/dialerwidgetengine.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -0,0 +1,72 @@ +/* +* 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 "dialerwidgetengine.h" + +#include +#include + +DialerWidgetEngine::DialerWidgetEngine(): + m_missedCalls(-1) +{ +} + +DialerWidgetEngine::~DialerWidgetEngine() +{ + delete m_settingsManager; + m_settingsManager = NULL; +} + +bool DialerWidgetEngine::initialize() +{ +#ifdef Q_OS_SYMBIAN + m_settingsManager = new XQSettingsManager(this); + if ( !m_settingsManager ){ + return false; + } + XQSettingsKey settingsKey( XQSettingsKey::TargetCentralRepository, + KCRUidLogs.iUid, KLogsNewMissedCalls ); + + if ( !connect( m_settingsManager, + SIGNAL( valueChanged(const XQSettingsKey & ,const QVariant &)), + this, SLOT(valueChanged(XQSettingsKey, + QVariant)))){ + return false; + } + + if(!m_settingsManager->startMonitoring( settingsKey )){ + return false; + } + +#endif + return true; +} + +void DialerWidgetEngine::valueChanged( + const XQSettingsKey &key, + const QVariant &value ) +{ + if ( key.key() == (quint32)KLogsNewMissedCalls ){ + m_missedCalls = value.toInt(); + emit missedCallsCountChanged( m_missedCalls ); + } +} + +int DialerWidgetEngine::missedCallsCount() +{ + return m_missedCalls; +} diff -r 6b911d05207e -r bc5a64e5bc3c phoneplugins/dialerwidgetplugin/src/dialerwidgetplugin.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phoneplugins/dialerwidgetplugin/src/dialerwidgetplugin.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -0,0 +1,50 @@ +/* +* 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: Homescreen widget plugin +* +*/ + +#include +#include +#include + +#include "Dialerwidgetplugin.h" +#include "Dialerwidget.h" +#include "qtphonelog.h" + +#ifdef COVERAGE_MEASUREMENT +#pragma CTC SKIP +#endif //COVERAGE_MEASUREMENT + +QObject *DialerWidgetPlugin::createInstance(const QServiceInterfaceDescriptor &descriptor, + QServiceContext *context, + QAbstractSecuritySession *session) +{ + PHONE_DEBUG("DialerWidgetPlugin::createInstance"); + Q_UNUSED(context); + Q_UNUSED(session); + + if (descriptor.interfaceName() == QLatin1String("com.nokia.symbian.IHomeScreenWidget")) { + PHONE_DEBUG("creating DialerWidget instance"); + return new DialerWidget(); + } else { + return 0; + } +} + +Q_EXPORT_PLUGIN2(Dialerwidgetplugin, DialerWidgetPlugin) + +#ifdef COVERAGE_MEASUREMENT +#pragma CTC ENDSKIP +#endif //COVERAGE_MEASUREMENT diff -r 6b911d05207e -r bc5a64e5bc3c phoneplugins/hsdialerwidgetplugin/hsdialerwidgetplugin.pri --- a/phoneplugins/hsdialerwidgetplugin/hsdialerwidgetplugin.pri Wed Jun 23 18:12:20 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,47 +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: -# - -HEADERS += ./inc/*.h - -SOURCES += ./src/*.cpp - -defineTest(exportResources) { - symbian { - for(subdirs, 1) { - entries = $$files($$subdirs) - for(entry, entries) : BLD_INF_RULES.prj_exports += "./$$entry z:/$$replace(2, ^/,)/$$basename(entry)" - } - export ( BLD_INF_RULES.prj_exports) - } -} - -symbian: plugin { # copy qtstub and manifest - - pluginstub.sources = $${TARGET}.dll - pluginstub.path = $$PLUGIN_SUBDIR - - DEPLOYMENT += pluginstub - - qtplugins.path = $$PLUGIN_SUBDIR - qtplugins.sources += qmakepluginstubs/$${TARGET}.qtplugin - - message(Remove "contains(MOBILITY, serviceframework)" after the QtSF refactorig is done!) - - !contains(MOBILITY, serviceframework):qtplugins.sources += resource/$${TARGET}.manifest - contains(MOBILITY, serviceframework):BLD_INF_RULES.prj_exports += "resource/$${TARGET}.s60xml z:$$qtplugins.path/$${TARGET}.xml" - - for(qtplugin, qtplugins.sources):BLD_INF_RULES.prj_exports += "./$$qtplugin z:$$qtplugins.path/$$basename(qtplugin)" -} \ No newline at end of file diff -r 6b911d05207e -r bc5a64e5bc3c phoneplugins/hsdialerwidgetplugin/hsdialerwidgetplugin.pro --- a/phoneplugins/hsdialerwidgetplugin/hsdialerwidgetplugin.pro Wed Jun 23 18:12:20 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,57 +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 = lib -CONFIG += plugin \ - hb \ - mobility -MOBILITY = serviceframework -win32:PLUGIN_SUBDIR = /hsresources/import/widgetregistry/20022F44 -symbian:PLUGIN_SUBDIR = /private/20022F35/import/widgetregistry/20022F44 -LIBS += -lhswidgetmodel -DEPENDPATH += ./inc \ - ./src -INCLUDEPATH += ./inc \ - ../../inc -symbian: { - LIBS += -lxqservice \ - -lxqserviceutil \ - -lxqtelephonyservice \ - -lxqsettingsmanager \ - -llogsengine - TARGET.UID3 = 0x20022F44 - TARGET.EPOCALLOWDLLDATA = 1 - TARGET.CAPABILITY = ALL \ - -TCB - INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE - - BLD_INF_RULES.prj_exports += \ - "$${LITERAL_HASH}include " \ - "./rom/hsdialerwidgetplugin.iby CORE_APP_LAYER_IBY_EXPORT_PATH(hsdialerwidgetplugin.iby)" -} -OUTPUT_DIR = $$PWD/bin -SOURCE_DIR = $$PWD/inc -OBJECTS_DIR = $$OUTPUT_DIR/tmp/$$TARGET -DESTDIR = $$OUTPUT_DIR -MOC_DIR = $$OUTPUT_DIR/tmp/$$TARGET/moc -RCC_DIR = $$OUTPUT_DIR/tmp/$$TARGET/rcc -UI_DIR = $$OUTPUT_DIR/tmp/$$TARGET/ui -LIBS += -L$$DESTDIR -DEPENDPATH += . \ - $$SOURCE_DIR -INCLUDEPATH += . \ - $$SOURCE_DIR -INCLUDEPATH += $$MOC_DIR -plugin:!isEmpty(PLUGIN_SUBDIR):DESTDIR = $$OUTPUT_DIR/$$PLUGIN_SUBDIR -include(hsdialerwidgetplugin.pri) -exportResources(./resource/*.manifest, $$PLUGIN_SUBDIR) -exportResources(./resource/*.svg, $$PLUGIN_SUBDIR) -exportResources(./resource/*.png, $$PLUGIN_SUBDIR) -RESOURCES += hsdialerwidgetpluging.qrc diff -r 6b911d05207e -r bc5a64e5bc3c phoneplugins/hsdialerwidgetplugin/hsdialerwidgetpluging.qrc --- a/phoneplugins/hsdialerwidgetplugin/hsdialerwidgetpluging.qrc Wed Jun 23 18:12:20 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,13 +0,0 @@ - - - resource/qtg_fr_shortcut_badge_bg_r.png - resource/qtg_fr_shortcut_badge_bg_c.png - resource/qtg_fr_shortcut_badge_bg_l.png - resource/qtg_graf_hs_dialer.svg - - - resource/dialerwidget.widgetml - resource/dialerwidget.css - - - diff -r 6b911d05207e -r bc5a64e5bc3c phoneplugins/hsdialerwidgetplugin/inc/dialerwidgetengine.h --- a/phoneplugins/hsdialerwidgetplugin/inc/dialerwidgetengine.h Wed Jun 23 18:12:20 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,45 +0,0 @@ -/* -* 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 HSDIALERWIDGETENGINE_H_ -#define HSDIALERWIDGETENGINE_H_ - -#include -#include - -class DialerWidgetEngine : public QObject - { - Q_OBJECT -public: - DialerWidgetEngine(); - virtual ~DialerWidgetEngine(); - bool initialize(); - int missedCallsCount(); - -public slots: - void valueChanged(const XQSettingsKey &key, const QVariant &value); -signals: - void exceptionOccured(const int& err); - void missedCallsCountChanged(const int& missedCallsCount); -private: - -private: - XQSettingsManager * m_settingsManager; - int m_missedCalls; - }; - -#endif /* HSDIALERWIDGETENGINE_H_ */ diff -r 6b911d05207e -r bc5a64e5bc3c phoneplugins/hsdialerwidgetplugin/inc/hsdialerwidget.h --- a/phoneplugins/hsdialerwidgetplugin/inc/hsdialerwidget.h Wed Jun 23 18:12:20 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,90 +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: -* -*/ - -#ifndef HSDIALERWIDGET_H -#define HSDIALERWIDGET_H - -#include - -#ifndef HOMESCREEN_TEST - #define HOMESCREEN_TEST_CLASS(aClassName) - #define HOMESCREEN_TEST_FRIEND_CLASS(aClassName) -#else - #define HOMESCREEN_TEST_CLASS(aClassName) class aClassName; - #define HOMESCREEN_TEST_FRIEND_CLASS(aClassName) friend class aClassName; -#endif //HOMESCREEN_TEST - -HOMESCREEN_TEST_CLASS(TestDialerWidgetPlugin) - -class XQCallInfo; -class DialerWidgetEngine; -class HbFrameItem; -class HbIconItem; -class HbTextItem; -class HbTouchArea; - -class HsDialerWidget : public HsWidget -{ - Q_OBJECT - -public: - HsDialerWidget(QGraphicsItem* parent = 0, Qt::WindowFlags flags = 0); - ~HsDialerWidget(); -private: - - void createPrimitives(); - -public slots: - void startDialer(); - - // from HS fw - void onInitialize(); - void onShow(); - void onHide(); - void onUninitialize(); - - // from engine - void onEngineException(const int& exc); - - void onMissedCallsCountChange(const int& count); - -signals: - void error(); - -protected: - void mousePressEvent(QGraphicsSceneMouseEvent *event) { Q_UNUSED(event) } - void mouseReleaseEvent(QGraphicsSceneMouseEvent *event); - StartResult onStart(); - StopResult onStop(); - SuspendResult onSuspend(); - ResumeResult onResume(); - - - - -private: - - XQCallInfo *mXQCallInfo; - DialerWidgetEngine *m_engine; - HbFrameItem *m_background; - HbFrameItem *m_badgeBackground; - HbTextItem *m_text; - HbTouchArea *m_touchArea; - HOMESCREEN_TEST_FRIEND_CLASS(TestDialerWidgetPlugin) -}; - -#endif diff -r 6b911d05207e -r bc5a64e5bc3c phoneplugins/hsdialerwidgetplugin/inc/hsdialerwidgetplugin.h --- a/phoneplugins/hsdialerwidgetplugin/inc/hsdialerwidgetplugin.h Wed Jun 23 18:12:20 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,50 +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: Homescreen widget plugin -* -*/ - - -#ifndef HSDIALERWIDGETPLUGIN_H -#define HSDIALERWIDGETPLUGIN_H - -#include -#include - -QTM_USE_NAMESPACE - - -/** - * @ingroup group_hsdialerwidgetplugin - * @brief Homescreen dialer widget plugin. - * - * This library includes homescreen dialer widget implemented by homescreen scrum team. - * This plugin provides widgets that are described in the hsdialerwidgetplugin.xml plugin - * xml file. - * - * @since S60 ?S60_version. - */ -class HsDialerWidgetPlugin : public QObject, public QServicePluginInterface -{ - Q_OBJECT - Q_INTERFACES(QtMobility::QServicePluginInterface) - -public: - QObject *createInstance(const QServiceInterfaceDescriptor &descriptor, - QServiceContext *context, - QAbstractSecuritySession *session); - -}; - -#endif //HSDIALERWIDGETPLUGIN_H diff -r 6b911d05207e -r bc5a64e5bc3c phoneplugins/hsdialerwidgetplugin/resource/dialerwidget.css --- a/phoneplugins/hsdialerwidgetplugin/resource/dialerwidget.css Wed Jun 23 18:12:20 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,44 +0,0 @@ -MyWidget { - layout: default -} - -MyWidget::background { - top: -6un; - right: 6un; - left: -6un; - preferred-width: 24un; - preferred-height: 24un; - zvalue: 0; -} - -MyWidget::badgeBackground { - left: -1.5un; - right: 1.5un; - top: -1.5un; - bottom: 1.5un; - preferred-width: 3.0un; - preferred-height: 3.0un; - zvalue: 1; -} - -MyWidget::text { - left: -1.5un; - right: 1.5un; - top: -1.5un; - bottom: 1.5un; - fixed-width: 3.0un; - text-align: center center; - text-height: var(hb-param-text-height-tiny); - text-line-count-max: 1; - color: var(qtc_list_item_title_normal); - zvalue: 2; -} - -MyWidget::touch_area { - left: -6.0un; - top: -6.0un; - preferred-width: 12un; - preferred-height: 12un; - zvalue: 3; -} - diff -r 6b911d05207e -r bc5a64e5bc3c phoneplugins/hsdialerwidgetplugin/resource/dialerwidget.widgetml --- a/phoneplugins/hsdialerwidgetplugin/resource/dialerwidget.widgetml Wed Jun 23 18:12:20 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff -r 6b911d05207e -r bc5a64e5bc3c phoneplugins/hsdialerwidgetplugin/resource/hsdialerwidgetplugin.manifest --- a/phoneplugins/hsdialerwidgetplugin/resource/hsdialerwidgetplugin.manifest Wed Jun 23 18:12:20 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,8 +0,0 @@ - - - - diff -r 6b911d05207e -r bc5a64e5bc3c phoneplugins/hsdialerwidgetplugin/resource/hsdialerwidgetplugin.s60xml --- a/phoneplugins/hsdialerwidgetplugin/resource/hsdialerwidgetplugin.s60xml Wed Jun 23 18:12:20 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,14 +0,0 @@ - - - hsdialerwidgetplugin - hsdialerwidgetplugin - Dialer widget - - com.nokia.symbian.IHomeScreenWidget - 1.0 - The dialer widget displays dialing menu - - qtg_graf_hs_dialer.svg - Dialer - - diff -r 6b911d05207e -r bc5a64e5bc3c phoneplugins/hsdialerwidgetplugin/resource/hsdialerwidgetplugin.xml --- a/phoneplugins/hsdialerwidgetplugin/resource/hsdialerwidgetplugin.xml Wed Jun 23 18:12:20 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,14 +0,0 @@ - - - hsdialerwidgetplugin - hsdialerwidgetplugin - Dialer widget - - com.nokia.symbian.IHomeScreenWidget - 1.0 - The dialer widget displays dialing menu - - qtg_graf_hs_dialer.svg - Dialer - - diff -r 6b911d05207e -r bc5a64e5bc3c phoneplugins/hsdialerwidgetplugin/resource/qtg_fr_shortcut_badge_bg_c.png Binary file phoneplugins/hsdialerwidgetplugin/resource/qtg_fr_shortcut_badge_bg_c.png has changed diff -r 6b911d05207e -r bc5a64e5bc3c phoneplugins/hsdialerwidgetplugin/resource/qtg_fr_shortcut_badge_bg_l.png Binary file phoneplugins/hsdialerwidgetplugin/resource/qtg_fr_shortcut_badge_bg_l.png has changed diff -r 6b911d05207e -r bc5a64e5bc3c phoneplugins/hsdialerwidgetplugin/resource/qtg_fr_shortcut_badge_bg_r.png Binary file phoneplugins/hsdialerwidgetplugin/resource/qtg_fr_shortcut_badge_bg_r.png has changed diff -r 6b911d05207e -r bc5a64e5bc3c phoneplugins/hsdialerwidgetplugin/resource/qtg_graf_hs_dialer.svg --- a/phoneplugins/hsdialerwidgetplugin/resource/qtg_graf_hs_dialer.svg Wed Jun 23 18:12:20 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,27 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -r 6b911d05207e -r bc5a64e5bc3c phoneplugins/hsdialerwidgetplugin/resource/qtg_graf_hs_dialer_pressed.svg --- a/phoneplugins/hsdialerwidgetplugin/resource/qtg_graf_hs_dialer_pressed.svg Wed Jun 23 18:12:20 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -r 6b911d05207e -r bc5a64e5bc3c phoneplugins/hsdialerwidgetplugin/rom/hsdialerwidgetplugin.iby --- a/phoneplugins/hsdialerwidgetplugin/rom/hsdialerwidgetplugin.iby Wed Jun 23 18:12:20 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,30 +0,0 @@ -/* -* 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 __HSDIALERWIDETPLUGIN_IBY__ -#define __HSDIALERWIDETPLUGIN_IBY__ - -file=ABI_DIR\BUILD_DIR\hsdialerwidgetplugin.dll SHARED_LIB_DIR\hsdialerwidgetplugin.dll -data=ZPRIVATE\20022f35\import\widgetregistry\20022F44\hsdialerwidgetplugin.qtplugin private\20022f35\import\widgetregistry\20022F44\hsdialerwidgetplugin.qtplugin -data=ZPRIVATE\20022f35\import\widgetregistry\20022F44\hsdialerwidgetplugin.manifest private\20022f35\import\widgetregistry\20022F44\hsdialerwidgetplugin.manifest -data=ZPRIVATE\20022f35\import\widgetregistry\20022F44\qtg_graf_hs_dialer.svg private\20022f35\import\widgetregistry\20022F44\qtg_graf_hs_dialer.svg -data=ZPRIVATE\20022f35\import\widgetregistry\20022F44\qtg_fr_shortcut_badge_bg_r.png private\20022f35\import\widgetregistry\20022F44\qtg_fr_shortcut_badge_bg_r.png -data=ZPRIVATE\20022f35\import\widgetregistry\20022F44\qtg_fr_shortcut_badge_bg_l.png private\20022f35\import\widgetregistry\20022F44\qtg_fr_shortcut_badge_bg_l.png -data=ZPRIVATE\20022f35\import\widgetregistry\20022F44\qtg_fr_shortcut_badge_bg_c.png private\20022f35\import\widgetregistry\20022F44\qtg_fr_shortcut_badge_bg_c.png -data=ZPRIVATE\20022f35\import\widgetregistry\20022F44\hsdialerwidgetplugin.xml private\20022f35\import\widgetregistry\20022F44\hsdialerwidgetplugin.xml - -#endif //__HSDIALERWIDETPLUGIN_IBY__ diff -r 6b911d05207e -r bc5a64e5bc3c phoneplugins/hsdialerwidgetplugin/src/dialerwidgetengine.cpp --- a/phoneplugins/hsdialerwidgetplugin/src/dialerwidgetengine.cpp Wed Jun 23 18:12:20 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,72 +0,0 @@ -/* -* 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 "dialerwidgetengine.h" - -#include -#include - -DialerWidgetEngine::DialerWidgetEngine(): - m_missedCalls(-1) -{ -} - -DialerWidgetEngine::~DialerWidgetEngine() -{ - delete m_settingsManager; - m_settingsManager = NULL; -} - -bool DialerWidgetEngine::initialize() -{ -#ifdef Q_OS_SYMBIAN - m_settingsManager = new XQSettingsManager(this); - if ( !m_settingsManager ){ - return false; - } - XQSettingsKey settingsKey( XQSettingsKey::TargetCentralRepository, - KCRUidLogs.iUid, KLogsNewMissedCalls ); - - if ( !connect( m_settingsManager, - SIGNAL( valueChanged(const XQSettingsKey & ,const QVariant &)), - this, SLOT(valueChanged(XQSettingsKey, - QVariant)))){ - return false; - } - - if(!m_settingsManager->startMonitoring( settingsKey )){ - return false; - } - -#endif - return true; -} - -void DialerWidgetEngine::valueChanged( - const XQSettingsKey &key, - const QVariant &value ) -{ - if ( key.key() == (quint32)KLogsNewMissedCalls ){ - m_missedCalls = value.toInt(); - emit missedCallsCountChanged( m_missedCalls ); - } -} - -int DialerWidgetEngine::missedCallsCount() -{ - return m_missedCalls; -} diff -r 6b911d05207e -r bc5a64e5bc3c phoneplugins/hsdialerwidgetplugin/src/hsdialerwidget.cpp --- a/phoneplugins/hsdialerwidgetplugin/src/hsdialerwidget.cpp Wed Jun 23 18:12:20 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,274 +0,0 @@ -/* -* Copyright (c) 2008 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 "dialerwidgetengine.h" - -#ifdef Q_OS_SYMBIAN -#include "qtphonelog.h" -#include -#include -#include -#include -#include -#else -#define PHONE_TRACE -#define PHONE_TRACE1(A) -#define PHONE_TRACE2(A, B) -#define PHONE_TRACE3(A, B, C) -#define PHONE_TRACE4(A, B, C, D) -#endif - -#include "hsdialerwidget.h" - - -namespace -{ - const char KDialerWidgetIcon[] = ":/icons/resource/qtg_graf_hs_dialer"; - const char KMissedCallShortcutBadge[] = ":/icons/resource/qtg_fr_shortcut_badge_bg"; - const char KDialerWidgetWidgetml[] = ":/data/resource/dialerwidget.widgetml"; - const char KDialerWidgetCss[] = ":/data/resource/dialerwidget.css"; -} - -/*! - \class HsDialerWidget - - \ingroup group_hsdialerwidgetplugin - \brief Implementation for the homescreen dialer launcher. - -*/ - -/*! - Constructs dialer widget with given \a parent and given window \a flags. -*/ -HsDialerWidget::HsDialerWidget(QGraphicsItem *parent, Qt::WindowFlags flags) - : HsWidget(parent, flags), - mXQCallInfo(0), m_background(0), m_badgeBackground(0), m_text(0), m_touchArea(0) -{ - PHONE_TRACE -} - -/*! - Destructor. -*/ -HsDialerWidget::~HsDialerWidget() -{ - PHONE_TRACE -} - -/*! - \fn void HsDialerWidget::startDialer() - - Starts dialer widget via view activation service. -*/ -void HsDialerWidget::startDialer() -{ - PHONE_TRACE -#ifdef Q_OS_SYMBIAN - PHONE_DEBUG("HsDialerWidget::startDialer"); - - if (!mXQCallInfo) { - mXQCallInfo = XQCallInfo::create(); - mXQCallInfo->setParent(this); - } - QList calls; - mXQCallInfo->getCalls(calls); - - if( 0 < calls.count() ){ - PHONE_DEBUG("call ongoing, bring Telephone to foreground"); - - // ToDo: should telephone + dialpad be opened when there is a waiting call? - int dialer(1); - XQServiceRequest snd("com.nokia.services.telephony.uistarter", "start(int)", false); - snd << dialer; - QVariant retValue; - snd.send(retValue); - } - else { - PHONE_DEBUG("no calls, open Dialer"); - XQServiceRequest snd("com.nokia.services.logsservices.starter", - "start(int,bool)", false); - XQRequestInfo info; - info.setForeground(true); - snd.setInfo(info); - snd << (int)LogsServices::ViewAll; - snd << true; - int retValue; - snd.send(retValue); - - //LogsServices::start(LogsServices::ViewAll, true); - } -#endif - -} - -void HsDialerWidget::onInitialize() -{ - PHONE_TRACE - QT_TRY{ - // basic ui - createPrimitives(); - Q_ASSERT(HbStyleLoader::registerFilePath(KDialerWidgetWidgetml)); - Q_ASSERT(HbStyleLoader::registerFilePath(KDialerWidgetCss)); - // Engine construction is 2 phased - m_engine = new DialerWidgetEngine(); - connect(m_engine, SIGNAL( exceptionOccured(const int&) ) - ,this, SLOT( onEngineException(const int&) ) ); - - if(!m_engine->initialize()){ - //engine construction failed. Give up. - emit error(); - return; - } - connect( m_engine, SIGNAL(missedCallsCountChanged(const int&)), - this, SLOT(onMissedCallsCountChange(const int&))); - - } - QT_CATCH(...){ - emit error(); - } -} - -/*! - \fn void HsDialerWidget::onShow() - - Shows the widget -*/ -void HsDialerWidget::onShow() -{ - PHONE_TRACE - updatePrimitives(); -} - -/*! - \fn void HsDialerWidget::onHide() - - Hides the widget -*/ -void HsDialerWidget::onHide() -{ - PHONE_TRACE -} - -void HsDialerWidget::onUninitialize() -{ - PHONE_TRACE - HbStyleLoader::unregisterFilePath(KDialerWidgetWidgetml); - HbStyleLoader::unregisterFilePath(KDialerWidgetCss); -} - -void HsDialerWidget::onEngineException(const int& exc) -{ - Q_UNUSED(exc); - emit error(); -} - -void HsDialerWidget::onMissedCallsCountChange(const int& count) -{ - m_text->setText( QLocale::system().toString(count)); - if ( count ){ - m_text->setVisible(true); - m_badgeBackground->setVisible(true); - } else { - m_text->setVisible(false); - m_badgeBackground->setVisible(false); - } -} - -/*! - \fn void HsDialerWidget::mouseReleaseEvent(QGraphicsSceneMouseEvent* event) - - Dialer widget start is triggered from release \a event. - \sa startDialer() -*/ -void HsDialerWidget::mouseReleaseEvent(QGraphicsSceneMouseEvent* event) -{ - Q_UNUSED(event); - startDialer(); -} - -HsWidget::StartResult HsDialerWidget::onStart() -{ - return StartResultRunning; -} -HsWidget::StopResult HsDialerWidget::onStop() -{ - return StopResultFinished; -} -HsWidget::SuspendResult HsDialerWidget::onSuspend() -{ - return SuspendResultSuspended; -} -HsWidget::ResumeResult HsDialerWidget::onResume() -{ - return ResumeResultRunning; -} - -void HsDialerWidget::createPrimitives() -{ - setPreferredSize(100,100); - // Background - if (!m_background) { - HbFrameDrawer *drawer = new HbFrameDrawer( - KDialerWidgetIcon, HbFrameDrawer::OnePiece); - m_background = new HbFrameItem(drawer, this); - style()->setItemName(m_background, /*QLatin1String(*/"background"/*)*/); - m_background->moveBy(0,10); - m_background->resize(81,81); - } - - // Badge background - if (!m_badgeBackground) { - HbFrameDrawer *badgedrawer = new HbFrameDrawer( - KMissedCallShortcutBadge, HbFrameDrawer::ThreePiecesHorizontal); - m_badgeBackground = new HbFrameItem(badgedrawer, this); - style()->setItemName(m_background, QLatin1String("badgeBackground")); - m_badgeBackground->resize(20,20); - m_badgeBackground->moveBy(70,0); - m_badgeBackground->setVisible(true); - m_badgeBackground->setVisible( false ); - } - - // Text - if (!m_text) { - m_text = new HbTextItem(this); - style()->setItemName(m_text, QLatin1String("text")); - m_text->resize(20,20); - m_text->moveBy(76,0); - m_text->setVisible(true); - HbFontSpec *textFont = new HbFontSpec(HbFontSpec::Primary); - textFont->setTextHeight(3*HbDeviceProfile::current().unitValue()); - m_text->setFontSpec(*textFont); - m_text->setText("0"); - m_text->setVisible( false); - } - - // Touch Area - if (!m_touchArea) { - m_touchArea = new HbTouchArea(this); - m_touchArea->installEventFilter(this); - style()->setItemName(m_touchArea, QLatin1String("touch_area")); - m_touchArea->moveBy(0,10); - m_touchArea->resize(81,81); - } -} diff -r 6b911d05207e -r bc5a64e5bc3c phoneplugins/hsdialerwidgetplugin/src/hsdialerwidgetplugin.cpp --- a/phoneplugins/hsdialerwidgetplugin/src/hsdialerwidgetplugin.cpp Wed Jun 23 18:12:20 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,50 +0,0 @@ -/* -* 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: Homescreen widget plugin -* -*/ - -#include -#include -#include - -#include "hsdialerwidgetplugin.h" -#include "hsdialerwidget.h" -#include "qtphonelog.h" - -#ifdef COVERAGE_MEASUREMENT -#pragma CTC SKIP -#endif //COVERAGE_MEASUREMENT - -QObject *HsDialerWidgetPlugin::createInstance(const QServiceInterfaceDescriptor &descriptor, - QServiceContext *context, - QAbstractSecuritySession *session) -{ - PHONE_DEBUG("HsDialerWidgetPlugin::createInstance"); - Q_UNUSED(context); - Q_UNUSED(session); - - if (descriptor.interfaceName() == QLatin1String("com.nokia.symbian.IHomeScreenWidget")) { - PHONE_DEBUG("creating HsDialerWidget instance"); - return new HsDialerWidget(); - } else { - return 0; - } -} - -Q_EXPORT_PLUGIN2(hsdialerwidgetplugin, HsDialerWidgetPlugin) - -#ifdef COVERAGE_MEASUREMENT -#pragma CTC ENDSKIP -#endif //COVERAGE_MEASUREMENT diff -r 6b911d05207e -r bc5a64e5bc3c phoneplugins/infowidgetplugin/infowidget/inc/infowidget.h --- a/phoneplugins/infowidgetplugin/infowidget/inc/infowidget.h Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneplugins/infowidgetplugin/infowidget/inc/infowidget.h Tue Jul 06 14:15:47 2010 +0300 @@ -54,12 +54,6 @@ AnimationOngoing } m_animationState; - // Delay for animation start - enum AnimationStartDelay { - StartNoDelay, - StartDelayed - }; - public: InfoWidget(QGraphicsItem *parent = 0, Qt::WindowFlags flags = 0); ~InfoWidget(); @@ -129,7 +123,7 @@ void settingsValidationFailed(); void settingsDialogClosed(HbAction* action); - bool startMarquees(AnimationStartDelay delay = StartNoDelay); + bool startMarquees(); void stopMarquees(); void marqueeNext(); diff -r 6b911d05207e -r bc5a64e5bc3c phoneplugins/infowidgetplugin/infowidget/inc/infowidgetlayoutmanager.h --- a/phoneplugins/infowidgetplugin/infowidget/inc/infowidgetlayoutmanager.h Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneplugins/infowidgetplugin/infowidget/inc/infowidgetlayoutmanager.h Tue Jul 06 14:15:47 2010 +0300 @@ -39,7 +39,6 @@ class InfoWidgetDocumentLoader : public HbDocumentLoader { public: - InfoWidgetDocumentLoader(); virtual QObject *createObject(const QString& type, const QString &name); }; @@ -123,8 +122,8 @@ int layoutRows() const; void setLayoutRows(int rows); - qreal layoutRowHeight() const; - bool textFitsToRect(QString text, QFont font, QRectF rect); + qreal layoutRowHeight(); + bool textFitsToRect(QString text, QFont font, QRectF rect) const; private: QMap m_widgets; @@ -135,6 +134,7 @@ InfoWidgetDocumentLoader *m_documentLoader; DisplayRole m_displayRole; int m_layoutRows; + qreal m_cachedLayoutRowHeight; }; diff -r 6b911d05207e -r bc5a64e5bc3c phoneplugins/infowidgetplugin/infowidget/inc/infowidgetnetworkhandler.h --- a/phoneplugins/infowidgetplugin/infowidget/inc/infowidgetnetworkhandler.h Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneplugins/infowidgetplugin/infowidget/inc/infowidgetnetworkhandler.h Tue Jul 06 14:15:47 2010 +0300 @@ -32,7 +32,6 @@ ~InfoWidgetNetworkHandler(); bool createSession(); - bool sessionExists(); QString serviceProviderName() const; bool serviceProviderNameDisplayRequired() const; @@ -50,7 +49,6 @@ public slots: void suspend(); void resume(); - void enableMcn(); void disableMcn(); diff -r 6b911d05207e -r bc5a64e5bc3c phoneplugins/infowidgetplugin/infowidget/inc/infowidgetsathandler.h --- a/phoneplugins/infowidgetplugin/infowidget/inc/infowidgetsathandler.h Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneplugins/infowidgetplugin/infowidget/inc/infowidgetsathandler.h Tue Jul 06 14:15:47 2010 +0300 @@ -21,7 +21,7 @@ #include #include #include -#include "infowidgetsathandlerprivate.h" +#include "infowidgetsathandler_p.h" // Class declaration class InfoWidgetSatHandler: public QObject diff -r 6b911d05207e -r bc5a64e5bc3c phoneplugins/infowidgetplugin/infowidget/inc/infowidgetsathandler_p.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phoneplugins/infowidgetplugin/infowidget/inc/infowidgetsathandler_p.h Tue Jul 06 14:15:47 2010 +0300 @@ -0,0 +1,58 @@ +/* + * 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: + * + */ + +#ifndef INFOWIDGETSATHANDLER_P_H_ +#define INFOWIDGETSATHANDLER_P_H_ + +#include +#include +#include + +// Forward declarations +class InfoWidgetSatHandler; + +// Class declaration +class InfoWidgetSatHandlerPrivate: public CActive +{ +public: + + InfoWidgetSatHandlerPrivate( + InfoWidgetSatHandler *iwSatHandler, + RSatService& iSatService); + ~InfoWidgetSatHandlerPrivate(); + + void startObserving(); + bool connect(); + void disconnect(); + void activate(); + void getIdleModeData(); + +protected: // From CActive + void RunL(); + void DoCancel(); + +private: // Data + InfoWidgetSatHandler *m_satHandler; // Not owned. + RSatService& m_satService; + RSatSession m_satSession; + RSatService::TSATIdleResult m_idleResult; + + QString m_idleTxt; +}; + +#endif // INFOWIDGETSATHANDLER_P_H_ + diff -r 6b911d05207e -r bc5a64e5bc3c phoneplugins/infowidgetplugin/infowidget/inc/infowidgetsathandlerprivate.h --- a/phoneplugins/infowidgetplugin/infowidget/inc/infowidgetsathandlerprivate.h Wed Jun 23 18:12:20 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,60 +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: - * - */ - -#ifndef INFOWIDGETSATHANDLERPRIVATE_H_ -#define INFOWIDGETSATHANDLERPRIVATE_H_ - -#include -#include -#include - -// Forward declarations -class InfoWidgetSatHandler; - -// Class declaration -class InfoWidgetSatHandlerPrivate: public CActive -{ -public: - - InfoWidgetSatHandlerPrivate(InfoWidgetSatHandler *iwSatHandler, RSatService& iSatService); - ~InfoWidgetSatHandlerPrivate(); - - void startObserving(); - - bool connect(); - int disconnect(); - -private: - - void activate(); - void getIdleModeData(); - - void RunL(); - void DoCancel(); - -private: // Data - - InfoWidgetSatHandler *q_ptr; - RSatService& m_satService; - RSatSession m_satSession; - RSatService::TSATIdleResult m_idleResult; - - QString m_idleTxt; -}; - -#endif // INFOWIDGETSATHANDLERPRIVATE_H_ - diff -r 6b911d05207e -r bc5a64e5bc3c phoneplugins/infowidgetplugin/infowidget/src/infowidget.cpp --- a/phoneplugins/infowidgetplugin/infowidget/src/infowidget.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneplugins/infowidgetplugin/infowidget/src/infowidget.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -55,12 +55,13 @@ // Local constants const int INFOWIDGET_DEFAULT_HEIGHT = 100; const int INFOWIDGET_DEFAULT_WIDTH = 200; +const int INFOWIDGET_MARQUEE_START_DELAY = 5000; const char *TS_FILE_OPERATOR_WIDGET = "operator_widget"; const char *TS_FILE_COMMON = "common"; const char *BACKGROUND_FRAME_NAME = "qtg_fr_hswidget_normal"; /*! - InfoWidget::InfoWidget() + Constructor. */ InfoWidget::InfoWidget(QGraphicsItem* parent, Qt::WindowFlags flags) : HbWidget(parent, flags), @@ -76,8 +77,7 @@ m_initialized(false) { INSTALL_TRACE_MSG_HANDLER; - - DPRINT << ": IN"; + DPRINT; // Localization file loading installTranslator(TS_FILE_OPERATOR_WIDGET); @@ -120,41 +120,32 @@ backgroundFrameDrawer.take(), this); setBackgroundItem(m_backgroundFrameItem); - - DPRINT << ": OUT"; } /*! - InfoWidget::~InfoWidget() + Destructor. */ InfoWidget::~InfoWidget() { - DPRINT << ": IN"; - + DPRINT; // Force layout manager to delete widgets // before InfoWidget is destroyed m_layoutManager->destroyWidgets(); // Remove and delete language translators removeTranslators(); - - DPRINT << ": OUT"; UNINSTALL_TRACE_MSG_HANDLER; } /*! - InfoWidget::onInitialize() - Called by HS framework, saved preference data is available when onInitialize() is called and - meta-object data reading should be done here + meta-object data reading should be done here. */ void InfoWidget::onInitialize() { - DPRINT << ": IN"; - + DPRINT; m_initialized = true; - // Initialize preferences from meta-object data if (!readPersistentPreferences()) { @@ -177,24 +168,23 @@ // Listen for model changes QObject::connect(m_engine.data(), SIGNAL(modelChanged()), this, SLOT(readModel()), Qt::UniqueConnection); - - DPRINT << ": OUT"; } /*! - InfoWidget::onUninitialize() + This slot is called by HomeScreen framework + when the widget is uninstalled. */ void InfoWidget::onUninitialize() { - DPRINT << ": IN"; + DPRINT; stopMarquees(); m_initialized = false; m_engine->suspend(); - DPRINT << ": OUT"; } /*! - InfoWidget::onShow() + This slot is called by HomeScreen framework + when the widget visibility is gained. */ void InfoWidget::onShow() { @@ -206,7 +196,8 @@ } /*! - InfoWidget::onHide() + This slot is called by HomeScreen framework + when the widget visibility is lost. */ void InfoWidget::onHide() { @@ -218,7 +209,7 @@ } /*! - InfoWidget::timerEvent() + Handles timer events. */ void InfoWidget::timerEvent(QTimerEvent *event) { @@ -239,12 +230,11 @@ } /*! - InfoWidget::installTranslator() + Install widget translator for given translation file. */ bool InfoWidget::installTranslator(QString translationFile) { - DPRINT << ": IN"; - + DPRINT; QString lang = QLocale::system().name(); QString path = "z:/resource/qt/translations/"; bool translatorLoaded(false); @@ -258,31 +248,23 @@ m_translators.append(widgetTranslator.take()); DPRINT << ": translator installed: " << translationFile; } - - DPRINT << ": OUT"; return translatorLoaded; } /*! - InfoWidget::removeTranslators() - - Remove translators from qApp and delete objects + Remove translators. No need to call + QApplication::removeTranslator, + QTranslator object removes itself before deletion. */ void InfoWidget::removeTranslators() { - DPRINT << ": IN"; - - foreach (QTranslator *translator, m_translators) { - qApp->removeTranslator(translator); - } + DPRINT; qDeleteAll(m_translators); m_translators.clear(); - - DPRINT << ": OUT"; } /*! - InfoWidget::boundingRect() + Returns bounding rect. */ QRectF InfoWidget::boundingRect() const { @@ -290,9 +272,7 @@ } /*! - InfoWidget::sizeHint() - - Calculate size hint based on visible rows count + Calculate widget size hint based on visible row count. */ QSizeF InfoWidget::sizeHint(Qt::SizeHint which, const QSizeF & constraint) const { @@ -325,7 +305,7 @@ } /*! - InfoWidget::sizePolicy() + Returns size polizy for the widget. */ QSizePolicy InfoWidget::sizePolicy () const { @@ -336,13 +316,12 @@ } /*! - InfoWidget::updateItemsVisibility() + Update item visibility based on display preferences. */ void InfoWidget::updateItemsVisibility() { - DPRINT <<": IN"; + DPRINT; int layoutRows = 0; - QList widgetsToHide; // Update layout according to item visibility settings if (m_preferences->preference(InfoWidgetPreferences::DisplaySpn).compare( @@ -369,19 +348,19 @@ m_layoutManager->removeWidget(InfoWidgetLayoutManager::RoleSatTextIcon); } - DPRINT << ": visible layout rows count: " << layoutRows; + if (m_animatingItems.count() == 0) { + m_animatingItem = NULL; + } + m_layoutManager->setLayoutRows(layoutRows); } /*! - InfoWidget::layoutInfoDisplay() - - Layout info display + Layout info display. */ void InfoWidget::layoutInfoDisplay() { - DPRINT << ": IN"; - + DPRINT; QGraphicsLayout *infoDisplayLayout = m_layoutManager->layoutInfoDisplay(); @@ -393,21 +372,16 @@ m_layout->addItem(contentWidget); } } - updateItemsVisibility(); - endChanges(); - DPRINT << ": OUT"; } /*! - InfoWidget::layoutSettingsDialog() - - Layout and display settings dialog + Layout and display settings dialog. */ void InfoWidget::layoutSettingsDialog() { - DPRINT << ": IN"; + DPRINT; startChanges(); m_layoutManager->reloadWidgets(InfoWidgetLayoutManager::SettingsDialog); @@ -420,28 +394,22 @@ RoleSettingsDialog)); if (settingsDialog) { - DPRINT << ": settingsDialog has been returned from layout manager"; initializeSettingsDialogItems(); - settingsDialog->setDismissPolicy(HbDialog::NoDismiss); settingsDialog->setTimeout(HbDialog::NoTimeout); settingsDialog->open(this, SLOT(settingsDialogClosed(HbAction *))); } } - DPRINT << ": OUT"; } /*! - InfoWidget::initializeSettingsDialogItems() - Set up initial check box states - and connect signals to local slots + and connect signals to local slots. */ void InfoWidget::initializeSettingsDialogItems() { - DPRINT << ": IN"; - + DPRINT; // Connect display setting check boxes HbCheckBox *spnCheckBox = qobject_cast(m_layoutManager->getWidget( @@ -478,13 +446,9 @@ this, SLOT(satDisplaySettingChanged(int)), Qt::UniqueConnection); } - - DPRINT << ": OUT"; } /*! - InfoWidget::updateInfoDisplayItem() - Fetch widget based on item role and update item specific data. */ @@ -501,8 +465,8 @@ marqueeItem->setTextColor( HbColorScheme::color( "qtc_hs_list_item_title_normal")); - // Update widget effective size if not already set - marqueeItem->adjustSize(); + // Update widget effective size + marqueeItem->adjustSize(); if (!m_layoutManager->textFitsToRect( text, marqueeItem->font(), @@ -514,88 +478,81 @@ } /*! - InfoWidget::updateInfoDisplay() - Model or visibility data has changed, update info display widgets accordingly. */ void InfoWidget::updateInfoDisplay() { - DPRINT << ": IN"; - + DPRINT; if (m_initialized) { stopMarquees(); if (m_layoutManager->currentDisplayRole() == - InfoWidgetLayoutManager::InfoDisplay ) - { - QString text; + InfoWidgetLayoutManager::InfoDisplay) { + InfoWidgetEngine::ModelData modelData = m_engine->modelData(); // Update service provider name item - text = modelData.serviceProviderName(); - updateInfoDisplayItem(InfoWidgetLayoutManager::RoleSpnMarqueeItem, text); + QString text = modelData.serviceProviderName(); + updateInfoDisplayItem( + InfoWidgetLayoutManager::RoleSpnMarqueeItem, text); // Update MCN name item text = modelData.mcnName(); - updateInfoDisplayItem(InfoWidgetLayoutManager::RoleMcnMarqueeItem, text); + updateInfoDisplayItem( + InfoWidgetLayoutManager::RoleMcnMarqueeItem, text); // Update SAT display text item text = modelData.satDisplayText(); - updateInfoDisplayItem(InfoWidgetLayoutManager::RoleSatMarqueeItem, text); + updateInfoDisplayItem( + InfoWidgetLayoutManager::RoleSatMarqueeItem, text); } if (m_animatingItems.count() > 0) { - startMarquees(StartDelayed); + startMarquees(); } } } /*! - InfoWidget::readModel() - - Read model data. Model's modelChanged - signal is connected to this slot. + Read model data. + Model's modelChanged - signal is connected to this slot. */ void InfoWidget::readModel() { - DPRINT << ": IN"; - + DPRINT; if (m_layoutManager->currentDisplayRole() == InfoWidgetLayoutManager::InfoDisplay) { updateInfoDisplay(); } - DPRINT << ": OUT"; } /*! - InfoWidget::handleModelError() - - Model error signal is connected to this slot + Model error signal is connected to this slot. */ void InfoWidget::handleModelError(int operation,int errorCode) { - DWARNING << ": operation: " << operation << " error: " << errorCode; + DWARNING << ": operation: " << operation << + " error: " << errorCode; } /*! - InfoWidget::mousePressEvent() + Mouse press handler. */ void InfoWidget::mousePressEvent(QGraphicsSceneMouseEvent *event) { Q_UNUSED(event); - // Clear flag m_dragEvent = false; } /*! - InfoWidget::mouseReleaseEvent() + Mouse release handler. */ void InfoWidget::mouseReleaseEvent(QGraphicsSceneMouseEvent *event) { Q_UNUSED(event); - - // If in info display and widget wasn't dragged + // If widget wasn't dragged // layout and open settings dialog if ((!m_dragEvent) && m_layoutManager->currentDisplayRole() == @@ -606,23 +563,21 @@ // Clear flag m_dragEvent = false; - } /*! - InfoWidget::mouseMoveEvent() + Mouse move handler. */ void InfoWidget::mouseMoveEvent(QGraphicsSceneMouseEvent *event) { Q_UNUSED(event); - // Mouse is moving // after mouse press event m_dragEvent = true; } /*! - InfoWidget::spnDisplaySettingChanged() + Slot for handling Spn display setting change. */ void InfoWidget::spnDisplaySettingChanged(int state) { @@ -637,7 +592,7 @@ } /*! - InfoWidget::mcnDisplaySettingChanged() + Slot for handling Mcn display setting change. */ void InfoWidget::mcnDisplaySettingChanged(int state) { @@ -652,7 +607,7 @@ } /*! - InfoWidget::satDisplaySettingChanged() + Slot for handling SAT display setting change. */ void InfoWidget::satDisplaySettingChanged(int state) { @@ -667,8 +622,6 @@ } /*! - InfoWidget::mcnDisplay() - Getter function for Meta-object property "mcnDisplay" */ QString InfoWidget::mcnDisplay() @@ -679,8 +632,6 @@ } /*! - InfoWidget::setMcnDisplay() - Setter function for Meta-object property "mcnDisplay" */ void InfoWidget::setMcnDisplay(QString value) @@ -691,8 +642,6 @@ } /*! - InfoWidget::homeZoneDisplay() - Getter function for Meta-object property "homeZoneDisplay" */ QString InfoWidget::homeZoneDisplay() @@ -703,8 +652,6 @@ } /*! - InfoWidget::setHomeZoneDisplay() - Setter function for Meta-object property "homeZoneDisplay" */ void InfoWidget::setHomeZoneDisplay(QString value) @@ -715,8 +662,6 @@ } /*! - InfoWidget::activeLineDisplay() - Getter function for Meta-object property "activeLineDisplay" */ QString InfoWidget::activeLineDisplay() @@ -727,8 +672,6 @@ } /*! - InfoWidget::setActiveLineDisplay() - Setter function for Meta-object property "activeLineDisplay" */ void InfoWidget::setActiveLineDisplay(QString value) @@ -751,8 +694,6 @@ } /*! - InfoWidget::setSatDisplay() - Setter function for Meta-object property "satDisplay" */ void InfoWidget::setSatDisplay(QString value) @@ -763,8 +704,6 @@ } /*! - InfoWidget::spnDisplay() - Getter function for Meta-object property "spnDisplay" */ QString InfoWidget::spnDisplay() @@ -775,8 +714,6 @@ } /*! - InfoWidget::setSpnDisplay() - Setter function for Meta-object property "spnDisplay" */ void InfoWidget::setSpnDisplay(QString value) @@ -787,8 +724,6 @@ } /*! - InfoWidget::readPersistentPreferences() - Read Meta-object properties and store to preference handler. Restores preferences from previous session. */ @@ -827,8 +762,6 @@ } /*! - InfoWidget::initializeCheckBoxStates() - Read display settings from preference store and set check box initial states accordingly. */ @@ -838,7 +771,7 @@ HbCheckBox *spnCheckBox = qobject_cast(m_layoutManager->getWidget( InfoWidgetLayoutManager::RoleSpnCheckBox)); if (spnCheckBox) { - spnCheckBox->setChecked(m_preferences->isPreferenceSet( + spnCheckBox->setChecked(m_preferences->isPreferenceSet( InfoWidgetPreferences::DisplaySpn)); } @@ -858,18 +791,17 @@ } /*! - InfoWidget::settingsEditingFinished() + Handles settings validating and storing + when the settings dialog is closed with Ok action. */ void InfoWidget::settingsEditingFinished() { - DPRINT << ": IN"; - - // Save settings data if validation succeeds + DPRINT; + if (m_preferences->validate()) { - DPRINT << ": switching to info display"; - + // Signal HS framework to store Meta-object - // preferences if changed + // preferences if preferences have changed. if (m_preferences->storePreferences()) { emit setPreferences( m_preferences->preferenceNames()); @@ -884,20 +816,15 @@ true); } else { - DPRINT << ": settings validation failed"; // Cancel edit mode settingsEditingCancelled(); // Display warning note settingsValidationFailed(); } - - DPRINT << ": OUT"; } /*! - InfoWidget::settingsEditingCancelled() - Slot to be called when settings editing shouldn't cause change set of visible items. Restores previous state. @@ -915,50 +842,47 @@ } /*! - InfoWidget::settingsDialogClosed() - - Slot to be called when settings dialog is about to close + Slot to be called when settings dialog is about to close. */ void InfoWidget::settingsDialogClosed(HbAction* action) { - DPRINT << ": IN"; + DPRINT; if (action) { if (action->text() == hbTrId("txt_common_button_ok")) { settingsEditingFinished(); - } else if (action->text() == hbTrId("txt_common_button_cancel") ) { + } else if (action->text() == hbTrId("txt_common_button_cancel")) { settingsEditingCancelled(); } } else { - DPRINT << ": null action"; settingsEditingCancelled(); } // Switch to info display layoutInfoDisplay(); - DPRINT << ": OUT"; } /*! - InfoWidget::startChanges() + Handle start of changes, called when settings dialog + is shown and layout changes are expected. */ void InfoWidget::startChanges() { DPRINT; m_layoutChanging = true; if (m_animationState != AnimationIdle) { - stopMarquees(); + stopMarquees(); } } /*! - InfoWidget::endChanges() + Handle end of changes, called when settings dialog + is closed and layout changes are to be finished. */ void InfoWidget::endChanges() { DPRINT; updateGeometry(); updateInfoDisplay(); - m_layoutChanging = false; } @@ -976,10 +900,7 @@ } /*! - InfoWidget::settingsValidationFailed() - Slot to be called when preference validation has failed. - Displays warning message box */ void InfoWidget::settingsValidationFailed() { @@ -991,13 +912,11 @@ } /*! - InfoWidget::startMarquees() - Start marquee animations. First find existing marquee items and - enable marquee sequence + enable marquee sequence. */ -bool InfoWidget::startMarquees(AnimationStartDelay delay) +bool InfoWidget::startMarquees() { DPRINT; bool started(true); @@ -1009,68 +928,53 @@ int animatingItemsCount = m_animatingItems.count(); if (animatingItemsCount > 0) { - HbMarqueeItem *marqueeItem(NULL); - foreach (marqueeItem, m_animatingItems) { - if (animatingItemsCount > 1) { - // Multiple items, connect to marqueeNext() - // sequence logic - QObject::connect( - marqueeItem,SIGNAL(animationStopped()), - this, SLOT(marqueeNext()), - Qt::UniqueConnection); - marqueeItem->setLoopCount(1); - } else if (animatingItemsCount ==1 ){ - // Single item, set continuous marquee mode - marqueeItem->setLoopCount(-1); + foreach (HbMarqueeItem *marqueeItem, m_animatingItems) { + if (marqueeItem) { + if (animatingItemsCount > 1) { + // Multiple items, connect to marqueeNext() + // sequence logic + QObject::connect( + marqueeItem, SIGNAL(animationStopped()), + this, SLOT(marqueeNext()), + Qt::QueuedConnection); + marqueeItem->setLoopCount(1); + } else if (animatingItemsCount == 1){ + // Single item, set continuous marquee mode + marqueeItem->setLoopCount(-1); + } } } // Store marquee sequence start item m_animatingItem = m_animatingItems.first(); - - if (delay == StartNoDelay) { - m_animationState = AnimationOngoing; - m_animatingItem->startAnimation(); - } else if (delay == StartDelayed && !m_timerId) { - m_animationState = AnimationStarting; - m_timerId = startTimer(100); - } - + m_animationState = AnimationStarting; + m_timerId = startTimer(INFOWIDGET_MARQUEE_START_DELAY); } else { - // No animating items, not started - DWARNING << ": not done, no animating items"; + DPRINT << ": not started, no animating items"; m_animatingItem = NULL; started = false; } - return started; } /*! - InfoWidget::stopMarquees() - Stop all marquee animations and reset - animation state + animation state. */ void InfoWidget::stopMarquees() { DPRINT; if (m_animationState != AnimationIdle && m_animatingItems.count() > 0) { - HbMarqueeItem *marqueeItem(NULL); - - foreach (marqueeItem, m_animatingItems) { - - // Disconnect if more than one item, - // single animator doesn't connect to animationStopped() - if (m_animatingItems.count() > 1) { + foreach (HbMarqueeItem *marqueeItem, m_animatingItems) { + if (marqueeItem) { QObject::disconnect( marqueeItem, SIGNAL(animationStopped()), this, SLOT(marqueeNext())); - } - - if (marqueeItem->isAnimating()) { - marqueeItem->stopAnimation(); + + if (marqueeItem->isAnimating()) { + marqueeItem->stopAnimation(); + } } } } @@ -1087,8 +991,6 @@ } /*! - InfoWidget::marqueeNext() - Starts marquee animation for next item in sequence. */ @@ -1117,7 +1019,6 @@ } } } - } // End of File. diff -r 6b911d05207e -r bc5a64e5bc3c phoneplugins/infowidgetplugin/infowidget/src/infowidgetengine.cpp --- a/phoneplugins/infowidgetplugin/infowidget/src/infowidgetengine.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneplugins/infowidgetplugin/infowidget/src/infowidgetengine.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -88,13 +88,11 @@ */ void InfoWidgetEngine::updateNetworkDataToModel() { - DPRINT << ": IN"; - - if (m_networkHandler->sessionExists() && - m_networkHandler->isOnline()) { - + if (m_networkHandler->isOnline()) { + DPRINT << ": online, update data"; m_modelData.setServiceProviderName( m_networkHandler->serviceProviderName()); + m_modelData.setServiceProviderNameDisplayRequired( m_networkHandler->serviceProviderNameDisplayRequired()); @@ -107,10 +105,10 @@ m_modelData.setHomeZoneTextTag( m_networkHandler->homeZoneTextTag()); } else { - // Not registered to network, clear data - m_modelData.setServiceProviderName(QString("")); - m_modelData.setMcnName(QString("")); - m_modelData.setHomeZoneTextTag(QString("")); + DPRINT << ": offline, clear data"; + m_modelData.setServiceProviderName(""); + m_modelData.setMcnName(""); + m_modelData.setHomeZoneTextTag(""); } emit modelChanged(); diff -r 6b911d05207e -r bc5a64e5bc3c phoneplugins/infowidgetplugin/infowidget/src/infowidgetengine_s.cpp --- a/phoneplugins/infowidgetplugin/infowidget/src/infowidgetengine_s.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneplugins/infowidgetplugin/infowidget/src/infowidgetengine_s.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -19,12 +19,20 @@ #include "infowidgetlogging.h" /*! + Stubbed class implementation for testing + Widget on windows/other environment. +*/ + + +/*! InfoWidgetEngine::InfoWidgetEngine */ InfoWidgetEngine::InfoWidgetEngine(QObject *parent): - QObject(parent) + QObject(parent), + m_networkHandler(NULL), + m_satHandler(NULL) { - DPRINT; + DPRINT << ": STUBBED"; } /*! @@ -32,53 +40,24 @@ */ InfoWidgetEngine::~InfoWidgetEngine() { - DPRINT; + DPRINT << ": STUBBED"; } /*! - InfoWidgetEngine::logModelData - - Utility function for logging model data - */ -void InfoWidgetEngine::logModelData() -{ - DPRINT << ": mcn name: " << m_modelData.mcnName(); - DPRINT << ": service provider name: " << m_modelData.serviceProviderName(); - DPRINT << ": homezone text tag: " << m_modelData.homeZoneTextTag(); - - DPRINT << ": mcn type: " << m_modelData.mcnIndicatorType(); - DPRINT << ": active line: " << m_modelData.activeLine(); - DPRINT << ": homezone indicator type: " << m_modelData.homeZoneIndicatorType(); -} - -/*! InfoWidgetEngine::modelData - - Getter for model data. */ const InfoWidgetEngine::ModelData& InfoWidgetEngine::modelData() const { - DPRINT; + DPRINT << ": STUBBED"; return m_modelData; } /*! - InfoWidgetEngine::setModelData - - Enables setting model initial data to engine. - */ -void InfoWidgetEngine::setModelData(const InfoWidgetEngine::ModelData &data) -{ - DPRINT; - m_modelData = data; -} - -/*! - InfoWidgetEngine::updateNetworkDataToModel + InfoWidgetEngine::updateNetworkDataToModel() */ void InfoWidgetEngine::updateNetworkDataToModel() { - DPRINT; + DPRINT << ": STUBBED"; } /*! @@ -86,7 +65,7 @@ */ void InfoWidgetEngine::updateSatDataToModel() { - DPRINT; + DPRINT << ": STUBBED"; } /*! @@ -94,32 +73,61 @@ */ void InfoWidgetEngine::updateLineDataToModel() { - DPRINT; + DPRINT << ": STUBBED"; } /*! InfoWidgetEngine::handleNetworkError */ -void InfoWidgetEngine::handleNetworkError(int operation, int errorCode) +void InfoWidgetEngine::handleNetworkError( + int operation, int errorCode) { - DPRINT << ": operation: " << operation << " error code: " << errorCode; + DPRINT << ": STUBBED"; } /*! InfoWidgetEngine::handleSatError */ -void InfoWidgetEngine::handleSatError(int operation, int errorCode) +void InfoWidgetEngine::handleSatError( + int operation, int errorCode) { - DPRINT << ": operation: " << operation << " error code: " << errorCode; + DPRINT << ": STUBBED"; } /*! InfoWidgetEngine::handleLineError */ -void InfoWidgetEngine::handleLineError(int operation, int errorCode) +void InfoWidgetEngine::handleLineError( + int operation, int errorCode) +{ + DPRINT << ": STUBBED"; +} + +/*! + InfoWidgetEngine::handlePreferencesChanged + */ +void InfoWidgetEngine::handlePreferencesChanged( + InfoWidgetPreferences::Options options) { - DPRINT << ": operation: " << operation << " error code: " << errorCode; + DPRINT << ": STUBBED"; +} + +/*! + InfoWidgetEngine::suspend + */ +void InfoWidgetEngine::suspend() +{ + DPRINT << ": STUBBED"; } +/*! + InfoWidgetEngine::preferenceChanged + */ +void InfoWidgetEngine::resume() +{ + DPRINT << ": STUBBED"; +} + + // End of File. diff -r 6b911d05207e -r bc5a64e5bc3c phoneplugins/infowidgetplugin/infowidget/src/infowidgetlayoutmanager.cpp --- a/phoneplugins/infowidgetplugin/infowidget/src/infowidgetlayoutmanager.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneplugins/infowidgetplugin/infowidget/src/infowidgetlayoutmanager.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -15,7 +15,6 @@ * */ -#include "infowidgetlayoutmanager.h" #include #include #include @@ -25,6 +24,8 @@ #include #include #include +#include +#include "infowidgetlayoutmanager.h" #include "infowidgetlogging.h" /*! @@ -67,47 +68,32 @@ const char LAYOUT_NAME_CONTAINER[] = "container"; /*! - InfoWidgetDocumentLoader::InfoWidgetDocumentLoader() - */ -InfoWidgetDocumentLoader::InfoWidgetDocumentLoader() -{ -} - -/*! - InfoWidgetDocumentLoader::createObject() + Create object from document. */ QObject *InfoWidgetDocumentLoader::createObject( const QString &type, const QString &name) { - DPRINT << ": IN"; - - DPRINT << ": type: "<< type; - DPRINT << ": name: "<< name; - + DPRINT; if ( type == HbMarqueeItem::staticMetaObject.className() ) { - DPRINT << ": HbMarqueeItem"; QObject *object = new HbMarqueeItem; object->setObjectName(name); - DPRINT << ": HbMarqueeitem found, OUT"; return object; } - - DPRINT << ": OUT"; return HbDocumentLoader::createObject(type, name); } /*! - InfoWidgetLayoutManager::InfoWidgetLayoutManager() + Constructor. */ InfoWidgetLayoutManager::InfoWidgetLayoutManager(QObject *parent) : QObject(parent), m_documentLoader(NULL), m_displayRole(InfoDisplay), - m_layoutRows(0) + m_layoutRows(0), + m_cachedLayoutRowHeight(0.0) { - DPRINT << ": IN"; - + DPRINT; // Fill supported layout item roles for info display QList displayWidgetRoles = widgetRoles(InfoDisplay); @@ -115,46 +101,38 @@ bool loadResult = loadWidgets(InfoDisplay, displayWidgetRoles, m_infoDisplayWidgets); - DPRINT << ": info display widget load result: " << loadResult; // Fill supported layout item roles for settings display displayWidgetRoles = widgetRoles(SettingsDialog); - + // Try to load all widgets in list by widget role loadResult = loadWidgets(SettingsDialog, displayWidgetRoles, m_settingsDialogWidgets); - DPRINT << ": settings dialog widget load result: " << loadResult; - - DPRINT << ": OUT"; } /*! - InfoWidgetLayoutManager::~InfoWidgetLayoutManager() + Destructor. */ InfoWidgetLayoutManager::~InfoWidgetLayoutManager() { - DPRINT << ": IN"; - + DPRINT; if (m_documentLoader) { delete m_documentLoader; } - - DPRINT << ": OUT"; } /*! - InfoWidgetLayoutManager::destroyWidgets() + Destroy all widgets. + Deletes parent widgets of each display + causing deletion of child items. */ void InfoWidgetLayoutManager::destroyWidgets() { - DPRINT << ": IN"; - + DPRINT; // Destroy parent items removeWidget(RoleContent); removeWidget(RoleSettingsDialog); - - DPRINT << ": OUT"; } /*! @@ -176,7 +154,7 @@ } /*! - InfoWidgetLayoutManager::layoutRows() + Returns count of layout rows. */ int InfoWidgetLayoutManager::layoutRows() const { @@ -185,7 +163,7 @@ } /*! - InfoWidgetLayoutManager::setLayoutRows() + Set count of layout rows. */ void InfoWidgetLayoutManager::setLayoutRows(int rows) { @@ -194,37 +172,28 @@ } /*! - InfoWidgetLayoutManager::layoutRowHeight() - - Read size from style, currently graphics icon size used - as it defines row height in layout. Real font height - and layout spacing could be used instead. + Read row height from style. */ -qreal InfoWidgetLayoutManager::layoutRowHeight() const +qreal InfoWidgetLayoutManager::layoutRowHeight() { - DPRINT; - HbStyle style; - qreal rowHeight; - - bool ok = style.parameter("hb-param-graphic-size-primary-small", - rowHeight); - if (!ok) { - DWARNING << ": Paremeters reading failed!! Using default"; - rowHeight = 26.8; + DPRINT; + // Read from style only if not already initialized + if (m_cachedLayoutRowHeight == 0.0) { + bool ok = hbInstance->style()->parameter("hb-param-graphic-size-primary-small", + m_cachedLayoutRowHeight); + DPRINT << ": row height from style: " << m_cachedLayoutRowHeight; + if (!ok) { + DWARNING << ": Error, paremeters reading failed!!"; + } } - - DPRINT << ": rowHeight: " << rowHeight; - return rowHeight; + return m_cachedLayoutRowHeight; } /*! - InfoWidgetLayoutManager::textFitsToRect() - - Check if text fits to given rect width. Return true also if - text width is null, or text width AND rect width is null. + Check if text fits to given rect width. */ bool InfoWidgetLayoutManager::textFitsToRect(QString text, - QFont font, QRectF rect) + QFont font, QRectF rect) const { bool fits(true); if (!rect.isEmpty()) { @@ -234,13 +203,13 @@ fits = false; } } - - DPRINT << ": fits: " << fits; return fits; } /*! - InfoWidgetLayoutManager::contentWidget() + Returns content widget. + The content widget is layout main widget and parent for + sub-widgets in current display. */ QGraphicsWidget* InfoWidgetLayoutManager::contentWidget() { @@ -249,7 +218,7 @@ } /*! - InfoWidgetLayoutManager::marqueeItems() + Returns list of marquee items. */ QList InfoWidgetLayoutManager::marqueeItems() { @@ -261,65 +230,47 @@ marqueeItemRoles.append(RoleMcnMarqueeItem); marqueeItemRoles.append(RoleSatMarqueeItem); - LayoutItemRole role; - HbMarqueeItem *item(NULL); - QGraphicsWidget *widget(NULL); - foreach (role, marqueeItemRoles) { - widget = getWidget(role); + foreach (LayoutItemRole role, marqueeItemRoles) { + QGraphicsWidget *widget = getWidget(role); if (widget) { - item = qobject_cast(widget); + HbMarqueeItem *item = + qobject_cast(widget); if (item) { items.append(item); item = NULL; } } } - DPRINT << ": count of marquee items: " << items.count(); return items; } /*! - InfoWidgetLayoutManager::getWidget(); + Get widget with given item role. */ QGraphicsWidget* InfoWidgetLayoutManager::getWidget(LayoutItemRole itemRole) { - DPRINT << ": item role: " << itemRole; - QGraphicsWidget *widget = m_widgets.value(itemRole); - if (widget) { - DPRINT << ": widget: " << widget; - } - return widget; } /*! - InfoWidgetLayoutManager::getObject(); + Get object with given item role. */ QObject* InfoWidgetLayoutManager::getObject(LayoutItemRole itemRole) { - DPRINT << ": item role: " << itemRole; - QObject *object = m_objects.value(itemRole); - if (object) { - DPRINT << ": object: " << object; - } - return object; } /*! - InfoWidgetLayoutManager::removeWidget(); + Remove widget with given item role. */ void InfoWidgetLayoutManager::removeWidget(LayoutItemRole itemRole, bool deleteLater) { - DPRINT << ": item role: " << itemRole; - + DPRINT; QGraphicsWidget *widget = m_widgets.value(itemRole); if (widget) { - DPRINT << ": removing widget: " << widget; - m_widgets.remove(itemRole); if (!deleteLater) { delete widget; } else { @@ -327,81 +278,66 @@ } } - widget = m_infoDisplayWidgets.value(itemRole); - if (widget) { - DPRINT << ": removing widget from m_infoDisplayWidgets"; - m_infoDisplayWidgets.remove(itemRole); - } - - widget = m_settingsDialogWidgets.value(itemRole); - if (widget) { - DPRINT << ": removing widget from m_settingsDialogWidgets"; - m_settingsDialogWidgets.remove(itemRole); - } + m_widgets.remove(itemRole); + m_infoDisplayWidgets.remove(itemRole); + m_settingsDialogWidgets.remove(itemRole); } /*! - InfoWidgetLayoutManager::layoutInfoDisplay() + Returns info display layout. */ QGraphicsLayout* InfoWidgetLayoutManager::layoutInfoDisplay() { - DPRINT << ": IN"; - + DPRINT; m_displayRole = InfoDisplay; m_widgets = m_infoDisplayWidgets; QGraphicsLayout *activeLayout(NULL); - DPRINT << ": getting content item and using its layout for activeLayout"; QGraphicsWidget *content = getWidget(RoleContent); if (content) { DPRINT << ": content found, getting layout"; activeLayout = content->layout(); } - - DPRINT << ": OUT"; return activeLayout; } /*! - InfoWidgetLayoutManager::layoutSettingsDialog() + Returns settings dialog layout. */ QGraphicsLayout* InfoWidgetLayoutManager::layoutSettingsDialog() { - DPRINT << ": IN"; - + DPRINT; m_displayRole = SettingsDialog; m_widgets = m_settingsDialogWidgets; QGraphicsLayout *activeLayout(NULL); - DPRINT << ": getting settingsDialog item"; QGraphicsWidget *dialog = getWidget(RoleSettingsDialog); if (dialog) { - DPRINT << ": dialog found, getting layout"; activeLayout = dialog->layout(); - - HbAction *okAction = qobject_cast(getObject(RoleOkAction)); + + HbAction *okAction = qobject_cast( + getObject(RoleOkAction)); if (okAction) { dialog->addAction(okAction); } - HbAction *cancelAction = qobject_cast(getObject(RoleCancelAction)); + HbAction *cancelAction = qobject_cast( + getObject(RoleCancelAction)); if (cancelAction) { dialog->addAction(cancelAction); } } - - DPRINT << ": OUT"; return activeLayout; } /*! - InfoWidgetLayoutManager::loadWidgets() + Load widgets from document for given display role. */ bool InfoWidgetLayoutManager::loadWidgets(const DisplayRole displayRole, const QList &displayWidgets, QMap &widgetMap) { - DPRINT << ": IN"; + DPRINT; bool loadResult(true); // Cleanup previously loaded content in case of any data @@ -410,7 +346,6 @@ if (!m_documentLoader) { m_documentLoader = new InfoWidgetDocumentLoader; } - Q_ASSERT(m_documentLoader); bool loaded = true; @@ -424,33 +359,25 @@ "InfoWidgetLayoutManager", "Invalid docml file"); - QGraphicsWidget *widget(NULL); - LayoutItemRole currentWidgetRole; - bool allWidgetsLoaded(true); - foreach (currentWidgetRole, displayWidgets) { - widget = loadWidget(*m_documentLoader, displayRole, currentWidgetRole); + foreach (LayoutItemRole role, displayWidgets) { + QGraphicsWidget *widget = + loadWidget(*m_documentLoader, displayRole, role); if (widget) { - widgetMap.insert(currentWidgetRole, widget); + widgetMap.insert(role, widget); widget = NULL; - } else { - allWidgetsLoaded = false; - DWARNING << ": widget not found!"; - } + } } - DPRINT << ": allWidgetsLoaded: " << allWidgetsLoaded; - - int widgetCount = widgetMap.count(); - if (widgetCount == displayWidgets.count()) { + if (widgetMap.count() == displayWidgets.count()) { loadResult = true; } else { DWARNING << ": all widgets were not loaded!"; loadResult = false; } - + + m_objects.clear(); if (displayRole == SettingsDialog) { - m_objects.clear(); QObject *okAction = loadObject(*m_documentLoader, displayRole, @@ -462,13 +389,14 @@ RoleCancelAction); m_objects.insert(RoleCancelAction, cancelAction); } - - DPRINT << ": OUT"; + return loadResult; } /*! - InfoWidgetLayoutManager::reloadWidgets() + Restores widgets from layout document. + Called when layout items have been deleted + and items should be shown again. */ bool InfoWidgetLayoutManager::reloadWidgets(const DisplayRole displayRole) { @@ -493,17 +421,13 @@ } /*! - InfoWidgetLayoutManager::loadWidget() - - Initialize loader with corresponding document file - before calling this single widget loader utility + Loads widget by given widget role id. */ QGraphicsWidget* InfoWidgetLayoutManager::loadWidget(InfoWidgetDocumentLoader &loader, DisplayRole displayRole, LayoutItemRole widgetRole) { - DPRINT << ": IN"; - + DPRINT; QString widgetPrefix; if (displayRole == InfoDisplay) { widgetPrefix = LAYOUT_PREFIX_INFO_DISPLAY; @@ -511,9 +435,7 @@ widgetPrefix = LAYOUT_PREFIX_SETTINGS_DIALOG; } - QGraphicsWidget *widget(NULL); QString widgetName = widgetPrefix; - switch (widgetRole) { case RoleContent: @@ -561,31 +483,19 @@ break; } - DPRINT << ": widget name: " << widgetName; - widget = qobject_cast(loader.findWidget(widgetName)); - - if (widget) { - DPRINT << ": widget found: " << widgetName; - } else { - DPRINT << ": ERROR, widget not found!"; - } - - DPRINT << ": OUT"; + QGraphicsWidget *widget = qobject_cast( + loader.findWidget(widgetName)); return widget; } /*! - InfoWidgetLayoutManager::loadObject() - - Initialize loader with corresponding document - file before calling this single object loader utility + Loads object by given object role id. */ QObject* InfoWidgetLayoutManager::loadObject(InfoWidgetDocumentLoader &loader, DisplayRole displayRole, LayoutItemRole objectRole) { - DPRINT << ": IN"; - + DPRINT; QString objectPrefix; if (displayRole == InfoDisplay) { objectPrefix = LAYOUT_PREFIX_INFO_DISPLAY; @@ -593,9 +503,7 @@ objectPrefix = LAYOUT_PREFIX_SETTINGS_DIALOG; } - QObject *object(NULL); QString objectName = objectPrefix; - switch (objectRole) { case RoleOkAction: @@ -609,25 +517,17 @@ default: break; } - - DPRINT << ": object name: " << objectName; - object = qobject_cast(loader.findObject(objectName)); - - if (object) { - DPRINT << ": object found: " << objectName; - } else { - DPRINT << ": ERROR, object not found!"; + + QObject *object = qobject_cast(loader.findObject(objectName)); + if (!object) { + DWARNING << ": ERROR, object not found!"; } - DPRINT << ": OUT"; return object; } - /*! - InfoWidgetLayoutManager::widgetRoles() - - Returns supported widget roles for specific display + Returns supported widget roles for specific display. */ const QList InfoWidgetLayoutManager::widgetRoles( DisplayRole displayRole) const @@ -657,7 +557,6 @@ break; } - DPRINT << ": widgetRoles.count() : " << widgetRoles.count(); return widgetRoles; } diff -r 6b911d05207e -r bc5a64e5bc3c phoneplugins/infowidgetplugin/infowidget/src/infowidgetnetworkhandler.cpp --- a/phoneplugins/infowidgetplugin/infowidget/src/infowidgetnetworkhandler.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneplugins/infowidgetplugin/infowidget/src/infowidgetnetworkhandler.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -37,12 +37,10 @@ InfoWidgetNetworkHandler::InfoWidgetNetworkHandler() */ InfoWidgetNetworkHandler::InfoWidgetNetworkHandler(QObject *parent) - : - QObject(parent), + :QObject(parent), m_nwSession(NULL) { DPRINT; - if (!createSession()) { DCRITICAL << ": session creation failed!"; } @@ -54,7 +52,6 @@ InfoWidgetNetworkHandler::~InfoWidgetNetworkHandler() { DPRINT; - // Disable MCN setting, // display client is being deleted disableMcn(); @@ -87,14 +84,6 @@ } /*! - InfoWidgetNetworkHandler::sessionExists() -*/ -bool InfoWidgetNetworkHandler::sessionExists() -{ - return !m_nwSession.isNull(); -} - -/*! InfoWidgetNetworkHandler::suspend() */ void InfoWidgetNetworkHandler::suspend() @@ -220,17 +209,18 @@ bool InfoWidgetNetworkHandler::isOnline() const { bool online(false); - - switch (networkRegistrationStatus()) { - case ENWRegisteredBusy: // Fall through - case ENWRegisteredOnHomeNetwork: // Fall through - case ENWRegisteredRoaming: - online = true; - break; - default: - break; + + if (!m_nwSession.isNull()) { + switch (networkRegistrationStatus()) { + case ENWRegisteredBusy: // Fall through + case ENWRegisteredOnHomeNetwork: // Fall through + case ENWRegisteredRoaming: + online = true; + break; + default: + break; + } } - DPRINT << ": online: " << online; return online; } diff -r 6b911d05207e -r bc5a64e5bc3c phoneplugins/infowidgetplugin/infowidget/src/infowidgetsathandler.cpp --- a/phoneplugins/infowidgetplugin/infowidget/src/infowidgetsathandler.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneplugins/infowidgetplugin/infowidget/src/infowidgetsathandler.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -53,20 +53,19 @@ */ void InfoWidgetSatHandler::connect(bool connect) { - DPRINT << ": IN : connected = " << m_connected - << " : connect = " << connect; - + DPRINT; if (connect && !m_connected) { DPRINT << "connect and startObserving() "; m_connected = m_satHandlerPrivate->connect(); - if(m_connected){ + if (m_connected) { m_satHandlerPrivate->startObserving(); } - }else if (!connect && m_connected){ + } else if (!connect && m_connected) { DPRINT << "disconnect and stopObserving() "; - m_connected = m_satHandlerPrivate->disconnect(); + m_satHandlerPrivate->disconnect(); + m_connected = false; } - DPRINT << ": OUT : connected = " << m_connected; + DPRINT << ": connected = " << m_connected; } /*! @@ -81,7 +80,8 @@ /*! InfoWidgetSatHandler::setSatDisplayText */ -void InfoWidgetSatHandler::setSatDisplayText(const QString& displayText) +void InfoWidgetSatHandler::setSatDisplayText( + const QString& displayText) { DPRINT << ": display text: " << displayText; m_displayText = displayText; @@ -93,25 +93,25 @@ void InfoWidgetSatHandler::handleIdleModeTxtMessage(int idleResult) { DPRINT << ": handleIdleModeTxtMessage: " << idleResult; - if(m_connected){ + if (m_connected) { m_satService.SetIdleModeTextResponse( - (RSatService::TSATIdleResult)idleResult); - } - else{ + static_cast(idleResult)); + } else { m_satService.SetIdleModeTextResponse( RSatService::ESATIdleCmdBeyondMeCapabilities ); } - //Pass the result + // Emit the result emit handleMessage(idleResult); } /*! InfoWidgetSatHandler::handleSatError */ -void InfoWidgetSatHandler::handleSatError(int operation, int errorCode) +void InfoWidgetSatHandler::handleSatError( + int operation, int errorCode) { - DPRINT << ": satError : operation: " << + DWARNING << ": satError : operation: " << operation << ": errorCode: "< +#include "infowidgetsathandler_p.h" +#include "infowidgetsathandler.h" +#include "infowidgetlogging.h" + +/*! + \class InfoWidgetSatHandlerPrivate + \brief Private implementation of InfoWidgetSatHandler +*/ + +/*! + Constructor. + */ +InfoWidgetSatHandlerPrivate::InfoWidgetSatHandlerPrivate( + InfoWidgetSatHandler *satHandler, RSatService& satService) + : CActive(CActive::EPriorityStandard), + m_satHandler(satHandler), + m_satService(satService) +{ + DPRINT; + CActiveScheduler::Add(this); +} + +/*! + Desctuctor. +*/ +InfoWidgetSatHandlerPrivate::~InfoWidgetSatHandlerPrivate() +{ + DPRINT; + Cancel(); +} + +/*! + Connect RSatSession and open RSatService. + */ +bool InfoWidgetSatHandlerPrivate::connect() +{ + TInt err( KErrNone ); + bool connected(false); + + TRAP(err, m_satSession.ConnectL()); + if (KErrNone != err) { + DCRITICAL << ": Exception occured while connecting SatSession:" << err; + } + else{ + TRAP(err, m_satService.OpenL(m_satSession)); + if (KErrNone != err) { + DCRITICAL << ": Exception occured while opening SatService:" << err; + m_satSession.Close(); + } else { + connected = true; + } + } + + return connected; +} + +/*! + Gets initial content if any and starts + listening for changes. + */ +void InfoWidgetSatHandlerPrivate::startObserving() +{ + // Not observing yet but + getIdleModeData(); + // in case there were content, there is need to send response to SAT + if (!m_idleTxt.isEmpty()) { + m_satHandler->handleIdleModeTxtMessage(m_idleResult); + } + // Start observing for changes + activate(); +} + +/*! + Disconnect session(s) and reset idle text data. + */ +void InfoWidgetSatHandlerPrivate::disconnect() +{ + DPRINT; + m_idleTxt.clear(); + Cancel(); + m_satService.NotifySetupIdleModeTextChangeCancel(); + m_satService.Close(); + m_satSession.Close(); +} + +/*! + Get idle mode text. + */ +void InfoWidgetSatHandlerPrivate::getIdleModeData() +{ + DPRINT << ": IN"; + HBufC* string(NULL); + TUint8 recordId(NULL); + RSatService::TSatIconQualifier iconQualifier( + RSatService::ESatIconNoIcon ); + + // Get setup idle mode text, icon qualifier and record id. + TInt result(KErrNotFound); + TRAP(result, m_satService.GetSetupIdleModeTextL( + string, iconQualifier, recordId)); + + if (0 != result) { + DWARNING << ": Exception occured while GetSetupIdleModeTextL :" << result; + m_idleResult = RSatService::ESATIdleMeUnableToProcessCmd; + } else{ + if (RSatService::ESatIconSelfExplanatory != iconQualifier) { + m_idleTxt = QString((QChar*)string->Des().Ptr(), string->Length()); + }else { + m_idleTxt.clear(); + } + //Determine result + if(RSatService::ESatIconNoIcon != iconQualifier + && !m_idleTxt.isEmpty()){ + // Icon requested but we don't have icon support + m_idleResult = RSatService::ESATIdleSuccessRequestedIconNotDisplayed; + }else if(RSatService::ESatIconNoIcon == iconQualifier + && !m_idleTxt.isEmpty()){ + m_idleResult = RSatService::ESATIdleSuccess; + }else{ + // Got empty string, could be permanent problem as well + m_idleResult = RSatService::ESATIdleMeUnableToProcessCmd; + } + } + delete string; + + // Text (m_idleTxt) is empty in case of selfexplanatory icon + m_satHandler->setSatDisplayText(m_idleTxt); + DPRINT << ": OUT"; +} + +/*! + InfoWidgetSatHandlerPrivate::RunL + */ +void InfoWidgetSatHandlerPrivate::RunL() +{ + DPRINT; + if (KErrNone == iStatus.Int()) { + getIdleModeData(); + m_satHandler->handleIdleModeTxtMessage(m_idleResult); + } else { + m_satHandler->handleSatError(1, iStatus.Int()); + } + + if (!IsActive()) { + activate(); + } +} + +/*! + Cancel SetupIdleModeTextChange notify. + */ +void InfoWidgetSatHandlerPrivate::DoCancel() +{ + DPRINT; + m_satService.NotifySetupIdleModeTextChangeCancel(); +} + +/*! + Start listening SetupIdleModeTextChange notify. + */ +void InfoWidgetSatHandlerPrivate::activate() +{ + DPRINT; + Cancel(); + TInt error = m_satService.NotifySetupIdleModeTextChange(iStatus); + + if (KErrNone == error) { + SetActive(); + } +} + +// End of File. + + diff -r 6b911d05207e -r bc5a64e5bc3c phoneplugins/infowidgetplugin/infowidget/src/infowidgetsathandlerprivate.cpp --- a/phoneplugins/infowidgetplugin/infowidget/src/infowidgetsathandlerprivate.cpp Wed Jun 23 18:12:20 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,200 +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 "infowidgetsathandlerprivate.h" -#include "infowidgetsathandler.h" -#include "infowidgetlogging.h" - -/*! - \class InfoWidgetSatHandlerPrivate - \brief Private implementation of InfoWidgetSatHandler -*/ - -/*! - InfoWidgetSatHandlerPrivate::InfoWidgetSatHandlerPrivate - */ -InfoWidgetSatHandlerPrivate::InfoWidgetSatHandlerPrivate( - InfoWidgetSatHandler *iwSatHandler, RSatService& satService) - : CActive(CActive::EPriorityStandard), - q_ptr(iwSatHandler), - m_satService(satService) -{ - DPRINT << ": IN"; - CActiveScheduler::Add(this); - DPRINT << ": OUT"; -} - -/*! - InfoWidgetSatHandlerPrivate::~InfoWidgetSatHandlerPrivate -*/ -InfoWidgetSatHandlerPrivate::~InfoWidgetSatHandlerPrivate() -{ - DPRINT << ": IN"; - Cancel(); - DPRINT << ": OUT"; -} - -/*! - InfoWidgetSatHandlerPrivate::connect - */ -bool InfoWidgetSatHandlerPrivate::connect() -{ - TInt err( KErrNone ); - bool connected(false); - - TRAP(err, m_satSession.ConnectL()); - if (KErrNone != err) { - DPRINT << ": Exception occured while connecting SatSession:" << err; - } - else{ - TRAP(err, m_satService.OpenL(m_satSession)); - if (KErrNone != err) { - DCRITICAL << ": Exception occured while opening SatService:" << err; - DCRITICAL << ": closing SAT session"; - m_satSession.Close(); - } else { - connected = true; - } - } - - return connected; -} - -/*! - InfoWidgetSatHandlerPrivate::startObserving - - To get initial content if any and start listening - */ -void InfoWidgetSatHandlerPrivate::startObserving() -{ - //not observing yet but - getIdleModeData(); - // in case there were content, there is need to send response to SAT - if(!m_idleTxt.isEmpty()){ - q_ptr->handleIdleModeTxtMessage( m_idleResult ); - } - // Start observing for changes - activate(); -} - -/*! - InfoWidgetSatHandlerPrivate::disconnect - */ -int InfoWidgetSatHandlerPrivate::disconnect() -{ - DPRINT << ": IN"; - m_idleTxt = ""; - Cancel(); - m_satService.NotifySetupIdleModeTextChangeCancel(); - m_satService.Close(); - m_satSession.Close(); - - DPRINT << ": OUT"; - return 0;//TODO:Fixme -} - -/*! - InfoWidgetSatHandlerPrivate::getIdleModeData - */ -void InfoWidgetSatHandlerPrivate::getIdleModeData() -{ - HBufC* string( NULL ); - TUint8 recordId( NULL ); - RSatService::TSatIconQualifier iconQualifier( - RSatService::ESatIconNoIcon ); - - // Get setup idle mode text, icon qualifier and record id. - TInt result( KErrNotFound ); - TRAP(result, m_satService.GetSetupIdleModeTextL( string, iconQualifier, recordId )); - if (0 != result) { - DPRINT << ": Exception occured while GetSetupIdleModeTextL :" << result; - m_idleResult = RSatService::ESATIdleMeUnableToProcessCmd; - } - else{ - DPRINT << "string->Length() : " << string->Length(); - if(RSatService::ESatIconSelfExplanatory != iconQualifier){ - m_idleTxt = QString((QChar*)string->Des().Ptr(), string->Length()); - }else{ - m_idleTxt = ""; - } - //determine result - if(RSatService::ESatIconNoIcon != iconQualifier - && !m_idleTxt.isEmpty()){ - //icon requested but we don't have icon support - m_idleResult = RSatService::ESATIdleSuccessRequestedIconNotDisplayed; - }else if(RSatService::ESatIconNoIcon == iconQualifier - && !m_idleTxt.isEmpty()){ - m_idleResult = RSatService::ESATIdleSuccess; - }else{ //got empty string, could be permanen problem as well? - //m_idleResult = RSatService::ESATIdleCmdBeyondMeCapabilities - m_idleResult = RSatService::ESATIdleMeUnableToProcessCmd; - } - } - delete string; - q_ptr->setSatDisplayText(m_idleTxt);//empty in case of selexplanatory icon -} - -/*! - InfoWidgetSatHandlerPrivate::RunL - */ -void InfoWidgetSatHandlerPrivate::RunL() -{ - DPRINT << ": IN"; - if ( KErrNone == iStatus.Int() ) - { - getIdleModeData(); - q_ptr->handleIdleModeTxtMessage( m_idleResult ); - } else { - q_ptr->handleSatError(1,iStatus.Int()); - } - if ( !IsActive() ) - { - activate(); - } - DPRINT << ": OUT"; -} - -/*! - InfoWidgetSatHandlerPrivate::DoCancel - */ -void InfoWidgetSatHandlerPrivate::DoCancel() -{ - DPRINT << ": IN"; - m_satService.NotifySetupIdleModeTextChangeCancel(); - DPRINT << ": OUT"; -} - -/*! - InfoWidgetSatHandlerPrivate::activate - */ -void InfoWidgetSatHandlerPrivate::activate() -{ - DPRINT << ": IN"; - Cancel(); - TInt error = m_satService.NotifySetupIdleModeTextChange( iStatus ); - - if ( KErrNone == error ) - { - SetActive(); - } - DPRINT << ": OUT"; -} - -// End of File. - - diff -r 6b911d05207e -r bc5a64e5bc3c phoneplugins/infowidgetplugin/infowidgetplugin.pri --- a/phoneplugins/infowidgetplugin/infowidgetplugin.pri Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneplugins/infowidgetplugin/infowidgetplugin.pri Tue Jul 06 14:15:47 2010 +0300 @@ -1,69 +1,47 @@ -# # 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: -# -# - HEADERS += ./inc/infowidgetplugin.h \ - ./inc/infowidgetlogging.h \ - ./infowidget/inc/infowidget.h \ - ./infowidget/inc/infowidgetlayoutmanager.h \ - ./infowidget/inc/infowidgetpreferences.h \ - ./infowidget/inc/infowidgetengine.h \ - ./infowidget/inc/infowidgetsathandlerprivate.h - -symbian: { - HEADERS += ./infowidget/inc/infowidgetnetworkhandler.h \ - ./infowidget/inc/infowidgetsathandler.h \ - ./infowidget/inc/infowidgetlinehandler.h -} -SOURCES += infowidget/src/infowidgetsathandlerprivate.cpp \ + ./inc/infowidgetlogging.h \ + ./infowidget/inc/infowidget.h \ + ./infowidget/inc/infowidgetlayoutmanager.h \ + ./infowidget/inc/infowidgetpreferences.h \ + ./infowidget/inc/infowidgetengine.h +symbian::HEADERS += ./infowidget/inc/infowidgetnetworkhandler.h \ + ./infowidget/inc/infowidgetsathandler.h \ + ./infowidget/inc/infowidgetsathandler_p.h \ + ./infowidget/inc/infowidgetlinehandler.h +SOURCES += infowidget/src/infowidgetsathandler_p.cpp \ ./src/infowidgetplugin.cpp \ ./infowidget/src/infowidget.cpp \ ./infowidget/src/infowidgetlayoutmanager.cpp \ - ./infowidget/src/infowidgetengine.cpp + ./infowidget/src/infowidgetpreferences.cpp +symbian::SOURCES += ./infowidget/src/infowidgetengine.cpp \ + ./infowidget/src/infowidgetnetworkhandler.cpp \ + ./infowidget/src/infowidgetsathandler.cpp \ + ./infowidget/src/infowidgetlinehandler.cpp +else::SOURCES += ./infowidget/src/infowidgetengine_s.cpp -symbian: { - SOURCES += ./infowidget/src/infowidgetpreferences.cpp \ - ./infowidget/src/infowidgetnetworkhandler.cpp \ - ./infowidget/src/infowidgetsathandler.cpp \ - ./infowidget/src/infowidgetlinehandler.cpp -} else: { - SOURCES += ./infowidget/src/infowidgetengine_s.cpp \ - ./infowidget/src/infowidgetpreferences_s.cpp +defineTest(exportResources):symbian { + for(subdirs, 1) { + entries = $$files($$subdirs) + for(entry, entries):BLD_INF_RULES.prj_exports += "./$$entry z:/$$replace(2, ^/,)/$$basename(entry)" + } + export ( BLD_INF_RULES.prj_exports) } - -defineTest(exportResources) { - symbian { - for(subdirs, 1) { - entries = $$files($$subdirs) - for(entry, entries) : BLD_INF_RULES.prj_exports += "./$$entry z:/$$replace(2, ^/,)/$$basename(entry)" - } - export ( BLD_INF_RULES.prj_exports) - } -} - -symbian: plugin { # copy qtstub and manifest - +symbian:plugin { # copy qtstub and manifest pluginstub.sources = $${TARGET}.dll pluginstub.path = $$PLUGIN_SUBDIR - DEPLOYMENT += pluginstub - qtplugins.path = $$PLUGIN_SUBDIR qtplugins.sources += qmakepluginstubs/$${TARGET}.qtplugin contains(MOBILITY, serviceframework):BLD_INF_RULES.prj_exports += "resource/$${TARGET}.xml z:$$qtplugins.path/$${TARGET}.xml" - for(qtplugin, qtplugins.sources):BLD_INF_RULES.prj_exports += "./$$qtplugin z:$$qtplugins.path/$$basename(qtplugin)" } diff -r 6b911d05207e -r bc5a64e5bc3c phoneplugins/infowidgetplugin/resource/infowidget.docml --- a/phoneplugins/infowidgetplugin/resource/infowidget.docml Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneplugins/infowidgetplugin/resource/infowidget.docml Tue Jul 06 14:15:47 2010 +0300 @@ -2,7 +2,6 @@ - @@ -55,10 +54,9 @@ - - + diff -r 6b911d05207e -r bc5a64e5bc3c phoneplugins/infowidgetplugin/tsrc/mocks/mock_cnwsession.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phoneplugins/infowidgetplugin/tsrc/mocks/mock_cnwsession.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -0,0 +1,44 @@ +/* +* 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 "cnwsession.h" + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CNWSession::CNWSession +// ----------------------------------------------------------------------------- +// +CNWSession::CNWSession( ) + //: + //CBase( /**/ ) + { + + } + + +// ----------------------------------------------------------------------------- +// CNWSession::~CNWSession +// ----------------------------------------------------------------------------- +// +CNWSession::~CNWSession( ) + { + + } + + diff -r 6b911d05207e -r bc5a64e5bc3c phoneplugins/infowidgetplugin/tsrc/mocks/mock_infowidget.cpp --- a/phoneplugins/infowidgetplugin/tsrc/mocks/mock_infowidget.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneplugins/infowidgetplugin/tsrc/mocks/mock_infowidget.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -327,9 +327,9 @@ // ----------------------------------------------------------------------------- // void InfoWidget::settingsDialogClosed( - HbAction * action ) + HbAction *sss ) { - //SMC_MOCK_METHOD1( void, HbAction *, action ) + SMC_MOCK_METHOD1( void, HbAction *, sss ) } @@ -337,10 +337,9 @@ // InfoWidget::startMarquees // ----------------------------------------------------------------------------- // -bool InfoWidget::startMarquees( - AnimationStartDelay delay ) +bool InfoWidget::startMarquees() { - SMC_MOCK_METHOD1( bool, AnimationStartDelay, delay ) + SMC_MOCK_METHOD0( bool ) } diff -r 6b911d05207e -r bc5a64e5bc3c phoneplugins/infowidgetplugin/tsrc/mocks/mock_infowidgetlayoutmanager.cpp --- a/phoneplugins/infowidgetplugin/tsrc/mocks/mock_infowidgetlayoutmanager.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneplugins/infowidgetplugin/tsrc/mocks/mock_infowidgetlayoutmanager.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -243,7 +243,7 @@ // InfoWidgetLayoutManager::layoutRowHeight // ----------------------------------------------------------------------------- // -qreal InfoWidgetLayoutManager::layoutRowHeight( ) const +qreal InfoWidgetLayoutManager::layoutRowHeight( ) { SMC_MOCK_METHOD0( qreal ) } @@ -256,7 +256,7 @@ bool InfoWidgetLayoutManager::textFitsToRect( QString text, QFont font, - QRectF rect ) + QRectF rect ) const { SMC_MOCK_METHOD3( bool, QString, text, QFont, font, @@ -265,18 +265,6 @@ // ----------------------------------------------------------------------------- -// InfoWidgetDocumentLoader::InfoWidgetDocumentLoader -// ----------------------------------------------------------------------------- -// -InfoWidgetDocumentLoader::InfoWidgetDocumentLoader( ) - //: - //HbDocumentLoader( /**/ ) - { - - } - - -// ----------------------------------------------------------------------------- // InfoWidgetDocumentLoader::createObject // ----------------------------------------------------------------------------- // diff -r 6b911d05207e -r bc5a64e5bc3c phoneplugins/infowidgetplugin/tsrc/mocks/mock_infowidgetnetworkhandler.cpp --- a/phoneplugins/infowidgetplugin/tsrc/mocks/mock_infowidgetnetworkhandler.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneplugins/infowidgetplugin/tsrc/mocks/mock_infowidgetnetworkhandler.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -57,16 +57,6 @@ // ----------------------------------------------------------------------------- -// InfoWidgetNetworkHandler::sessionExists -// ----------------------------------------------------------------------------- -// -bool InfoWidgetNetworkHandler::sessionExists( ) - { - SMC_MOCK_METHOD0( bool ) - } - - -// ----------------------------------------------------------------------------- // InfoWidgetNetworkHandler::serviceProviderName // ----------------------------------------------------------------------------- // diff -r 6b911d05207e -r bc5a64e5bc3c phoneplugins/infowidgetplugin/tsrc/mocks/mock_infowidgetsathandler_p.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phoneplugins/infowidgetplugin/tsrc/mocks/mock_infowidgetsathandler_p.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -0,0 +1,95 @@ +/* +* 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 "infowidgetsathandler_p.h" + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// InfoWidgetSatHandlerPrivate::InfoWidgetSatHandlerPrivate +// ----------------------------------------------------------------------------- +// +InfoWidgetSatHandlerPrivate::InfoWidgetSatHandlerPrivate( + InfoWidgetSatHandler * iwSatHandler, + RSatService & iSatService ) + :CActive( 0 ), + m_satService(iSatService) + + { + Q_UNUSED(iwSatHandler) + } + + +// ----------------------------------------------------------------------------- +// InfoWidgetSatHandlerPrivate::~InfoWidgetSatHandlerPrivate +// ----------------------------------------------------------------------------- +// +InfoWidgetSatHandlerPrivate::~InfoWidgetSatHandlerPrivate( ) + { + + } + + +// ----------------------------------------------------------------------------- +// InfoWidgetSatHandlerPrivate::startObserving +// ----------------------------------------------------------------------------- +// +void InfoWidgetSatHandlerPrivate::startObserving( ) + { + SMC_MOCK_METHOD0( void ) + } + + +// ----------------------------------------------------------------------------- +// InfoWidgetSatHandlerPrivate::connect +// ----------------------------------------------------------------------------- +// +bool InfoWidgetSatHandlerPrivate::connect( ) + { + SMC_MOCK_METHOD0( bool ) + } + + +// ----------------------------------------------------------------------------- +// InfoWidgetSatHandlerPrivate::disconnect +// ----------------------------------------------------------------------------- +// +void InfoWidgetSatHandlerPrivate::disconnect( ) + { + SMC_MOCK_METHOD0( void ) + } + +// ----------------------------------------------------------------------------- +// InfoWidgetSatHandlerPrivate::DoCancel +// ----------------------------------------------------------------------------- +// +void InfoWidgetSatHandlerPrivate::DoCancel( ) + { + SMC_MOCK_METHOD0( void ) + } + + +// ----------------------------------------------------------------------------- +// InfoWidgetSatHandlerPrivate::RunL +// ----------------------------------------------------------------------------- +// +void InfoWidgetSatHandlerPrivate::RunL( ) + { + SMC_MOCK_METHOD0( void ) + } + diff -r 6b911d05207e -r bc5a64e5bc3c phoneplugins/infowidgetplugin/tsrc/mocks/mock_infowidgetsathandlerprivate.cpp --- a/phoneplugins/infowidgetplugin/tsrc/mocks/mock_infowidgetsathandlerprivate.cpp Wed Jun 23 18:12:20 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,95 +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 "infowidgetsathandlerprivate.h" - -// ============================ MEMBER FUNCTIONS =============================== - -// ----------------------------------------------------------------------------- -// InfoWidgetSatHandlerPrivate::InfoWidgetSatHandlerPrivate -// ----------------------------------------------------------------------------- -// -InfoWidgetSatHandlerPrivate::InfoWidgetSatHandlerPrivate( - InfoWidgetSatHandler * iwSatHandler, - RSatService & iSatService ) - :CActive( 0 ), - m_satService(iSatService) - - { - Q_UNUSED(iwSatHandler) - } - - -// ----------------------------------------------------------------------------- -// InfoWidgetSatHandlerPrivate::~InfoWidgetSatHandlerPrivate -// ----------------------------------------------------------------------------- -// -InfoWidgetSatHandlerPrivate::~InfoWidgetSatHandlerPrivate( ) - { - - } - - -// ----------------------------------------------------------------------------- -// InfoWidgetSatHandlerPrivate::startObserving -// ----------------------------------------------------------------------------- -// -void InfoWidgetSatHandlerPrivate::startObserving( ) - { - SMC_MOCK_METHOD0( void ) - } - - -// ----------------------------------------------------------------------------- -// InfoWidgetSatHandlerPrivate::connect -// ----------------------------------------------------------------------------- -// -bool InfoWidgetSatHandlerPrivate::connect( ) - { - SMC_MOCK_METHOD0( bool ) - } - - -// ----------------------------------------------------------------------------- -// InfoWidgetSatHandlerPrivate::disconnect -// ----------------------------------------------------------------------------- -// -int InfoWidgetSatHandlerPrivate::disconnect( ) - { - SMC_MOCK_METHOD0( int ) - } - -// ----------------------------------------------------------------------------- -// InfoWidgetSatHandlerPrivate::DoCancel -// ----------------------------------------------------------------------------- -// -void InfoWidgetSatHandlerPrivate::DoCancel( ) - { - SMC_MOCK_METHOD0( void ) - } - - -// ----------------------------------------------------------------------------- -// InfoWidgetSatHandlerPrivate::RunL -// ----------------------------------------------------------------------------- -// -void InfoWidgetSatHandlerPrivate::RunL( ) - { - SMC_MOCK_METHOD0( void ) - } - diff -r 6b911d05207e -r bc5a64e5bc3c phoneplugins/infowidgetplugin/tsrc/ut_infowidget/src/ut_infowidget.cpp --- a/phoneplugins/infowidgetplugin/tsrc/ut_infowidget/src/ut_infowidget.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneplugins/infowidgetplugin/tsrc/ut_infowidget/src/ut_infowidget.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -670,26 +670,20 @@ m_infoWidget->m_animatingItems.append(&satMarqueeItem); // Test 1: - m_infoWidget->m_animationState = InfoWidget::AnimationIdle; - started = m_infoWidget->startMarquees(InfoWidget::StartNoDelay); + m_infoWidget->m_animationState = InfoWidget::AnimationIdle; + started = m_infoWidget->startMarquees(); QVERIFY(started); - QVERIFY(m_infoWidget->m_animationState == InfoWidget::AnimationOngoing); + QVERIFY(m_infoWidget->m_animationState == InfoWidget::AnimationStarting); // Test 2: - m_infoWidget->m_animationState = InfoWidget::AnimationIdle; - started = m_infoWidget->startMarquees(InfoWidget::StartDelayed); - QVERIFY(started); - QVERIFY(m_infoWidget->m_animationState == InfoWidget::AnimationStarting); - - // Test 3: m_infoWidget->m_animationState = InfoWidget::AnimationStarting; - started = m_infoWidget->startMarquees(InfoWidget::StartDelayed); + started = m_infoWidget->startMarquees(); QVERIFY(!started); QVERIFY(m_infoWidget->m_animationState == InfoWidget::AnimationStarting); - // Test 4: + // Test 3: m_infoWidget->m_animationState = InfoWidget::AnimationOngoing; - started = m_infoWidget->startMarquees(InfoWidget::StartDelayed); + started = m_infoWidget->startMarquees(); QVERIFY(!started); QVERIFY(m_infoWidget->m_animationState == InfoWidget::AnimationOngoing); diff -r 6b911d05207e -r bc5a64e5bc3c phoneplugins/infowidgetplugin/tsrc/ut_infowidgetengine/src/ut_infowidgetengine.cpp --- a/phoneplugins/infowidgetplugin/tsrc/ut_infowidgetengine/src/ut_infowidgetengine.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneplugins/infowidgetplugin/tsrc/ut_infowidgetengine/src/ut_infowidgetengine.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -61,8 +61,6 @@ SmcDefaultValue::SetL(""); SmcDefaultValue::SetL(""); - EXPECT(InfoWidgetNetworkHandler::sessionExists) - .returns(true); EXPECT(InfoWidgetNetworkHandler::isOnline) .returns(true); @@ -116,8 +114,6 @@ void UT_InfoWidgetEngine::t_updateNetworkDataToModel() { // Test: network status is online - EXPECT(InfoWidgetNetworkHandler::sessionExists) - .returns(true); EXPECT(InfoWidgetNetworkHandler::isOnline) .returns(true); @@ -146,8 +142,6 @@ QVERIFY(verify()); // Test: network status is offline - EXPECT(InfoWidgetNetworkHandler::sessionExists) - .returns(true); EXPECT(InfoWidgetNetworkHandler::isOnline) .returns(false); EXPECT(InfoWidgetNetworkHandler::serviceProviderName).times(0); diff -r 6b911d05207e -r bc5a64e5bc3c phoneplugins/infowidgetplugin/tsrc/ut_infowidgetnetworkhandler/inc/ut_infowidgetnetworkhandler.h --- a/phoneplugins/infowidgetplugin/tsrc/ut_infowidgetnetworkhandler/inc/ut_infowidgetnetworkhandler.h Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneplugins/infowidgetplugin/tsrc/ut_infowidgetnetworkhandler/inc/ut_infowidgetnetworkhandler.h Tue Jul 06 14:15:47 2010 +0300 @@ -25,6 +25,8 @@ class InfoWidgetNetworkHandler; class TNWInfo; + + class UT_InfoWidgetNetworkHandler : public QObject, public MockService { Q_OBJECT @@ -66,9 +68,7 @@ TNWInfo& aTNWInfo); private: - InfoWidgetNetworkHandler *m_networkHandler; - }; #endif // UT_INFOWIDGETNETWORKHANDLER_H diff -r 6b911d05207e -r bc5a64e5bc3c phoneplugins/infowidgetplugin/tsrc/ut_infowidgetnetworkhandler/src/ut_infowidgetnetworkhandler.cpp --- a/phoneplugins/infowidgetplugin/tsrc/ut_infowidgetnetworkhandler/src/ut_infowidgetnetworkhandler.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneplugins/infowidgetplugin/tsrc/ut_infowidgetnetworkhandler/src/ut_infowidgetnetworkhandler.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -16,6 +16,7 @@ */ #include #include +#include #include "qtestmains60.h" #include #include @@ -23,6 +24,14 @@ #define private public #include "infowidgetnetworkhandler.h" +class CMyNWSession : public CNWSession +{ +public: + CMyNWSession(){}; + ~CMyNWSession(){}; +}; + + #define EXPECT_NO_EXCEPTION(statements) \ { \ bool exceptionDetected = false; \ @@ -42,15 +51,15 @@ const TNWMCNIndicatorType KMcnIndicatorType = ENWMCNIndicatorTypeActive; +const QString KSpnName("SpnNameSpnName.."); // max length 16 /*! UT_InfoWidgetNetworkHandler::UT_InfoWidgetNetworkHandler */ UT_InfoWidgetNetworkHandler::UT_InfoWidgetNetworkHandler() : - m_networkHandler(0) -{ - + m_networkHandler(NULL) +{ } @@ -87,8 +96,17 @@ SmcDefaultValue::SetL(""); SmcDefaultValue::SetL(""); - EXPECT(CreateL).willOnce(invoke(this, &initializeNetworkInfo)); + + // Ownership is transferred to InfoWidgetNetworkHandler + CMyNWSession *session= new (ELeave)CMyNWSession(); + EXPECT(CreateL).returns(session);; m_networkHandler = new InfoWidgetNetworkHandler(); + + m_networkHandler->m_nwInfo.iViagTextTag.Copy(KHomeZoneTextTag.utf16()); + m_networkHandler->m_nwInfo.iViagIndicatorType = KHomeZoneIndicatorType; + m_networkHandler->m_nwInfo.iMCNName.Copy(KMcnName.utf16()); + m_networkHandler->m_nwInfo.iMCNIndicatorType = KMcnIndicatorType; + m_networkHandler->m_nwInfo.iSPName.Copy(KSpnName.utf16()); QVERIFY(verify()); } @@ -349,8 +367,7 @@ */ void UT_InfoWidgetNetworkHandler::t_serviceProviderName() { - QString s = ""; - QCOMPARE(m_networkHandler->serviceProviderName(), s); + QCOMPARE(m_networkHandler->serviceProviderName(), KSpnName); } /*! diff -r 6b911d05207e -r bc5a64e5bc3c phoneplugins/infowidgetplugin/tsrc/ut_infowidgetnetworkhandler/ut_infowidgetnetworkhandler.pro --- a/phoneplugins/infowidgetplugin/tsrc/ut_infowidgetnetworkhandler/ut_infowidgetnetworkhandler.pro Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneplugins/infowidgetplugin/tsrc/ut_infowidgetnetworkhandler/ut_infowidgetnetworkhandler.pro Tue Jul 06 14:15:47 2010 +0300 @@ -33,7 +33,8 @@ INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE LIBS += -lmocklib \ -lsymbianmock \ - -lcpframework + -lcpframework + } # test code @@ -46,6 +47,7 @@ # mocks needed for testing SOURCES += ../mocks/mock_networkhandlingproxy.cpp +SOURCES += ../mocks/mock_cnwsession.cpp HEADERS += /epoc32/include/platform/mw/xqsettingskey.h \ /epoc32/include/platform/mw/xqsettingsmanager.h diff -r 6b911d05207e -r bc5a64e5bc3c phoneplugins/infowidgetplugin/tsrc/ut_infowidgetsathandler/ut_infowidgetsathandler.pro --- a/phoneplugins/infowidgetplugin/tsrc/ut_infowidgetsathandler/ut_infowidgetsathandler.pro Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneplugins/infowidgetplugin/tsrc/ut_infowidgetsathandler/ut_infowidgetsathandler.pro Tue Jul 06 14:15:47 2010 +0300 @@ -46,4 +46,4 @@ # mocks needed for testing SOURCES += ../mocks/mock_rsatservice.cpp \ ../mocks/mock_RSatSession.cpp \ - ../mocks/mock_infowidgetsathandlerprivate.cpp \ No newline at end of file + ../mocks/mock_infowidgetsathandler_p.cpp \ No newline at end of file diff -r 6b911d05207e -r bc5a64e5bc3c phoneplugins/infowidgetplugin/tsrc/ut_infowidgetsathandlerprivate/inc/ut_infowidgetsathandlerprivate.h --- a/phoneplugins/infowidgetplugin/tsrc/ut_infowidgetsathandlerprivate/inc/ut_infowidgetsathandlerprivate.h Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneplugins/infowidgetplugin/tsrc/ut_infowidgetsathandlerprivate/inc/ut_infowidgetsathandlerprivate.h Tue Jul 06 14:15:47 2010 +0300 @@ -49,7 +49,7 @@ private: - InfoWidgetSatHandlerPrivate *m_satHandler; + InfoWidgetSatHandlerPrivate *m_satHandlerPrivate; InfoWidgetSatHandler* m_iwSatHandler; RSatService m_satService; diff -r 6b911d05207e -r bc5a64e5bc3c phoneplugins/infowidgetplugin/tsrc/ut_infowidgetsathandlerprivate/src/ut_infowidgetsathandlerprivate.cpp --- a/phoneplugins/infowidgetplugin/tsrc/ut_infowidgetsathandlerprivate/src/ut_infowidgetsathandlerprivate.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneplugins/infowidgetplugin/tsrc/ut_infowidgetsathandlerprivate/src/ut_infowidgetsathandlerprivate.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -17,11 +17,50 @@ #include "ut_infowidgetsathandlerprivate.h" #define private public -#include "infowidgetsathandlerprivate.h" +#include "infowidgetsathandler_p.h" #include "infowidgetsathandler.h" #include "infowidgetlogging.h" #include "qtestmains60.h" +static struct ActiveObjectControl { + enum TOperation { + EUndefined = 0, + ECallRunL, + ECallDoCancel, + EExitSequence + } operation; + int iStatus; + CActive* object; +} m_activeObjectControl; + + +void CActive::SetActive(){ + if (m_activeObjectControl.object) + { + switch (m_activeObjectControl.operation) { + case ActiveObjectControl::ECallRunL: + m_activeObjectControl.operation = ActiveObjectControl::EExitSequence; + m_activeObjectControl.object->iStatus = + m_activeObjectControl.iStatus; + m_activeObjectControl.object->RunL(); + break; + case ActiveObjectControl::ECallDoCancel: + m_activeObjectControl.operation = ActiveObjectControl::EExitSequence; + m_activeObjectControl.object->iStatus = + m_activeObjectControl.iStatus; + m_activeObjectControl.object->DoCancel(); + break; + + default: + break; + } + + // Reset, causes infinite loop otherwise + m_activeObjectControl.operation = ActiveObjectControl::EUndefined; + m_activeObjectControl.object = NULL; + } +} + void SimulateLeaveL() { User::Leave(KErrGeneral); @@ -61,11 +100,11 @@ /*! UT_InfoWidgetSatHandlerPrivate ::UT_InfoWidgetSatHandlerPrivate */ -UT_InfoWidgetSatHandlerPrivate::UT_InfoWidgetSatHandlerPrivate () //: +UT_InfoWidgetSatHandlerPrivate::UT_InfoWidgetSatHandlerPrivate () { DPRINT << "IN"; - m_satHandler = 0; + m_satHandlerPrivate = 0; m_iwSatHandler = 0; DPRINT << "OUT"; @@ -78,7 +117,7 @@ { DPRINT << "IN"; - delete m_satHandler; + delete m_satHandlerPrivate; delete m_iwSatHandler; DPRINT << "OUT"; @@ -93,7 +132,7 @@ initialize(); m_iwSatHandler = new InfoWidgetSatHandler; - m_satHandler = new InfoWidgetSatHandlerPrivate( m_iwSatHandler, m_satService); + m_satHandlerPrivate = new InfoWidgetSatHandlerPrivate( m_iwSatHandler, m_satService); QVERIFY(verify()); @@ -108,7 +147,7 @@ DPRINT << "IN"; reset(); - delete m_satHandler; + delete m_satHandlerPrivate; delete m_iwSatHandler; DPRINT << "OUT"; @@ -123,15 +162,15 @@ expect("RSatSession::ConnectL"); expect("RSatService::OpenL"); - m_satHandler->connect(); + m_satHandlerPrivate->connect(); expect("RSatSession::ConnectL") .willOnce(invokeWithoutArguments(SimulateLeaveL)); - m_satHandler->connect(); + m_satHandlerPrivate->connect(); expect("RSatService::OpenL") .willOnce(invokeWithoutArguments(SimulateLeaveL)); - m_satHandler->connect(); + m_satHandlerPrivate->connect(); QVERIFY(verify()); @@ -145,7 +184,7 @@ { DPRINT << "IN"; - m_satHandler->disconnect(); + m_satHandlerPrivate->disconnect(); QVERIFY(verify()); DPRINT << "OUT"; @@ -162,21 +201,21 @@ expect("RSatService::NotifySetupIdleModeTextChange").returns(i); expect("RSatService::GetSetupIdleModeTextL") .willOnce(invoke(FillData)); - m_satHandler->startObserving(); + m_satHandlerPrivate->startObserving(); expect("RSatService::NotifySetupIdleModeTextChange").returns(i); expect("RSatService::GetSetupIdleModeTextL") .willOnce(invoke(FillDataNoIcon)); - m_satHandler->startObserving(); + m_satHandlerPrivate->startObserving(); expect("RSatService::NotifySetupIdleModeTextChange").returns(i); expect("RSatService::GetSetupIdleModeTextL") .willOnce(invoke(FillDataSelfExplIcon)); - m_satHandler->startObserving(); + m_satHandlerPrivate->startObserving(); expect("RSatService::GetSetupIdleModeTextL") .willOnce(invokeWithoutArguments(SimulateLeaveL)); - m_satHandler->startObserving(); + m_satHandlerPrivate->startObserving(); QVERIFY(verify()); @@ -188,21 +227,26 @@ */ void UT_InfoWidgetSatHandlerPrivate::t_runL() { - DPRINT << "IN"; - - int i = 1; + DPRINT; expect("RSatService::GetSetupIdleModeTextL") .willOnce(invoke(FillData)); - expect("RSatService::NotifySetupIdleModeTextChange").returns(i); - m_satHandler->RunL(); + expect("RSatService::NotifySetupIdleModeTextChange").returns(KErrNone); + + TRequestStatus& status(m_satHandlerPrivate->iStatus); + expect("RSatService::NotifySetupIdleModeTextChange").with(status); - m_satHandler->iStatus = KErrGeneral; - expect("RSatService::NotifySetupIdleModeTextChange").returns(i); - m_satHandler->RunL(); - + // Test RunL sequence with iStatus == KErrNone + m_activeObjectControl.operation = ActiveObjectControl::ECallRunL; + m_activeObjectControl.iStatus = KErrNone; + m_activeObjectControl.object = m_satHandlerPrivate; + m_satHandlerPrivate->startObserving(); + + // Test RunL sequence with iStatus == KErrGeneral + m_activeObjectControl.operation = ActiveObjectControl::ECallRunL; + m_activeObjectControl.iStatus = KErrGeneral; + m_activeObjectControl.object = m_satHandlerPrivate; + m_satHandlerPrivate->startObserving(); QVERIFY(verify()); - - DPRINT << "OUT"; } /*! @@ -212,7 +256,11 @@ { DPRINT << "IN"; - m_satHandler->DoCancel(); + m_activeObjectControl.operation = ActiveObjectControl::ECallDoCancel; + m_activeObjectControl.iStatus = KErrNone; + m_activeObjectControl.object = m_satHandlerPrivate; + m_satHandlerPrivate->startObserving(); + QVERIFY(verify()); DPRINT << "OUT"; diff -r 6b911d05207e -r bc5a64e5bc3c phoneplugins/infowidgetplugin/tsrc/ut_infowidgetsathandlerprivate/ut_infowidgetsathandlerprivate.pro --- a/phoneplugins/infowidgetplugin/tsrc/ut_infowidgetsathandlerprivate/ut_infowidgetsathandlerprivate.pro Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneplugins/infowidgetplugin/tsrc/ut_infowidgetsathandlerprivate/ut_infowidgetsathandlerprivate.pro Tue Jul 06 14:15:47 2010 +0300 @@ -41,9 +41,9 @@ # code to be tested HEADERS += ../../infowidget/inc/infowidgetsathandler.h -HEADERS += ../../infowidget/inc/infowidgetsathandlerprivate.h +HEADERS += ../../infowidget/inc/infowidgetsathandler_p.h -SOURCES += ../../infowidget/src/infowidgetsathandlerprivate.cpp +SOURCES += ../../infowidget/src/infowidgetsathandler_p.cpp # mocks needed for testing SOURCES += ../mocks/mock_rsatservice.cpp \ diff -r 6b911d05207e -r bc5a64e5bc3c phoneplugins/phoneindicatorplugin/inc/phoneindicatorinterface.h --- a/phoneplugins/phoneindicatorplugin/inc/phoneindicatorinterface.h Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneplugins/phoneindicatorplugin/inc/phoneindicatorinterface.h Tue Jul 06 14:15:47 2010 +0300 @@ -33,21 +33,14 @@ int typeIndex, Interaction interaction); - ~PhoneIndicatorInterface(); + ~PhoneIndicatorInterface(){} bool handleInteraction(InteractionType type); QVariant indicatorData(int role) const; - -private slots: - void handleReturnValue(const QVariant &returnValue); - void handleError(int errorCode,const QString &errorMessage); protected: bool handleClientRequest(RequestType type, const QVariant ¶meter); - -private: - void launchDivertSettingsView(); private: @@ -58,7 +51,6 @@ QString m_icon; QString m_icon2; QVariant m_parameter; - XQApplicationManager m_appMgr; }; #endif // PHONEINDICATORINTERFACE_H diff -r 6b911d05207e -r bc5a64e5bc3c phoneplugins/phoneindicatorplugin/inc/phoneindicators.h --- a/phoneplugins/phoneindicatorplugin/inc/phoneindicators.h Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneplugins/phoneindicatorplugin/inc/phoneindicators.h Tue Jul 06 14:15:47 2010 +0300 @@ -23,13 +23,13 @@ #include -static const char *IndicatorNameTemplate = "PhoneIndicator_%1"; +static const char *IndicatorNameTemplate = "com.nokia.symbian.phoneindicatorplugin_%1"; enum Interaction { InteractionNone, OpenMissedCallView, - SwitchBackToCall, + OpenCallUi, OpenDiverSettingsView, Deactivate }; @@ -58,8 +58,8 @@ static const int PhoneIndicatorCount = 3; static const PhoneIndicatorInfo IndicatorInfos[PhoneIndicatorCount] = { {"qtg_mono_info.svg", "Missed call", "Name/Number", OpenMissedCallView }, - {"qtg_mono_info.svg", "Active call", " ", SwitchBackToCall }, - {"qtg_mono_info.svg", "Active diverts", " ", OpenDiverSettingsView } + {"qtg_mono_info.svg", "Active call", " ", OpenCallUi }, + {"qtg_mono_info.svg", "Active diverts", " ", OpenDiverSettingsView } }; #endif // PHONEINDICATORS_H diff -r 6b911d05207e -r bc5a64e5bc3c phoneplugins/phoneindicatorplugin/inc/phoneindicatorservicesendertask.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phoneplugins/phoneindicatorplugin/inc/phoneindicatorservicesendertask.h Tue Jul 06 14:15:47 2010 +0300 @@ -0,0 +1,37 @@ +/* + * 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 PHONEINDICATORSERVICESENDERTASK_H_ +#define PHONEINDICATORSERVICESENDERTASK_H_ + +#include +#include +#include "phoneindicators.h" + +class PhoneIndicatorServiceSenderTask : public QRunnable +{ +public: + PhoneIndicatorServiceSenderTask(Interaction interaction); + ~PhoneIndicatorServiceSenderTask(){} + + void run(); +private: + Interaction m_interaction; +}; + +#endif /* PHONEINDICATORSERVICESENDERTASK_H_ */ + diff -r 6b911d05207e -r bc5a64e5bc3c phoneplugins/phoneindicatorplugin/src/phoneindicatorinterface.cpp --- a/phoneplugins/phoneindicatorplugin/src/phoneindicatorinterface.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneplugins/phoneindicatorplugin/src/phoneindicatorinterface.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -11,25 +11,17 @@ * * Contributors: * - * Description: + * Description: * */ #include "phoneindicatorinterface.h" +#include "phoneindicatorservicesendertask.h" #include "phoneindicators.h" #include -#include -#ifdef Q_OS_SYMBIAN -#include -#include -#include -#include -#include -#include - - -#endif +#include +#include PhoneIndicatorInterface::PhoneIndicatorInterface( const QString &indicatorType, @@ -42,47 +34,17 @@ m_primaryText(IndicatorInfos[typeIndex].primaryText), m_secondaryText(IndicatorInfos[typeIndex].secondaryText), m_icon(IndicatorInfos[typeIndex].icon) - { } -PhoneIndicatorInterface::~PhoneIndicatorInterface() -{ - -} - bool PhoneIndicatorInterface::handleInteraction(InteractionType type) { if (type == InteractionActivated) { - switch (m_interaction) { - case OpenMissedCallView: { -#ifdef Q_OS_SYMBIAN - XQServiceRequest snd("com.nokia.services.logsservices.starter", - "start(int,bool)", false); - snd << (int)LogsServices::ViewMissed; - snd << false; - int retValue; - snd.send(retValue); -#endif - } - break; - case SwitchBackToCall: { -#ifdef Q_OS_SYMBIAN - int dialer(1); - XQServiceRequest snd("com.nokia.services.telephony.uistarter", - "start(int)", false); - XQRequestInfo info; - info.setForeground(true); - snd.setInfo(info); - snd << dialer; - QVariant retValue; - snd.send(retValue); -#endif - } - break; - case OpenDiverSettingsView: { - launchDivertSettingsView(); - } + switch (m_interaction) { + case OpenMissedCallView: //fallthrough + case OpenCallUi: //fallthrough + case OpenDiverSettingsView: + QThreadPool::globalInstance()->start(new PhoneIndicatorServiceSenderTask(m_interaction)); break; case Deactivate: emit deactivate(); @@ -98,7 +60,7 @@ QVariant PhoneIndicatorInterface::indicatorData(int role) const { QVariantMap map = m_parameter.value(); - + if (role == PrimaryTextRole) { return map.value( (QVariant(PrimaryTextRole)).toString()).toString(); } else if (role == SecondaryTextRole ) { @@ -114,7 +76,7 @@ bool PhoneIndicatorInterface::handleClientRequest(RequestType type, const QVariant ¶meter) { bool handled(false); - switch (type) { + switch (type) { case RequestActivate: if (m_parameter != parameter) { m_parameter = parameter; @@ -125,47 +87,6 @@ default: m_parameter.clear(); } - return handled; } -void PhoneIndicatorInterface::launchDivertSettingsView() -{ - - XQAiwRequest *request = m_appMgr.create( - "com.nokia.symbian.ICpPluginLauncher", - "launchSettingView(QString,QVariant)", - false); // - - if (!request) { - return; - } - else { - connect(request, SIGNAL(requestOk(QVariant)), SLOT(handleReturnValue(QVariant))); - connect(request, SIGNAL(requestError(int,QString)), SLOT(handleError(int,QString))); - } - // Set arguments for request - QList args; - args << (QString)"cptelephonyplugin.dll"; - args << (QVariant)""; - - request->setArguments(args); - request->setSynchronous(true); - // Make the request - if (!request->send()) { - //report error - } - delete request; - -} - -void PhoneIndicatorInterface::handleReturnValue(const QVariant &returnValue) -{ - Q_UNUSED(returnValue); -} - -void PhoneIndicatorInterface::handleError(int errorCode,const QString &errorMessage) -{ - Q_UNUSED(errorCode); - Q_UNUSED(errorMessage); -} diff -r 6b911d05207e -r bc5a64e5bc3c phoneplugins/phoneindicatorplugin/src/phoneindicatorservicesendertask.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phoneplugins/phoneindicatorplugin/src/phoneindicatorservicesendertask.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -0,0 +1,75 @@ +/* + * 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 "phoneindicatorservicesendertask.h" + +#include +#include +#include + + +PhoneIndicatorServiceSenderTask::PhoneIndicatorServiceSenderTask(Interaction interaction): + m_interaction(interaction) +{ +} + +void PhoneIndicatorServiceSenderTask::run() +{ + XQApplicationManager appManager; + QList args; + QString service; + QString interface; + QString operation; + QVariantHash hash; + QVariantMap map; + + switch(m_interaction){ + case OpenMissedCallView: + service = "logs"; + interface = "com.nokia.symbian.ILogsView"; + operation = "show(QVariantMap)"; + map.insert("view_index",QVariant((int)LogsServices::ViewMissed)); + map.insert("show_dialpad",QVariant(false)); + map.insert("dialpad_text", QVariant(QString())); + args.append(QVariant(map)); + break; + case OpenCallUi: + service = "phoneui"; + interface = "com.nokia.symbian.IStart"; + operation = "start(int)"; + args << (int)0; + break; + case OpenDiverSettingsView: + interface = "com.nokia.symbian.ICpPluginLauncher"; + operation = "launchSettingView(QString,QVariant)"; + args << QVariant("cptelephonyplugin.dll"); + hash["view"] = "divert_view"; + hash["heading"] = "txt_phone_subhead_telephone"; + args << hash; + break; + default: + break; + } + QScopedPointer request( service.isEmpty() ? + appManager.create( interface, operation, false): + appManager.create(service, interface, operation, false)); + if ( request == NULL ){ + return; + } + request->setArguments(args); + request->send(); +} diff -r 6b911d05207e -r bc5a64e5bc3c phonesettings/cpphonesettingsplugins/callsplugin/src/cpcallsplugingroup.cpp --- a/phonesettings/cpphonesettingsplugins/callsplugin/src/cpcallsplugingroup.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phonesettings/cpphonesettingsplugins/callsplugin/src/cpcallsplugingroup.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -155,7 +155,9 @@ HbDataFormModelItem::ToggleValueItem, hbTrId("txt_phone_formlabel_show_call_duration"), this); - + m_DataItemShowCallDuration->setObjectName( + "showCallDurationDataItem"); + if (showCallDurationStatus) { m_DataItemShowCallDuration->setContentWidgetData( "text", QVariant(hbTrId("txt_phone_setlabel_val_yes"))); @@ -192,6 +194,9 @@ HbDataFormModelItem::TextItem, hbTrId("txt_phone_setlabel_soft_reject"), this); + m_DataItemSoftRejectTextEditor->setObjectName( + "softRejectTextEditorDataItem"); + m_DataItemSoftRejectTextEditor->setContentWidgetData( "text", QVariant(softRejectText)); m_DataItemSoftRejectTextEditor->setContentWidgetData( @@ -217,6 +222,8 @@ HbDataFormModelItem::ComboBoxItem, hbTrId("txt_phone_setlabel_send_my_caller_id"), this); + m_DataItemCLI->setObjectName("cliDataItem"); + // CLI combo box items string list QStringList list; QMapIterator cliSettingMapIterator(m_cliSettingMap); @@ -247,7 +254,9 @@ HbDataFormModelItem::ComboBoxItem, hbTrId("txt_phone_setlabel_own_video_in_received_call"), this); - + m_OwnVideoInReceivedCall->setObjectName( + "ownVideoInReceivedCallDataItem"); + QStringList ownVideoSelections; ownVideoSelections <setObjectName("callWaitingDataItem"); m_DataItemCallWaiting->setContentWidgetData( "text", QVariant(hbTrId("txt_phone_setlabel_call_waiting_val_check_status"))); m_DataItemCallWaiting->setContentWidgetData( @@ -292,13 +301,10 @@ */ void CpCallsPluginGroup::connectShowCallDurationItem() { - DPRINT << ": IN"; - + DPRINT; m_helper.addConnection( m_DataItemShowCallDuration, SIGNAL(valueChanged(QPersistentModelIndex, QVariant)), this, SLOT(showCallDurationStateChanged())); - - DPRINT << ": OUT"; } /*! @@ -306,13 +312,10 @@ */ void CpCallsPluginGroup::connectSoftRejectItem() { - DPRINT << ": IN"; - + DPRINT; m_helper.addConnection( m_DataItemSoftRejectTextEditor, SIGNAL(editingFinished()), this, SLOT(softRejectTextChanged())); - - DPRINT << ": OUT"; } /*! @@ -320,8 +323,7 @@ */ void CpCallsPluginGroup::connectCLIItem() { - DPRINT << ": IN"; - + DPRINT; m_helper.addConnection( m_DataItemCLI, SIGNAL(currentIndexChanged(int)), this, SLOT(cliCurrentIndexChanged(int))); @@ -335,8 +337,6 @@ } else { DPRINT << "Error: " << err; } - - DPRINT << ": OUT"; } /*! @@ -344,26 +344,21 @@ */ void CpCallsPluginGroup::connectOwnVideoInReceivedCall() { - DPRINT << ": IN"; - + DPRINT; m_helper.addConnection( m_OwnVideoInReceivedCall, SIGNAL(currentIndexChanged(int)), this, SLOT(ownVideoInReceivedCallStateChanged(int))); +} - DPRINT << ": OUT"; -} /*! CpCallsPluginGroup::connectCallWaitingItem. */ void CpCallsPluginGroup::connectCallWaitingItem() { - DPRINT << ": IN"; - + DPRINT; m_helper.addConnection( m_DataItemCallWaiting, SIGNAL(valueChanged(QPersistentModelIndex, QVariant)), this, SLOT(callWaitingCurrentIndexChanged())); - - DPRINT << ": OUT"; } /*! @@ -440,24 +435,20 @@ // Clicked first time, user want to check feature status DPRINT << "checking status"; m_callWaitingWrapper->getCallWaitingStatus(); - } - - else if (callWaitingText == hbTrId("txt_phone_setlabel_call_waiting_val_on")) { + } else if (callWaitingText == hbTrId("txt_phone_setlabel_call_waiting_val_on")) { DPRINT << "activate"; // User want to activate call waiting feature m_callWaitingWrapper->setCallWaiting( PSetCallWaitingWrapper::ActivateCallWaiting, AllTeleAndBearer); - } - else if (callWaitingText == hbTrId("txt_phone_setlabel_call_waiting_val_off")) { + } else if (callWaitingText == hbTrId("txt_phone_setlabel_call_waiting_val_off")) { DPRINT << "deactivate"; // User want to deactivate call waiting feature m_callWaitingWrapper->setCallWaiting( PSetCallWaitingWrapper::DeactivateCallWaiting, AllTeleAndBearer); - } - else { - DPRINT << "nothing done"; + } else { + DWARNING << ": Error, unhandled index!"; } DPRINT << ": OUT"; @@ -507,11 +498,9 @@ void CpCallsPluginGroup::insertMappedListItems() { DPRINT << ": IN"; - m_cliSettingMap.insert(ClirNetworkDefault, hbTrId("txt_phone_setlabel_val_default")); m_cliSettingMap.insert(ClirExplicitSuppress, hbTrId("txt_phone_setlabel_val_yes")); m_cliSettingMap.insert(ClirExplicitInvoke, hbTrId("txt_phone_setlabel_val_no")); - DPRINT << ": OUT"; } @@ -524,7 +513,6 @@ { DPRINT << ": IN status: " << status; // This happens only in the very first time when clicked. - emit cancelNote(m_activeNoteId); bool alsCaseOnly = false; @@ -610,9 +598,8 @@ { DPRINT << ": IN"; DPRINT << "errorCode:" << errorCode; - + emit cancelNote(m_activeNoteId); - emit showGlobalErrorNote(m_activeNoteId, errorCode); DPRINT << ": OUT"; diff -r 6b911d05207e -r bc5a64e5bc3c phonesettings/cpphonesettingsplugins/cpnetworkplugin/src/cpnetworkplugin.cpp --- a/phonesettings/cpphonesettingsplugins/cpnetworkplugin/src/cpnetworkplugin.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phonesettings/cpphonesettingsplugins/cpnetworkplugin/src/cpnetworkplugin.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -24,15 +24,15 @@ CpNetworkPlugin::CpNetworkPlugin */ CpNetworkPlugin::CpNetworkPlugin() : - QObject(0), - m_localisation(0) + QObject(NULL), + m_localisation(NULL), + m_networkStatus(NULL) { INSTALL_TRACE_MSG_HANDLER; DPRINT << ": IN"; - // Set scoped pointer + // Create guarded objects m_localisation.reset(new CpPhoneLocalisation); - m_networkStatus.reset(new CpNetworkStatus); // Install required translations @@ -61,9 +61,7 @@ CpItemDataHelper &itemDataHelper) const { DPRINT << ": IN"; - QList ret; - ret.append(new CpSettingFormEntryItemDataImpl( itemDataHelper, hbTrId("txt_cp_dblist_mobile_network"), diff -r 6b911d05207e -r bc5a64e5bc3c phonesettings/cpphonesettingsplugins/cpnetworkplugin/src/cpnetworkplugin.h --- a/phonesettings/cpphonesettingsplugins/cpnetworkplugin/src/cpnetworkplugin.h Wed Jun 23 18:12:20 2010 +0300 +++ b/phonesettings/cpphonesettingsplugins/cpnetworkplugin/src/cpnetworkplugin.h Tue Jul 06 14:15:47 2010 +0300 @@ -36,9 +36,7 @@ Q_INTERFACES(CpLauncherInterface) public: - CpNetworkPlugin(); - ~CpNetworkPlugin(); /** @@ -55,9 +53,7 @@ CpBaseSettingView *createSettingView(const QVariant &hint) const; private: - QScopedPointer m_localisation; - QScopedPointer m_networkStatus; }; diff -r 6b911d05207e -r bc5a64e5bc3c phonesettings/cpphonesettingsplugins/cpnetworkplugin/src/cpnetworkpluginform.cpp --- a/phonesettings/cpphonesettingsplugins/cpnetworkplugin/src/cpnetworkpluginform.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phonesettings/cpphonesettingsplugins/cpnetworkplugin/src/cpnetworkpluginform.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -59,8 +59,10 @@ // #1 Read Network mode value from Cenrep model->appendDataFormItem(createNetworkModeItem()); - // #2 Use phone settings for operator selection - model->appendDataFormItem(createOperatorSelectionItem()); + if(m_psetNetworkWrapper->isManualNetworkSelectionSupported()) { + // #2 Use phone settings for operator selection + model->appendDataFormItem(createOperatorSelectionItem()); + } // Home network cellular data usage model->appendDataFormItem(createHomeDataUsageItem()); // Cellular network data usage when roaming @@ -78,12 +80,9 @@ */ CpNetworkPluginForm::~CpNetworkPluginForm() { - DPRINT << ": IN"; - + DPRINT; delete m_pSetWrapper; delete m_cpSettingsWrapper; - - DPRINT << ": OUT"; } @@ -101,6 +100,7 @@ NULL ); QScopedPointer settingFormItemGuard( m_NetworkModeOptionsItemData); + m_NetworkModeOptionsItemData->setObjectName("networkModeItem"); mNetworkModeOptions << hbTrId("txt_cp_setlabel_network_mode_val_dual_mode") << hbTrId("txt_cp_setlabel_network_mode_val_umts") @@ -147,6 +147,7 @@ NULL); QScopedPointer settingFormItemGuard( m_NetworkOperatorSelectionItemData); + m_NetworkOperatorSelectionItemData->setObjectName("operatorSelectionItem"); PSetNetworkWrapper::NetworkSelectionMode mode; PSetNetworkWrapper::ErrorCode err = @@ -188,7 +189,8 @@ NULL); QScopedPointer settingFormItemGuard( mCellularUseHomeSelectionItemData); - + mCellularUseHomeSelectionItemData->setObjectName("homeDataUsageItem"); + // Populate the dropdown with selection items mCellularUseHomeOptions << hbTrId("txt_cp_setlabel_data_usage_in_val_automatic") @@ -220,9 +222,7 @@ void CpNetworkPluginForm::cellularDataUseHomeStateChanged(int index) { DPRINT << ": IN : index: " << index; - mCellularSettings->setDataUseHome(index); - DPRINT << ": OUT"; } @@ -239,7 +239,8 @@ NULL); QScopedPointer settingFormItemGuard( mCellularUseRoamSelectionItemData); - + mCellularUseRoamSelectionItemData->setObjectName("roamDataUsageItem"); + // Populate the dropdown with selection items mCellularUseRoamOptions << hbTrId("txt_cp_setlabel_data_usage_when_val_automatic") @@ -358,7 +359,7 @@ break; } } else { - DPRINT << ": err: " << err; + DWARNING << ": err: " << err; } } @@ -512,7 +513,8 @@ CpNetworkPluginForm::createDialog */ void CpNetworkPluginForm::addItemToListWidget(HbListWidget* w, - const QString& item, const int& data) const + const QString& item, const int& data, + const HbIcon& primaryIcon) const { DPRINT << ": IN"; Q_ASSERT(w != 0); @@ -520,6 +522,8 @@ HbListWidgetItem* o = new HbListWidgetItem(); o->setText(item); o->setData(data); + if(!primaryIcon.isNull()) + o->setIcon(primaryIcon); w->addItem(o); DPRINT << ": OUT"; @@ -679,7 +683,7 @@ for (int i = 0; i < itemsCount; i++) { PSetNetworkWrapper::NetworkInfo *info = m_networkInfoList->at(i); QString text = networkName(*info); - addItemToListWidget(list, text, i); + addItemToListWidget(list, text, i, HbIcon(primaryIconForNetwork(*info))); DPRINT << ": " << info; } // Connect list item activation signal to close the popup @@ -701,6 +705,42 @@ DPRINT << ": OUT"; } +/*! + CpNetworkPluginForm::primaryIconForNetwork + */ +QString CpNetworkPluginForm::primaryIconForNetwork(const PSetNetworkWrapper::NetworkInfo &info) +{ + DPRINT << ": IN"; + + QString iconName; + bool isForbiddenIconSupported = m_cpSettingsWrapper->forbiddenIconSupported(); + if (isForbiddenIconSupported) { + if (info.m_access == PSetNetworkWrapper::AccessTypeGsm) { + if (info.m_status == PSetNetworkWrapper::StatusForbidden) { + iconName.append("qtg_small_network_off"); + } else { + iconName.append("qtg_small_network"); + } + } else if (info.m_access == PSetNetworkWrapper::AccessTypeWcdma) { + if (info.m_status == PSetNetworkWrapper::StatusForbidden) { + iconName.append("qtg_small_wcdma_off"); + } else { + iconName.append("qtg_small_wcdma"); + } + } + else if (info.m_access == PSetNetworkWrapper::AccessTypeGsmAndWcdma) { + if (info.m_status == PSetNetworkWrapper::StatusForbidden) { + iconName.append("qtg_small_pd_wcdma_off"); + } else { + iconName.append("qtg_small_pd_wcdma"); + } + } + } + + DPRINT << ": OUT : " << iconName; + return iconName; +} + /*! CpNetworkPluginForm::finishedManualSelectiondialog. diff -r 6b911d05207e -r bc5a64e5bc3c phonesettings/cpphonesettingsplugins/cpnetworkplugin/src/cpnetworkpluginform.h --- a/phonesettings/cpphonesettingsplugins/cpnetworkplugin/src/cpnetworkpluginform.h Wed Jun 23 18:12:20 2010 +0300 +++ b/phonesettings/cpphonesettingsplugins/cpnetworkplugin/src/cpnetworkpluginform.h Tue Jul 06 14:15:47 2010 +0300 @@ -38,22 +38,18 @@ Q_OBJECT public: - explicit CpNetworkPluginForm(QGraphicsItem *parent = 0); - virtual ~CpNetworkPluginForm(); - + void searchAvailableNetworks(); signals: - void showGlobalProgressNote(int ¬eId, const QString& text); void showGlobalNote( int ¬eId, const QString& text, HbMessageBox::MessageBoxType msgBoxType); void cancelNote(int noteId); -public slots: - +public slots: void cellularDataUseHomeStateChanged(int index); void cellularDataUseRoamStateChanged(int index); void networkModeStateChanged(int index); @@ -72,7 +68,7 @@ PSetNetworkWrapper::RegistrationStatus& status); void finishedManualSelectiondialog(HbAction* action); -private: +protected: HbDataFormModelItem *createNetworkModeItem(); HbDataFormModelItem *createOperatorSelectionItem(); HbDataFormModelItem *createHomeDataUsageItem(); @@ -86,16 +82,17 @@ void gsmSelection(); HbDialog* createDialog(const QString& heading) const; - void addItemToListWidget( - HbListWidget* w, const QString& item, const int& data) const; + void addItemToListWidget(HbListWidget* w, const QString& item, + const int& data, const HbIcon& primaryIcon) const; void showManualSelectiondialog(); void restoreOperatorSelectionUi(); QString networkName(PSetNetworkWrapper::NetworkInfo &info); void connectToNetworkWrapper(PSetNetworkWrapper &wrapper); - void connectToPhoneNotes(CpPhoneNotes ¬es); + + QString primaryIconForNetwork(const PSetNetworkWrapper::NetworkInfo &info); private: diff -r 6b911d05207e -r bc5a64e5bc3c phonesettings/cpphonesettingsplugins/cpnetworkplugin/src/cpnetworkpluginview.cpp --- a/phonesettings/cpphonesettingsplugins/cpnetworkplugin/src/cpnetworkpluginview.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phonesettings/cpphonesettingsplugins/cpnetworkplugin/src/cpnetworkpluginview.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -20,41 +20,34 @@ #include "cppluginlogging.h" /*! - CpNetworkPluginView::CpNetworkPluginView + Constructor. */ CpNetworkPluginView::CpNetworkPluginView(QGraphicsItem *parent) : - CpBaseSettingView(0, parent), - m_networkSettingsForm(0) + CpBaseSettingView(NULL, parent), + m_networkSettingsForm(NULL) { - DPRINT << ": IN"; - + DPRINT; m_networkSettingsForm = new CpNetworkPluginForm(); - // base class takes ownership of the form + // Base class takes ownership of the form this->setWidget(m_networkSettingsForm); - - DPRINT << ": OUT"; } /*! - CpNetworkPluginView::~CpNetworkPluginView + Destructor. */ CpNetworkPluginView::~CpNetworkPluginView() { - DPRINT << ": IN"; - - DPRINT << ": OUT"; + DPRINT; } /*! - CpNetworkPluginView::SearchAvailableNetworks + Slot called by QtHighway service when network + is lost. */ void CpNetworkPluginView::SearchAvailableNetworks() { - DPRINT << ": IN"; - + DPRINT; m_networkSettingsForm->searchAvailableNetworks(); - - DPRINT << ": OUT"; } // End of File. diff -r 6b911d05207e -r bc5a64e5bc3c phonesettings/cpphonesettingsplugins/cpnetworkplugin/src/cpnetworkpluginview.h --- a/phonesettings/cpphonesettingsplugins/cpnetworkplugin/src/cpnetworkpluginview.h Wed Jun 23 18:12:20 2010 +0300 +++ b/phonesettings/cpphonesettingsplugins/cpnetworkplugin/src/cpnetworkpluginview.h Tue Jul 06 14:15:47 2010 +0300 @@ -27,17 +27,13 @@ Q_OBJECT public: - explicit CpNetworkPluginView(QGraphicsItem *parent = 0); - virtual ~CpNetworkPluginView(); public slots: - void SearchAvailableNetworks(); private: - CpNetworkPluginForm* m_networkSettingsForm; }; diff -r 6b911d05207e -r bc5a64e5bc3c phonesettings/cpphonesettingsplugins/cpnetworkplugin/tsrc/run_auto_tests_qt.bat --- a/phonesettings/cpphonesettingsplugins/cpnetworkplugin/tsrc/run_auto_tests_qt.bat Wed Jun 23 18:12:20 2010 +0300 +++ b/phonesettings/cpphonesettingsplugins/cpnetworkplugin/tsrc/run_auto_tests_qt.bat Tue Jul 06 14:15:47 2010 +0300 @@ -157,7 +157,7 @@ :RUNTESTS echo Running tests for /f %%a in ('dir /b ut_*') do ( - call %PATH_TO_DLL%\%%a.exe -dtextshell -- + call %PATH_TO_DLL%\%%a.exe move \epoc32\winscw\c\data\%%a.log %PATH_TO_RESULT%\%%a.log ) goto end diff -r 6b911d05207e -r bc5a64e5bc3c phonesettings/cpphonesettingsplugins/cpnetworkplugin/tsrc/ut_cpnetworkplugin/ut_cpnetworkplugin.pro --- a/phonesettings/cpphonesettingsplugins/cpnetworkplugin/tsrc/ut_cpnetworkplugin/ut_cpnetworkplugin.pro Wed Jun 23 18:12:20 2010 +0300 +++ b/phonesettings/cpphonesettingsplugins/cpnetworkplugin/tsrc/ut_cpnetworkplugin/ut_cpnetworkplugin.pro Tue Jul 06 14:15:47 2010 +0300 @@ -15,15 +15,14 @@ # # -CONFIG += qtestlib hb mobility +CONFIG += qtestlib hb TEMPLATE = app TARGET = DEPENDPATH += . ../../src/ INCLUDEPATH += . INCLUDEPATH +=../../../inc INCLUDEPATH +=../../../cptelephonyutils/inc -DEFINES += BUILD_NETWORKPLUGIN BUILD_CPTELEPHONYUTILS -MOBILITY += systeminfo +DEFINES += BUILD_CPTELEPHONYUTILS QT -= gui QT += testlib @@ -58,3 +57,4 @@ SOURCES += ../../../tsrc/mocks/mock_cpbasesettingview.cpp SOURCES += ../../../tsrc/mocks/mock_hbview.cpp SOURCES += ../../../tsrc/mocks/mock_cpnetworkstatus.cpp + diff -r 6b911d05207e -r bc5a64e5bc3c phonesettings/cpphonesettingsplugins/cpnetworkplugin/tsrc/ut_cpnetworkpluginform/ut_cpnetworkpluginform.pro --- a/phonesettings/cpphonesettingsplugins/cpnetworkplugin/tsrc/ut_cpnetworkpluginform/ut_cpnetworkpluginform.pro Wed Jun 23 18:12:20 2010 +0300 +++ b/phonesettings/cpphonesettingsplugins/cpnetworkplugin/tsrc/ut_cpnetworkpluginform/ut_cpnetworkpluginform.pro Tue Jul 06 14:15:47 2010 +0300 @@ -32,9 +32,7 @@ symbian: { #CONFIG += no_icon - INCLUDEPATH += /epoc32/include/mw/QtTest \ - /epoc32/include/platform/mw \ - /epoc32/include/mw/qt + INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE LIBS += -lmocklib \ -lsymbianmock \ -lcpframework @@ -57,8 +55,6 @@ /epoc32/include/platform/mw/psetcalldivertingwrapper.h \ /epoc32/include/platform/mw/psetnetworkwrapper.h -SOURCES += ../../src/cpnetworkpluginform.cpp - # mocks needed for testing SOURCES += ../../../tsrc/mocks/mock_cpnetworkplugin.cpp \ ../../../tsrc/mocks/mock_psetwrapper.cpp \ @@ -67,5 +63,8 @@ ../../../tsrc/mocks/mock_cpphonenotes.cpp \ ../../../tsrc/mocks/mock_cpphonelocalisation.cpp \ ../../../tsrc/mocks/mock_hbdialog.cpp \ + ../../../tsrc/mocks/mock_hbwidget.cpp \ ../../../tsrc/mocks/mock_cellulardatasettings.cpp + +SOURCES += ../../src/cpnetworkpluginform.cpp \ No newline at end of file diff -r 6b911d05207e -r bc5a64e5bc3c phonesettings/cpphonesettingsplugins/cpnetworkplugin/tsrc/ut_cpnetworkpluginform/ut_networkpluginform.cpp --- a/phonesettings/cpphonesettingsplugins/cpnetworkplugin/tsrc/ut_cpnetworkpluginform/ut_networkpluginform.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phonesettings/cpphonesettingsplugins/cpnetworkplugin/tsrc/ut_cpnetworkpluginform/ut_networkpluginform.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -17,9 +17,11 @@ #include "ut_networkpluginform.h" #include "qtestmains60ui.h" +#include "cpitemdatahelper.h" +#include "psetwrapper.h" #define private public #include "cpnetworkpluginform.h" -#include "cpitemdatahelper.h" + class CPsetContainer { @@ -28,6 +30,13 @@ ~CPsetContainer(){}; }; +const QString KIconGsmForbidden("qtg_small_network_off"); +const QString KIconGsmNotForbidden("qtg_small_network"); +const QString KIconWcdmaForbidden("qtg_small_wcdma_off"); +const QString KIconWcdmaNotForbidden("qtg_small_wcdma"); +const QString KIconGsmAndWcdmaForbidden("qtg_small_pd_wcdma_off"); +const QString KIconGsmAndWcdmaNotForbidden("qtg_small_pd_wcdma"); + /*! UT_CpNetworkPluginForm::UT_CpNetworkPluginForm */ @@ -56,6 +65,7 @@ CPsetContainer tmpPsetContainer; m_networkWrapper = new PSetNetworkWrapper(tmpPsetContainer); expect("PSetWrapper::networkWrapper").returns(m_networkWrapper); + expect("PSetNetworkWrapper::isManualNetworkSelectionSupported").returns(true); if(i) { m_NetworkSelectionMode = PSetNetworkWrapper::SelectionModeAutomatic; } else { @@ -233,6 +243,66 @@ } /*! + UT_CpNetworkPluginForm::t_primaryIconForNetwork + */ +void UT_CpNetworkPluginForm::t_primaryIconForNetwork() +{ + QScopedPointer wrapper(new PSetWrapper()); + expect("PSetWrapper::networkWrapper").returns(wrapper.data()); + + QScopedPointer + formClassAdapter(new CpNetworkPluginFormAdapter()); + PSetNetworkWrapper::NetworkInfo currentInfo; + + // Test: forbidden icon flag ON, mode: GSM, status: forbidden + currentInfo.m_access = PSetNetworkWrapper::AccessTypeGsm; + currentInfo.m_status = PSetNetworkWrapper::StatusForbidden; + expect("CpSettingsWrapper::forbiddenIconSupported").returns(true); + QString iconName = formClassAdapter->primaryIconForNetwork(currentInfo); + QCOMPARE(iconName, KIconGsmForbidden); + + // Test: forbidden icon flag ON, mode: GSM, status: available + currentInfo.m_access = PSetNetworkWrapper::AccessTypeGsm; + currentInfo.m_status = PSetNetworkWrapper::StatusAvailable; + expect("CpSettingsWrapper::forbiddenIconSupported").returns(true); + iconName = formClassAdapter->primaryIconForNetwork(currentInfo); + QCOMPARE(iconName, KIconGsmNotForbidden); + + // Test: forbidden icon flag ON, mode: WCDMA, status: forbidden + currentInfo.m_access = PSetNetworkWrapper::AccessTypeWcdma; + currentInfo.m_status = PSetNetworkWrapper::StatusForbidden; + expect("CpSettingsWrapper::forbiddenIconSupported").returns(true); + iconName = formClassAdapter->primaryIconForNetwork(currentInfo); + QCOMPARE(iconName, KIconWcdmaForbidden); + + // Test: forbidden icon flag ON, mode: WCDMA, status: available + currentInfo.m_access = PSetNetworkWrapper::AccessTypeWcdma; + currentInfo.m_status = PSetNetworkWrapper::StatusAvailable; + expect("CpSettingsWrapper::forbiddenIconSupported").returns(true); + iconName = formClassAdapter->primaryIconForNetwork(currentInfo); + QCOMPARE(iconName, KIconWcdmaNotForbidden); + + // Test: forbidden icon flag ON, mode: GSM and WCDMA, status: forbidden + currentInfo.m_access = PSetNetworkWrapper::AccessTypeGsmAndWcdma; + currentInfo.m_status = PSetNetworkWrapper::StatusForbidden; + expect("CpSettingsWrapper::forbiddenIconSupported").returns(true); + iconName = formClassAdapter->primaryIconForNetwork(currentInfo); + QCOMPARE(iconName, KIconGsmAndWcdmaForbidden); + + // Test: forbidden icon flag ON, mode: GSM and WCDMA, status: available + currentInfo.m_access = PSetNetworkWrapper::AccessTypeGsmAndWcdma; + currentInfo.m_status = PSetNetworkWrapper::StatusAvailable; + expect("CpSettingsWrapper::forbiddenIconSupported").returns(true); + iconName = formClassAdapter->primaryIconForNetwork(currentInfo); + QCOMPARE(iconName, KIconGsmAndWcdmaNotForbidden); + + // Test: forbidden icon flag OFF + expect("CpSettingsWrapper::forbiddenIconSupported").returns(false); + iconName = formClassAdapter->primaryIconForNetwork(currentInfo); + QCOMPARE(iconName, QString("")); +} + +/*! UT_CpNetworkPluginForm::cleanup */ void UT_CpNetworkPluginForm::cleanup() @@ -261,4 +331,5 @@ mode = m_NetworkSelectionMode; } + QTEST_MAIN_S60UI(UT_CpNetworkPluginForm) diff -r 6b911d05207e -r bc5a64e5bc3c phonesettings/cpphonesettingsplugins/cpnetworkplugin/tsrc/ut_cpnetworkpluginform/ut_networkpluginform.h --- a/phonesettings/cpphonesettingsplugins/cpnetworkplugin/tsrc/ut_cpnetworkpluginform/ut_networkpluginform.h Wed Jun 23 18:12:20 2010 +0300 +++ b/phonesettings/cpphonesettingsplugins/cpnetworkplugin/tsrc/ut_cpnetworkpluginform/ut_networkpluginform.h Tue Jul 06 14:15:47 2010 +0300 @@ -21,8 +21,25 @@ #include #include #include +#include "cpnetworkpluginform.h" +#include + +class CpNetworkPluginFormAdapter : public CpNetworkPluginForm +{ + Q_OBJECT + +public: + explicit CpNetworkPluginFormAdapter(QGraphicsItem *parent = 0) + :CpNetworkPluginForm(parent){} + virtual ~CpNetworkPluginFormAdapter(){} + + QString primaryIconForNetwork( + const PSetNetworkWrapper::NetworkInfo &info) { + return CpNetworkPluginForm::primaryIconForNetwork(info); + } + void hideFocusHighlight(){} +}; -class CpNetworkPluginForm; class UT_CpNetworkPluginForm : public QObject, MockService { @@ -49,10 +66,12 @@ void t_handleSearchingNetworks(); void t_handleRequestingSelectedNetwork(); void t_handleNetworkChanged(); - + void t_primaryIconForNetwork(); + void cleanup(); void t_memleak(); + private: CpNetworkPluginForm *m_networkPluginForm; PSetNetworkWrapper *m_networkWrapper; diff -r 6b911d05207e -r bc5a64e5bc3c phonesettings/cpphonesettingsplugins/cptelephonyutils/bwins/cptelephonyutilsu.def --- a/phonesettings/cpphonesettingsplugins/cptelephonyutils/bwins/cptelephonyutilsu.def Wed Jun 23 18:12:20 2010 +0300 +++ b/phonesettings/cpphonesettingsplugins/cptelephonyutils/bwins/cptelephonyutilsu.def Tue Jul 06 14:15:47 2010 +0300 @@ -80,4 +80,5 @@ ?showPasswordQueryDialog@CpPhoneNotes@@QAEXABVQString@@ABVQValidator@@H@Z @ 79 NONAME ; void CpPhoneNotes::showPasswordQueryDialog(class QString const &, class QValidator const &, int) ?trUtf8@Tools@@SA?AVQString@@PBD0@Z @ 80 NONAME ; class QString Tools::trUtf8(char const *, char const *) ??0CpSettingsWrapper@@QAE@PAVQObject@@@Z @ 81 NONAME ; CpSettingsWrapper::CpSettingsWrapper(class QObject *) + ?forbiddenIconSupported@CpSettingsWrapper@@QBE_NXZ @ 82 NONAME ; bool CpSettingsWrapper::forbiddenIconSupported(void) const diff -r 6b911d05207e -r bc5a64e5bc3c phonesettings/cpphonesettingsplugins/cptelephonyutils/cptelephonyutils.pro --- a/phonesettings/cpphonesettingsplugins/cptelephonyutils/cptelephonyutils.pro Wed Jun 23 18:12:20 2010 +0300 +++ b/phonesettings/cpphonesettingsplugins/cptelephonyutils/cptelephonyutils.pro Tue Jul 06 14:15:47 2010 +0300 @@ -25,7 +25,7 @@ # Input HEADERS += inc/cpplugincommon.h \ inc/cpphonenotes.h \ - inc/cpphonelocalisation.h + inc/cpphonelocalisation.h SOURCES += src/cpphonenotes.cpp \ src/cpphonelocalisation.cpp @@ -43,8 +43,9 @@ symbian: { load(data_caging_paths) - INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE - + INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE + INCLUDEPATH += ../../../inc + LIBS += -lsssettings \ -lphonesettings \ -lxqsysinfo \ diff -r 6b911d05207e -r bc5a64e5bc3c phonesettings/cpphonesettingsplugins/cptelephonyutils/eabi/cptelephonyutilsu.def --- a/phonesettings/cpphonesettingsplugins/cptelephonyutils/eabi/cptelephonyutilsu.def Wed Jun 23 18:12:20 2010 +0300 +++ b/phonesettings/cpphonesettingsplugins/cptelephonyutils/eabi/cptelephonyutilsu.def Tue Jul 06 14:15:47 2010 +0300 @@ -78,4 +78,5 @@ _ZTV17CpSettingsWrapper @ 77 NONAME _ZTV19CpPhoneLocalisation @ 78 NONAME _ZTV5Tools @ 79 NONAME + _ZNK17CpSettingsWrapper22forbiddenIconSupportedEv @ 80 NONAME diff -r 6b911d05207e -r bc5a64e5bc3c phonesettings/cpphonesettingsplugins/cptelephonyutils/inc/cpplugincommon.h --- a/phonesettings/cpphonesettingsplugins/cptelephonyutils/inc/cpplugincommon.h Wed Jun 23 18:12:20 2010 +0300 +++ b/phonesettings/cpphonesettingsplugins/cptelephonyutils/inc/cpplugincommon.h Tue Jul 06 14:15:47 2010 +0300 @@ -103,6 +103,11 @@ Return false if ongoing call does not exist. */ bool isOngoingCall() const; + + /*! + Forbidden Icon support + */ + bool forbiddenIconSupported() const; private: /*! diff -r 6b911d05207e -r bc5a64e5bc3c phonesettings/cpphonesettingsplugins/cptelephonyutils/inc/cppluginlogging.h --- a/phonesettings/cpphonesettingsplugins/cptelephonyutils/inc/cppluginlogging.h Wed Jun 23 18:12:20 2010 +0300 +++ b/phonesettings/cpphonesettingsplugins/cptelephonyutils/inc/cppluginlogging.h Tue Jul 06 14:15:47 2010 +0300 @@ -72,6 +72,7 @@ */ #define DPRINT qDebug() << __PRETTY_FUNCTION__ #define DWARNING qWarning() << __PRETTY_FUNCTION__ +#define DCRITICAL qCritical() << __PRETTY_FUNCTION__ #endif // CPPHONESETTINGSPLUGINSLOGGING_H diff -r 6b911d05207e -r bc5a64e5bc3c phonesettings/cpphonesettingsplugins/cptelephonyutils/src/cpplugincommon.cpp --- a/phonesettings/cpphonesettingsplugins/cptelephonyutils/src/cpplugincommon.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phonesettings/cpphonesettingsplugins/cptelephonyutils/src/cpplugincommon.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -30,6 +30,8 @@ #include #include #include +#include +#include #include #include "cptelephonyutilsdefs.h" #include "cpplugincommon.h" @@ -213,6 +215,12 @@ { return readCenrepValue(KCRUidNumberGrouping.iUid, KNumberGrouping).toBool(); } + + bool CpSettingsWrapper::forbiddenIconSupported() const + { + int keyValue = readCenrepValue(KCRUidTelVariation.iUid, KTelVariationFlags).toInt(); + return (KTelephonyLVFlagForbiddenIcon & keyValue); + } QVariant CpSettingsWrapper::readCenrepValue( const long int uid, const unsigned long int key) const diff -r 6b911d05207e -r bc5a64e5bc3c phonesettings/cpphonesettingsplugins/cptelephonyutils/tsrc/ut_cpphonenotes/ut_cpphonenotes.cpp --- a/phonesettings/cpphonesettingsplugins/cptelephonyutils/tsrc/ut_cpphonenotes/ut_cpphonenotes.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phonesettings/cpphonesettingsplugins/cptelephonyutils/tsrc/ut_cpphonenotes/ut_cpphonenotes.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -152,6 +152,7 @@ void UT_CpPhoneNotes::t_showProgressNote() { CpPhoneNotes::instance()->showGlobalProgressNote(m_noteid1, "testshowProgressNote1"); + QTest::qWait(5000); CpPhoneNotes::instance()->showGlobalProgressNote(m_noteid2, "testshowProgressNote2"); QTest::qWait(5000); } @@ -163,7 +164,7 @@ { CpPhoneNotes::instance()->showGlobalProgressNote(m_noteid1, "testshowGPN"); QTest::qWait(5000); - CpPhoneNotes::instance()->showGlobalProgressNote(m_noteid1, + CpPhoneNotes::instance()->showGlobalProgressNote(m_noteid2, hbTrId("txt_common_info_requesting")); QTest::qWait(5000); } diff -r 6b911d05207e -r bc5a64e5bc3c phonesettings/cpphonesettingsplugins/cptelephonyutils/tsrc/ut_cpplugincommon/ut_cpplugincommon.pro --- a/phonesettings/cpphonesettingsplugins/cptelephonyutils/tsrc/ut_cpplugincommon/ut_cpplugincommon.pro Wed Jun 23 18:12:20 2010 +0300 +++ b/phonesettings/cpphonesettingsplugins/cptelephonyutils/tsrc/ut_cpplugincommon/ut_cpplugincommon.pro Tue Jul 06 14:15:47 2010 +0300 @@ -42,7 +42,9 @@ HEADERS += ../../inc/cpplugincommon.h \ /epoc32/include/platform/mw/xqsettingskey.h \ /epoc32/include/platform/mw/xqsettingsmanager.h \ - /epoc32/include/platform/mw/xqsysinfo.h + /epoc32/include/platform/mw/xqsysinfo.h \ + ../../../../../inc/telephonyvariant.hrh \ + ../../../../../inc/telinternalcrkeys.h SOURCES += ../../src/cpplugincommon.cpp diff -r 6b911d05207e -r bc5a64e5bc3c phonesettings/cpphonesettingsplugins/divertplugin/src/cpdivertplugingroup.cpp --- a/phonesettings/cpphonesettingsplugins/divertplugin/src/cpdivertplugingroup.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phonesettings/cpphonesettingsplugins/divertplugin/src/cpdivertplugingroup.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -27,6 +27,7 @@ #include #include #include +#include #include #include "cpdivertplugingroup.h" #include "cpplugincommon.h" @@ -58,7 +59,6 @@ m_DataItemVideoIfNotAvailable(NULL), m_activeNoteId(0), m_activeProgressNoteId(0), - m_divertToVoiceMailBox(false), m_helper(helper), m_activateDivertPhase(NonePhase), m_dialog(NULL) @@ -135,6 +135,7 @@ CpSettingFormItemData *page = new CpSettingFormItemData( HbDataFormModelItem::GroupPageItem, hbTrId("txt_phone_setlabel_service_val_voice_divert")); + page->setObjectName("voiceCallSettingsGroupItem"); parent->appendChild(page); m_DataItemVoiceAllCalls = createDivertItem( @@ -143,6 +144,7 @@ hbTrId("txt_phone_setlabel_all_calls"), hbTrId("txt_phone_setlabel_all_calls"), false, page); + m_DataItemVoiceAllCalls->setObjectName("voiceAllCallsDataItem"); m_DataItemVoiceIfBusy = createDivertItem( DivertConditionBusy, @@ -150,6 +152,7 @@ hbTrId("txt_phone_setlabel_if_busy"), hbTrId("txt_phone_setlabel_if_busy"), false, page); + m_DataItemVoiceIfBusy->setObjectName("voiceIfBusyDataItem"); m_DataItemVoiceIfNotAnswered = createDivertItem( DivertConditionNoReply, @@ -157,22 +160,23 @@ hbTrId("txt_phone_setlabel_if_not_answered"), hbTrId("txt_phone_setlabel_if_not_answered"), true, page); - m_DataItemVoiceIfNotAnswered->setDescription( - hbTrId("txt_phone_setlabel_divert_delay_ln_seconds", 0)); - + m_DataItemVoiceIfNotAnswered->setObjectName("voiceIfNotAnsweredDataItem"); + m_DataItemVoiceIfOutOfReach = createDivertItem( DivertConditionNotReachable, ServiceGroupVoice, hbTrId("txt_phone_setlabel_if_out_of_reach"), hbTrId("txt_phone_setlabel_if_out_of_reach"), false, page); - + m_DataItemVoiceIfOutOfReach->setObjectName("voiceIfOutOfReachDataItem"); + m_DataItemVoiceIfNotAvailable = createDivertItem( DivertConditionAllConditionalCases, ServiceGroupVoice, hbTrId("txt_phone_setlabel_if_not_available"), hbTrId("txt_phone_setlabel_if_not_available"), true, page); + m_DataItemVoiceIfNotAvailable->setObjectName("voiceIfNotAvailableDataItem"); DPRINT << ": OUT"; } @@ -187,6 +191,7 @@ CpSettingFormItemData *page = new CpSettingFormItemData( HbDataFormModelItem::GroupPageItem, hbTrId("txt_phone_setlabel_service_val_video_divert")); + page->setObjectName("videoCallSettingsGroupItem"); parent->appendChild(page); @@ -196,6 +201,7 @@ hbTrId("txt_phone_setlabel_all_calls"), hbTrId("txt_phone_setlabel_all_calls"), false, page); + m_DataItemVideoAllCalls->setObjectName("videoAllCallsDataItem"); m_DataItemVideoIfBusy = createDivertItem( DivertConditionBusy, @@ -203,15 +209,15 @@ hbTrId("txt_phone_setlabel_if_busy"), hbTrId("txt_phone_setlabel_if_busy"), false, page); - + m_DataItemVideoIfBusy->setObjectName("videoIfBusyDataItem"); + m_DataItemVideoIfNotAnswered = createDivertItem( DivertConditionNoReply, ServiceGroupData, hbTrId("txt_phone_setlabel_if_not_answered"), hbTrId("txt_phone_setlabel_if_not_answered"), true, page); - m_DataItemVideoIfNotAnswered->setDescription( - hbTrId("txt_phone_setlabel_divert_delay_ln_seconds", 0)); + m_DataItemVideoIfNotAnswered->setObjectName("videoIfNotAnsweredDataItem"); m_DataItemVideoIfOutOfReach = createDivertItem( DivertConditionNotReachable, @@ -219,13 +225,15 @@ hbTrId("txt_phone_setlabel_if_out_of_reach"), hbTrId("txt_phone_setlabel_if_out_of_reach"), false, page); - + m_DataItemVideoIfOutOfReach->setObjectName("videoIfOutOfReachDataItem"); + m_DataItemVideoIfNotAvailable = createDivertItem( DivertConditionAllConditionalCases, ServiceGroupData, hbTrId("txt_phone_setlabel_if_not_available"), hbTrId("txt_phone_setlabel_if_not_available"), true, page); + m_DataItemVideoIfNotAvailable->setObjectName("videoIfNotAvailableDataItem"); DPRINT << ": OUT"; } @@ -311,13 +319,9 @@ i.item = &item; m_divertRequestQueue.enqueue(i); - if (m_divertRequestQueue.count()==1) { - // Process if first item was added, process other later - try { - processDivertingRequestQueue(); - } catch(...) { - DPRINT << "error!!"; - } + if (m_divertRequestQueue.count() == 1) { + // Process if first item was added, process other later + processDivertingRequestQueue(); } DPRINT << ": OUT"; @@ -391,8 +395,12 @@ CpSettingFormItemData* itemData = item(ServiceGroupVoice, condition); itemData->setContentWidgetData("text", numberValue); if (DivertConditionNoReply == condition) { - itemData->setDescription( - hbTrId("txt_phone_setlabel_divert_delay_ln_seconds", timeout)); + if (timeout > 0) { + itemData->setDescription( + hbTrId("txt_phone_setlabel_divert_delay_ln_seconds", timeout)); + } else { + itemData->setDescription(""); + } } itemData->setContentWidgetData("checkState", itemState); itemData->setEnabled(true); @@ -402,8 +410,12 @@ CpSettingFormItemData* itemData = item(ServiceGroupData, condition); itemData->setContentWidgetData("text", numberValue); if (DivertConditionNoReply == condition) { - itemData->setDescription( - hbTrId("txt_phone_setlabel_divert_delay_ln_seconds", timeout)); + if (timeout > 0) { + itemData->setDescription( + hbTrId("txt_phone_setlabel_divert_delay_ln_seconds", timeout)); + } else { + itemData->setDescription(""); + } } itemData->setContentWidgetData("checkState", itemState); itemData->setEnabled(true); @@ -547,7 +559,8 @@ if (!CpPhoneNotes::instance()->noteShowing()) { CpPhoneNotes::instance()->showGlobalProgressNote( - m_activeProgressNoteId, hbTrId("txt_common_info_requesting")); + m_activeProgressNoteId, + hbTrId("txt_common_info_requesting")); } } break; @@ -605,30 +618,41 @@ (DivertConditionUnconditional == aSetting.iCondition) && (DivertingStatusActive != aSetting.iStatus) ); - switch(aSetting.iStatus) { - case DivertingStatusActive: + switch (aSetting.iStatus) { + case DivertingStatusActive: { if (aPlural) { - CpPhoneNotes::instance()->showNotificationDialog(hbTrId("txt_phone_info_diverts_activated")); + CpPhoneNotes::instance()->showNotificationDialog( + hbTrId("txt_phone_info_diverts_activated")); } else { - CpPhoneNotes::instance()->showNotificationDialog(hbTrId("txt_phone_info_divert_activated")); + CpPhoneNotes::instance()->showNotificationDialog( + hbTrId("txt_phone_info_divert_activated")); } - if (!m_divertToVoiceMailBox) { + QString voiceMailBoxNumber; + QString videoMailBoxNumber; + m_callDivertingWrapper->getVoiceMailBoxNumber(voiceMailBoxNumber, ServiceGroupVoice); + m_callDivertingWrapper->getVoiceMailBoxNumber(videoMailBoxNumber, ServiceGroupData); + if ((aSetting.iNumber != voiceMailBoxNumber) && (aSetting.iNumber != videoMailBoxNumber)) { // Number, except vmbx number, will be added to defaultnumber list m_callDivertingWrapper->setNewDefaultNumber(aSetting.iNumber); } + } break; case DivertingStatusNotRegistered: case DivertingStatusInactive: if (aPlural) { - CpPhoneNotes::instance()->showNotificationDialog(hbTrId("txt_phone_info_diverts_deactivated")); + CpPhoneNotes::instance()->showNotificationDialog( + hbTrId("txt_phone_info_diverts_deactivated")); } else { - CpPhoneNotes::instance()->showNotificationDialog(hbTrId("txt_phone_info_divert_deactivated")); + CpPhoneNotes::instance()->showNotificationDialog( + hbTrId("txt_phone_info_divert_deactivated")); } break; case DivertingStatusNotProvisioned: case DivertingStatusUnknown: default: - CpPhoneNotes::instance()->showNotificationDialog(hbTrId("txt_phone_info_request_not_completed")); + CpPhoneNotes::instance()->showNotificationDialog( + hbTrId("txt_phone_info_request_not_completed")); + break; } DPRINT << ": OUT"; @@ -645,7 +669,7 @@ DPRINT << "divertList.Size():" << divertList.size(); DPRINT << "plural:" << plural; - foreach(PSCallDivertingStatus* status, divertList) { + foreach (PSCallDivertingStatus* status, divertList) { DPRINT << status->iCondition; DPRINT << status->iNumber; DPRINT << status->iServiceGroup; @@ -678,13 +702,13 @@ qvariant_cast( m_divertRequestQueue.head().item->property("condition"))); } - + // Clear queue m_divertRequestQueue.clear(); - + // Cancel previous note CpPhoneNotes::instance()->cancelNote(m_activeNoteId); - + // Show error note CpPhoneNotes::instance()->showGlobalErrorNote(m_activeNoteId, aReason); @@ -698,9 +722,12 @@ const QString& heading, PsServiceGroup serviceGroup) { DPRINT << ": IN"; - - m_divertCommand.iNumber = ""; - m_divertToVoiceMailBox = false; + if (m_dialog) { + m_dialog->deleteLater(); + m_dialog = NULL; + } + + m_divertCommand.iNumber.clear(); QStringList defNumbers; QScopedPointer dialog(createDialog(heading)); HbListWidget *list = new HbListWidget(dialog.data()); @@ -721,10 +748,18 @@ } if (!vmbxErr) { - addItemToListWidget( - list, - hbTrId("txt_phone_setlabel_voice_mbx"), - vmbxNumber ); + if (serviceGroup == ServiceGroupVoice) { + addItemToListWidget( + list, + hbTrId("txt_phone_setlabel_voice_mbx"), + vmbxNumber ); + + } else { + addItemToListWidget( + list, + hbTrId("txt_phone_setlabel_video_mbx"), + vmbxNumber ); + } } // Add "old" divert number to list @@ -757,12 +792,7 @@ SLOT(close())); dialog->open(this, SLOT(voiceNumberListQueryClosed(HbAction *))); - if (m_dialog) { - m_dialog->deleteLater(); - m_dialog = NULL; - } m_dialog = dialog.take(); - DPRINT << ": OUT"; } @@ -772,7 +802,9 @@ void CpDivertPluginGroup::voiceNumberListQueryClosed(HbAction* action) { DPRINT << ": IN"; - HbListWidget *list = NULL; + HbListWidget *list(NULL); + m_divertCommand.iNumber.clear(); + bool processNextPhase(true); if (m_dialog) { bool err = QObject::disconnect(m_dialog->contentWidget(), @@ -785,54 +817,50 @@ } // Enter if cancel wasn't selected - if (!action) { - QString data; - QString text; - - if (list) { - // Update the view with selected text - data = list->currentItem()->data().toString(); - text = list->currentItem()->text(); - } + if (!action && list) { + // Update the view with selected text + QString data = list->currentItem()->data().toString(); + QString text = list->currentItem()->text(); + DPRINT << ": data: " << data; DPRINT << ": text: " << text; - if (text == hbTrId("txt_phone_setlabel_voice_mbx")) { - m_divertCommand.iNumber = data; - + if (data == KOtherNumber) { + DPRINT << ": open popUpNumberEditor"; + processNextPhase = false; + popUpNumberEditor(hbTrId("txt_phone_info_number")); + } else if (text == hbTrId("txt_phone_setlabel_voice_mbx")) { + DPRINT << ": get voicemailboxnumber"; + m_callDivertingWrapper->getVoiceMailBoxNumber( + m_divertCommand.iNumber, ServiceGroupVoice); if (m_divertCommand.iNumber.isEmpty()) { DPRINT << ": voicemailboxnumber query"; - if (m_divertCommand.iServiceGroup == ServiceGroupVoice) { - m_callDivertingWrapper->queryVoiceMailBoxNumber( - m_divertCommand.iNumber, ServiceGroupVoice); - - } else if(m_divertCommand.iServiceGroup == ServiceGroupData) { - m_callDivertingWrapper->queryVoiceMailBoxNumber( - m_divertCommand.iNumber, ServiceGroupData); - - } else { - // Skip - } - + m_callDivertingWrapper->queryVoiceMailBoxNumber( + m_divertCommand.iNumber, ServiceGroupVoice); } - + } else if (text == hbTrId("txt_phone_setlabel_video_mbx")) { + DPRINT << ": get videomailboxnumber"; + m_callDivertingWrapper->getVoiceMailBoxNumber( + m_divertCommand.iNumber, ServiceGroupData); if (m_divertCommand.iNumber.isEmpty()) { - nextPhaseForActivateDivert(false); - } else { - nextPhaseForActivateDivert(true); + DPRINT << ": videomailboxnumber query"; + m_callDivertingWrapper->queryVoiceMailBoxNumber( + m_divertCommand.iNumber, ServiceGroupData); } - } else if (data == KOtherNumber) { - DPRINT << ": open popUpNumberEditor"; - popUpNumberEditor(hbTrId("txt_phone_info_number")); - } else { + } else { //TODO if matched contact name not work DPRINT << ": else"; m_divertCommand.iNumber = data; + } + } + DPRINT << ": processNextPhase: " << processNextPhase; + DPRINT << ": m_divertCommand.iNumber: " << m_divertCommand.iNumber; + if (processNextPhase) { + if (m_divertCommand.iNumber.isEmpty()) { + nextPhaseForActivateDivert(false); + } else { nextPhaseForActivateDivert(true); - } - - } else { - nextPhaseForActivateDivert(false); + } } DPRINT << ": OUT"; @@ -845,7 +873,11 @@ const QString& heading) { DPRINT << ": IN"; - + + if (m_dialog) { + m_dialog->deleteLater(); + m_dialog = NULL; + } QScopedPointer dialog(createDialog(heading)); HbLineEdit *editor = new HbLineEdit(dialog.data()); @@ -862,14 +894,8 @@ hbTrId("txt_common_button_cancel"), dialog.data()); dialog->addAction(cancelAction); - dialog->open(this, SLOT(popUpNumberEditorClosed(HbAction*))); - if (m_dialog) { - m_dialog->deleteLater(); - m_dialog = NULL; - } m_dialog = dialog.take(); - DPRINT << ": OUT"; } @@ -948,12 +974,19 @@ QScopedPointer dialog(createDialog(hbTrId("txt_phone_title_delay"))); HbListWidget *list = new HbListWidget(dialog.data()); - addItemToListWidget(list, hbTrId("txt_phone_list_5_seconds"), 5 ); - addItemToListWidget(list, hbTrId("txt_phone_list_10_seconds"), 10); - addItemToListWidget(list, hbTrId("txt_phone_list_15_seconds"), 15); - addItemToListWidget(list, hbTrId("txt_phone_list_20_seconds"), 20); - addItemToListWidget(list, hbTrId("txt_phone_list_25_seconds"), 25); - addItemToListWidget(list, hbTrId("txt_phone_list_30_seconds"), 30); + HbParameterLengthLimiter pluralLimiter; + pluralLimiter = HbParameterLengthLimiter("txt_phone_list_ln_seconds", 5); + addItemToListWidget(list, pluralLimiter, 5 ); + pluralLimiter = HbParameterLengthLimiter("txt_phone_list_ln_seconds", 10); + addItemToListWidget(list, pluralLimiter, 10); + pluralLimiter = HbParameterLengthLimiter("txt_phone_list_ln_seconds", 15); + addItemToListWidget(list, pluralLimiter, 15); + pluralLimiter = HbParameterLengthLimiter("txt_phone_list_ln_seconds", 20); + addItemToListWidget(list, pluralLimiter, 20); + pluralLimiter = HbParameterLengthLimiter("txt_phone_list_ln_seconds", 25); + addItemToListWidget(list, pluralLimiter, 25); + pluralLimiter = HbParameterLengthLimiter("txt_phone_list_ln_seconds", 30); + addItemToListWidget(list, pluralLimiter, 30); // Connect list item activation signal to close the popup QObject::connect( @@ -1107,9 +1140,9 @@ QVariant itemState = m_DataItemVoiceAllCalls->contentWidgetData("checkState"); if ((itemState.isValid()) && (itemState.toInt() == Qt::Checked)) { - deActivateDependentDivertOption(m_DataItemVoiceIfBusy); - deActivateDependentDivertOption(m_DataItemVoiceIfNotAnswered); - deActivateDependentDivertOption(m_DataItemVoiceIfOutOfReach); + deactivateDependentDivertOption(m_DataItemVoiceIfBusy); + deactivateDependentDivertOption(m_DataItemVoiceIfNotAnswered); + deactivateDependentDivertOption(m_DataItemVoiceIfOutOfReach); } else { // Must query data for diverts depending on all calls divert, because // data may have been lost for registered diverts, which were @@ -1123,9 +1156,9 @@ itemState = m_DataItemVideoAllCalls->contentWidgetData("checkState"); if ((itemState.isValid()) && (itemState.toInt() == Qt::Checked)) { - deActivateDependentDivertOption(m_DataItemVideoIfBusy); - deActivateDependentDivertOption(m_DataItemVideoIfNotAnswered); - deActivateDependentDivertOption(m_DataItemVideoIfOutOfReach); + deactivateDependentDivertOption(m_DataItemVideoIfBusy); + deactivateDependentDivertOption(m_DataItemVideoIfNotAnswered); + deactivateDependentDivertOption(m_DataItemVideoIfOutOfReach); } else { // Must query data for diverts depending on all calls divert, because // data may have been lost for registered diverts, which were @@ -1142,9 +1175,9 @@ } /*! - CpDivertPluginGroup::deActivateDependentDivertOption. + CpDivertPluginGroup::deactivateDependentDivertOption. */ -void CpDivertPluginGroup::deActivateDependentDivertOption( +void CpDivertPluginGroup::deactivateDependentDivertOption( CpDivertItemData* item) const { DPRINT << ": IN"; @@ -1155,8 +1188,7 @@ item->setContentWidgetData("text", QString("")); if (!item->description().isEmpty()) { - item->setDescription( - hbTrId("txt_phone_setlabel_divert_delay_ln_seconds", 0)); + item->setDescription(""); } } item->setEnabled(false); diff -r 6b911d05207e -r bc5a64e5bc3c phonesettings/cpphonesettingsplugins/divertplugin/src/cpdivertplugingroup.h --- a/phonesettings/cpphonesettingsplugins/divertplugin/src/cpdivertplugingroup.h Wed Jun 23 18:12:20 2010 +0300 +++ b/phonesettings/cpphonesettingsplugins/divertplugin/src/cpdivertplugingroup.h Tue Jul 06 14:15:47 2010 +0300 @@ -231,7 +231,7 @@ */ void updateDependentDivertOptions(bool fetchFromNetwork = false); void activateDependentDivertOption(CpDivertItemData* item, bool fetchFromNetwork); - void deActivateDependentDivertOption(CpDivertItemData* item) const; + void deactivateDependentDivertOption(CpDivertItemData* item) const; /** Synchronizes content and status of not available divert option based on @@ -242,7 +242,7 @@ void nextPhaseForActivateDivert(bool ok); bool isDivertSettingsItem(HbDataFormModelItem* modelItem); - + private: // data // Setting wrappers @@ -268,9 +268,6 @@ int m_activeNoteId; int m_activeProgressNoteId; - // To prevent adding vmbx number to defaultlist - bool m_divertToVoiceMailBox; - /** Divert request queue */ @@ -282,6 +279,7 @@ PSCallDivertingCommand m_divertCommand; int m_timerId; HbDialog *m_dialog; + }; #endif // CPDIVERTPLUGINGROUP_H diff -r 6b911d05207e -r bc5a64e5bc3c phonesettings/cpphonesettingsplugins/divertplugin/tsrc/ut_cpdivertplugin/ut_cpdivertplugin.cpp --- a/phonesettings/cpphonesettingsplugins/divertplugin/tsrc/ut_cpdivertplugin/ut_cpdivertplugin.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phonesettings/cpphonesettingsplugins/divertplugin/tsrc/ut_cpdivertplugin/ut_cpdivertplugin.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -153,6 +153,7 @@ void UT_CpDivertPlugin::t_changeDivertingStateRequested() { //except user cancels + /* appendAction("txt_phone_setlabel_all_calls", selectAction, "Cancel"); expect("PSetCallDivertingWrapper::getDefaultNumbers"); m_divertpluginGroup->m_DataItemVoiceAllCalls->setContentWidgetData("text", ""); @@ -231,7 +232,7 @@ //expect("CpPhoneNotes::cancelNote"); m_divertpluginGroup->divertRequestProcessed(); QVERIFY(verify()); - + */ //except user selects other number, inserts number and cancels /* BUG in framework (Crash in QGestureManager::getState due to QWeakPointer) */ /* @@ -309,23 +310,15 @@ /*! UT_CpDivertPlugin::t_popUpTimerQuery */ -/*void UT_CpDivertPlugin::t_popUpTimerQuery() +void UT_CpDivertPlugin::t_popUpTimerQuery() { - appendAction("txt_phone_setlabel_if_not_answered", selectItem, "0401234567"); - appendAction("txt_phone_title_delay", selectAction, "Cancel"); - expect("PSetCallDivertingWrapper::getDefaultNumbers"); - m_divertpluginGroup->m_DataItemVoiceIfNotAnswered->setContentWidgetData("text", ""); - m_divertpluginGroup->m_DataItemVoiceIfNotAnswered->setContentWidgetData( - "checkState", Qt::Checked); - m_divertpluginGroup->m_DataItemVoiceIfNotAnswered->thisItemClicked(); - waitForQueueEmpty(); - QVERIFY(verify()); - + const QString delayLnString("txt_phone_list_ln_seconds"); + appendAction("txt_phone_setlabel_if_not_answered", selectItem, "txt_phone_list_enter_number_manually"); appendAction("txt_phone_info_number", insertText, "12345"); appendAction("txt_phone_info_number", selectAction, "OK"); - appendAction("txt_phone_title_delay", selectItem, "txt_phone_list_15_seconds"); - //except user chooses other number and inserts number and timeout + appendAction("txt_phone_title_delay", selectItem, delayLnString); + // expect user chooses other number and inserts number and timeout expect("PSetCallDivertingWrapper::getDefaultNumbers"); expect("SsSettingsWrapper::get"); expect("PSetCallDivertingWrapper::setCallDiverting"); @@ -340,9 +333,9 @@ command.iCondition = qvariant_cast( m_divertpluginGroup->m_DataItemVoiceIfNotAnswered->property("condition")); command.iServiceGroup = ServiceGroupVoice; - expect("CpPhoneNotes::showGlobalNote"); + expect("CpPhoneNotes::showNotificationDialog"); m_divertpluginGroup->handleDivertingChanged(command, false); -// expect("CpPhoneNotes::cancelNote"); + expect("CpPhoneNotes::cancelNote"); m_divertpluginGroup->divertRequestProcessed(); QVERIFY(verify()); @@ -358,14 +351,14 @@ command.iCondition = qvariant_cast( m_divertpluginGroup->m_DataItemVoiceIfNotAnswered->property("condition")); command.iServiceGroup = ServiceGroupVoice; - expect("CpPhoneNotes::showGlobalNote"); + expect("CpPhoneNotes::showNotificationDialog"); m_divertpluginGroup->handleDivertingChanged(command, false); - //expect("CpPhoneNotes::cancelNote"); + expect("CpPhoneNotes::cancelNote"); m_divertpluginGroup->divertRequestProcessed(); QVERIFY(verify()); } -*/ + /*! UT_CpDivertPlugin::t_handleDivertingChanged */ @@ -375,6 +368,7 @@ c.iStatus = DivertingStatusActive; c.iServiceGroup = ServiceGroupAllTeleservices; + c.iNumber = QString("0401234567890"); expect("PSetCallDivertingWrapper::setNewDefaultNumber"); m_divertpluginGroup->handleDivertingChanged(c, true); @@ -382,6 +376,7 @@ c.iServiceGroup = ServiceGroupAllTeleservices; c.iCondition = DivertConditionUnconditional; + c.iNumber = QString("0401234567890"); expect("PSetCallDivertingWrapper::setNewDefaultNumber"); m_divertpluginGroup->handleDivertingChanged(c, false); diff -r 6b911d05207e -r bc5a64e5bc3c phonesettings/cpphonesettingsplugins/divertplugin/tsrc/ut_cpdivertplugin/ut_cpdivertplugin.h --- a/phonesettings/cpphonesettingsplugins/divertplugin/tsrc/ut_cpdivertplugin/ut_cpdivertplugin.h Wed Jun 23 18:12:20 2010 +0300 +++ b/phonesettings/cpphonesettingsplugins/divertplugin/tsrc/ut_cpdivertplugin/ut_cpdivertplugin.h Tue Jul 06 14:15:47 2010 +0300 @@ -51,7 +51,7 @@ void t_handleDivertingError(); void t_memleak(); -// void t_popUpTimerQuery(); + void t_popUpTimerQuery(); private: diff -r 6b911d05207e -r bc5a64e5bc3c phonesettings/cpphonesettingsplugins/telephonyplugin/src/cptelephonyplugin.cpp --- a/phonesettings/cpphonesettingsplugins/telephonyplugin/src/cptelephonyplugin.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phonesettings/cpphonesettingsplugins/telephonyplugin/src/cptelephonyplugin.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -71,6 +71,22 @@ return ret; } +/*! + CpTelephonyPlugin::createSettingView() const +*/ +CpBaseSettingView *CpTelephonyPlugin::createSettingView(const QVariant &hint) const +{ + QVariantHash hash = hint.value(); + + if( hash.value("view").toString().compare("divert_view",Qt::CaseInsensitive) == 0){ + QVariantList params; + params << QVariant("cpdivertplugin"); + return new CpTelephonyPluginView(params); + } + return 0; +} + + Q_EXPORT_PLUGIN2(cptelephonyplugin, CpTelephonyPlugin); diff -r 6b911d05207e -r bc5a64e5bc3c phonesettings/cpphonesettingsplugins/telephonyplugin/src/cptelephonyplugin.h --- a/phonesettings/cpphonesettingsplugins/telephonyplugin/src/cptelephonyplugin.h Wed Jun 23 18:12:20 2010 +0300 +++ b/phonesettings/cpphonesettingsplugins/telephonyplugin/src/cptelephonyplugin.h Tue Jul 06 14:15:47 2010 +0300 @@ -21,6 +21,7 @@ #include #include #include +#include #include "cpphonelocalisation.h" /*! @@ -29,13 +30,14 @@ */ class CpTelephonyPlugin : public QObject, - public CpPluginInterface + public CpPluginInterface, + public CpLauncherInterface { Q_OBJECT Q_INTERFACES(CpPluginInterface) + Q_INTERFACES(CpLauncherInterface) public: - CpTelephonyPlugin(); ~CpTelephonyPlugin(); @@ -46,6 +48,12 @@ QList createSettingFormItemData( CpItemDataHelper &itemDataHelper) const; + /*! + From CpLauncherInterface. + @see CpLauncherInterface. + */ + virtual CpBaseSettingView *createSettingView(const QVariant &hint) const; + private: QScopedPointer m_localisation; diff -r 6b911d05207e -r bc5a64e5bc3c phonesettings/cpphonesettingsplugins/telephonyplugin/src/cptelephonypluginview.cpp --- a/phonesettings/cpphonesettingsplugins/telephonyplugin/src/cptelephonypluginview.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phonesettings/cpphonesettingsplugins/telephonyplugin/src/cptelephonypluginview.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -15,8 +15,7 @@ * */ -#include "cptelephonypluginview.h" -#include "cppluginlogging.h" + #include #include #include @@ -24,10 +23,24 @@ #include #include #include - +#include "cptelephonypluginview.h" +#include "cppluginlogging.h" /*! - CpTelephonyPluginView::CpTelephonyPluginView() + \class CpTelephonyPluginView + \brief The class CpTelephonyPluginView + loads child setting plugins contained + in "Telephony" view. +*/ + +// Local constants +const char* PLUGIN_NAME_CALLSPLUGIN = "cpcallsplugin"; +const char* PLUGIN_NAME_VMBXPLUGIN = "vmbxcpplugin"; +const char* PLUGIN_NAME_DIVERTPLUGIN = "cpdivertplugin"; +const char* PLUGIN_NAME_BARRINGPLUGIN = "cpbarringplugin"; + +/*! + Constructor. */ CpTelephonyPluginView::CpTelephonyPluginView() : CpBaseSettingView(0,0), @@ -43,21 +56,23 @@ m_helper = initializeItemDataHelper(); QList items; - // Load calls plugin DPRINT << ": Loading cpcallsplugin"; - items.append(groupItemFromPlugin("cpcallsplugin")); - - // Load diverts plugin + items.append(groupItemFromPlugin( + PLUGIN_NAME_CALLSPLUGIN)); + // CpSettingFormItemData* expandedItem = items.last(); + + DPRINT << ": Loading vmbxcpplugin"; + items.append(groupItemFromPlugin( + PLUGIN_NAME_VMBXPLUGIN)); + + DPRINT << ": Loading cpdivertsplugin"; - items.append(groupItemFromPlugin("cpdivertplugin")); - - // Load call mailboxes plugin - DPRINT << ": Loading vmbxcpplugin"; - items.append(groupItemFromPlugin("vmbxcpplugin")); + items.append(groupItemFromPlugin( + PLUGIN_NAME_DIVERTPLUGIN)); - // Load barring plugin DPRINT << ": Loading cpbarringplugin"; - items.append(groupItemFromPlugin("cpbarringplugin")); + items.append(groupItemFromPlugin( + PLUGIN_NAME_BARRINGPLUGIN)); // Insert items to form model foreach (CpSettingFormItemData* i, items) { @@ -65,27 +80,73 @@ } form->setModel(model); + + /* + if (expandedItem) { + QModelIndex expandedItemIndex = model->indexFromItem(expandedItem); + + if (expandedItemIndex.isValid()) { + form->setExpanded(expandedItemIndex, true); + } + } + */ } DPRINT << ": OUT"; } /*! - CpTelephonyPluginView::~CpTelephonyPluginView() + Constructor with param list. +*/ +CpTelephonyPluginView::CpTelephonyPluginView(const QVariantList ¶ms) : + CpBaseSettingView(0,0), + m_helper(NULL) +{ + HbDataForm *form = qobject_cast(widget()); + if (form){ + HbDataFormModel *model = new HbDataFormModel; + form->setHeading(hbTrId("txt_phone_subhead_telephone")); + m_helper = initializeItemDataHelper(); + QList items; + TBool expanded(false); + CpSettingFormItemData* expandedItem(NULL); + foreach (QVariant var, params){ + items.append(groupItemFromPlugin(var.toString())); + if(!expanded){ + expandedItem = items.last(); + expanded = true; + } + } + // Insert items to form model + foreach (CpSettingFormItemData* i, items) { + model->appendDataFormItem(i); + } + form->setModel(model); + if (expandedItem) { + QModelIndex expandedItemIndex = model->indexFromItem(expandedItem); + + if (expandedItemIndex.isValid()) { + form->setExpanded(expandedItemIndex, true); + } + } + } +} + +/*! + Destructor. */ CpTelephonyPluginView::~CpTelephonyPluginView() { DPRINT << ": IN"; - delete m_helper; - DPRINT << ": OUT"; } /*! - CpTelephonyPluginView::groupItemFromPlugin() + Load group item for given plugin name. */ -QList CpTelephonyPluginView::groupItemFromPlugin( const QString& plugin ) +QList CpTelephonyPluginView::groupItemFromPlugin( + const QString& plugin) { DPRINT << ": IN"; @@ -93,11 +154,11 @@ CpPluginInterface *p(NULL); try { p = CpPluginLoader::loadCpPluginInterface(plugin); - if (p && m_helper){ + if (p && m_helper) { items = p->createSettingFormItemData(*m_helper); } } catch(...) { - DPRINT << "CATCH ERROR"; + DCRITICAL << ": CATCH ERROR, item creation failed!"; delete p; } @@ -106,7 +167,7 @@ } /*! - CpTelephonyPluginView::initializeItemDataHelper() + Item data helper initialization. */ CpItemDataHelper* CpTelephonyPluginView::initializeItemDataHelper() { diff -r 6b911d05207e -r bc5a64e5bc3c phonesettings/cpphonesettingsplugins/telephonyplugin/src/cptelephonypluginview.h --- a/phonesettings/cpphonesettingsplugins/telephonyplugin/src/cptelephonypluginview.h Wed Jun 23 18:12:20 2010 +0300 +++ b/phonesettings/cpphonesettingsplugins/telephonyplugin/src/cptelephonypluginview.h Tue Jul 06 14:15:47 2010 +0300 @@ -19,34 +19,29 @@ #define CPTELEPHONYPLUGINVIEW_H_ #include +#include #include #include class HbDataFormModelItem; class CpSettingFormItemData; -/*! - \class CpTelephonyPluginView - \brief The class CpTelephonyPluginView. - */ +// Class declaration class CpTelephonyPluginView : public CpBaseSettingView { Q_OBJECT public: CpTelephonyPluginView(); + CpTelephonyPluginView(const QVariantList ¶ms); ~CpTelephonyPluginView(); private: + CpItemDataHelper* initializeItemDataHelper(); + QList groupItemFromPlugin( + const QString& plugin); - CpItemDataHelper* initializeItemDataHelper(); - -private: - - QList groupItemFromPlugin(const QString& plugin); - -private: // data - +private: // Data CpItemDataHelper *m_helper; }; diff -r 6b911d05207e -r bc5a64e5bc3c phonesettings/cpphonesettingsplugins/telephonyplugin/tsrc/ut_cptelephonypluginview/ut_cptelephonypluginview.cpp --- a/phonesettings/cpphonesettingsplugins/telephonyplugin/tsrc/ut_cptelephonypluginview/ut_cptelephonypluginview.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phonesettings/cpphonesettingsplugins/telephonyplugin/tsrc/ut_cptelephonypluginview/ut_cptelephonypluginview.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -64,20 +64,21 @@ void UT_CpTelephonyPluginView::init() { initialize(); + CpPluginInterface *nullPlugin=0; - expect("CpPluginLoader::loadCpPluginInterface"). - with(QString("cpcallsplugin")).returns(nullPlugin); DummyPlugin *ret = new DummyPlugin; - - //ret = new DummyPlugin; + QList list; list.append(new CpSettingFormItemData); expect("CpPluginLoader::loadCpPluginInterface"). - with(QString("cpdivertplugin")).returns(ret); // cpnetworkplugin + with(QString("cpcallsplugin")).returns(ret); expect("DummyPlugin::createSettingFormItemData").returns(list); + expect("CpPluginLoader::loadCpPluginInterface"). + with(QString("cpdivertplugin")).returns(nullPlugin); m_callspluginview = new CpTelephonyPluginView; QVERIFY( verify() ); + } /*! diff -r 6b911d05207e -r bc5a64e5bc3c phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_cpnetworkpluginform.cpp --- a/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_cpnetworkpluginform.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_cpnetworkpluginform.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -1,4 +1,4 @@ -/* +/* * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). * All rights reserved. * This component and the accompanying materials are made available @@ -59,46 +59,6 @@ SMC_MOCK_METHOD0( void ) } - -// ----------------------------------------------------------------------------- -// CpNetworkPluginForm::showGlobalProgressNote -// ----------------------------------------------------------------------------- -// -void CpNetworkPluginForm::showGlobalProgressNote( - int & noteId, - const QString & text ) - { - SMC_MOCK_METHOD2( void, int &, noteId, - const QString &, text ) - } - - -// ----------------------------------------------------------------------------- -// CpNetworkPluginForm::showGlobalNote -// ----------------------------------------------------------------------------- -// -void CpNetworkPluginForm::showGlobalNote( - int & , - const QString & , - HbMessageBox::MessageBoxType ) - { - // SMC_MOCK_METHOD3( void, int &, noteId, - // const QString &, text, - // HbMessageBox::MessageBoxType, msgBoxType ) - } - - -// ----------------------------------------------------------------------------- -// CpNetworkPluginForm::cancelNote -// ----------------------------------------------------------------------------- -// -void CpNetworkPluginForm::cancelNote( - int noteId ) - { - SMC_MOCK_METHOD1( void, int, noteId ) - } - - // ----------------------------------------------------------------------------- // CpNetworkPluginForm::cellularDataUseHomeStateChanged // ----------------------------------------------------------------------------- diff -r 6b911d05207e -r bc5a64e5bc3c phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_cpplugincommon.cpp --- a/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_cpplugincommon.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_cpplugincommon.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -1,4 +1,4 @@ -/* +/* * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). * All rights reserved. * This component and the accompanying materials are made available @@ -55,7 +55,8 @@ // CpSettingsWrapper::setShowCallDuration // ----------------------------------------------------------------------------- // -int CpSettingsWrapper::setShowCallDuration( bool value ) +int CpSettingsWrapper::setShowCallDuration( + bool value ) { SMC_MOCK_METHOD1( int, bool, value ) } @@ -96,7 +97,8 @@ userDefined = true; i=1; } - SMC_MOCK_METHOD2( void, QString &, text, bool, userDefined ) + SMC_MOCK_METHOD2( void, QString &, text, + bool &, userDefined ) } @@ -105,9 +107,11 @@ // ----------------------------------------------------------------------------- // int CpSettingsWrapper::writeSoftRejectText( - const QString & text, bool userDefined ) + const QString & text, + bool userDefined ) { - SMC_MOCK_METHOD2( int, const QString &, text, bool, userDefined ) + SMC_MOCK_METHOD2( int, const QString &, text, + bool, userDefined ) } @@ -125,28 +129,41 @@ // CpSettingsWrapper::isFeatureCallWaitingDistiquishNotProvisionedEnabled // ----------------------------------------------------------------------------- // -bool CpSettingsWrapper::isFeatureCallWaitingDistiquishNotProvisionedEnabled() -{ +bool CpSettingsWrapper::isFeatureCallWaitingDistiquishNotProvisionedEnabled( ) + { SMC_MOCK_METHOD0( bool ) -} + } + // ----------------------------------------------------------------------------- // CpSettingsWrapper::isPhoneOffline // ----------------------------------------------------------------------------- // -bool CpSettingsWrapper::isPhoneOffline() const -{ +bool CpSettingsWrapper::isPhoneOffline( ) const + { SMC_MOCK_METHOD0( bool ) -} + } + // ----------------------------------------------------------------------------- // CpSettingsWrapper::isOngoingCall // ----------------------------------------------------------------------------- // -bool CpSettingsWrapper::isOngoingCall() const -{ +bool CpSettingsWrapper::isOngoingCall( ) const + { SMC_MOCK_METHOD0( bool ) -} + } + + +// ----------------------------------------------------------------------------- +// CpSettingsWrapper::forbiddenIconSupported +// ----------------------------------------------------------------------------- +// +bool CpSettingsWrapper::forbiddenIconSupported( ) const + { + SMC_MOCK_METHOD0( bool ) + } + // ----------------------------------------------------------------------------- // Tools::voipSupported @@ -167,12 +184,17 @@ SMC_MOCK_METHOD0( bool ) } + // ----------------------------------------------------------------------------- // Tools::errorCodeTextMapping // ----------------------------------------------------------------------------- // -bool Tools::errorCodeTextMapping( const int errorcode, QString & errorText ) +bool Tools::errorCodeTextMapping( + const int errorcode, + QString & errorText ) { - SMC_MOCK_METHOD2( bool, int, errorcode, QString &, errorText ) + SMC_MOCK_METHOD2( bool, const int, errorcode, + QString &, errorText ) } - + + diff -r 6b911d05207e -r bc5a64e5bc3c phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_cptelephonypluginview.cpp --- a/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_cptelephonypluginview.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_cptelephonypluginview.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -15,6 +15,7 @@ * */ #include +#include #include "cptelephonypluginview.h" // ============================ MEMBER FUNCTIONS =============================== @@ -29,6 +30,15 @@ } +// ----------------------------------------------------------------------------- +// CpTelephonyPluginView::CpTelephonyPluginView +// ----------------------------------------------------------------------------- +// +CpTelephonyPluginView::CpTelephonyPluginView(const QVariantList ¶ms) + :CpBaseSettingView(0, 0) + { + + } // ----------------------------------------------------------------------------- // CpTelephonyPluginView::~CpTelephonyPluginView diff -r 6b911d05207e -r bc5a64e5bc3c phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_hbwidget.cpp --- a/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_hbwidget.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_hbwidget.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -482,3 +482,13 @@ } +// ----------------------------------------------------------------------------- +// HbWidget::hideFocusHighlight +// ----------------------------------------------------------------------------- +// +void HbWidget::hideFocusHighlight() + { + SMC_MOCK_METHOD0( void ) + } + + diff -r 6b911d05207e -r bc5a64e5bc3c phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_psetcalldivertingwrapper.cpp --- a/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_psetcalldivertingwrapper.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_psetcalldivertingwrapper.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -26,9 +26,11 @@ // PSetCallDivertingWrapper::PSetCallDivertingWrapper( CPsetContainer & psetContainer, - QObject * parent ) : QObject( parent ) + QObject * parent ) + //: + //QObject( /*psetContainer, parent*/ ) { - Q_UNUSED(psetContainer); + } @@ -106,22 +108,29 @@ SMC_MOCK_METHOD1( void, QString, aNumber ) } + // ----------------------------------------------------------------------------- // PSetCallDivertingWrapper::getVoiceMailBoxNumber // ----------------------------------------------------------------------------- // -int PSetCallDivertingWrapper::getVoiceMailBoxNumber( - QString &aNumber, PsService aService) +int PSetCallDivertingWrapper::getVoiceMailBoxNumber( + QString & aNumber, + PsService aService ) { - SMC_MOCK_METHOD2( int, QString & , aNumber, PsService, aService ) + SMC_MOCK_METHOD2( int, QString &, aNumber, + PsService, aService ) } + // ----------------------------------------------------------------------------- // PSetCallDivertingWrapper::queryVoiceMailBoxNumber // ----------------------------------------------------------------------------- // -int PSetCallDivertingWrapper::queryVoiceMailBoxNumber( - QString &aNumber, PsService aService) +int PSetCallDivertingWrapper::queryVoiceMailBoxNumber( + QString & aNumber, + PsService aService ) { - SMC_MOCK_METHOD2( int, QString & , aNumber, PsService, aService ) + SMC_MOCK_METHOD2( int, QString &, aNumber, + PsService, aService ) } + diff -r 6b911d05207e -r bc5a64e5bc3c phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_psetnetworkwrapper.cpp --- a/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_psetnetworkwrapper.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_psetnetworkwrapper.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -16,7 +16,7 @@ */ #include #include -#include "psetnetworkwrapper.h" +#include // ============================ MEMBER FUNCTIONS =============================== @@ -38,7 +38,7 @@ // PSetNetworkWrapper::~PSetNetworkWrapper( ) { - + } @@ -105,3 +105,14 @@ } +// ----------------------------------------------------------------------------- +// PSetNetworkWrapper::isManualNetworkSelectionSupported +// ----------------------------------------------------------------------------- +// +bool PSetNetworkWrapper::isManualNetworkSelectionSupported( ) const + { + SMC_MOCK_METHOD0( bool ) + } + + + diff -r 6b911d05207e -r bc5a64e5bc3c phoneuis/bubblemanager2/bubblecore/bubblecore.qrc --- a/phoneuis/bubblemanager2/bubblecore/bubblecore.qrc Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneuis/bubblemanager2/bubblecore/bubblecore.qrc Tue Jul 06 14:15:47 2010 +0300 @@ -14,5 +14,7 @@ xml/bubbleparticipantlistitem.widgetml xml/bubbleheadingwidget.css resources/bubble_icon_anim.axml + xml/bubbleparticipantlistbuttons.widgetml + xml/bubbleparticipantlistbuttons.css diff -r 6b911d05207e -r bc5a64e5bc3c phoneuis/bubblemanager2/bubblecore/bwins/bubblemanager2u.def --- a/phoneuis/bubblemanager2/bubblecore/bwins/bubblemanager2u.def Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneuis/bubblemanager2/bubblecore/bwins/bubblemanager2u.def Tue Jul 06 14:15:47 2010 +0300 @@ -62,4 +62,5 @@ ?addRowToConference@BubbleManager@@UAEXH@Z @ 61 NONAME ; void BubbleManager::addRowToConference(int) ?setLabel@BubbleManager@@UAEXHABVQString@@W4TextElideMode@Qt@@@Z @ 62 NONAME ; void BubbleManager::setLabel(int, class QString const &, enum Qt::TextElideMode) ?releaseImageIfNotUsed@BubbleManager@@AAEXABVQString@@@Z @ 63 NONAME ; void BubbleManager::releaseImageIfNotUsed(class QString const &) + ?releaseNonCachedViews@BubbleManager@@AAEXXZ @ 64 NONAME ; void BubbleManager::releaseNonCachedViews(void) diff -r 6b911d05207e -r bc5a64e5bc3c phoneuis/bubblemanager2/bubblecore/eabi/bubblemanager2u.def --- a/phoneuis/bubblemanager2/bubblecore/eabi/bubblemanager2u.def Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneuis/bubblemanager2/bubblecore/eabi/bubblemanager2u.def Tue Jul 06 14:15:47 2010 +0300 @@ -106,4 +106,5 @@ _ZThn8_N13BubbleManagerD0Ev @ 105 NONAME _ZThn8_N13BubbleManagerD1Ev @ 106 NONAME _ZN13BubbleManager21releaseImageIfNotUsedERK7QString @ 107 NONAME + _ZN13BubbleManager21releaseNonCachedViewsEv @ 108 NONAME diff -r 6b911d05207e -r bc5a64e5bc3c phoneuis/bubblemanager2/bubblecore/src/bubblebutton.cpp --- a/phoneuis/bubblemanager2/bubblecore/src/bubblebutton.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneuis/bubblemanager2/bubblecore/src/bubblebutton.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -65,7 +65,8 @@ HbPushButton::updatePrimitives(); HbFrameItem* frame = - qgraphicsitem_cast(HbWidget::primitive("background")); + qgraphicsitem_cast(HbWidget::primitive( + QLatin1String("background"))); if (!frame) { return; @@ -76,23 +77,30 @@ if (isDown()) { if (buttonType()==GreenButton) { - graphicsName = "qtg_fr_btn_green_pressed"; - iconColor = HbColorScheme::color("qtc_callhandling_answer_pressed"); + graphicsName = QLatin1String("qtg_fr_btn_green_pressed"); + iconColor = HbColorScheme::color( + QLatin1String("qtc_callhandling_answer_pressed")); } else if (buttonType()==RedButton) { - graphicsName = "qtg_fr_btn_red_pressed"; - iconColor = HbColorScheme::color("qtc_callhandling_reject_pressed"); + graphicsName = QLatin1String("qtg_fr_btn_red_pressed"); + iconColor = HbColorScheme::color( + QLatin1String("qtc_callhandling_reject_pressed")); } else { - iconColor = HbColorScheme::color("qtc_button_pressed"); + iconColor = HbColorScheme::color( + QLatin1String("qtc_button_pressed")); } } else { if (buttonType()==GreenButton) { - graphicsName = "qtg_fr_btn_green_normal"; - iconColor = HbColorScheme::color("qtc_callhandling_answer_normal"); + graphicsName = + QLatin1String("qtg_fr_btn_green_normal"); + iconColor = HbColorScheme::color( + QLatin1String("qtc_callhandling_answer_normal")); } else if (buttonType()==RedButton) { - graphicsName = "qtg_fr_btn_red_normal"; - iconColor = HbColorScheme::color("qtc_callhandling_reject_normal"); + graphicsName = QLatin1String("qtg_fr_btn_red_normal"); + iconColor = HbColorScheme::color( + QLatin1String("qtc_callhandling_reject_normal")); } else { - iconColor = HbColorScheme::color("qtc_button_normal"); + iconColor = HbColorScheme::color( + QLatin1String("qtc_button_normal")); } } diff -r 6b911d05207e -r bc5a64e5bc3c phoneuis/bubblemanager2/bubblecore/src/bubbleconferencehandler.cpp --- a/phoneuis/bubblemanager2/bubblecore/src/bubbleconferencehandler.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneuis/bubblemanager2/bubblecore/src/bubbleconferencehandler.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -15,12 +15,12 @@ * */ -#include +#include + #include #include #include #include -#include #include "bubblemanager2.h" #include "bubbleconferencehandler.h" @@ -29,6 +29,7 @@ #include "bubbleparticipantlistitem.h" #include "bubbleparticipantlistmodel.h" #include "bubblebutton.h" +#include "bubbleheadingwidget.h" static const int BUBBLE_SELECTION_TIMEOUT = 3000; @@ -39,14 +40,9 @@ QObject* parent ) : BubbleHandler(widgetManager,view,container,parent) { - mTimerLabel = - qobject_cast(widget(BubbleWidgetManager::ConferenceTimer)); - Q_ASSERT(mTimerLabel); - HbDeviceProfile profile; - HbFontSpec spec(HbFontSpec::Secondary); - spec.setTextHeight(4*HbDeviceProfile::current().unitValue()); - mTimerLabel->setFontSpec(spec); - mTimerLabel->setAlignment(Qt::AlignLeft); + mHeading = + qobject_cast(widget(BubbleWidgetManager::Heading)); + Q_ASSERT(mHeading); mButtonCenter = qobject_cast(widget(BubbleWidgetManager::CenterButton)); @@ -96,7 +92,7 @@ mSelectionTimer->stop(); mPrototype->clearActions(); - mTimerLabel->hide(); + mHeading->reset(); mButtonCenter->hide(); mButtonCenter->setDown(false); mButtonCenter->disconnect(); @@ -130,15 +126,7 @@ !(mHeader->callFlags()&BubbleManagerIF::NoCiphering)); } - if (header.timerCost().length()) { - QColor color; - color = HbColorScheme::color("list_item_title_normal"); - if (color.isValid()) { - mTimerLabel->setTextColor(color); - } - mTimerLabel->setPlainText(header.timerCost()); - mTimerLabel->show(); - } + mHeading->readBubbleHeader(header); setButtons(mHeader->actions()); @@ -194,10 +182,7 @@ void BubbleConferenceHandler::updateTimerDisplayNow() { - Q_ASSERT(mHeader); - - mTimerLabel->setPlainText(mHeader->timerCost()); - mTimerLabel->update(); + mHeading->updateTimerDisplayNow(); } void BubbleConferenceHandler::handleItemSelected( diff -r 6b911d05207e -r bc5a64e5bc3c phoneuis/bubblemanager2/bubblecore/src/bubbleconferencehandler.h --- a/phoneuis/bubblemanager2/bubblecore/src/bubbleconferencehandler.h Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneuis/bubblemanager2/bubblecore/src/bubbleconferencehandler.h Tue Jul 06 14:15:47 2010 +0300 @@ -24,7 +24,7 @@ class BubbleHeader; class HbAction; class BubbleButton; -class HbLabel; +class BubbleHeadingWidget; class BubbleConferenceHeader; class HbListWidgetItem; class BubbleParticipantListItem; @@ -67,7 +67,7 @@ protected: //data const BubbleConferenceHeader* mHeader; - HbLabel* mTimerLabel; + BubbleHeadingWidget* mHeading; BubbleButton* mButtonCenter; BubbleButton* mButtonLeft; BubbleButton* mButtonRight; diff -r 6b911d05207e -r bc5a64e5bc3c phoneuis/bubblemanager2/bubblecore/src/bubblecontainerwidget.cpp --- a/phoneuis/bubblemanager2/bubblecore/src/bubblecontainerwidget.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneuis/bubblemanager2/bubblecore/src/bubblecontainerwidget.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -15,7 +15,8 @@ * */ -#include +#include +#include #include #include #include @@ -24,9 +25,10 @@ BubbleContainerWidget::BubbleContainerWidget(QGraphicsItem* item) : HbWidget(item), mBackground(0) { + setFlag(QGraphicsItem::ItemHasNoContents, false); + createPrimitives(); updatePrimitives(); - Q_ASSERT(mBackground); } BubbleContainerWidget::~BubbleContainerWidget() @@ -37,7 +39,7 @@ { delete mBackground; mBackground = new HbFrameItem(this); - style()->setItemName(mBackground, "background"); + style()->setItemName(mBackground, QLatin1String("background")); mBackground->setZValue(-1.0); mBackground->setVisible(false); // background in drawn in paint() } @@ -45,29 +47,23 @@ void BubbleContainerWidget::updatePrimitives() { mBackground->frameDrawer().setFrameType(HbFrameDrawer::NinePieces); - mBackground->frameDrawer().setFrameGraphicsName("qtg_fr_list_normal"); + mBackground->frameDrawer().setFrameGraphicsName( + QLatin1String("qtg_fr_list_normal")); } void BubbleContainerWidget::mousePressEvent( QGraphicsSceneMouseEvent * event) { if (event->button() != Qt::LeftButton) { - event->ignore(); return; } mPressed = true; - event->accept(); } void BubbleContainerWidget::mouseMoveEvent( QGraphicsSceneMouseEvent *event) { - if (!(event->buttons() & Qt::LeftButton)) { - event->ignore(); - return; - } - if ( !rect().contains(event->pos()) && mPressed ) { ungrabMouse(); mPressed = false; @@ -77,15 +73,11 @@ void BubbleContainerWidget::mouseReleaseEvent( QGraphicsSceneMouseEvent *event) { - if (event->button() != Qt::LeftButton) { - event->ignore(); - return; - } + Q_UNUSED(event) if (mPressed) { emit clicked(); mPressed = false; - event->accept(); } } diff -r 6b911d05207e -r bc5a64e5bc3c phoneuis/bubblemanager2/bubblecore/src/bubblecontainerwidget.h --- a/phoneuis/bubblemanager2/bubblecore/src/bubblecontainerwidget.h Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneuis/bubblemanager2/bubblecore/src/bubblecontainerwidget.h Tue Jul 06 14:15:47 2010 +0300 @@ -33,7 +33,7 @@ signals: void clicked(); -private: +protected: void createPrimitives(); void updatePrimitives(); diff -r 6b911d05207e -r bc5a64e5bc3c phoneuis/bubblemanager2/bubblecore/src/bubbleeffecthandler.cpp --- a/phoneuis/bubblemanager2/bubblecore/src/bubbleeffecthandler.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneuis/bubblemanager2/bubblecore/src/bubbleeffecthandler.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -18,10 +18,10 @@ #include #include "bubbleeffecthandler.h" -const char *BUBBLE_MUTED_APPEAR_FXML = ":/bubble_muted_appear.fxml"; -const char *BUBBLE_MUTED_DISAPPEAR_FXML = ":/bubble_muted_disappear.fxml"; -const char *BUBBLE_APPEAR_EVENT = "appear"; -const char *BUBBLE_DISAPPEAR_EVENT = "disappear"; +const QLatin1String BUBBLE_MUTED_APPEAR_FXML(":/bubble_muted_appear.fxml"); +const QLatin1String BUBBLE_MUTED_DISAPPEAR_FXML(":/bubble_muted_disappear.fxml"); +const QLatin1String BUBBLE_APPEAR_EVENT("appear"); +const QLatin1String BUBBLE_DISAPPEAR_EVENT("disappear"); BubbleEffectHandler::BubbleEffectHandler(QObject* parent) @@ -88,6 +88,12 @@ } } +void BubbleEffectHandler::cancelAllEffects(QGraphicsItem* item) +{ + Q_ASSERT(item); + HbEffect::cancel(item); +} + void BubbleEffectHandler::handleEffectFinished( const HbEffect::EffectStatus &status) { diff -r 6b911d05207e -r bc5a64e5bc3c phoneuis/bubblemanager2/bubblecore/src/bubbleeffecthandler.h --- a/phoneuis/bubblemanager2/bubblecore/src/bubbleeffecthandler.h Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneuis/bubblemanager2/bubblecore/src/bubbleeffecthandler.h Tue Jul 06 14:15:47 2010 +0300 @@ -42,6 +42,7 @@ void removeEffect(QGraphicsItem* item, BubbleEffect effect); void startEffect(BubbleEffect effect); + void cancelAllEffects(QGraphicsItem* item); protected slots: void handleEffectFinished(const HbEffect::EffectStatus &status); diff -r 6b911d05207e -r bc5a64e5bc3c phoneuis/bubblemanager2/bubblecore/src/bubbleheadingwidget.cpp --- a/phoneuis/bubblemanager2/bubblecore/src/bubbleheadingwidget.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneuis/bubblemanager2/bubblecore/src/bubbleheadingwidget.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -23,8 +23,6 @@ #include #include #include -#include -#include #include "bubbleheadingwidget.h" #include "bubblemanager2.h" @@ -32,13 +30,15 @@ #include "bubbleheader.h" BubbleHeadingWidget::BubbleHeadingWidget(QGraphicsItem* item) - : HbWidget(item), mStatusIcon(0), mNumberTypeIcon(0), - mCipheringIcon(0), mText1(0), mText2(0), mText3(0) + : HbWidget(item), mIndicator1(0), mIndicator2(0), + mText1(0), mText2(0), mText3(0) { createPrimitives(); - HbStyleLoader::registerFilePath(":/bubbleheadingwidget.css"); - HbStyleLoader::registerFilePath(":/bubbleheadingwidget.widgetml"); + HbStyleLoader::registerFilePath( + QLatin1String(":/bubbleheadingwidget.css")); + HbStyleLoader::registerFilePath( + QLatin1String(":/bubbleheadingwidget.widgetml")); // font is update in code, because cli position is changing mCliFont = new HbFontSpec(HbFontSpec::Primary); @@ -47,9 +47,6 @@ HbDeviceProfile profile; mCliFont->setTextHeight(4*HbDeviceProfile::current().unitValue()); mTextFont->setTextHeight(4*HbDeviceProfile::current().unitValue()); - - HbIconAnimationManager *mgr = HbIconAnimationManager::global(); - mgr->addDefinitionFile(":/bubble_icon_anim.axml"); } BubbleHeadingWidget::~BubbleHeadingWidget() @@ -64,10 +61,8 @@ mText1->setText(QString()); mText2->setText(QString()); mText3->setText(QString()); - mStatusIcon->hide(); - mStatusIcon->animator().stopAnimation(); - mNumberTypeIcon->hide(); - mCipheringIcon->hide(); + mIndicator1->hide(); + mIndicator2->hide(); } void BubbleHeadingWidget::readBubbleHeader(const BubbleHeader& header) @@ -79,36 +74,28 @@ void BubbleHeadingWidget::createPrimitives() { mText1 = new HbTextItem(this); - style()->setItemName( mText1, "text_line_1" ); + style()->setItemName( mText1, QLatin1String("text_line_1")); mText2 = new HbTextItem(this); - style()->setItemName( mText2, "text_line_2" ); + style()->setItemName( mText2, QLatin1String("text_line_2")); mText3 = new HbTextItem(this); - style()->setItemName( mText3, "text_line_3" ); - - //mStatusIcon = new BubbleAnimIconItem(BUBBLE_ICON_ANIM_INTERVAL, this); - mStatusIcon = new HbIconItem(this); - style()->setItemName( mStatusIcon, "status_icon" ); + style()->setItemName( mText3, QLatin1String("text_line_3")); - mNumberTypeIcon = new HbIconItem(this); - style()->setItemName( mNumberTypeIcon, "number_type_icon" ); + mIndicator1 = new HbIconItem(this); + style()->setItemName( mIndicator1, QLatin1String("indicator_icon_1")); - mCipheringIcon = new HbIconItem(this); - style()->setItemName( mCipheringIcon, "ciphering_icon" ); + mIndicator2 = new HbIconItem(this); + style()->setItemName( mIndicator2, QLatin1String("indicator_icon_2")); } void BubbleHeadingWidget::updatePrimitives() { if (mHeader!=0) { - BubbleUtils::setCallStatusIcon( - mHeader->callState(), mHeader->callFlags(), *mStatusIcon); - - BubbleUtils::setNumberTypeIcon( - mHeader->callState(), mHeader->callFlags(), *mNumberTypeIcon); - - BubbleUtils::setCipheringIcon( - mHeader->callState(), mHeader->callFlags(), *mCipheringIcon); + BubbleUtils::setIndicators(mHeader->callState(), + mHeader->callFlags(), + *mIndicator1, + *mIndicator2); // update text lines int cliLine = 0; @@ -143,26 +130,36 @@ repolish(); } -void BubbleHeadingWidget::polishEvent() +void BubbleHeadingWidget::polish(HbStyleParameters ¶ms) { + QString layout; + if (lines == 3) { - setLayout("three_lines"); + layout = QLatin1String("three_lines"); mText1->setVisible(true); mText2->setVisible(true); mText3->setVisible(true); } else if (lines == 2) { - setLayout("two_lines"); + layout = QLatin1String("two_lines"); mText1->setVisible(true); mText2->setVisible(true); mText3->setVisible(false); } else if (lines == 1) { - setLayout("one_line"); + layout = QLatin1String("one_line"); mText1->setVisible(true); mText2->setVisible(true); mText3->setVisible(false); } - HbWidget::polishEvent(); + if (mIndicator2->isVisible()) { + layout.append(QLatin1String("_2")); + } else if (mIndicator1->isVisible()) { + layout.append(QLatin1String("_1")); + } + + setLayout(layout); + + HbWidget::polish(params); } int BubbleHeadingWidget::lineCount() const @@ -174,7 +171,7 @@ { lines = count; if (isVisible()) { - repolish(); + repolish(); } } @@ -200,18 +197,3 @@ } } } - -void BubbleHeadingWidget::changeEvent(QEvent *event) -{ - if (event->type() == HbEvent::ThemeChanged) { - updatePrimitives(); - } - - HbWidget::changeEvent(event); -} - -void BubbleHeadingWidget::showEvent(QShowEvent *event) -{ - Q_UNUSED(event) - mStatusIcon->animator().startAnimation(); -} diff -r 6b911d05207e -r bc5a64e5bc3c phoneuis/bubblemanager2/bubblecore/src/bubbleheadingwidget.h --- a/phoneuis/bubblemanager2/bubblecore/src/bubbleheadingwidget.h Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneuis/bubblemanager2/bubblecore/src/bubbleheadingwidget.h Tue Jul 06 14:15:47 2010 +0300 @@ -50,9 +50,7 @@ void updatePrimitives(); protected: - void polishEvent(); - void changeEvent(QEvent *event); - void showEvent(QShowEvent *event); + void polish(HbStyleParameters ¶ms); private: int lines; @@ -61,10 +59,8 @@ const BubbleHeader* mHeader; // primitives - //BubbleAnimIconItem* mStatusIcon; - HbIconItem* mStatusIcon; - HbIconItem* mNumberTypeIcon; - HbIconItem* mCipheringIcon; + HbIconItem* mIndicator1; + HbIconItem* mIndicator2; HbTextItem* mText1; HbTextItem* mText2; HbTextItem* mText3; diff -r 6b911d05207e -r bc5a64e5bc3c phoneuis/bubblemanager2/bubblecore/src/bubbleimagemanager_p.cpp --- a/phoneuis/bubblemanager2/bubblecore/src/bubbleimagemanager_p.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneuis/bubblemanager2/bubblecore/src/bubbleimagemanager_p.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -35,6 +35,7 @@ BubbleImageManagerPrivate::BubbleImageManagerPrivate( BubbleImageManager* parent) : q_ptr(parent), + mThumbnailManager(0), mInitialized(false) { } diff -r 6b911d05207e -r bc5a64e5bc3c phoneuis/bubblemanager2/bubblecore/src/bubbleimagewidget.cpp --- a/phoneuis/bubblemanager2/bubblecore/src/bubbleimagewidget.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneuis/bubblemanager2/bubblecore/src/bubbleimagewidget.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -22,9 +22,12 @@ #include #include #include +#include #include "bubbleimagemanager.h" #include "bubbleimagewidget.h" +static const qreal BubbbleImageRounding = 1.5; // units + BubbleImageWidget::BubbleImageWidget( BubbleImageManager& imageManager, QGraphicsItem* parent) @@ -33,6 +36,8 @@ mDefaultAvatar(0), mKeepSquareShape(0) { + setFlag(QGraphicsItem::ItemHasNoContents, false); + // create avatar mDefaultAvatar = new HbIconItem(this); style()->setItemName( mDefaultAvatar, "default_avatar" ); @@ -42,8 +47,10 @@ connect(&mImageManager, SIGNAL(pixmapReady(QString)), this, SLOT(imageLoaded(QString))); - HbStyleLoader::registerFilePath(":/bubbleimagewidget.css"); - HbStyleLoader::registerFilePath(":/bubbleimagewidget.widgetml"); + HbStyleLoader::registerFilePath( + QLatin1String(":/bubbleimagewidget.css")); + HbStyleLoader::registerFilePath( + QLatin1String(":/bubbleimagewidget.widgetml")); } BubbleImageWidget::~BubbleImageWidget() @@ -60,7 +67,7 @@ mDefaultAvatar->setIcon(HbIcon()); mImageManager.loadImage(mImageName); } else { - mDefaultAvatar->setIconName("qtg_large_avatar"); + mDefaultAvatar->setIconName(QLatin1String("qtg_large_avatar")); mDefaultAvatar->setVisible(true); } } @@ -87,6 +94,8 @@ mImageManager.pixmap(mImageName); if (pixmap) { + painter->save(); + // up or downscales images to fill image area QSize imageSize(pixmap->size()); QSize sourceSize(rect().size().toSize()); @@ -99,6 +108,13 @@ // qDebug() << "imageSize:" << imageSize; // qDebug() << "sourceRect:" << sourceRect; painter->setRenderHint(QPainter::SmoothPixmapTransform); + painter->setRenderHint(QPainter::Antialiasing); + + QPainterPath clip; + qreal rounding = BubbbleImageRounding * + HbDeviceProfile::profile(this).unitValue(); + clip.addRoundedRect(rect(), rounding, rounding); + painter->setClipPath(clip); #ifdef __WINS__ // sourceRect crashes emulator, RC ou1cimx1#320113 @@ -106,7 +122,7 @@ #else painter->drawPixmap(rect().toRect(),*pixmap,sourceRect); #endif - + painter->restore(); } } diff -r 6b911d05207e -r bc5a64e5bc3c phoneuis/bubblemanager2/bubblecore/src/bubblemanager2.cpp --- a/phoneuis/bubblemanager2/bubblecore/src/bubblemanager2.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneuis/bubblemanager2/bubblecore/src/bubblemanager2.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -146,7 +146,9 @@ } if (!mActiveHeaders.count()) { + // all calls ended mBubbleImageManager->releasePixmaps(); + releaseNonCachedViews(); } // restore mute state @@ -550,6 +552,7 @@ } else if (!muted && mMuted) { mEffectHandler->startEffect(BubbleMutedDisappear); } else { + mEffectHandler->cancelAllEffects(mMutedIcon); mMutedIcon->setVisible(muted); } } @@ -926,3 +929,26 @@ } } +void BubbleManager::releaseNonCachedViews() +{ + static const int viewCount = 3; + static const int views[viewCount] = { + BubbleWidgetManager::TwoCallsView, + BubbleWidgetManager::ThreeCallsView, + BubbleWidgetManager::ConferenceView + }; + + for (int i=0; i < viewCount; i++ ) { + BubbleWidgetManager::View viewid = + (BubbleWidgetManager::View)views[i]; + + if (mWidgetManager->isLoaded(viewid)) { + QGraphicsWidget* view = mWidgetManager->view(viewid); + + if (view) { + removeFromLayout(view); + mWidgetManager->releaseView(viewid); + } + } + } +} diff -r 6b911d05207e -r bc5a64e5bc3c phoneuis/bubblemanager2/bubblecore/src/bubbleparticipantlistitem.cpp --- a/phoneuis/bubblemanager2/bubblecore/src/bubbleparticipantlistitem.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneuis/bubblemanager2/bubblecore/src/bubbleparticipantlistitem.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -16,10 +16,10 @@ */ #include -#include -#include +#include #include #include +#include #include #include #include @@ -28,19 +28,46 @@ #include "bubblemanagerif.h" #include "bubbleutils.h" +// helper class to wrap buttons for group box +class BubbleParticipantListButtons : public HbWidget +{ + Q_OBJECT + +public: + BubbleParticipantListButtons(QGraphicsItem *parent = 0); + ~BubbleParticipantListButtons(); + + HbPushButton* mButton1; + HbPushButton* mButton2; +}; + +BubbleParticipantListButtons::BubbleParticipantListButtons( + QGraphicsItem *parent) : HbWidget(parent) +{ + HbStyleLoader::registerFilePath( + QLatin1String(":/bubbleparticipantlistbuttons.css")); + HbStyleLoader::registerFilePath( + QLatin1String(":/bubbleparticipantlistbuttons.widgetml")); + + mButton1 = new HbPushButton(this); + style()->setItemName( mButton1, QLatin1String("button-1")); + mButton2 = new HbPushButton(this); + style()->setItemName( mButton2, QLatin1String("button-2")); +} + +BubbleParticipantListButtons::~BubbleParticipantListButtons() +{ +} + BubbleParticipantListItem::BubbleParticipantListItem( QGraphicsItem *parent) : HbAbstractViewItem(parent), - mText(0), - mStatusIcon(0), - mCipheringIcon(0), - mExpandIcon(0), - mButton1(0), - mButton2(0), - mExpanded(false) + mGroupBox(0) { - HbStyleLoader::registerFilePath(":/bubbleparticipantlistitem.css"); - HbStyleLoader::registerFilePath(":/bubbleparticipantlistitem.widgetml"); + HbStyleLoader::registerFilePath( + QLatin1String(":/bubbleparticipantlistitem.css")); + HbStyleLoader::registerFilePath( + QLatin1String(":/bubbleparticipantlistitem.widgetml")); } BubbleParticipantListItem::~BubbleParticipantListItem() @@ -56,123 +83,66 @@ { HbAbstractViewItem::updateChildItems(); - setFocusPolicy(Qt::ClickFocus); // to enable expanding + // create controls + if (!mGroupBox) { + mGroupBox = new HbGroupBox(this); + style()->setItemName( mGroupBox, QLatin1String("group-box" )); + + // create buttons for actions (same for all items) + BubbleParticipantListItem* p = + static_cast(prototype()); - // create primitives - if (!mText) { - mText = new HbTextItem(this); - style()->setItemName( mText, "text" ); - } + if (p->mActions.count()==2) { + BubbleParticipantListButtons* content = + new BubbleParticipantListButtons(); - if (!mCipheringIcon) { - mCipheringIcon = new HbIconItem(this); - style()->setItemName( mCipheringIcon, "ciphering" ); - } + // button 1 + HbAction* action1 = p->mActions.at(0); + content->mButton1->setIcon(action1->icon()); + connect(content->mButton1, + SIGNAL(clicked()), + action1, + SLOT(trigger()), + Qt::QueuedConnection); - if (!mStatusIcon) { - mStatusIcon = new HbIconItem(this); - style()->setItemName( mStatusIcon, "icon" ); - } + // button 2 + HbAction* action2 = p->mActions.at(1); + content->mButton2->setIcon(action2->icon()); + connect(content->mButton2, + SIGNAL(clicked()), + action2, + SLOT(trigger()), + Qt::QueuedConnection); + + mGroupBox->setHeading(QLatin1String(" ")); + mGroupBox->setContentWidget(content); + mGroupBox->setCollapsed(true); - if (!mExpandIcon) { - mExpandIcon = new HbIconItem(this); - style()->setItemName( mExpandIcon, "expand-indi" ); + // for scrolling to selected item + connect(mGroupBox,SIGNAL(toggled(bool)), + this,SLOT(handleItemStateChange(bool))); - // for expand/collapse controls - if (itemView()) { - connect( itemView()->selectionModel(), - SIGNAL(currentChanged(QModelIndex,QModelIndex)), - this, - SLOT(currentIndexChanged(QModelIndex,QModelIndex)) ); + // for expand/collapse controls + if (itemView()) { + connect( itemView()->selectionModel(), + SIGNAL(currentChanged(QModelIndex,QModelIndex)), + this, + SLOT(currentIndexChanged(QModelIndex,QModelIndex)) ); + } + } else { + mGroupBox->setCollapsable(false); } } - BubbleParticipantListItem* p = - static_cast(prototype()); - - if (mExpanded && !mButton1) { - Q_ASSERT(p->mActions.count()==2); - HbAction* action = p->mActions.at(0); - mButton1 = new HbPushButton(this); - mButton1->setIcon(action->icon()); - style()->setItemName( mButton1, "button-1" ); - - // connect first action - connect(mButton1, - SIGNAL(clicked()), - action, - SLOT(trigger()), - Qt::QueuedConnection); - } else { - delete mButton1; - mButton1 = 0; - } - - if (mExpanded && !mButton2) { - Q_ASSERT(p->mActions.count()==2); - HbAction* action = p->mActions.at(1); - mButton2 = new HbPushButton(this); - mButton2->setIcon(action->icon()); - style()->setItemName( mButton2, "button-2" ); - - // connect second action - connect(mButton2, - SIGNAL(clicked()), - action, - SLOT(trigger()), - Qt::QueuedConnection ); - - } else { - delete mButton2; - mButton2 = 0; - } - - if (mText) { - mText->setText(modelIndex().data(Qt::DisplayRole).toString()); - } - - int state = (BubbleManagerIF::PhoneCallState) - modelIndex().data(Qt::DecorationRole).toInt(); - - if (mStatusIcon) { - BubbleUtils::setCallStatusIcon(state,0,*mStatusIcon); - } - - if (mCipheringIcon) { - int flags = !modelIndex().data(Qt::StatusTipRole).toBool() ? - BubbleManagerIF::NoCiphering : 0; - - BubbleUtils::setCipheringIcon(state,flags,*mCipheringIcon); - } - - if (mExpandIcon) { - if (mExpanded) { - mExpandIcon->setIcon(HbIcon("qtg_small_collapse")); - } else { - mExpandIcon->setIcon(HbIcon("qtg_small_expand")); - } - } - - repolish(); + // update group box title (CLI name) + mGroupBox->setHeading(modelIndex().data(Qt::DisplayRole).toString()); } void BubbleParticipantListItem::polish(HbStyleParameters& params) { - if (mExpanded) { - setProperty("layoutOption","expanded"); - } else { - setProperty("layoutOption","collapsed"); - } - HbAbstractViewItem::polish(params); } -void BubbleParticipantListItem::setExpanded(bool expanded) -{ - mExpanded = expanded; - updateChildItems(); -} - void BubbleParticipantListItem::addAction(HbAction* action) { mActions.append(action); @@ -181,7 +151,6 @@ void BubbleParticipantListItem::clearActions() { mActions.clear(); - mExpanded = false; } void BubbleParticipantListItem::currentIndexChanged( @@ -190,17 +159,25 @@ { Q_UNUSED(previous); - if (modelIndex() == current) { - if ( !mExpanded ) { - setExpanded(true); - } - } else if (mExpanded) { - setExpanded(false); + if ((modelIndex()!=current) && !mGroupBox->isCollapsed()) { + // change state asynchronously + QTimer::singleShot(100,this,SLOT(setCollapsed())); } } -int BubbleParticipantListItem::type() const +void BubbleParticipantListItem::setCollapsed() { - return HbListViewItem::Type; + mGroupBox->setCollapsed(true); } +void BubbleParticipantListItem::handleItemStateChange(bool collapsed) +{ + if (!collapsed) { + itemView()->scrollTo( + modelIndex(), + HbAbstractItemView::EnsureVisible); + } +} + +#include "bubbleparticipantlistitem.moc" + diff -r 6b911d05207e -r bc5a64e5bc3c phoneuis/bubblemanager2/bubblecore/src/bubbleparticipantlistitem.h --- a/phoneuis/bubblemanager2/bubblecore/src/bubbleparticipantlistitem.h Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneuis/bubblemanager2/bubblecore/src/bubbleparticipantlistitem.h Tue Jul 06 14:15:47 2010 +0300 @@ -21,11 +21,8 @@ #include class QGraphicsItem; -class HbPushButton; +class HbGroupBox; class HbAction; -class HbIconItem; -class HbFrameItem; -class HbTextItem; class BubbleParticipantListItem : public HbAbstractViewItem { @@ -39,29 +36,23 @@ HbAbstractViewItem* createItem(); void updateChildItems(); - void setExpanded(bool expanded); void addAction(HbAction* action); void clearActions(); private: void polish(HbStyleParameters& params); - int type() const; - private slots: void currentIndexChanged(const QModelIndex ¤t, const QModelIndex &previous); + void setCollapsed(); + + void handleItemStateChange(bool collapsed); + private: - HbTextItem* mText; - HbIconItem* mStatusIcon; - HbIconItem* mCipheringIcon; - HbIconItem* mExpandIcon; - HbPushButton* mButton1; - HbPushButton* mButton2; + HbGroupBox* mGroupBox; QList mActions; - - bool mExpanded; }; #endif // BUBBLEPARTICIPANTLISTITEM_H diff -r 6b911d05207e -r bc5a64e5bc3c phoneuis/bubblemanager2/bubblecore/src/bubbleutils.cpp --- a/phoneuis/bubblemanager2/bubblecore/src/bubbleutils.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneuis/bubblemanager2/bubblecore/src/bubbleutils.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -90,7 +90,6 @@ } case BubbleManager::OnHold: - case BubbleManager::Disconnected: { if ( header.secondaryCli().length() ) { setText(textLine1, header.cli(), header.cliClipDirection()); @@ -106,6 +105,31 @@ break; } + case BubbleManager::Disconnected: + { + if ( header.timerCost().length() ) { + setText(textLine1, header.cli(), header.cliClipDirection()); + setText(textLine2, header.text(), header.textClipDirection()); + setText(textLine3, header.timerCost(), Qt::ElideRight); + cliLineNumber = 1; + timerLineNumber = 3; + } else { + if ( header.secondaryCli().length() ) { + setText(textLine1, header.cli(), header.cliClipDirection()); + setText(textLine2, header.secondaryCli(), + header.secondaryCliClipDirection()); + setText(textLine3, header.text(), header.textClipDirection()); + cliLineNumber = 1; + } else { + setText(textLine1, header.cli(), header.cliClipDirection()); + setText(textLine2, header.text(), header.textClipDirection()); + cliLineNumber = 1; + } + } + break; + } + + default: // do nothing break; @@ -198,95 +222,37 @@ button.updatePrimitives(); } -void BubbleUtils::setCallStatusIcon( +void BubbleUtils::setIndicators( int callState, int callFlags, - HbIconItem& icon) + HbIconItem& indicator1, + HbIconItem& indicator2 ) { - bool showIcon = true; + bool divertIndicator = (( callState == BubbleManagerIF::Incoming ) || + ( callState == BubbleManagerIF::Waiting )) && + (callFlags & BubbleManagerIF::Diverted); + + bool cipheringIndicator = (callFlags & BubbleManagerIF::NoCiphering); - switch(callState) { - case BubbleManagerIF::Incoming: - case BubbleManagerIF::Alerting: - case BubbleManagerIF::Waiting: - // from bubble_icon_anim.axml - if ( callFlags & BubbleManagerIF::VoIPCall ) { - icon.setIconName("voip_call_waiting_anim"); - } else if ( callFlags & BubbleManagerIF::Video ) { - icon.setIconName("video_call_waiting_anim"); - } else { - icon.setIconName("voice_call_waiting_anim"); - } - break; - case BubbleManagerIF::Outgoing: - case BubbleManagerIF::Active: - if ( callFlags & BubbleManagerIF::VoIPCall ) { - icon.setIconName("qtg_large_voip_call_active"); - } else if ( callFlags & BubbleManagerIF::Video ) { - icon.setIconName("qtg_large_video_call_active"); - } else { - icon.setIconName("qtg_large_active_call"); - } - break; - case BubbleManagerIF::OnHold: - if ( callFlags & BubbleManagerIF::VoIPCall ) { - icon.setIconName("qtg_large_voip_call_waiting"); - } else if ( callFlags & BubbleManagerIF::Video ) { - icon.setIconName("qtg_large_video_call_waiting"); - } else { - icon.setIconName("qtg_large_waiting_call"); - } - break; - case BubbleManagerIF::Disconnected: - case BubbleManagerIF::AlertToDisconnected: - if ( callFlags & BubbleManagerIF::VoIPCall ) { - icon.setIconName("qtg_large_end_call"); - } else if ( callFlags & BubbleManagerIF::Video ) { - icon.setIconName("qtg_large_end_call"); - } else { - icon.setIconName("qtg_large_end_call"); - } - break; - default: - icon.setIcon(HbIcon()); - showIcon = false; - break; - } - - if (showIcon) { - icon.show(); + if (divertIndicator && cipheringIndicator) { + indicator1.setIcon(HbIcon(QLatin1String("qtg_mono_ciphering_off"))); + indicator1.show(); + indicator2.setIcon(HbIcon(QLatin1String("qtg_mono_call_diverted"))); + indicator2.show(); + } else if (cipheringIndicator) { + indicator1.setIcon(HbIcon(QLatin1String("qtg_mono_ciphering_off"))); + indicator1.show(); + indicator2.setIcon(HbIcon()); + indicator2.hide(); + } else if (divertIndicator) { + indicator1.setIcon(HbIcon(QLatin1String("qtg_mono_call_diverted"))); + indicator1.show(); + indicator2.setIcon(HbIcon()); + indicator2.hide(); + } else { + indicator1.setIcon(HbIcon()); + indicator1.hide(); + indicator2.setIcon(HbIcon()); + indicator2.hide(); } } - -void BubbleUtils::setNumberTypeIcon( - int callState, - int callFlags, - HbIconItem& icon) -{ - if ( (( callState == BubbleManagerIF::Incoming ) || - ( callState == BubbleManagerIF::Waiting )) && - (callFlags & BubbleManagerIF::Diverted) ) { - icon.setIcon( HbIcon("qtg_mono_call_diverted") ); - icon.show(); - } else { - icon.setIcon( HbIcon() ); - icon.hide(); - } -} - -void BubbleUtils::setCipheringIcon( - int callState, - int callFlags, - HbIconItem& icon) -{ - Q_UNUSED(callState) - - if (callFlags & BubbleManagerIF::NoCiphering) { - icon.setIcon( HbIcon("qtg_mono_ciphering_off") ); - icon.show(); - } else { - icon.setIcon( HbIcon() ); - icon.hide(); - } -} - diff -r 6b911d05207e -r bc5a64e5bc3c phoneuis/bubblemanager2/bubblecore/src/bubbleutils.h --- a/phoneuis/bubblemanager2/bubblecore/src/bubbleutils.h Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneuis/bubblemanager2/bubblecore/src/bubbleutils.h Tue Jul 06 14:15:47 2010 +0300 @@ -53,20 +53,11 @@ BubbleButton& button, const HbAction& action); - static void setCallStatusIcon( + static void setIndicators( int callState, int callFlags, - HbIconItem& icon); - - static void setNumberTypeIcon( - int callState, - int callFlags, - HbIconItem& icon); - - static void setCipheringIcon( - int callState, - int callFlags, - HbIconItem& icon); + HbIconItem& indicator1, + HbIconItem& indicator2); private: static void setText( diff -r 6b911d05207e -r bc5a64e5bc3c phoneuis/bubblemanager2/bubblecore/src/bubblewidgetmanager.cpp --- a/phoneuis/bubblemanager2/bubblecore/src/bubblewidgetmanager.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneuis/bubblemanager2/bubblecore/src/bubblewidgetmanager.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -50,29 +50,33 @@ mOrientation(Qt::Vertical) { // .docml mappings - mFileNames.insert(SingleCallView,":/xml/bubble_layout_1.docml"); - mFileNames.insert(TwoCallsView, ":/xml/bubble_layout_2.docml"); - mFileNames.insert(ThreeCallsView,":/xml/bubble_layout_3.docml"); - mFileNames.insert(ConferenceView,":/xml/bubble_layout_4.docml"); - mFileNames.insert(MutedOverlay, ":/xml/bubble_layout_5.docml"); + mFileNames.insert(SingleCallView, + QLatin1String(":/xml/bubble_layout_1.docml")); + mFileNames.insert(TwoCallsView, + QLatin1String(":/xml/bubble_layout_2.docml")); + mFileNames.insert(ThreeCallsView, + QLatin1String(":/xml/bubble_layout_3.docml")); + mFileNames.insert(ConferenceView, + QLatin1String(":/xml/bubble_layout_4.docml")); + mFileNames.insert(MutedOverlay, + QLatin1String(":/xml/bubble_layout_5.docml")); - mOrientationName.insert(Qt::Vertical, "portrait"); - mOrientationName.insert(Qt::Horizontal, "landscape"); + mOrientationName.insert(Qt::Vertical, QLatin1String("portrait")); + mOrientationName.insert(Qt::Horizontal, QLatin1String("landscape")); - mWidgetPrefix.insert(ExpandedBubble, "eb:"); - mWidgetPrefix.insert(CollapsedBubble, "cb:"); - mWidgetPrefix.insert(CollapsedBubble2, "cb2:"); - mContainerName.insert(ExpandedBubble, "expandedBubble"); - mContainerName.insert(CollapsedBubble, "collapsedBubble"); - mContainerName.insert(CollapsedBubble2, "collapsedBubble2"); - mWidgetName.insert(Heading, "bubbleHeading"); - mWidgetName.insert(Image, "callImage"); - mWidgetName.insert(LeftButton, "leftButton"); - mWidgetName.insert(CenterButton, "centerButton"); - mWidgetName.insert(RightButton, "rightButton"); - mWidgetName.insert(ConferenceTimer,"callTimer"); - mWidgetName.insert(ParticipantList,"participantList"); - mWidgetName.insert(MutedIcon, "mutedIcon"); + mWidgetPrefix.insert(ExpandedBubble, QLatin1String("eb:")); + mWidgetPrefix.insert(CollapsedBubble, QLatin1String("cb:")); + mWidgetPrefix.insert(CollapsedBubble2, QLatin1String("cb2:")); + mContainerName.insert(ExpandedBubble, QLatin1String("expandedBubble")); + mContainerName.insert(CollapsedBubble, QLatin1String("collapsedBubble")); + mContainerName.insert(CollapsedBubble2, QLatin1String("collapsedBubble2")); + mWidgetName.insert(Heading, QLatin1String("bubbleHeading")); + mWidgetName.insert(Image, QLatin1String("callImage")); + mWidgetName.insert(LeftButton, QLatin1String("leftButton")); + mWidgetName.insert(CenterButton, QLatin1String("centerButton")); + mWidgetName.insert(RightButton, QLatin1String("rightButton")); + mWidgetName.insert(ParticipantList, QLatin1String("participantList")); + mWidgetName.insert(MutedIcon, QLatin1String("mutedIcon")); } BubbleWidgetManager::~BubbleWidgetManager() @@ -99,9 +103,39 @@ } } +bool BubbleWidgetManager::isLoaded(View view) +{ + if (mDocumentContent.contains(view)) { + return true; + } else { + return false; + } +} + void BubbleWidgetManager::releaseView(View view) { Q_UNUSED(view) + + // release loaders + BubbleDocumentLoader* loader = mDocumentLoaders.value(view,0); + delete loader; + mDocumentLoaders.remove(view); + + // release handler + QList* handlers = mDocumentHandlers.value(view,0); + if (handlers) { + qDeleteAll(*handlers); + delete handlers; + mDocumentHandlers.remove(view); + } + + // release document objects + QObjectList objectList = mDocumentObjects.value(view); + foreach(QObject* object, objectList) { + QMetaObject::invokeMethod(object, "deleteLater", Qt::QueuedConnection); + } + mDocumentObjects.remove(view); + mDocumentContent.remove(view); } QGraphicsWidget* BubbleWidgetManager::loadDocument( @@ -112,12 +146,13 @@ new BubbleDocumentLoader(mImageManager); bool ok; - loader->load(mFileNames[view],&ok); + QObjectList objectList = loader->load(mFileNames[view],&ok); Q_ASSERT(ok); loader->load(mFileNames[view],mOrientationName[orientation],&ok); Q_ASSERT(ok); mDocumentLoaders.insert(view,loader); + mDocumentObjects.insert(view,objectList); QGraphicsWidget* widget = mDocumentLoaders[view]->findWidget(BUBBLE_DOCUMENT_CONTENT); @@ -146,7 +181,8 @@ w = qobject_cast(widget); if (w) { HbFrameItem* item = - new HbFrameItem("qtg_fr_popup_trans",HbFrameDrawer::NinePieces); + new HbFrameItem(QLatin1String("qtg_fr_popup_trans"), + HbFrameDrawer::NinePieces); w->setBackgroundItem(item); // takes ownership } } diff -r 6b911d05207e -r bc5a64e5bc3c phoneuis/bubblemanager2/bubblecore/src/bubblewidgetmanager.h --- a/phoneuis/bubblemanager2/bubblecore/src/bubblewidgetmanager.h Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneuis/bubblemanager2/bubblecore/src/bubblewidgetmanager.h Tue Jul 06 14:15:47 2010 +0300 @@ -55,7 +55,6 @@ LeftButton, CenterButton, RightButton, - ConferenceTimer, ParticipantList, ParticipantListItem, ParticipantListButton, @@ -70,6 +69,8 @@ QGraphicsWidget* view(View view); + bool isLoaded(View view); + void releaseView(View view); QGraphicsWidget* container(View view, @@ -97,6 +98,7 @@ BubbleImageManager& mImageManager; Qt::Orientation mOrientation; QMap mDocumentLoaders; + QMap mDocumentObjects; QMap*> mDocumentHandlers; QMap mDocumentContent; diff -r 6b911d05207e -r bc5a64e5bc3c phoneuis/bubblemanager2/bubblecore/xml/bubble_layout_1.docml --- a/phoneuis/bubblemanager2/bubblecore/xml/bubble_layout_1.docml Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneuis/bubblemanager2/bubblecore/xml/bubble_layout_1.docml Tue Jul 06 14:15:47 2010 +0300 @@ -3,31 +3,27 @@ - + - + - + - +
- - - - @@ -36,33 +32,29 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - - - +
- - - - @@ -71,23 +63,23 @@ - - - + + + - - - + + + - + - + - - - + + +
diff -r 6b911d05207e -r bc5a64e5bc3c phoneuis/bubblemanager2/bubblecore/xml/bubble_layout_2.docml --- a/phoneuis/bubblemanager2/bubblecore/xml/bubble_layout_2.docml Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneuis/bubblemanager2/bubblecore/xml/bubble_layout_2.docml Tue Jul 06 14:15:47 2010 +0300 @@ -7,22 +7,22 @@
- + - + - + - + @@ -30,12 +30,8 @@
- - - - - + @@ -53,42 +49,34 @@ - - - - + + + + - - - - - - - - - - - - - + + + + + + + + + + + + - - - +
- - - - - - + @@ -106,30 +94,30 @@ - - - - + + + + - - - - + + + + - - - + + + - + - - + + - - - + + +
diff -r 6b911d05207e -r bc5a64e5bc3c phoneuis/bubblemanager2/bubblecore/xml/bubble_layout_3.docml --- a/phoneuis/bubblemanager2/bubblecore/xml/bubble_layout_3.docml Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneuis/bubblemanager2/bubblecore/xml/bubble_layout_3.docml Tue Jul 06 14:15:47 2010 +0300 @@ -15,30 +15,27 @@ + - + - + - +
- - - - - + @@ -46,7 +43,7 @@ - + @@ -54,15 +51,13 @@ - - - + - + @@ -77,48 +72,41 @@ - - - - + + + + - - - - + + + + - - - - - - - - - - - - - + + + + + + + + + + + + - - - +
- - - - - + @@ -127,7 +115,7 @@ - + @@ -135,15 +123,13 @@ - - + - - + - + @@ -161,35 +147,35 @@ - - - + + + - - - + + + - - - - - - - + + + + + + + - - + + - - + + - - + +
diff -r 6b911d05207e -r bc5a64e5bc3c phoneuis/bubblemanager2/bubblecore/xml/bubble_layout_4.docml --- a/phoneuis/bubblemanager2/bubblecore/xml/bubble_layout_4.docml Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneuis/bubblemanager2/bubblecore/xml/bubble_layout_4.docml Tue Jul 06 14:15:47 2010 +0300 @@ -4,18 +4,23 @@ - - - + + + + + + + + @@ -28,24 +33,27 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - - + +
@@ -57,8 +65,10 @@ - - + + + + diff -r 6b911d05207e -r bc5a64e5bc3c phoneuis/bubblemanager2/bubblecore/xml/bubble_layout_5.docml --- a/phoneuis/bubblemanager2/bubblecore/xml/bubble_layout_5.docml Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneuis/bubblemanager2/bubblecore/xml/bubble_layout_5.docml Tue Jul 06 14:15:47 2010 +0300 @@ -27,8 +27,8 @@
- - + +
diff -r 6b911d05207e -r bc5a64e5bc3c phoneuis/bubblemanager2/bubblecore/xml/bubbleheadingwidget.css --- a/phoneuis/bubblemanager2/bubblecore/xml/bubbleheadingwidget.css Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneuis/bubblemanager2/bubblecore/xml/bubbleheadingwidget.css Tue Jul 06 14:15:47 2010 +0300 @@ -5,76 +5,111 @@ layout: three_lines_layout; } +BubbleHeadingWidget[layoutOption="three_lines_1"] +{ + layout: three_lines_layout_1; +} + +BubbleHeadingWidget[layoutOption="three_lines_2"] +{ + layout: three_lines_layout_2; +} + BubbleHeadingWidget[layoutOption="two_lines"] { layout: two_lines_layout; } +BubbleHeadingWidget[layoutOption="two_lines_1"] +{ + layout: two_lines_layout_1; +} + +BubbleHeadingWidget[layoutOption="two_lines_2"] +{ + layout: two_lines_layout_2; +} + + BubbleHeadingWidget[layoutOption="one_line"] { layout: one_line_layout; } +BubbleHeadingWidget[layoutOption="one_line_1"] +{ + layout: one_line_layout_1; +} + +BubbleHeadingWidget[layoutOption="one_line_2"] +{ + layout: one_line_layout_2; +} + BubbleHeadingWidget:text_line_1 { text-height: var(hb-param-text-height-primary); - left: -var(hb-param-margin-gene-middle-horizontal); color: var(qtc_list_item_title_normal); text-line-count-min:1; text-line-count-max:1; } -BubbleHeadingWidget:text_line_2[layoutOption!="one_line"] +BubbleHeadingWidget:text_line_2 { text-height: var(hb-param-text-height-primary); - pref-width: -1; - left: -var(hb-param-margin-gene-middle-horizontal); - top: -var(hb-param-margin-gene-middle-vertical); text-align: left; color: var(qtc_list_item_title_normal); text-line-count-min:1; text-line-count-max:1; - size-policy-horizontal: expanding; + pref-width: -1; + top: -var(hb-param-margin-gene-middle-vertical); + text-align: left; + size-policy-horizontal: expanding; } BubbleHeadingWidget:text_line_2[layoutOption="one_line"] { - text-height: var(hb-param-text-height-primary); pref-width: 35un; /* not in spec yet, fixed value needed for localisation */ left: -var(hb-param-margin-gene-middle-horizontal); text-align: right; - color: var(qtc_list_item_title_normal); - text-line-count-min:1; - text-line-count-max:1; + size-policy-horizontal: fixed; +} + +BubbleHeadingWidget:text_line_2[layoutOption="one_line_1"] +{ + pref-width: 35un; + left: -var(hb-param-margin-gene-middle-horizontal); + text-align: right; + size-policy-horizontal: fixed; +} + +BubbleHeadingWidget:text_line_2[layoutOption="one_line_2"] +{ + pref-width: 35un; + left: -var(hb-param-margin-gene-middle-horizontal); + text-align: right; size-policy-horizontal: fixed; } BubbleHeadingWidget:text_line_3 { text-height: var(hb-param-text-height-primary); - left: -var(hb-param-margin-gene-middle-horizontal); top: -var(hb-param-margin-gene-middle-vertical); color: var(qtc_list_item_title_normal); text-line-count-min:1; text-line-count-max:1; } -BubbleHeadingWidget:status_icon -{ - fixed-width: var(hb-param-graphic-size-primary-large); - fixed-height: var(hb-param-graphic-size-primary-large); -} - -BubbleHeadingWidget:number_type_icon +BubbleHeadingWidget:indicator_icon_1 { fixed-height: var(hb-param-graphic-size-secondary); fixed-width: var(hb-param-graphic-size-secondary); color: var(qtc_list_item_title_normal); } -BubbleHeadingWidget:ciphering_icon +BubbleHeadingWidget:indicator_icon_2 { - fixed-height: 2.5un; - fixed-width: 2.5un; + fixed-height: var(hb-param-graphic-size-secondary); + fixed-width: var(hb-param-graphic-size-secondary); color: var(qtc_list_item_title_normal); } diff -r 6b911d05207e -r bc5a64e5bc3c phoneuis/bubblemanager2/bubblecore/xml/bubbleheadingwidget.widgetml --- a/phoneuis/bubblemanager2/bubblecore/xml/bubbleheadingwidget.widgetml Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneuis/bubblemanager2/bubblecore/xml/bubbleheadingwidget.widgetml Tue Jul 06 14:15:47 2010 +0300 @@ -1,63 +1,136 @@ - - - - - - - - - - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + +
- - - - - - - - - - + - + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + - - - - - - - - - - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 6b911d05207e -r bc5a64e5bc3c phoneuis/bubblemanager2/bubblecore/xml/bubbleparticipantlistbuttons.css --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phoneuis/bubblemanager2/bubblecore/xml/bubbleparticipantlistbuttons.css Tue Jul 06 14:15:47 2010 +0300 @@ -0,0 +1,12 @@ + +BubbleParticipantListButtons{ + layout:default; +} + +BubbleParticipantListButtons::button-1 { + fixed-height: 7.5un; +} + +BubbleParticipantListButtons::button-2 { + fixed-height: 7.5un; +} diff -r 6b911d05207e -r bc5a64e5bc3c phoneuis/bubblemanager2/bubblecore/xml/bubbleparticipantlistbuttons.widgetml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phoneuis/bubblemanager2/bubblecore/xml/bubbleparticipantlistbuttons.widgetml Tue Jul 06 14:15:47 2010 +0300 @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 6b911d05207e -r bc5a64e5bc3c phoneuis/bubblemanager2/bubblecore/xml/bubbleparticipantlistitem.css --- a/phoneuis/bubblemanager2/bubblecore/xml/bubbleparticipantlistitem.css Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneuis/bubblemanager2/bubblecore/xml/bubbleparticipantlistitem.css Tue Jul 06 14:15:47 2010 +0300 @@ -1,44 +1,4 @@ -BubbleParticipantListItem[layoutOption="collapsed"] { - layout:collapsed; -} - -BubbleParticipantListItem[layoutOption="expanded"] { - layout:expanded; -} - -BubbleParticipantListItem::icon { - fixed-width: var(hb-param-graphic-size-primary-medium); - fixed-height: var(hb-param-graphic-size-primary-medium); -} - -BubbleParticipantListItem::ciphering { - fixed-width: 2.0un; - fixed-height: 2.0un; - left: (hb-param-margin-gene-middle-horizontal); - top: (hb-param-margin-gene-middle-vertical); - color: var(qtc_list_item_title_normal); +BubbleParticipantListItem{ + layout:default; } - -BubbleParticipantListItem::expand-indi { - fixed-width: var(hb-param-graphic-size-primary-small); - fixed-height: var(hb-param-graphic-size-primary-small); - right: var(hb-param-margin-gene-middle-horizontal); -} - -BubbleParticipantListItem::text -{ - text-height: var(hb-param-text-height-primary); - font-variant: primary; - color: var(qtc_list_item_title_normal); - left: var(hb-param-margin-gene-middle-horizontal); - right: var(hb-param-margin-gene-middle-horizontal); -} - -BubbleParticipantListItem::button-1 { - fixed-height: 9.0un; -} - -BubbleParticipantListItem::button-2 { - fixed-height: 9.0un; -} diff -r 6b911d05207e -r bc5a64e5bc3c phoneuis/bubblemanager2/bubblecore/xml/bubbleparticipantlistitem.widgetml --- a/phoneuis/bubblemanager2/bubblecore/xml/bubbleparticipantlistitem.widgetml Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneuis/bubblemanager2/bubblecore/xml/bubbleparticipantlistitem.widgetml Tue Jul 06 14:15:47 2010 +0300 @@ -1,50 +1,14 @@ - - - - - - + - - - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -r 6b911d05207e -r bc5a64e5bc3c phoneuis/bubblemanager2/inc/bubblemanager2.h --- a/phoneuis/bubblemanager2/inc/bubblemanager2.h Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneuis/bubblemanager2/inc/bubblemanager2.h Tue Jul 06 14:15:47 2010 +0300 @@ -344,6 +344,7 @@ void findNextDrawableHeader(int& index) const; void polishEvent(); void releaseImageIfNotUsed(const QString& imageFileName); + void releaseNonCachedViews(); private slots: void showExpanded( int bubbleId ); diff -r 6b911d05207e -r bc5a64e5bc3c phoneuis/bubblemanager2/tsrc/bubbletest2/bubbletestview.cpp --- a/phoneuis/bubblemanager2/tsrc/bubbletest2/bubbletestview.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneuis/bubblemanager2/tsrc/bubbletest2/bubbletestview.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -317,7 +317,7 @@ if (mCallTimer->isChecked()) { bubbleManager().setCallTime( mConfBubbleId, "0:00" ); } - bubbleManager().addAction(mConfBubbleId, mHold); + bubbleManager().addAction(mConfBubbleId, mMute); bubbleManager().addAction(mConfBubbleId, mEndConference); bubbleManager().clearParticipantListActions(); bubbleManager().addParticipantListAction(mPrivate); @@ -455,10 +455,8 @@ if ( mContactName->isChecked() ) { bubbleManager().setCli(bubble, "Gloria Andersson", Qt::ElideRight); bubbleManager().setSecondaryCli( bubble, "+35850123456789" ); - mPhoneNumber.clear(); } else { - mPhoneNumber.append("+35850123456789"); - bubbleManager().setCli(bubble, mPhoneNumber, Qt::ElideRight); + bubbleManager().setCli(bubble, "+35850123456789", Qt::ElideRight); } setCallObject(bubble, ":resources/contactpic.jpg"); @@ -479,14 +477,13 @@ bubbleManager().setCli(bubble, "John Doe", Qt::ElideRight); bubbleManager().setSecondaryCli(bubble, "+35840987654321"); } - mPhoneNumber.clear(); } else { if (callCount()==2) { - mPhoneNumber.append("+35850232323232"); + bubbleManager().setCli(bubble, "+35850232323232", Qt::ElideRight); } else { - mPhoneNumber.append("+35840987654321"); + bubbleManager().setCli(bubble, "+35840987654321", Qt::ElideRight); } - bubbleManager().setCli(bubble, mPhoneNumber, Qt::ElideRight); + } setCallObject(bubble, ":resources/contactpic3.png"); bubbleManager().setNumberType(bubble, BubbleManager::Mobile); @@ -507,10 +504,8 @@ if ( mContactName->isChecked() ) { bubbleManager().setCli( bubble, "Bart Simpson", Qt::ElideRight ); bubbleManager().setSecondaryCli( bubble, "+35890987654321" ); - mPhoneNumber.clear(); } else { - mPhoneNumber.append("+35890987654321"); - bubbleManager().setCli( bubble, mPhoneNumber, Qt::ElideRight ); + bubbleManager().setCli( bubble, "+35890987654321", Qt::ElideRight ); } setCallObject(bubble, ":resources/contactpic2.jpg"); bubbleManager().setLabel( bubble, "Calling", Qt::ElideRight ); @@ -520,16 +515,6 @@ case BubbleManager::Alerting: { - if ( mPhoneNumber.length() ) { - QString cli("Call %1"); - QString index; - index.setNum(bubble+1); - cli = cli.arg(index); - bubbleManager().setCli( bubble, cli, Qt::ElideRight ); - bubbleManager().setSecondaryCli( bubble, mPhoneNumber ); - mPhoneNumber.clear(); - } - if ( mEmergencyCall->isChecked() ) { bubbleManager().setCli( bubble, "Emergency call", Qt::ElideRight ); } @@ -538,16 +523,6 @@ case BubbleManager::Active: { - if ( mPhoneNumber.length() && bubble!=mConfBubbleId ) { - QString cli("Call %1"); - QString index; - index.setNum(bubble+1); - cli = cli.arg(index); - bubbleManager().setCli( bubble, cli, Qt::ElideRight ); - bubbleManager().setSecondaryCli( bubble, mPhoneNumber ); - mPhoneNumber.clear(); - } - if ( mCallTimer->isChecked() ) { bubbleManager().setCallTime( bubble, "0:00" ); } @@ -585,27 +560,8 @@ void BubbleTestView::setBubbleActions(int bubble, BubbleManagerIF::PhoneCallState state ) { if (bubble==mConfBubbleId) { - // check, if all call are in conference - bool swapButton = false; - QListIterator calls(mCalls); - while(calls.hasNext()) { - TestCall call = calls.next(); - if (!call.isConf && !call.isInConf) { - swapButton = true; - } - } - bubbleManager().clearActions(bubble); - - if (swapButton) { - bubbleManager().addAction(bubble, mSwap); - } else { - if (state == BubbleManager::OnHold) - bubbleManager().addAction(bubble, mUnhold); - else - bubbleManager().addAction(bubble, mHold); - } - + bubbleManager().addAction(bubble, mMute); bubbleManager().addAction(bubble, mEndConference); return; } @@ -627,31 +583,27 @@ case BubbleManager::Outgoing: case BubbleManager::Alerting: // flow through { + bubbleManager().addAction( bubble, mMute ); bubbleManager().addAction( bubble, mEndCall ); break; } case BubbleManager::OnHold: { - bubbleManager().addAction( bubble, mUnhold ); + if (mMuted) { + bubbleManager().addAction( bubble, mUnmute ); + } else { + bubbleManager().addAction( bubble, mMute ); + } bubbleManager().addAction( bubble, mEndCall ); } break; default: // Active call { - HbAction* action; - - if (!mEmergencyCall->isChecked()) { - int i; - if ( (mCalls.count()>1 && !callIndexByState(BubbleManagerIF::Waiting,i)) - || (mCalls.count()> 1 && mProvideJoin) ) { - action = mJoin; - } else { - action = mHold; - } - - bubbleManager().addAction( bubble, action ); + if (mMuted) { + bubbleManager().addAction( bubble, mUnmute ); + } else { + bubbleManager().addAction( bubble, mMute ); } - bubbleManager().addAction( bubble, mEndCall ); break; } @@ -744,7 +696,17 @@ void BubbleTestView::setMuted() { mMuted = !mMuted; - updateToolBarActions(); + int bubble = bubbleManager().expandedBubble(); + QListIterator calls(mCalls); + while (calls.hasNext()) { + TestCall call = calls.next(); + if (call.bubbleId==bubble) { + bubbleManager().startChanges(); + setBubbleActions(bubble, (BubbleManagerIF::PhoneCallState)call.callState); + bubbleManager().endChanges(); + } + } + bubbleManager().setPhoneMuted( mMuted ); setFocus(); // hack because toolbar steals the focus } @@ -776,13 +738,17 @@ mCalls.removeAt(i); mConfBubbleId = -1; callIndexByBubbleId(selection,i); - int held = (i==0) ? 1 : 0; + int held = (i==0) ? 1 : 0; // ?? setBubbleActions(selection,BubbleManagerIF::Active); setBubbleData(selection,BubbleManagerIF::Active); setBubbleActions(held,BubbleManagerIF::OnHold); setBubbleData(held,BubbleManagerIF::OnHold); - mCalls[0].isInConf = false; - mCalls[1].isInConf = false; + mCalls[i].isInConf = false; + mCalls[i].callState = BubbleManagerIF::Active; + int callId; + callIndexByBubbleId(held, callId); + mCalls[callId].callState = BubbleManagerIF::OnHold; + mCalls[callId].isInConf = false; setExpandActions(); } bubbleManager().endChanges(); @@ -849,6 +815,7 @@ // not connected to anywhere mActivateLoudspeaker = new HbAction(HbIcon("qtg_mono_speaker"), "", this); + connect( mActivateLoudspeaker, SIGNAL(triggered()), this, SLOT(createIncomingCall()), Qt::QueuedConnection ); mActivateHandset = new HbAction(HbIcon("qtg_mono_mobile"), "", this); mSendMessage = new HbAction(HbIcon("qtg_mono_send"), "", this); mSilence = new HbAction(HbIcon("qtg_mono_speaker_off"), "", this); @@ -898,54 +865,61 @@ toolBar()->addAction(mSendMessage); toolBar()->addAction(mSilence); } else { + toolBar()->addAction(mActivateLoudspeaker); + + if (callCount()==1) { + toolBar()->addAction(mHold); + } else { + toolBar()->addAction(mSwap); + } + + if (callCount()==1) { + toolBar()->addAction(mOpenContacts); + } else { + toolBar()->addAction(mJoin); + } + toolBar()->addAction(mOpenDialer); - if (!mMuted) { - toolBar()->addAction(mMute); - } else if (mMuted) { - toolBar()->addAction(mUnmute); - } - toolBar()->addAction(mActivateLoudspeaker); - toolBar()->addAction(mOpenContacts); } } void BubbleTestView::createBubbleActions() { - mAnswer = new HbAction( HbIcon("qtg_mono_call"),"Answer", this); + mAnswer = new HbAction( HbIcon("qtg_mono_call"),QString(), this); mAnswer->setSoftKeyRole(QAction::PositiveSoftKey); connect( mAnswer, SIGNAL( triggered() ), this, SLOT( answerCall() ) ); - mReject= new HbAction( HbIcon("qtg_mono_reject_call"),"Reject", this); + mReject= new HbAction( HbIcon("qtg_mono_reject_call"),QString(), this); mReject->setSoftKeyRole(QAction::NegativeSoftKey); connect( mReject, SIGNAL( triggered() ), this, SLOT( rejectCall() ) ); - mHold = new HbAction( HbIcon("qtg_mono_hold_call"),"Hold", this); + mHold = new HbAction( HbIcon("qtg_mono_hold_call"),QString(), this); connect( mHold, SIGNAL( triggered() ), this, SLOT( toggleHold() ) ); - mUnhold = new HbAction( HbIcon("qtg_mono_call"),"Activate", this); + mUnhold = new HbAction( HbIcon("qtg_mono_call"),QString(), this); connect( mUnhold, SIGNAL( triggered() ), this, SLOT( toggleHold() ) ); - mSwap = new HbAction( HbIcon("qtg_mono_hold_call"),"Swap", this); + mSwap = new HbAction( HbIcon("qtg_mono_hold_call"),QString(), this); connect( mSwap, SIGNAL( triggered() ), this, SLOT( toggleHold() ) ); - mEndCall = new HbAction(HbIcon("qtg_mono_end_call"),"End call", this); + mEndCall = new HbAction(HbIcon("qtg_mono_end_call"),QString(), this); mEndCall->setSoftKeyRole(QAction::NegativeSoftKey); connect( mEndCall, SIGNAL( triggered() ), this, SLOT( endCall() ) ); - mEndConference = new HbAction(HbIcon("qtg_mono_end_all_call"),"End conference", this); + mEndConference = new HbAction(HbIcon("qtg_mono_end_call"),QString(), this); mEndConference->setSoftKeyRole(QAction::NegativeSoftKey); connect( mEndConference, SIGNAL( triggered() ), this, SLOT( endConferenceCall() ) ); - mJoin = new HbAction(HbIcon("qtg_mono_join_call"),"Join", this); + mJoin = new HbAction(HbIcon("qtg_mono_join_call"),QString(), this); connect( mJoin, SIGNAL( triggered() ), this, SLOT(joinToConference()) ); - mPrivate = new HbAction(HbIcon("qtg_mono_private_call"),"Private", this); + mPrivate = new HbAction(HbIcon("qtg_mono_private_call"),QString(), this); connect( mPrivate, SIGNAL( triggered() ), this, SLOT(handlePrivate()) ); - mDrop = new HbAction(HbIcon("qtg_mono_drop_call"),"Drop", this); + mDrop = new HbAction(HbIcon("qtg_mono_drop_call"),QString(), this); connect( mDrop, SIGNAL( triggered() ), this, SLOT(handleDrop()) ); - mReplace = new HbAction(HbIcon("qtg_mono_replace_call"),"Replace", this); + mReplace = new HbAction(HbIcon("qtg_mono_replace_call"),QString(), this); connect( mReplace, SIGNAL( triggered() ), this, SLOT(replaceActiveCall()) ); mUpdateUiControls = new HbAction(QString(), this); @@ -1026,13 +1000,13 @@ callIndexByBubbleId(mConfBubbleId, i); BubbleManagerIF::PhoneCallState confState = (BubbleManagerIF::PhoneCallState)mCalls[i].callState; - qDebug() << "toggleConferenceHoldDelayed state:" << confState; + // qDebug() << "toggleConferenceHoldDelayed state:" << confState; QListIterator calls(mCalls); int j=0; while(calls.hasNext()) { TestCall call = calls.next(); - qDebug() << "toggleConferenceHoldDelayed callState:" << call.callState; + // qDebug() << "toggleConferenceHoldDelayed callState:" << call.callState; if (call.isInConf && call.callState!=confState) { bubbleManager().startChanges(); setBubbleData(call.bubbleId, confState); diff -r 6b911d05207e -r bc5a64e5bc3c phoneuis/bubblemanager2/tsrc/bubbletest2/bubbletestview.h --- a/phoneuis/bubblemanager2/tsrc/bubbletest2/bubbletestview.h Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneuis/bubblemanager2/tsrc/bubbletest2/bubbletestview.h Tue Jul 06 14:15:47 2010 +0300 @@ -137,7 +137,6 @@ HbAction *mConnectTester; QMap mTestBubbleIds; - QString mPhoneNumber; int mConfBubbleId; bool mProvideJoin; }; diff -r 6b911d05207e -r bc5a64e5bc3c phoneuis/bubblemanager2/tsrc/unit/mt_bubblemanager2/mt_bubblemanager2.cpp --- a/phoneuis/bubblemanager2/tsrc/unit/mt_bubblemanager2/mt_bubblemanager2.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneuis/bubblemanager2/tsrc/unit/mt_bubblemanager2/mt_bubblemanager2.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -410,7 +410,7 @@ mouseClickWidgetAction("eb:leftButton",&action8); mouseClickWidgetAction("eb:rightButton",&action5); - // try to click conference list + // click conference list QTest::mouseClick(mainWindow->viewport(),Qt::LeftButton,0,QPoint(100,100)); QTest::qWait( 2*WAIT_TIME ); diff -r 6b911d05207e -r bc5a64e5bc3c phoneuis/bubblemanager2/tsrc/unit/runall.cmd --- a/phoneuis/bubblemanager2/tsrc/unit/runall.cmd Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneuis/bubblemanager2/tsrc/unit/runall.cmd Tue Jul 06 14:15:47 2010 +0300 @@ -25,6 +25,7 @@ call runtest.cmd ut_bubbleheadingwidget call runtest.cmd ut_bubbleimagewidget call runtest.cmd ut_bubbleparticipantlistitem +call runtest.cmd ut_bubblebutton rem call runtest.cmd mt_bubblemanager2 ) @@ -38,6 +39,7 @@ call runtest_w32.cmd ut_bubbleheadingwidget call runtest_w32.cmd ut_bubbleimagewidget call runtest_w32.cmd ut_bubbleparticipantlistitem +call runtest_w32.cmd ut_bubblebutton rem call runtest_w32.cmd mt_bubblemanager2 ) diff -r 6b911d05207e -r bc5a64e5bc3c phoneuis/bubblemanager2/tsrc/unit/unit.pro --- a/phoneuis/bubblemanager2/tsrc/unit/unit.pro Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneuis/bubblemanager2/tsrc/unit/unit.pro Tue Jul 06 14:15:47 2010 +0300 @@ -26,4 +26,5 @@ SUBDIRS += ut_bubbleimagewidget SUBDIRS += ut_bubbleparticipantlistitem SUBDIRS += ut_bubbleeffecthandler +SUBDIRS += ut_bubblebutton SUBDIRS += mt_bubblemanager2 diff -r 6b911d05207e -r bc5a64e5bc3c phoneuis/bubblemanager2/tsrc/unit/ut_bubblebutton/resources/qtg_mono_call.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phoneuis/bubblemanager2/tsrc/unit/ut_bubblebutton/resources/qtg_mono_call.svg Tue Jul 06 14:15:47 2010 +0300 @@ -0,0 +1,6 @@ + + + + + + diff -r 6b911d05207e -r bc5a64e5bc3c phoneuis/bubblemanager2/tsrc/unit/ut_bubblebutton/ut_bubblebutton.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phoneuis/bubblemanager2/tsrc/unit/ut_bubblebutton/ut_bubblebutton.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -0,0 +1,158 @@ +/*! +* 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 "bubbletest.h" +#include "bubblebutton.h" + +class TestBubbleButton : public BubbleButton +{ +public: + TestBubbleButton() {}; + ~TestBubbleButton() {}; + + bool testSceneEvent(QEvent *event) { return BubbleButton::sceneEvent(event); }; +}; + +class ut_BubbleButton : public QObject +{ + Q_OBJECT + +private slots: + void initTestCase(); + void cleanupTestCase(); + + void testButtonType(); + void testUpdatePrimitives(); + void testSceneEvent(); + +private: + TestBubbleButton *mButton; +}; + +void ut_BubbleButton::initTestCase() +{ + mButton = new TestBubbleButton(); + mButton->setIcon(HbIcon(":/resources/qtg_mono_call.svg")); +} + +void ut_BubbleButton::cleanupTestCase() +{ + delete mButton; +} + +void ut_BubbleButton::testButtonType() +{ + QVERIFY(mButton->buttonType()==BubbleButton::DefaultButton); + mButton->setButtonType(BubbleButton::GreenButton); + QVERIFY(mButton->buttonType()==BubbleButton::GreenButton); + mButton->setButtonType(BubbleButton::RedButton); + QVERIFY(mButton->buttonType()==BubbleButton::RedButton); +} + +void ut_BubbleButton::testUpdatePrimitives() +{ + // function button + HbFrameItem* frame = + qgraphicsitem_cast( + static_cast(mButton)->primitive("background")); + QVERIFY(frame); + + HbIconItem* icon = + qgraphicsitem_cast( + static_cast(mButton)->primitive("icon")); + QVERIFY(icon); + + QColor iconColor; + + mButton->setVisible(false); + mButton->setButtonType(BubbleButton::DefaultButton); + mButton->setVisible(true); + + QVERIFY(frame->frameDrawer().frameGraphicsName()!="qtg_fr_btn_green_normal"); + QVERIFY(frame->frameDrawer().frameGraphicsName()!="qtg_fr_btn_green_normal"); + iconColor = HbColorScheme::color("qtc_button_normal"); + QVERIFY(icon->color()==iconColor); + mButton->setDown(true); + QVERIFY(frame->frameDrawer().frameGraphicsName()!="qtg_fr_btn_green_pressed"); + QVERIFY(frame->frameDrawer().frameGraphicsName()!="qtg_fr_btn_green_pressed"); + iconColor = HbColorScheme::color("qtc_button_pressed"); + QVERIFY(icon->color()==iconColor); + + + mButton->setDown(false); + mButton->setVisible(false); + mButton->setButtonType(BubbleButton::RedButton); + mButton->setVisible(true); + + QVERIFY(frame->frameDrawer().frameGraphicsName()=="qtg_fr_btn_red_normal"); + iconColor = HbColorScheme::color("qtc_callhandling_reject_normal"); + QVERIFY(icon->color()==iconColor); + mButton->setDown(true); + QVERIFY(frame->frameDrawer().frameGraphicsName()=="qtg_fr_btn_red_pressed"); + iconColor = HbColorScheme::color("qtc_callhandling_reject_pressed"); + QVERIFY(icon->color()==iconColor); + + mButton->setDown(false); + mButton->setVisible(false); + mButton->setButtonType(BubbleButton::GreenButton); + mButton->setVisible(true); + + QVERIFY(frame->frameDrawer().frameGraphicsName()=="qtg_fr_btn_green_normal"); + iconColor = HbColorScheme::color("qtc_callhandling_answer_normal"); + QVERIFY(icon->color()==iconColor); + mButton->setDown(true); + QVERIFY(frame->frameDrawer().frameGraphicsName()=="qtg_fr_btn_green_pressed"); + iconColor = HbColorScheme::color("qtc_callhandling_answer_pressed"); + QVERIFY(icon->color()==iconColor); +} + +void ut_BubbleButton::testSceneEvent() +{ + QEvent event(QEvent::UngrabMouse); + QSignalSpy spy( mButton, SIGNAL( clicked()) ); + QSignalSpy spy2( mButton, SIGNAL( released()) ); + mButton->setVisible(false); + mButton->setDown(false); + mButton->testSceneEvent(&event); + QVERIFY(spy.count()==0); + QVERIFY(spy2.count()==0); + + QEvent eventNone(QEvent::None); + mButton->testSceneEvent(&eventNone); + QVERIFY(spy.count()==0); + QVERIFY(spy2.count()==0); + + mButton->setVisible(true); + mButton->setDown(true); + mButton->testSceneEvent(&event); + QVERIFY(spy.count()==1); + QVERIFY(spy2.count()==1); + QVERIFY(mButton->isDown()==false); +} + +BUBBLE_TEST_MAIN(ut_BubbleButton) +#include "ut_bubblebutton.moc" diff -r 6b911d05207e -r bc5a64e5bc3c phoneuis/bubblemanager2/tsrc/unit/ut_bubblebutton/ut_bubblebutton.pro --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phoneuis/bubblemanager2/tsrc/unit/ut_bubblebutton/ut_bubblebutton.pro Tue Jul 06 14:15:47 2010 +0300 @@ -0,0 +1,36 @@ +# +# 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 += . ../../../bubblecore/src +INCLUDEPATH += . ../../../bubblecore/src ../../../inc ../shared +CONFIG += hb qtestlib + +symbian { + INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE +} else:win32 { + DESTDIR = ./ +} + +RESOURCES += ut_bubblebutton.qrc + +HEADERS += ../../../bubblecore/src/bubblebutton.h + +SOURCES += ut_bubblebutton.cpp \ + ../../../bubblecore/src/bubblebutton.cpp + diff -r 6b911d05207e -r bc5a64e5bc3c phoneuis/bubblemanager2/tsrc/unit/ut_bubblebutton/ut_bubblebutton.qrc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phoneuis/bubblemanager2/tsrc/unit/ut_bubblebutton/ut_bubblebutton.qrc Tue Jul 06 14:15:47 2010 +0300 @@ -0,0 +1,5 @@ + + + resources/qtg_mono_call.svg + + diff -r 6b911d05207e -r bc5a64e5bc3c phoneuis/bubblemanager2/tsrc/unit/ut_bubblecontainerwidget/ut_bubblecontainerwidget.cpp --- a/phoneuis/bubblemanager2/tsrc/unit/ut_bubblecontainerwidget/ut_bubblecontainerwidget.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneuis/bubblemanager2/tsrc/unit/ut_bubblecontainerwidget/ut_bubblecontainerwidget.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -24,10 +24,21 @@ #include #include #include +#include #include "bubbletest.h" #include "bubblecontainerwidget.h" +class TestBubbleContainerWidget : public BubbleContainerWidget +{ +public: + TestBubbleContainerWidget() {}; + ~TestBubbleContainerWidget() {}; + + void testMouseMove(QGraphicsSceneMouseEvent *event) + { BubbleContainerWidget::mouseMoveEvent(event); }; +}; + class ut_BubbleContainerWidget : public QObject { Q_OBJECT @@ -41,17 +52,22 @@ void testMouseMove(); private: - BubbleContainerWidget* mContainer; + TestBubbleContainerWidget* mContainer; HbMainWindow* mMainWindow; - int mStyleBaseId; }; void ut_BubbleContainerWidget::initTestCase() { mMainWindow = new HbMainWindow(); - mContainer = new BubbleContainerWidget(); + mContainer = new TestBubbleContainerWidget(); mMainWindow->addView(mContainer); mMainWindow->show(); + + HbFrameItem* frame = + qgraphicsitem_cast( + static_cast(mContainer)->primitive("background")); + QVERIFY(frame->frameDrawer().frameGraphicsName()=="qtg_fr_list_normal"); + QVERIFY(frame->isVisible()==false); } void ut_BubbleContainerWidget::cleanupTestCase() @@ -90,11 +106,36 @@ QPointF clickPos = mContainer->scenePos() + mContainer->rect().center(); QPoint windowPos = mMainWindow->mapFromScene( clickPos ); - QPoint windowPos2 = windowPos+QPoint(10,10); + + // move within + QTest::mousePress( mMainWindow->viewport(), Qt::LeftButton, 0, windowPos, 100 ); // QTest::mouseMove() doesn't work - QTest::mouseMove( mMainWindow->viewport(), windowPos2 ); - QCOMPARE( spy.count(), 0 ); + QGraphicsSceneMouseEvent moveEvent(QEvent::MouseMove); + moveEvent.setButtons(Qt::LeftButton); + moveEvent.setPos(windowPos-QPointF(1,1)); + mContainer->testMouseMove(&moveEvent); + + QTest::mouseRelease( mMainWindow->viewport(), Qt::LeftButton, 0, windowPos, 100 ); + QCOMPARE( spy.count(), 1 ); + + + // move out + QTest::mousePress( mMainWindow->viewport(), Qt::LeftButton, 0, windowPos, 100 ); + moveEvent.setPos(QPointF(-10,-10)); + mContainer->testMouseMove(&moveEvent); + + QTest::mouseRelease( mMainWindow->viewport(), Qt::LeftButton, 0, windowPos, 100 ); + QCOMPARE( spy.count(), 1 ); + + // move in + QTest::mousePress( mMainWindow->viewport(), Qt::LeftButton, 0, QPoint(1,1), 100 ); + moveEvent.setPos(QPointF(windowPos)); + mContainer->testMouseMove(&moveEvent); + + QTest::mouseRelease( mMainWindow->viewport(), Qt::LeftButton, 0, windowPos, 100 ); + QCOMPARE( spy.count(), 1 ); + } BUBBLE_TEST_MAIN(ut_BubbleContainerWidget) diff -r 6b911d05207e -r bc5a64e5bc3c phoneuis/bubblemanager2/tsrc/unit/ut_bubbleeffecthandler/ut_bubbleeffecthandler.cpp --- a/phoneuis/bubblemanager2/tsrc/unit/ut_bubbleeffecthandler/ut_bubbleeffecthandler.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneuis/bubblemanager2/tsrc/unit/ut_bubbleeffecthandler/ut_bubbleeffecthandler.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -64,6 +64,7 @@ void testMuteAppearEffect(); void testMuteDisappearEffect(); + void testCancelAllEffects(); private: HbMainWindow* mWindow; @@ -118,5 +119,22 @@ mEffectHandler->removeEffect(mContainer->mLabel,BubbleMutedDisappear); } +void ut_BubbleEffectHandler::testCancelAllEffects() +{ + QVERIFY(mContainer->mLabel->isVisible()==false); + QTest::qWait(500); + + mContainer->mLabel->setPlainText("Appearing"); + + mEffectHandler->addEffect(mContainer->mLabel,BubbleMutedAppear); + mEffectHandler->startEffect(BubbleMutedAppear); + QTest::qWait(100); + QVERIFY(HbEffect::effectRunning(mContainer->mLabel)); + mEffectHandler->cancelAllEffects(mContainer->mLabel); + QVERIFY(!HbEffect::effectRunning(mContainer->mLabel)); + + mEffectHandler->removeEffect(mContainer->mLabel,BubbleMutedAppear); +} + BUBBLE_TEST_MAIN(ut_BubbleEffectHandler) #include "ut_bubbleeffecthandler.moc" diff -r 6b911d05207e -r bc5a64e5bc3c phoneuis/bubblemanager2/tsrc/unit/ut_bubbleheadingwidget/resources/bubbleheadingwidget.css --- a/phoneuis/bubblemanager2/tsrc/unit/ut_bubbleheadingwidget/resources/bubbleheadingwidget.css Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneuis/bubblemanager2/tsrc/unit/ut_bubbleheadingwidget/resources/bubbleheadingwidget.css Tue Jul 06 14:15:47 2010 +0300 @@ -5,66 +5,111 @@ layout: three_lines_layout; } +BubbleHeadingWidget[layoutOption="three_lines_1"] +{ + layout: three_lines_layout_1; +} + +BubbleHeadingWidget[layoutOption="three_lines_2"] +{ + layout: three_lines_layout_2; +} + BubbleHeadingWidget[layoutOption="two_lines"] { layout: two_lines_layout; } +BubbleHeadingWidget[layoutOption="two_lines_1"] +{ + layout: two_lines_layout_1; +} + +BubbleHeadingWidget[layoutOption="two_lines_2"] +{ + layout: two_lines_layout_2; +} + + BubbleHeadingWidget[layoutOption="one_line"] { layout: one_line_layout; } -BubbleHeadingWidget:text_line_1 +BubbleHeadingWidget[layoutOption="one_line_1"] { - preferred-height: var(hb-param-text-height-primary); - left: -var(hb-param-margin-gene-middle-horizontal); - color: var(qtc_list_item_title_normal); + layout: one_line_layout_1; +} + +BubbleHeadingWidget[layoutOption="one_line_2"] +{ + layout: one_line_layout_2; } -BubbleHeadingWidget:text_line_2[layoutOption!="one_line"] +BubbleHeadingWidget:text_line_1 { - preferred-height: var(hb-param-text-height-primary); - preferred-width: -1; - left: -var(hb-param-margin-gene-middle-horizontal); + text-height: var(hb-param-text-height-primary); + color: var(qtc_list_item_title_normal); + text-line-count-min:1; + text-line-count-max:1; +} + +BubbleHeadingWidget:text_line_2 +{ + text-height: var(hb-param-text-height-primary); + text-align: left; + color: var(qtc_list_item_title_normal); + text-line-count-min:1; + text-line-count-max:1; + pref-width: -1; top: -var(hb-param-margin-gene-middle-vertical); text-align: left; - color: var(qtc_list_item_title_normal); + size-policy-horizontal: expanding; } BubbleHeadingWidget:text_line_2[layoutOption="one_line"] { - preferred-height: var(hb-param-text-height-primary); - preferred-width: 30un; + pref-width: 35un; /* not in spec yet, fixed value needed for localisation */ left: -var(hb-param-margin-gene-middle-horizontal); text-align: right; - color: var(qtc_list_item_title_normal); + size-policy-horizontal: fixed; +} + +BubbleHeadingWidget:text_line_2[layoutOption="one_line_1"] +{ + pref-width: 35un; + left: -var(hb-param-margin-gene-middle-horizontal); + text-align: right; + size-policy-horizontal: fixed; +} + +BubbleHeadingWidget:text_line_2[layoutOption="one_line_2"] +{ + pref-width: 35un; + left: -var(hb-param-margin-gene-middle-horizontal); + text-align: right; + size-policy-horizontal: fixed; } BubbleHeadingWidget:text_line_3 { - preferred-height: var(hb-param-text-height-primary); - left: -var(hb-param-margin-gene-middle-horizontal); + text-height: var(hb-param-text-height-primary); top: -var(hb-param-margin-gene-middle-vertical); color: var(qtc_list_item_title_normal); + text-line-count-min:1; + text-line-count-max:1; } -BubbleHeadingWidget:status_icon -{ - fixed-width: var(hb-param-graphic-size-primary-large); - fixed-height: var(hb-param-graphic-size-primary-large); -} - -BubbleHeadingWidget:number_type_icon +BubbleHeadingWidget:indicator_icon_1 { fixed-height: var(hb-param-graphic-size-secondary); fixed-width: var(hb-param-graphic-size-secondary); color: var(qtc_list_item_title_normal); } -BubbleHeadingWidget:ciphering_icon +BubbleHeadingWidget:indicator_icon_2 { - fixed-height: 2.5un; - fixed-width: 2.5un; + fixed-height: var(hb-param-graphic-size-secondary); + fixed-width: var(hb-param-graphic-size-secondary); color: var(qtc_list_item_title_normal); } diff -r 6b911d05207e -r bc5a64e5bc3c phoneuis/bubblemanager2/tsrc/unit/ut_bubbleheadingwidget/resources/bubbleheadingwidget.widgetml --- a/phoneuis/bubblemanager2/tsrc/unit/ut_bubbleheadingwidget/resources/bubbleheadingwidget.widgetml Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneuis/bubblemanager2/tsrc/unit/ut_bubbleheadingwidget/resources/bubbleheadingwidget.widgetml Tue Jul 06 14:15:47 2010 +0300 @@ -1,63 +1,136 @@ - - - - - - - - - - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + + - - - - - - - - - - + - + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + - - - - - - - - - - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 6b911d05207e -r bc5a64e5bc3c phoneuis/bubblemanager2/tsrc/unit/ut_bubbleheadingwidget/ut_bubbleheadingwidget.cpp --- a/phoneuis/bubblemanager2/tsrc/unit/ut_bubbleheadingwidget/ut_bubbleheadingwidget.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneuis/bubblemanager2/tsrc/unit/ut_bubbleheadingwidget/ut_bubbleheadingwidget.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -24,6 +24,8 @@ #include #include #include +#include +#include #include "bubbletest.h" #include "bubbleheadingwidget.h" @@ -46,7 +48,14 @@ private: BubbleHeadingWidget* mHeading; HbMainWindow* mMainWindow; - int mStyleBaseId; + + HbTextItem* mText1; + HbTextItem* mText2; + HbTextItem* mText3; + + HbIconItem* mIndi1; + HbIconItem* mIndi2; + }; void ut_BubbleHeadingWidget::initTestCase() @@ -55,6 +64,23 @@ mHeading = new BubbleHeadingWidget(); mMainWindow->addView(mHeading); mMainWindow->show(); + + mText1 = qgraphicsitem_cast( + static_cast(mHeading)->primitive("text_line_1")); + QVERIFY(mText1); + mText2 = qgraphicsitem_cast( + static_cast(mHeading)->primitive("text_line_2")); + QVERIFY(mText2); + mText3 = qgraphicsitem_cast( + static_cast(mHeading)->primitive("text_line_3")); + QVERIFY(mText3); + + mIndi1 = qgraphicsitem_cast( + static_cast(mHeading)->primitive("indicator_icon_1")); + QVERIFY(mIndi1); + mIndi2 = qgraphicsitem_cast( + static_cast(mHeading)->primitive("indicator_icon_2")); + QVERIFY(mIndi2); } void ut_BubbleHeadingWidget::cleanupTestCase() @@ -70,6 +96,49 @@ void ut_BubbleHeadingWidget::testThreeLinedHeading() { + mHeading->setLineCount(3); + + BubbleHeader header; + header.setCli("John Doe",Qt::ElideRight); + header.setSecondaryCli("12345",Qt::ElideLeft); + header.setText("",Qt::ElideRight); + header.setTimerCost("0:00"); + header.setCallState(BubbleManagerIF::Active); + header.setCallFlag(BubbleManagerIF::NoCiphering); + QVERIFY(mHeading->lineCount()==3); + mHeading->readBubbleHeader(header); + mHeading->show(); + QTest::qWait(200); + QVERIFY(mHeading->layout()=="three_lines_1"); + + QVERIFY(mText1->text()=="John Doe"); + QVERIFY(mText2->text()=="12345"); + QVERIFY(mText2->alignment()&Qt::AlignLeft); + QVERIFY(mText3->text()=="0:00"); + + header.setTimerCost("0:01"); + mHeading->updateTimerDisplayNow(); + QVERIFY(mText3->text()=="0:01"); + + header.setCallState(BubbleManagerIF::Incoming); + header.setCallFlag(BubbleManagerIF::NoCiphering); + header.setCallFlag(BubbleManagerIF::Diverted); + mHeading->readBubbleHeader(header); + mHeading->show(); + QTest::qWait(200); + QVERIFY(mHeading->layout()=="three_lines_2"); + + header.setCallFlags(BubbleManagerIF::Normal); + mHeading->readBubbleHeader(header); + mHeading->show(); + QTest::qWait(200); + QVERIFY(mHeading->layout()=="three_lines"); +} + +void ut_BubbleHeadingWidget::testTwoLinedHeading() +{ + mHeading->setLineCount(2); + BubbleHeader header; header.setCli("John Doe",Qt::ElideRight); header.setSecondaryCli("12345",Qt::ElideLeft); @@ -77,34 +146,41 @@ header.setTimerCost("0:00"); header.setCallState(BubbleManagerIF::Active); header.setCallFlag(BubbleManagerIF::NoCiphering); - mHeading->setLineCount(3); - Q_ASSERT(mHeading->lineCount()==3); + QVERIFY(mHeading->lineCount()==2); mHeading->readBubbleHeader(header); mHeading->show(); - QTest::qWait(1000); - mHeading->updateTimerDisplayNow(); -} + QTest::qWait(200); + QVERIFY(mHeading->layout()=="two_lines_1"); + + QVERIFY(mText1->text()=="John Doe"); + QVERIFY(mText2->text()=="0:00"); + QVERIFY(mText2->alignment()&Qt::AlignLeft); + QVERIFY(!mText3->isVisible()); -void ut_BubbleHeadingWidget::testTwoLinedHeading() -{ - BubbleHeader header; - header.setCli("John Doe",Qt::ElideRight); - header.setSecondaryCli("12345",Qt::ElideLeft); - header.setText("",Qt::ElideRight); - header.setTimerCost("0:00"); - header.setCallState(BubbleManagerIF::Outgoing); + header.setTimerCost("0:01"); + mHeading->updateTimerDisplayNow(); + QVERIFY(mText2->text()=="0:01"); + + header.setCallState(BubbleManagerIF::Incoming); header.setCallFlag(BubbleManagerIF::NoCiphering); - - mHeading->setLineCount(2); - Q_ASSERT(mHeading->lineCount()==2); + header.setCallFlag(BubbleManagerIF::Diverted); mHeading->readBubbleHeader(header); mHeading->show(); - QTest::qWait(100); - mHeading->updateTimerDisplayNow(); + QTest::qWait(200); + QVERIFY(mHeading->layout()=="two_lines_2"); + + header.setCallFlags(BubbleManagerIF::Normal); + mHeading->readBubbleHeader(header); + mHeading->show(); + QTest::qWait(200); + QVERIFY(mHeading->layout()=="two_lines"); + } void ut_BubbleHeadingWidget::testOneLinedHeading() { + mHeading->setLineCount(1); + BubbleHeader header; header.setCli("John Doe",Qt::ElideRight); header.setSecondaryCli("12345",Qt::ElideLeft); @@ -112,14 +188,37 @@ header.setTimerCost("0:00"); header.setCallState(BubbleManagerIF::Active); header.setCallFlag(BubbleManagerIF::NoCiphering); - - mHeading->setLineCount(1); - Q_ASSERT(mHeading->lineCount()==1); - header.setCallState(BubbleManagerIF::OnHold); + QVERIFY(mHeading->lineCount()==1); mHeading->readBubbleHeader(header); mHeading->show(); - QTest::qWait(100); + QTest::qWait(200); + QVERIFY(mHeading->layout()=="one_line_1"); + QVERIFY(mText1->text()=="John Doe"); + QVERIFY(mText2->text()=="0:00"); + QVERIFY(mText2->alignment()&Qt::AlignRight); + QVERIFY(!mText3->isVisible()); + + header.setTimerCost("0:01"); mHeading->updateTimerDisplayNow(); + QVERIFY(mText2->text()=="0:01"); + + header.setCallState(BubbleManagerIF::Incoming); + header.setCallFlag(BubbleManagerIF::NoCiphering); + header.setCallFlag(BubbleManagerIF::Diverted); + mHeading->hide(); + mHeading->readBubbleHeader(header); + mHeading->show(); + QTest::qWait(200); + QVERIFY(mHeading->layout()=="one_line_2"); + QVERIFY(mText2->alignment()&Qt::AlignRight); + + header.setCallFlags(BubbleManagerIF::Normal); + mHeading->hide(); + mHeading->readBubbleHeader(header); + mHeading->show(); + QTest::qWait(200); + QVERIFY(mHeading->layout()=="one_line"); + QVERIFY(mText2->alignment()&Qt::AlignRight); } BUBBLE_TEST_MAIN(ut_BubbleHeadingWidget) diff -r 6b911d05207e -r bc5a64e5bc3c phoneuis/bubblemanager2/tsrc/unit/ut_bubbleimagewidget/mock_bubbleimagemanager.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phoneuis/bubblemanager2/tsrc/unit/ut_bubbleimagewidget/mock_bubbleimagemanager.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -0,0 +1,55 @@ +/*! +* 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 "bubbleimagemanager.h" + +QPixmap* _pixmap; + +BubbleImageManager::BubbleImageManager(QObject* parent) + : QObject(parent), d_ptr(0) +{ + _pixmap = new QPixmap; +} + +BubbleImageManager::~BubbleImageManager() +{ + delete _pixmap; +} + +const QPixmap* BubbleImageManager::pixmap( + const QString& imageFileName) +{ + return _pixmap; +} + +void BubbleImageManager::loadImage(const QString& imageFileName) +{ + QImage image(imageFileName); + _pixmap->fromImage(image); + + emit pixmapReady(imageFileName); +} + +void BubbleImageManager::unloadImage(const QString& imageFileName) +{ +} + +void BubbleImageManager::releasePixmaps() +{ +} diff -r 6b911d05207e -r bc5a64e5bc3c phoneuis/bubblemanager2/tsrc/unit/ut_bubbleimagewidget/ut_bubbleimagewidget.cpp --- a/phoneuis/bubblemanager2/tsrc/unit/ut_bubbleimagewidget/ut_bubbleimagewidget.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneuis/bubblemanager2/tsrc/unit/ut_bubbleimagewidget/ut_bubbleimagewidget.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -24,6 +24,7 @@ #include #include #include +#include #include "bubbletest.h" #include "bubbleimagewidget.h" @@ -37,12 +38,12 @@ void initTestCase(); void cleanupTestCase(); - void testPixmap(); - void testWidePixmap(); - void testDefaultAvatar(); + void testSetImage(); void testSetKeepSquareShape(); + void testSizeHint(); + private: QString fileNameWithPath(const QString& fileName); @@ -50,17 +51,9 @@ BubbleImageWidget* mImage; HbMainWindow* mMainWindow; BubbleImageManager* mImageManager; + HbIconItem* mAvatar; }; -QString ut_BubbleImageWidget::fileNameWithPath(const QString& fileName) -{ -#ifdef __WINS__ - return "c:/data/images/" + fileName; -#else - return ":/data/" + fileName; -#endif -} - void ut_BubbleImageWidget::initTestCase() { mMainWindow = new HbMainWindow(); @@ -68,6 +61,12 @@ mImage = new BubbleImageWidget(*mImageManager); mMainWindow->addView(mImage); mMainWindow->show(); + + mAvatar = qgraphicsitem_cast( + static_cast(mImage)->primitive("default_avatar")); + QVERIFY(mAvatar); + QVERIFY(mAvatar->alignment()==Qt::AlignCenter); + QVERIFY(mAvatar->aspectRatioMode()==Qt::KeepAspectRatioByExpanding); } void ut_BubbleImageWidget::cleanupTestCase() @@ -76,32 +75,22 @@ delete mImageManager; } -void ut_BubbleImageWidget::testPixmap() -{ - mImage->hide(); - mImage->setImage(fileNameWithPath("pixmap.png")); - mImage->show(); - // set same image again - QTest::qWait(500); - // there is now way to verify using public API -} - -void ut_BubbleImageWidget::testWidePixmap() +void ut_BubbleImageWidget::testSetImage() { - mImage->hide(); - mImage->setImage(fileNameWithPath("pixmap_wide.png")); - mImage->show(); - QTest::qWait(500); - // there is now way to verify using public API -} + mImage->setImage(""); + QVERIFY(mAvatar->iconName()=="qtg_large_avatar"); + QVERIFY(mAvatar->isVisible()); -void ut_BubbleImageWidget::testDefaultAvatar() -{ - mImage->hide(); - mImage->setImage(""); + QSignalSpy spy( mImageManager, SIGNAL(pixmapReady(QString))); + mImage->setImage(":/data/pixmap.png"); + QVERIFY(mAvatar->isNull()); + QVERIFY(!mAvatar->isVisible()); + QVERIFY(spy.count()==1); + QList arguments = spy.takeFirst(); + QVERIFY(arguments.at(0).toString()==":/data/pixmap.png"); + mImage->show(); - QTest::qWait(500); - // there is now way to verify using public API + QTest::qWait(100); } void ut_BubbleImageWidget::testSetKeepSquareShape() @@ -116,5 +105,12 @@ QVERIFY(mImage->sizePolicy().horizontalPolicy()==QSizePolicy::Expanding); } +void ut_BubbleImageWidget::testSizeHint() +{ + mImage->setKeepSquareShape(true); + QSizeF hint = mImage->preferredSize(); + // .. +} + BUBBLE_TEST_MAIN(ut_BubbleImageWidget) #include "ut_bubbleimagewidget.moc" diff -r 6b911d05207e -r bc5a64e5bc3c phoneuis/bubblemanager2/tsrc/unit/ut_bubbleimagewidget/ut_bubbleimagewidget.pro --- a/phoneuis/bubblemanager2/tsrc/unit/ut_bubbleimagewidget/ut_bubbleimagewidget.pro Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneuis/bubblemanager2/tsrc/unit/ut_bubbleimagewidget/ut_bubbleimagewidget.pro Tue Jul 06 14:15:47 2010 +0300 @@ -25,31 +25,17 @@ INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE TARGET.EPOCALLOWDLLDATA = 1 TARGET.CAPABILITY = ALL -TCB - - - BLD_INF_RULES.prj_exports += \ - "./data/pixmap.png /epoc32/winscw/c/data/images/pixmap.png" - BLD_INF_RULES.prj_exports += \ - "./data/pixmap_wide.png /epoc32/winscw/c/data/images/pixmap_wide.png" - } else:win32 { DESTDIR = ./ } # HEADERS += ../../../bubblecore/src/bubbleimagewidget.h \ - ../../../bubblecore/src/bubbleimagemanager.h \ - ../../../bubblecore/src/bubbleimagemanager_p.h -SOURCES += ut_bubbleimagewidget.cpp \ - ../../../bubblecore/src/bubbleimagewidget.cpp \ - ../../../bubblecore/src/bubbleimagemanager.cpp + ../../../bubblecore/src/bubbleimagemanager.h -symbian { - SOURCES += ../../../bubblecore/src/bubbleimagemanager_p.cpp - LIBS += -lthumbnailmanagerqt -} else:win32 { - SOURCES += ../../../bubblecore/src/bubbleimagemanager_p_stub.cpp -} +SOURCES += ut_bubbleimagewidget.cpp \ + mock_bubbleimagemanager.cpp \ + ../../../bubblecore/src/bubbleimagewidget.cpp \ RESOURCES += ut_bubbleimagewidget.qrc diff -r 6b911d05207e -r bc5a64e5bc3c phoneuis/bubblemanager2/tsrc/unit/ut_bubbleparticipantlistitem/ut_bubbleparticipantlistitem.cpp --- a/phoneuis/bubblemanager2/tsrc/unit/ut_bubbleparticipantlistitem/ut_bubbleparticipantlistitem.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneuis/bubblemanager2/tsrc/unit/ut_bubbleparticipantlistitem/ut_bubbleparticipantlistitem.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -75,7 +75,6 @@ mItem->addAction(&act1); mItem->addAction(&act2); mItem->updateChildItems(); - mItem->setExpanded(true); mItem->updateChildItems(); } diff -r 6b911d05207e -r bc5a64e5bc3c phoneuis/bubblemanager2/tsrc/unit/ut_bubbleutils/ut_bubbleutils.cpp --- a/phoneuis/bubblemanager2/tsrc/unit/ut_bubbleutils/ut_bubbleutils.cpp Wed Jun 23 18:12:20 2010 +0300 +++ b/phoneuis/bubblemanager2/tsrc/unit/ut_bubbleutils/ut_bubbleutils.cpp Tue Jul 06 14:15:47 2010 +0300 @@ -56,13 +56,7 @@ void test_setButtonStyleForAction(); - void test_voiceCallStatusIcon(); - void test_videoCallStatusIcon(); - void test_voipCallStatusIcon(); - - void test_numberTypeIcon(); - - void test_cipheringIcon(); + void test_setIndicators(); private: }; @@ -214,7 +208,8 @@ QVERIFY( text1.elideMode() == Qt::ElideRight ); QVERIFY( text2.text() == "discon" ); QVERIFY( text2.elideMode() == Qt::ElideRight ); - QVERIFY( text3.text() == "" ); + QVERIFY( text3.text() == "00:00" ); + QVERIFY( text2.elideMode() == Qt::ElideRight ); // add secondary cli header.setSecondaryCli( "12345", Qt::ElideLeft ); @@ -222,6 +217,29 @@ QVERIFY( text1.text() == "john" ); QVERIFY( text1.elideMode() == Qt::ElideRight ); + QVERIFY( text2.text() == "discon" ); + QVERIFY( text2.elideMode() == Qt::ElideRight ); + QVERIFY( text3.text() == "00:00" ); + QVERIFY( text3.elideMode() == Qt::ElideRight ); + + // without call timer + text3.setText(QString()); + header.setTimerCost(QString()); + header.setSecondaryCli(QString(), Qt::ElideNone); + + BubbleUtils::setCallHeaderTexts3Lines(header, text1, text2, text3, cliLine, timerLine); + QVERIFY( text1.text() == "john" ); + QVERIFY( text1.elideMode() == Qt::ElideRight ); + QVERIFY( text2.text() == "discon" ); + QVERIFY( text2.elideMode() == Qt::ElideRight ); + QVERIFY( text3.text() == "" ); + + // add secondary cli + header.setSecondaryCli( "12345", Qt::ElideLeft ); + BubbleUtils::setCallHeaderTexts3Lines(header, text1, text2, text3, cliLine, timerLine); + + QVERIFY( text1.text() == "john" ); + QVERIFY( text1.elideMode() == Qt::ElideRight ); QVERIFY( text2.text() == "12345" ); QVERIFY( text2.elideMode() == Qt::ElideLeft ); QVERIFY( text3.text() == "discon" ); @@ -551,182 +569,51 @@ QVERIFY(button.buttonType()==BubbleButton::RedButton); } -void ut_BubbleUtils::test_voiceCallStatusIcon() +void ut_BubbleUtils::test_setIndicators() { - HbIconItem icon; - icon.hide(); - - // test different voice call states - - BubbleUtils::setCallStatusIcon( - BubbleManagerIF::Incoming, BubbleManagerIF::Normal, icon); - QVERIFY(icon.iconName()=="voice_call_waiting_anim"); - QVERIFY(icon.isVisible()==true); - - BubbleUtils::setCallStatusIcon( - BubbleManagerIF::Waiting, BubbleManagerIF::Normal, icon); - QVERIFY(icon.iconName()=="voice_call_waiting_anim"); - - BubbleUtils::setCallStatusIcon( - BubbleManagerIF::Alerting, BubbleManagerIF::Normal, icon); - QVERIFY(icon.iconName()=="voice_call_waiting_anim"); - - BubbleUtils::setCallStatusIcon( - BubbleManagerIF::Active, BubbleManagerIF::Normal, icon); - QVERIFY(icon.iconName()=="qtg_large_active_call"); - - BubbleUtils::setCallStatusIcon( - BubbleManagerIF::Outgoing, BubbleManagerIF::Normal, icon); - QVERIFY(icon.iconName()=="qtg_large_active_call"); - - BubbleUtils::setCallStatusIcon( - BubbleManagerIF::OnHold, BubbleManagerIF::Normal, icon); - QVERIFY(icon.iconName()=="qtg_large_waiting_call"); - - BubbleUtils::setCallStatusIcon( - BubbleManagerIF::Disconnected, BubbleManagerIF::Normal, icon); - QVERIFY(icon.iconName()=="qtg_large_end_call"); - - BubbleUtils::setCallStatusIcon( - BubbleManagerIF::AlertToDisconnected, BubbleManagerIF::Normal, icon); - QVERIFY(icon.iconName()=="qtg_large_end_call"); + HbIconItem icon1; + icon1.hide(); + HbIconItem icon2; + icon2.hide(); - icon.hide(); - BubbleUtils::setCallStatusIcon( - BubbleManagerIF::None, BubbleManagerIF::Normal, icon); - QVERIFY(icon.iconName()==""); - QVERIFY(icon.isVisible()==false); -} - -void ut_BubbleUtils::test_videoCallStatusIcon() -{ - HbIconItem icon; - icon.hide(); - - // test different voice call states - - BubbleUtils::setCallStatusIcon( - BubbleManagerIF::Incoming, BubbleManagerIF::Video, icon); - QVERIFY(icon.iconName()=="video_call_waiting_anim"); - QVERIFY(icon.isVisible()==true); - - BubbleUtils::setCallStatusIcon( - BubbleManagerIF::Waiting, BubbleManagerIF::Video, icon); - QVERIFY(icon.iconName()=="video_call_waiting_anim"); + BubbleUtils::setIndicators( + BubbleManagerIF::Incoming, BubbleManagerIF::NoCiphering, icon1, icon2); + QVERIFY(icon1.iconName()=="qtg_mono_ciphering_off"); + QVERIFY(icon1.isVisible()==true); + QVERIFY(icon2.iconName()==""); + QVERIFY(icon2.isVisible()==false); - BubbleUtils::setCallStatusIcon( - BubbleManagerIF::Alerting, BubbleManagerIF::Video, icon); - QVERIFY(icon.iconName()=="video_call_waiting_anim"); - - BubbleUtils::setCallStatusIcon( - BubbleManagerIF::Active, BubbleManagerIF::Video, icon); - QVERIFY(icon.iconName()=="qtg_large_video_call_active"); - - BubbleUtils::setCallStatusIcon( - BubbleManagerIF::Outgoing, BubbleManagerIF::Video, icon); - QVERIFY(icon.iconName()=="qtg_large_video_call_active"); - - BubbleUtils::setCallStatusIcon( - BubbleManagerIF::OnHold, BubbleManagerIF::Video, icon); - QVERIFY(icon.iconName()=="qtg_large_video_call_waiting"); - - BubbleUtils::setCallStatusIcon( - BubbleManagerIF::Disconnected, BubbleManagerIF::Video, icon); - QVERIFY(icon.iconName()=="qtg_large_end_call"); - - BubbleUtils::setCallStatusIcon( - BubbleManagerIF::AlertToDisconnected, BubbleManagerIF::Video, icon); - QVERIFY(icon.iconName()=="qtg_large_end_call"); + BubbleUtils::setIndicators( + BubbleManagerIF::Incoming, BubbleManagerIF::Diverted, icon1, icon2); + QVERIFY(icon1.iconName()=="qtg_mono_call_diverted"); + QVERIFY(icon1.isVisible()==true); + QVERIFY(icon2.iconName()==""); + QVERIFY(icon2.isVisible()==false); - icon.hide(); - BubbleUtils::setCallStatusIcon( - BubbleManagerIF::None, BubbleManagerIF::Video, icon); - QVERIFY(icon.iconName()==""); - QVERIFY(icon.isVisible()==false); -} - -void ut_BubbleUtils::test_voipCallStatusIcon() -{ - HbIconItem icon; - icon.hide(); - - // test different voice call states - - BubbleUtils::setCallStatusIcon( - BubbleManagerIF::Incoming, BubbleManagerIF::VoIPCall, icon); - QVERIFY(icon.iconName()=="voip_call_waiting_anim"); - QVERIFY(icon.isVisible()==true); - - BubbleUtils::setCallStatusIcon( - BubbleManagerIF::Waiting, BubbleManagerIF::VoIPCall, icon); - QVERIFY(icon.iconName()=="voip_call_waiting_anim"); - - BubbleUtils::setCallStatusIcon( - BubbleManagerIF::Alerting, BubbleManagerIF::VoIPCall, icon); - QVERIFY(icon.iconName()=="voip_call_waiting_anim"); - - BubbleUtils::setCallStatusIcon( - BubbleManagerIF::Active, BubbleManagerIF::VoIPCall, icon); - QVERIFY(icon.iconName()=="qtg_large_voip_call_active"); - - BubbleUtils::setCallStatusIcon( - BubbleManagerIF::Outgoing, BubbleManagerIF::VoIPCall, icon); - QVERIFY(icon.iconName()=="qtg_large_voip_call_active"); - - BubbleUtils::setCallStatusIcon( - BubbleManagerIF::OnHold, BubbleManagerIF::VoIPCall, icon); - QVERIFY(icon.iconName()=="qtg_large_voip_call_waiting"); - - BubbleUtils::setCallStatusIcon( - BubbleManagerIF::Disconnected, BubbleManagerIF::VoIPCall, icon); - QVERIFY(icon.iconName()=="qtg_large_end_call"); + BubbleUtils::setIndicators( + BubbleManagerIF::Active, BubbleManagerIF::Diverted, icon1, icon2); + QVERIFY(icon1.iconName()==""); + QVERIFY(icon1.isVisible()==false); + QVERIFY(icon2.iconName()==""); + QVERIFY(icon2.isVisible()==false); - BubbleUtils::setCallStatusIcon( - BubbleManagerIF::AlertToDisconnected, BubbleManagerIF::VoIPCall, icon); - QVERIFY(icon.iconName()=="qtg_large_end_call"); - - icon.hide(); - BubbleUtils::setCallStatusIcon( - BubbleManagerIF::None, BubbleManagerIF::VoIPCall, icon); - QVERIFY(icon.iconName()==""); - QVERIFY(icon.isVisible()==false); -} - -void ut_BubbleUtils::test_numberTypeIcon() -{ - HbIconItem icon; - icon.hide(); - - BubbleUtils::setNumberTypeIcon( - BubbleManagerIF::Incoming, BubbleManagerIF::Diverted, icon); - QVERIFY(icon.iconName()=="qtg_mono_call_diverted"); - QVERIFY(icon.isVisible()==true); + int flags = 0; + flags |= BubbleManagerIF::NoCiphering; + flags |= BubbleManagerIF::Diverted; + BubbleUtils::setIndicators( + BubbleManagerIF::Incoming, flags, icon1, icon2); + QVERIFY(icon1.iconName()=="qtg_mono_ciphering_off"); + QVERIFY(icon1.isVisible()==true); + QVERIFY(icon2.iconName()=="qtg_mono_call_diverted"); + QVERIFY(icon2.isVisible()==true); - BubbleUtils::setNumberTypeIcon( - BubbleManagerIF::Waiting, BubbleManagerIF::Diverted, icon); - QVERIFY(icon.iconName()=="qtg_mono_call_diverted"); - QVERIFY(icon.isVisible()==true); - BubbleUtils::setNumberTypeIcon( - BubbleManagerIF::Incoming, BubbleManagerIF::Normal, icon); - QVERIFY(icon.iconName()==""); - QVERIFY(icon.isVisible()==false); -} - -void ut_BubbleUtils::test_cipheringIcon() -{ - HbIconItem icon; - icon.hide(); - - BubbleUtils::setCipheringIcon( - BubbleManagerIF::Incoming, BubbleManagerIF::NoCiphering, icon); - QVERIFY(icon.iconName()=="qtg_mono_ciphering_off"); - QVERIFY(icon.isVisible()==true); - - BubbleUtils::setCipheringIcon( - BubbleManagerIF::Incoming, BubbleManagerIF::Normal, icon); - QVERIFY(icon.iconName()==""); - QVERIFY(icon.isVisible()==false); + BubbleUtils::setIndicators( + BubbleManagerIF::Incoming, BubbleManagerIF::Normal, icon1, icon2); + QVERIFY(icon1.iconName()==""); + QVERIFY(icon1.isVisible()==false); + QVERIFY(icon2.iconName()==""); + QVERIFY(icon2.isVisible()==false); } BUBBLE_TEST_MAIN(ut_BubbleUtils)