Catchup to latest Symbian^4 GCC_SURGE
authorWilliam Roberts <williamr@symbian.org>
Thu, 22 Jul 2010 16:33:21 +0100
branchGCC_SURGE
changeset 51 f39ed5e045e0
parent 40 bab96b7ed1a4 (current diff)
parent 46 bc5a64e5bc3c (diff)
Catchup to latest Symbian^4
group/bld.inf
layers.sysdef.xml
phone.pro
phone_plat/3d_ringing_tone_enabler_api/inc/c3dringingtoneinterface.h
phone_plat/dialer_keypad_api/dialer_keypad_api.metaxml
phone_plat/dialer_keypad_api/group/bld.inf
phone_plat/dialer_keypad_api/inc/cvideodtmfdialer.h
phone_plat/group/bld.inf
phone_plat/phone_application_commands_api/group/bld.inf
phone_plat/phone_application_commands_api/inc/phoneappcommands.hrh
phone_plat/telephony_bubble_extension_api/group/bld.inf
phone_plat/telephony_bubble_extension_api/inc/telbubbleanim.h
phone_plat/telephony_bubble_extension_api/inc/telbubblecallimage.h
phone_plat/telephony_bubble_extension_api/inc/telbubblecustomelement.h
phone_plat/telephony_bubble_extension_api/inc/telbubbleextension.h
phone_plat/telephony_bubble_extension_api/inc/telbubbleextension.inl
phone_plat/telephony_bubble_extension_api/inc/telbubbleextensiondata.h
phone_plat/telephony_bubble_extension_api/inc/telbubbleextensioninterface.h
phone_plat/telephony_bubble_extension_api/inc/telbubbleextensionobserver.h
phone_plat/telephony_bubble_extension_api/inc/telbubbleimage.h
phone_plat/telephony_bubble_extension_api/inc/telbubblelabel.h
phone_plat/telephony_device_mode_api/group/bld.inf
phone_plat/telephony_information_api/inc/telinformationpskeys.h
phone_plat/telephony_mediator_api/inc/mediatoreventsfromtelephonyapi.h
phone_plat/telephony_menu_extension_api/group/bld.inf
phone_plat/tsrc/group/bld.inf
phoneapp/Blacklist/group/bld.inf
phoneapp/Blacklist/group/phoneanimdll.mmp
phoneapp/Blacklist/rom/PhoneAnimDll.iby
phoneapp/Blacklist/src/CPhoneAnimDll.cpp
phoneapp/Blacklist/src/CPhoneBlacklistAnim.cpp
phoneapp/group/bld.inf
phoneapp/phonemediatorcenter/group/phonemediatorcenter.mmp
phoneapp/phonemediatorcenter/inc/cphonedataportmessage.h
phoneapp/phonemediatorcenter/inc/cphonemediatorcommandlistener.h
phoneapp/phonemediatorcenter/inc/cphonemediatorfactory.h
phoneapp/phonemediatorcenter/inc/cphonemediatormessagefactory.h
phoneapp/phonemediatorcenter/inc/cphonemediatorsender.h
phoneapp/phonemediatorcenter/src/cphonecontinueemergencycallcommand.cpp
phoneapp/phonemediatorcenter/src/cphonedataportmessage.cpp
phoneapp/phonemediatorcenter/src/cphonemediatorcommandlistener.cpp
phoneapp/phonemediatorcenter/src/cphonemediatorfactory.cpp
phoneapp/phonemediatorcenter/src/cphonemediatormessagefactory.cpp
phoneapp/phonemediatorcenter/src/cphonemediatorsender.cpp
phoneapp/phonemediatorcenter/src/cphonereleasecommand.cpp
phoneapp/phonemediatorcenter/src/cphoneswitchtovideoorvoicecommand.cpp
phoneapp/phonemediatorcenter/src/cphoneterminateallconnectionscommand.cpp
phoneapp/phoneringingtoneplayer/src/cphoneringingtone.cpp
phoneapp/phoneringingtoneplayer/src/cphoneringingtoneplayer.cpp
phoneapp/phonestringloader/tsrc/ut_phonestringloader/ut_phonestringloader.pro
phoneapp/phoneui2/inc/phoneuihousehold_p.h
phoneapp/phoneui2/inc/phoneuikeyeventadapter.h
phoneapp/phoneui2/phoneui2.pro
phoneapp/phoneui2/phoneui2.qrc
phoneapp/phoneui2/rom/phoneui.iby
phoneapp/phoneui2/rom/phoneuiresources.iby
phoneapp/phoneui2/src/main.cpp
phoneapp/phoneui2/src/phoneuihousehold_p.cpp
phoneapp/phoneui2/src/phoneuikeyeventadapter.cpp
phoneapp/phoneui2/themes/icons/hbdefault/scalable/qtg_mono_call.svg
phoneapp/phoneui2/themes/icons/hbdefault/scalable/qtg_mono_contacts.svg
phoneapp/phoneui2/themes/icons/hbdefault/scalable/qtg_mono_dialer.svg
phoneapp/phoneui2/themes/icons/hbdefault/scalable/qtg_mono_drop_call.svg
phoneapp/phoneui2/themes/icons/hbdefault/scalable/qtg_mono_end_call.svg
phoneapp/phoneui2/themes/icons/hbdefault/scalable/qtg_mono_hold_call.svg
phoneapp/phoneui2/themes/icons/hbdefault/scalable/qtg_mono_join_call.svg
phoneapp/phoneui2/themes/icons/hbdefault/scalable/qtg_mono_mic_mute.svg
phoneapp/phoneui2/themes/icons/hbdefault/scalable/qtg_mono_mic_unmute.svg
phoneapp/phoneui2/themes/icons/hbdefault/scalable/qtg_mono_mobile.svg
phoneapp/phoneui2/themes/icons/hbdefault/scalable/qtg_mono_private_call.svg
phoneapp/phoneui2/themes/icons/hbdefault/scalable/qtg_mono_reject_call.svg
phoneapp/phoneui2/themes/icons/hbdefault/scalable/qtg_mono_replace_call.svg
phoneapp/phoneui2/themes/icons/hbdefault/scalable/qtg_mono_send.svg
phoneapp/phoneui2/themes/icons/hbdefault/scalable/qtg_mono_speaker.svg
phoneapp/phoneui2/themes/icons/hbdefault/scalable/qtg_mono_speaker_off.svg
phoneapp/phoneui2/themes/icons/hbdefault/scalable/qtg_mono_swap.svg
phoneapp/phoneui2/tsrc/ut_phoneuikeyeventadapter/cphoneuicontroller_stub.cpp
phoneapp/phoneui2/tsrc/ut_phoneuikeyeventadapter/cphoneuicontroller_stub.h
phoneapp/phoneui2/tsrc/ut_phoneuikeyeventadapter/unit_tests.cpp
phoneapp/phoneuicontrol/bwins/phoneuicontrolu.def
phoneapp/phoneuicontrol/eabi/phoneuicontrolu.def
phoneapp/phoneuicontrol/group/phoneuicontrol.mmp
phoneapp/phoneuicontrol/inc/cphonecallheadermanager.h
phoneapp/phoneuicontrol/inc/cphonekeyeventforwarder.h
phoneapp/phoneuicontrol/inc/cphoneremotecontrolhandler.h
phoneapp/phoneuicontrol/inc/cphonestate.h
phoneapp/phoneuicontrol/inc/cphonestatehandle.h
phoneapp/phoneuicontrol/inc/cphonestateidle.h
phoneapp/phoneuicontrol/inc/cphonestateincall.h
phoneapp/phoneuicontrol/inc/cphonestateincoming.h
phoneapp/phoneuicontrol/inc/cphonestatestartup.h
phoneapp/phoneuicontrol/inc/cphoneuicontroller.h
phoneapp/phoneuicontrol/inc/mphonedivertif.h
phoneapp/phoneuicontrol/inc/mphoneuistatemachinefactory.h
phoneapp/phoneuicontrol/inc/tphonecallheaderparam.h
phoneapp/phoneuicontrol/src/cphonebtaadisconnecthandler.cpp
phoneapp/phoneuicontrol/src/cphonecallheadermanager.cpp
phoneapp/phoneuicontrol/src/cphonecbamanager.cpp
phoneapp/phoneuicontrol/src/cphonedtmfwaitchartimer.cpp
phoneapp/phoneuicontrol/src/cphonekeyeventforwarder.cpp
phoneapp/phoneuicontrol/src/cphonenumberentrymanager.cpp
phoneapp/phoneuicontrol/src/cphonereconnectquery.cpp
phoneapp/phoneuicontrol/src/cphonestate.cpp
phoneapp/phoneuicontrol/src/cphonestatecallsetup.cpp
phoneapp/phoneuicontrol/src/cphonestatehandle.cpp
phoneapp/phoneuicontrol/src/cphonestateidle.cpp
phoneapp/phoneuicontrol/src/cphonestateincall.cpp
phoneapp/phoneuicontrol/src/cphonestateincoming.cpp
phoneapp/phoneuicontrol/src/cphonestatemachine.cpp
phoneapp/phoneuicontrol/src/cphonestatestartup.cpp
phoneapp/phoneuicontrol/src/cphoneuicontroller.cpp
phoneapp/phoneuicontrol/src/tphonecallheaderparam.cpp
phoneapp/phoneuiqtviewadapter/bwins/phoneuiqtviewadapteru.def
phoneapp/phoneuiqtviewadapter/eabi/phoneuiqtviewadapteru.def
phoneapp/phoneuiqtviewadapter/inc/mphonebuttoncustomization.h
phoneapp/phoneuiqtviewadapter/inc/phonebubblewrapper.h
phoneapp/phoneuiqtviewadapter/inc/phoneindicatorcontroller.h
phoneapp/phoneuiqtviewadapter/inc/phonenotecontroller.h
phoneapp/phoneuiqtviewadapter/inc/phoneuiqtbuttonscontroller.h
phoneapp/phoneuiqtviewadapter/inc/phoneuiqtviewadapter.h
phoneapp/phoneuiqtviewadapter/inc/phoneviewcommanddefinitions.h
phoneapp/phoneuiqtviewadapter/phoneuiqtviewadapter.pri
phoneapp/phoneuiqtviewadapter/phoneuiqtviewadapter.pro
phoneapp/phoneuiqtviewadapter/src/phonebubblewrapper.cpp
phoneapp/phoneuiqtviewadapter/src/phonecommandextensionwrapper.cpp
phoneapp/phoneuiqtviewadapter/src/phoneindicatorcontroller.cpp
phoneapp/phoneuiqtviewadapter/src/phonenotecontroller.cpp
phoneapp/phoneuiqtviewadapter/src/phoneresourceadapter.cpp
phoneapp/phoneuiqtviewadapter/src/phoneuicommandcontroller.cpp
phoneapp/phoneuiqtviewadapter/src/phoneuiqtviewadapter.cpp
phoneapp/phoneuiqtviewadapter/src/telephonyservice.cpp
phoneapp/phoneuiqtviewadapter/tsrc/ut_phonebubblewrapper/unit_tests.cpp
phoneapp/phoneuiqtviewadapter/tsrc/ut_phonecommandextensionwrapper/menuextension_stub.h
phoneapp/phoneuiqtviewadapter/tsrc/ut_phonenotecontroller/unit_tests.cpp
phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneresourceadapter/unit_tests.cpp
phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneuiqtviewadapter/cphonemediatorsender_stub.cpp
phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneuiqtviewadapter/phonebubblewrapper.h
phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneuiqtviewadapter/phonebubblewrapper_stub.cpp
phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneuiqtviewadapter/unit_tests.cpp
phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneuiqtviewadapter/ut_phoneuiqtviewadapter.pro
phoneapp/phoneuiqtviewadapter/tsrc/ut_telephonyservice/phoneuiqtviewadapter_stub.cpp
phoneapp/phoneuistates/group/phoneuistates.mmp
phoneapp/phoneuistates/inc/cphoneconference.h
phoneapp/phoneuistates/inc/cphoneconferenceandwaiting.h
phoneapp/phoneuistates/inc/cphoneconferenceandwaitingandcallsetup.h
phoneapp/phoneuistates/inc/cphoneemergency.h
phoneapp/phoneuistates/inc/cphoneerrormessageshandler.h
phoneapp/phoneuistates/inc/cphonegeneralgsmmessageshandler.h
phoneapp/phoneuistates/inc/cphonegsmincall.h
phoneapp/phoneuistates/inc/cphoneresourceresolvergsm.h
phoneapp/phoneuistates/inc/cphonesingleandwaiting.h
phoneapp/phoneuistates/inc/cphonesinglecall.h
phoneapp/phoneuistates/inc/cphonestatemachinegsm.h
phoneapp/phoneuistates/inc/cphonetwosinglesandwaiting.h
phoneapp/phoneuistates/inc/cphoneuistatemachinefactorygsm.h
phoneapp/phoneuistates/src/cphonealerting.cpp
phoneapp/phoneuistates/src/cphonecallsetup.cpp
phoneapp/phoneuistates/src/cphonecallsetupandwaiting.cpp
phoneapp/phoneuistates/src/cphoneconference.cpp
phoneapp/phoneuistates/src/cphoneconferenceandcallsetup.cpp
phoneapp/phoneuistates/src/cphoneconferenceandsingle.cpp
phoneapp/phoneuistates/src/cphoneconferenceandsingleandwaiting.cpp
phoneapp/phoneuistates/src/cphoneconferenceandwaiting.cpp
phoneapp/phoneuistates/src/cphoneconferenceandwaitingandcallsetup.cpp
phoneapp/phoneuistates/src/cphoneemergency.cpp
phoneapp/phoneuistates/src/cphonegsmincall.cpp
phoneapp/phoneuistates/src/cphoneidle.cpp
phoneapp/phoneuistates/src/cphoneincoming.cpp
phoneapp/phoneuistates/src/cphoneresourceresolvergsm.cpp
phoneapp/phoneuistates/src/cphonesingleandalerting.cpp
phoneapp/phoneuistates/src/cphonesingleandcallsetup.cpp
phoneapp/phoneuistates/src/cphonesingleandcallsetupandwaiting.cpp
phoneapp/phoneuistates/src/cphonesingleandwaiting.cpp
phoneapp/phoneuistates/src/cphonesinglecall.cpp
phoneapp/phoneuistates/src/cphonestartup.cpp
phoneapp/phoneuistates/src/cphonestatemachinegsm.cpp
phoneapp/phoneuistates/src/cphonetwosingles.cpp
phoneapp/phoneuistates/src/cphonetwosinglesandwaiting.cpp
phoneapp/phoneuistates/src/cphoneuistatemachinefactorygsm.cpp
phoneapp/phoneuiutils/bwins/phoneuiutilsu.def
phoneapp/phoneuiutils/eabi/phoneuiutilsu.def
phoneapp/phoneuiutils/group/phoneuiutils.mmp
phoneapp/phoneuiutils/inc/cphonecenrepproxy.h
phoneapp/phoneuiutils/inc/cphoneclearblacklist.h
phoneapp/phoneuiutils/inc/cphonekeys.h
phoneapp/phoneuiutils/inc/cphonelangsettingmonitor.h
phoneapp/phoneuiutils/inc/cphonelogger.h
phoneapp/phoneuiutils/inc/cphoneqwertyhandler.h
phoneapp/phoneuiutils/inc/cphoneqwertymodemonitor.h
phoneapp/phoneuiutils/inc/cphonerecoverysystem.h
phoneapp/phoneuiutils/inc/cphoneresourceresolverbase.h
phoneapp/phoneuiutils/inc/ctelerecoverysystem.inl
phoneapp/phoneuiutils/inc/phoneconstants.h
phoneapp/phoneuiutils/inc/phonelogger.h
phoneapp/phoneuiutils/inc/phoneloggerviewcommands.h
phoneapp/phoneuiutils/inc/phonemediatorpackagetypes.h
phoneapp/phoneuiutils/inc/phonerssbase.h
phoneapp/phoneuiutils/inc/phonestatestrings.h
phoneapp/phoneuiutils/inc/phonestatestringsgsm.h
phoneapp/phoneuiutils/inc/tphonecmdparamcallheaderdata.h
phoneapp/phoneuiutils/inc/tphonecmdparamglobalnote.h
phoneapp/phoneuiutils/inc/tphonecmdparamincallindicatordata.h
phoneapp/phoneuiutils/inc/tphonecmdparamquery.h
phoneapp/phoneuiutils/inc/tphonecmdparamspeeddial.h
phoneapp/phoneuiutils/src/cphoneLogger.cpp
phoneapp/phoneuiutils/src/cphonecallthememonitor.cpp
phoneapp/phoneuiutils/src/cphonecenrepeventhandler.cpp
phoneapp/phoneuiutils/src/cphonecenrepproxy.cpp
phoneapp/phoneuiutils/src/cphoneclearblacklist.cpp
phoneapp/phoneuiutils/src/cphonelangsettingmonitor.cpp
phoneapp/phoneuiutils/src/cphonemainerrormessageshandler.cpp
phoneapp/phoneuiutils/src/cphonemainresourceresolver.cpp
phoneapp/phoneuiutils/src/cphonepubsubproxy.cpp
phoneapp/phoneuiutils/src/cphoneqwertyhandler.cpp
phoneapp/phoneuiutils/src/cphoneqwertymodemonitor.cpp
phoneapp/phoneuiutils/src/cphonerecoverysystem.cpp
phoneapp/phoneuiutils/src/cphoneresourceresolverbase.cpp
phoneapp/phoneuiutils/src/ctelerecoverysystem.cpp
phoneapp/phoneuiutils/src/ctelewaitingidle.cpp
phoneapp/phoneuiutils/src/phoneloggerviewcommands.cpp
phoneapp/phoneuiutils/src/phonestatestrings.cpp
phoneapp/phoneuiutils/src/phonestatestringsgsm.cpp
phoneapp/phoneuiutils/src/tphonecmdparamcallheaderdata.cpp
phoneapp/phoneuiutils/src/tphonecmdparamglobalnote.cpp
phoneapp/phoneuiutils/src/tphonecmdparamkeycapture.cpp
phoneapp/phoneuiutils/src/tphonecmdparammessageeditor.cpp
phoneapp/phoneuiutils/src/tphonecmdparamnote.cpp
phoneapp/phoneuiutils/src/tphonecmdparamprogressnote.cpp
phoneapp/phoneuiutils/src/tphonecmdparamquery.cpp
phoneapp/phoneuiutils/src/tphonecmdparamreconnectquery.cpp
phoneapp/phoneuiutils/src/tphonecmdparamsingleitemfetch.cpp
phoneapp/phoneuiutils/src/tphonecmdparamspeeddial.cpp
phoneapp/phoneuiutils/src/tphonecmdparamstring.cpp
phoneapp/phoneuiutils/src/tphonecommandparam.cpp
phoneapp/phoneuiutils/src/tphonetouchbuttonconfig.cpp
phoneapp/phoneuiview2/bwins/phoneuiqtviewu.def
phoneapp/phoneuiview2/eabi/phoneuiqtviewu.def
phoneapp/phoneuiview2/inc/phoneuiqtview.h
phoneapp/phoneuiview2/phoneuiview2.pro
phoneapp/phoneuiview2/src/phoneuiqtview.cpp
phoneapp/phoneuiview2/tsrc/ut_phoneuiqtview/hbtoolbar.cpp
phoneapp/phoneuiview2/tsrc/ut_phoneuiqtview/hbvolumesliderpopup.cpp
phoneapp/phoneuiview2/tsrc/ut_phoneuiqtview/hbvolumesliderpopup.h
phoneapp/phoneuiview2/tsrc/ut_phoneuiqtview/qsysteminfo.cpp
phoneapp/phoneuiview2/tsrc/ut_phoneuiqtview/unit_tests.cpp
phoneapp/phoneuiview2/tsrc/ut_phoneuiqtview/ut_phoneuiqtview.pro
phoneapp/phoneuivoipextension/group/phoneuivoipextension.mmp
phoneapp/phoneuivoipextension/inc/cphonecustomizationvoip.h
phoneapp/phoneuivoipextension/inc/cphoneextensionhandler.h
phoneapp/phoneuivoipextension/inc/cphoneresourceresolvervoip.h
phoneapp/phoneuivoipextension/inc/cphoneuistatemachinefactoryvoip.h
phoneapp/phoneuivoipextension/inc/cphonevcchandler.h
phoneapp/phoneuivoipextension/inc/cphonevoiperrormessageshandler.h
phoneapp/phoneuivoipextension/inc/tphonetouchpanewrapper.h
phoneapp/phoneuivoipextension/src/cphonecallforwardqueryhandler.cpp
phoneapp/phoneuivoipextension/src/cphonecustomizationvoip.cpp
phoneapp/phoneuivoipextension/src/cphoneextensionhandler.cpp
phoneapp/phoneuivoipextension/src/cphoneresourceresolvervoip.cpp
phoneapp/phoneuivoipextension/src/cphonestatealertingvoip.cpp
phoneapp/phoneuivoipextension/src/cphonestatecallsetupvoip.cpp
phoneapp/phoneuivoipextension/src/cphonestateidlevoip.cpp
phoneapp/phoneuivoipextension/src/cphonestateincomingvoip.cpp
phoneapp/phoneuivoipextension/src/cphonestatemachinevoip.cpp
phoneapp/phoneuivoipextension/src/cphonestatesinglevoip.cpp
phoneapp/phoneuivoipextension/src/cphonestateutilsvoip.cpp
phoneapp/phoneuivoipextension/src/cphonetransferdialercontroller.cpp
phoneapp/phoneuivoipextension/src/cphoneuistatemachinefactoryvoip.cpp
phoneapp/phoneuivoipextension/src/cphonevcchandler.cpp
phoneapp/phoneuivoipextension/src/cphonevoiperrormessageshandler.cpp
phoneapp/phoneuivoipextension/src/tphonecmdparamselector.cpp
phoneapp/phoneuivoipextension/src/tphonetouchpanewrapper.cpp
phoneapp/phoneuivoipextension/srcdata/phoneuivoip.rss
phoneapp/silenceactionplugin/group/bld.inf
phoneapp/silenceactionplugin/inc/silenceaction.h
phoneapp/silenceactionplugin/inc/silenceactionplugin.h
phoneapp/silenceactionplugin/rom/silenceactionplugin.iby
phoneapp/silenceactionplugin/src/silenceaction.cpp
phoneapp/silenceactionplugin/src/silenceactionplugin.cpp
phoneengine/audiohandling/bwins/audiohandlingu.def
phoneengine/audiohandling/data/defaultbeep.rss
phoneengine/audiohandling/eabi/audiohandlingu.def
phoneengine/audiohandling/group/audiohandling.mmp
phoneengine/audiohandling/inc/audiodataproxy.h
phoneengine/audiohandling/inc/cpeaudiodata.h
phoneengine/audiohandling/inc/cpeaudiodtmftoneplayer.h
phoneengine/audiohandling/inc/cpeaudiofactory.h
phoneengine/audiohandling/inc/cpeaudioinbandtoneplayer.h
phoneengine/audiohandling/inc/cpegsmaudiodata.h
phoneengine/audiohandling/inc/defaultbeep.rh
phoneengine/audiohandling/src/cpeaudiodata.cpp
phoneengine/audiohandling/src/cpeaudiodtmftoneplayer.cpp
phoneengine/audiohandling/src/cpeaudiofactory.cpp
phoneengine/audiohandling/src/cpeaudioinbandtoneplayer.cpp
phoneengine/audiohandling/src/cpeaudioroutingmonitor.cpp
phoneengine/audiohandling/src/cpecallaudioroutinghandler.cpp
phoneengine/audiohandling/src/cpegsmaudiodata.cpp
phoneengine/callhandling/group/callhandling.mmp
phoneengine/callhandling/inc/cpecallhandling.h
phoneengine/callhandling/inc/cpeconferencecall.h
phoneengine/callhandling/inc/cpegprstermination.h
phoneengine/callhandling/inc/cpesinglecall.h
phoneengine/callhandling/inc/cpesinglecallobserver.h
phoneengine/callhandling/inc/cpesupplementaryservicesmonitor.h
phoneengine/callhandling/inc/mpecallhandling.h
phoneengine/callhandling/src/cpecallhandling.cpp
phoneengine/callhandling/src/cpeconferencecall.cpp
phoneengine/callhandling/src/cpegprstermination.cpp
phoneengine/callhandling/src/cpesinglecall.cpp
phoneengine/callhandling/src/cpesinglecallobserver.cpp
phoneengine/callhandling/src/cpesupplementaryservicesmonitor.cpp
phoneengine/callhandling/src/cpevideocallhandling.cpp
phoneengine/contacthandling2/src/cpecontactmatch.cpp
phoneengine/contacthandling2/tsrc/run_auto_tests.bat
phoneengine/engineinfo/group/engineinfo.mmp
phoneengine/engineinfo/inc/cpeengineinfoimpl.h
phoneengine/engineinfo/inc/cperemoteinfo.h
phoneengine/engineinfo/inc/mpedatastore.h
phoneengine/engineinfo/inc/mpeengineinfo.h
phoneengine/engineinfo/src/cpeengineinfoimpl.cpp
phoneengine/engineinfo/src/cperemoteinfo.cpp
phoneengine/group/bld.inf
phoneengine/loghandling/group/loghandling.mmp
phoneengine/loghandling/src/cpelogevent.cpp
phoneengine/loghandling/src/cpelogexternaldata.cpp
phoneengine/loghandling/src/cpeloghandling.cpp
phoneengine/loghandling/src/cpeloginfo.cpp
phoneengine/loghandling/tsrc/run_auto_tests.bat
phoneengine/networkhandlingstarter/src/main.cpp
phoneengine/networkhandlingstarter/src/networkhandlingstarter_p.cpp
phoneengine/parserrecognizer/bwins/parserrecognizeru.def
phoneengine/parserrecognizer/eabi/parserrecognizeru.def
phoneengine/parserrecognizer/inc/parserrecognizer.h
phoneengine/parserrecognizer/parserrecognizer.pri
phoneengine/parserrecognizer/parserrecognizer.pro
phoneengine/parserrecognizer/src/parserrecognizer.cpp
phoneengine/parserrecognizer/tsrc/README.txt
phoneengine/parserrecognizer/tsrc/runtests.bat
phoneengine/parserrecognizer/tsrc/unit.pro
phoneengine/parserrecognizer/tsrc/ut_parserrecognizer/README.txt
phoneengine/parserrecognizer/tsrc/ut_parserrecognizer/unit_tests.cpp
phoneengine/parserrecognizer/tsrc/ut_parserrecognizer/ut_parserrecognizer.pro
phoneengine/parserrecognizer/tsrc/ut_parserrecognizer/xqservicerequest.h
phoneengine/phonecntfinder2/rom/phonecntfinder.iby
phoneengine/phonecntfinder2/src/cphcntcontactidimpl2.cpp
phoneengine/phonecntfinder2/src/cphcntfactoryimpl2.cpp
phoneengine/phonecntfinder2/src/cphcntmatch2.cpp
phoneengine/phonecntfinder2/src/cphcntmatcherimpl2.cpp
phoneengine/phonemodel/api_headers.pri
phoneengine/phonemodel/conf/s60telephony.confml
phoneengine/phonemodel/inc/cpeactivestarter.h
phoneengine/phonemodel/inc/cpecalldurationdisplaysettingmonitor.h
phoneengine/phonemodel/inc/cpecenrepmonitor.h
phoneengine/phonemodel/inc/cpeclientcallrequestmonitor.h
phoneengine/phonemodel/inc/cpeclientcommandhandlermonitor.h
phoneengine/phonemodel/inc/cpeclientemergencycallmonitor.h
phoneengine/phonemodel/inc/cpeclientservices.h
phoneengine/phonemodel/inc/cpedevicemodehandler.h
phoneengine/phonemodel/inc/cpeexternaldatahandler.h
phoneengine/phonemodel/inc/cpeidlestatusmonitor.h
phoneengine/phonemodel/inc/cpemanualcallcontrolhandler.h
phoneengine/phonemodel/inc/cpemessagehandler.h
phoneengine/phonemodel/inc/cpeparseremergencynumberhandler.h
phoneengine/phonemodel/inc/cpeparsermanufacturerhandler.h
phoneengine/phonemodel/inc/cpeparsermischandler.h
phoneengine/phonemodel/inc/cpeparserphonenumberhandler.h
phoneengine/phonemodel/inc/cpeparsersimcontrolhandler.h
phoneengine/phonemodel/inc/cpeparsersscallhandler.h
phoneengine/phonemodel/inc/cpeparsersshandler.h
phoneengine/phonemodel/inc/cpeparservoipnumberhandler.h
phoneengine/phonemodel/inc/cpepcnparserprocedurehandler.h
phoneengine/phonemodel/inc/cpephonemodel.h
phoneengine/phonemodel/inc/cpepubsubmonitor.h
phoneengine/phonemodel/inc/cpesettingscommand.h
phoneengine/phonemodel/inc/cpesimstatemonitor.h
phoneengine/phonemodel/inc/mpeexternaldatahandler.h
phoneengine/phonemodel/inc/mpekeysequencerecognitionif.h
phoneengine/phonemodel/inc/pevirtualengine.h
phoneengine/phonemodel/inc/telephonyvariant.hrh
phoneengine/phonemodel/inc/telinternalpskeys.h
phoneengine/phonemodel/phonemodel.pro
phoneengine/phonemodel/rom/phonengengine.iby
phoneengine/phonemodel/src/cpeaccessorymodemonitor.cpp
phoneengine/phonemodel/src/cpeactivestarter.cpp
phoneengine/phonemodel/src/cpecalldurationdisplaysettingmonitor.cpp
phoneengine/phonemodel/src/cpecenrepmonitor.cpp
phoneengine/phonemodel/src/cpeclientcallrequestmonitor.cpp
phoneengine/phonemodel/src/cpeclientcommandhandlermonitor.cpp
phoneengine/phonemodel/src/cpeclientemergencycallmonitor.cpp
phoneengine/phonemodel/src/cpeclientservices.cpp
phoneengine/phonemodel/src/cpedevicemodehandler.cpp
phoneengine/phonemodel/src/cpeexternaldatahandler.cpp
phoneengine/phonemodel/src/cpeidlestatusmonitor.cpp
phoneengine/phonemodel/src/cpemanualcallcontrolhandler.cpp
phoneengine/phonemodel/src/cpemessagehandler.cpp
phoneengine/phonemodel/src/cpenetworkregistrationstatusmonitor.cpp
phoneengine/phonemodel/src/cpeparsermanufacturerhandler.cpp
phoneengine/phonemodel/src/cpeparserphonenumberhandler.cpp
phoneengine/phonemodel/src/cpeparsersimcontrolhandler.cpp
phoneengine/phonemodel/src/cpeparsersshandler.cpp
phoneengine/phonemodel/src/cpeparservoipnumberhandler.cpp
phoneengine/phonemodel/src/cpepcnparserprocedurehandler.cpp
phoneengine/phonemodel/src/cpephonemodel.cpp
phoneengine/phonemodel/src/cpeprofilesettingmonitor.cpp
phoneengine/phonemodel/src/cpesettingscommand.cpp
phoneengine/phonemodel/src/cpesimstatemonitor.cpp
phoneengine/phoneservices/bwins/phoneservicesu.def
phoneengine/phoneservices/eabi/phoneservicesu.def
phoneengine/phoneservices/inc/dialservice.h
phoneengine/phoneservices/inc/dtmfservice.h
phoneengine/phoneservices/inc/keysequencerecognitionservice.h
phoneengine/phoneservices/inc/keysequencerecognitionservicedepricated.h
phoneengine/phoneservices/inc/phoneservices.h
phoneengine/phoneservices/phoneservices.pri
phoneengine/phoneservices/phoneservices.pro
phoneengine/phoneservices/src/dialservice.cpp
phoneengine/phoneservices/src/dtmfservice.cpp
phoneengine/phoneservices/src/keysequencerecognitionservice.cpp
phoneengine/phoneservices/src/keysequencerecognitionservicedepricated.cpp
phoneengine/phoneservices/src/phoneservices.cpp
phoneengine/phoneservices/tsrc/runtests.bat
phoneengine/phoneservices/tsrc/unit.pro
phoneengine/phoneservices/tsrc/ut_dialservice/unit_tests.cpp
phoneengine/phoneservices/tsrc/ut_dtmfservice/unit_tests.cpp
phoneengine/phoneservices/tsrc/ut_keysequencerecognitionservice/unit_tests.cpp
phoneengine/phoneservices/tsrc/ut_keysequencerecognitionservice/ut_keysequencerecognitionservice.pro
phoneengine/phoneservices/tsrc/ut_phoneservices/unit_tests.cpp
phoneengine/phoneservices/tsrc/ut_phoneservices/ut_phoneservices.pro
phoneengine/servicehandling/eabi/peservicehandlingu.def
phoneengine/servicehandling/group/peservicehandling.mmp
phoneengine/servicehandling/inc/cpeservicehandling.h
phoneengine/servicehandling/inc/mpeservicehandling.h
phoneengine/servicehandling/src/cpeservicehandling.cpp
phoneplugins/csplugin/data/102828e3.rss
phoneplugins/csplugin/group/csplugin.mmp
phoneplugins/csplugin/inc/cspaudiohandler.h
phoneplugins/csplugin/src/cspaudiohandler.cpp
phoneplugins/csplugin/src/cspcall.cpp
phoneplugins/group/bld.inf
phoneplugins/hsdialerwidgetplugin/hsdialerwidgetplugin.pri
phoneplugins/hsdialerwidgetplugin/hsdialerwidgetplugin.pro
phoneplugins/hsdialerwidgetplugin/hsdialerwidgetpluging.qrc
phoneplugins/hsdialerwidgetplugin/inc/hsdialerwidget.h
phoneplugins/hsdialerwidgetplugin/inc/hsdialerwidgetplugin.h
phoneplugins/hsdialerwidgetplugin/resource/hsdialerwidgetplugin.manifest
phoneplugins/hsdialerwidgetplugin/resource/hsdialerwidgetplugin.s60xml
phoneplugins/hsdialerwidgetplugin/resource/hsdialerwidgetplugin.xml
phoneplugins/hsdialerwidgetplugin/resource/qtg_fr_shortcut_badge_bg_c.png
phoneplugins/hsdialerwidgetplugin/resource/qtg_fr_shortcut_badge_bg_l.png
phoneplugins/hsdialerwidgetplugin/resource/qtg_fr_shortcut_badge_bg_r.png
phoneplugins/hsdialerwidgetplugin/resource/qtg_graf_hs_dialer.svg
phoneplugins/hsdialerwidgetplugin/resource/qtg_graf_hs_dialer_pressed.svg
phoneplugins/hsdialerwidgetplugin/rom/hsdialerwidgetplugin.iby
phoneplugins/hsdialerwidgetplugin/src/hsdialerwidget.cpp
phoneplugins/hsdialerwidgetplugin/src/hsdialerwidgetplugin.cpp
phoneplugins/infowidgetplugin/infowidgetprovider/inc/infowidgetlogging.h
phoneplugins/infowidgetplugin/infowidgetprovider/inc/infowidgetprovider.h
phoneplugins/infowidgetplugin/infowidgetprovider/infowidget/inc/infowidget.h
phoneplugins/infowidgetplugin/infowidgetprovider/infowidget/inc/infowidgetengine.h
phoneplugins/infowidgetplugin/infowidgetprovider/infowidget/inc/infowidgetlayoutmanager.h
phoneplugins/infowidgetplugin/infowidgetprovider/infowidget/inc/infowidgetlinehandler.h
phoneplugins/infowidgetplugin/infowidgetprovider/infowidget/inc/infowidgetnetworkhandler.h
phoneplugins/infowidgetplugin/infowidgetprovider/infowidget/inc/infowidgetpreferences.h
phoneplugins/infowidgetplugin/infowidgetprovider/infowidget/inc/infowidgetsathandler.h
phoneplugins/infowidgetplugin/infowidgetprovider/infowidget/inc/infowidgetsathandlerprivate.h
phoneplugins/infowidgetplugin/infowidgetprovider/infowidget/src/infowidget.cpp
phoneplugins/infowidgetplugin/infowidgetprovider/infowidget/src/infowidgetengine.cpp
phoneplugins/infowidgetplugin/infowidgetprovider/infowidget/src/infowidgetengine_s.cpp
phoneplugins/infowidgetplugin/infowidgetprovider/infowidget/src/infowidgetlayoutmanager.cpp
phoneplugins/infowidgetplugin/infowidgetprovider/infowidget/src/infowidgetlinehandler.cpp
phoneplugins/infowidgetplugin/infowidgetprovider/infowidget/src/infowidgetnetworkhandler.cpp
phoneplugins/infowidgetplugin/infowidgetprovider/infowidget/src/infowidgetpreferences.cpp
phoneplugins/infowidgetplugin/infowidgetprovider/infowidget/src/infowidgetpreferences_s.cpp
phoneplugins/infowidgetplugin/infowidgetprovider/infowidget/src/infowidgetsathandler.cpp
phoneplugins/infowidgetplugin/infowidgetprovider/infowidget/src/infowidgetsathandlerprivate.cpp
phoneplugins/infowidgetplugin/infowidgetprovider/infowidgetprovider.pri
phoneplugins/infowidgetplugin/infowidgetprovider/infowidgetprovider.pro
phoneplugins/infowidgetplugin/infowidgetprovider/infowidgetprovider.qrc
phoneplugins/infowidgetplugin/infowidgetprovider/infowidgetprovider_hw.pkg
phoneplugins/infowidgetplugin/infowidgetprovider/infowidgetprovider_installs_win32.pri
phoneplugins/infowidgetplugin/infowidgetprovider/resource/infowidget.docml
phoneplugins/infowidgetplugin/infowidgetprovider/resource/infowidget.png
phoneplugins/infowidgetplugin/infowidgetprovider/resource/infowidgetprovider.manifest
phoneplugins/infowidgetplugin/infowidgetprovider/resource/infowidgetprovider.s60xml
phoneplugins/infowidgetplugin/infowidgetprovider/resource/infowidgetprovider.xml
phoneplugins/infowidgetplugin/infowidgetprovider/resource/qgn_prop_network_2g.svg
phoneplugins/infowidgetplugin/infowidgetprovider/resource/qgn_prop_pb_call.svg
phoneplugins/infowidgetplugin/infowidgetprovider/resource/qgn_prop_pb_sim.svg
phoneplugins/infowidgetplugin/infowidgetprovider/resource/qgn_stat_zone_home_uni.svg
phoneplugins/infowidgetplugin/infowidgetprovider/rom/infowidgetprovider.iby
phoneplugins/infowidgetplugin/infowidgetprovider/rom/infowidgetprovider_resources.iby
phoneplugins/infowidgetplugin/infowidgetprovider/src/infowidgetprovider.cpp
phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/common/qtestmains60.h
phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/mocks/mock_RSatSession.cpp
phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/mocks/mock_hbcolorscheme.cpp
phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/mocks/mock_hbdocumentloader.cpp
phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/mocks/mock_hbframedrawer.cpp
phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/mocks/mock_hblabel.cpp
phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/mocks/mock_hbmarqueeitem.cpp
phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/mocks/mock_hbstyle.cpp
phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/mocks/mock_hbstyleoptionlabel.cpp
phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/mocks/mock_hbwidget.cpp
phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/mocks/mock_infowidget.cpp
phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/mocks/mock_infowidgetengine.cpp
phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/mocks/mock_infowidgetlayoutmanager.cpp
phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/mocks/mock_infowidgetnetworkhandler.cpp
phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/mocks/mock_infowidgetpreferences.cpp
phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/mocks/mock_infowidgetsathandler.cpp
phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/mocks/mock_infowidgetsathandlerprivate.cpp
phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/mocks/mock_networkhandlingproxy.cpp
phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/mocks/mock_qgraphicslayout.cpp
phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/mocks/mock_qgraphicslinearlayout.cpp
phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/mocks/mock_qserviceinterfacedescriptor.cpp
phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/mocks/mock_qserviceplugininterface.cpp
phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/mocks/mock_rsatservice.cpp
phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/mocks/mock_xqsettingskey.cpp
phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/mocks/mock_xqsettingsmanager.cpp
phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/run_auto_tests_qt.bat
phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/ut_infowidget/inc/ut_infowidget.h
phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/ut_infowidget/run_auto_tests_qt.bat
phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/ut_infowidget/src/ut_infowidget.cpp
phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/ut_infowidget/ut_infowidget.pro
phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/ut_infowidgetengine/inc/ut_infowidgetengine.h
phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/ut_infowidgetengine/run_auto_tests_qt.bat
phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/ut_infowidgetengine/src/ut_infowidgetengine.cpp
phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/ut_infowidgetengine/ut_infowidgetengine.pro
phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/ut_infowidgetlayoutmanager/inc/ut_infowidgetlayoutmanager.h
phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/ut_infowidgetlayoutmanager/run_auto_tests_qt.bat
phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/ut_infowidgetlayoutmanager/src/ut_infowidgetlayoutmanager.cpp
phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/ut_infowidgetlayoutmanager/ut_infowidgetlayoutmanager.pro
phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/ut_infowidgetlinehandler/inc/ut_infowidgetlinehandler.h
phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/ut_infowidgetlinehandler/run_auto_tests_qt.bat
phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/ut_infowidgetlinehandler/src/ut_infowidgetlinehandler.cpp
phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/ut_infowidgetlinehandler/ut_infowidgetlinehandler.pro
phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/ut_infowidgetnetworkhandler/inc/ut_infowidgetnetworkhandler.h
phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/ut_infowidgetnetworkhandler/run_auto_tests_qt.bat
phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/ut_infowidgetnetworkhandler/src/ut_infowidgetnetworkhandler.cpp
phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/ut_infowidgetnetworkhandler/ut_infowidgetnetworkhandler.pro
phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/ut_infowidgetpreferences/inc/ut_infowidgetpreferences.h
phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/ut_infowidgetpreferences/run_auto_tests_qt.bat
phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/ut_infowidgetpreferences/src/ut_infowidgetpreferences.cpp
phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/ut_infowidgetpreferences/ut_infowidgetpreferences.pro
phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/ut_infowidgetprovider/inc/ut_infowidgetprovider.h
phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/ut_infowidgetprovider/run_auto_tests_qt.bat
phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/ut_infowidgetprovider/src/ut_infowidgetprovider.cpp
phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/ut_infowidgetprovider/ut_infowidgetprovider.pro
phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/ut_infowidgetsathandler/inc/ut_infowidgetsathandler.h
phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/ut_infowidgetsathandler/run_auto_tests_qt.bat
phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/ut_infowidgetsathandler/src/ut_infowidgetsathandler.cpp
phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/ut_infowidgetsathandler/ut_infowidgetsathandler.pro
phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/ut_infowidgetsathandlerprivate/inc/ut_infowidgetsathandlerprivate.h
phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/ut_infowidgetsathandlerprivate/run_auto_tests_qt.bat
phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/ut_infowidgetsathandlerprivate/src/ut_infowidgetsathandlerprivate.cpp
phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/ut_infowidgetsathandlerprivate/ut_infowidgetsathandlerprivate.pro
phoneplugins/infowidgetplugin/infowidgetproviderinstaller/infowidgetproviderinstaller.cpp
phoneplugins/infowidgetplugin/infowidgetproviderinstaller/infowidgetproviderinstaller.pro
phoneplugins/infowidgetplugin/infowidgetproviderinstaller/rom/infowidgetproviderinstaller.iby
phoneplugins/phoneindicatorplugin/inc/phoneindicators.h
phoneplugins/phoneindicatorplugin/src/phoneindicatorinterface.cpp
phonesettings/cpphonesettingsplugins/barringplugin/barringplugin.pro
phonesettings/cpphonesettingsplugins/barringplugin/inc/cpbarringplugin.h
phonesettings/cpphonesettingsplugins/barringplugin/inc/cpbarringplugingroup.h
phonesettings/cpphonesettingsplugins/barringplugin/src/cpbarringplugin.cpp
phonesettings/cpphonesettingsplugins/barringplugin/src/cpbarringplugingroup.cpp
phonesettings/cpphonesettingsplugins/barringplugin/tsrc/run_auto_tests_qt.bat
phonesettings/cpphonesettingsplugins/barringplugin/tsrc/ut_barringplugingroup/ut_barringplugingroup.cpp
phonesettings/cpphonesettingsplugins/barringplugin/tsrc/ut_barringplugingroup/ut_barringplugingroup.h
phonesettings/cpphonesettingsplugins/barringplugin/tsrc/ut_barringplugingroup/ut_barringplugingroup.pro
phonesettings/cpphonesettingsplugins/barringplugin/tsrc/ut_cpbarringplugin/ut_cpbarringplugin.cpp
phonesettings/cpphonesettingsplugins/bwins/cptelephonyutilsu.def
phonesettings/cpphonesettingsplugins/callsplugin/src/cpcallsplugin.cpp
phonesettings/cpphonesettingsplugins/callsplugin/src/cpcallsplugin.h
phonesettings/cpphonesettingsplugins/callsplugin/src/cpcallsplugingroup.cpp
phonesettings/cpphonesettingsplugins/callsplugin/src/cpcallsplugingroup.h
phonesettings/cpphonesettingsplugins/callsplugin/tsrc/run_auto_tests_qt.bat
phonesettings/cpphonesettingsplugins/callsplugin/tsrc/ut_callsplugin/ut_callsplugin.cpp
phonesettings/cpphonesettingsplugins/callsplugin/tsrc/ut_callsplugingroup/ut_callsplugingroup.cpp
phonesettings/cpphonesettingsplugins/cpnetworkplugin/cpnetworkplugin.pri
phonesettings/cpphonesettingsplugins/cpnetworkplugin/cpnetworkplugin.pro
phonesettings/cpphonesettingsplugins/cpnetworkplugin/src/cpnetworkplugin.cpp
phonesettings/cpphonesettingsplugins/cpnetworkplugin/src/cpnetworkplugin.h
phonesettings/cpphonesettingsplugins/cpnetworkplugin/src/cpnetworkpluginform.cpp
phonesettings/cpphonesettingsplugins/cpnetworkplugin/src/cpnetworkpluginform.h
phonesettings/cpphonesettingsplugins/cpnetworkplugin/src/cpnetworkpluginview.cpp
phonesettings/cpphonesettingsplugins/cpnetworkplugin/src/cpnetworkpluginview.h
phonesettings/cpphonesettingsplugins/cpnetworkplugin/tsrc/run_auto_tests_qt.bat
phonesettings/cpphonesettingsplugins/cpnetworkplugin/tsrc/ut_cpnetworkplugin/ut_cpnetworkplugin.cpp
phonesettings/cpphonesettingsplugins/cpnetworkplugin/tsrc/ut_cpnetworkplugin/ut_cpnetworkplugin.pro
phonesettings/cpphonesettingsplugins/cpnetworkplugin/tsrc/ut_cpnetworkpluginform/ut_cpnetworkpluginform.pro
phonesettings/cpphonesettingsplugins/cpnetworkplugin/tsrc/ut_cpnetworkpluginform/ut_networkpluginform.cpp
phonesettings/cpphonesettingsplugins/cpnetworkplugin/tsrc/ut_cpnetworkpluginform/ut_networkpluginform.h
phonesettings/cpphonesettingsplugins/cpnetworkplugin/tsrc/ut_cpnetworkpluginview/ut_cpnetworkpluginview.cpp
phonesettings/cpphonesettingsplugins/cpnetworkplugin/tsrc/ut_cpnetworkpluginview/ut_cpnetworkpluginview.pro
phonesettings/cpphonesettingsplugins/cpphonesettingsplugins.pro
phonesettings/cpphonesettingsplugins/cptelephonyutils/cptelephonyutils.pro
phonesettings/cpphonesettingsplugins/cptelephonyutils/inc/cpphonenotes.h
phonesettings/cpphonesettingsplugins/cptelephonyutils/inc/cpplugincommon.h
phonesettings/cpphonesettingsplugins/cptelephonyutils/inc/cppluginlogging.h
phonesettings/cpphonesettingsplugins/cptelephonyutils/src/cpphonenotes.cpp
phonesettings/cpphonesettingsplugins/cptelephonyutils/src/cpplugincommon.cpp
phonesettings/cpphonesettingsplugins/cptelephonyutils/src/cpplugincommon_s.cpp
phonesettings/cpphonesettingsplugins/cptelephonyutils/tsrc/run_auto_tests_qt.bat
phonesettings/cpphonesettingsplugins/cptelephonyutils/tsrc/ut_cpphonenotes/qtestmains60ui.h
phonesettings/cpphonesettingsplugins/cptelephonyutils/tsrc/ut_cpphonenotes/ut_cpphonenotes.cpp
phonesettings/cpphonesettingsplugins/cptelephonyutils/tsrc/ut_cpphonenotes/ut_cpphonenotes.h
phonesettings/cpphonesettingsplugins/cptelephonyutils/tsrc/ut_cpplugincommon/ut_cpplugincommon.cpp
phonesettings/cpphonesettingsplugins/cptelephonyutils/tsrc/ut_cpplugincommon/ut_cpplugincommon.h
phonesettings/cpphonesettingsplugins/divertplugin/src/cpdivertitemdata.cpp
phonesettings/cpphonesettingsplugins/divertplugin/src/cpdivertitemdata.h
phonesettings/cpphonesettingsplugins/divertplugin/src/cpdivertplugin.cpp
phonesettings/cpphonesettingsplugins/divertplugin/src/cpdivertplugin.h
phonesettings/cpphonesettingsplugins/divertplugin/src/cpdivertplugingroup.cpp
phonesettings/cpphonesettingsplugins/divertplugin/src/cpdivertplugingroup.h
phonesettings/cpphonesettingsplugins/divertplugin/src/cpdivertselectioncustomitem.cpp
phonesettings/cpphonesettingsplugins/divertplugin/src/cpdivertselectioncustomitem.h
phonesettings/cpphonesettingsplugins/divertplugin/src/cpdivertselectionitem.cpp
phonesettings/cpphonesettingsplugins/divertplugin/src/cpdivertselectionitem.h
phonesettings/cpphonesettingsplugins/divertplugin/tsrc/run_auto_tests_qt.bat
phonesettings/cpphonesettingsplugins/divertplugin/tsrc/ut_cpdivertplugin/qtestmains60ui.h
phonesettings/cpphonesettingsplugins/divertplugin/tsrc/ut_cpdivertplugin/ut_cpdivertplugin.cpp
phonesettings/cpphonesettingsplugins/divertplugin/tsrc/ut_cpdivertselectionitem/qtestmains60ui.h
phonesettings/cpphonesettingsplugins/divertplugin/tsrc/ut_cpdivertselectionitem/ut_cpdivertselectionitem.cpp
phonesettings/cpphonesettingsplugins/divertplugin/tsrc/ut_cpdivertselectionitem/ut_cpdivertselectionitem.h
phonesettings/cpphonesettingsplugins/divertplugin/tsrc/ut_cpdivertselectionitem/ut_cpdivertselectionitem.pro
phonesettings/cpphonesettingsplugins/eabi/cptelephonyutilsu.def
phonesettings/cpphonesettingsplugins/telephonyplugin/src/cptelephonyplugin.cpp
phonesettings/cpphonesettingsplugins/telephonyplugin/src/cptelephonyplugin.h
phonesettings/cpphonesettingsplugins/telephonyplugin/src/cptelephonypluginview.cpp
phonesettings/cpphonesettingsplugins/telephonyplugin/src/cptelephonypluginview.h
phonesettings/cpphonesettingsplugins/telephonyplugin/tsrc/run_auto_tests_qt.bat
phonesettings/cpphonesettingsplugins/telephonyplugin/tsrc/ut_cptelephonyplugin/qtestmains60ui.h
phonesettings/cpphonesettingsplugins/telephonyplugin/tsrc/ut_cptelephonyplugin/ut_cptelephonyplugin.cpp
phonesettings/cpphonesettingsplugins/telephonyplugin/tsrc/ut_cptelephonyplugin/ut_cptelephonyplugin.pro
phonesettings/cpphonesettingsplugins/telephonyplugin/tsrc/ut_cptelephonypluginview/qtestmains60ui.h
phonesettings/cpphonesettingsplugins/telephonyplugin/tsrc/ut_cptelephonypluginview/ut_cptelephonypluginview.cpp
phonesettings/cpphonesettingsplugins/telephonyplugin/tsrc/ut_cptelephonypluginview/ut_cptelephonypluginview.h
phonesettings/cpphonesettingsplugins/telephonyplugin/tsrc/ut_cptelephonypluginview/ut_cptelephonypluginview.pro
phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_cpbarringplugin.cpp
phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_cpbarringplugingroup.cpp
phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_cpbasesettingview.cpp
phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_cpcallsplugin.cpp
phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_cpcallsplugingroup.cpp
phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_cpdivertselectionitem.cpp
phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_cpnetworkplugin.cpp
phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_cpnetworkpluginform.cpp
phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_cpnetworkpluginview.cpp
phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_cpphonenotes.cpp
phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_cpplugincommon.cpp
phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_cptelephonypluginview.cpp
phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_hbabstractitemview.cpp
phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_hbicon.cpp
phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_hblabel.cpp
phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_hblistwidgetitem.cpp
phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_hbwidget.cpp
phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_hbwidgetbase.cpp
phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_psetcallbarringwrapper.cpp
phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_psetcalldivertingwrapper.cpp
phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_psetcalldivertingwrapper_p.cpp
phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_psetcallwaitingwrapper_p.cpp
phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_psetcliwrapper_p.cpp
phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_psetwrapper.cpp
phonesettings/cpphonesettingsplugins/tsrc/mocks/ut_mockintegrity.pro
phoneuis/TelephonyDeviceMode/group/TelephonyDeviceMode.mmp
phoneuis/TelephonyDeviceMode/group/bld.inf
phoneuis/TelephonyDeviceMode/inc/CTelDMAudioAccessoryListener.h
phoneuis/TelephonyDeviceMode/inc/CTelDMCallStateListener.h
phoneuis/TelephonyDeviceMode/inc/CTelDMCommandHandler.h
phoneuis/TelephonyDeviceMode/inc/CTelDMDebug.h
phoneuis/TelephonyDeviceMode/inc/CTelDMHandlerImpl.h
phoneuis/TelephonyDeviceMode/rom/telephonydevicemode.iby
phoneuis/TelephonyDeviceMode/src/CTelDMAudioAccessoryListener.cpp
phoneuis/TelephonyDeviceMode/src/CTelDMCallStateListener.cpp
phoneuis/TelephonyDeviceMode/src/CTelDMCommandHandler.cpp
phoneuis/TelephonyDeviceMode/src/CTelDMGripHandler.cpp
phoneuis/TelephonyDeviceMode/src/CTelDMHandlerImpl.cpp
phoneuis/bubblemanager2/bubblecore/bubblecore.pro
phoneuis/bubblemanager2/bubblecore/bubblecore.qrc
phoneuis/bubblemanager2/bubblecore/bwins/bubblecoreu.def
phoneuis/bubblemanager2/bubblecore/eabi/bubblecoreu.def
phoneuis/bubblemanager2/bubblecore/src/bubbleconferencehandler.cpp
phoneuis/bubblemanager2/bubblecore/src/bubbleconferencehandler.h
phoneuis/bubblemanager2/bubblecore/src/bubblecontainerwidget.cpp
phoneuis/bubblemanager2/bubblecore/src/bubblecontainerwidget.h
phoneuis/bubblemanager2/bubblecore/src/bubblecore.pri
phoneuis/bubblemanager2/bubblecore/src/bubbleexpandedhandler.cpp
phoneuis/bubblemanager2/bubblecore/src/bubbleexpandedhandler.h
phoneuis/bubblemanager2/bubblecore/src/bubblehandler.cpp
phoneuis/bubblemanager2/bubblecore/src/bubblehandler.h
phoneuis/bubblemanager2/bubblecore/src/bubbleheader.cpp
phoneuis/bubblemanager2/bubblecore/src/bubbleheader.h
phoneuis/bubblemanager2/bubblecore/src/bubbleheadingwidget.cpp
phoneuis/bubblemanager2/bubblecore/src/bubbleheadingwidget.h
phoneuis/bubblemanager2/bubblecore/src/bubbleimagewidget.cpp
phoneuis/bubblemanager2/bubblecore/src/bubbleimagewidget.h
phoneuis/bubblemanager2/bubblecore/src/bubblemanager2.cpp
phoneuis/bubblemanager2/bubblecore/src/bubbleparticipantlistitem.cpp
phoneuis/bubblemanager2/bubblecore/src/bubbleparticipantlistitem.h
phoneuis/bubblemanager2/bubblecore/src/bubbleparticipantlistmodel.cpp
phoneuis/bubblemanager2/bubblecore/src/bubbleparticipantlistmodel.h
phoneuis/bubblemanager2/bubblecore/src/bubbleutils.cpp
phoneuis/bubblemanager2/bubblecore/src/bubbleutils.h
phoneuis/bubblemanager2/bubblecore/src/bubblewidgetmanager.cpp
phoneuis/bubblemanager2/bubblecore/src/bubblewidgetmanager.h
phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_fr_btn_green_normal_b.svg
phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_fr_btn_green_normal_bl.svg
phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_fr_btn_green_normal_br.svg
phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_fr_btn_green_normal_c.svg
phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_fr_btn_green_normal_l.svg
phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_fr_btn_green_normal_r.svg
phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_fr_btn_green_normal_t.svg
phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_fr_btn_green_normal_tl.svg
phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_fr_btn_green_normal_tr.svg
phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_fr_btn_green_pressed_b.svg
phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_fr_btn_green_pressed_bl.svg
phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_fr_btn_green_pressed_br.svg
phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_fr_btn_green_pressed_c.svg
phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_fr_btn_green_pressed_l.svg
phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_fr_btn_green_pressed_r.svg
phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_fr_btn_green_pressed_t.svg
phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_fr_btn_green_pressed_tl.svg
phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_fr_btn_green_pressed_tr.svg
phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_fr_btn_red_normal_b.svg
phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_fr_btn_red_normal_bl.svg
phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_fr_btn_red_normal_br.svg
phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_fr_btn_red_normal_c.svg
phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_fr_btn_red_normal_l.svg
phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_fr_btn_red_normal_r.svg
phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_fr_btn_red_normal_t.svg
phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_fr_btn_red_normal_tl.svg
phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_fr_btn_red_normal_tr.svg
phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_fr_btn_red_pressed_b.svg
phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_fr_btn_red_pressed_bl.svg
phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_fr_btn_red_pressed_br.svg
phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_fr_btn_red_pressed_c.svg
phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_fr_btn_red_pressed_l.svg
phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_fr_btn_red_pressed_r.svg
phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_fr_btn_red_pressed_t.svg
phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_fr_btn_red_pressed_tl.svg
phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_fr_btn_red_pressed_tr.svg
phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_large_active_call.svg
phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_large_avatar.svg
phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_large_end_call.svg
phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_large_video_call_active.svg
phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_large_video_call_waiting.svg
phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_large_voip_call_active.svg
phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_large_voip_call_waiting.svg
phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_large_waiting_call.svg
phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_mono_call_diverted.svg
phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_mono_ciphering_off.svg
phoneuis/bubblemanager2/bubblecore/xml/bubble_layout_1.docml
phoneuis/bubblemanager2/bubblecore/xml/bubble_layout_2.docml
phoneuis/bubblemanager2/bubblecore/xml/bubble_layout_3.docml
phoneuis/bubblemanager2/bubblecore/xml/bubble_layout_4.docml
phoneuis/bubblemanager2/bubblemanager2.pro
phoneuis/bubblemanager2/inc/bubblemanager2.h
phoneuis/bubblemanager2/rom/bubblemanager.iby
phoneuis/bubblemanager2/tsrc/bubbletest2/bubbletest2.qrc
phoneuis/bubblemanager2/tsrc/bubbletest2/bubbletester.cpp
phoneuis/bubblemanager2/tsrc/bubbletest2/bubbletester.h
phoneuis/bubblemanager2/tsrc/bubbletest2/bubbletester/bubbledata.cpp
phoneuis/bubblemanager2/tsrc/bubbletest2/bubbletester/bubbledata.h
phoneuis/bubblemanager2/tsrc/bubbletest2/bubbletester/bubbletester.pro
phoneuis/bubblemanager2/tsrc/bubbletest2/bubbletester/bubbletester.qrc
phoneuis/bubblemanager2/tsrc/bubbletest2/bubbletester/main.cpp
phoneuis/bubblemanager2/tsrc/bubbletest2/bubbletester/mainwindow.cpp
phoneuis/bubblemanager2/tsrc/bubbletest2/bubbletester/mainwindow.h
phoneuis/bubblemanager2/tsrc/bubbletest2/bubbletester/mainwindow.ui
phoneuis/bubblemanager2/tsrc/bubbletest2/bubbletester/testdata.xml
phoneuis/bubblemanager2/tsrc/bubbletest2/bubbletestview.cpp
phoneuis/bubblemanager2/tsrc/bubbletest2/bubbletestview.h
phoneuis/bubblemanager2/tsrc/unit/mt_bubblemanager2/mt_bubblemanager2.cpp
phoneuis/bubblemanager2/tsrc/unit/runall.cmd
phoneuis/bubblemanager2/tsrc/unit/shared/bubbletest.h
phoneuis/bubblemanager2/tsrc/unit/unit.pro
phoneuis/bubblemanager2/tsrc/unit/ut_bubblecontainerwidget/ut_bubblecontainerwidget.cpp
phoneuis/bubblemanager2/tsrc/unit/ut_bubblecontainerwidget/ut_bubblecontainerwidget.pro
phoneuis/bubblemanager2/tsrc/unit/ut_bubbleheader/ut_bubbleheader.cpp
phoneuis/bubblemanager2/tsrc/unit/ut_bubbleheadingwidget/ut_bubbleheadingwidget.cpp
phoneuis/bubblemanager2/tsrc/unit/ut_bubbleheadingwidget/ut_bubbleheadingwidget.pro
phoneuis/bubblemanager2/tsrc/unit/ut_bubbleimagewidget/ut_bubbleimagewidget.cpp
phoneuis/bubblemanager2/tsrc/unit/ut_bubbleimagewidget/ut_bubbleimagewidget.pro
phoneuis/bubblemanager2/tsrc/unit/ut_bubbleparticipantlistitem/ut_bubbleparticipantlistitem.cpp
phoneuis/bubblemanager2/tsrc/unit/ut_bubbleparticipantlistitem/ut_bubbleparticipantlistitem.pro
phoneuis/bubblemanager2/tsrc/unit/ut_bubblepartlistmodel/ut_bubblepartlistmodel.cpp
phoneuis/bubblemanager2/tsrc/unit/ut_bubbleutils/ut_bubbleutils.cpp
phoneuis/bubblemanager2/tsrc/unit/ut_bubbleutils/ut_bubbleutils.pro
phoneuis/group/bld.inf
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/.hgignore	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,23 @@
+syntax: glob
+.make.cache
+Makefile
+Makefile*.mk
+.cproject
+.project
+moc_*.cpp
+qrc_*.cpp
+*.moc
+*.bak
+*.orig
+*_0*.mmp
+*template.pkg
+*.qtplugin
+plugin_commonU.def
+
+phoneapp/phoneui2/*.loc
+phoneapp/phoneui2/*.rss
+phoneapp/phoneui2/*.pkg
+phoneuis/bubblemanager2/*.pkg
+
+syntax: regexp
+^inc/.*
--- a/phone.pro	Tue Jun 15 14:14:38 2010 +0100
+++ b/phone.pro	Thu Jul 22 16:33:21 2010 +0100
@@ -22,7 +22,6 @@
 :BLD_INF_RULES.prj_mmpfiles += $$LITERAL_HASH"include \"group/bld.inf\""
 SUBDIRS += phoneengine/phonecntfinder2
 SUBDIRS += phoneengine/phoneservices
-SUBDIRS += phoneengine/parserrecognizer
 SUBDIRS += phoneengine/phonemodel
 SUBDIRS += phoneengine/networkhandlingstarter
 SUBDIRS += phoneuis/bubblemanager2
@@ -32,8 +31,7 @@
 SUBDIRS += phoneapp/phonestringloader
 SUBDIRS += phoneapp/phoneui2
 SUBDIRS += phonesettings/cpphonesettingsplugins
-SUBDIRS += phoneplugins/hsdialerwidgetplugin
+SUBDIRS += phoneplugins/dialerwidgetplugin
 SUBDIRS += phoneplugins/infowidgetplugin
-SUBDIRS += phoneuis/ussdeditor
 }
           
\ No newline at end of file
--- a/phone_plat/dialer_keypad_api/dialer_keypad_api.metaxml	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,19 +0,0 @@
-<?xml version="1.0" ?>
-<api id="56033367735ce0710ede9aa28d24a5f1" dataversion="1.0">
-<name>Dialer Keypad API</name>
-<description>CVideoDTMFDialer class provides dialer keypad functionalities.
-
-In Video Telephony dialer offers touch keypad for enter as DTMFs 
-and client's CCoeControl is used to show video and keypad. 
-Video DTMF dialer does not implement menu or command buttons, 
-only keypad which presses are forwarded to host application as key events.</description>
-<type>c++</type>
-<subsystem>phoneuis</subsystem>
-<libs><lib name="dialer.lib"/>
-</libs>
-<release category="domain" sinceversion="5.0"/>
-<attributes>
-<htmldocprovided>no</htmldocprovided>
-<adaptation>yes</adaptation>
-</attributes>
-</api>
--- a/phone_plat/dialer_keypad_api/group/bld.inf	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-/*
-* Copyright (c) 2006 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:  File that exports the files belonging to 
-:                Dialer keypad API
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-../inc/cvideodtmfdialer.h     APP_LAYER_PLATFORM_EXPORT_PATH(cvideodtmfdialer.h)
--- a/phone_plat/dialer_keypad_api/inc/cvideodtmfdialer.h	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,183 +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:  CVideoDTMFDialer class provides dialer keypad 
-*                functionalities
-*
-*/
-
-
-
-#ifndef CVIDEODTMFDIALER_H
-#define CVIDEODTMFDIALER_H
-
-//  INCLUDES
-#include <coecntrl.h>
-#include <coemain.h>
-// CONSTANTS
-
-// FORWARD DECLARATIONS
-class CDialerKeyPadContainer;
-class CDialerVideoContainer;
-class CEikonEnv;
-
-// CLASS DECLARATION
-
-/**
-*  CVideoDTMFDialer class.
-*
-*  @lib dialer.lib
-*  @since Series60_5.0
-*
-*  Description:
-*
-*   In Video Telephony dialer offers touch keypad for enter as DTMFs 
-*   and client's CCoeControl is used to show video and keypad. 
-*   Video DTMF dialer does not implement menu or command buttons, 
-*   only keypad which presses are forwarded to host application as key events.  
-*
-*   From host application dialer requires:
-*   - View/container as CCoeControl
-*   - App UI HandleCommand, DynInitMenuBar/Pane and CBA handling 
-*   - HandleKeyEventL to handle numbers/characters from touch pane input.
-*
-* 
-*  Usage:
-
-    // Create 'video window'.
-    CCoeControl* videoControl = new( ELeave ) CEikLabel;
-    videoControl->SetBufferReserveLengthL( 10 );
-    videoControl->SetTextL( _L("Video Here") ) ;
-
-    // Create dialer.
-    CVideoDTMFDialer* videoDialer = CVideoDTMFDialer::NewL( *this, *videoControl, aDialerArea );
-    // Delete dialer
-    delete dialer;
-    
-*
-*/
-NONSHARABLE_CLASS(CVideoDTMFDialer) : public CCoeControl
-    {
-    public:  // Constructors and destructor
-    
-        /**
-        * Two phase constructor
-        * @param aContainer Parent container
-        * @param aVideoWindow Control viewing video
-        * @param aRect Area to use for dialer
-        * @return New instance or Dialer
-        */
-        IMPORT_C static CVideoDTMFDialer* NewL( const CCoeControl& aContainer, 
-            CCoeControl& aVideoWindow,
-            const TRect& aRect );
-
-        /**
-        * Destructor.
-        */
-        IMPORT_C virtual ~CVideoDTMFDialer();
-
-    private:  // Functions from CCoeControl
-        
-        /**
-        * @see CCoeControl
-        */
-        void SizeChanged();
-        
-        /**
-        * @see CCoeControl
-        */
-        void PositionChanged();
-
-        /**
-        * @see CCoeControl
-        */
-        TInt CountComponentControls() const;
-        
-        /**
-        * @see CCoeControl
-        */
-        CCoeControl* ComponentControl( TInt aIndex ) const;
-        
-        /**
-        * @see CCoeControl
-        */
-        void Draw( const TRect& aRect ) const;
-
-        /**
-        * @see CCoeControl
-        */
-        void HandleResourceChange( TInt aType );
-        
-        /**
-        * @see CCoeControl
-        */
-        void HandlePointerEventL( const TPointerEvent& aPointerEvent );
-        
-    private:
-
-        /**
-        * Constructor
-        */
-        CVideoDTMFDialer( );
-
-        /**
-        * 2nd phase constructor.
-        * @param aContainer Parent container
-        * @param aVideoWindow Control containing the video
-        * @param aRect area to use for dialer
-        */
-        void ConstructL( const CCoeControl& aContainer , 
-            CCoeControl& aVideoWindow,
-            const TRect& aRect );
-        
-        /**
-        * Load resource file.
-        */
-        void LoadResourceL();
-        
-        /**
-        * Unload resource file.
-        */
-        void UnLoadResources();
- 
-        /**
-        * @see CCoeControl::ComponentControl()
-        * @param aIndex control index
-        */
-        CCoeControl* ComponentControlForVideoMode( const TInt aIndex ) const;
-        
-    private:    // Data
-           
-        // Keypad container  - owned
-        CDialerKeyPadContainer* iKeypadArea;
-        
-        // Video container - owned
-        CDialerVideoContainer* iVideoWindow;
-        
-        // Parent container
-        const CCoeControl* iParentControl;
-
-        // Reference to CEikonEnv
-        CEikonEnv& iEikEnv;
-        
-        // Resource 
-        TInt iResourceOffset;
-        
-        // For future use.        
-        TBool* iReserved1;
-        TBool* iReserved2;
-    };
-
-#endif      // CVIDEODTMFDIALER_H
-
-// End of File
--- a/phone_plat/group/bld.inf	Tue Jun 15 14:14:38 2010 +0100
+++ b/phone_plat/group/bld.inf	Thu Jul 22 16:33:21 2010 +0100
@@ -25,8 +25,6 @@
 #include "../telephony_video_mailbox_settings_api/group/bld.inf"
 
 //#include "../telephony_configuration_api/group/bld.inf"
-//#include "../dialer_keypad_api/group/bld.inf"
-//#include "../telephony_bubble_extension_api/group/bld.inf"
 
 #include "../telephony_menu_extension_api/group/bld.inf"
 #include "../telephony_microphone_mute_status_api/group/bld.inf"
--- a/phone_plat/phone_application_commands_api/inc/phoneappcommands.hrh	Tue Jun 15 14:14:38 2010 +0100
+++ b/phone_plat/phone_application_commands_api/inc/phoneappcommands.hrh	Thu Jul 22 16:33:21 2010 +0100
@@ -73,7 +73,6 @@
     EPhoneNumberAcqCmdAddToName,
     EPhoneNumberAcqCmdCall,
     EPhoneNumberAcqCmdVideoCall,
-    EPhoneNumberAcqCmdSpeedDial,
     EPhoneNumberAcqCmdSendCommand,
     EPhoneNumberAcqCmdSendMessage,
     EPhoneNumberAcqCmdHashCheck,  // NOT IN MENU.
@@ -183,7 +182,6 @@
     // DTMF specific
     EPhoneCmdDtmfSearch,
     EPhoneCmdDtmfOk,
-    EPhoneCmdDtmfSpeedDialOk,
     EPhoneInCallCmdDtmfListViewSearch,    
     // other commands
     EPhoneCmdWaitNoteOk,
@@ -209,7 +207,6 @@
     EPhoneDialerCmdClear,  
     EPhoneDialerCallHandling,
     EPhoneDialerCmdTouchInput,
-    EPhoneDialerCmdSpeedDial,
     EPhoneDialerCmdEditText,
     EPhoneDialerCallSettings,   
     EPhoneDtmfDialerCancel, 
--- a/phone_plat/phone_application_commands_api/inc/xqphoneappcommands.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phone_plat/phone_application_commands_api/inc/xqphoneappcommands.h	Thu Jul 22 16:33:21 2010 +0100
@@ -37,7 +37,7 @@
     };
 
 //  PUSH BUTTON COMMANDS
-enum PhonePushButtonCommands
+enum PhoneButtonCommands
     {
     // Push button commands for incall
     PhoneInCallCmdJoinToConference = PhoneMenuCmdLast,
@@ -50,8 +50,18 @@
     PhoneInCallCmdEndOutgoingCall,
     PhoneInCallCmdReplace,
     PhoneInCallCmdSwap,
+    PhoneCallComingCmdSoftReject,
+    PhoneCallComingCmdSilent,
+    PhoneInCallCmdOpenDialer,
+    PhoneInCallCmdMute,
+    PhoneInCallCmdUnmute,
+    PhoneInCallCmdActivateIhf,
+    PhoneInCallCmdDeactivateIhf,
+    PhoneInCallCmdOpenContacts,
+    PhoneInCallCmdBtHandsfree,
+    PhoneInCallCmdHandset,
     
-    PhonePushButtonCmdLast
+    PhoneButtonCmdLast
     };
     
 #endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phone_plat/phone_application_commands_api/phone_application_commands_api.metaxml	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<api id="f8b5e8c2d5c658824216fea358937375" dataversion="2.0">
+  <name>phone_application_commands_api</name>
+  <description>List of phoneapp UI commands. This API is related to telephony_menu_extension_api.</description>
+  <type>c++</type>
+  <collection>phoneapp</collection>
+  <libs/>
+  <release category="platform" sinceversion="5.0"/>
+  <attributes>
+    <htmldocprovided>no</htmldocprovided>
+    <adaptation>no</adaptation>
+  </attributes>
+</api>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phone_plat/phone_application_voip_commands_api/phone_application_voip_commands_api.metaxml	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<api id="86ebac75a121d58fad9a44aafb0092a4" dataversion="2.0">
+  <name>phone_application_voip_commands_api</name>
+  <description>List of phoneapp VoIP related UI commands. This API is related to telephony_menu_extension_api.</description>
+  <type>c++</type>
+  <collection>phoneapp</collection>
+  <libs/>
+  <release category="platform" sinceversion="5.0"/>
+  <attributes>
+    <htmldocprovided>no</htmldocprovided>
+    <adaptation>no</adaptation>
+  </attributes>
+</api>
--- a/phone_plat/telephony_bubble_extension_api/group/bld.inf	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +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:  File that exports the files belonging to
-:                bubble extension API
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-../inc/telbubbleanim.h              APP_LAYER_PLATFORM_EXPORT_PATH(telbubbleanim.h)
-../inc/telbubblecustomelement.h     APP_LAYER_PLATFORM_EXPORT_PATH(telbubblecustomelement.h)
-../inc/telbubbleimage.h             APP_LAYER_PLATFORM_EXPORT_PATH(telbubbleimage.h)
-../inc/telbubblelabel.h             APP_LAYER_PLATFORM_EXPORT_PATH(telbubblelabel.h)
-../inc/telbubblecallimage.h         APP_LAYER_PLATFORM_EXPORT_PATH(telbubblecallimage.h)
-
-../inc/telbubbleextension.h     APP_LAYER_PLATFORM_EXPORT_PATH(telbubbleextension.h)
-../inc/telbubbleextension.inl     APP_LAYER_PLATFORM_EXPORT_PATH(telbubbleextension.inl)
-../inc/telbubbleextensionobserver.h     APP_LAYER_PLATFORM_EXPORT_PATH(telbubbleextensionobserver.h)
-../inc/telbubbleextensioninterface.h     APP_LAYER_PLATFORM_EXPORT_PATH(telbubbleextensioninterface.h)
-../inc/telbubbleextensiondata.h     APP_LAYER_PLATFORM_EXPORT_PATH(telbubbleextensiondata.h)
-
--- a/phone_plat/telephony_bubble_extension_api/inc/telbubbleanim.h	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,103 +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:  Extension control for window server animation.
-*
-*/
-
-
-
-#ifndef TELBUBBLEANIM_H
-#define TELBUBBLEANIM_H
-
-#include <coecntrl.h>
-
-class CAknBitmapAnimation;
-class CBitmapAnimClientData;
-class CEikImage;
-
-/**
- *  Extension control for window server animation.
- *
- *
- *  @lib BMCustomization.lib
- *  @since S60 v5.0
- */
-class CTelBubbleAnim : public CCoeControl
-    {
-public:
-    /**
-    * Two phased constructor.
-    * @param aFrameInterval Sets time between showed frames.
-    *                       Frames are played in cycle mode.
-    */
-    IMPORT_C static CTelBubbleAnim* NewL( TInt aFrameInterval );
-    
-    /** destructor */
-    IMPORT_C virtual ~CTelBubbleAnim();
-
-public:
-    /** Starts animation - this is called from BubbleManager */
-    IMPORT_C void StartAnimationL();
-    
-    /** Stop animation */
-    IMPORT_C void StopAnimation();
-    
-    /**
-     * Adds frame to animation.
-     * @param aFrame Frame to be added. Parameter is deleted before 
-     *               returning. Ownership of bitmaps transferred.
-     */
-    IMPORT_C void AddFrameToAnimationLD( CEikImage* aFrame ) const;
-
-    /**
-     * Adds frame to animation.
-     * @param aFrame Frame to be added. 
-     *               Ownership of bitmaps not transferred.
-     */
-    IMPORT_C void AddFrameToAnimationL( CEikImage& aFrame ) const;
-    
-    /**
-     * Resets animation. Also frame array is reseted.
-     */
-    IMPORT_C void Reset() const;
-
-protected: // from CCoeControl
-
-    /** returns 0 for animation */
-    IMPORT_C virtual TInt CountComponentControls() const;
-
-    /** set container window */
-    IMPORT_C virtual void SetContainerWindowL( 
-        const CCoeControl& aContainer );
-    
-    /** sets new size for animation */
-    IMPORT_C virtual void SizeChanged();
-
-    /** starts animation */
-    IMPORT_C virtual void Draw( const TRect& aRect ) const;
-    
-    /** handles animation visibility */
-    IMPORT_C virtual void MakeVisible( TBool aVisible );
-    
-protected:
-    IMPORT_C virtual void ConstructL( TInt aFrameInterval );
-    IMPORT_C CTelBubbleAnim();
-    
-protected:
-    CAknBitmapAnimation* iAnimation; // owned
-    };
-
-#endif // TELBUBBLEANIM_H
-
-// end of file
--- a/phone_plat/telephony_bubble_extension_api/inc/telbubblecallimage.h	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,124 +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:  Extension control for displaying call image.
-*
-*/
-
-
-#ifndef TELBUBBLECALLIMAGE_H
-#define TELBUBBLECALLIMAGE_H
-
-#include <coecntrl.h>
-
-class CFbsBitmap;
-
-/**
- *  Extension control for displaying call image.
- *
- *
- *  @lib BMCustomization.lib
- *  @since S60 v5.0
- */
-class CTelBubbleCallImage : public CCoeControl
-    {
-public:
-    /** Two phase constructor */
-    IMPORT_C static CTelBubbleCallImage* NewL();
-
-    /** destructor */
-    IMPORT_C virtual ~CTelBubbleCallImage();
-
-public:
-    /**
-     * Set call image. The bitmaps are set by Phone application,
-     * when it has created bitmaps from the call image.
-     * @param aImage Call image bitmap.
-     * @param aImageOwnership ETrue, if ownership is transferred.
-     * @param aMask  Mask bitmap when exists.
-     * @param aMaskOwnership  ETrue, if ownership is transferred.  
-     */
-    IMPORT_C void SetImage( CFbsBitmap* aImage, 
-                            TBool aImageOwnership = EFalse,
-                            CFbsBitmap* aMask = NULL,
-                            TBool aMaskOwnership = EFalse );
-    
-    /**
-     * Set image placing area. This is set by Phone application.
-     * @param aRect 
-     */
-    IMPORT_C void SetImagePlacingArea( TRect& aRect );
-    
-protected:    
-    /**
-     * Called when image is changed.
-     */
-    IMPORT_C virtual void ImageChanged();
-
-    /**
-     * Returns pointer to image bitmap.
-     */
-    IMPORT_C const CFbsBitmap* Image() const;
-
-    /**
-     * Returns pointer to mask bitmap.
-     */
-    IMPORT_C const CFbsBitmap* Mask() const;
-    
-    /**
-     * Returns ETrue if image covers this control entirely.
-     */
-    IMPORT_C TBool IsFullScreenImage() const;
-    
-    /**
-     * Returns offset centering image to this control.
-     * For non fullscreen images this offset is relative
-     * to image placing area.
-     */
-    IMPORT_C const TPoint& Offset() const;
-    
-    /**
-     * Returns source rect centering image to this control.
-     * For non-fullscreen images this offset is relative
-     * to image placing area.
-     */
-    IMPORT_C const TRect& SourceRect() const;
-    
-    /**
-     * Returns image placing area. Can be used to position
-     * non-fullscreen sized images. 
-     * @return Image placing area.
-     */
-    IMPORT_C const TRect& ImagePlacingArea() const;
-    
-protected: // from CCoeControl
-    IMPORT_C virtual void Draw( const TRect& /*aRect*/ ) const;
-    IMPORT_C virtual void SizeChanged();
-
-protected:
-    IMPORT_C virtual void ConstructL();
-    IMPORT_C CTelBubbleCallImage();
-    
-private:
-    TRect iSourceRect;
-    TPoint iOffset;
-    TRect iImagePlacingArea;
-    CFbsBitmap *iImage;
-    CFbsBitmap *iMask;
-    TBool iImageOwnership;
-    TBool iMaskOwnership;
-    };
-
-#endif // TELBUBBLECALLIMAGE_H
-
-// end of file
--- a/phone_plat/telephony_bubble_extension_api/inc/telbubblecustomelement.h	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,142 +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:  Wraps extension control and binds it to UI element. 
-*
-*/
-
-
-#ifndef TELBUBBLECUSTOMELEMENT_H
-#define TELBUBBLECUSTOMELEMENT_H
-
-#include <e32base.h>
-
-class CTelBubbleAnim;
-class CTelBubbleLabel;
-class CTelBubbleImage;
-class CCoeControl;
-class CTelBubbleCallImage;
-
-/**
- *  Wraps extension control and binds it to UI element. 
- *
- *
- *  @lib BMCustomization.lib
- *  @since S60 v5.0
- * 
- * 
- *  Usage:
- * 
- *    // Display custom icon in big call indicator position
- *    CTelBubbleImage* image = CTelBubbleImage::NewL();
- *    image->SetPicture( bitmap, mask );             
- *    CTelBubbleCustomElement* element =
- *         CTelBubbleCustomElement::NewL( 
- *              image, 
- *              CTelBubbleCustomElement::EBigCallIndicator );
- * 
- */
-NONSHARABLE_CLASS( CTelBubbleCustomElement ) : public CBase
-    {
-public:
-    // Customized UI element
-    enum TElementType
-        {
-        // Handset icon in initializing call states
-        EBigCallIndicator = 0,
-        // Number type icon ( ie. internet or video call )
-        ENumberTypeIcon,
-        // Handset icon
-        ESmallCallIndicator,
-        // Icon in call bubble (placeholder)
-        EBrandImage,
-        // Contact or default picture in main pane
-        ECallImage,
-        // Keep this last
-        ECustomElementCount
-        };
-        
-    // Custom control type
-    enum TControlType
-        {
-        // CTelBubbleImage based control
-        EBubbleImage,
-        // CTelBubbleAnim based control
-        EBubbleAnimation,
-        // CCoeControl based control
-        EBubbleControl,
-        // CTelBubbleLabel based control
-        EBubbleLabel,
-        // CTelBubbleCallImage based control
-        EBubbleCallImage
-        };
-    
-public:
-    /**
-    * Two phase constructor
-    * @param aControl Sets owned control, ownership is transferred
-    * @param aElement Sets place where control is shown
-    * @return New instance
-    */
-    IMPORT_C static CTelBubbleCustomElement* NewL( 
-        CCoeControl* aControl, TElementType aElement );
-    IMPORT_C static CTelBubbleCustomElement* NewL(
-        CTelBubbleAnim* aControl, TElementType aElement );
-    IMPORT_C static CTelBubbleCustomElement* NewL( 
-        CTelBubbleLabel* aControl, TElementType aElement );
-    IMPORT_C static CTelBubbleCustomElement* NewL(
-        CTelBubbleImage* aControl, TElementType aElement );
-    IMPORT_C static CTelBubbleCustomElement* NewL(
-        CTelBubbleCallImage* aControl, TElementType aElement );
-    
-    /** Destructor */
-    IMPORT_C virtual ~CTelBubbleCustomElement();
-    
-public:
-    /**
-     * Returns custom control.
-     */
-    IMPORT_C CCoeControl* Control() const;
-    
-    /**
-     * Returns control type.
-     */
-    IMPORT_C TControlType ControlType() const;
-    
-    /**
-     * Return constomized UI element.
-     */
-    IMPORT_C TElementType ElementType() const;
-    
-private:
-    // C++ constructors
-    CTelBubbleCustomElement( CCoeControl* aControl, 
-                             TElementType aElement );
-    CTelBubbleCustomElement( CTelBubbleAnim* aControl, 
-                             TElementType aElement );
-    CTelBubbleCustomElement( CTelBubbleLabel* aControl, 
-                             TElementType aElement );
-    CTelBubbleCustomElement( CTelBubbleImage* aControl, 
-                             TElementType aElement );
-    CTelBubbleCustomElement( CTelBubbleCallImage* aControl, 
-                             TElementType aElement );
-    
-private:
-    CCoeControl* iControl; // owned
-    TControlType iControlType;
-    TElementType iElementType;
-    };
-
-#endif // TELBUBBLECUSTOMELEMENT_H
-
-// end of file
--- a/phone_plat/telephony_bubble_extension_api/inc/telbubbleextension.h	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,92 +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:  Base class for extension plug-in.
-*
-*/
-
-
-#ifndef TELBUBBLEEXTENSION_H
-#define TELBUBBLEEXTENSION_H
-
-// INCLUDES
-#include <e32base.h>
-#include "telbubbleextensioninterface.h"
-
-// CONSTANTS
-// Constants used in ECOM implementation
-const TUid KTelBubbleExtensionInterfaceUid    = { 0x102078F6 };
-
-class MTelBubbleExtensionObserver;
-class MTelBubbleExtensionData;
-
-class CTelBubbleExtension : public CBase,
-                            public MTelBubbleExtensionInterface
-    {
-public:
-    /**
-    * Two phase constructor
-    *
-    * @leave Uses Leave code KErrNotFound if implementation is not found.
-    * @param aImplementationUid Implementation UID of the plugin to be
-    *        created.
-    */
-    static CTelBubbleExtension* NewL(
-        TUid aImplementationUid );
-
-    /** Destructor */
-    virtual inline ~CTelBubbleExtension();
-
-    /**
-     * Initialize plug-in. Called after NewL
-     * @param aBubbles Interface for bubbles
-     */
-    virtual void InitializeL( MTelBubbleExtensionObserver& aBubbles ) = 0;
-
-// from MTelBubbleExtensionInterface
-
-    /**
-     * Notifies that a new customizable bubble is available
-     *
-     * @param aCallData Reference to call data.
-     */
-    virtual void StartCustomizedBubble(
-            MTelBubbleExtensionData& aCallData ) = 0;
-
-    /**
-     * Notifies that a customizable bubble has been removed
-     *
-     * @param aCallData Reference to call data.
-     */
-    virtual void StopCustomizedBubble(
-            MTelBubbleExtensionData& aCallData ) = 0;
-
-    /**
-     * Indicates that currently bubble drawing is started.
-     * Customizing is preferred to be done during this call.
-     */
-    virtual void BubbleUpdating() = 0;
-
-private: // data
-
-    /**
-     * ECOM plugin instance UID.
-     */
-    TUid iDtor_ID_Key;
-    };
-
-#include "telbubbleextension.inl"
-
-#endif // TELBUBBLEEXTENSION_H
-
-// end of file
--- a/phone_plat/telephony_bubble_extension_api/inc/telbubbleextension.inl	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +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:  Inline functions for CTelBubbleExtension.
-*
-*/
-
-
-#include <ecom.h>
-
-// ============================ MEMBER FUNCTIONS ===============================
-// -----------------------------------------------------------------------------
-// Destructor.
-// -----------------------------------------------------------------------------
-//
-inline CTelBubbleExtension::~CTelBubbleExtension()
-    {
-    REComSession::DestroyedImplementation( iDtor_ID_Key );
-    }
-
-// -----------------------------------------------------------------------------
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-inline CTelBubbleExtension* CTelBubbleExtension::NewL(
-    TUid aImplementationUid )
-    {
-    TAny* ptr( NULL );
-    TInt32 keyOffset = _FOFF( CTelBubbleExtension, iDtor_ID_Key );
-    ptr = REComSession::CreateImplementationL(
-        aImplementationUid,
-        keyOffset );
-
-    CTelBubbleExtension* plugin =
-        reinterpret_cast <CTelBubbleExtension*> (ptr);
-    return plugin;
-    }
-
-//  End of File
--- a/phone_plat/telephony_bubble_extension_api/inc/telbubbleextensiondata.h	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,91 +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:  Interface for call data access.
-*
-*/
-
-
-#ifndef TELBUBBLEEXTENSIONDATA_H
-#define TELBUBBLEEXTENSIONDATA_H
-
-#include <e32base.h>
-
-class MTelBubbleExtensionData
-    {
-public:
-    // Specifies call types    
-    enum TCallType
-        {
-        EUninitialized = 0,
-        ECsVoice = 1,  // Circuit switched voice call
-        ECsVideo = 2, // Multimedia/Video call
-        EPsVoice = 3 // Voice over IP call
-        };
-        
-    // Specifies call states
-    enum TCallState
-        {
-        ENone           = 0, // Default on creation
-        EOnHold         = 1,
-        EDisconnected   = 2,
-        EActive         = 3,
-        EIncoming       = 4,
-        EWaiting        = 5,
-        EAlertToDisconnected = 6,
-        EOutgoing       = 7,
-        EAlerting       = 8,
-        };
-        
-public:
-
-    /**
-     * Bubble ID this call is connected to.
-     * @return Bubble ID.
-     */
-    virtual TInt BubbleId() const = 0;
-
-    /**
-     * Call state information.
-     * @return Call state.
-     */
-    virtual TCallState State() const = 0;
-    
-    /**
-     * Call type information
-     * @return Call type.
-     */
-    virtual TCallType Type() const = 0;
-    
-    /**
-     * Call service id
-     * @return Call service
-     */
-    virtual TUint32 ServiceId() const = 0;
-    
-    /**
-     * Contact Link related to this call.
-     * @return Reference to Contact Link
-     */
-    virtual const TDesC8& ContactLink() const = 0;
-    
-    /**
-     * Remote party number related to this call.
-     * @return Reference to remote party number.
-     */
-    virtual const TDesC& RemotePhoneNumber() const = 0;
-    };
-
-#endif // TELBUBBLEEXTENSIONDATA_H
-
-// end of file
--- a/phone_plat/telephony_bubble_extension_api/inc/telbubbleextensioninterface.h	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,71 +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:  Bubble extension interface.
-*
-*/
-
-
-#ifndef TELBUBBLEEXTENSIONINTERFACE_H
-#define TELBUBBLEEXTENSIONINTERFACE_H
-
-#include <e32base.h>
-
-class MTelBubbleExtensionData;
-
-class MTelBubbleExtensionInterface
-    {
-public:
-
-    /**
-     * Notifies that a new customizable bubble is available.
-     *
-     * This function is called when a new bubbleheader is created. Plugin
-     * should initiate a new customization instance inside this method and
-     * store the reference to the call data.
-     *
-     * @param aCallData Reference to call data.
-     */
-    virtual void StartCustomizedBubble(
-            MTelBubbleExtensionData& aCallData ) = 0;
-
-    /**
-     * Notifies that a customizable bubble has been removed
-     *
-     * This function is called when a bubbleheader is going to be deleted.
-     * Plugin should detach all customizations related to this call and
-     * delete the local datas related to this call.
-     *
-     * @param aCallData Reference to call data.
-     */
-    virtual void StopCustomizedBubble(
-            MTelBubbleExtensionData& aCallData ) = 0;
-
-    /**
-     * Indicates that currently bubble drawing is started.
-     * Customizing is preferred to be done during this call.
-     *
-     * This function is called when the call bubbles are being updated.
-     * The call datas are updated before this function is called. Plugin should
-     * check whether any of the calls are changed so that change to the
-     * customized element is needed and make the change. Doing the
-     * changes during this method will prevent excess flickering and
-     * redraws and therefore is suggested.
-     */
-    virtual void BubbleUpdating() = 0;
-
-    };
-
-#endif // TELBUBBLEEXTENSIONINTERFACE_H
-
-// end of file
--- a/phone_plat/telephony_bubble_extension_api/inc/telbubbleextensionobserver.h	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,75 +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:  Customization interface for plugins to use.
-*
-*/
-
-
-#ifndef TELBUBBLEEXTENSIONOBSERVER_H
-#define TELBUBBLEEXTENSIONOBSERVER_H
-
-#include <e32base.h>
-
-class CTelBubbleCustomElement;
-
-class MTelBubbleExtensionObserver
-    {
-public:
-    /**
-     * Call this before attach, detach and replace operations,
-     * when doing multipe changes outside BubbleUpdating() method. 
-     * UI is not redrawn until calling EndChanges() is called. 
-     */
-    virtual void StartChanges() = 0;
-    
-    /**
-     * Call this when all changes have been done and UI can be
-     * redrawn.
-     */
-    virtual void EndChanges() = 0;
-    
-    /**
-     * Attaches element to bubble. Causes redraw.
-     * @param aBubbleId Bubble id
-     * @param aElement Element to be attached, ownership is not transferred
-     */
-    virtual void AttachElement( 
-            TInt aBubbleId, 
-            CTelBubbleCustomElement* aElement ) = 0;
-    
-    /**
-     * Replaces element in bubble. Causes redraw.
-     * @param aBubbleId Bubble id
-     * @param aOld Element to be detached, ownership is not transferred
-     * @param aNew Element to be attached, ownership is not transferred
-     */
-    virtual void ReplaceElement( 
-            TInt aBubbleId, 
-            CTelBubbleCustomElement* aOld, 
-            CTelBubbleCustomElement* aNew ) = 0;
-    
-    /**
-     * Detaches element in bubble. Causes redraw.
-     * @param aBubbleId Bubble id
-     * @param aElement Element to be detached, ownership is not transferred
-     */
-    virtual void DetachElement( 
-            TInt aBubbleId, 
-            CTelBubbleCustomElement* aElement ) = 0;
-    
-    };
-
-#endif // TELBUBBLEEXTENSIONOBSERVER_H
-
-// end of file
--- a/phone_plat/telephony_bubble_extension_api/inc/telbubbleimage.h	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +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:  Extension control for displaying an icon (static image).
-*
-*/
-
-
-#ifndef TELBUBBLEIMAGE_H
-#define TELBUBBLEIMAGE_H
-
-#include <eikimage.h>
-
-/**
- *  Extension control for displaying an icon (static image).
- *
- *
- *  @lib BMCustomization.lib
- *  @since S60 v5.0
- */
-class CTelBubbleImage : public CEikImage
-    {
-public:
-    /** Two phase constructor */
-    IMPORT_C static CTelBubbleImage* NewL();
-
-    /** destructor */
-    IMPORT_C virtual ~CTelBubbleImage();
-
-protected: // from CCoeControl
-    IMPORT_C virtual void PositionChanged();
-    IMPORT_C virtual void SizeChanged();
-
-protected:
-    IMPORT_C virtual void ConstructL();
-    IMPORT_C CTelBubbleImage();
-    };
-
-#endif // TELBUBBLEIMAGE_H
-
-// end of file
--- a/phone_plat/telephony_bubble_extension_api/inc/telbubblelabel.h	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +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:  Extension control for displaying text.
-*
-*/
-
-
-#ifndef TELBUBBLELABEL_H
-#define TELBUBBLELABEL_H
-
-#include <eiklabel.h>
-
-/**
- *  Extension control for displaying text.
- *
- *
- *  @lib BMCustomization.lib
- *  @since S60 v5.0
- */
-class CTelBubbleLabel : public CEikLabel
-    {
-public:
-    };
-
-#endif // TELBUBBLELABEL_H
-
-// end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phone_plat/telephony_logging_extension_api/telephony_logging_extension_api.metaxml	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<api id="824866f4d6444f7c1413ddb7c446fff2" dataversion="2.0">
+  <name>telephony_logging_extension_api</name>
+  <description>This plug-in API enables manipulation of telephony event logging.</description>
+  <type>c++</type>
+  <collection>phoneengine</collection>
+  <libs/>
+  <release category="platform" sinceversion="5.0"/>
+  <attributes>
+    <htmldocprovided>no</htmldocprovided>
+    <adaptation>no</adaptation>
+  </attributes>
+</api>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phone_plat/telephony_matching_extension_api/telephony_matching_extension_api.metaxml	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<api id="97e5b7b32efc3e749f51b863ac60acc0" dataversion="2.0">
+  <name>telephony_matching_extension_api</name>
+  <description>This plug-in API enables manipulation of telephony contact matching.</description>
+  <type>c++</type>
+  <collection>phoneengine</collection>
+  <libs/>
+  <release category="platform" sinceversion="5.0"/>
+  <attributes>
+    <htmldocprovided>no</htmldocprovided>
+    <adaptation>no</adaptation>
+  </attributes>
+</api>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phone_plat/telephony_mediator_api/telephony_mediator_api.metaxml	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<api id="d195ea66b9998dedd678827e31db6bcd" dataversion="2.0">
+  <name>telephony_mediator_api</name>
+  <description>This mediator API can be used to: end calls, mute/unmute microphone and get call status information.</description>
+  <type>c++</type>
+  <collection>phoneapp</collection>
+  <libs/>
+  <release category="platform" sinceversion="5.0"/>
+  <attributes>
+    <htmldocprovided>no</htmldocprovided>
+    <adaptation>no</adaptation>
+  </attributes>
+</api>
--- a/phone_plat/telephony_menu_extension_api/inc/xqteluicommandextension.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phone_plat/telephony_menu_extension_api/inc/xqteluicommandextension.h	Thu Jul 22 16:33:21 2010 +0100
@@ -11,14 +11,14 @@
 *
 * Contributors:
 *
-* Description: Defines interface for manipulating telephony call menus.
+* Description: Defines interface for manipulating telephony call commands.
 *
 */
 
 #ifndef XQTELUICOMMANDEXTENSION_H
 #define XQTELUICOMMANDEXTENSION_H
 
-#include <qobject>
+#include <QObject>
 #include <hbaction.h>
 
 
@@ -30,7 +30,7 @@
 
 /*!
     XQTelUiCommandExtension
-    Defines interface for manipulating telephony call menus.
+    Defines interface for manipulating telephony call commands.
     
 */
 class DLL_EXPORT XQTelUiCommandExtension 
@@ -70,6 +70,21 @@
         };
     
     /*!
+       Capsulates Tool Bar command info.
+    */
+    class ToolBarCommand
+        {
+    public:
+        
+        // Tool Bar command Id
+        int mCommandId;
+
+        // Is command enabled
+        bool mIsEnabled;
+
+        };
+    
+    /*!
         \fn void modifyMenuItemList(QList<int> &menuCmdList)
         
         Modifies menu command list. CallInfo contains current call information and 
@@ -96,6 +111,22 @@
     virtual void modifyPushButtonCommandList(const QList<CallInfo> &callInfo,
                                              QList<int> &buttonCmdList) = 0;
     
+                                             
+    /*!
+        \fn void modifyToolBarCommandList(QList<int> &menuCmdList)
+        
+        Modifies tool bar command list. CallInfo contains current call 
+        information and toolBarCmdList contains current list of tool 
+        bar commands. 
+        Interface can remove/disable commands if the command list contains 
+        unsupported call commands (For example if service doesn't support 
+        conference call) or add commads which should be handled by telephony  
+        call handling (maximum amount of tool bar commands is 4 and list
+        index 0 is used for right button).
+    */
+    virtual void modifyToolBarCommandList(const QList<CallInfo> &callInfo,
+                                          QList<ToolBarCommand> &toolBarCmdList) = 0;
+    
     /*!
         \fn void addMenuActions(QList<HbAction*> &menuActions)
         
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phone_plat/telephony_menu_extension_api/telephony_menu_extension_api.metaxml	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<api id="1bc03b12f63ce66ce85a12aa6418f5fe" dataversion="2.0">
+  <name>telephony_menu_extension_api</name>
+  <description>This plug-in API enables customization of phoneapp menus.</description>
+  <type>c++</type>
+  <collection>phoneapp</collection>
+  <libs/>
+  <release category="platform" sinceversion="5.0"/>
+  <attributes>
+    <htmldocprovided>no</htmldocprovided>
+    <adaptation>no</adaptation>
+  </attributes>
+</api>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phone_plat/video_telephony_control_mediator_api/video_telephony_control_mediator_api.metaxml	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<api id="33358ee95b32a7265fd02f9d55a171b4" dataversion="2.0">
+  <name>video_telephony_control_mediator_api</name>
+  <description>Video telephony specific mediator service. Used by telephony to send commands to video telephony.</description>
+  <type>c++</type>
+  <collection>phoneapp</collection>
+  <libs/>
+  <release category="platform" sinceversion="5.2"/>
+  <attributes>
+    <htmldocprovided>no</htmldocprovided>
+    <adaptation>no</adaptation>
+  </attributes>
+</api>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phone_plat/video_telephony_mediator_api/video_telephony_mediator_api.metaxml	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<api id="48cd1f332053377c8039bd5aec60154d" dataversion="2.0">
+  <name>video_telephony_mediator_api</name>
+  <description>Video telephony specific mediator service. Used by video telephony.</description>
+  <type>c++</type>
+  <collection>phoneapp</collection>
+  <libs/>
+  <release category="platform" sinceversion="5.0"/>
+  <attributes>
+    <htmldocprovided>no</htmldocprovided>
+    <adaptation>no</adaptation>
+  </attributes>
+</api>
--- a/phoneapp/phoneringingtoneplayer/src/cphoneaudioplayer.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneringingtoneplayer/src/cphoneaudioplayer.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -997,11 +997,11 @@
 
     TInt result( 0 );    
     
-    if ( iFormat == EFormatTone )
+    if ( iFormat == EFormatTone && iTonePlayer)
         {
         result = iTonePlayer->MaxVolume() * aVolume / KMaxVolumeLevel;
         }
-    else if ( iFormat == EFormatTts )
+    else if ( iFormat == EFormatTts && iTtsPlayer )
         {
         result = iTtsPlayer->MaxVolume() * aVolume / KMaxVolumeLevel;    
         }
--- a/phoneapp/phoneringingtoneplayer/src/cphoneringingtone.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneringingtoneplayer/src/cphoneringingtone.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -44,6 +44,9 @@
 _LIT(KVMp4, "video/mp4");
 _LIT(KV3gpp2, "video/3gpp2");
 
+//file size limit
+const TUint KPhoneToneFileSizeLimitKB = 5000;
+
 // MACROS
 
 // ============================ MEMBER FUNCTIONS ===============================
@@ -424,26 +427,8 @@
 //
 void CPhoneRingingTone::GetMaxToneFileSize()
     {
-    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneRingingtone::GetMaxToneFileSize()" );
-
-    TInt error(KErrNone);           
-    iToneFileSizeLimitKB = 5000;
-   
-    if ( error != KErrNone )
-        {
-        iToneFileSizeLimitKB = 0;
-        }
-    if ( iToneFileSizeLimitKB < 0 )
-        {
-        iToneFileSizeLimitKB = 0;
-        }
-  
-    __PHONELOG2( 
-        EBasic,
-        EPhoneControl, 
-        "CPhoneRingingtonePlayer::GetMaxToneFileSize - error (%d), aMaxSizeKB(%d)",
-        error,
-        iToneFileSizeLimitKB );       
+    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneRingingtone::GetMaxToneFileSize()" );              
+    iToneFileSizeLimitKB = KPhoneToneFileSizeLimitKB;   
     }
 
 //  End of File  
--- a/phoneapp/phoneringingtoneplayer/src/cphoneringingtoneplayer.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneringingtoneplayer/src/cphoneringingtoneplayer.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -23,7 +23,6 @@
 #include <ProfileEngineDomainCRKeys.h>
 #include <DRMHelperServerInternalCRKeys.h>
 #include <DRMHelper.h>
-#include <activeidle2domainpskeys.h>
 #include <data_caging_path_literals.hrh>
 #include "cphoneringingtoneplayer.h"
 #include "cphoneaudioplayer.h"
--- a/phoneapp/phoneui2/inc/phoneuihousehold_p.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneui2/inc/phoneuihousehold_p.h	Thu Jul 22 16:33:21 2010 +0100
@@ -25,12 +25,12 @@
 
 class MPEPhoneModel;
 class CPhoneUIController;
-class CPhoneQwertyHandler;
 class HbMainWindow;
 class PhoneUIKeyEventAdapter;
 class PhoneUiCommandAdapter;
 class QtCall;
 class PhoneUIQtViewAdapter;
+class HbTranslator;
 
 class PhoneUiHouseHoldPrivate : 
     private MPhonePubSubObserver
@@ -102,8 +102,6 @@
         
     //Indicates whether onscreen dialer is defined
     TBool iOnScreenDialer;
-    
-    CPhoneQwertyHandler* iQwertyHandler;
 
     CPhoneUIController* iPhoneUIController;
     
@@ -116,7 +114,7 @@
     PhoneUIQtViewAdapter* iViewAdapter;
     
     //List for translators
-    QList<QTranslator*> m_translators;
+    QList<HbTranslator*> m_translators;
     
 };
 
--- a/phoneapp/phoneui2/phoneui2.pro	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneui2/phoneui2.pro	Thu Jul 22 16:33:21 2010 +0100
@@ -10,7 +10,7 @@
 # Nokia Corporation - initial contribution.
 #
 # Contributors:
-# 
+#
 # Description: Project file for building Phoneui component
 #
 #
@@ -19,7 +19,6 @@
 TEMPLATE = app
 TARGET = phoneui
 CONFIG += hb svg
-RESOURCES = ./phoneui2.qrc
 
 TRANSLATIONS = telephone.ts
 
@@ -27,7 +26,7 @@
     TARGET.CAPABILITY = ALL -TCB
     TARGET.UID3 = 0x100058B3
     TARGET.VID = VID_DEFAULT
-    TARGET.EPOCHEAPSIZE = 0x1000 0xA00000 
+    TARGET.EPOCHEAPSIZE = 0x1000 0xA00000
     DEFINES += FT_SYMBIAN_INTEGRATION
 
     INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
@@ -43,13 +42,17 @@
             -lphoneuicontrol \
             -lphoneuiqtviewadapter \
             -lphoneuiqtview \
-            -lFeatMgr      
-      
+            -lxqserviceutil \
+            -lfeatmgr \
+            -lavkon \
+            -lcone \
+            -leikcore
+
       BLD_INF_RULES.prj_exports += \
        "$${LITERAL_HASH}include <platform_paths.hrh>" \
        "./rom/phoneui.iby    CORE_APP_LAYER_IBY_EXPORT_PATH(phoneui.iby)" \
        "./rom/phoneuiresources.iby    LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(phoneuiresources.iby)"
-       
+
        RSS_RULES += "hidden = KAppIsHidden;"
 }
 
@@ -58,7 +61,7 @@
            ./inc/phoneuicommandadapter.h \
            ./inc/phoneuihousehold.h \
            ./inc/phoneuihousehold_p.h
-       
+
 SOURCES   += ./src/main.cpp \
              ./src/phoneuikeyeventadapter.cpp \
              ./src/phoneuicommandadapter.cpp \
@@ -66,3 +69,6 @@
              ./src/phoneuihousehold.cpp \
              ./src/phoneuihousehold_p.cpp
 
+CONFIG += service
+SERVICE.FILE = service_conf.xml
+
--- a/phoneapp/phoneui2/phoneui2.qrc	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,21 +0,0 @@
-<RCC>
-    <qresource prefix="/" >                  
-        <file>themes/icons/hbdefault/scalable/qtg_mono_swap.svg</file>        
-        <file>themes/icons/hbdefault/scalable/qtg_mono_call.svg</file>
-        <file>themes/icons/hbdefault/scalable/qtg_mono_reject_call.svg</file>
-        <file>themes/icons/hbdefault/scalable/qtg_mono_end_call.svg</file>
-        <file>themes/icons/hbdefault/scalable/qtg_mono_hold_call.svg</file>
-        <file>themes/icons/hbdefault/scalable/qtg_mono_join_call.svg</file>
-        <file>themes/icons/hbdefault/scalable/qtg_mono_private_call.svg</file>
-        <file>themes/icons/hbdefault/scalable/qtg_mono_drop_call.svg</file>
-        <file>themes/icons/hbdefault/scalable/qtg_mono_replace_call.svg</file>
-        <file>themes/icons/hbdefault/scalable/qtg_mono_send.svg</file>
-        <file>themes/icons/hbdefault/scalable/qtg_mono_mic_mute.svg</file>
-        <file>themes/icons/hbdefault/scalable/qtg_mono_mic_unmute.svg</file>
-        <file>themes/icons/hbdefault/scalable/qtg_mono_dialer.svg</file>
-        <file>themes/icons/hbdefault/scalable/qtg_mono_speaker.svg</file>
-        <file>themes/icons/hbdefault/scalable/qtg_mono_contacts.svg</file>
-        <file>themes/icons/hbdefault/scalable/qtg_mono_speaker_off.svg</file>
-        <file>themes/icons/hbdefault/scalable/qtg_mono_mobile.svg</file>
-    </qresource>
-</RCC>
--- a/phoneapp/phoneui2/rom/phoneui.iby	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneui2/rom/phoneui.iby	Thu Jul 22 16:33:21 2010 +0100
@@ -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
@@ -44,6 +37,8 @@
 file=ABI_DIR\BUILD_DIR\phonemediatorcenter.dll          SHARED_LIB_DIR\phonemediatorcenter.dll
 file=ABI_DIR\BUILD_DIR\phoneuivoipextension.dll         SHARED_LIB_DIR\phoneuivoipextension.dll
 
+data=\epoc32\data\c\resource\qt\crml\carmode.qcrml   resource\qt\crml\carmode.qcrml
+
 data=ZSYSTEM\install\phoneuivoipextension_stub.sis  System\Install\phoneuivoipextension_stub.sis
 //data=ZSYSTEM\install\phoneui_stub.sis               System\Install\phoneui_stub.sis
 data=ZSYSTEM\install\phoneuicontrol_stub.sis        System\Install\phoneuicontrol_stub.sis
@@ -52,3 +47,4 @@
 data=ZSYSTEM\install\phonemediatorcenter_stub.sis   System\Install\phonemediatorcenter_stub.sis
 
 #endif
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneui2/service_conf.xml	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<service>
+  <name>phoneui</name>
+  <description>Phone services</description>
+  <filepath>No path</filepath>
+  <interface>
+    <name>com.nokia.symbian.ICallDial</name>
+    <description>Dial interface</description>
+    <version>1.0</version>
+    <capabilities></capabilities>
+  </interface>
+  <interface>
+    <name>com.nokia.symbian.IDtmfPlay</name>
+    <description>DTMF interface</description>
+    <version>1.0</version>
+    <capabilities></capabilities>
+  </interface>
+  <interface>
+    <name>com.nokia.symbian.IStart</name>
+    <description>Bring Telephone UI to foreground</description>
+    <version>1.0</version>
+    <capabilities></capabilities>
+  </interface>
+  <interface>
+     <name>com.nokia.symbian.IUriView</name>
+     <version>1.0</version>
+     <description>Interface for handling tel and cti URIs</description>
+     <customproperty key="schemes">tel, cti</customproperty>
+     <capabilities></capabilities>
+  </interface>
+</service>
--- a/phoneapp/phoneui2/src/main.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneui2/src/main.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -19,6 +19,7 @@
 #include <hbapplication.h>
 #include <hbmainwindow.h>
 #include <hbtoolbar.h>
+#include <xqserviceutil.h>
 
 #include "hbphonemainwindow.h"
 
@@ -27,5 +28,6 @@
 {
     HbApplication app (argc, argv, Hb::NoSplash);
     HbPhoneMainWindow window;
+    XQServiceUtil::toBackground( true );
     return app.exec ();
 }
--- a/phoneapp/phoneui2/src/phoneuihousehold_p.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneui2/src/phoneuihousehold_p.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -19,7 +19,7 @@
 #include <starterclient.h>
 #include <telinternalpskeys.h>
 #include <QLocale>
-#include <QTranslator>
+#include <HbTranslator>
 #include <telremotepartyinformationpskeys.h>
 #include <telinformationpskeys.h>
 #include <UikonInternalPSKeys.h>
@@ -29,7 +29,6 @@
 #include "phoneconstants.h"
 #include "cphonelogger.h"
 #include "cphonepubsubproxy.h"
-#include "cphoneqwertyhandler.h"
 #include "cphoneuicontroller.h"
 #include "phoneuihousehold_p.h"
 #include "phoneuiqtviewadapter.h"
@@ -43,7 +42,7 @@
 
 PhoneUiHouseHoldPrivate::PhoneUiHouseHoldPrivate(HbMainWindow &window) :
     iAppsReady (0), iStartupSignalRecoveryId (0), iLightIdleReached (EFalse),
-    iOnScreenDialer (EFalse), iQwertyHandler (0), iPhoneUIController (0),
+    iOnScreenDialer (EFalse), iPhoneUIController (0),
     m_window (window)
 {
     PHONE_DEBUG("phoneui - Start phoneapp");
@@ -55,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;
     }
@@ -178,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);
@@ -219,7 +201,6 @@
     m_window.addView (view);
     m_window.setCurrentView (view);
     m_window.scene ()->setFocusItem (view);
-    iQwertyHandler = CPhoneQwertyHandler::NewL();
     iKeyEventAdapter = new PhoneUIKeyEventAdapter (*iPhoneUIController);
     iCommandAdapter = new PhoneUiCommandAdapter (*iPhoneUIController);
     QObject::connect(view, SIGNAL(dialpadIsAboutToClose()), iViewAdapter, SLOT(dialpadClosed()));
--- a/phoneapp/phoneui2/themes/icons/hbdefault/scalable/qtg_mono_call.svg	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,9 +0,0 @@
-<?xml version="1.0" ?>
-<!DOCTYPE svg  PUBLIC '-//W3C//DTD SVG 1.1 Tiny//EN'  'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd'>
-<svg baseProfile="tiny" height="30" viewBox="0 0 30 30" width="30" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-
-<rect fill="none" height="30" width="30"/>
-
-<path d="M28.58,7.523l-7.359,4.248c-0.364,0.152-0.771,0.057-0.953-0.256l-1.277-2.142c-0.002,0.002-0.006,0.007-0.007,0.008-0.001-0.001,0-0.003-0.001-0.004-1.119,0.582-3.617,2.223-5.187,3.79-1.632,1.635-3.149,3.394-4.417,5.576,0,0-0.006,0.008-0.008,0.01,0.009,0.002,0.018,0.002,0.027,0.003l2.725,1.743c0.344,0.222,0.412,0.706,0.158,1.078l-4.794,7.05c-0.254,0.37-0.736,0.491-1.081,0.268,0,0-0.298-0.194-1.021-0.83h-0.003c-0.394-0.347-0.411-0.476-0.785-0.925-0.319-0.385-0.573-0.765-0.783-1.114-0.001-0.001-0.004,0-0.005-0.002-0.043-0.071-0.081-0.139-0.119-0.207-0.005-0.009-0.01-0.018-0.015-0.024-0.391-0.698-0.56-1.211-0.56-1.211-0.178-0.688-0.252-3.057,0.563-5.205,0.52-1.364,3.24-5.672,6.42-8.854,3.181-3.182,8.125-6.349,10.3-7.005,2.176-0.656,3.903-0.556,4.417-0.374,0,0,1.326,0.434,2.53,1.536,0.401,0.367,0.439,0.382,0.751,0.765,0.002,0.003,0,0.006,0.002,0.008-0.002-0.002-0.002-0.004-0.004-0.005,0.615,0.757,0.818,1.062,0.818,1.062,0.19,0.327,0.04,0.787-0.34,1.006z"/>
-
-</svg>
\ No newline at end of file
--- a/phoneapp/phoneui2/themes/icons/hbdefault/scalable/qtg_mono_contacts.svg	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg baseProfile="tiny" height="32px" version="1.1" viewBox="-3 -3 32 32" width="32px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
-<path d="M16.813,13.657c0.711-0.849,1.363-2.117,1.363-3.617c0-1.499-0.703-4.04-3.174-4.04c-2.469,0-3.172,2.704-3.172,4.04  c0,1.337,0.457,2.672,1.363,3.617c1.785,1.865-2.877,2.49-3.49,3.647C9.4,17.878,8.491,20,9.379,20c1.203,0,10.039,0,11.246,0  c0.875,0-0.02-2.122-0.322-2.695C19.691,16.147,15.209,15.575,16.813,13.657z"/>
-<path d="M25,0H4C3.45,0,3,0.45,3,1v3H2C0.897,4,0,4.897,0,6s0.897,2,2,2h1v3H2c-1.103,0-2,0.897-2,2s0.897,2,2,2h1v3H2  c-1.103,0-2,0.897-2,2s0.897,2,2,2h1v3c0,0.55,0.45,1,1,1h21c0.549,0,1-0.45,1-1V1C26,0.45,25.549,0,25,0z M2,7C1.45,7,1,6.55,1,6  s0.45-1,1-1h3c0.55,0,1,0.45,1,1S5.55,7,5,7H2z M2,14c-0.55,0-1-0.45-1-1s0.45-1,1-1h3c0.55,0,1,0.45,1,1s-0.45,1-1,1H2z M2,21  c-0.55,0-1-0.45-1-1s0.45-1,1-1h3c0.55,0,1,0.45,1,1s-0.45,1-1,1H2z M24,24H5v-2c1.103,0,2-0.897,2-2s-0.897-2-2-2v-3  c1.103,0,2-0.897,2-2s-0.897-2-2-2V8c1.103,0,2-0.897,2-2S6.103,4,5,4V2h19V24z"/>
-</svg>
--- a/phoneapp/phoneui2/themes/icons/hbdefault/scalable/qtg_mono_dialer.svg	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg baseProfile="tiny" height="30" version="1.1" viewBox="0 0 30 30" width="30" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-<rect fill="none" height="30" width="30"/>
-<path d="M0,0v30h30V0H0z M29,29H1V1h28V29z" fill="#FF0000"/>
-<polygon fill="#FF0000" points="24.344,2.415 27.584,5.655 18.242,15.001 27.585,24.346 24.346,27.585 14.999,18.238 5.655,27.585   2.415,24.346 11.76,15 2.415,5.655 5.655,2.415 15.002,11.763 "/>
-</svg>
--- a/phoneapp/phoneui2/themes/icons/hbdefault/scalable/qtg_mono_drop_call.svg	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg baseProfile="tiny" height="30px" version="1.1" viewBox="0 0 30 30" width="30px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
-<g fill-opacity="0.5" stroke-opacity="0.5">
-<rect fill="none" height="30" width="30"/>
-</g>
-<path d="M7.129,14.841c-0.006-0.09,0-0.523,0-0.614c0.621-0.419,1.057-0.91,1.383-1.552c0.605-1.188,0.281-3.985,0.281-3.985  C8.793,7.45,7.146,6,5.895,6H5.1C3.846,6,2.197,7.45,2.197,8.689c0,0-0.287,2.783,0.279,3.981c0.311,0.654,0.76,1.139,1.395,1.556  c0.002,0.085,0.007,0.529,0.002,0.614C3.795,16.056,0.2,18.233,0,18.497V22h11.5v-3.5C11.299,18.235,7.205,16.056,7.129,14.841z"/>
-<path d="M11.019,12.166l2.82-2.818c-0.124-0.181-0.2-0.352-0.21-0.507c-0.006-0.09,0-0.523,0-0.614  c0.621-0.419,1.057-0.91,1.383-1.552c0.605-1.188,0.281-3.985,0.281-3.985C15.293,1.45,13.646,0,12.395,0H11.6  c-1.254,0-2.902,1.45-2.902,2.689c0,0-0.118,1.153-0.052,2.294c1.202,0.875,2.088,2.216,2.145,3.568  c0.098,0.898,0.291,3.486-0.496,5.031c-0.215,0.422-0.468,0.806-0.762,1.156c0.403,0.321,1.018,0.747,1.815,1.261h3.505  L11.019,12.166z"/>
-<path d="M24.261,17.111c0.001-0.137,0.002-0.266,0.003-0.314c0.814-0.549,1.385-1.194,1.814-2.037  c0.795-1.559,0.369-5.229,0.369-5.229c0-1.626-2.16-3.53-3.805-3.53H21.6c-1.645,0-3.81,1.904-3.81,3.53c0,0-0.043,0.425-0.071,1.04  L24.261,17.111z"/>
-<path d="M30,22.851v-0.444c-0.079-0.104-0.616-0.434-1.328-0.884L30,22.851z"/>
-<path d="M18.411,19.559c-1.64,1.318-3.989,2.618-4.161,2.844V27h11.603L18.411,19.559z"/>
-<rect height="20.977" transform="matrix(0.7066 -0.7076 0.7076 0.7066 -6.9576 21.0662)" width="1.867" x="20.99" y="8.434"/>
-</svg>
--- a/phoneapp/phoneui2/themes/icons/hbdefault/scalable/qtg_mono_end_call.svg	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
-	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
-]>
-<svg version="1.1"
-	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
-	 x="0px" y="0px" width="30px" height="30px" viewBox="0 0 30 30" enable-background="new 0 0 30 30" xml:space="preserve">
-<defs>
-</defs>
-<g opacity="0.5">
-	<rect fill="none" width="30" height="30"/>
-</g>
-<path d="M28.908,18.236l-7.671-2.057c-0.341-0.139-0.547-0.472-0.461-0.798l0.571-2.261c-0.002,0.001-0.008,0.001-0.01,0.001
-	c0.001-0.001,0.002-0.002,0.002-0.003c-1.125-0.355-3.859-0.922-5.933-0.923c-2.159,0.001-4.325,0.161-6.604,0.766
-	c0,0-0.009,0.002-0.012,0.002c0.006,0.007,0.012,0.013,0.017,0.02l0.648,2.953c0.081,0.374-0.194,0.738-0.608,0.816l-7.822,1.486
-	c-0.412,0.076-0.811-0.162-0.891-0.537c0,0-0.068-0.325-0.126-1.224c-0.001,0-0.001,0-0.001-0.002
-	c-0.031-0.489,0.042-0.586,0.092-1.13c0.043-0.466,0.126-0.885,0.219-1.254c0-0.001-0.003-0.003-0.002-0.005
-	c0.019-0.074,0.039-0.145,0.059-0.216c0.002-0.009,0.005-0.018,0.006-0.025c0.203-0.72,0.43-1.17,0.43-1.17
-	c0.338-0.572,1.855-2.187,3.813-3.068C5.867,9.05,10.514,8.001,14.718,8c4.205-0.001,9.565,1.174,11.438,2.178
-	s2.946,2.212,3.165,2.671c0,0,0.59,1.164,0.658,2.688c0.023,0.509,0.037,0.543-0.01,1.002c0,0.003-0.003,0.004-0.003,0.007
-	c0-0.003,0-0.004,0-0.007c-0.094,0.907-0.161,1.243-0.161,1.243C29.71,18.14,29.308,18.344,28.908,18.236z"/>
-</svg>
--- a/phoneapp/phoneui2/themes/icons/hbdefault/scalable/qtg_mono_hold_call.svg	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
-	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
-]>
-<svg version="1.1"
-	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
-	 x="0px" y="0px" width="30px" height="30px" viewBox="0 0 30 30" enable-background="new 0 0 30 30" xml:space="preserve">
-<defs>
-</defs>
-<g opacity="0.5">
-	<rect fill="none" width="30" height="30"/>
-</g>
-<path d="M28.908,10.028l-7.671,2.057c-0.341,0.139-0.547,0.472-0.461,0.798l0.571,2.261c-0.002-0.001-0.008-0.001-0.01-0.001
-	c0.001,0.001,0.002,0.002,0.002,0.003c-1.125,0.355-3.859,0.922-5.933,0.923c-2.159-0.001-4.325-0.161-6.604-0.766
-	c0,0-0.009-0.002-0.012-0.002c0.006-0.007,0.012-0.013,0.017-0.02l0.648-2.953c0.081-0.374-0.194-0.738-0.608-0.816l-7.822-1.486
-	c-0.412-0.076-0.811,0.162-0.891,0.537c0,0-0.068,0.325-0.126,1.224c-0.001,0-0.001,0-0.001,0.002
-	c-0.031,0.489,0.042,0.586,0.092,1.13c0.043,0.466,0.126,0.885,0.219,1.254c0,0.001-0.003,0.003-0.002,0.005
-	c0.019,0.074,0.039,0.145,0.059,0.216c0.002,0.009,0.005,0.018,0.006,0.025c0.203,0.72,0.43,1.17,0.43,1.17
-	c0.338,0.572,1.855,2.187,3.813,3.068c1.244,0.559,5.891,1.607,10.095,1.608c4.205,0.001,9.565-1.174,11.438-2.178
-	s2.946-2.212,3.165-2.671c0,0,0.59-1.164,0.658-2.688c0.023-0.509,0.037-0.543-0.01-1.002c0-0.003-0.003-0.004-0.003-0.007
-	c0,0.003,0,0.004,0,0.007c-0.094-0.907-0.161-1.243-0.161-1.243C29.71,10.125,29.308,9.921,28.908,10.028z"/>
-</svg>
--- a/phoneapp/phoneui2/themes/icons/hbdefault/scalable/qtg_mono_join_call.svg	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
-	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
-]>
-<svg version="1.1"
-	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
-	 x="0px" y="0px" width="30px" height="30px" viewBox="0 0 30 30" enable-background="new 0 0 30 30" xml:space="preserve">
-<defs>
-</defs>
-<g opacity="0.5">
-	<rect fill="none" width="30" height="30"/>
-</g>
-<path d="M10.213,8.109c0.054,0.038,0.102,0.08,0.158,0.117c0.002,0.085,0.007,0.529,0.002,0.614
-	c-0.004,0.053-0.023,0.109-0.042,0.166c0.089,1.067,0.151,3.104-0.483,4.349c-0.273,0.539-0.615,1.011-1.033,1.424
-	c0.305,0.294,0.856,0.707,1.623,1.221h6.824c-0.354-0.427-0.67-0.879-0.912-1.389c-0.469-0.993-0.623-2.394-0.651-3.634
-	c-1.034-0.719-2.032-1.543-2.069-2.137c-0.006-0.09,0-0.523,0-0.614c0.621-0.419,1.057-0.91,1.383-1.552
-	c0.605-1.188,0.281-3.985,0.281-3.985C15.293,1.45,13.646,0,12.395,0H11.6c-1.254,0-2.902,1.45-2.902,2.689
-	c0,0-0.172,1.68,0.018,2.992C9.477,6.346,10.033,7.214,10.213,8.109z"/>
-<path d="M19.987,15.797c0.003,0.112,0.009,0.695,0.001,0.807c-0.005,0.076-0.032,0.158-0.061,0.24c0-0.001,0.002-0.002,0.002-0.003
-	h4.393c-0.027-0.081-0.055-0.162-0.06-0.237c-0.007-0.118-0.001-0.687,0.001-0.807c0.814-0.549,1.385-1.194,1.814-2.037
-	c0.795-1.559,0.369-5.229,0.369-5.229c0-1.626-2.16-3.53-3.805-3.53H21.6c-1.645,0-3.81,1.904-3.81,3.53
-	c0,0-0.376,3.652,0.367,5.225C18.564,14.615,19.153,15.25,19.987,15.797z"/>
-<path d="M24.677,17.443l-2.552,5.771l-2.551-5.771c-0.549,0.688-1.57,1.464-2.574,2.146V26h13v-4.594
-	C29.778,21.114,25.947,19.043,24.677,17.443z"/>
-<path d="M7.129,14.841c-0.006-0.09,0-0.523,0-0.614c0.621-0.419,1.057-0.91,1.383-1.552c0.605-1.188,0.281-3.985,0.281-3.985
-	C8.793,7.45,7.146,6,5.895,6H5.1C3.846,6,2.197,7.45,2.197,8.689c0,0-0.287,2.783,0.279,3.981c0.311,0.654,0.76,1.139,1.395,1.556
-	c0.002,0.085,0.007,0.529,0.002,0.614C3.811,15.82,1.139,17.425,0,18.148V22h1.454l7.665-5.078
-	C8.115,16.217,7.166,15.42,7.129,14.841z"/>
-<polygon points="11,18.075 2,23.537 11,29 11,26 15,26 15,21 11,21 "/>
-</svg>
--- a/phoneapp/phoneui2/themes/icons/hbdefault/scalable/qtg_mono_mic_mute.svg	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,15 +0,0 @@
-<?xml version="1.0" ?>
-<!DOCTYPE svg  PUBLIC '-//W3C//DTD SVG 1.1 Tiny//EN'  'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd'>
-<svg baseProfile="tiny" height="30" viewBox="0 0 30 30" width="30" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-
-<rect fill="none" height="30" width="30"/>
-
-<path d="M12.39,8.243l4.364-4.364c1.17-1.17,3.073-1.17,4.242,0l2.13,2.121c1.169,1.17,1.169,3.073,0,4.243l-4.363,4.363,1.414,1.414,4.363-4.363c1.953-1.953,1.953-5.118,0-7.071l-2.121-2.121c-1.953-1.953-5.119-1.953-7.071,0l-4.364,4.364,1.41,1.421z"/>
-
-<path d="M17,12.5c0-1.93-1.57-3.5-3.5-3.5-0.109,0-0.212,0.021-0.318,0.032l3.786,3.785c0.01-0.11,0.03-0.21,0.03-0.32z"/>
-
-<path d="M20,26h-5v-4.808l1.023-1.022-9.19-9.19-1.387,1.388c-0.791,0.791-1.245,1.782-1.396,2.81l-0.019,0.019,0.016,0.016c-0.209,1.499,0.245,3.074,1.398,4.228l2.121,2.121c1.153,1.153,2.728,1.607,4.227,1.398l0.016,0.016,0.019-0.019c0.059-0.009,0.117-0.007,0.175-0.017v3.05h-5c-0.553,0-1,0.447-1,1v2h15v-2c0-0.55-0.45-1-1-1z"/>
-
-<rect height="35.83" transform="matrix(0.7066 -0.7076 0.7076 0.7066 -6.1479 14.8607)" width="1.867" x="13.91" y="-3.069"/>
-
-</svg>
\ No newline at end of file
--- a/phoneapp/phoneui2/themes/icons/hbdefault/scalable/qtg_mono_mic_unmute.svg	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,9 +0,0 @@
-<?xml version="1.0" ?>
-<!DOCTYPE svg  PUBLIC '-//W3C//DTD SVG 1.1 Tiny//EN'  'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd'>
-<svg baseProfile="tiny" height="30" viewBox="0 0 30 30" width="30" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-
-<rect fill="none" height="30" width="30"/>
-
-<path d="M24.56,4.586l-2.121-2.121c-1.953-1.953-5.119-1.953-7.071,0l-4.95,4.95-1.42-1.415-2.121,2.121,1.414,1.415-2.828,2.828c-0.791,0.791-1.245,1.782-1.396,2.81l-0.019,0.019,0.016,0.016c-0.209,1.499,0.245,3.074,1.398,4.228l2.121,2.121c1.153,1.153,2.728,1.607,4.227,1.398l0.016,0.016,0.019-0.019c0.059-0.009,0.117-0.007,0.175-0.017v3.06h-5c-0.553,0-1,0.447-1,1v2h15v-2c0-0.553-0.447-1-1-1h-5v-4.808l2.464-2.464,1.414,1.414,2.121-2.121-1.414-1.414,4.95-4.95c1.96-1.956,1.96-5.121,0.01-7.074zm-11.04,9.914c-1.104,0-2-0.896-2-2s0.896-2,2-2,2,0.896,2,2-0.89,2-2,2zm9.62-4.26l-4.95,4.95-1.419-1.42c0.155-0.396,0.248-0.823,0.248-1.273,0-1.93-1.57-3.5-3.5-3.5-0.45,0-0.878,0.093-1.273,0.248l-0.42-0.419,4.95-4.95c1.17-1.17,3.073-1.17,4.242,0l2.12,2.121c1.17,1.17,1.17,3.073,0,4.24z"/>
-
-</svg>
\ No newline at end of file
--- a/phoneapp/phoneui2/themes/icons/hbdefault/scalable/qtg_mono_mobile.svg	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg baseProfile="tiny" height="32px" version="1.1" viewBox="-7 -3 32 32" width="32px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
-<path d="M17,0H1C0.449,0,0,0.45,0,1v24c0,0.55,0.449,1,1,1h16c0.549,0,1-0.45,1-1V1C18,0.45,17.549,0,17,0z M4,23H3  c-0.551,0-1-0.45-1-1s0.449-1,1-1h1c0.549,0,1,0.45,1,1S4.549,23,4,23z M11,23c0,0.55-0.451,1-1,1H8c-0.551,0-1-0.45-1-1v-2  c0-0.55,0.449-1,1-1h2c0.549,0,1,0.45,1,1V23z M15,23h-1c-0.551,0-1-0.45-1-1s0.449-1,1-1h1c0.549,0,1,0.45,1,1S15.549,23,15,23z   M16,18H2V2h14V18z"/>
-</svg>
--- a/phoneapp/phoneui2/themes/icons/hbdefault/scalable/qtg_mono_private_call.svg	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg baseProfile="tiny" height="30px" version="1.1" viewBox="0 0 30 30" width="30px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
-<g fill-opacity="0.5" stroke-opacity="0.5">
-<rect fill="none" height="30" width="30"/>
-</g>
-<path d="M7.129,15.841c-0.006-0.09,0-0.523,0-0.614c0.621-0.419,1.057-0.91,1.383-1.552c0.605-1.188,0.281-3.985,0.281-3.985  C8.793,8.45,7.146,7,5.895,7H5.1C3.846,7,2.197,8.45,2.197,9.689c0,0-0.287,2.783,0.279,3.981c0.311,0.654,0.76,1.139,1.395,1.556  c0.002,0.085,0.007,0.529,0.002,0.614C3.795,17.056,0.2,19.233,0,19.497V23h11.5v-3.5C11.299,19.235,7.205,17.056,7.129,15.841z"/>
-<path d="M16.35,16.611c-0.603-1.273-0.687-3.219-0.65-4.633c-1.034-0.719-2.033-1.543-2.07-2.138c-0.006-0.09,0-0.523,0-0.614  c0.621-0.419,1.057-0.91,1.383-1.552c0.605-1.188,0.281-3.985,0.281-3.985C15.293,2.45,13.646,1,12.395,1H11.6  c-1.254,0-2.902,1.45-2.902,2.689c0,0-0.118,1.153-0.052,2.294c1.202,0.875,2.088,2.216,2.145,3.568  c0.098,0.898,0.291,3.486-0.496,5.031c-0.215,0.422-0.468,0.806-0.762,1.156c0.403,0.321,1.018,0.747,1.815,1.261h5.229  C16.504,16.868,16.415,16.749,16.35,16.611z"/>
-<path d="M26.447,10.53c0-0.746-0.465-1.543-1.115-2.195l-7.244,7.245c0.022,0.059,0.044,0.121,0.069,0.175  c0.361,0.764,0.877,1.345,1.569,1.85l6.752-6.752C26.461,10.651,26.447,10.53,26.447,10.53z"/>
-<path d="M24.263,18.604c-0.007-0.118-0.001-0.687,0.001-0.807c0.814-0.549,1.385-1.194,1.814-2.037  c0.297-0.583,0.424-1.461,0.466-2.332L14.25,25.722V28h1.386l8.84-8.84C24.355,18.964,24.273,18.775,24.263,18.604z"/>
-<path d="M23.765,7.263C23.385,7.104,23.001,7,22.643,7H21.6c-1.645,0-3.81,1.904-3.81,3.53c0,0-0.14,1.365-0.079,2.785L23.765,7.263  z"/>
-<path d="M25.771,20.505L18.276,28h3.665l5.967-5.968C27.198,21.57,26.427,21.039,25.771,20.505z"/>
-<path d="M30,23.406c-0.042-0.055-0.223-0.179-0.479-0.346L24.581,28h3.665L30,26.246V23.406z"/>
-</svg>
--- a/phoneapp/phoneui2/themes/icons/hbdefault/scalable/qtg_mono_reject_call.svg	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
-	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
-]>
-<svg version="1.1"
-	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
-	 x="0px" y="0px" width="30px" height="30px" viewBox="0 0 30 30" enable-background="new 0 0 30 30" xml:space="preserve">
-<defs>
-</defs>
-<g opacity="0.5">
-	<rect fill="none" width="30" height="30"/>
-</g>
-<path d="M15.691,11.542c1.257-0.96,2.563-1.786,3.289-2.164c0.001,0.001,0,0.003,0.001,0.004c0.001-0.001,0.005-0.006,0.007-0.008
-	l1.277,2.142c0.183,0.313,0.589,0.408,0.953,0.256l7.359-4.248c0.383-0.22,0.533-0.68,0.334-1.022c0,0-0.203-0.305-0.818-1.062
-	c0.002,0.001,0.002,0.003,0.004,0.005c-0.002-0.002,0-0.005-0.002-0.008c-0.312-0.383-0.35-0.397-0.751-0.765
-	c-1.204-1.103-2.53-1.536-2.53-1.536c-0.514-0.182-2.241-0.282-4.417,0.374c-1.677,0.506-4.996,2.505-7.888,4.851L15.691,11.542z"/>
-<path d="M9.396,18.757c-0.01-0.001-0.019-0.001-0.027-0.003c0.002-0.002,0.008-0.01,0.008-0.01c0.652-1.125,1.375-2.136,2.143-3.077
-	l-3.205-3.205c-2.367,2.794-4.219,5.808-4.637,6.907c-0.814,2.148-0.74,4.517-0.563,5.205c0,0,0.169,0.513,0.56,1.211
-	c0.005,0.007,0.01,0.016,0.015,0.024c0.038,0.068,0.076,0.136,0.119,0.207c0.001,0.002,0.004,0.001,0.005,0.002
-	c0.21,0.35,0.464,0.729,0.783,1.114c0.374,0.449,0.392,0.578,0.785,0.925c0.001,0,0.002,0,0.003,0
-	c0.723,0.636,1.021,0.83,1.021,0.83c0.345,0.224,0.827,0.103,1.08-0.268l4.794-7.042c0.254-0.372,0.186-0.856-0.158-1.078
-	L9.396,18.757z"/>
-<rect x="13.74" y="-3.24" transform="matrix(0.7066 -0.7076 0.7076 0.7066 -6.0774 14.6889)" width="1.867" height="35.826"/>
-</svg>
--- a/phoneapp/phoneui2/themes/icons/hbdefault/scalable/qtg_mono_replace_call.svg	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
-	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
-]>
-<svg version="1.1"
-	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
-	 x="0px" y="0px" width="30px" height="30px" viewBox="0 0 30 30" enable-background="new 0 0 30 30" xml:space="preserve">
-<defs>
-</defs>
-<g opacity="0.5">
-	<rect fill="none" width="30" height="30"/>
-</g>
-<path d="M27.578,6.523l-7.36,4.248c-0.363,0.152-0.77,0.057-0.952-0.256l-1.278-2.142c-0.001,0.002-0.004,0.007-0.006,0.008
-	c0-0.001,0-0.003,0-0.004c-1.121,0.582-3.618,2.223-5.188,3.79c-1.632,1.635-3.15,3.394-4.417,5.576c0,0-0.006,0.008-0.008,0.01
-	c0.009,0.002,0.018,0.002,0.027,0.003l2.725,1.743c0.344,0.222,0.412,0.706,0.158,1.078L6.485,27.62
-	c-0.253,0.37-0.735,0.491-1.08,0.268c0,0-0.298-0.194-1.021-0.83c-0.001,0-0.002,0-0.003,0c-0.394-0.347-0.411-0.476-0.785-0.925
-	c-0.319-0.385-0.573-0.765-0.783-1.114c-0.001-0.001-0.004,0-0.005-0.002c-0.043-0.071-0.081-0.139-0.119-0.207
-	c-0.005-0.009-0.01-0.018-0.015-0.024c-0.391-0.698-0.56-1.211-0.56-1.211c-0.178-0.688-0.252-3.057,0.563-5.205
-	c0.52-1.364,3.24-5.672,6.42-8.854c3.181-3.182,8.124-6.349,10.3-7.005s3.903-0.556,4.416-0.374c0,0,1.326,0.434,2.531,1.536
-	c0.401,0.367,0.439,0.382,0.75,0.765c0.002,0.003,0.002,0.006,0.003,0.008c-0.001-0.002-0.003-0.004-0.005-0.005
-	c0.616,0.757,0.818,1.062,0.818,1.062C28.11,5.844,27.962,6.304,27.578,6.523z"/>
-<path d="M24.001,11L18,19h1.963h2v2.522V25H20v-5h-0.037H16v4v1l0,0c0,3,2.775,5,5.5,5s5.5-2,5.5-5v-6h3L24.001,11z"/>
-</svg>
--- a/phoneapp/phoneui2/themes/icons/hbdefault/scalable/qtg_mono_send.svg	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg baseProfile="tiny" height="32px" version="1.1" viewBox="0 -7 32 32" width="32px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
-<polygon points="1,6 1.5,8 5,8 5,6 "/>
-<polygon points="2,10 2.5,12 5,12 5,10 "/>
-<polygon points="0,2 0.5,4 5,4 5,2 "/>
-<path d="M31,0H7C6.449,0,6,0.45,6,1v17c0,0.55,0.449,1,1,1h24c0.549,0,1-0.45,1-1V1C32,0.45,31.549,0,31,0z M19,12.146l3.447-1.991  L29.293,17H8.707l6.846-6.846L19,12.146z M23.344,9.637L30,5.794v10.499L23.344,9.637z M8,2h22v1.484L19,9.836L8,3.484V2z   M14.656,9.637L8,16.293V5.794L14.656,9.637z"/>
-</svg>
--- a/phoneapp/phoneui2/themes/icons/hbdefault/scalable/qtg_mono_speaker.svg	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg baseProfile="tiny" height="30" viewBox="0 0 30 30" width="30" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-<rect fill="none" height="30" width="30"/>
-<rect fill="none" height="30" width="30"/>
-<path d="M10.235,9H3v12h7.297l9.953,5.806V3.199L10.235,9z M9,18.75H5.25v-7.5H9V18.75z M18,22.889l-6-3.5v-8.811l6-3.476V22.889z"/>
-<path d="M22.5,15.337c0,1.847-0.252,3.633-0.714,5.331l1.292,0.94C23.676,19.622,24,17.518,24,15.337 c0-2.429-0.404-4.764-1.141-6.946l-1.27,0.924C22.182,11.218,22.5,13.241,22.5,15.337z"/>
-<path d="M27,15.324c0,2.847-0.486,5.579-1.371,8.125l1.269,0.924c1.036-2.822,1.603-5.869,1.603-9.049 c0-3.426-0.664-6.696-1.857-9.697l-1.254,0.911C26.427,9.269,27,12.229,27,15.324z"/>
-</svg>
--- a/phoneapp/phoneui2/themes/icons/hbdefault/scalable/qtg_mono_speaker_off.svg	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg baseProfile="tiny" height="30" viewBox="0 0 30 30" width="30" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-<rect fill="none" height="30" width="30"/>
-<rect fill="none" height="30" width="30"/>
-<rect height="9" width="5.25" x="4.862" y="11.61"/>
-<polygon points="19.862,14.009 19.862,5.61 14.545,8.691 "/>
-<polygon points="10.862,11.232 10.862,21.361 19.862,26.611 19.862,20.231 "/>
-<rect height="33.236" transform="matrix(-0.7061 0.7082 -0.7082 -0.7061 39.3599 12.3905)" width="1.4" x="16.408" y="-2.254"/>
-</svg>
--- a/phoneapp/phoneui2/themes/icons/hbdefault/scalable/qtg_mono_swap.svg	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg baseProfile="tiny" height="30" version="1.1" viewBox="0 0 30 30" width="30" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-<rect fill="none" height="30" width="30"/>
-<path d="M0,0v30h30V0H0z M29,29H1V1h28V29z" fill="#FF0000"/>
-<polygon fill="#FF0000" points="24.344,2.415 27.584,5.655 18.242,15.001 27.585,24.346 24.346,27.585 14.999,18.238 5.655,27.585   2.415,24.346 11.76,15 2.415,5.655 5.655,2.415 15.002,11.763 "/>
-</svg>
--- a/phoneapp/phoneuicontrol/bwins/phoneuicontrolu.def	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuicontrol/bwins/phoneuicontrolu.def	Thu Jul 22 16:33:21 2010 +0100
@@ -15,18 +15,18 @@
 	?PhoneNumberAvailableInPhoneEngineL@CPhoneStateInCall@@IAEXH@Z @ 14 NONAME ; void CPhoneStateInCall::PhoneNumberAvailableInPhoneEngineL(int)
 	?DisplayCallTerminationNoteL@CPhoneState@@IAEXXZ @ 15 NONAME ; void CPhoneState::DisplayCallTerminationNoteL(void)
 	??0CPhoneStateInCall@@IAE@PAVMPhoneStateMachine@@PAVMPhoneViewCommandHandle@@PAVMPhoneCustomization@@@Z @ 16 NONAME ; CPhoneStateInCall::CPhoneStateInCall(class MPhoneStateMachine *, class MPhoneViewCommandHandle *, class MPhoneCustomization *)
-	?HandleNumberLongKeyPressL@CPhoneStateIdle@@IAEXXZ @ 17 NONAME ; void CPhoneStateIdle::HandleNumberLongKeyPressL(void)
-	?PhoneEngine@CPhoneStateMachine@@UAEPAVMPEPhoneModel@@XZ @ 18 NONAME ; class MPEPhoneModel * CPhoneStateMachine::PhoneEngine(void)
-	?OpenMenuBarL@CPhoneStateCallSetup@@MAEXXZ @ 19 NONAME ; void CPhoneStateCallSetup::OpenMenuBarL(void)
-	??1CPhoneStateCallSetup@@UAE@XZ @ 20 NONAME ; CPhoneStateCallSetup::~CPhoneStateCallSetup(void)
-	?HandleEnvironmentChangeL@CPhoneUIController@@UAEXH@Z @ 21 NONAME ; void CPhoneUIController::HandleEnvironmentChangeL(int)
-	?SetToolbarButtonLoudspeakerEnabled@CPhoneState@@IAEXXZ @ 22 NONAME ; void CPhoneState::SetToolbarButtonLoudspeakerEnabled(void)
-	?Instance@CPhoneStateHandle@@SAPAV1@XZ @ 23 NONAME ; class CPhoneStateHandle * CPhoneStateHandle::Instance(void)
-	?HandleNumberEntryClearedL@CPhoneStateIdle@@MAEXXZ @ 24 NONAME ; void CPhoneStateIdle::HandleNumberEntryClearedL(void)
-	?DynInitMenuPaneL@CPhoneStateIncoming@@MAEXHPAVCEikMenuPane@@@Z @ 25 NONAME ; void CPhoneStateIncoming::DynInitMenuPaneL(int, class CEikMenuPane *)
-	?HandleCommandL@CPhoneState@@UAEHH@Z @ 26 NONAME ; int CPhoneState::HandleCommandL(int)
-	?StartAlsLineChangeTimerL@CPhoneState@@IAEXXZ @ 27 NONAME ; void CPhoneState::StartAlsLineChangeTimerL(void)
-	?IsNumberEntryVisibleL@CPhoneState@@QAEHXZ @ 28 NONAME ; int CPhoneState::IsNumberEntryVisibleL(void)
+	?PhoneEngine@CPhoneStateMachine@@UAEPAVMPEPhoneModel@@XZ @ 17 NONAME ; class MPEPhoneModel * CPhoneStateMachine::PhoneEngine(void)
+	?OpenMenuBarL@CPhoneStateCallSetup@@MAEXXZ @ 18 NONAME ; void CPhoneStateCallSetup::OpenMenuBarL(void)
+	??1CPhoneStateCallSetup@@UAE@XZ @ 19 NONAME ; CPhoneStateCallSetup::~CPhoneStateCallSetup(void)
+	?HandleEnvironmentChangeL@CPhoneUIController@@UAEXH@Z @ 20 NONAME ; void CPhoneUIController::HandleEnvironmentChangeL(int)
+	?SetToolbarButtonLoudspeakerEnabled@CPhoneState@@IAEXXZ @ 21 NONAME ; void CPhoneState::SetToolbarButtonLoudspeakerEnabled(void)
+	?Instance@CPhoneStateHandle@@SAPAV1@XZ @ 22 NONAME ; class CPhoneStateHandle * CPhoneStateHandle::Instance(void)
+	?HandleNumberEntryClearedL@CPhoneStateIdle@@MAEXXZ @ 23 NONAME ; void CPhoneStateIdle::HandleNumberEntryClearedL(void)
+	?DynInitMenuPaneL@CPhoneStateIncoming@@MAEXHPAVCEikMenuPane@@@Z @ 24 NONAME ; void CPhoneStateIncoming::DynInitMenuPaneL(int, class CEikMenuPane *)
+	?HandleCommandL@CPhoneState@@UAEHH@Z @ 25 NONAME ; int CPhoneState::HandleCommandL(int)
+	?StartAlsLineChangeTimerL@CPhoneState@@IAEXXZ @ 26 NONAME ; void CPhoneState::StartAlsLineChangeTimerL(void)
+	?IsNumberEntryVisibleL@CPhoneState@@QAEHXZ @ 27 NONAME ; int CPhoneState::IsNumberEntryVisibleL(void)
+	?DialL@CPhoneStateIdle@@MAEXABVTDesC16@@W4TPhoneNumberType@1@W4TDialInitiationMethod@1@@Z @ 28 NONAME ; void CPhoneStateIdle::DialL(class TDesC16 const &, enum CPhoneStateIdle::TPhoneNumberType, enum CPhoneStateIdle::TDialInitiationMethod)
 	?RetainPreviousKeylockStateL@CPhoneState@@QAEXXZ @ 29 NONAME ; void CPhoneState::RetainPreviousKeylockStateL(void)
 	?HandlePhoneEngineMessageL@CPhoneStateIdle@@UAEXHH@Z @ 30 NONAME ; void CPhoneStateIdle::HandlePhoneEngineMessageL(int, int)
 	?HandleDialingL@CPhoneStateIdle@@MAEXH@Z @ 31 NONAME ; void CPhoneStateIdle::HandleDialingL(int)
@@ -42,197 +42,193 @@
 	?HandleAudioPlayStoppedL@CPhoneStateIncoming@@MAEXXZ @ 41 NONAME ; void CPhoneStateIncoming::HandleAudioPlayStoppedL(void)
 	?HandleCenRepChangeL@CPhoneState@@UAEXABVTUid@@I@Z @ 42 NONAME ; void CPhoneState::HandleCenRepChangeL(class TUid const &, unsigned int)
 	?HandleLongHashL@CPhoneState@@UAEXXZ @ 43 NONAME ; void CPhoneState::HandleLongHashL(void)
-	?DialL@CPhoneStateIdle@@MAEXABVTDesC16@@W4TPhoneNumberType@@W4TDialInitiationMethod@1@@Z @ 44 NONAME ; void CPhoneStateIdle::DialL(class TDesC16 const &, enum TPhoneNumberType, enum CPhoneStateIdle::TDialInitiationMethod)
-	?ShowNumberBusyNoteL@CPhoneState@@IAEXXZ @ 45 NONAME ; void CPhoneState::ShowNumberBusyNoteL(void)
-	?DisconnectCallL@CPhoneState@@IAEHXZ @ 46 NONAME ; int CPhoneState::DisconnectCallL(void)
-	?HandleNumberEntryClearedL@CPhoneStateCallSetup@@MAEXXZ @ 47 NONAME ; void CPhoneStateCallSetup::HandleNumberEntryClearedL(void)
-	?HandleIdleForegroundEventL@CPhoneStateIdle@@UAEXXZ @ 48 NONAME ; void CPhoneStateIdle::HandleIdleForegroundEventL(void)
-	?HandleDisconnectingL@CPhoneState@@IAEXH@Z @ 49 NONAME ; void CPhoneState::HandleDisconnectingL(int)
-	?HandleAudioMuteChangedL@CPhoneState@@IAEXXZ @ 50 NONAME ; void CPhoneState::HandleAudioMuteChangedL(void)
-	?HandleKeyLockEnabled@CPhoneState@@UAEXH@Z @ 51 NONAME ; void CPhoneState::HandleKeyLockEnabled(int)
-	?HandleCommandL@CPhoneStateIncoming@@UAEHH@Z @ 52 NONAME ; int CPhoneStateIncoming::HandleCommandL(int)
-	?UpdateSingleActiveCallL@CPhoneState@@IAEXH@Z @ 53 NONAME ; void CPhoneState::UpdateSingleActiveCallL(int)
-	?IsOnScreenDialerSupported@CPhoneState@@IBEHXZ @ 54 NONAME ; int CPhoneState::IsOnScreenDialerSupported(void) const
-	?SimState@CPhoneState@@IBE?AW4TPESimState@@XZ @ 55 NONAME ; enum TPESimState CPhoneState::SimState(void) const
-	?HandleKeyEventL@CPhoneStateCallSetup@@UAEXABUTKeyEvent@@W4TEventCode@@@Z @ 56 NONAME ; void CPhoneStateCallSetup::HandleKeyEventL(struct TKeyEvent const &, enum TEventCode)
-	?SetupIdleScreenInBackgroundL@CPhoneState@@IAEXXZ @ 57 NONAME ; void CPhoneState::SetupIdleScreenInBackgroundL(void)
-	?SendGlobalWarningNoteL@CPhoneState@@IAEXH@Z @ 58 NONAME ; void CPhoneState::SendGlobalWarningNoteL(int)
-	?CompleteSatRequestL@CPhoneState@@IAEXH@Z @ 59 NONAME ; void CPhoneState::CompleteSatRequestL(int)
-	?NewL@CPhoneStateStartup@@SAPAV1@PAVMPhoneStateMachine@@PAVMPhoneViewCommandHandle@@PAVMPhoneCustomization@@@Z @ 60 NONAME ; class CPhoneStateStartup * CPhoneStateStartup::NewL(class MPhoneStateMachine *, class MPhoneViewCommandHandle *, class MPhoneCustomization *)
-	?LaunchNewCallQueryL@CPhoneStateInCall@@IAEXXZ @ 61 NONAME ; void CPhoneStateInCall::LaunchNewCallQueryL(void)
-	?NeedToSendToBackgroundL@CPhoneState@@IBEHXZ @ 62 NONAME ; int CPhoneState::NeedToSendToBackgroundL(void) const
-	?SetCallHeaderTextsForCallComingInL@CPhoneState@@IAEXHHPAVTPhoneCmdParamCallHeaderData@@@Z @ 63 NONAME ; void CPhoneState::SetCallHeaderTextsForCallComingInL(int, int, class TPhoneCmdParamCallHeaderData *)
-	?IsSimOk@CPhoneState@@QAEHXZ @ 64 NONAME ; int CPhoneState::IsSimOk(void)
-	?ClearNumberEntryContentCache@CPhoneState@@IAEXXZ @ 65 NONAME ; void CPhoneState::ClearNumberEntryContentCache(void)
-	?HandleCommandL@CPhoneStateIdle@@UAEHH@Z @ 66 NONAME ; int CPhoneStateIdle::HandleCommandL(int)
-	?ViewCommandHandle@CPhoneStateHandle@@QAEPAVMPhoneViewCommandHandle@@XZ @ 67 NONAME ; class MPhoneViewCommandHandle * CPhoneStateHandle::ViewCommandHandle(void)
-	?DialMultimediaCallL@CPhoneStateIdle@@IAEXXZ @ 68 NONAME ; void CPhoneStateIdle::DialMultimediaCallL(void)
-	?DisconnectOutgoingCallL@CPhoneStateInCall@@IAEXXZ @ 69 NONAME ; void CPhoneStateInCall::DisconnectOutgoingCallL(void)
-	?IsKeyLockOn@CPhoneState@@MBEHXZ @ 70 NONAME ; int CPhoneState::IsKeyLockOn(void) const
-	??1CPhoneStateInCall@@UAE@XZ @ 71 NONAME ; CPhoneStateInCall::~CPhoneStateInCall(void)
-	?CustomizedDialerMenuResourceIdL@CPhoneState@@IAEHXZ @ 72 NONAME ; int CPhoneState::CustomizedDialerMenuResourceIdL(void)
-	?ShowReconnectQueryL@CPhoneReconnectQuery@@QAEXH@Z @ 73 NONAME ; void CPhoneReconnectQuery::ShowReconnectQueryL(int)
-	?UpdateSilenceButtonDimming@CPhoneState@@IAEXXZ @ 74 NONAME ; void CPhoneState::UpdateSilenceButtonDimming(void)
-	?SetNumberEntryVisibilityL@CPhoneState@@IAEXH@Z @ 75 NONAME ; void CPhoneState::SetNumberEntryVisibilityL(int)
-	?HandleError@CPhoneUIController@@UAEXABUTPEErrorInfo@@@Z @ 76 NONAME ; void CPhoneUIController::HandleError(struct TPEErrorInfo const &)
-	?ConstructL@CPhoneStateInCall@@MAEXXZ @ 77 NONAME ; void CPhoneStateInCall::ConstructL(void)
-	?OnlyHashInNumberEntryL@CPhoneStateIdle@@MAEXXZ @ 78 NONAME ; void CPhoneStateIdle::OnlyHashInNumberEntryL(void)
-	?IsVideoCallRingingL@CPhoneStateInCall@@MAEHXZ @ 79 NONAME ; int CPhoneStateInCall::IsVideoCallRingingL(void)
-	?HandlePhoneForegroundEventL@CPhoneStateIdle@@UAEXXZ @ 80 NONAME ; void CPhoneStateIdle::HandlePhoneForegroundEventL(void)
-	?HandleHoldSwitchL@CPhoneState@@QAEXXZ @ 81 NONAME ; void CPhoneState::HandleHoldSwitchL(void)
-	?CloseDtmfQueryL@CPhoneStateInCall@@IAEXXZ @ 82 NONAME ; void CPhoneStateInCall::CloseDtmfQueryL(void)
-	?DynInitMenuBarL@CPhoneState@@UAEXHPAVCEikMenuBar@@@Z @ 83 NONAME ; void CPhoneState::DynInitMenuBarL(int, class CEikMenuBar *)
-	?HandleDtmfKeyToneL@CPhoneStateStartup@@EAEXABUTKeyEvent@@W4TEventCode@@@Z @ 84 NONAME ; void CPhoneStateStartup::HandleDtmfKeyToneL(struct TKeyEvent const &, enum TEventCode)
-	?HandleNumberEntryEdited@CPhoneState@@MAEXXZ @ 85 NONAME ; void CPhoneState::HandleNumberEntryEdited(void)
-	?ShowTextQueryL@CPhoneState@@IAEXHHHPAVTDes16@@H@Z @ 86 NONAME ; void CPhoneState::ShowTextQueryL(int, int, int, class TDes16 *, int)
-	?DialMultimediaCallL@CPhoneState@@IAEXXZ @ 87 NONAME ; void CPhoneState::DialMultimediaCallL(void)
-	?NewL@CPhoneUIController@@SAPAV1@PAVMPhoneViewCommandHandle@@@Z @ 88 NONAME ; class CPhoneUIController * CPhoneUIController::NewL(class MPhoneViewCommandHandle *)
-	?HandleCreateNumberEntryL@CPhoneStateStartup@@EAEXABUTKeyEvent@@W4TEventCode@@@Z @ 89 NONAME ; void CPhoneStateStartup::HandleCreateNumberEntryL(struct TKeyEvent const &, enum TEventCode)
-	?CheckDisableHWKeysAndCallUIL@CPhoneState@@QAEXXZ @ 90 NONAME ; void CPhoneState::CheckDisableHWKeysAndCallUIL(void)
-	?IsMenuBarVisibleL@CPhoneState@@UBEHXZ @ 91 NONAME ; int CPhoneState::IsMenuBarVisibleL(void) const
-	?HandleErrorL@CPhoneState@@UAEXABUTPEErrorInfo@@@Z @ 92 NONAME ; void CPhoneState::HandleErrorL(struct TPEErrorInfo const &)
-	?HandleCommandL@CPhoneStateCallSetup@@UAEHH@Z @ 93 NONAME ; int CPhoneStateCallSetup::HandleCommandL(int)
-	?HandleAudioOutputChangedL@CPhoneState@@IAEXXZ @ 94 NONAME ; void CPhoneState::HandleAudioOutputChangedL(void)
-	??1CPhoneUIController@@UAE@XZ @ 95 NONAME ; CPhoneUIController::~CPhoneUIController(void)
-	?HandleKeyEventL@CPhoneState@@UAEXABUTKeyEvent@@W4TEventCode@@@Z @ 96 NONAME ; void CPhoneState::HandleKeyEventL(struct TKeyEvent const &, enum TEventCode)
-	?UpdateIncomingContextMenuL@CPhoneState@@MAEXH@Z @ 97 NONAME ; void CPhoneState::UpdateIncomingContextMenuL(int)
-	?OpenMenuBarL@CPhoneStateInCall@@MAEXXZ @ 98 NONAME ; void CPhoneStateInCall::OpenMenuBarL(void)
-	?UpdateIncomingCbaL@CPhoneCbaManager@@QAEXH@Z @ 99 NONAME ; void CPhoneCbaManager::UpdateIncomingCbaL(int)
-	?SetTouchPaneButtonDisabled@CPhoneState@@IAEXH@Z @ 100 NONAME ; void CPhoneState::SetTouchPaneButtonDisabled(int)
-	?ConstructL@CPhoneStateIncoming@@MAEXXZ @ 101 NONAME ; void CPhoneStateIncoming::ConstructL(void)
-	?CreatePhoneEngineL@CPhoneStateMachine@@UAEPAVMPEPhoneModel@@AAVMEngineMonitor@@@Z @ 102 NONAME ; class MPEPhoneModel * CPhoneStateMachine::CreatePhoneEngineL(class MEngineMonitor &)
-	?SetTouchPaneButtons@CPhoneState@@IAEXH@Z @ 103 NONAME ; void CPhoneState::SetTouchPaneButtons(int)
-	?HandleIdleForegroundEventL@CPhoneStateStartup@@UAEXXZ @ 104 NONAME ; void CPhoneStateStartup::HandleIdleForegroundEventL(void)
-	?CallFromNumberEntryL@CPhoneState@@IAEXXZ @ 105 NONAME ; void CPhoneState::CallFromNumberEntryL(void)
-	?UpdateCbaL@CPhoneCbaManager@@QAEXH@Z @ 106 NONAME ; void CPhoneCbaManager::UpdateCbaL(int)
-	?IsVideoCall@CPhoneState@@IAEHH@Z @ 107 NONAME ; int CPhoneState::IsVideoCall(int)
-	?IsSwivelClosed@CPhoneState@@QBEHXZ @ 108 NONAME ; int CPhoneState::IsSwivelClosed(void) const
-	?CloseCustomizedDialerL@CPhoneState@@QAEXXZ @ 109 NONAME ; void CPhoneState::CloseCustomizedDialerL(void)
-	?HandlePhoneForegroundEventL@CPhoneUIController@@UAEXXZ @ 110 NONAME ; void CPhoneUIController::HandlePhoneForegroundEventL(void)
-	?CheckIfRestoreNEContentAfterDtmfDialer@CPhoneState@@IAEXXZ @ 111 NONAME ; void CPhoneState::CheckIfRestoreNEContentAfterDtmfDialer(void)
-	?UpdateInCallContextMenuL@CPhoneState@@UAEXXZ @ 112 NONAME ; void CPhoneState::UpdateInCallContextMenuL(void)
-	?HandleNumericKeyEventL@CPhoneState@@MAEXABUTKeyEvent@@W4TEventCode@@@Z @ 113 NONAME ; void CPhoneState::HandleNumericKeyEventL(struct TKeyEvent const &, enum TEventCode)
-	?SetToolbarDimming@CPhoneState@@IAEXH@Z @ 114 NONAME ; void CPhoneState::SetToolbarDimming(int)
-	?SendGlobalErrorNoteL@CPhoneState@@QAEXH@Z @ 115 NONAME ; void CPhoneState::SendGlobalErrorNoteL(int)
-	?IsAutoLockOn@CPhoneState@@UBEHXZ @ 116 NONAME ; int CPhoneState::IsAutoLockOn(void) const
-	?UpdateCbaL@CPhoneStateCallSetup@@MAEXH@Z @ 117 NONAME ; void CPhoneStateCallSetup::UpdateCbaL(int)
-	?RestoreNumberEntryContentL@CPhoneState@@IAEXXZ @ 118 NONAME ; void CPhoneState::RestoreNumberEntryContentL(void)
-	?HandleKeyEventL@CPhoneStateIdle@@UAEXABUTKeyEvent@@W4TEventCode@@@Z @ 119 NONAME ; void CPhoneStateIdle::HandleKeyEventL(struct TKeyEvent const &, enum TEventCode)
-	?IsNumberEntryContentStored@CPhoneState@@IAEHXZ @ 120 NONAME ; int CPhoneState::IsNumberEntryContentStored(void)
-	?IsVideoCallActiveL@CPhoneStateInCall@@MAEHXZ @ 121 NONAME ; int CPhoneStateInCall::IsVideoCallActiveL(void)
-	?HandlePhoneStartupL@CPhoneStateStartup@@UAEXXZ @ 122 NONAME ; void CPhoneStateStartup::HandlePhoneStartupL(void)
-	?DialVoiceCallL@CPhoneState@@IAEXXZ @ 123 NONAME ; void CPhoneState::DialVoiceCallL(void)
-	?StateMachine@CPhoneStateHandle@@QAEPAVMPhoneStateMachine@@XZ @ 124 NONAME ; class MPhoneStateMachine * CPhoneStateHandle::StateMachine(void)
-	?EndUiUpdate@CPhoneState@@IAEXXZ @ 125 NONAME ; void CPhoneState::EndUiUpdate(void)
-	?HandleKeyPressDurationL@CPhoneStateIncoming@@UAEXW4TKeyCode@@VTTimeIntervalMicroSeconds@@@Z @ 126 NONAME ; void CPhoneStateIncoming::HandleKeyPressDurationL(enum TKeyCode, class TTimeIntervalMicroSeconds)
-	?UpdateInCallCbaL@CPhoneStateInCall@@MAEXXZ @ 127 NONAME ; void CPhoneStateInCall::UpdateInCallCbaL(void)
-	?EndTransEffect@CPhoneState@@QAEXXZ @ 128 NONAME ; void CPhoneState::EndTransEffect(void)
-	?HandleEnvironmentChangeL@CPhoneState@@UAEXH@Z @ 129 NONAME ; void CPhoneState::HandleEnvironmentChangeL(int)
-	?HandleKeyMessageL@CPhoneStateInCall@@UAEXW4TPhoneKeyEventMessages@MPhoneKeyEvents@@W4TKeyCode@@@Z @ 130 NONAME ; void CPhoneStateInCall::HandleKeyMessageL(enum MPhoneKeyEvents::TPhoneKeyEventMessages, enum TKeyCode)
-	?SetRingingTonePlaybackL@CPhoneState@@IAEXH@Z @ 131 NONAME ; void CPhoneState::SetRingingTonePlaybackL(int)
-	?ProcessCommandL@CPhoneState@@UAEHH@Z @ 132 NONAME ; int CPhoneState::ProcessCommandL(int)
-	?BeginUiUpdateLC@CPhoneState@@IAEXXZ @ 133 NONAME ; void CPhoneState::BeginUiUpdateLC(void)
-	?DecreaseAudioVolumeL@CPhoneState@@IAEXXZ @ 134 NONAME ; void CPhoneState::DecreaseAudioVolumeL(void)
-	?PhoneEngineInfo@CPhoneStateMachine@@UAEPAVMPEEngineInfo@@XZ @ 135 NONAME ; class MPEEngineInfo * CPhoneStateMachine::PhoneEngineInfo(void)
-	?CreateNumberEntryL@CPhoneStateInCall@@IAEXXZ @ 136 NONAME ; void CPhoneStateInCall::CreateNumberEntryL(void)
-	?HandleSystemEventL@CPhoneUIController@@UAEXABVTWsEvent@@@Z @ 137 NONAME ; void CPhoneUIController::HandleSystemEventL(class TWsEvent const &)
-	?DynInitMenuPaneL@CPhoneUIController@@UAEXHPAVCEikMenuPane@@@Z @ 138 NONAME ; void CPhoneUIController::DynInitMenuPaneL(int, class CEikMenuPane *)
-	??0CPhoneStateStartup@@IAE@PAVMPhoneStateMachine@@PAVMPhoneViewCommandHandle@@PAVMPhoneCustomization@@@Z @ 139 NONAME ; CPhoneStateStartup::CPhoneStateStartup(class MPhoneStateMachine *, class MPhoneViewCommandHandle *, class MPhoneCustomization *)
-	?GetRemoteInfoDataL@CPhoneState@@IAEXHAAVTDes16@@@Z @ 140 NONAME ; void CPhoneState::GetRemoteInfoDataL(int, class TDes16 &)
-	?SetDivertIndication@CPhoneState@@UAEXH@Z @ 141 NONAME ; void CPhoneState::SetDivertIndication(int)
-	?UpdateCbaL@CPhoneStateInCall@@MAEXH@Z @ 142 NONAME ; void CPhoneStateInCall::UpdateCbaL(int)
-	?SetCallId@CPhoneStateMachine@@UAEXH@Z @ 143 NONAME ; void CPhoneStateMachine::SetCallId(int)
-	?ProcessCommandL@CPhoneUIController@@UAEHH@Z @ 144 NONAME ; int CPhoneUIController::ProcessCommandL(int)
-	?DisplayHeaderForCallComingInL@CPhoneState@@IAEXHH@Z @ 145 NONAME ; void CPhoneState::DisplayHeaderForCallComingInL(int, int)
-	??0CPhoneStateIdle@@IAE@PAVMPhoneStateMachine@@PAVMPhoneViewCommandHandle@@PAVMPhoneCustomization@@@Z @ 146 NONAME ; CPhoneStateIdle::CPhoneStateIdle(class MPhoneStateMachine *, class MPhoneViewCommandHandle *, class MPhoneCustomization *)
-	?SendPhoneEngineMessage@CPhoneStateMachine@@UAEXH@Z @ 147 NONAME ; void CPhoneStateMachine::SendPhoneEngineMessage(int)
-	??0CPhoneStateCallSetup@@IAE@PAVMPhoneStateMachine@@PAVMPhoneViewCommandHandle@@PAVMPhoneCustomization@@@Z @ 148 NONAME ; CPhoneStateCallSetup::CPhoneStateCallSetup(class MPhoneStateMachine *, class MPhoneViewCommandHandle *, class MPhoneCustomization *)
-	??0CPhoneState@@QAE@PAVMPhoneStateMachine@@PAVMPhoneViewCommandHandle@@PAVMPhoneCustomization@@@Z @ 149 NONAME ; CPhoneState::CPhoneState(class MPhoneStateMachine *, class MPhoneViewCommandHandle *, class MPhoneCustomization *)
-	?HandleDtmfKeyToneL@CPhoneState@@UAEXABUTKeyEvent@@W4TEventCode@@@Z @ 150 NONAME ; void CPhoneState::HandleDtmfKeyToneL(struct TKeyEvent const &, enum TEventCode)
-	?HandleKeyMessageL@CPhoneStateIdle@@UAEXW4TPhoneKeyEventMessages@MPhoneKeyEvents@@W4TKeyCode@@@Z @ 151 NONAME ; void CPhoneStateIdle::HandleKeyMessageL(enum MPhoneKeyEvents::TPhoneKeyEventMessages, enum TKeyCode)
-	?HandleForegroundEventL@CPhoneUIController@@UAEXH@Z @ 152 NONAME ; void CPhoneUIController::HandleForegroundEventL(int)
-	?HandleSendCommandL@CPhoneStateIdle@@MAEXXZ @ 153 NONAME ; void CPhoneStateIdle::HandleSendCommandL(void)
-	?HandleCommandL@CPhoneUIController@@UAEHH@Z @ 154 NONAME ; int CPhoneUIController::HandleCommandL(int)
-	?HandleCreateNumberEntryL@CPhoneState@@UAEXABUTKeyEvent@@W4TEventCode@@@Z @ 155 NONAME ; void CPhoneState::HandleCreateNumberEntryL(struct TKeyEvent const &, enum TEventCode)
-	?DisableHWKeysL@CPhoneState@@QAEXXZ @ 156 NONAME ; void CPhoneState::DisableHWKeysL(void)
-	?DisplayHeaderForOutgoingCallL@CPhoneState@@IAEXH@Z @ 157 NONAME ; void CPhoneState::DisplayHeaderForOutgoingCallL(int)
-	?GetBlockedKeyList@CPhoneState@@UBEABV?$RArray@H@@XZ @ 158 NONAME ; class RArray<int> const & CPhoneState::GetBlockedKeyList(void) const
-	?HandlePhoneEngineMessageL@CPhoneStateInCall@@UAEXHH@Z @ 159 NONAME ; void CPhoneStateInCall::HandlePhoneEngineMessageL(int, int)
-	?IsSpeedDialNumber@CPhoneStateIdle@@IBEHABVTDesC16@@@Z @ 160 NONAME ; int CPhoneStateIdle::IsSpeedDialNumber(class TDesC16 const &) const
-	?IsNumberEntryUsedL@CPhoneState@@UAEHXZ @ 161 NONAME ; int CPhoneState::IsNumberEntryUsedL(void)
-	?PhoneStorage@CPhoneStateMachine@@UAEPAVMPhoneStorage@@XZ @ 162 NONAME ; class MPhoneStorage * CPhoneStateMachine::PhoneStorage(void)
-	??1CPhoneState@@UAE@XZ @ 163 NONAME ; CPhoneState::~CPhoneState(void)
-	?HandleCreateNumberEntryL@CPhoneStateCallSetup@@MAEXABUTKeyEvent@@W4TEventCode@@@Z @ 164 NONAME ; void CPhoneStateCallSetup::HandleCreateNumberEntryL(struct TKeyEvent const &, enum TEventCode)
-	?HandlePhoneEngineMessageL@CPhoneStateCallSetup@@UAEXHH@Z @ 165 NONAME ; void CPhoneStateCallSetup::HandlePhoneEngineMessageL(int, int)
-	?HandlePhoneFocusLostEventL@CPhoneState@@UAEXXZ @ 166 NONAME ; void CPhoneState::HandlePhoneFocusLostEventL(void)
-	??1CPhoneStateMachine@@UAE@XZ @ 167 NONAME ; CPhoneStateMachine::~CPhoneStateMachine(void)
-	?HandleIdleForegroundEventL@CPhoneState@@UAEXXZ @ 168 NONAME ; void CPhoneState::HandleIdleForegroundEventL(void)
-	?DynInitMenuPaneL@CPhoneState@@UAEXHPAVCEikMenuPane@@@Z @ 169 NONAME ; void CPhoneState::DynInitMenuPaneL(int, class CEikMenuPane *)
-	?IsDTMFEditorVisibleL@CPhoneState@@IBEHXZ @ 170 NONAME ; int CPhoneState::IsDTMFEditorVisibleL(void) const
-	?ConstructL@CPhoneStateCallSetup@@MAEXXZ @ 171 NONAME ; void CPhoneStateCallSetup::ConstructL(void)
-	?BeginTransEffectLC@CPhoneState@@QAEXW4TStateTransEffectType@@@Z @ 172 NONAME ; void CPhoneState::BeginTransEffectLC(enum TStateTransEffectType)
-	?HandleMessage@CPhoneUIController@@UAEXHH@Z @ 173 NONAME ; void CPhoneUIController::HandleMessage(int, int)
-	?HandleSystemEventL@CPhoneState@@UAEXABVTWsEvent@@@Z @ 174 NONAME ; void CPhoneState::HandleSystemEventL(class TWsEvent const &)
-	?DisplayCallSetupL@CPhoneStateIdle@@IAEXH@Z @ 175 NONAME ; void CPhoneStateIdle::DisplayCallSetupL(int)
-	?ConstructL@CPhoneStateStartup@@MAEXXZ @ 176 NONAME ; void CPhoneStateStartup::ConstructL(void)
-	?HandleKeyMessageL@CPhoneStateStartup@@UAEXW4TPhoneKeyEventMessages@MPhoneKeyEvents@@W4TKeyCode@@@Z @ 177 NONAME ; void CPhoneStateStartup::HandleKeyMessageL(enum MPhoneKeyEvents::TPhoneKeyEventMessages, enum TKeyCode)
-	?ShowNoteL@CPhoneState@@IAEXH@Z @ 178 NONAME ; void CPhoneState::ShowNoteL(int)
-	?HandlePropertyChangedL@CPhoneState@@UAEXABVTUid@@IH@Z @ 179 NONAME ; void CPhoneState::HandlePropertyChangedL(class TUid const &, unsigned int, int)
-	?IsAnyQueryActiveL@CPhoneState@@QAEHXZ @ 180 NONAME ; int CPhoneState::IsAnyQueryActiveL(void)
-	?State@CPhoneStateMachine@@UAEPAVMPhoneState@@XZ @ 181 NONAME ; class MPhoneState * CPhoneStateMachine::State(void)
-	?SetHandsfreeModeL@CPhoneState@@IAEXH@Z @ 182 NONAME ; void CPhoneState::SetHandsfreeModeL(int)
-	?IsCustomizedDialerVisibleL@CPhoneState@@QBEHXZ @ 183 NONAME ; int CPhoneState::IsCustomizedDialerVisibleL(void) const
-	?UpdateInCallCbaL@CPhoneStateCallSetup@@MAEXXZ @ 184 NONAME ; void CPhoneStateCallSetup::UpdateInCallCbaL(void)
-	?HandleNumberEntryClearedL@CPhoneStateInCall@@MAEXXZ @ 185 NONAME ; void CPhoneStateInCall::HandleNumberEntryClearedL(void)
-	??0CPhoneStateIncoming@@IAE@PAVMPhoneStateMachine@@PAVMPhoneViewCommandHandle@@PAVMPhoneCustomization@@@Z @ 186 NONAME ; CPhoneStateIncoming::CPhoneStateIncoming(class MPhoneStateMachine *, class MPhoneViewCommandHandle *, class MPhoneCustomization *)
-	??1CPhoneStateIncoming@@UAE@XZ @ 187 NONAME ; CPhoneStateIncoming::~CPhoneStateIncoming(void)
-	?HandleKeyLockEnabled@CPhoneUIController@@UAEXH@Z @ 188 NONAME ; void CPhoneUIController::HandleKeyLockEnabled(int)
-	?DisableCallUIL@CPhoneState@@QAEXXZ @ 189 NONAME ; void CPhoneState::DisableCallUIL(void)
-	?DeleteTouchPaneButtons@CPhoneState@@IAEXXZ @ 190 NONAME ; void CPhoneState::DeleteTouchPaneButtons(void)
-	?ProcessCommandL@CPhoneStateIdle@@UAEHH@Z @ 191 NONAME ; int CPhoneStateIdle::ProcessCommandL(int)
-	?IsNoteVisibleL@CPhoneState@@MAEHXZ @ 192 NONAME ; int CPhoneState::IsNoteVisibleL(void)
-	?DynInitMenuBarL@CPhoneUIController@@UAEXHPAVCEikMenuBar@@@Z @ 193 NONAME ; void CPhoneUIController::DynInitMenuBarL(int, class CEikMenuBar *)
-	?IsAlphanumericSupportedAndCharInput@CPhoneState@@MAEHABUTKeyEvent@@@Z @ 194 NONAME ; int CPhoneState::IsAlphanumericSupportedAndCharInput(struct TKeyEvent const &)
-	?HandlePhoneEngineMessageL@CPhoneStateStartup@@UAEXHH@Z @ 195 NONAME ; void CPhoneStateStartup::HandlePhoneEngineMessageL(int, int)
-	?HandleKeyEventL@CPhoneStateIncoming@@UAEXABUTKeyEvent@@W4TEventCode@@@Z @ 196 NONAME ; void CPhoneStateIncoming::HandleKeyEventL(struct TKeyEvent const &, enum TEventCode)
-	?HandleKeyEventL@CPhoneStateStartup@@UAEXABUTKeyEvent@@W4TEventCode@@@Z @ 197 NONAME ; void CPhoneStateStartup::HandleKeyEventL(struct TKeyEvent const &, enum TEventCode)
-	?HandleNumberEntryClearedL@CPhoneState@@MAEXXZ @ 198 NONAME ; void CPhoneState::HandleNumberEntryClearedL(void)
-	?OnlyHashInNumberEntryL@CPhoneState@@MAEXXZ @ 199 NONAME ; void CPhoneState::OnlyHashInNumberEntryL(void)
-	?IncreaseAudioVolumeL@CPhoneState@@IAEXXZ @ 200 NONAME ; void CPhoneState::IncreaseAudioVolumeL(void)
-	?ConstructL@CPhoneStateIdle@@MAEXXZ @ 201 NONAME ; void CPhoneStateIdle::ConstructL(void)
-	?CheckIfShowCallTerminationNote@CPhoneState@@MAEHXZ @ 202 NONAME ; int CPhoneState::CheckIfShowCallTerminationNote(void)
-	?SendGlobalInfoNoteL@CPhoneState@@QAEXH@Z @ 203 NONAME ; void CPhoneState::SendGlobalInfoNoteL(int)
-	?DisplayIdleScreenL@CPhoneState@@IAEXXZ @ 204 NONAME ; void CPhoneState::DisplayIdleScreenL(void)
-	?StartShowSecurityNoteL@CPhoneState@@IAEXXZ @ 205 NONAME ; void CPhoneState::StartShowSecurityNoteL(void)
-	?StoreNumberEntryContentL@CPhoneState@@IAEXXZ @ 206 NONAME ; void CPhoneState::StoreNumberEntryContentL(void)
-	?SetBTHandsfreeModeL@CPhoneState@@IAEXH@Z @ 207 NONAME ; void CPhoneState::SetBTHandsfreeModeL(int)
-	?HandlePhoneEngineMessageL@CPhoneStateIncoming@@UAEXHH@Z @ 208 NONAME ; void CPhoneStateIncoming::HandlePhoneEngineMessageL(int, int)
-	?SetDefaultFlagsL@CPhoneState@@IAEXXZ @ 209 NONAME ; void CPhoneState::SetDefaultFlagsL(void)
-	?HandleCommandL@CPhoneStateInCall@@UAEHH@Z @ 210 NONAME ; int CPhoneStateInCall::HandleCommandL(int)
-	?DialVoiceCallL@CPhoneStateIdle@@IAEXXZ @ 211 NONAME ; void CPhoneStateIdle::DialVoiceCallL(void)
-	?UpdateRemoteInfoDataL@CPhoneState@@IAEXH@Z @ 212 NONAME ; void CPhoneState::UpdateRemoteInfoDataL(int)
-	?GetRingingCallL@CPhoneStateInCall@@MAEHXZ @ 213 NONAME ; int CPhoneStateInCall::GetRingingCallL(void)
-	?HandleIdleForegroundEventL@CPhoneUIController@@UAEXXZ @ 214 NONAME ; void CPhoneUIController::HandleIdleForegroundEventL(void)
-	?SetBackButtonActive@CPhoneState@@IAEXH@Z @ 215 NONAME ; void CPhoneState::SetBackButtonActive(int)
-	?HandlePhoneForegroundEventL@CPhoneState@@UAEXXZ @ 216 NONAME ; void CPhoneState::HandlePhoneForegroundEventL(void)
-	?HandleForegroundEventL@CPhoneState@@UAEXH@Z @ 217 NONAME ; void CPhoneState::HandleForegroundEventL(int)
-	?DisplayIncomingCallL@CPhoneStateIdle@@IAEXH@Z @ 218 NONAME ; void CPhoneStateIdle::DisplayIncomingCallL(int)
-	?HandleRemConCommandL@CPhoneState@@UAEHW4TRemConCoreApiOperationId@@W4TRemConCoreApiButtonAction@@@Z @ 219 NONAME ; int CPhoneState::HandleRemConCommandL(enum TRemConCoreApiOperationId, enum TRemConCoreApiButtonAction)
-	??1CPhoneStateIdle@@UAE@XZ @ 220 NONAME ; CPhoneStateIdle::~CPhoneStateIdle(void)
-	?PhoneNumberFromEntryLC@CPhoneState@@IAEPAVHBufC16@@XZ @ 221 NONAME ; class HBufC16 * CPhoneState::PhoneNumberFromEntryLC(void)
-	?BaseConstructL@CPhoneState@@QAEXXZ @ 222 NONAME ; void CPhoneState::BaseConstructL(void)
-	?HandlePhoneStartupL@CPhoneUIController@@UAEXXZ @ 223 NONAME ; void CPhoneUIController::HandlePhoneStartupL(void)
-	?SpeedDialL@CPhoneStateIdle@@IAEXABIW4TDialInitiationMethod@1@@Z @ 224 NONAME ; void CPhoneStateIdle::SpeedDialL(unsigned int const &, enum CPhoneStateIdle::TDialInitiationMethod)
-	?SetCallHeaderType@CPhoneState@@IAEXH@Z @ 225 NONAME ; void CPhoneState::SetCallHeaderType(int)
-	?SetTouchPaneButtonEnabled@CPhoneState@@IAEXH@Z @ 226 NONAME ; void CPhoneState::SetTouchPaneButtonEnabled(int)
-	?SetPhoneEngine@CPhoneStateMachine@@UAEXPAVMPEPhoneModel@@@Z @ 227 NONAME ; void CPhoneStateMachine::SetPhoneEngine(class MPEPhoneModel *)
-	?SpeedDialCanceledL@CPhoneStateIdle@@IAEXABI@Z @ 228 NONAME ; void CPhoneStateIdle::SpeedDialCanceledL(unsigned int const &)
-	?CloseDTMFEditorL@CPhoneState@@IAEXXZ @ 229 NONAME ; void CPhoneState::CloseDTMFEditorL(void)
-	?SetTouchPaneVisible@CPhoneState@@IAEXH@Z @ 230 NONAME ; void CPhoneState::SetTouchPaneVisible(int)
-	?HandlePhoneFocusLostEventL@CPhoneUIController@@UAEXXZ @ 231 NONAME ; void CPhoneUIController::HandlePhoneFocusLostEventL(void)
-	?HandleKeyLockEnabled@CPhoneStateIncoming@@UAEXH@Z @ 232 NONAME ; void CPhoneStateIncoming::HandleKeyLockEnabled(int)
-	??0CPhoneStateMachine@@IAE@PAVMPhoneViewCommandHandle@@@Z @ 233 NONAME ; CPhoneStateMachine::CPhoneStateMachine(class MPhoneViewCommandHandle *)
-	??1CPhoneStateStartup@@UAE@XZ @ 234 NONAME ; CPhoneStateStartup::~CPhoneStateStartup(void)
-	?HandleKeyMessageL@CPhoneState@@UAEXW4TPhoneKeyEventMessages@MPhoneKeyEvents@@W4TKeyCode@@@Z @ 235 NONAME ; void CPhoneState::HandleKeyMessageL(enum MPhoneKeyEvents::TPhoneKeyEventMessages, enum TKeyCode)
-	?OpenSoftRejectMessageEditorL@CPhoneState@@MAEXXZ @ 236 NONAME ; void CPhoneState::OpenSoftRejectMessageEditorL(void)
+	?ShowNumberBusyNoteL@CPhoneState@@IAEXXZ @ 44 NONAME ; void CPhoneState::ShowNumberBusyNoteL(void)
+	?DisconnectCallL@CPhoneState@@IAEHXZ @ 45 NONAME ; int CPhoneState::DisconnectCallL(void)
+	?HandleNumberEntryClearedL@CPhoneStateCallSetup@@MAEXXZ @ 46 NONAME ; void CPhoneStateCallSetup::HandleNumberEntryClearedL(void)
+	?HandleIdleForegroundEventL@CPhoneStateIdle@@UAEXXZ @ 47 NONAME ; void CPhoneStateIdle::HandleIdleForegroundEventL(void)
+	?HandleDisconnectingL@CPhoneState@@IAEXH@Z @ 48 NONAME ; void CPhoneState::HandleDisconnectingL(int)
+	?HandleAudioMuteChangedL@CPhoneState@@IAEXXZ @ 49 NONAME ; void CPhoneState::HandleAudioMuteChangedL(void)
+	?HandleKeyLockEnabled@CPhoneState@@UAEXH@Z @ 50 NONAME ; void CPhoneState::HandleKeyLockEnabled(int)
+	?HandleCommandL@CPhoneStateIncoming@@UAEHH@Z @ 51 NONAME ; int CPhoneStateIncoming::HandleCommandL(int)
+	?UpdateSingleActiveCallL@CPhoneState@@IAEXH@Z @ 52 NONAME ; void CPhoneState::UpdateSingleActiveCallL(int)
+	?IsOnScreenDialerSupported@CPhoneState@@IBEHXZ @ 53 NONAME ; int CPhoneState::IsOnScreenDialerSupported(void) const
+	?SimState@CPhoneState@@IBE?AW4TPESimState@@XZ @ 54 NONAME ; enum TPESimState CPhoneState::SimState(void) const
+	?HandleKeyEventL@CPhoneStateCallSetup@@UAEXABUTKeyEvent@@W4TEventCode@@@Z @ 55 NONAME ; void CPhoneStateCallSetup::HandleKeyEventL(struct TKeyEvent const &, enum TEventCode)
+	?SetupIdleScreenInBackgroundL@CPhoneState@@IAEXXZ @ 56 NONAME ; void CPhoneState::SetupIdleScreenInBackgroundL(void)
+	?CompleteSatRequestL@CPhoneState@@IAEXH@Z @ 57 NONAME ; void CPhoneState::CompleteSatRequestL(int)
+	?NewL@CPhoneStateStartup@@SAPAV1@PAVMPhoneStateMachine@@PAVMPhoneViewCommandHandle@@PAVMPhoneCustomization@@@Z @ 58 NONAME ; class CPhoneStateStartup * CPhoneStateStartup::NewL(class MPhoneStateMachine *, class MPhoneViewCommandHandle *, class MPhoneCustomization *)
+	?LaunchNewCallQueryL@CPhoneStateInCall@@IAEXXZ @ 59 NONAME ; void CPhoneStateInCall::LaunchNewCallQueryL(void)
+	?NeedToSendToBackgroundL@CPhoneState@@IBEHXZ @ 60 NONAME ; int CPhoneState::NeedToSendToBackgroundL(void) const
+	?SetCallHeaderTextsForCallComingInL@CPhoneState@@IAEXHHPAVTPhoneCmdParamCallHeaderData@@@Z @ 61 NONAME ; void CPhoneState::SetCallHeaderTextsForCallComingInL(int, int, class TPhoneCmdParamCallHeaderData *)
+	?IsSimOk@CPhoneState@@QAEHXZ @ 62 NONAME ; int CPhoneState::IsSimOk(void)
+	?ClearNumberEntryContentCache@CPhoneState@@IAEXXZ @ 63 NONAME ; void CPhoneState::ClearNumberEntryContentCache(void)
+	?HandleCommandL@CPhoneStateIdle@@UAEHH@Z @ 64 NONAME ; int CPhoneStateIdle::HandleCommandL(int)
+	?ViewCommandHandle@CPhoneStateHandle@@QAEPAVMPhoneViewCommandHandle@@XZ @ 65 NONAME ; class MPhoneViewCommandHandle * CPhoneStateHandle::ViewCommandHandle(void)
+	?DialMultimediaCallL@CPhoneStateIdle@@IAEXXZ @ 66 NONAME ; void CPhoneStateIdle::DialMultimediaCallL(void)
+	?DisconnectOutgoingCallL@CPhoneStateInCall@@IAEXXZ @ 67 NONAME ; void CPhoneStateInCall::DisconnectOutgoingCallL(void)
+	?IsKeyLockOn@CPhoneState@@MBEHXZ @ 68 NONAME ; int CPhoneState::IsKeyLockOn(void) const
+	??1CPhoneStateInCall@@UAE@XZ @ 69 NONAME ; CPhoneStateInCall::~CPhoneStateInCall(void)
+	?CustomizedDialerMenuResourceIdL@CPhoneState@@IAEHXZ @ 70 NONAME ; int CPhoneState::CustomizedDialerMenuResourceIdL(void)
+	?ShowReconnectQueryL@CPhoneReconnectQuery@@QAEXH@Z @ 71 NONAME ; void CPhoneReconnectQuery::ShowReconnectQueryL(int)
+	?UpdateSilenceButtonDimming@CPhoneState@@IAEXXZ @ 72 NONAME ; void CPhoneState::UpdateSilenceButtonDimming(void)
+	?SetNumberEntryVisibilityL@CPhoneState@@IAEXH@Z @ 73 NONAME ; void CPhoneState::SetNumberEntryVisibilityL(int)
+	?HandleError@CPhoneUIController@@UAEXABUTPEErrorInfo@@@Z @ 74 NONAME ; void CPhoneUIController::HandleError(struct TPEErrorInfo const &)
+	?ConstructL@CPhoneStateInCall@@MAEXXZ @ 75 NONAME ; void CPhoneStateInCall::ConstructL(void)
+	?OnlyHashInNumberEntryL@CPhoneStateIdle@@MAEXXZ @ 76 NONAME ; void CPhoneStateIdle::OnlyHashInNumberEntryL(void)
+	?IsVideoCallRingingL@CPhoneStateInCall@@MAEHXZ @ 77 NONAME ; int CPhoneStateInCall::IsVideoCallRingingL(void)
+	?HandlePhoneForegroundEventL@CPhoneStateIdle@@UAEXXZ @ 78 NONAME ; void CPhoneStateIdle::HandlePhoneForegroundEventL(void)
+	?HandleHoldSwitchL@CPhoneState@@QAEXXZ @ 79 NONAME ; void CPhoneState::HandleHoldSwitchL(void)
+	?CloseDtmfQueryL@CPhoneStateInCall@@IAEXXZ @ 80 NONAME ; void CPhoneStateInCall::CloseDtmfQueryL(void)
+	?DynInitMenuBarL@CPhoneState@@UAEXHPAVCEikMenuBar@@@Z @ 81 NONAME ; void CPhoneState::DynInitMenuBarL(int, class CEikMenuBar *)
+	?HandleDtmfKeyToneL@CPhoneStateStartup@@EAEXABUTKeyEvent@@W4TEventCode@@@Z @ 82 NONAME ; void CPhoneStateStartup::HandleDtmfKeyToneL(struct TKeyEvent const &, enum TEventCode)
+	?HandleNumberEntryEdited@CPhoneState@@MAEXXZ @ 83 NONAME ; void CPhoneState::HandleNumberEntryEdited(void)
+	?ShowTextQueryL@CPhoneState@@IAEXHHHPAVTDes16@@H@Z @ 84 NONAME ; void CPhoneState::ShowTextQueryL(int, int, int, class TDes16 *, int)
+	?DialMultimediaCallL@CPhoneState@@IAEXXZ @ 85 NONAME ; void CPhoneState::DialMultimediaCallL(void)
+	?NewL@CPhoneUIController@@SAPAV1@PAVMPhoneViewCommandHandle@@@Z @ 86 NONAME ; class CPhoneUIController * CPhoneUIController::NewL(class MPhoneViewCommandHandle *)
+	?HandleCreateNumberEntryL@CPhoneStateStartup@@EAEXABUTKeyEvent@@W4TEventCode@@@Z @ 87 NONAME ; void CPhoneStateStartup::HandleCreateNumberEntryL(struct TKeyEvent const &, enum TEventCode)
+	?CheckDisableHWKeysAndCallUIL@CPhoneState@@QAEXXZ @ 88 NONAME ; void CPhoneState::CheckDisableHWKeysAndCallUIL(void)
+	?IsMenuBarVisibleL@CPhoneState@@UBEHXZ @ 89 NONAME ; int CPhoneState::IsMenuBarVisibleL(void) const
+	?HandleErrorL@CPhoneState@@UAEXABUTPEErrorInfo@@@Z @ 90 NONAME ; void CPhoneState::HandleErrorL(struct TPEErrorInfo const &)
+	?HandleCommandL@CPhoneStateCallSetup@@UAEHH@Z @ 91 NONAME ; int CPhoneStateCallSetup::HandleCommandL(int)
+	?HandleAudioOutputChangedL@CPhoneState@@IAEXXZ @ 92 NONAME ; void CPhoneState::HandleAudioOutputChangedL(void)
+	??1CPhoneUIController@@UAE@XZ @ 93 NONAME ; CPhoneUIController::~CPhoneUIController(void)
+	?HandleKeyEventL@CPhoneState@@UAEXABUTKeyEvent@@W4TEventCode@@@Z @ 94 NONAME ; void CPhoneState::HandleKeyEventL(struct TKeyEvent const &, enum TEventCode)
+	?UpdateIncomingContextMenuL@CPhoneState@@MAEXH@Z @ 95 NONAME ; void CPhoneState::UpdateIncomingContextMenuL(int)
+	?OpenMenuBarL@CPhoneStateInCall@@MAEXXZ @ 96 NONAME ; void CPhoneStateInCall::OpenMenuBarL(void)
+	?UpdateIncomingCbaL@CPhoneCbaManager@@QAEXH@Z @ 97 NONAME ; void CPhoneCbaManager::UpdateIncomingCbaL(int)
+	?SetTouchPaneButtonDisabled@CPhoneState@@IAEXH@Z @ 98 NONAME ; void CPhoneState::SetTouchPaneButtonDisabled(int)
+	?SendGlobalErrorNoteL@CPhoneState@@QAEXHH@Z @ 99 NONAME ; void CPhoneState::SendGlobalErrorNoteL(int, int)
+	?ConstructL@CPhoneStateIncoming@@MAEXXZ @ 100 NONAME ; void CPhoneStateIncoming::ConstructL(void)
+	?CreatePhoneEngineL@CPhoneStateMachine@@UAEPAVMPEPhoneModel@@AAVMEngineMonitor@@@Z @ 101 NONAME ; class MPEPhoneModel * CPhoneStateMachine::CreatePhoneEngineL(class MEngineMonitor &)
+	?SetTouchPaneButtons@CPhoneState@@IAEXH@Z @ 102 NONAME ; void CPhoneState::SetTouchPaneButtons(int)
+	?HandleIdleForegroundEventL@CPhoneStateStartup@@UAEXXZ @ 103 NONAME ; void CPhoneStateStartup::HandleIdleForegroundEventL(void)
+	?CallFromNumberEntryL@CPhoneState@@IAEXXZ @ 104 NONAME ; void CPhoneState::CallFromNumberEntryL(void)
+	?UpdateCbaL@CPhoneCbaManager@@QAEXH@Z @ 105 NONAME ; void CPhoneCbaManager::UpdateCbaL(int)
+	?IsVideoCall@CPhoneState@@IAEHH@Z @ 106 NONAME ; int CPhoneState::IsVideoCall(int)
+	?IsSwivelClosed@CPhoneState@@QBEHXZ @ 107 NONAME ; int CPhoneState::IsSwivelClosed(void) const
+	?CloseCustomizedDialerL@CPhoneState@@QAEXXZ @ 108 NONAME ; void CPhoneState::CloseCustomizedDialerL(void)
+	?HandlePhoneForegroundEventL@CPhoneUIController@@UAEXXZ @ 109 NONAME ; void CPhoneUIController::HandlePhoneForegroundEventL(void)
+	?CheckIfRestoreNEContentAfterDtmfDialer@CPhoneState@@IAEXXZ @ 110 NONAME ; void CPhoneState::CheckIfRestoreNEContentAfterDtmfDialer(void)
+	?UpdateInCallContextMenuL@CPhoneState@@UAEXXZ @ 111 NONAME ; void CPhoneState::UpdateInCallContextMenuL(void)
+	?HandleNumericKeyEventL@CPhoneState@@MAEXABUTKeyEvent@@W4TEventCode@@@Z @ 112 NONAME ; void CPhoneState::HandleNumericKeyEventL(struct TKeyEvent const &, enum TEventCode)
+	?SetToolbarDimming@CPhoneState@@IAEXH@Z @ 113 NONAME ; void CPhoneState::SetToolbarDimming(int)
+	?IsAutoLockOn@CPhoneState@@UBEHXZ @ 114 NONAME ; int CPhoneState::IsAutoLockOn(void) const
+	?UpdateCbaL@CPhoneStateCallSetup@@MAEXH@Z @ 115 NONAME ; void CPhoneStateCallSetup::UpdateCbaL(int)
+	?RestoreNumberEntryContentL@CPhoneState@@IAEXXZ @ 116 NONAME ; void CPhoneState::RestoreNumberEntryContentL(void)
+	?HandleKeyEventL@CPhoneStateIdle@@UAEXABUTKeyEvent@@W4TEventCode@@@Z @ 117 NONAME ; void CPhoneStateIdle::HandleKeyEventL(struct TKeyEvent const &, enum TEventCode)
+	?SendGlobalWarningNoteL@CPhoneState@@IAEXHH@Z @ 118 NONAME ; void CPhoneState::SendGlobalWarningNoteL(int, int)
+	?IsNumberEntryContentStored@CPhoneState@@IAEHXZ @ 119 NONAME ; int CPhoneState::IsNumberEntryContentStored(void)
+	?IsVideoCallActiveL@CPhoneStateInCall@@MAEHXZ @ 120 NONAME ; int CPhoneStateInCall::IsVideoCallActiveL(void)
+	?HandlePhoneStartupL@CPhoneStateStartup@@UAEXXZ @ 121 NONAME ; void CPhoneStateStartup::HandlePhoneStartupL(void)
+	?DialVoiceCallL@CPhoneState@@IAEXXZ @ 122 NONAME ; void CPhoneState::DialVoiceCallL(void)
+	?StateMachine@CPhoneStateHandle@@QAEPAVMPhoneStateMachine@@XZ @ 123 NONAME ; class MPhoneStateMachine * CPhoneStateHandle::StateMachine(void)
+	?EndUiUpdate@CPhoneState@@IAEXXZ @ 124 NONAME ; void CPhoneState::EndUiUpdate(void)
+	?HandleKeyPressDurationL@CPhoneStateIncoming@@UAEXW4TKeyCode@@VTTimeIntervalMicroSeconds@@@Z @ 125 NONAME ; void CPhoneStateIncoming::HandleKeyPressDurationL(enum TKeyCode, class TTimeIntervalMicroSeconds)
+	?UpdateInCallCbaL@CPhoneStateInCall@@MAEXXZ @ 126 NONAME ; void CPhoneStateInCall::UpdateInCallCbaL(void)
+	?EndTransEffect@CPhoneState@@QAEXXZ @ 127 NONAME ; void CPhoneState::EndTransEffect(void)
+	?HandleEnvironmentChangeL@CPhoneState@@UAEXH@Z @ 128 NONAME ; void CPhoneState::HandleEnvironmentChangeL(int)
+	?HandleKeyMessageL@CPhoneStateInCall@@UAEXW4TPhoneKeyEventMessages@MPhoneKeyEvents@@W4TKeyCode@@@Z @ 129 NONAME ; void CPhoneStateInCall::HandleKeyMessageL(enum MPhoneKeyEvents::TPhoneKeyEventMessages, enum TKeyCode)
+	?SetRingingTonePlaybackL@CPhoneState@@IAEXH@Z @ 130 NONAME ; void CPhoneState::SetRingingTonePlaybackL(int)
+	?ProcessCommandL@CPhoneState@@UAEHH@Z @ 131 NONAME ; int CPhoneState::ProcessCommandL(int)
+	?BeginUiUpdateLC@CPhoneState@@IAEXXZ @ 132 NONAME ; void CPhoneState::BeginUiUpdateLC(void)
+	?DecreaseAudioVolumeL@CPhoneState@@IAEXXZ @ 133 NONAME ; void CPhoneState::DecreaseAudioVolumeL(void)
+	?PhoneEngineInfo@CPhoneStateMachine@@UAEPAVMPEEngineInfo@@XZ @ 134 NONAME ; class MPEEngineInfo * CPhoneStateMachine::PhoneEngineInfo(void)
+	?CreateNumberEntryL@CPhoneStateInCall@@IAEXXZ @ 135 NONAME ; void CPhoneStateInCall::CreateNumberEntryL(void)
+	?HandleSystemEventL@CPhoneUIController@@UAEXABVTWsEvent@@@Z @ 136 NONAME ; void CPhoneUIController::HandleSystemEventL(class TWsEvent const &)
+	?DynInitMenuPaneL@CPhoneUIController@@UAEXHPAVCEikMenuPane@@@Z @ 137 NONAME ; void CPhoneUIController::DynInitMenuPaneL(int, class CEikMenuPane *)
+	??0CPhoneStateStartup@@IAE@PAVMPhoneStateMachine@@PAVMPhoneViewCommandHandle@@PAVMPhoneCustomization@@@Z @ 138 NONAME ; CPhoneStateStartup::CPhoneStateStartup(class MPhoneStateMachine *, class MPhoneViewCommandHandle *, class MPhoneCustomization *)
+	?GetRemoteInfoDataL@CPhoneState@@IAEXHAAVTDes16@@@Z @ 139 NONAME ; void CPhoneState::GetRemoteInfoDataL(int, class TDes16 &)
+	?SetDivertIndication@CPhoneState@@UAEXH@Z @ 140 NONAME ; void CPhoneState::SetDivertIndication(int)
+	?UpdateCbaL@CPhoneStateInCall@@MAEXH@Z @ 141 NONAME ; void CPhoneStateInCall::UpdateCbaL(int)
+	?SetCallId@CPhoneStateMachine@@UAEXH@Z @ 142 NONAME ; void CPhoneStateMachine::SetCallId(int)
+	?ProcessCommandL@CPhoneUIController@@UAEHH@Z @ 143 NONAME ; int CPhoneUIController::ProcessCommandL(int)
+	?DisplayHeaderForCallComingInL@CPhoneState@@IAEXHH@Z @ 144 NONAME ; void CPhoneState::DisplayHeaderForCallComingInL(int, int)
+	??0CPhoneStateIdle@@IAE@PAVMPhoneStateMachine@@PAVMPhoneViewCommandHandle@@PAVMPhoneCustomization@@@Z @ 145 NONAME ; CPhoneStateIdle::CPhoneStateIdle(class MPhoneStateMachine *, class MPhoneViewCommandHandle *, class MPhoneCustomization *)
+	?SendPhoneEngineMessage@CPhoneStateMachine@@UAEXH@Z @ 146 NONAME ; void CPhoneStateMachine::SendPhoneEngineMessage(int)
+	??0CPhoneStateCallSetup@@IAE@PAVMPhoneStateMachine@@PAVMPhoneViewCommandHandle@@PAVMPhoneCustomization@@@Z @ 147 NONAME ; CPhoneStateCallSetup::CPhoneStateCallSetup(class MPhoneStateMachine *, class MPhoneViewCommandHandle *, class MPhoneCustomization *)
+	??0CPhoneState@@QAE@PAVMPhoneStateMachine@@PAVMPhoneViewCommandHandle@@PAVMPhoneCustomization@@@Z @ 148 NONAME ; CPhoneState::CPhoneState(class MPhoneStateMachine *, class MPhoneViewCommandHandle *, class MPhoneCustomization *)
+	?HandleDtmfKeyToneL@CPhoneState@@UAEXABUTKeyEvent@@W4TEventCode@@@Z @ 149 NONAME ; void CPhoneState::HandleDtmfKeyToneL(struct TKeyEvent const &, enum TEventCode)
+	?HandleKeyMessageL@CPhoneStateIdle@@UAEXW4TPhoneKeyEventMessages@MPhoneKeyEvents@@W4TKeyCode@@@Z @ 150 NONAME ; void CPhoneStateIdle::HandleKeyMessageL(enum MPhoneKeyEvents::TPhoneKeyEventMessages, enum TKeyCode)
+	?HandleForegroundEventL@CPhoneUIController@@UAEXH@Z @ 151 NONAME ; void CPhoneUIController::HandleForegroundEventL(int)
+	?HandleSendCommandL@CPhoneStateIdle@@MAEXXZ @ 152 NONAME ; void CPhoneStateIdle::HandleSendCommandL(void)
+	?HandleCommandL@CPhoneUIController@@UAEHH@Z @ 153 NONAME ; int CPhoneUIController::HandleCommandL(int)
+	?HandleCreateNumberEntryL@CPhoneState@@UAEXABUTKeyEvent@@W4TEventCode@@@Z @ 154 NONAME ; void CPhoneState::HandleCreateNumberEntryL(struct TKeyEvent const &, enum TEventCode)
+	?DisableHWKeysL@CPhoneState@@QAEXXZ @ 155 NONAME ; void CPhoneState::DisableHWKeysL(void)
+	?DisplayHeaderForOutgoingCallL@CPhoneState@@IAEXH@Z @ 156 NONAME ; void CPhoneState::DisplayHeaderForOutgoingCallL(int)
+	?GetBlockedKeyList@CPhoneState@@UBEABV?$RArray@H@@XZ @ 157 NONAME ; class RArray<int> const & CPhoneState::GetBlockedKeyList(void) const
+	?HandlePhoneEngineMessageL@CPhoneStateInCall@@UAEXHH@Z @ 158 NONAME ; void CPhoneStateInCall::HandlePhoneEngineMessageL(int, int)
+	?IsNumberEntryUsedL@CPhoneState@@UAEHXZ @ 159 NONAME ; int CPhoneState::IsNumberEntryUsedL(void)
+	?PhoneStorage@CPhoneStateMachine@@UAEPAVMPhoneStorage@@XZ @ 160 NONAME ; class MPhoneStorage * CPhoneStateMachine::PhoneStorage(void)
+	??1CPhoneState@@UAE@XZ @ 161 NONAME ; CPhoneState::~CPhoneState(void)
+	?HandleCreateNumberEntryL@CPhoneStateCallSetup@@MAEXABUTKeyEvent@@W4TEventCode@@@Z @ 162 NONAME ; void CPhoneStateCallSetup::HandleCreateNumberEntryL(struct TKeyEvent const &, enum TEventCode)
+	?HandlePhoneEngineMessageL@CPhoneStateCallSetup@@UAEXHH@Z @ 163 NONAME ; void CPhoneStateCallSetup::HandlePhoneEngineMessageL(int, int)
+	?HandlePhoneFocusLostEventL@CPhoneState@@UAEXXZ @ 164 NONAME ; void CPhoneState::HandlePhoneFocusLostEventL(void)
+	??1CPhoneStateMachine@@UAE@XZ @ 165 NONAME ; CPhoneStateMachine::~CPhoneStateMachine(void)
+	?HandleIdleForegroundEventL@CPhoneState@@UAEXXZ @ 166 NONAME ; void CPhoneState::HandleIdleForegroundEventL(void)
+	?DynInitMenuPaneL@CPhoneState@@UAEXHPAVCEikMenuPane@@@Z @ 167 NONAME ; void CPhoneState::DynInitMenuPaneL(int, class CEikMenuPane *)
+	?IsDTMFEditorVisibleL@CPhoneState@@IBEHXZ @ 168 NONAME ; int CPhoneState::IsDTMFEditorVisibleL(void) const
+	?ConstructL@CPhoneStateCallSetup@@MAEXXZ @ 169 NONAME ; void CPhoneStateCallSetup::ConstructL(void)
+	?BeginTransEffectLC@CPhoneState@@QAEXW4TStateTransEffectType@@@Z @ 170 NONAME ; void CPhoneState::BeginTransEffectLC(enum TStateTransEffectType)
+	?HandleMessage@CPhoneUIController@@UAEXHH@Z @ 171 NONAME ; void CPhoneUIController::HandleMessage(int, int)
+	?HandleSystemEventL@CPhoneState@@UAEXABVTWsEvent@@@Z @ 172 NONAME ; void CPhoneState::HandleSystemEventL(class TWsEvent const &)
+	?DisplayCallSetupL@CPhoneStateIdle@@IAEXH@Z @ 173 NONAME ; void CPhoneStateIdle::DisplayCallSetupL(int)
+	?ConstructL@CPhoneStateStartup@@MAEXXZ @ 174 NONAME ; void CPhoneStateStartup::ConstructL(void)
+	?HandleKeyMessageL@CPhoneStateStartup@@UAEXW4TPhoneKeyEventMessages@MPhoneKeyEvents@@W4TKeyCode@@@Z @ 175 NONAME ; void CPhoneStateStartup::HandleKeyMessageL(enum MPhoneKeyEvents::TPhoneKeyEventMessages, enum TKeyCode)
+	?ShowNoteL@CPhoneState@@IAEXH@Z @ 176 NONAME ; void CPhoneState::ShowNoteL(int)
+	?HandlePropertyChangedL@CPhoneState@@UAEXABVTUid@@IH@Z @ 177 NONAME ; void CPhoneState::HandlePropertyChangedL(class TUid const &, unsigned int, int)
+	?IsAnyQueryActiveL@CPhoneState@@QAEHXZ @ 178 NONAME ; int CPhoneState::IsAnyQueryActiveL(void)
+	?State@CPhoneStateMachine@@UAEPAVMPhoneState@@XZ @ 179 NONAME ; class MPhoneState * CPhoneStateMachine::State(void)
+	?SetHandsfreeModeL@CPhoneState@@IAEXH@Z @ 180 NONAME ; void CPhoneState::SetHandsfreeModeL(int)
+	?IsCustomizedDialerVisibleL@CPhoneState@@QBEHXZ @ 181 NONAME ; int CPhoneState::IsCustomizedDialerVisibleL(void) const
+	?UpdateInCallCbaL@CPhoneStateCallSetup@@MAEXXZ @ 182 NONAME ; void CPhoneStateCallSetup::UpdateInCallCbaL(void)
+	?HandleNumberEntryClearedL@CPhoneStateInCall@@MAEXXZ @ 183 NONAME ; void CPhoneStateInCall::HandleNumberEntryClearedL(void)
+	??0CPhoneStateIncoming@@IAE@PAVMPhoneStateMachine@@PAVMPhoneViewCommandHandle@@PAVMPhoneCustomization@@@Z @ 184 NONAME ; CPhoneStateIncoming::CPhoneStateIncoming(class MPhoneStateMachine *, class MPhoneViewCommandHandle *, class MPhoneCustomization *)
+	?SendGlobalInfoNoteL@CPhoneState@@QAEXHH@Z @ 185 NONAME ; void CPhoneState::SendGlobalInfoNoteL(int, int)
+	??1CPhoneStateIncoming@@UAE@XZ @ 186 NONAME ; CPhoneStateIncoming::~CPhoneStateIncoming(void)
+	?HandleKeyLockEnabled@CPhoneUIController@@UAEXH@Z @ 187 NONAME ; void CPhoneUIController::HandleKeyLockEnabled(int)
+	?DisableCallUIL@CPhoneState@@QAEXXZ @ 188 NONAME ; void CPhoneState::DisableCallUIL(void)
+	?DeleteTouchPaneButtons@CPhoneState@@IAEXXZ @ 189 NONAME ; void CPhoneState::DeleteTouchPaneButtons(void)
+	?ProcessCommandL@CPhoneStateIdle@@UAEHH@Z @ 190 NONAME ; int CPhoneStateIdle::ProcessCommandL(int)
+	?IsNoteVisibleL@CPhoneState@@MAEHXZ @ 191 NONAME ; int CPhoneState::IsNoteVisibleL(void)
+	?DynInitMenuBarL@CPhoneUIController@@UAEXHPAVCEikMenuBar@@@Z @ 192 NONAME ; void CPhoneUIController::DynInitMenuBarL(int, class CEikMenuBar *)
+	?IsAlphanumericSupportedAndCharInput@CPhoneState@@MAEHABUTKeyEvent@@@Z @ 193 NONAME ; int CPhoneState::IsAlphanumericSupportedAndCharInput(struct TKeyEvent const &)
+	?HandlePhoneEngineMessageL@CPhoneStateStartup@@UAEXHH@Z @ 194 NONAME ; void CPhoneStateStartup::HandlePhoneEngineMessageL(int, int)
+	?HandleKeyEventL@CPhoneStateIncoming@@UAEXABUTKeyEvent@@W4TEventCode@@@Z @ 195 NONAME ; void CPhoneStateIncoming::HandleKeyEventL(struct TKeyEvent const &, enum TEventCode)
+	?HandleKeyEventL@CPhoneStateStartup@@UAEXABUTKeyEvent@@W4TEventCode@@@Z @ 196 NONAME ; void CPhoneStateStartup::HandleKeyEventL(struct TKeyEvent const &, enum TEventCode)
+	?HandleNumberEntryClearedL@CPhoneState@@MAEXXZ @ 197 NONAME ; void CPhoneState::HandleNumberEntryClearedL(void)
+	?OnlyHashInNumberEntryL@CPhoneState@@MAEXXZ @ 198 NONAME ; void CPhoneState::OnlyHashInNumberEntryL(void)
+	?IncreaseAudioVolumeL@CPhoneState@@IAEXXZ @ 199 NONAME ; void CPhoneState::IncreaseAudioVolumeL(void)
+	?ConstructL@CPhoneStateIdle@@MAEXXZ @ 200 NONAME ; void CPhoneStateIdle::ConstructL(void)
+	?CheckIfShowCallTerminationNote@CPhoneState@@MAEHXZ @ 201 NONAME ; int CPhoneState::CheckIfShowCallTerminationNote(void)
+	?DisplayIdleScreenL@CPhoneState@@IAEXXZ @ 202 NONAME ; void CPhoneState::DisplayIdleScreenL(void)
+	?StartShowSecurityNoteL@CPhoneState@@IAEXXZ @ 203 NONAME ; void CPhoneState::StartShowSecurityNoteL(void)
+	?StoreNumberEntryContentL@CPhoneState@@IAEXXZ @ 204 NONAME ; void CPhoneState::StoreNumberEntryContentL(void)
+	?SetBTHandsfreeModeL@CPhoneState@@IAEXH@Z @ 205 NONAME ; void CPhoneState::SetBTHandsfreeModeL(int)
+	?HandlePhoneEngineMessageL@CPhoneStateIncoming@@UAEXHH@Z @ 206 NONAME ; void CPhoneStateIncoming::HandlePhoneEngineMessageL(int, int)
+	?SetDefaultFlagsL@CPhoneState@@IAEXXZ @ 207 NONAME ; void CPhoneState::SetDefaultFlagsL(void)
+	?HandleCommandL@CPhoneStateInCall@@UAEHH@Z @ 208 NONAME ; int CPhoneStateInCall::HandleCommandL(int)
+	?DialVoiceCallL@CPhoneStateIdle@@IAEXXZ @ 209 NONAME ; void CPhoneStateIdle::DialVoiceCallL(void)
+	?UpdateRemoteInfoDataL@CPhoneState@@IAEXH@Z @ 210 NONAME ; void CPhoneState::UpdateRemoteInfoDataL(int)
+	?GetRingingCallL@CPhoneStateInCall@@MAEHXZ @ 211 NONAME ; int CPhoneStateInCall::GetRingingCallL(void)
+	?HandleIdleForegroundEventL@CPhoneUIController@@UAEXXZ @ 212 NONAME ; void CPhoneUIController::HandleIdleForegroundEventL(void)
+	?SetBackButtonActive@CPhoneState@@IAEXH@Z @ 213 NONAME ; void CPhoneState::SetBackButtonActive(int)
+	?HandlePhoneForegroundEventL@CPhoneState@@UAEXXZ @ 214 NONAME ; void CPhoneState::HandlePhoneForegroundEventL(void)
+	?HandleForegroundEventL@CPhoneState@@UAEXH@Z @ 215 NONAME ; void CPhoneState::HandleForegroundEventL(int)
+	?DisplayIncomingCallL@CPhoneStateIdle@@IAEXH@Z @ 216 NONAME ; void CPhoneStateIdle::DisplayIncomingCallL(int)
+	?HandleRemConCommandL@CPhoneState@@UAEHW4TRemConCoreApiOperationId@@W4TRemConCoreApiButtonAction@@@Z @ 217 NONAME ; int CPhoneState::HandleRemConCommandL(enum TRemConCoreApiOperationId, enum TRemConCoreApiButtonAction)
+	??1CPhoneStateIdle@@UAE@XZ @ 218 NONAME ; CPhoneStateIdle::~CPhoneStateIdle(void)
+	?PhoneNumberFromEntryLC@CPhoneState@@IAEPAVHBufC16@@XZ @ 219 NONAME ; class HBufC16 * CPhoneState::PhoneNumberFromEntryLC(void)
+	?BaseConstructL@CPhoneState@@QAEXXZ @ 220 NONAME ; void CPhoneState::BaseConstructL(void)
+	?HandlePhoneStartupL@CPhoneUIController@@UAEXXZ @ 221 NONAME ; void CPhoneUIController::HandlePhoneStartupL(void)
+	?SetCallHeaderType@CPhoneState@@IAEXH@Z @ 222 NONAME ; void CPhoneState::SetCallHeaderType(int)
+	?SetTouchPaneButtonEnabled@CPhoneState@@IAEXH@Z @ 223 NONAME ; void CPhoneState::SetTouchPaneButtonEnabled(int)
+	?SetPhoneEngine@CPhoneStateMachine@@UAEXPAVMPEPhoneModel@@@Z @ 224 NONAME ; void CPhoneStateMachine::SetPhoneEngine(class MPEPhoneModel *)
+	?CloseDTMFEditorL@CPhoneState@@IAEXXZ @ 225 NONAME ; void CPhoneState::CloseDTMFEditorL(void)
+	?SetTouchPaneVisible@CPhoneState@@IAEXH@Z @ 226 NONAME ; void CPhoneState::SetTouchPaneVisible(int)
+	?HandlePhoneFocusLostEventL@CPhoneUIController@@UAEXXZ @ 227 NONAME ; void CPhoneUIController::HandlePhoneFocusLostEventL(void)
+	?HandleKeyLockEnabled@CPhoneStateIncoming@@UAEXH@Z @ 228 NONAME ; void CPhoneStateIncoming::HandleKeyLockEnabled(int)
+	??0CPhoneStateMachine@@IAE@PAVMPhoneViewCommandHandle@@@Z @ 229 NONAME ; CPhoneStateMachine::CPhoneStateMachine(class MPhoneViewCommandHandle *)
+	??1CPhoneStateStartup@@UAE@XZ @ 230 NONAME ; CPhoneStateStartup::~CPhoneStateStartup(void)
+	?HandleKeyMessageL@CPhoneState@@UAEXW4TPhoneKeyEventMessages@MPhoneKeyEvents@@W4TKeyCode@@@Z @ 231 NONAME ; void CPhoneState::HandleKeyMessageL(enum MPhoneKeyEvents::TPhoneKeyEventMessages, enum TKeyCode)
+	?OpenSoftRejectMessageEditorL@CPhoneState@@MAEXXZ @ 232 NONAME ; void CPhoneState::OpenSoftRejectMessageEditorL(void)
 
--- a/phoneapp/phoneuicontrol/eabi/phoneuicontrolu.def	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuicontrol/eabi/phoneuicontrolu.def	Thu Jul 22 16:33:21 2010 +0100
@@ -39,7 +39,7 @@
 	_ZN11CPhoneState19DialMultimediaCallLEv @ 38 NONAME
 	_ZN11CPhoneState19HandleCenRepChangeLERK4TUidj @ 39 NONAME
 	_ZN11CPhoneState19HandlePhoneStartupLEv @ 40 NONAME
-	_ZN11CPhoneState19SendGlobalInfoNoteLEi @ 41 NONAME
+	_ZN11CPhoneState19SendGlobalInfoNoteLEii @ 41 NONAME
 	_ZN11CPhoneState19SetBTHandsfreeModeLEi @ 42 NONAME
 	_ZN11CPhoneState19SetBackButtonActiveEi @ 43 NONAME
 	_ZN11CPhoneState19SetDivertIndicationEi @ 44 NONAME
@@ -52,7 +52,7 @@
 	_ZN11CPhoneState20HandleKeyLockEnabledEi @ 51 NONAME
 	_ZN11CPhoneState20HandleRemConCommandLE25TRemConCoreApiOperationId26TRemConCoreApiButtonAction @ 52 NONAME
 	_ZN11CPhoneState20IncreaseAudioVolumeLEv @ 53 NONAME
-	_ZN11CPhoneState20SendGlobalErrorNoteLEi @ 54 NONAME
+	_ZN11CPhoneState20SendGlobalErrorNoteLEii @ 54 NONAME
 	_ZN11CPhoneState21IsNumberEntryVisibleLEv @ 55 NONAME
 	_ZN11CPhoneState21UpdateRemoteInfoDataLEi @ 56 NONAME
 	_ZN11CPhoneState22CloseCustomizedDialerLEv @ 57 NONAME
@@ -62,7 +62,7 @@
 	_ZN11CPhoneState22HandlePropertyChangedLERK4TUidji @ 61 NONAME
 	_ZN11CPhoneState22OnlyHashInNumberEntryLEv @ 62 NONAME
 	_ZN11CPhoneState22PhoneNumberFromEntryLCEv @ 63 NONAME
-	_ZN11CPhoneState22SendGlobalWarningNoteLEi @ 64 NONAME
+	_ZN11CPhoneState22SendGlobalWarningNoteLEii @ 64 NONAME
 	_ZN11CPhoneState22StartShowSecurityNoteLEv @ 65 NONAME
 	_ZN11CPhoneState23HandleAudioMuteChangedLEv @ 66 NONAME
 	_ZN11CPhoneState23HandleKeyPressDurationLE8TKeyCode25TTimeIntervalMicroSeconds @ 67 NONAME
@@ -112,363 +112,357 @@
 	_ZN11CPhoneStateD1Ev @ 111 NONAME
 	_ZN11CPhoneStateD2Ev @ 112 NONAME
 	_ZN15CPhoneStateIdle10ConstructLEv @ 113 NONAME
-	_ZN15CPhoneStateIdle10SpeedDialLERKjNS_21TDialInitiationMethodE @ 114 NONAME
-	_ZN15CPhoneStateIdle14DialVoiceCallLEv @ 115 NONAME
-	_ZN15CPhoneStateIdle14HandleCommandLEi @ 116 NONAME
-	_ZN15CPhoneStateIdle14HandleDialingLEi @ 117 NONAME
-	_ZN15CPhoneStateIdle15HandleKeyEventLERK9TKeyEvent10TEventCode @ 118 NONAME
-	_ZN15CPhoneStateIdle15ProcessCommandLEi @ 119 NONAME
-	_ZN15CPhoneStateIdle17DisplayCallSetupLEi @ 120 NONAME
-	_ZN15CPhoneStateIdle17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 121 NONAME
-	_ZN15CPhoneStateIdle18HandleSendCommandLEv @ 122 NONAME
-	_ZN15CPhoneStateIdle18SpeedDialCanceledLERKj @ 123 NONAME
-	_ZN15CPhoneStateIdle19DialMultimediaCallLEv @ 124 NONAME
-	_ZN15CPhoneStateIdle20DisplayIncomingCallLEi @ 125 NONAME
-	_ZN15CPhoneStateIdle20HandleRemConCommandLE25TRemConCoreApiOperationId26TRemConCoreApiButtonAction @ 126 NONAME
-	_ZN15CPhoneStateIdle22OnlyHashInNumberEntryLEv @ 127 NONAME
-	_ZN15CPhoneStateIdle25HandleNumberEntryClearedLEv @ 128 NONAME
-	_ZN15CPhoneStateIdle25HandleNumberLongKeyPressLEv @ 129 NONAME
-	_ZN15CPhoneStateIdle25HandlePhoneEngineMessageLEii @ 130 NONAME
-	_ZN15CPhoneStateIdle26HandleIdleForegroundEventLEv @ 131 NONAME
-	_ZN15CPhoneStateIdle26HandlePhoneFocusLostEventLEv @ 132 NONAME
-	_ZN15CPhoneStateIdle27HandlePhoneForegroundEventLEv @ 133 NONAME
-	_ZN15CPhoneStateIdle5DialLERK7TDesC1616TPhoneNumberTypeNS_21TDialInitiationMethodE @ 134 NONAME
-	_ZN15CPhoneStateIdleC1EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 135 NONAME
-	_ZN15CPhoneStateIdleC2EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 136 NONAME
-	_ZN15CPhoneStateIdleD0Ev @ 137 NONAME
-	_ZN15CPhoneStateIdleD1Ev @ 138 NONAME
-	_ZN15CPhoneStateIdleD2Ev @ 139 NONAME
-	_ZN16CPhoneCbaManager10UpdateCbaLEi @ 140 NONAME
-	_ZN16CPhoneCbaManager18UpdateIncomingCbaLEi @ 141 NONAME
-	_ZN16CPhoneCbaManager7SetCbaLEi @ 142 NONAME
-	_ZN17CPhoneStateHandle12StateMachineEv @ 143 NONAME
-	_ZN17CPhoneStateHandle17ViewCommandHandleEv @ 144 NONAME
-	_ZN17CPhoneStateHandle8InstanceEv @ 145 NONAME
-	_ZN17CPhoneStateInCall10ConstructLEv @ 146 NONAME
-	_ZN17CPhoneStateInCall10UpdateCbaLEi @ 147 NONAME
-	_ZN17CPhoneStateInCall11HandleIdleLEi @ 148 NONAME
-	_ZN17CPhoneStateInCall12OpenMenuBarLEv @ 149 NONAME
-	_ZN17CPhoneStateInCall14HandleCommandLEi @ 150 NONAME
-	_ZN17CPhoneStateInCall15CloseDtmfQueryLEv @ 151 NONAME
-	_ZN17CPhoneStateInCall15GetRingingCallLEv @ 152 NONAME
-	_ZN17CPhoneStateInCall16UpdateInCallCbaLEv @ 153 NONAME
-	_ZN17CPhoneStateInCall17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 154 NONAME
-	_ZN17CPhoneStateInCall18CallFetchedNumberLERK7TDesC16 @ 155 NONAME
-	_ZN17CPhoneStateInCall18CreateNumberEntryLEv @ 156 NONAME
-	_ZN17CPhoneStateInCall18IsVideoCallActiveLEv @ 157 NONAME
-	_ZN17CPhoneStateInCall19IsVideoCallRingingLEv @ 158 NONAME
-	_ZN17CPhoneStateInCall19LaunchNewCallQueryLEv @ 159 NONAME
-	_ZN17CPhoneStateInCall23DisconnectOutgoingCallLEv @ 160 NONAME
-	_ZN17CPhoneStateInCall25HandleNumberEntryClearedLEv @ 161 NONAME
-	_ZN17CPhoneStateInCall25HandlePhoneEngineMessageLEii @ 162 NONAME
-	_ZN17CPhoneStateInCall34PhoneNumberAvailableInPhoneEngineLEi @ 163 NONAME
-	_ZN17CPhoneStateInCallC1EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 164 NONAME
-	_ZN17CPhoneStateInCallC2EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 165 NONAME
-	_ZN17CPhoneStateInCallD0Ev @ 166 NONAME
-	_ZN17CPhoneStateInCallD1Ev @ 167 NONAME
-	_ZN17CPhoneStateInCallD2Ev @ 168 NONAME
-	_ZN18CPhoneStateMachine11ChangeStateEi @ 169 NONAME
-	_ZN18CPhoneStateMachine11PhoneEngineEv @ 170 NONAME
-	_ZN18CPhoneStateMachine12PhoneStorageEv @ 171 NONAME
-	_ZN18CPhoneStateMachine14SetPhoneEngineEP13MPEPhoneModel @ 172 NONAME
-	_ZN18CPhoneStateMachine15PhoneEngineInfoEv @ 173 NONAME
-	_ZN18CPhoneStateMachine18CreatePhoneEngineLER14MEngineMonitor @ 174 NONAME
-	_ZN18CPhoneStateMachine22SendPhoneEngineMessageEi @ 175 NONAME
-	_ZN18CPhoneStateMachine5StateEv @ 176 NONAME
-	_ZN18CPhoneStateMachine9SetCallIdEi @ 177 NONAME
-	_ZN18CPhoneStateMachineC1EP23MPhoneViewCommandHandle @ 178 NONAME
-	_ZN18CPhoneStateMachineC2EP23MPhoneViewCommandHandle @ 179 NONAME
-	_ZN18CPhoneStateMachineD0Ev @ 180 NONAME
-	_ZN18CPhoneStateMachineD1Ev @ 181 NONAME
-	_ZN18CPhoneStateMachineD2Ev @ 182 NONAME
-	_ZN18CPhoneStateStartup10ConstructLEv @ 183 NONAME
-	_ZN18CPhoneStateStartup15HandleKeyEventLERK9TKeyEvent10TEventCode @ 184 NONAME
-	_ZN18CPhoneStateStartup17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 185 NONAME
-	_ZN18CPhoneStateStartup18HandleDtmfKeyToneLERK9TKeyEvent10TEventCode @ 186 NONAME
-	_ZN18CPhoneStateStartup19HandlePhoneStartupLEv @ 187 NONAME
-	_ZN18CPhoneStateStartup24HandleCreateNumberEntryLERK9TKeyEvent10TEventCode @ 188 NONAME
-	_ZN18CPhoneStateStartup25HandlePhoneEngineMessageLEii @ 189 NONAME
-	_ZN18CPhoneStateStartup26HandleIdleForegroundEventLEv @ 190 NONAME
-	_ZN18CPhoneStateStartup4NewLEP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 191 NONAME
-	_ZN18CPhoneStateStartupC1EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 192 NONAME
-	_ZN18CPhoneStateStartupC2EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 193 NONAME
-	_ZN18CPhoneStateStartupD0Ev @ 194 NONAME
-	_ZN18CPhoneStateStartupD1Ev @ 195 NONAME
-	_ZN18CPhoneStateStartupD2Ev @ 196 NONAME
-	_ZN18CPhoneUIController11HandleErrorERK12TPEErrorInfo @ 197 NONAME
-	_ZN18CPhoneUIController13HandleMessageEii @ 198 NONAME
-	_ZN18CPhoneUIController14HandleCommandLEi @ 199 NONAME
-	_ZN18CPhoneUIController15DynInitMenuBarLEiP11CEikMenuBar @ 200 NONAME
-	_ZN18CPhoneUIController15HandleKeyEventLERK9TKeyEvent10TEventCode @ 201 NONAME
-	_ZN18CPhoneUIController15ProcessCommandLEi @ 202 NONAME
-	_ZN18CPhoneUIController16DynInitMenuPaneLEiP12CEikMenuPane @ 203 NONAME
-	_ZN18CPhoneUIController18HandleSystemEventLERK8TWsEvent @ 204 NONAME
-	_ZN18CPhoneUIController19HandlePhoneStartupLEv @ 205 NONAME
-	_ZN18CPhoneUIController20HandleKeyLockEnabledEi @ 206 NONAME
-	_ZN18CPhoneUIController22HandleForegroundEventLEi @ 207 NONAME
-	_ZN18CPhoneUIController24HandleEnvironmentChangeLEi @ 208 NONAME
-	_ZN18CPhoneUIController26HandleIdleForegroundEventLEv @ 209 NONAME
-	_ZN18CPhoneUIController26HandlePhoneFocusLostEventLEv @ 210 NONAME
-	_ZN18CPhoneUIController27HandlePhoneForegroundEventLEv @ 211 NONAME
-	_ZN18CPhoneUIController4NewLEP23MPhoneViewCommandHandle @ 212 NONAME
-	_ZN18CPhoneUIControllerD0Ev @ 213 NONAME
-	_ZN18CPhoneUIControllerD1Ev @ 214 NONAME
-	_ZN18CPhoneUIControllerD2Ev @ 215 NONAME
-	_ZN19CPhoneStateIncoming10ConstructLEv @ 216 NONAME
-	_ZN19CPhoneStateIncoming14HandleCommandLEi @ 217 NONAME
-	_ZN19CPhoneStateIncoming15HandleKeyEventLERK9TKeyEvent10TEventCode @ 218 NONAME
-	_ZN19CPhoneStateIncoming16DynInitMenuPaneLEiP12CEikMenuPane @ 219 NONAME
-	_ZN19CPhoneStateIncoming17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 220 NONAME
-	_ZN19CPhoneStateIncoming20HandleKeyLockEnabledEi @ 221 NONAME
-	_ZN19CPhoneStateIncoming23HandleAudioPlayStoppedLEv @ 222 NONAME
-	_ZN19CPhoneStateIncoming23HandleKeyPressDurationLE8TKeyCode25TTimeIntervalMicroSeconds @ 223 NONAME
-	_ZN19CPhoneStateIncoming25HandleNumberEntryClearedLEv @ 224 NONAME
-	_ZN19CPhoneStateIncoming25HandlePhoneEngineMessageLEii @ 225 NONAME
-	_ZN19CPhoneStateIncomingC1EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 226 NONAME
-	_ZN19CPhoneStateIncomingC2EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 227 NONAME
-	_ZN19CPhoneStateIncomingD0Ev @ 228 NONAME
-	_ZN19CPhoneStateIncomingD1Ev @ 229 NONAME
-	_ZN19CPhoneStateIncomingD2Ev @ 230 NONAME
-	_ZN20CPhoneReconnectQuery19ShowReconnectQueryLEi @ 231 NONAME
-	_ZN20CPhoneReconnectQuery9InstanceLEv @ 232 NONAME
-	_ZN20CPhoneStateCallSetup10ConstructLEv @ 233 NONAME
-	_ZN20CPhoneStateCallSetup10UpdateCbaLEi @ 234 NONAME
-	_ZN20CPhoneStateCallSetup12OpenMenuBarLEv @ 235 NONAME
-	_ZN20CPhoneStateCallSetup14HandleCommandLEi @ 236 NONAME
-	_ZN20CPhoneStateCallSetup15HandleKeyEventLERK9TKeyEvent10TEventCode @ 237 NONAME
-	_ZN20CPhoneStateCallSetup16UpdateInCallCbaLEv @ 238 NONAME
-	_ZN20CPhoneStateCallSetup17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 239 NONAME
-	_ZN20CPhoneStateCallSetup24HandleCreateNumberEntryLERK9TKeyEvent10TEventCode @ 240 NONAME
-	_ZN20CPhoneStateCallSetup25HandleNumberEntryClearedLEv @ 241 NONAME
-	_ZN20CPhoneStateCallSetup25HandlePhoneEngineMessageLEii @ 242 NONAME
-	_ZN20CPhoneStateCallSetupC1EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 243 NONAME
-	_ZN20CPhoneStateCallSetupC2EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 244 NONAME
-	_ZN20CPhoneStateCallSetupD0Ev @ 245 NONAME
-	_ZN20CPhoneStateCallSetupD1Ev @ 246 NONAME
-	_ZN20CPhoneStateCallSetupD2Ev @ 247 NONAME
-	_ZNK11CPhoneState11IsKeyLockOnEv @ 248 NONAME
-	_ZNK11CPhoneState12IsAutoLockOnEv @ 249 NONAME
-	_ZNK11CPhoneState14IsSwivelClosedEv @ 250 NONAME
-	_ZNK11CPhoneState17GetBlockedKeyListEv @ 251 NONAME
-	_ZNK11CPhoneState17IsMenuBarVisibleLEv @ 252 NONAME
-	_ZNK11CPhoneState18TopAppIsDisplayedLEv @ 253 NONAME
-	_ZNK11CPhoneState20IsDTMFEditorVisibleLEv @ 254 NONAME
-	_ZNK11CPhoneState23NeedToSendToBackgroundLEv @ 255 NONAME
-	_ZNK11CPhoneState25IsOnScreenDialerSupportedEv @ 256 NONAME
-	_ZNK11CPhoneState26IsCustomizedDialerVisibleLEv @ 257 NONAME
-	_ZNK11CPhoneState8SimStateEv @ 258 NONAME
-	_ZNK15CPhoneStateIdle17IsSpeedDialNumberERK7TDesC16 @ 259 NONAME
-	_ZTI11CPhoneState @ 260 NONAME
-	_ZTI15CPhoneStateIdle @ 261 NONAME
-	_ZTI17CPhoneStateHandle @ 262 NONAME
-	_ZTI17CPhoneStateInCall @ 263 NONAME
-	_ZTI18CPhoneStateMachine @ 264 NONAME
-	_ZTI18CPhoneStateStartup @ 265 NONAME
-	_ZTI18CPhoneUIController @ 266 NONAME
-	_ZTI19CPhoneStateIncoming @ 267 NONAME
-	_ZTI20CPhoneReconnectQuery @ 268 NONAME
-	_ZTI20CPhoneStateCallSetup @ 269 NONAME
-	_ZTI23CPhoneDtmfWaitCharTimer @ 270 NONAME
-	_ZTI23CPhoneKeyEventForwarder @ 271 NONAME
-	_ZTI24CPhoneSystemEventHandler @ 272 NONAME
-	_ZTI26CPhoneRemoteControlHandler @ 273 NONAME
-	_ZTI27CPhoneBtaaDisconnectHandler @ 274 NONAME
-	_ZTV11CPhoneState @ 275 NONAME
-	_ZTV15CPhoneStateIdle @ 276 NONAME
-	_ZTV17CPhoneStateHandle @ 277 NONAME
-	_ZTV17CPhoneStateInCall @ 278 NONAME
-	_ZTV18CPhoneStateMachine @ 279 NONAME
-	_ZTV18CPhoneStateStartup @ 280 NONAME
-	_ZTV18CPhoneUIController @ 281 NONAME
-	_ZTV19CPhoneStateIncoming @ 282 NONAME
-	_ZTV20CPhoneReconnectQuery @ 283 NONAME
-	_ZTV20CPhoneStateCallSetup @ 284 NONAME
-	_ZTV23CPhoneDtmfWaitCharTimer @ 285 NONAME
-	_ZTV23CPhoneKeyEventForwarder @ 286 NONAME
-	_ZTV24CPhoneSystemEventHandler @ 287 NONAME
-	_ZTV26CPhoneRemoteControlHandler @ 288 NONAME
-	_ZTV27CPhoneBtaaDisconnectHandler @ 289 NONAME
-	_ZThn12_N11CPhoneState15DynInitMenuBarLEiP11CEikMenuBar @ 290 NONAME
-	_ZThn12_N11CPhoneState16DynInitMenuPaneLEiP12CEikMenuPane @ 291 NONAME
-	_ZThn12_N11CPhoneState18HandleSystemEventLERK8TWsEvent @ 292 NONAME
-	_ZThn12_N11CPhoneState19HandleCenRepChangeLERK4TUidj @ 293 NONAME
-	_ZThn12_N11CPhoneState19HandlePhoneStartupLEv @ 294 NONAME
-	_ZThn12_N11CPhoneState20HandleKeyLockEnabledEi @ 295 NONAME
-	_ZThn12_N11CPhoneState22HandleForegroundEventLEi @ 296 NONAME
-	_ZThn12_N11CPhoneState22HandlePropertyChangedLERK4TUidji @ 297 NONAME
-	_ZThn12_N11CPhoneState24HandleEnvironmentChangeLEi @ 298 NONAME
-	_ZThn12_N11CPhoneState26HandleIdleForegroundEventLEv @ 299 NONAME
-	_ZThn12_N11CPhoneState26HandlePhoneFocusLostEventLEv @ 300 NONAME
-	_ZThn12_N11CPhoneState27HandlePhoneForegroundEventLEv @ 301 NONAME
-	_ZThn12_N11CPhoneStateD0Ev @ 302 NONAME
-	_ZThn12_N11CPhoneStateD1Ev @ 303 NONAME
-	_ZThn12_N15CPhoneStateIdle26HandleIdleForegroundEventLEv @ 304 NONAME
-	_ZThn12_N15CPhoneStateIdle26HandlePhoneFocusLostEventLEv @ 305 NONAME
-	_ZThn12_N15CPhoneStateIdle27HandlePhoneForegroundEventLEv @ 306 NONAME
-	_ZThn12_N15CPhoneStateIdleD0Ev @ 307 NONAME
-	_ZThn12_N15CPhoneStateIdleD1Ev @ 308 NONAME
-	_ZThn12_N17CPhoneStateInCallD0Ev @ 309 NONAME
-	_ZThn12_N17CPhoneStateInCallD1Ev @ 310 NONAME
-	_ZThn12_N18CPhoneStateStartup19HandlePhoneStartupLEv @ 311 NONAME
-	_ZThn12_N18CPhoneStateStartup26HandleIdleForegroundEventLEv @ 312 NONAME
-	_ZThn12_N18CPhoneStateStartupD0Ev @ 313 NONAME
-	_ZThn12_N18CPhoneStateStartupD1Ev @ 314 NONAME
-	_ZThn12_N18CPhoneUIController15DynInitMenuBarLEiP11CEikMenuBar @ 315 NONAME
-	_ZThn12_N18CPhoneUIController16DynInitMenuPaneLEiP12CEikMenuPane @ 316 NONAME
-	_ZThn12_N18CPhoneUIController18HandleSystemEventLERK8TWsEvent @ 317 NONAME
-	_ZThn12_N18CPhoneUIController19HandlePhoneStartupLEv @ 318 NONAME
-	_ZThn12_N18CPhoneUIController20HandleKeyLockEnabledEi @ 319 NONAME
-	_ZThn12_N18CPhoneUIController22HandleForegroundEventLEi @ 320 NONAME
-	_ZThn12_N18CPhoneUIController24HandleEnvironmentChangeLEi @ 321 NONAME
-	_ZThn12_N18CPhoneUIController26HandleIdleForegroundEventLEv @ 322 NONAME
-	_ZThn12_N18CPhoneUIController26HandlePhoneFocusLostEventLEv @ 323 NONAME
-	_ZThn12_N18CPhoneUIController27HandlePhoneForegroundEventLEv @ 324 NONAME
-	_ZThn12_N18CPhoneUIControllerD0Ev @ 325 NONAME
-	_ZThn12_N18CPhoneUIControllerD1Ev @ 326 NONAME
-	_ZThn12_N19CPhoneStateIncoming16DynInitMenuPaneLEiP12CEikMenuPane @ 327 NONAME
-	_ZThn12_N19CPhoneStateIncoming20HandleKeyLockEnabledEi @ 328 NONAME
-	_ZThn12_N19CPhoneStateIncomingD0Ev @ 329 NONAME
-	_ZThn12_N19CPhoneStateIncomingD1Ev @ 330 NONAME
-	_ZThn12_N20CPhoneStateCallSetupD0Ev @ 331 NONAME
-	_ZThn12_N20CPhoneStateCallSetupD1Ev @ 332 NONAME
-	_ZThn16_N11CPhoneState14HandleCommandLEi @ 333 NONAME
-	_ZThn16_N11CPhoneState15ProcessCommandLEi @ 334 NONAME
-	_ZThn16_N11CPhoneStateD0Ev @ 335 NONAME
-	_ZThn16_N11CPhoneStateD1Ev @ 336 NONAME
-	_ZThn16_N15CPhoneStateIdle14HandleCommandLEi @ 337 NONAME
-	_ZThn16_N15CPhoneStateIdle15ProcessCommandLEi @ 338 NONAME
-	_ZThn16_N15CPhoneStateIdleD0Ev @ 339 NONAME
-	_ZThn16_N15CPhoneStateIdleD1Ev @ 340 NONAME
-	_ZThn16_N17CPhoneStateInCall14HandleCommandLEi @ 341 NONAME
-	_ZThn16_N17CPhoneStateInCallD0Ev @ 342 NONAME
-	_ZThn16_N17CPhoneStateInCallD1Ev @ 343 NONAME
-	_ZThn16_N18CPhoneStateStartupD0Ev @ 344 NONAME
-	_ZThn16_N18CPhoneStateStartupD1Ev @ 345 NONAME
-	_ZThn16_N18CPhoneUIController14HandleCommandLEi @ 346 NONAME
-	_ZThn16_N18CPhoneUIController15ProcessCommandLEi @ 347 NONAME
-	_ZThn16_N18CPhoneUIControllerD0Ev @ 348 NONAME
-	_ZThn16_N18CPhoneUIControllerD1Ev @ 349 NONAME
-	_ZThn16_N19CPhoneStateIncoming14HandleCommandLEi @ 350 NONAME
-	_ZThn16_N19CPhoneStateIncomingD0Ev @ 351 NONAME
-	_ZThn16_N19CPhoneStateIncomingD1Ev @ 352 NONAME
-	_ZThn16_N20CPhoneStateCallSetup14HandleCommandLEi @ 353 NONAME
-	_ZThn16_N20CPhoneStateCallSetupD0Ev @ 354 NONAME
-	_ZThn16_N20CPhoneStateCallSetupD1Ev @ 355 NONAME
-	_ZThn20_N11CPhoneState20HandleRemConCommandLE25TRemConCoreApiOperationId26TRemConCoreApiButtonAction @ 356 NONAME
-	_ZThn20_N11CPhoneStateD0Ev @ 357 NONAME
-	_ZThn20_N11CPhoneStateD1Ev @ 358 NONAME
-	_ZThn20_N15CPhoneStateIdle20HandleRemConCommandLE25TRemConCoreApiOperationId26TRemConCoreApiButtonAction @ 359 NONAME
-	_ZThn20_N15CPhoneStateIdleD0Ev @ 360 NONAME
-	_ZThn20_N15CPhoneStateIdleD1Ev @ 361 NONAME
-	_ZThn20_N17CPhoneStateInCallD0Ev @ 362 NONAME
-	_ZThn20_N17CPhoneStateInCallD1Ev @ 363 NONAME
-	_ZThn20_N18CPhoneStateStartupD0Ev @ 364 NONAME
-	_ZThn20_N18CPhoneStateStartupD1Ev @ 365 NONAME
-	_ZThn20_N19CPhoneStateIncomingD0Ev @ 366 NONAME
-	_ZThn20_N19CPhoneStateIncomingD1Ev @ 367 NONAME
-	_ZThn20_N20CPhoneStateCallSetupD0Ev @ 368 NONAME
-	_ZThn20_N20CPhoneStateCallSetupD1Ev @ 369 NONAME
-	_ZThn24_N11CPhoneState19SetDivertIndicationEi @ 370 NONAME
-	_ZThn24_N11CPhoneStateD0Ev @ 371 NONAME
-	_ZThn24_N11CPhoneStateD1Ev @ 372 NONAME
-	_ZThn24_N15CPhoneStateIdleD0Ev @ 373 NONAME
-	_ZThn24_N15CPhoneStateIdleD1Ev @ 374 NONAME
-	_ZThn24_N17CPhoneStateInCallD0Ev @ 375 NONAME
-	_ZThn24_N17CPhoneStateInCallD1Ev @ 376 NONAME
-	_ZThn24_N18CPhoneStateStartupD0Ev @ 377 NONAME
-	_ZThn24_N18CPhoneStateStartupD1Ev @ 378 NONAME
-	_ZThn24_N19CPhoneStateIncomingD0Ev @ 379 NONAME
-	_ZThn24_N19CPhoneStateIncomingD1Ev @ 380 NONAME
-	_ZThn24_N20CPhoneStateCallSetupD0Ev @ 381 NONAME
-	_ZThn24_N20CPhoneStateCallSetupD1Ev @ 382 NONAME
-	_ZThn28_NK11CPhoneState17GetBlockedKeyListEv @ 383 NONAME
-	_ZThn32_N11CPhoneState25HandleNumberEntryClearedLEv @ 384 NONAME
-	_ZThn32_N15CPhoneStateIdle25HandleNumberEntryClearedLEv @ 385 NONAME
-	_ZThn32_N17CPhoneStateInCall25HandleNumberEntryClearedLEv @ 386 NONAME
-	_ZThn32_N19CPhoneStateIncoming25HandleNumberEntryClearedLEv @ 387 NONAME
-	_ZThn32_N20CPhoneStateCallSetup25HandleNumberEntryClearedLEv @ 388 NONAME
-	_ZThn36_N11CPhoneState23HandleNumberEntryEditedEv @ 389 NONAME
-	_ZThn36_N11CPhoneStateD0Ev @ 390 NONAME
-	_ZThn36_N11CPhoneStateD1Ev @ 391 NONAME
-	_ZThn36_N15CPhoneStateIdleD0Ev @ 392 NONAME
-	_ZThn36_N15CPhoneStateIdleD1Ev @ 393 NONAME
-	_ZThn36_N17CPhoneStateInCallD0Ev @ 394 NONAME
-	_ZThn36_N17CPhoneStateInCallD1Ev @ 395 NONAME
-	_ZThn36_N18CPhoneStateStartupD0Ev @ 396 NONAME
-	_ZThn36_N18CPhoneStateStartupD1Ev @ 397 NONAME
-	_ZThn36_N19CPhoneStateIncomingD0Ev @ 398 NONAME
-	_ZThn36_N19CPhoneStateIncomingD1Ev @ 399 NONAME
-	_ZThn36_N20CPhoneStateCallSetupD0Ev @ 400 NONAME
-	_ZThn36_N20CPhoneStateCallSetupD1Ev @ 401 NONAME
-	_ZThn40_NK11CPhoneState11IsKeyLockOnEv @ 402 NONAME
-	_ZThn40_NK11CPhoneState12IsAutoLockOnEv @ 403 NONAME
-	_ZThn4_N11CPhoneState12HandleErrorLERK12TPEErrorInfo @ 404 NONAME
-	_ZThn4_N11CPhoneState25HandlePhoneEngineMessageLEii @ 405 NONAME
-	_ZThn4_N11CPhoneStateD0Ev @ 406 NONAME
-	_ZThn4_N11CPhoneStateD1Ev @ 407 NONAME
-	_ZThn4_N15CPhoneStateIdle25HandlePhoneEngineMessageLEii @ 408 NONAME
-	_ZThn4_N15CPhoneStateIdleD0Ev @ 409 NONAME
-	_ZThn4_N15CPhoneStateIdleD1Ev @ 410 NONAME
-	_ZThn4_N17CPhoneStateInCall25HandlePhoneEngineMessageLEii @ 411 NONAME
-	_ZThn4_N17CPhoneStateInCallD0Ev @ 412 NONAME
-	_ZThn4_N17CPhoneStateInCallD1Ev @ 413 NONAME
-	_ZThn4_N18CPhoneStateMachine11ChangeStateEi @ 414 NONAME
-	_ZThn4_N18CPhoneStateMachine11PhoneEngineEv @ 415 NONAME
-	_ZThn4_N18CPhoneStateMachine12PhoneStorageEv @ 416 NONAME
-	_ZThn4_N18CPhoneStateMachine14SetPhoneEngineEP13MPEPhoneModel @ 417 NONAME
-	_ZThn4_N18CPhoneStateMachine15PhoneEngineInfoEv @ 418 NONAME
-	_ZThn4_N18CPhoneStateMachine18CreatePhoneEngineLER14MEngineMonitor @ 419 NONAME
-	_ZThn4_N18CPhoneStateMachine22SendPhoneEngineMessageEi @ 420 NONAME
-	_ZThn4_N18CPhoneStateMachine5StateEv @ 421 NONAME
-	_ZThn4_N18CPhoneStateMachine9SetCallIdEi @ 422 NONAME
-	_ZThn4_N18CPhoneStateMachineD0Ev @ 423 NONAME
-	_ZThn4_N18CPhoneStateMachineD1Ev @ 424 NONAME
-	_ZThn4_N18CPhoneStateStartup25HandlePhoneEngineMessageLEii @ 425 NONAME
-	_ZThn4_N18CPhoneStateStartupD0Ev @ 426 NONAME
-	_ZThn4_N18CPhoneStateStartupD1Ev @ 427 NONAME
-	_ZThn4_N18CPhoneUIController11HandleErrorERK12TPEErrorInfo @ 428 NONAME
-	_ZThn4_N18CPhoneUIController13HandleMessageEii @ 429 NONAME
-	_ZThn4_N19CPhoneStateIncoming25HandlePhoneEngineMessageLEii @ 430 NONAME
-	_ZThn4_N19CPhoneStateIncomingD0Ev @ 431 NONAME
-	_ZThn4_N19CPhoneStateIncomingD1Ev @ 432 NONAME
-	_ZThn4_N20CPhoneStateCallSetup25HandlePhoneEngineMessageLEii @ 433 NONAME
-	_ZThn4_N20CPhoneStateCallSetupD0Ev @ 434 NONAME
-	_ZThn4_N20CPhoneStateCallSetupD1Ev @ 435 NONAME
-	_ZThn8_N11CPhoneState14IsNoteVisibleLEv @ 436 NONAME
-	_ZThn8_N11CPhoneState15HandleKeyEventLERK9TKeyEvent10TEventCode @ 437 NONAME
-	_ZThn8_N11CPhoneState15HandleLongHashLEv @ 438 NONAME
-	_ZThn8_N11CPhoneState17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 439 NONAME
-	_ZThn8_N11CPhoneState18HandleDtmfKeyToneLERK9TKeyEvent10TEventCode @ 440 NONAME
-	_ZThn8_N11CPhoneState23HandleKeyPressDurationLE8TKeyCode25TTimeIntervalMicroSeconds @ 441 NONAME
-	_ZThn8_N11CPhoneState24HandleCreateNumberEntryLERK9TKeyEvent10TEventCode @ 442 NONAME
-	_ZThn8_N11CPhoneState35IsAlphanumericSupportedAndCharInputERK9TKeyEvent @ 443 NONAME
-	_ZThn8_N11CPhoneStateD0Ev @ 444 NONAME
-	_ZThn8_N11CPhoneStateD1Ev @ 445 NONAME
-	_ZThn8_N15CPhoneStateIdle15HandleKeyEventLERK9TKeyEvent10TEventCode @ 446 NONAME
-	_ZThn8_N15CPhoneStateIdle17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 447 NONAME
-	_ZThn8_N15CPhoneStateIdleD0Ev @ 448 NONAME
-	_ZThn8_N15CPhoneStateIdleD1Ev @ 449 NONAME
-	_ZThn8_N17CPhoneStateInCall17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 450 NONAME
-	_ZThn8_N17CPhoneStateInCallD0Ev @ 451 NONAME
-	_ZThn8_N17CPhoneStateInCallD1Ev @ 452 NONAME
-	_ZThn8_N18CPhoneStateStartup15HandleKeyEventLERK9TKeyEvent10TEventCode @ 453 NONAME
-	_ZThn8_N18CPhoneStateStartup17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 454 NONAME
-	_ZThn8_N18CPhoneStateStartup18HandleDtmfKeyToneLERK9TKeyEvent10TEventCode @ 455 NONAME
-	_ZThn8_N18CPhoneStateStartup24HandleCreateNumberEntryLERK9TKeyEvent10TEventCode @ 456 NONAME
-	_ZThn8_N18CPhoneStateStartupD0Ev @ 457 NONAME
-	_ZThn8_N18CPhoneStateStartupD1Ev @ 458 NONAME
-	_ZThn8_N18CPhoneUIController15HandleKeyEventLERK9TKeyEvent10TEventCode @ 459 NONAME
-	_ZThn8_N18CPhoneUIControllerD0Ev @ 460 NONAME
-	_ZThn8_N18CPhoneUIControllerD1Ev @ 461 NONAME
-	_ZThn8_N19CPhoneStateIncoming15HandleKeyEventLERK9TKeyEvent10TEventCode @ 462 NONAME
-	_ZThn8_N19CPhoneStateIncoming17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 463 NONAME
-	_ZThn8_N19CPhoneStateIncoming23HandleKeyPressDurationLE8TKeyCode25TTimeIntervalMicroSeconds @ 464 NONAME
-	_ZThn8_N19CPhoneStateIncomingD0Ev @ 465 NONAME
-	_ZThn8_N19CPhoneStateIncomingD1Ev @ 466 NONAME
-	_ZThn8_N20CPhoneStateCallSetup15HandleKeyEventLERK9TKeyEvent10TEventCode @ 467 NONAME
-	_ZThn8_N20CPhoneStateCallSetup17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 468 NONAME
-	_ZThn8_N20CPhoneStateCallSetup24HandleCreateNumberEntryLERK9TKeyEvent10TEventCode @ 469 NONAME
-	_ZThn8_N20CPhoneStateCallSetupD0Ev @ 470 NONAME
-	_ZThn8_N20CPhoneStateCallSetupD1Ev @ 471 NONAME
-	_ZThn8_NK11CPhoneState17IsMenuBarVisibleLEv @ 472 NONAME
+	_ZN15CPhoneStateIdle14DialVoiceCallLEv @ 114 NONAME
+	_ZN15CPhoneStateIdle14HandleCommandLEi @ 115 NONAME
+	_ZN15CPhoneStateIdle14HandleDialingLEi @ 116 NONAME
+	_ZN15CPhoneStateIdle15HandleKeyEventLERK9TKeyEvent10TEventCode @ 117 NONAME
+	_ZN15CPhoneStateIdle15ProcessCommandLEi @ 118 NONAME
+	_ZN15CPhoneStateIdle17DisplayCallSetupLEi @ 119 NONAME
+	_ZN15CPhoneStateIdle17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 120 NONAME
+	_ZN15CPhoneStateIdle18HandleSendCommandLEv @ 121 NONAME
+	_ZN15CPhoneStateIdle19DialMultimediaCallLEv @ 122 NONAME
+	_ZN15CPhoneStateIdle20DisplayIncomingCallLEi @ 123 NONAME
+	_ZN15CPhoneStateIdle20HandleRemConCommandLE25TRemConCoreApiOperationId26TRemConCoreApiButtonAction @ 124 NONAME
+	_ZN15CPhoneStateIdle22OnlyHashInNumberEntryLEv @ 125 NONAME
+	_ZN15CPhoneStateIdle25HandleNumberEntryClearedLEv @ 126 NONAME
+	_ZN15CPhoneStateIdle25HandlePhoneEngineMessageLEii @ 127 NONAME
+	_ZN15CPhoneStateIdle26HandleIdleForegroundEventLEv @ 128 NONAME
+	_ZN15CPhoneStateIdle26HandlePhoneFocusLostEventLEv @ 129 NONAME
+	_ZN15CPhoneStateIdle27HandlePhoneForegroundEventLEv @ 130 NONAME
+	_ZN15CPhoneStateIdle5DialLERK7TDesC16NS_16TPhoneNumberTypeENS_21TDialInitiationMethodE @ 131 NONAME
+	_ZN15CPhoneStateIdleC1EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 132 NONAME
+	_ZN15CPhoneStateIdleC2EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 133 NONAME
+	_ZN15CPhoneStateIdleD0Ev @ 134 NONAME
+	_ZN15CPhoneStateIdleD1Ev @ 135 NONAME
+	_ZN15CPhoneStateIdleD2Ev @ 136 NONAME
+	_ZN16CPhoneCbaManager10UpdateCbaLEi @ 137 NONAME
+	_ZN16CPhoneCbaManager18UpdateIncomingCbaLEi @ 138 NONAME
+	_ZN16CPhoneCbaManager7SetCbaLEi @ 139 NONAME
+	_ZN17CPhoneStateHandle12StateMachineEv @ 140 NONAME
+	_ZN17CPhoneStateHandle17ViewCommandHandleEv @ 141 NONAME
+	_ZN17CPhoneStateHandle8InstanceEv @ 142 NONAME
+	_ZN17CPhoneStateInCall10ConstructLEv @ 143 NONAME
+	_ZN17CPhoneStateInCall10UpdateCbaLEi @ 144 NONAME
+	_ZN17CPhoneStateInCall11HandleIdleLEi @ 145 NONAME
+	_ZN17CPhoneStateInCall12OpenMenuBarLEv @ 146 NONAME
+	_ZN17CPhoneStateInCall14HandleCommandLEi @ 147 NONAME
+	_ZN17CPhoneStateInCall15CloseDtmfQueryLEv @ 148 NONAME
+	_ZN17CPhoneStateInCall15GetRingingCallLEv @ 149 NONAME
+	_ZN17CPhoneStateInCall16UpdateInCallCbaLEv @ 150 NONAME
+	_ZN17CPhoneStateInCall17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 151 NONAME
+	_ZN17CPhoneStateInCall18CallFetchedNumberLERK7TDesC16 @ 152 NONAME
+	_ZN17CPhoneStateInCall18CreateNumberEntryLEv @ 153 NONAME
+	_ZN17CPhoneStateInCall18IsVideoCallActiveLEv @ 154 NONAME
+	_ZN17CPhoneStateInCall19IsVideoCallRingingLEv @ 155 NONAME
+	_ZN17CPhoneStateInCall19LaunchNewCallQueryLEv @ 156 NONAME
+	_ZN17CPhoneStateInCall23DisconnectOutgoingCallLEv @ 157 NONAME
+	_ZN17CPhoneStateInCall25HandleNumberEntryClearedLEv @ 158 NONAME
+	_ZN17CPhoneStateInCall25HandlePhoneEngineMessageLEii @ 159 NONAME
+	_ZN17CPhoneStateInCall34PhoneNumberAvailableInPhoneEngineLEi @ 160 NONAME
+	_ZN17CPhoneStateInCallC1EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 161 NONAME
+	_ZN17CPhoneStateInCallC2EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 162 NONAME
+	_ZN17CPhoneStateInCallD0Ev @ 163 NONAME
+	_ZN17CPhoneStateInCallD1Ev @ 164 NONAME
+	_ZN17CPhoneStateInCallD2Ev @ 165 NONAME
+	_ZN18CPhoneStateMachine11ChangeStateEi @ 166 NONAME
+	_ZN18CPhoneStateMachine11PhoneEngineEv @ 167 NONAME
+	_ZN18CPhoneStateMachine12PhoneStorageEv @ 168 NONAME
+	_ZN18CPhoneStateMachine14SetPhoneEngineEP13MPEPhoneModel @ 169 NONAME
+	_ZN18CPhoneStateMachine15PhoneEngineInfoEv @ 170 NONAME
+	_ZN18CPhoneStateMachine18CreatePhoneEngineLER14MEngineMonitor @ 171 NONAME
+	_ZN18CPhoneStateMachine22SendPhoneEngineMessageEi @ 172 NONAME
+	_ZN18CPhoneStateMachine5StateEv @ 173 NONAME
+	_ZN18CPhoneStateMachine9SetCallIdEi @ 174 NONAME
+	_ZN18CPhoneStateMachineC1EP23MPhoneViewCommandHandle @ 175 NONAME
+	_ZN18CPhoneStateMachineC2EP23MPhoneViewCommandHandle @ 176 NONAME
+	_ZN18CPhoneStateMachineD0Ev @ 177 NONAME
+	_ZN18CPhoneStateMachineD1Ev @ 178 NONAME
+	_ZN18CPhoneStateMachineD2Ev @ 179 NONAME
+	_ZN18CPhoneStateStartup10ConstructLEv @ 180 NONAME
+	_ZN18CPhoneStateStartup15HandleKeyEventLERK9TKeyEvent10TEventCode @ 181 NONAME
+	_ZN18CPhoneStateStartup17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 182 NONAME
+	_ZN18CPhoneStateStartup18HandleDtmfKeyToneLERK9TKeyEvent10TEventCode @ 183 NONAME
+	_ZN18CPhoneStateStartup19HandlePhoneStartupLEv @ 184 NONAME
+	_ZN18CPhoneStateStartup24HandleCreateNumberEntryLERK9TKeyEvent10TEventCode @ 185 NONAME
+	_ZN18CPhoneStateStartup25HandlePhoneEngineMessageLEii @ 186 NONAME
+	_ZN18CPhoneStateStartup26HandleIdleForegroundEventLEv @ 187 NONAME
+	_ZN18CPhoneStateStartup4NewLEP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 188 NONAME
+	_ZN18CPhoneStateStartupC1EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 189 NONAME
+	_ZN18CPhoneStateStartupC2EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 190 NONAME
+	_ZN18CPhoneStateStartupD0Ev @ 191 NONAME
+	_ZN18CPhoneStateStartupD1Ev @ 192 NONAME
+	_ZN18CPhoneStateStartupD2Ev @ 193 NONAME
+	_ZN18CPhoneUIController11HandleErrorERK12TPEErrorInfo @ 194 NONAME
+	_ZN18CPhoneUIController13HandleMessageEii @ 195 NONAME
+	_ZN18CPhoneUIController14HandleCommandLEi @ 196 NONAME
+	_ZN18CPhoneUIController15DynInitMenuBarLEiP11CEikMenuBar @ 197 NONAME
+	_ZN18CPhoneUIController15HandleKeyEventLERK9TKeyEvent10TEventCode @ 198 NONAME
+	_ZN18CPhoneUIController15ProcessCommandLEi @ 199 NONAME
+	_ZN18CPhoneUIController16DynInitMenuPaneLEiP12CEikMenuPane @ 200 NONAME
+	_ZN18CPhoneUIController18HandleSystemEventLERK8TWsEvent @ 201 NONAME
+	_ZN18CPhoneUIController19HandlePhoneStartupLEv @ 202 NONAME
+	_ZN18CPhoneUIController20HandleKeyLockEnabledEi @ 203 NONAME
+	_ZN18CPhoneUIController22HandleForegroundEventLEi @ 204 NONAME
+	_ZN18CPhoneUIController24HandleEnvironmentChangeLEi @ 205 NONAME
+	_ZN18CPhoneUIController26HandleIdleForegroundEventLEv @ 206 NONAME
+	_ZN18CPhoneUIController26HandlePhoneFocusLostEventLEv @ 207 NONAME
+	_ZN18CPhoneUIController27HandlePhoneForegroundEventLEv @ 208 NONAME
+	_ZN18CPhoneUIController4NewLEP23MPhoneViewCommandHandle @ 209 NONAME
+	_ZN18CPhoneUIControllerD0Ev @ 210 NONAME
+	_ZN18CPhoneUIControllerD1Ev @ 211 NONAME
+	_ZN18CPhoneUIControllerD2Ev @ 212 NONAME
+	_ZN19CPhoneStateIncoming10ConstructLEv @ 213 NONAME
+	_ZN19CPhoneStateIncoming14HandleCommandLEi @ 214 NONAME
+	_ZN19CPhoneStateIncoming15HandleKeyEventLERK9TKeyEvent10TEventCode @ 215 NONAME
+	_ZN19CPhoneStateIncoming16DynInitMenuPaneLEiP12CEikMenuPane @ 216 NONAME
+	_ZN19CPhoneStateIncoming17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 217 NONAME
+	_ZN19CPhoneStateIncoming20HandleKeyLockEnabledEi @ 218 NONAME
+	_ZN19CPhoneStateIncoming23HandleAudioPlayStoppedLEv @ 219 NONAME
+	_ZN19CPhoneStateIncoming23HandleKeyPressDurationLE8TKeyCode25TTimeIntervalMicroSeconds @ 220 NONAME
+	_ZN19CPhoneStateIncoming25HandleNumberEntryClearedLEv @ 221 NONAME
+	_ZN19CPhoneStateIncoming25HandlePhoneEngineMessageLEii @ 222 NONAME
+	_ZN19CPhoneStateIncomingC1EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 223 NONAME
+	_ZN19CPhoneStateIncomingC2EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 224 NONAME
+	_ZN19CPhoneStateIncomingD0Ev @ 225 NONAME
+	_ZN19CPhoneStateIncomingD1Ev @ 226 NONAME
+	_ZN19CPhoneStateIncomingD2Ev @ 227 NONAME
+	_ZN20CPhoneReconnectQuery19ShowReconnectQueryLEi @ 228 NONAME
+	_ZN20CPhoneReconnectQuery9InstanceLEv @ 229 NONAME
+	_ZN20CPhoneStateCallSetup10ConstructLEv @ 230 NONAME
+	_ZN20CPhoneStateCallSetup10UpdateCbaLEi @ 231 NONAME
+	_ZN20CPhoneStateCallSetup12OpenMenuBarLEv @ 232 NONAME
+	_ZN20CPhoneStateCallSetup14HandleCommandLEi @ 233 NONAME
+	_ZN20CPhoneStateCallSetup15HandleKeyEventLERK9TKeyEvent10TEventCode @ 234 NONAME
+	_ZN20CPhoneStateCallSetup16UpdateInCallCbaLEv @ 235 NONAME
+	_ZN20CPhoneStateCallSetup17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 236 NONAME
+	_ZN20CPhoneStateCallSetup24HandleCreateNumberEntryLERK9TKeyEvent10TEventCode @ 237 NONAME
+	_ZN20CPhoneStateCallSetup25HandleNumberEntryClearedLEv @ 238 NONAME
+	_ZN20CPhoneStateCallSetup25HandlePhoneEngineMessageLEii @ 239 NONAME
+	_ZN20CPhoneStateCallSetupC1EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 240 NONAME
+	_ZN20CPhoneStateCallSetupC2EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 241 NONAME
+	_ZN20CPhoneStateCallSetupD0Ev @ 242 NONAME
+	_ZN20CPhoneStateCallSetupD1Ev @ 243 NONAME
+	_ZN20CPhoneStateCallSetupD2Ev @ 244 NONAME
+	_ZNK11CPhoneState11IsKeyLockOnEv @ 245 NONAME
+	_ZNK11CPhoneState12IsAutoLockOnEv @ 246 NONAME
+	_ZNK11CPhoneState14IsSwivelClosedEv @ 247 NONAME
+	_ZNK11CPhoneState17GetBlockedKeyListEv @ 248 NONAME
+	_ZNK11CPhoneState17IsMenuBarVisibleLEv @ 249 NONAME
+	_ZNK11CPhoneState18TopAppIsDisplayedLEv @ 250 NONAME
+	_ZNK11CPhoneState20IsDTMFEditorVisibleLEv @ 251 NONAME
+	_ZNK11CPhoneState23NeedToSendToBackgroundLEv @ 252 NONAME
+	_ZNK11CPhoneState25IsOnScreenDialerSupportedEv @ 253 NONAME
+	_ZNK11CPhoneState26IsCustomizedDialerVisibleLEv @ 254 NONAME
+	_ZNK11CPhoneState8SimStateEv @ 255 NONAME
+	_ZTI11CPhoneState @ 256 NONAME
+	_ZTI15CPhoneStateIdle @ 257 NONAME
+	_ZTI17CPhoneStateHandle @ 258 NONAME
+	_ZTI17CPhoneStateInCall @ 259 NONAME
+	_ZTI18CPhoneStateMachine @ 260 NONAME
+	_ZTI18CPhoneStateStartup @ 261 NONAME
+	_ZTI18CPhoneUIController @ 262 NONAME
+	_ZTI19CPhoneStateIncoming @ 263 NONAME
+	_ZTI20CPhoneReconnectQuery @ 264 NONAME
+	_ZTI20CPhoneStateCallSetup @ 265 NONAME
+	_ZTI23CPhoneDtmfWaitCharTimer @ 266 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
 
--- a/phoneapp/phoneuicontrol/group/phoneuicontrol.mmp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuicontrol/group/phoneuicontrol.mmp	Thu Jul 22 16:33:21 2010 +0100
@@ -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 
@@ -89,6 +88,7 @@
 LIBRARY         featmgr.lib // FeatureManager
 LIBRARY         connmon.lib // RConnectionMonitor
 LIBRARY         avkon.lib // AknTextUtils
+LIBRARY         hal.lib
 
 // RemCon
 LIBRARY         remconcoreapi.lib
--- a/phoneapp/phoneuicontrol/inc/cphoneaccessorybthandler.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuicontrol/inc/cphoneaccessorybthandler.h	Thu Jul 22 16:33:21 2010 +0100
@@ -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
--- a/phoneapp/phoneuicontrol/inc/cphonecallheadermanager.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuicontrol/inc/cphonecallheadermanager.h	Thu Jul 22 16:33:21 2010 +0100
@@ -139,12 +139,7 @@
         void SetPhoneNumberAvailabilityL( 
                 const TInt aNumberLength,
                 const TBool aContactInfoAvailable );
-        
-        /**
-        * @see MPhoneBubbleManagerUtility.
-        */
-        void GetInCallNumberTextL( TInt aCallId, TDes& aData ) const;
-        
+
         /**
         * @see MPhoneBubbleManagerUtility.
         */
--- a/phoneapp/phoneuicontrol/inc/cphonekeyeventforwarder.h	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,235 +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    <bldvariant.hrh> //Feature flags
-#include    <coecntrl.h>
- 
-// 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 is the given key special character (*, 0, # ) from half-qwerty
-         * keyboard and conver key code if needed.
-         */
-        TBool ConvertHalfQwertySpecialChar( TUint& aCode, 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
--- a/phoneapp/phoneuicontrol/inc/cphonestate.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuicontrol/inc/cphonestate.h	Thu Jul 22 16:33:21 2010 +0100
@@ -276,14 +276,20 @@
         /**
         * Show global InfoNote
         * @param aResourceId resource id to be resolved
+        * @param aNotificationDialog True if notification
+        *        dialog should be used.
         */
-        IMPORT_C void SendGlobalInfoNoteL( TInt aResourceId );
+        IMPORT_C void SendGlobalInfoNoteL( TInt aResourceId,
+                TBool aNotificationDialog = EFalse );
 
         /**
         * Show global ErrorNote
         * @param aResourceId resource id to be resolved
+        * @param aNotificationDialog True if notification
+        *        dialog should be used.
         */
-        IMPORT_C void SendGlobalErrorNoteL( TInt aResourceId );
+        IMPORT_C void SendGlobalErrorNoteL( TInt aResourceId,
+                TBool aNotificationDialog = EFalse );
 
         /**
          * Get blocked key list
@@ -578,8 +584,11 @@
          /**
         * Show global WarningNote
         * @param aResourceId resource id to be resolved
+        * @param aNotificationDialog True if notification dialog
+        *                            should be used.
         */
-        IMPORT_C void SendGlobalWarningNoteL( TInt aResourceId );
+        IMPORT_C void SendGlobalWarningNoteL( TInt aResourceId,
+                TBool aNotificationDialog = EFalse );
 
         /**
         * Checks is the call id a video call.
@@ -959,21 +968,11 @@
         void HandleInitiatedEmergencyWhileActiveVideoL();
 
         /**
-        * Shows IMEI note
-        */
-        void HandleShowImeiL();
-
-        /**
         * Handles network ciphering info changes
         */
         void HandleCallSecureStatusChangeL( TInt aCallId );
 
         /**
-        * Shows Life time note
-        */
-        void HandleShowLifeTimerL();
-
-        /**
         * Handles change als line command
         */
         void ChangeAlsLineL();
--- a/phoneapp/phoneuicontrol/inc/cphonestateidle.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuicontrol/inc/cphonestateidle.h	Thu Jul 22 16:33:21 2010 +0100
@@ -22,7 +22,6 @@
 
 // INCLUDES
 #include "cphonestate.h"
-#include "tphonecmdparamspeeddial.h"
 
 // FORWARD DECLARATIONS
 
@@ -49,6 +48,22 @@
 
         };
     
+    /**
+    * Phone number types
+    *
+    * EPhoneNumberTypeNotFound - phone number's type was not found
+    * EPhoneNumberTypeCS - CS call can be made to the phone number
+    * EPhoneNumberTypeVideo - video call can be made to the phone number
+    * EPhoneNumberTypeVoip - VoIP call can be made to the address.
+    */
+    enum TPhoneNumberType
+        {
+        EPhoneNumberTypeNotFound = -1,
+        EPhoneNumberTypeCS = 0,
+        EPhoneNumberTypeVideo,
+        EPhoneNumberTypeVoip
+        };
+    
         /**
         * Destructor.
         */
@@ -172,33 +187,6 @@
         IMPORT_C virtual void HandleDialingL( TInt aCallId );
 
         /**
-        * This is called when Speed Dial dialog is cancelled or user didn't give
-        * a valid number.
-        * @param aDigit: entered digit
-        */
-        IMPORT_C void SpeedDialCanceledL( const TUint& aDigit );
-        
-        /**
-        * Handle long key press of a number.
-        */
-        IMPORT_C void HandleNumberLongKeyPressL();
-        
-        /**
-        * Tests whether given number is speed dial number.
-        * @param    aNumber    A number to test.
-        * @return   ETrue if given number is speed dial number.
-        */
-        IMPORT_C TBool IsSpeedDialNumber( const TDesC& aNumber ) const;
-        
-        /**
-        * Handles speed dialing.
-        * @param aDigit             Entered digit.
-        * @param aDialMethod        Dial initiation method.
-        */
-        IMPORT_C void SpeedDialL( const TUint& aDigit, 
-            TDialInitiationMethod aDialMethod );
-
-        /**
         * Handles send command.
         */
         IMPORT_C virtual void HandleSendCommandL();
@@ -271,16 +259,7 @@
          */        
          TBool CheckAppLaunchingL( const TKeyCode aCode );
 
-         /**
-          * Returns phone number for specified speed dial location.
-          * @param  aDigit Speed dial digit.
-          * @param  aDigit On return contains speed dial parameters.
-          * @return Phone number
-          */   
-         HBufC* NumberForSpeedDialLocationL( const TUint& aDigit,
-             TPhoneCmdParamSpeedDial& aSpeedDialParam ) const;
-
-         void HandleVoiceCallCommandL( TBool aSendKey );
+         void HandleVoiceCallCommandL();
          
     private:
     
--- a/phoneapp/phoneuicontrol/inc/cphonestateincall.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuicontrol/inc/cphonestateincall.h	Thu Jul 22 16:33:21 2010 +0100
@@ -192,21 +192,11 @@
         void CancelDTMFSendingL();
 
         /**
-        * Handle EPEMessagePromptSpeedDial
-        */
-        void HandleDTMFPromptSpeedDialL();
-
-        /**
         * Sends DTMF sequence to Phone Engine
         */
         void SendDtmfL();
         
         /**
-        * Sends DTMF speed dial number sequence to Phone Engine
-        */
-        void SendDtmfSpeedDialNumberL();
-        
-        /**
         * Sends command to view for launching manual DTMF entry
         */
         void LaunchDtmfManualQueryL();
--- a/phoneapp/phoneuicontrol/inc/cphoneuicontroller.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuicontrol/inc/cphoneuicontroller.h	Thu Jul 22 16:33:21 2010 +0100
@@ -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   
--- a/phoneapp/phoneuicontrol/inc/mphonecallheadermanagerutility.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuicontrol/inc/mphonecallheadermanagerutility.h	Thu Jul 22 16:33:21 2010 +0100
@@ -39,17 +39,7 @@
         virtual void SetPhoneNumberAvailabilityL(
                 const TInt aNumberLength,
                 const TBool aContactInfoAvailable ) = 0;
-        
-        /**
-        * Resolves call header text in InCall-state,
-        * text could be 'Call 1', 'Call 2', ...
-        * @param aCallId - Call Id.
-        * @param aData - The returned data including needed text.
-        */
-        virtual void GetInCallNumberTextL( 
-                TInt aCallId, 
-                TDes& aData ) const = 0;
-        
+
         /**
         * Loads strings for displaying in call header.
         * @param aCallLabelId - Resource Id for longer text.
--- a/phoneapp/phoneuicontrol/inc/tphonecallheaderparam.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuicontrol/inc/tphonecallheaderparam.h	Thu Jul 22 16:33:21 2010 +0100
@@ -107,10 +107,11 @@
         
         /**
         * Return remote info data
+        * @return True if secondary CLI is used
         * @param aCallid call id
         * @param aData the returned remote info data
         */
-        void GetRemoteInfoDataL( 
+        TBool GetRemoteInfoDataL( 
                 const TInt aCallId,
                 TDes& aData ) const;           
     
@@ -218,24 +219,6 @@
                 TPhoneCmdParamCallHeaderData* aCallHeaderData );  
         
         /**
-        * Check if call is private or payphone number. If call is 
-        * Private/PayPhone call then IsCallPrivateOrPayPhone will 
-        * set SetIdentitySpecificCallHeaderData parameters.
-        * 
-        * @param aCallId Call id.
-        * @return ETrue if call is private or payphone number.
-        */
-        TBool IsCallPrivateOrPayPhone( const TInt aCallId, TDes& aData ) const;
-        
-        /**
-        * Sets identity specific call header text.
-        * 
-        * @param aCallId Call id.
-        * @param aData Identity  specific call header text data.
-        */
-        void SetIdentitySpecificCallHeaderData( const TInt aCallId, TDes& aData ) const;
-        
-        /**
         * Concludes does the engine have information of the
         * phone number. This information is then send to the view.
         * @param aNumberLength - phone number's length
--- a/phoneapp/phoneuicontrol/src/cphoneaccessorybthandler.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuicontrol/src/cphoneaccessorybthandler.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -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
 // ---------------------------------------------------------
--- a/phoneapp/phoneuicontrol/src/cphonecallheadermanager.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuicontrol/src/cphonecallheadermanager.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -353,23 +353,3 @@
         }
     }
 
-// -----------------------------------------------------------
-// CPhoneCallHeaderManager::GetInCallNumberTextL
-// -----------------------------------------------------------
-//
-void CPhoneCallHeaderManager::GetInCallNumberTextL( 
-        TInt aCallId, 
-        TDes& aData ) const
-    {
-    __LOGMETHODSTARTEND(EPhoneControl, "CPhoneCallHeaderManager::GetInCallNumberTextL( ) ");    
-    // Display "Call n", n = callId-8 for video and callId+1 for voice call
-    HBufC* tmp = StringLoader::LoadL( 
-        CPhoneMainResourceResolver::Instance()->
-        ResolveResourceID( EPhoneInCallNumberText ), 
-        aCallId + ( IsVideoCall( aCallId ) ? -8 : 1 ), 
-        CCoeEnv::Static() );
-    
-    aData = *tmp;
-    delete tmp;
-    }
-
--- a/phoneapp/phoneuicontrol/src/cphonecbamanager.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuicontrol/src/cphonecbamanager.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -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 )
         {
--- a/phoneapp/phoneuicontrol/src/cphonekeyeventforwarder.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,570 +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 <eikenv.h>
-#include <eikappui.h>
-#include <bldvariant.hrh>
-#include <featmgr.h>
-#include <PtiDefs.h>
-
-#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<CEikonEnv*>(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<CEikonEnv*>(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::ConvertHalfQwertySpecialChar
-// -----------------------------------------------------------------------------
-//
-TBool CPhoneKeyEventForwarder::ConvertHalfQwertySpecialChar( TUint& aCode,
-        const TKeyEvent& aKeyEvent )
-    {
-    __LOGMETHODSTARTEND( EPhoneControl,
-        "CPhoneKeyEventForwarder::ConvertHalfQwertySpecialChar");
-
-    TBool ret( EFalse );
-    TInt keyboard(KErrNotFound);
-    
-    if( keyboard == EPtiKeyboardHalfQwerty )
-        {
-        switch ( aKeyEvent.iScanCode )
-           {
-           case EStdKeyLeftShift:
-               ret = ETrue;
-               aCode = KPhoneDtmfHashCharacter;
-               break;
-           case EStdKeyLeftFunc:
-               ret = ETrue;
-               aCode = KPhoneDtmfStarCharacter;
-               break;
-           case EStdKeySpace:
-               ret = ETrue;
-               aCode = KPhoneDtmf0Character;
-               break;
-           default:
-               break;
-           }
-        }
-
-    __PHONELOG1( EBasic, EPhoneControl,
-        "CPhoneKeyEventForwarder::ConvertHalfQwertySpecialChar =%d ",
-        ret );
-
-    return ret;
-    }
-
-// -----------------------------------------------------------------------------
-// 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 );
-
-    if( !ConvertHalfQwertySpecialChar( aCode, aKeyEvent ) )
-        {
-        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;
-            }
-        }
-
-    __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<TInt>& 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
-
--- a/phoneapp/phoneuicontrol/src/cphonenumberentrymanager.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuicontrol/src/cphonenumberentrymanager.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -214,7 +214,7 @@
 // - activeidle is not the top most application
 // - any query is not visible
 // - dialog is not visible ("new call")
-// - information note is not visible ("IMEI code", "life timer")
+// - information note is not visible ("life timer")
 // - options menu bar is not visible
 // - "switch to ..." -operation  is not ongoing
 // -----------------------------------------------------------
--- a/phoneapp/phoneuicontrol/src/cphonestate.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuicontrol/src/cphonestate.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -52,6 +52,7 @@
 #include <textresolver.h>
 #include <phoneappvoipcommands.hrh>
 #include <hwrmdomainpskeys.h>
+#include <hal.h>
 
 #include "phoneui.pan"
 #include "cphonestate.h"
@@ -188,6 +189,7 @@
             HandleAudioOutputChangedL();
             // Go to current state implementation
             iCbaManager->UpdateInCallCbaL();
+            SetTouchPaneButtons(0);
             break;
 
         case MEngineMonitor::EPEMessageAvailableAudioOutputsChanged:
@@ -196,6 +198,7 @@
                 {
                 // Go to current state implementation
                 iCbaManager->UpdateInCallCbaL();
+                SetTouchPaneButtons(0);
                 }
             break;
 
@@ -208,7 +211,8 @@
             break;
 
         case MEngineMonitor::EPEMessageCallWaiting:
-            SendGlobalInfoNoteL( EPhoneWaitingText );
+            // No need to send waiting notification for user.
+            //SendGlobalInfoNoteL( EPhoneWaitingText, ETrue );
             break;
 
         case MEngineMonitor::EPEMessageProfileChanged:
@@ -235,7 +239,7 @@
             break;
 
         case MEngineMonitor::EPEMessageTransferDone:
-            SendGlobalInfoNoteL( EPhoneInCallTransferred );
+            SendGlobalInfoNoteL( EPhoneInCallTransferred, ETrue );
             break;
 
        case MEngineMonitor::EPEMessageInitiatedEmergencyCall:
@@ -246,27 +250,15 @@
            HandleInitiatedEmergencyWhileActiveVideoL();
            break;
 
-        case MEngineMonitor::EPEMessageShowIMEI:
-            // Stop playing DTMF tone
-            iStateMachine->SendPhoneEngineMessage( MPEPhoneModel::EPEMessageEndDTMF );
-            HandleShowImeiL();
-            break;
-
-        case MEngineMonitor::EPEMessageCallSecureStatusChanged:
-            HandleCallSecureStatusChangeL( aCallId );
-
-            if ( iCustomization )
-                {
-                iCustomization->HandlePhoneEngineMessageL( aMessage,
-                    aCallId );
-                }
-            break;
-
-        case MEngineMonitor::EPEMessageActivateWarrantyMode:
-            // Stop playing DTMF tone
-            iStateMachine->SendPhoneEngineMessage( MPEPhoneModel::EPEMessageEndDTMF );
-            HandleShowLifeTimerL();
-            break;
+       case MEngineMonitor::EPEMessageCallSecureStatusChanged:
+           HandleCallSecureStatusChangeL( aCallId );
+
+           if ( iCustomization )
+               {
+               iCustomization->HandlePhoneEngineMessageL( aMessage,
+                   aCallId );
+               }
+           break;
 
         case MEngineMonitor::EPEMessageIssuingUSSDRequest:
             {
@@ -365,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 );
@@ -415,6 +399,8 @@
     booleanParam.SetBoolean( audioMute );
     iViewCommandHandle->ExecuteCommandL( EPhoneViewActivateMuteUIChanges,
         &booleanParam );
+    
+    SetTouchPaneButtons(0);
     }
 
 // -----------------------------------------------------------
@@ -825,14 +811,25 @@
 void CPhoneState::HandleChangedCallDurationL( TInt aCallId )
     {
      __LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::HandleChangedCallDurationL() ");
-    // Get the call duration
-    TTimeIntervalSeconds seconds =
-        iStateMachine->PhoneEngineInfo()->CallDuration( aCallId );
-
-    TPhoneCmdParamInteger time;
-    time.SetInteger(seconds.Int());
-    iViewCommandHandle->ExecuteCommandL(EPhoneViewUpdateCallHeaderCallDuration, aCallId, &time);
-    }
+    
+    TInt ret = KErrNone;
+    TInt isDisplayOn;
+    
+    ret = HAL::Get( HALData::EDisplayState, isDisplayOn );
+    
+    // Update only if the display is on or if HAL::Get returns an error, 
+    // in which case display value cannot be trusted.
+    if ( ret || isDisplayOn )
+        {
+        // Get the call duration
+        TTimeIntervalSeconds seconds =
+            iStateMachine->PhoneEngineInfo()->CallDuration( aCallId );
+
+        TPhoneCmdParamInteger time;
+        time.SetInteger(seconds.Int());
+        iViewCommandHandle->ExecuteCommandL(EPhoneViewUpdateCallHeaderCallDuration, aCallId, &time);
+        }
+    }	
 
 // -----------------------------------------------------------------------------
 // CPhoneState::HandleRemoteBusyL
@@ -841,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();
 
@@ -1773,7 +1775,7 @@
      __PHONELOG1( EBasic, EPhoneControl, "CPhoneState::DecreaseAudioVolumeL - audio output =%d", output );
     if( output == EPETTY )
         {
-        SendGlobalInfoNoteL( EPhoneNoteTTYNoAudioControl );
+        SendGlobalInfoNoteL( EPhoneNoteTTYNoAudioControl, ETrue );
         }
     else
         {
@@ -1797,7 +1799,7 @@
      __PHONELOG1( EBasic, EPhoneControl, "CPhoneState::IncreaseAudioVolumeL - audio output =%d", output );
     if( output == EPETTY )
         {
-        SendGlobalInfoNoteL( EPhoneNoteTTYNoAudioControl );
+        SendGlobalInfoNoteL( EPhoneNoteTTYNoAudioControl, ETrue );
         }
     else
         {
@@ -2152,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;
 
@@ -2176,7 +2178,7 @@
         cameraKeyCaptureParam.SetCaptureType( EPhoneKeyAllEvents );
         iViewCommandHandle->ExecuteCommandL( viewCommandId,
             &cameraKeyCaptureParam );
-        }
+        }*/
     }
 
 // -----------------------------------------------------------
@@ -2211,8 +2213,7 @@
     if( iCustomization )
         {
         TBuf<KCntMaxTextFieldLength> inCallNumberText( KNullDesC );
-        // incall number text could be 'Call 1', 'Call 2', ...
-        CallheaderManagerL()->GetInCallNumberTextL( aCallId, inCallNumberText );
+
         // to check if we have VoIP call in question and fix
         // parameters if needed
         iCustomization->ModifyCallHeaderTexts( aCallId, &callHeaderParam,
@@ -2474,7 +2475,8 @@
 // CPhoneState::SendGlobalInfoNoteL
 // ---------------------------------------------------------
 //
-EXPORT_C void CPhoneState::SendGlobalInfoNoteL( TInt aResourceId )
+EXPORT_C void CPhoneState::SendGlobalInfoNoteL( 
+        TInt aResourceId, TBool aNotificationDialog )
     {
     __LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::SendGlobalInfoNoteL( ) ");
     __ASSERT_DEBUG( aResourceId, Panic( EPhoneCtrlParameterNotInitialized ) );
@@ -2494,7 +2496,8 @@
             CPhoneMainResourceResolver::Instance()->
             ResolveResourceID( aResourceId ) );
         globalNoteParam.SetTone( EAvkonSIDInformationTone );
-
+        globalNoteParam.SetNotificationDialog( aNotificationDialog );
+        
         iViewCommandHandle->ExecuteCommandL(
             EPhoneViewShowGlobalNote, &globalNoteParam );
         }
@@ -2504,7 +2507,8 @@
 //  CPhoneUIController::SendGlobalWarningNoteL
 // ---------------------------------------------------------
 //
-EXPORT_C void CPhoneState::SendGlobalWarningNoteL( TInt aResourceId )
+EXPORT_C void CPhoneState::SendGlobalWarningNoteL( 
+        TInt aResourceId, TBool aNotificationDialog )
     {
     __LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::SendGlobalWarningNoteL( ) ");
     __ASSERT_DEBUG( aResourceId, Panic( EPhoneCtrlParameterNotInitialized ) );
@@ -2524,7 +2528,8 @@
             CPhoneMainResourceResolver::Instance()->
             ResolveResourceID( aResourceId ) );
         globalNoteParam.SetTone( EAvkonSIDWarningTone );
-
+        globalNoteParam.SetNotificationDialog( aNotificationDialog );
+        
         iViewCommandHandle->ExecuteCommandL(
             EPhoneViewShowGlobalNote, &globalNoteParam );
         }
@@ -2534,7 +2539,8 @@
 //  CPhoneUIController::SendGlobalErrorNoteL
 // ---------------------------------------------------------
 //
-EXPORT_C void CPhoneState::SendGlobalErrorNoteL( TInt aResourceId )
+EXPORT_C void CPhoneState::SendGlobalErrorNoteL( 
+        TInt aResourceId, TBool aNotificationDialog )
     {
     __LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::SendGlobalErrorNoteL( ) ");
     __ASSERT_DEBUG( aResourceId, Panic( EPhoneCtrlParameterNotInitialized ) );
@@ -2553,6 +2559,7 @@
             CPhoneMainResourceResolver::Instance()->
             ResolveResourceID( aResourceId ) );
         globalNoteParam.SetTone( CAknNoteDialog::EErrorTone );
+        globalNoteParam.SetNotificationDialog( aNotificationDialog );
 
         iViewCommandHandle->ExecuteCommandL(
             EPhoneViewShowGlobalNote, &globalNoteParam );
@@ -2570,7 +2577,7 @@
         iViewCommandHandle, iStateMachine, this );
     if ( !bt->SetHandsfreeModeL( aHandsfreeMode ))
         {
-        SendGlobalErrorNoteL( EPhoneNoteTextNotAllowed );
+        SendGlobalErrorNoteL( EPhoneNoteTextNotAllowed, ETrue );
         }
     CleanupStack::PopAndDestroy( bt );
     }
@@ -2586,7 +2593,7 @@
         iViewCommandHandle, iStateMachine, this );
     if ( !bt->SetBTHandsfreeModeL( aHandsfreeMode ))
         {
-        SendGlobalErrorNoteL( EPhoneNoteTextNotAllowed );
+        SendGlobalErrorNoteL( EPhoneNoteTextNotAllowed, ETrue );
         }
     CleanupStack::PopAndDestroy( bt );
     }
@@ -2849,38 +2856,6 @@
     }
 
 // -----------------------------------------------------------
-// CPhoneState::HandleShowImeiL
-// -----------------------------------------------------------
-//
-void CPhoneState::HandleShowImeiL()
-    {
-    __LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::HandleShowImeiL( ) ");
-    
-    // Fetch IMEI
-    TBuf<RMobilePhone::KPhoneSerialNumberSize> serialNumber;
-    TPEPhoneIdentityParameters phoneIdentityParameters = 
-        iStateMachine->PhoneEngineInfo()->PhoneIdentityParameters();
-    serialNumber = phoneIdentityParameters.iSerialNumber;
-    
-    HBufC* imeiNoteText = StringLoader::LoadLC(
-        CPhoneMainResourceResolver::Instance()->
-        ResolveResourceID(
-        EPhonePhoneImeiString ), serialNumber );
-    
-    TPhoneCmdParamGlobalNote noteParam;
-    noteParam.SetType( EAknGlobalInformationNote );
-    noteParam.SetTone( EAvkonSIDInformationTone );
-    noteParam.SetText( *imeiNoteText );
-    noteParam.SetTimeout( KPhoneNoteNoTimeout );
-    
-    iViewCommandHandle->ExecuteCommandL( 
-        EPhoneViewShowGlobalNote, 
-        &noteParam );
-    
-    CleanupStack::PopAndDestroy( imeiNoteText );
-    }
-
-// -----------------------------------------------------------
 // CPhoneState::HandleCallSecureStatusChangeL
 // -----------------------------------------------------------
 //
@@ -2908,53 +2883,6 @@
         &callHeaderParam );
     }
 
-// -----------------------------------------------------------
-// CPhoneState::HandleShowLifeTimerL
-// -----------------------------------------------------------
-//
-void CPhoneState::HandleShowLifeTimerL()
-   {
-    __LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::HandleShowLifeTimerL( ) ");
-    
-    // Fetch LifeTime
-    TPELifeTimeData lifeTimeData = 
-        iStateMachine->PhoneEngineInfo()->LifeTimerData();
-    
-    TLocale locale;
-    TBuf<KTimerTextLength> lifetimerText;
-    lifetimerText.NumFixedWidth(
-        lifeTimeData.iHours,
-        EDecimal,
-        KPhoneLifeTimerHoursLength );
-    
-    lifetimerText.Append(locale.TimeSeparator( KTimerMinuteSeparator ) );
-    
-    TBuf<KPhoneLifeTimerMinutesLength> mins;
-    mins.NumFixedWidth(
-        lifeTimeData.iMinutes,
-        EDecimal,
-        KPhoneLifeTimerMinutesLength );
-    
-    lifetimerText.Append(mins);
-    
-    HBufC* buf = StringLoader::LoadLC(
-        CPhoneMainResourceResolver::Instance()->
-        ResolveResourceID(
-        EPhoneLifeTimeFormat ), lifetimerText );
-    
-    TPhoneCmdParamGlobalNote noteParam;
-    noteParam.SetType( EAknGlobalInformationNote );
-    noteParam.SetTone( EAvkonSIDInformationTone );
-    noteParam.SetText( *buf );
-    noteParam.SetTimeout( KPhoneNoteNoTimeout );
-    
-    iViewCommandHandle->ExecuteCommandL( 
-        EPhoneViewShowGlobalNote, 
-        &noteParam );
-    
-    CleanupStack::PopAndDestroy( buf );
-    }
-
 // ---------------------------------------------------------
 // CPhoneState::IsVideoCall
 // ---------------------------------------------------------
@@ -3440,6 +3368,7 @@
         CPhoneMainResourceResolver::Instance()->
         ResolveResourceID( resource ) );
     globalNoteParam.SetTone( EAvkonSIDInformationTone );
+    globalNoteParam.SetNotificationDialog( ETrue );
     iViewCommandHandle->ExecuteCommandL( EPhoneViewShowGlobalNote,
         &globalNoteParam );
     }
@@ -3456,6 +3385,11 @@
                 KPSUidCoreApplicationUIs,
                 KCoreAppUIsAutolockStatus ) > EAutolockOff;
 
+    __PHONELOG1( EBasic,
+            EPhoneControl,
+            "CPhoneState::IsAutoLockOn() Status: %d",
+            phoneIsLocked );
+    
     return phoneIsLocked;
     }
 
@@ -3500,6 +3434,25 @@
     {
     if ( FeatureManager::FeatureSupported( KFeatureIdTouchCallHandling ) )
         {
+        TPhoneCmdParamBoolean muteParam;
+        muteParam.SetBoolean( iStateMachine->PhoneEngineInfo()->AudioMute() );
+        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 ) );
         TPhoneCmdParamBoolean booleanParam;
@@ -3944,13 +3897,14 @@
         globalNoteParam.SetTextResourceId(
             CPhoneMainResourceResolver::Instance()->
             ResolveResourceID( EPhoneCallWaitingWithLabel ) );
-
+        globalNoteParam.SetNotificationDialog( ETrue );
+        
         iViewCommandHandle->ExecuteCommandL(
                 EPhoneViewShowGlobalNote, &globalNoteParam );
         }
     else
         {
-        SendGlobalInfoNoteL( EPhoneCallWaitingWithoutLabel );
+        SendGlobalInfoNoteL( EPhoneCallWaitingWithoutLabel, ETrue );
         }
     }
 
@@ -4709,6 +4663,11 @@
 //
 EXPORT_C void CPhoneState::SetBackButtonActive( TBool aActive )
     {
+    if(IsAutoLockOn() && aActive) {
+        // keep back button dimmed device lock case
+        return;
+    }
+    
     if ( FeatureManager::FeatureSupported( KFeatureIdTouchCallHandling ) )
         {
         TPhoneCmdParamBoolean booleanParam;
--- a/phoneapp/phoneuicontrol/src/cphonestatecallsetup.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuicontrol/src/cphonestatecallsetup.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -406,7 +406,7 @@
             else // aMessage == EPhoneKeyLongPress
                 {
                 // Display call in progress information note
-                CPhoneState::SendGlobalInfoNoteL( EPhoneCallInProgress );
+                CPhoneState::SendGlobalInfoNoteL( EPhoneCallInProgress, ETrue );
                 }
             break;
 
@@ -661,12 +661,12 @@
     __LOGMETHODSTARTEND(EPhoneControl, "CPhoneStateCallSetup::HandleRemoteTerminatedL( ) ");
 
     // Remove call header
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveCallHeader, aCallId );
+    /*iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveCallHeader, aCallId );
     
     TPhoneCmdParamBoolean globalNotifierParam;
     globalNotifierParam.SetBoolean( EFalse );
     iViewCommandHandle->ExecuteCommandL( 
-        EPhoneViewSetGlobalNotifiersDisabled, &globalNotifierParam );
+        EPhoneViewSetGlobalNotifiersDisabled, &globalNotifierParam );*/
 
     // Video call not possible note is shown by 
     // CPhoneErrorMessagesHandler::ShowErrorSpecificNoteL method,
@@ -680,11 +680,11 @@
 void CPhoneStateCallSetup::HandleAudioOutputChangedL()
     {
     __LOGMETHODSTARTEND(EPhoneControl, "CPhoneStateCallSetup::HandleAudioOutputChangedL( ) ");
-   
+       
+    CPhoneState::HandleAudioOutputChangedL();
     // Update the call setup CBA
     UpdateInCallCbaL();
-    
-    CPhoneState::HandleAudioOutputChangedL();
+    SetTouchPaneButtons(0);
     }
  
 // -----------------------------------------------------------
--- a/phoneapp/phoneuicontrol/src/cphonestateidle.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuicontrol/src/cphonestateidle.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -28,7 +28,6 @@
 #include <featmgr.h>
 #include <settingsinternalcrkeys.h>
 #include <mpeengineinfo.h>
-#include <activeidle2domainpskeys.h>
 #include <mpeclientinformation.h>
 #include <bldvariant.hrh>
 
@@ -38,8 +37,8 @@
 #include "tphonecmdparaminteger.h"
 #include "tphonecmdparamboolean.h"
 #include "tphonecmdparamglobalnote.h"
+#include "tphonecmdparamkeycapture.h"
 #include "tphonecmdparamstring.h"
-#include "tphonecmdparamspeeddial.h"
 #include "tphonecmdparamboolean.h"
 #include "mphonestatemachine.h"
 #include "phonestatedefinitions.h"
@@ -279,22 +278,6 @@
                 }
             break;
             
-        // number key
-        case KPhoneDtmf1Character:
-        case KPhoneDtmf2Character:
-        case KPhoneDtmf3Character:
-        case KPhoneDtmf4Character:
-        case KPhoneDtmf5Character:
-        case KPhoneDtmf6Character:
-        case KPhoneDtmf7Character:
-        case KPhoneDtmf8Character:
-        case KPhoneDtmf9Character:
-            if ( aMessage == EPhoneKeyLongPress && IsSimOk() )
-                {
-                HandleNumberLongKeyPressL();
-                }
-            break;
-
 #ifdef RD_INTELLIGENT_TEXT_INPUT   
         case EKeyEnter:
             if ( IsNumberEntryVisibleL() )
@@ -361,7 +344,7 @@
             break;
             
         case MEngineMonitor::EPEMessageInValidEmergencyNumber:                
-            SendGlobalWarningNoteL( EPhoneEmergencyCallsOnly );                           
+            SendGlobalWarningNoteL( EPhoneEmergencyCallsOnly, ETrue );                           
             break;
             
         case MEngineMonitor::EPEMessageValidEmergencyNumber:
@@ -440,8 +423,6 @@
 
     BeginTransEffectLC( ENumberEntryClose );
     BeginUiUpdateLC();
-    
-    SetNumberEntryVisibilityL(EFalse);
 
     // Display call setup 
     DisplayCallSetupL( aCallId );  
@@ -536,7 +517,7 @@
             }
         
         case EPhoneNumberAcqCmdCall:
-            HandleVoiceCallCommandL( EFalse );
+            HandleVoiceCallCommandL();
             break;
         case EPhoneNumberAcqCmdSendCommand:
             HandleSendCommandL();
@@ -688,17 +669,9 @@
         else
 #endif // _DEBUG
             {
-            if ( IsSpeedDialNumber( (*phoneNumber) ) )
-                {
-                // Handle speed dial
-                SpeedDialL( (*phoneNumber)[0], EDialMethodMenuSelection );
-                }
-            else
-                {
-                // call the number
-                iStateMachine->PhoneEngineInfo()->SetPhoneNumber( *phoneNumber );
-                DialMultimediaCallL();
-                }
+            // call the number
+            iStateMachine->PhoneEngineInfo()->SetPhoneNumber( *phoneNumber );
+            DialMultimediaCallL();
 
             CleanupStack::PopAndDestroy( phoneNumber );
             }
@@ -720,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 );
 
@@ -764,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 );
 
@@ -858,116 +839,6 @@
     // Remove all notes and dialogs
     iViewCommandHandle->ExecuteCommandL( EPhoneViewRemovePhoneDialogs );    
     }
- 
-// -----------------------------------------------------------
-// CPhoneStateIdle::SpeedDialL
-// -----------------------------------------------------------
-//   
-EXPORT_C void CPhoneStateIdle::SpeedDialL( const TUint& aDigit, 
-        TDialInitiationMethod aDialMethod )
-    {
-    __LOGMETHODSTARTEND(EPhoneControl, "CPhoneStateIdle::SpeedDialL( ) ");
-    
-    iStateMachine->SendPhoneEngineMessage( MPEPhoneModel::EPEMessageEndDTMF );
-    
-    TPhoneCmdParamSpeedDial speedDialParam;
-    HBufC* phoneNumber = NumberForSpeedDialLocationL( aDigit, speedDialParam );
-
-    // Store serviceId received from vmbx handler
-    iStateMachine->PhoneEngineInfo()->SetServiceIdCommand( speedDialParam.ServiceId() );
-    CleanupStack::PushL( phoneNumber );
-    
-    if ( NULL != phoneNumber && KNullDesC() != *phoneNumber )
-        {
-
-
-        DialL( *phoneNumber, speedDialParam.NumberType(), aDialMethod );
-        
-        if ( IsNumberEntryUsedL()  ) 
-            {
-            BeginTransEffectLC( ENumberEntryClose ); 
-            
-            iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveNumberEntry );
-            
-            // Set Idle background, if still idle
-            if ( iStateMachine->State() == this )
-                {
-                SetupIdleScreenInBackgroundL();
-                }
-            
-            EndTransEffect();
-            }
-        }
-    else
-        {
-        // User cancelled dialog or didn't give a valid number
-        SpeedDialCanceledL( aDigit );
-        }
-    
-    CleanupStack::PopAndDestroy( phoneNumber );
-    }
-
-// -----------------------------------------------------------
-// CPhoneStateIdle:SpeedDialCanceledL
-// -----------------------------------------------------------
-//
-EXPORT_C void CPhoneStateIdle::SpeedDialCanceledL( const TUint& aDigit )
-
-    {
-    __LOGMETHODSTARTEND(EPhoneControl, "CPhoneStateIdle::SpeedDialCanceledL( ) ");
-    if ( IsNumberEntryUsedL() )
-        {
-        if ( aDigit == KPhoneDtmf1Character || 
-                  ( aDigit == KPhoneDtmf2Character && 
-                    iViewCommandHandle->HandleCommandL( 
-                     EPhoneViewIsStraightCallToVideoMailBox ) == EPhoneViewResponseSuccess ) ) 
-            {
-            // Remove number entry and set idle background on non-touch products
-            if ( !FeatureManager::FeatureSupported( KFeatureIdTouchCallHandling ) )
-                {
-                iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveNumberEntry );
-                
-                // Set Idle background, if still idle ( f.e not incoming call arrived )
-                if ( iStateMachine->State() == this )
-                    {
-                    // idle screen in the background
-                    SetupIdleScreenInBackgroundL();
-                    }
-                }
-            }
-        }        
-    }
-
-// -----------------------------------------------------------
-// CPhoneStateIdle::HandleNumberLongKeyPressL()
-// -----------------------------------------------------------
-//
-EXPORT_C void CPhoneStateIdle::HandleNumberLongKeyPressL()
-    {
-    __LOGMETHODSTARTEND(EPhoneControl, 
-        "CPhoneStateIdle::HandleNumberLongKeyPressL( ) ");
-    
-    HBufC* phoneNumber = PhoneNumberFromEntryLC();
-    
-    if ( phoneNumber && IsSpeedDialNumber ( *phoneNumber ) )
-        {
-        SpeedDialL( (*phoneNumber)[0], EDialMethodOneKeyDialing );
-        }
-    
-    CleanupStack::PopAndDestroy( phoneNumber );
-    }
-
-// -----------------------------------------------------------
-// CPhoneStateIdle::IsSpeedDialNumber()
-// -----------------------------------------------------------
-//
-EXPORT_C TBool CPhoneStateIdle::IsSpeedDialNumber( 
-        const TDesC& aNumber ) const
-    {
-    return ( aNumber.Length() == KPhoneDtmfSpeedDialPrefixLength 
-            && aNumber[0] >= KPhoneDtmf1Character 
-            && aNumber[0] <= KPhoneDtmf9Character );
-    }
 
 // -----------------------------------------------------------
 // CPhoneStateIdle::HandleSendCommandL()
@@ -978,7 +849,7 @@
     __LOGMETHODSTARTEND(
         EPhoneControl, "CPhoneStateIdle::HandleSendCommandL()" );
     
-    HandleVoiceCallCommandL( ETrue );
+    HandleVoiceCallCommandL();
     }
 
 // -----------------------------------------------------------
@@ -1157,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( ) ");         
     }
 
 // -----------------------------------------------------------
@@ -1318,35 +1150,10 @@
     }
 
 // -----------------------------------------------------------
-// CPhoneStateIdle::NumberForSpeedDialLocationL
-// -----------------------------------------------------------
-// 
-HBufC* CPhoneStateIdle::NumberForSpeedDialLocationL( 
-        const TUint& aDigit,
-        TPhoneCmdParamSpeedDial& aSpeedDialParam ) const
-    {
-    // Set the speed dial location from the digit in buffer. Character
-    // '1' means location 1, and so on.
-    const TInt location = aDigit - KPhoneDtmf1Character + 1;
-    aSpeedDialParam.SetLocation( location );
-    
-    // Get the number and type from the speed dial location.
-    HBufC* phoneNumber = HBufC::NewLC( KPhoneNumberEntryBufferSize );
-    
-    TPtr ptr( phoneNumber->Des() );
-    aSpeedDialParam.SetPhoneNumber( &ptr );
-    iViewCommandHandle->HandleCommandL( 
-        EPhoneViewGetNumberFromSpeedDialLocation, &aSpeedDialParam );
-
-    CleanupStack::Pop( phoneNumber );
-    return phoneNumber;
-    }
-
-// -----------------------------------------------------------
 // CPhoneStateIdle::HandleVoiceCallCommandL()
 // -----------------------------------------------------------
 //
-void CPhoneStateIdle::HandleVoiceCallCommandL( TBool aSendKey )
+void CPhoneStateIdle::HandleVoiceCallCommandL()
     {
     __LOGMETHODSTARTEND(
         EPhoneControl, "CPhoneStateIdle::HandleVoiceCallCommandL()" );
@@ -1374,18 +1181,9 @@
         else
 #endif // _DEBUG
             {
-            if ( IsSpeedDialNumber( *phoneNumber ) )
-                {
-                // Handle speed dial
-                SpeedDialL( (*phoneNumber)[0], aSendKey ? EDialMethodSendCommand : EDialMethodMenuSelection );
-                }
-            else
-                {
-                // call the number
-                iStateMachine->PhoneEngineInfo()->SetPhoneNumber( *phoneNumber );
-                DialVoiceCallL();
-                }
-            
+            // call the number
+            iStateMachine->PhoneEngineInfo()->SetPhoneNumber( *phoneNumber );
+            DialVoiceCallL();
             CleanupStack::PopAndDestroy( phoneNumber );
             }
         }    
--- a/phoneapp/phoneuicontrol/src/cphonestateincall.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuicontrol/src/cphonestateincall.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -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"
@@ -204,19 +205,6 @@
         case MEngineMonitor::EPEMessageDTMFSendingAborted:
             CancelDTMFSendingL();
             break;
-
-        case MEngineMonitor::EPEMessagePromptSpeedDial:
-            HandleDTMFPromptSpeedDialL();
-            break;
-
-        case MEngineMonitor::EPEMessageSpeedDialNotAssigned:
-            CPhoneState::SendGlobalErrorNoteL( 
-                EPhoneDtmfSpeedDialNotAssigned );
-            break;
-
-        case MEngineMonitor::EPEMessageInvalidSpeedDial:
-            CPhoneState::SendGlobalErrorNoteL( EPhoneDtmfInvalidSpeedDial );
-            break;
             
         case MEngineMonitor::EPEMessageAudioVolumeChanged:
             HandleAudioVolumeChangedL();
@@ -232,7 +220,7 @@
             break; 
             
         case MEngineMonitor::EPEMessageInValidEmergencyNumber:
-            SendGlobalErrorNoteL( EPhoneNoteTextNotAllowed );
+            SendGlobalErrorNoteL( EPhoneNoteTextNotAllowed, ETrue );
             break;
             
         case MEngineMonitor::EPEMessageValidEmergencyNumber:
@@ -285,6 +273,13 @@
     __LOGMETHODSTARTEND(EPhoneControl,  
         "CPhoneStateInCall::HandleIdleL()" );
     __ASSERT_DEBUG( aCallId >= 0, Panic( EPhoneCtrlParameterNotInitialized ) );
+    
+    TBool showDialer( EFalse );
+    HBufC *phoneNumber = HBufC::NewLC( KPhoneNumberEntryBufferSize );
+    TPtr ptr( phoneNumber->Des() );
+    TPhoneCmdParamString stringParam;
+    stringParam.SetString( &ptr );
+
     // Remove call 
     iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveCallHeader, aCallId );
   
@@ -295,40 +290,39 @@
     SetDefaultFlagsL();
     if ( IsNumberEntryUsedL() )
         {
-        // Show the number entry if it exists and update cba's.
-        SetNumberEntryVisibilityL( ETrue );
-        
-        // Close dtmf dialer when call is disconnected.
-        if ( IsDTMFEditorVisibleL() )
-            {      
-            CloseDTMFEditorL();
-            
-            // Display idle screen and update CBA's
-            DisplayIdleScreenL();
-            }
-        else if ( iOnScreenDialer && IsCustomizedDialerVisibleL() )
+        if ( iOnScreenDialer && IsCustomizedDialerVisibleL() )
             {            
             CloseCustomizedDialerL();
-            // Display idle screen and update CBA's
-            DisplayIdleScreenL();
-            }          
+            }
+        else 
+            {
+            iViewCommandHandle->ExecuteCommand(
+                    EPhoneViewGetNumberFromEntry,
+                    &stringParam );
+            iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveNumberEntry );
+            showDialer = ETrue;
+            }
         }
-    else
-        {
-        // Close menu bar, if it is displayed
-        iViewCommandHandle->ExecuteCommandL( EPhoneViewMenuBarClose );
+
         
-        if ( !TopAppIsDisplayedL() || IsAutoLockOn() )
-            {        
-            // Continue displaying current app but set up the 
-            // idle screen in the background
-            SetupIdleScreenInBackgroundL();
-            }
-        else
-            {
-            // Display idle screen and update CBAs
-            DisplayIdleScreenL();
-            }
+    // Close menu bar, if it is displayed
+    iViewCommandHandle->ExecuteCommandL( EPhoneViewMenuBarClose );
+    
+    if ( !TopAppIsDisplayedL() || IsAutoLockOn() )
+        {        
+        // Continue displaying current app but set up the 
+        // idle screen in the background
+        SetupIdleScreenInBackgroundL();
+        }
+    else if ( showDialer )
+        {
+        // Open dialer
+        iViewCommandHandle->ExecuteCommandL( EPhoneViewLaunchLogs, &stringParam );
+        }
+    else 
+        {
+        // Display idle screen and update CBAs
+        DisplayIdleScreenL();
         }
         
     DeleteTouchPaneButtons();        
@@ -337,6 +331,11 @@
     // 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 );
     }
@@ -409,6 +408,8 @@
         // Go to current state implementation
         UpdateInCallCbaL();
         }
+    
+    SetTouchPaneButtons(0);
     }
 
 // -----------------------------------------------------------
@@ -528,35 +529,6 @@
     }
 
 // -----------------------------------------------------------
-// CPhoneStateInCall::HandleDtmfPromptSpeedDialL
-// -----------------------------------------------------------
-//
-void CPhoneStateInCall::HandleDTMFPromptSpeedDialL()
-    {
-    __LOGMETHODSTARTEND(EPhoneControl,  
-        "CPhoneStateInCall::HandleDTMFPromptSpeedDialL()" );
-    // Remove the Sending... note
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveNote );
-
-    // Prompt for speed dial number
-    HBufC* emptyString = HBufC::NewLC( KPhoneNumberEntryBufferSize );
-    TPtr ptr( emptyString->Des() );
-
-    // If the Search softkey is selected before a speed dial number is entered,
-    // revert back to the DTMF query   
-    ShowDtmfTextQueryL( 
-        CPhoneMainResourceResolver::Instance()->
-            ResolveResourceID( EPhoneDtmfSpeedDialNumberQuery ),
-        CPhoneMainResourceResolver::Instance()->
-            ResolveResourceID( EPhoneSendDtmfEmptyEditBoxCBA ),
-        CPhoneMainResourceResolver::Instance()->
-            ResolveResourceID( EPhoneDtmfSpeedDialNormalEditBoxCBA ),
-        &ptr );
-
-    CleanupStack::PopAndDestroy( emptyString );
-    }
-
-// -----------------------------------------------------------
 // CPhoneStateInCall::HandleCommandL
 // -----------------------------------------------------------
 //
@@ -641,11 +613,6 @@
             SendDtmfL();
             break;
 
-        // DTMF Speed entry - Ok
-        case EPhoneCmdDtmfSpeedDialOk:
-            SendDtmfSpeedDialNumberL();
-            break;
-
         // DTMF sending - Cancel
         case EPhoneInCallCmdCancelSendingDtmfString:
             // Stop the asynchronous sending operation the 
@@ -971,34 +938,6 @@
     
     CleanupStack::PopAndDestroy( content );
     }
-    
-// -----------------------------------------------------------
-// CPhoneStateInCall::SendDtmfSpeedDialNumberL
-// -----------------------------------------------------------
-//
-void CPhoneStateInCall::SendDtmfSpeedDialNumberL()
-    {
-    __LOGMETHODSTARTEND(EPhoneControl,  
-        "CPhoneStateInCall::SendDtmfSpeedDialNumberL()" );
-    // First get the DTMF sequence from dialog
-    TPhoneCmdParamString dtmfSequence;
-    HBufC *content = HBufC::NewLC( KPEDtmfMaxLength );
-    TPtr ptr( content->Des() );
-    dtmfSequence.SetString( &ptr );
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewGetTextQueryContent,
-        &dtmfSequence );
-
-    // Prefix the query content string with the speed dial character '+'
-    _LIT( KSpeedDialPrefix, "+" );
-    ptr.Insert( 0, KSpeedDialPrefix );
-
-    // Send the DTMF
-    iStateMachine->PhoneEngineInfo()->SetDtmfStringCommand( ptr );
-    iStateMachine->SendPhoneEngineMessage(
-        MPEPhoneModel::EPEMessageSendDTMF );    
-
-    CleanupStack::PopAndDestroy( content );
-    }
 
 // -----------------------------------------------------------
 // CPhoneStateInCall::LaunchDtmfManualQueryL
@@ -1291,7 +1230,7 @@
             state );
         if ( state == EPSHWRMGripOpen )
             {
-            SendGlobalErrorNoteL( EPhoneNoteTextNotAllowed );
+            SendGlobalErrorNoteL( EPhoneNoteTextNotAllowed, ETrue );
             }
         else
             {
@@ -1547,7 +1486,7 @@
     else // aMessage == EPhoneKeyLongPress
         {
         // Display call in progress information note
-        SendGlobalInfoNoteL( EPhoneCallInProgress );
+        SendGlobalInfoNoteL( EPhoneCallInProgress, ETrue );
         }        
     }
 
--- a/phoneapp/phoneuicontrol/src/cphonestatestartup.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuicontrol/src/cphonestatestartup.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -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 );
         }
     }
 
--- a/phoneapp/phoneuicontrol/src/cphoneuicontroller.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuicontrol/src/cphoneuicontroller.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -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;
     }
 
@@ -338,10 +336,6 @@
     {
     __ASSERT_DEBUG( iStateMachine->State(), Panic( EPhoneCtrlInvariant ) );
 
-    // Send key up message to engine so that we wouldn't accidentally play
-    // any DTMF tone.
-    iStateMachine->SendPhoneEngineMessage( MPEPhoneModel::EPEMessageEndDTMF );
-
     return iStateMachine->State()->HandleCommandL( aCommand );
     }
 
--- a/phoneapp/phoneuicontrol/src/tphonecallheaderparam.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuicontrol/src/tphonecallheaderparam.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -72,7 +72,7 @@
     __PHONELOG2( EBasic, EPhoneControl, "TPhoneCallHeaderParam::SetCallHeaderTexts - NumberType(%d), CLI(%d)", numberType, cli );
     __PHONELOG2( EBasic, EPhoneControl, "TPhoneCallHeaderParam::SetCallHeaderTexts - CNAP(%d), AuxLine(%d)", cnap, auxLine );
     
-    if ( !cli && !cnap && ( numberType != EPEPrivateNumber ) )
+    if ( !cli && !cnap && numberType != EPEPrivateNumber && numberType != EPEUnknownNumber )
         {
         if ( auxLine )
             {
@@ -167,17 +167,16 @@
         TPhoneCmdParamCallHeaderData::TPhoneTextClippingDirection cnapClippingDirection = TPhoneCmdParamCallHeaderData::ERight;
         TBuf<KCntMaxTextFieldLength> remoteInfoText( KNullDesC );
  
-        /*If call is Private/PayPhone call then IsCallPrivateOrPayPhone
-        * will set SetIdentitySpecificCallHeaderData parameters therefore
-        * there is no need to call GetRemoteInfoDataL.*/  
-        if ( !IsCallPrivateOrPayPhone( aCallId, remoteInfoText ) )
+        TBool secondaryCli = GetRemoteInfoDataL( aCallId, remoteInfoText );
+        cnapClippingDirection = TPhoneCmdParamCallHeaderData::ELeft;
+
+        aCallHeaderData->SetCLIText( remoteInfoText,  TPhoneCmdParamCallHeaderData::ERight );
+        
+        if (secondaryCli)
             {
-            GetRemoteInfoDataL( aCallId, remoteInfoText );
-            cnapClippingDirection = TPhoneCmdParamCallHeaderData::ELeft;
+            aCallHeaderData->SetCNAPText( iStateMachine.PhoneEngineInfo()->RemotePhoneNumber( aCallId ), 
+                cnapClippingDirection );
             }
-        aCallHeaderData->SetCLIText( remoteInfoText,  TPhoneCmdParamCallHeaderData::ERight );
-        aCallHeaderData->SetCNAPText( iStateMachine.PhoneEngineInfo()->RemotePhoneNumber( aCallId ), 
-                cnapClippingDirection );
         }
     
     SetCallerImage( aCallId, aCallHeaderData );
@@ -359,13 +358,7 @@
         {
         TBuf<KCntMaxTextFieldLength> remoteInfoText( KNullDesC );
         
-        /*If call is Private/PayPhone call then IsCallPrivateOrPayPhone
-        * will set SetIdentitySpecificCallHeaderData parameters therefore
-        * there is no need to call GetRemoteInfoDataL.*/        
-        if ( !IsCallPrivateOrPayPhone( aCallId, remoteInfoText ) )
-            {
-            GetRemoteInfoDataL( aCallId, remoteInfoText );
-            }
+        GetRemoteInfoDataL( aCallId, remoteInfoText );
         aCallHeaderData->SetCLIText( remoteInfoText, TPhoneCmdParamCallHeaderData::ERight );
         }
 
@@ -568,15 +561,11 @@
     GetCallType( aCallId, aCallHeaderData );
     
     // Set CLI text for the call header
-    GetRemoteInfoDataL( aCallId, remoteInfoText );
+    TBool secondaryCli = GetRemoteInfoDataL( aCallId, remoteInfoText );
     if ( remoteInfoText != KNullDesC )
         {
         aCallHeaderData->SetCLIText( remoteInfoText, TPhoneCmdParamCallHeaderData::ERight );
-        if ( IsCallPrivateOrPayPhone( aCallId, remoteInfoText ) )
-            {
-            aCallHeaderData->SetCNAPText( remoteInfoText, TPhoneCmdParamCallHeaderData::ERight );
-            }
-        else
+        if ( secondaryCli )
             {
             aCallHeaderData->SetCNAPText( iStateMachine.PhoneEngineInfo()->
                 RemotePhoneNumber( aCallId ), TPhoneCmdParamCallHeaderData::ELeft );       
@@ -620,39 +609,22 @@
             aCallHeaderData ); 
     }
 
-// ---------------------------------------------------------------------------
-// TPhoneCallHeaderParam::IsCallPrivateOrPayPhone
-// ---------------------------------------------------------------------------
-//
-TBool TPhoneCallHeaderParam::IsCallPrivateOrPayPhone( const TInt aCallId, TDes& aData ) const 
-    {
-    __LOGMETHODSTARTEND( EPhoneControl, "TPhoneCallHeaderParam::IsCallPrivateOrPayPhone() ");
-    __ASSERT_DEBUG( iStateMachine.PhoneEngineInfo(), Panic( EPhoneCtrlInvariant ) );
-    TBool ret( EFalse );
-    const RMobileCall::TMobileCallRemoteIdentityStatus identity = iStateMachine.PhoneEngineInfo()->RemoteIdentity( aCallId );
-    if ( ( iStateMachine.PhoneEngineInfo()->RemotePhoneNumberType( aCallId ) == EPEPrivateNumber ) ||
-            identity == RMobileCall::ERemoteIdentityUnavailableNoCliCoinOrPayphone || 
-            identity == RMobileCall::ERemoteIdentityAvailableNoCliCoinOrPayphone )
-        {
-        SetIdentitySpecificCallHeaderData( aCallId, aData );
-        ret = ETrue;
-        }
-    
-    __PHONELOG1( EBasic, EPhoneControl, "TPhoneCallHeaderParam::IsCallPrivateOrPayPhone() - returns = %d ", ret);
-    return ret;  
-    }
+
 
 // ---------------------------------------------------------------------------
 //  TPhoneCallHeaderParam::GetRemoteInfoDataL
 // ---------------------------------------------------------------------------
 //
-void TPhoneCallHeaderParam::GetRemoteInfoDataL( 
+TBool TPhoneCallHeaderParam::GetRemoteInfoDataL( 
         const TInt aCallId, 
         TDes& aData ) const 
     {
     __LOGMETHODSTARTEND( EPhoneControl, "TPhoneCallHeaderParam::GetRemoteInfoDataL() ");
     __PHONELOG1( EBasic, EPhoneControl, "TPhoneCallHeaderParam::GetRemoteInfoDataL() - call id =%d ", aCallId);
     __ASSERT_DEBUG( iStateMachine.PhoneEngineInfo(), Panic( EPhoneCtrlInvariant ) );
+    
+    TBool secondaryCli(EFalse);
+        
     if ( aCallId == KEmergencyCallId )
         {
         // Set emergency label text
@@ -660,86 +632,60 @@
         }
     else
         {
+        const RMobileCall::TMobileCallRemoteIdentityStatus identity = iStateMachine.PhoneEngineInfo()->RemoteIdentity( aCallId );
         // Note next if-statements are in priority order so be careful if you change order
         // or add new if-statements.
         if ( iStateMachine.PhoneEngineInfo()->RemoteName( aCallId ).Length() )
             {
             // Display the contact name if it is available
             aData.Copy( iStateMachine.PhoneEngineInfo()->RemoteName( aCallId ) );
+            secondaryCli = ETrue;
             }
         else if ( iStateMachine.PhoneEngineInfo()->RemotePartyName( aCallId ).Length() )
             {
             // Display the CNAP or UUS info if it is available.
             aData.Copy( iStateMachine.PhoneEngineInfo()->RemotePartyName( aCallId ) );
+            secondaryCli = ETrue;
             }
         else if ( iStateMachine.PhoneEngineInfo()->RemoteCompanyName( aCallId ).Length() )
             {
             // Display the company name if it is available
             aData.Copy( iStateMachine.PhoneEngineInfo()->RemoteCompanyName( aCallId ) );
             }
-        else if ( iStateMachine.PhoneEngineInfo()->CallState( aCallId ) == EPEStateRinging  )
-            {
-            SetIdentitySpecificCallHeaderData( aCallId, aData );
-           }
-        else
+        else if ( iStateMachine.PhoneEngineInfo()->CallDirection( aCallId ) == RMobileCall::EMobileTerminated )
             {
-            if ( ( iStateMachine.PhoneEngineInfo()->CallState( aCallId ) != EPEStateDialing ) && 
-                 ( iStateMachine.PhoneEngineInfo()->CallState( aCallId ) != EPEStateRinging ) &&
-                 ( iStateMachine.PhoneEngineInfo()->CallState( aCallId ) != EPEStateAnswering ) )
+            if ( EPEPrivateNumber == iStateMachine.PhoneEngineInfo()->RemotePhoneNumberType( aCallId ) )
                 {
-                iManagerUtility.GetInCallNumberTextL( aCallId, aData );
+                if ( EPECallTypeVoIP == CallHeaderType() )
+                    {
+                    iManagerUtility.LoadResource( aData, iManagerUtility.Customization()->CustomizeCallHeaderText() );
+                    }
+                else
+                    {
+                    // private number
+                    iManagerUtility.LoadResource( aData, EPhoneCLIWithheld );
+                    }
+                }
+            else if ( identity == RMobileCall::ERemoteIdentityUnavailableNoCliCoinOrPayphone || 
+                    identity == RMobileCall::ERemoteIdentityAvailableNoCliCoinOrPayphone )
+                {
+                __PHONELOG( EBasic, EPhoneControl, "GetRemoteInfoDataL br2.5: payphone" );
+                // Display "Payphone".
+                iManagerUtility.LoadResource( aData, EPhoneCLIPayphone );
+                }
+            else if ( identity == RMobileCall::ERemoteIdentityUnknown )
+                {
+                __PHONELOG( EBasic, EPhoneControl, "GetRemoteInfoDataL br2.6: unknown number" );
+                // Display "Unknown Number".
+                iManagerUtility.LoadResource( aData, EPhoneCallCLIUnknown );
                 }
             }
+        else if ( iStateMachine.PhoneEngineInfo()->RemotePhoneNumber( aCallId ).Length() )
+            {
+            // Display the number if it is available
+            aData.Copy( iStateMachine.PhoneEngineInfo()->RemotePhoneNumber( aCallId ) );
+            }
         }
+    return secondaryCli;
     }
 
-// ---------------------------------------------------------------------------
-// TPhoneCallHeaderParam::SetIdentitySpecificCallHeaderData
-// ---------------------------------------------------------------------------
-//
-void TPhoneCallHeaderParam::SetIdentitySpecificCallHeaderData( const TInt aCallId,  TDes& aData ) const 
-    {
-    __LOGMETHODSTARTEND( EPhoneControl, "TPhoneCallHeaderParam::SetIdentitySpecificCallHeaderData() ")
-    __ASSERT_DEBUG( iStateMachine.PhoneEngineInfo(), Panic( EPhoneCtrlInvariant ) );
-    
-    const RMobileCall::TMobileCallRemoteIdentityStatus identity = iStateMachine.PhoneEngineInfo()->RemoteIdentity( aCallId );
-    const TPEPhoneNumberIdType idType = iStateMachine.PhoneEngineInfo()->RemotePhoneNumberType( aCallId );
-    
-    __PHONELOG1( EBasic, EPhoneControl, "TPhoneCallHeaderParam::SetIdentitySpecificCallHeaderData() - RemoteIdentity: %d ", 
-            identity )
-    __PHONELOG1( EBasic, EPhoneControl, "TPhoneCallHeaderParam::SetIdentitySpecificCallHeaderData() - idType: %d ", 
-            idType )
-    // If ringing call is emergency call then do not set identity specific info to call header
-    // because emergency call header doesnt contain identity specific information.
-    if ( aCallId == KEmergencyCallId )
-            {
-            // do nothing.
-            }
-    else if ( idType == EPEPrivateNumber )
-        {
-        // If call header has customized items and callheadertype is voip
-        // then load customized text.
-        if ( ( iManagerUtility.Customization() ) && ( CallHeaderType() == EPECallTypeVoIP ) )
-            {
-            // Display private address
-            iManagerUtility.LoadResource( aData, iManagerUtility.Customization()->CustomizeCallHeaderText() );
-            }
-        else
-            {
-            // Display "private number".
-            iManagerUtility.LoadResource( aData, EPhoneCLIWithheld );  
-            }       
-        }
-    else if( ( identity == RMobileCall::ERemoteIdentityUnavailableNoCliCoinOrPayphone ) ||
-             ( identity == RMobileCall::ERemoteIdentityAvailableNoCliCoinOrPayphone ) )
-        {
-        // Display "Payphone".
-        iManagerUtility.LoadResource( aData, EPhoneCLIPayphone );
-        }
-    else if ( identity == RMobileCall::ERemoteIdentityUnknown  )
-        {
-        // Display "Call".
-        iManagerUtility.LoadResource( aData, EPhoneCall );
-        }
-    }
-
--- a/phoneapp/phoneuiqtviewadapter/bwins/phoneuiqtviewadapteru.def	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuiqtviewadapter/bwins/phoneuiqtviewadapteru.def	Thu Jul 22 16:33:21 2010 +0100
@@ -1,98 +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<enum PhoneAction::ActionType, class PhoneAction *> 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<class HbAction *> 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 *)
-	?HandlePropertyChangedL@PhoneUIQtViewAdapter@@UAEXABVTUid@@IH@Z @ 91 NONAME ; void PhoneUIQtViewAdapter::HandlePropertyChangedL(class TUid const &, unsigned int, int)
-	?setHidden@PhoneUIQtViewAdapter@@AAEX_N@Z @ 92 NONAME ; void PhoneUIQtViewAdapter::setHidden(bool)
-	?SetHiddenL@PhoneUIQtViewAdapter@@AAEX_N@Z @ 93 NONAME ; void PhoneUIQtViewAdapter::SetHiddenL(bool)
-	?openContacts@PhoneUIQtViewAdapter@@AAEXXZ @ 94 NONAME ; void PhoneUIQtViewAdapter::openContacts(void)
-	?handleWindowDeactivated@PhoneUIQtViewAdapter@@AAEXXZ @ 95 NONAME ; void PhoneUIQtViewAdapter::handleWindowDeactivated(void)
+	?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<enum PhoneAction::ActionType, class PhoneAction *> PhoneResourceAdapter::convert(int, ...)
+	?convertToHbActions@PhoneResourceAdapter@@QBE?AV?$QList@PAVHbAction@@@@H@Z @ 16 NONAME ; class QList<class HbAction *> 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<class PhoneAction::ToolBarItem> 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)
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/conf/carmode.qcrml	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<repository target="RProperty" uidValue="0x102029A8">
+    <key int="0x1" ref="/phone/carmode">
+    </key>
+</repository>
--- a/phoneapp/phoneuiqtviewadapter/eabi/phoneuiqtviewadapteru.def	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuiqtviewadapter/eabi/phoneuiqtviewadapteru.def	Thu Jul 22 16:33:21 2010 +0100
@@ -11,101 +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
-	_ZN20PhoneUIQtViewAdapter22HandlePropertyChangedLERK4TUidji @ 103 NONAME
-	_ZThn12_N20PhoneUIQtViewAdapter22HandlePropertyChangedLERK4TUidji @ 104 NONAME
-	_ZN20PhoneUIQtViewAdapter10SetHiddenLEb @ 105 NONAME
-	_ZN20PhoneUIQtViewAdapter9setHiddenEb @ 106 NONAME
-	_ZN20PhoneUIQtViewAdapter12openContactsEv @ 107 NONAME
-	_ZN20PhoneUIQtViewAdapter21handleWindowActivatedEv @ 108 NONAME
-	_ZN20PhoneUIQtViewAdapter23handleWindowDeactivatedEv @ 109 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
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/inc/phoneapplauncher.h	Thu Jul 22 16:33:21 2010 +0100
@@ -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 <QObject>
+
+
+/*!
+ * \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<QVariant>& arguments);
+};
+
+#endif // PHONEAPPLAUNCHER_H
--- a/phoneapp/phoneuiqtviewadapter/inc/phonecommandextensionwrapper.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuiqtviewadapter/inc/phonecommandextensionwrapper.h	Thu Jul 22 16:33:21 2010 +0100
@@ -74,6 +74,22 @@
     void modifyPushButtonCommandList(
             const QList<XQTelUiCommandExtension::CallInfo> &callInfo, 
             QList<int> &buttonCmdList);
+ 
+    /*!
+        \fn void modifyToolBarCommandList(QList<int> &menuCmdList)
+        
+        Modifies tool bar command list. CallInfo contains current call 
+        information and toolBarCmdList contains current list of tool 
+        bar commands. 
+        Interface can remove/disable commands if the command list contains 
+        unsupported call commands (For example if service doesn't support 
+        conference call) or add commads which should be handled by telephony  
+        call handling (maximum amount of tool bar commands is 4 and list
+        index 0 is used for right button).
+    */
+    void modifyToolBarCommandList(
+            const QList<XQTelUiCommandExtension::CallInfo> &callInfo,
+            QList<XQTelUiCommandExtension::ToolBarCommand> &toolBarCmdList);
     
     /*!
         \fn void addMenuActions(QList<HbAction*> &menuActions)
--- a/phoneapp/phoneuiqtviewadapter/inc/phoneindicatorcontroller.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuiqtviewadapter/inc/phoneindicatorcontroller.h	Thu Jul 22 16:33:21 2010 +0100
@@ -25,6 +25,7 @@
 // FORWARD DECLARATION
 class LogsModel;
 class LogsFilter;
+class XQSettingsKey;
 class PhoneIndicatorController : public QObject
     {
     Q_OBJECT
@@ -32,23 +33,28 @@
     PhoneIndicatorController(QObject *parent = 0);
     virtual ~PhoneIndicatorController();
     
-    void setActiveCallData( const TDesC &text, const TDesC &icon );
+    void setActiveCallData();
     void clearActiveCallData();
     void enableActiveCallIndicator();
     void disableActiveCallIndicator();
     
 private slots:
     void updateMissedCallIndicator(const XQSettingsKey &key, const QVariant &value);
+    void updateDivertIndicator(const XQSettingsKey &key, const QVariant &value);
     void setMissedallIndicatorData();
+  
+private:
+    void updateDiverIndicator(bool activeDiverts);
+    inline bool compareKeys(const XQSettingsKey &first, const XQSettingsKey &second);
     
 private:
-    HbIndicator m_indicator;
-    LogsModel  *m_logsModel;
-    LogsFilter *m_missedCallsFilter;
-    XQSettingsManager * m_setManager;
-    
-    QString m_cli;
-    QString m_callImage;
+    HbIndicator         m_indicator;
+    LogsModel           *m_logsModel;
+    LogsFilter          *m_missedCallsFilter;
+    XQSettingsManager   *m_setManager;
+
+    QString             m_cli;
+    QString             m_callImage;
     };
 
 #endif /* PHONEINDICATORCONTROLLER_H_ */
--- a/phoneapp/phoneuiqtviewadapter/inc/phonemessagecontroller.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuiqtviewadapter/inc/phonemessagecontroller.h	Thu Jul 22 16:33:21 2010 +0100
@@ -24,6 +24,7 @@
 
 // FORWARD DECLARATION
 class TPhoneCommandParam;
+class PhoneAppLauncher;
 
 class PhoneMessageController : public QObject
 {
@@ -34,7 +35,7 @@
     /*!
         \fn PhoneMessageController (QObject *parent)
     */
-    PhoneMessageController(QObject *parent = 0);
+    PhoneMessageController(PhoneAppLauncher &appLauncher, QObject *parent = 0);
         
     /*!
         Destructor
@@ -48,17 +49,9 @@
 
     */
     void openSoftRejectMessageEditor(TPhoneCommandParam *commandParam);
- 
+    
 private:
-    
-    /*!
-        \fn void showNote ()
-        
-        This method opens message editor.
-
-    */
-    void openEditor(QString toField, QString name, QString messageBody = QString());
-    
+    PhoneAppLauncher &m_appLauncher;
 };
 
 #endif // PHONEMESSAGECONTROLLER_H
--- a/phoneapp/phoneuiqtviewadapter/inc/phonenotecontroller.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuiqtviewadapter/inc/phonenotecontroller.h	Thu Jul 22 16:33:21 2010 +0100
@@ -26,7 +26,9 @@
 // FORWARD DECLARATION
 class TPhoneCommandParam;
 class TPhoneCmdParamQuery;
+class TPhoneCmdParamGlobalNote;
 class HbDeviceMessageBox;
+class HbDeviceNotificationDialog;
 class HbDeviceProgressDialog;
 class HbProgressDialog;
 class HbMessageBox;
@@ -119,14 +121,22 @@
 private slots:
 
     /*!
-        \fn void destroyDialog ()
+        \fn void destroyDialog()
         
-        Slot is called when global note is closed.
+        Slot is called when device message box is closed.
     
     */
     void destroyDialog();
 
     /*!
+        \fn void destroyNotification()
+        
+        Slot is called when device notification dialog is closed.
+    
+    */
+    void destroyNotification();
+    
+    /*!
         \fn void removeMappings ()
         
         Slot is called when note or query is closed.
@@ -180,11 +190,26 @@
         This method shows global wait note.
     */
     void showGlobalWaitNote(TPhoneCmdParamQuery* params);
+
+    /*!
+        \fn void showDeviceMessageBox()
+        
+        This method shows device message box.
+    */
+    void showDeviceMessageBox(TPhoneCmdParamGlobalNote* params);
+    
+    /*!
+        \fn void showDeviceNotificationDialog()
+        
+        This method shows device notification dialog.
+    */
+    void showDeviceNotificationDialog(TPhoneCmdParamGlobalNote* params);
     
 private:
 
     QTimer *m_timer;
     QList<HbDeviceMessageBox *> m_messageBoxList;
+    QList<HbDeviceNotificationDialog* > m_notificationList;
     HbDeviceProgressDialog *m_progressDialog;
     HbProgressDialog *m_dtmfNote;
     HbMessageBox *m_queryNote;
--- a/phoneapp/phoneuiqtviewadapter/inc/phoneresourceadapter.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuiqtviewadapter/inc/phoneresourceadapter.h	Thu Jul 22 16:33:21 2010 +0100
@@ -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 ()
@@ -112,6 +113,16 @@
         Returns HbAction list.
     */ 
     QList<HbAction*> convertToHbActions(int symbianResourceId) const;
+
+    /*!
+        \fn QString PhoneResourceAdapter::convertToToolBarCommandList()
+        
+        Converts given Symbian command id to tool bar command list.
+        
+        Returns command list.
+    */
+    QList<PhoneAction::ToolBarItem> convertToToolBarCommandList(
+            int symbianResourceId ) const;
     
 protected:    
 
--- a/phoneapp/phoneuiqtviewadapter/inc/phoneuicommandcontroller.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuiqtviewadapter/inc/phoneuicommandcontroller.h	Thu Jul 22 16:33:21 2010 +0100
@@ -68,7 +68,7 @@
     /*!
         \fn void pushButtonActionsForCall ()
         
-        Returns push button actions actions for call.
+        Returns push button actions for call.
 
     */
     QMap<PhoneAction::ActionType, PhoneAction *> pushButtonActionsForCall( 
@@ -79,6 +79,19 @@
             int serviceId,
             int callId);
     
+    /*!
+        \fn void toolBarActions ()
+        
+        Returns tool bar actions for call.
+
+    */
+    QList<PhoneAction *> toolBarActions( 
+            int resourceId,
+            QMap<int,int> callStates,
+            QMap<int,int> serviceIds,
+            int serviceId,
+            int callId);
+    
 private:
 
     /*!
@@ -88,7 +101,7 @@
 
     */
     QList<int> menuCommands(
-            QMap<int,int> callStates, QMap<int,int> serviceIds );
+            QMap<int,int> callStates, QMap<int,int> serviceIds) const;
     
     /*!
         \fn void addMenuItems()
@@ -103,7 +116,7 @@
         Maps ui command extension commands to
         phone app commands.
     */
-    int mapCommand(int command);
+    int mapCommand(int command) const;
     
     /*!
         \fn void commandExtension()
@@ -119,7 +132,7 @@
         Returns service's plugin uid by service id.
     */
     TUid ResolveImplementationUidL( 
-            TUint32 aServiceId, TServicePropertyName aPropertyName );
+            TUint32 aServiceId, TServicePropertyName aPropertyName ) const;
     
     /*!
         \fn void MenuExtensionL()
@@ -142,7 +155,64 @@
         Checks are all calls made by same service (id).
         Returns true when same service used.
     */
-    bool areServicesSame(QMap<int,int> callStates, QMap<int,int> serviceIds);
+    bool areServicesSame(QMap<int,int> callStates, QMap<int,int> serviceIds) const;
+
+    /*!
+        \fn void setJoinFlag()
+        
+        Sets conference join button flag.
+    */
+    void setJoinFlag(QMap<int,int> callStates, QMap<int,int> serviceIds) const;
+ 
+    /*!
+        \fn void setHoldFlag()
+        
+        Sets hold button flag.
+    */
+    void setHoldFlag(int callState) const;
+ 
+    /*!
+        \fn void setOutgoingFlag()
+        
+        Sets outgoing call button flag.
+    */
+    void setOutgoingFlag(QList<int> callStates) const;
+    
+    /*!
+        \fn void setConferenceFlag()
+        
+        Sets conference call button flag. (Flag will be true when call 
+        state list contains held/active conference).
+    */
+    void setConferenceFlag(QList<int> callStates) const;
+    
+    /*!
+        \fn void setMulticallFlag()
+        
+        Sets multi call button flag. (Flag will be set as true when active
+        and held calls exists).
+    */
+    void setMultiCallFlag(QList<int> callStates) const;
+    
+    /*!
+        \fn void mapToExtensionToolBarItems()
+        
+        Maps phone action tool bar item list to ui command extension
+        tool bar item list.
+    */
+    void mapToExtensionToolBarItems(
+            const QList<PhoneAction::ToolBarItem> &sourceList, 
+            QList<XQTelUiCommandExtension::ToolBarCommand> &toolBarCmdList) const;
+ 
+    /*!
+        \fn void mapToPhoneActionToolBarItems()
+        
+        Maps ui command extension tool bar item list to phone action
+        tool bar item list.
+    */
+    void mapToPhoneActionToolBarItems( 
+            const QList<XQTelUiCommandExtension::ToolBarCommand> &sourceList,
+            QList<PhoneAction::ToolBarItem> &commandList) const;        
     
     /*!
         \fn void buttonCommandList()
@@ -150,16 +220,16 @@
         Returns push button command list.
     */    
     QList<int> buttonCommandList(int callState,
-            bool emergencyCall,
-            bool sameServices,
-            QList<int> callStates);
+                                 bool emergencyCall,
+                                 QList<int> callStates) const;
     
     /*!
         \fn void buttonCommandList()
         
         Maps push button command to phone action.
     */
-    PhoneAction *mapCommandToAction(int callState);
+    PhoneAction *mapCommandToAction(int command,
+                                    bool disabled=false) const;
     
     
     
--- a/phoneapp/phoneuiqtviewadapter/inc/phoneuiqtbuttonscontroller.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuiqtviewadapter/inc/phoneuiqtbuttonscontroller.h	Thu Jul 22 16:33:21 2010 +0100
@@ -29,11 +29,18 @@
     
     enum PhoneButtonFlag
     {
-        Hold            = 0x02, // Hold
-        Ihf             = 0x04, // Ihf
-        Wired           = 0x08, // Wired
-        Btaa            = 0x10, // Btaa
-        DisableJoin     = 0x20  // Should join option be disabled
+        Hold            = 0x02,  // Hold
+        Ihf             = 0x04,  // Ihf
+        Wired           = 0x08,  // Wired
+        Btaa            = 0x10,  // Btaa
+        DisableJoin     = 0x20,  // Should join option be disabled
+        Conference      = 0x40,  // Conference call active
+        Mute            = 0x80,  // Mute
+        MultiCall       = 0x100, // Multi call
+        FullConference  = 0x200, // Max member count in conference
+        Outgoing        = 0x400, // Outgoing call
+        IhfAsPushButton  = 0x800,  // Speaker as push button in bubble
+        BluetoothAvailable   = 0x1000  // Bluetooth available
     };
     Q_DECLARE_FLAGS(PhoneButtonFlags, PhoneButtonFlag)
 
--- a/phoneapp/phoneuiqtviewadapter/inc/phoneuiqtviewadapter.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuiqtviewadapter/inc/phoneuiqtviewadapter.h	Thu Jul 22 16:33:21 2010 +0100
@@ -28,7 +28,6 @@
 #include <QMap>
 #include <apgwgnam.h>
 #include "mphoneviewcommandhandle.h"
-#include "mphonepubsubobserver.h"
 #include "phoneaction.h"
 
 class PhoneUIQtViewIF;
@@ -42,11 +41,12 @@
 class TelephonyService;
 class QKeyEvent;
 class PhoneIndicatorController;
+class PhoneVisibilityHandler;
+class PhoneAppLauncher;
 
 class PHONEUIQTVIEWADAPTER_EXPORT PhoneUIQtViewAdapter : 
     public QObject, 
-    public MPhoneViewCommandHandle,
-    public MPhonePubSubObserver
+    public MPhoneViewCommandHandle
 {
     Q_OBJECT
 
@@ -148,20 +148,7 @@
         Returns pointer to PhoneNoteController
     */
     PhoneNoteController* noteController() const;
-    
-public: // from MPhonePubSubObserver
 
-        /**
-        * This function is called when there is property value change.
-        * @param aCategory Category of the property
-        * @param aKey Property key that is changed
-        * @param aValue New property value
-        */
-        void HandlePropertyChangedL( 
-            const TUid& aCategory,
-            const TUint aKey,
-            const TInt aValue);
-    
 
 private slots:
 
@@ -425,6 +412,13 @@
     void bringToForeground();
     
     /*!
+        \fn void PhoneUIQtViewAdapter::hideDeviceDialogs()
+        
+        This method brings application top of devicedialogs.
+    */
+    void hideDeviceDialogs(TPhoneCommandParam *commandParam);
+    
+    /*!
         \fn void PhoneUIQtViewAdapter::showGlobalNote()
         
         This method shows global note.
@@ -537,6 +531,24 @@
         This method opens contacts application.
     */    
     void openContacts();
+ 
+    /*!
+        /fn void openLogs()
+        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 +564,10 @@
     PhoneIndicatorController *m_indicatorController;
     bool m_dialpadAboutToClose;
     bool m_homeScreenToForeground;
-    bool m_carModeEnabled;
+	PhoneVisibilityHandler *m_visibilityHandler;
+	PhoneAppLauncher *m_appLauncher;
+	bool m_clearDialpadOnClose;
+	bool m_speakerAsDefaultButton;
 };
 
 #endif // PHONEUIQTVIEWADAPTER_H
--- a/phoneapp/phoneuiqtviewadapter/inc/phoneviewcommanddefinitions.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuiqtviewadapter/inc/phoneviewcommanddefinitions.h	Thu Jul 22 16:33:21 2010 +0100
@@ -94,9 +94,6 @@
     EPhoneViewStartCapturingKey,
     EPhoneViewStopCapturingKey,
     EPhoneViewSetGlobalNotifiersDisabled,
-    EPhoneViewSetSpeedDialLocation, 
-    EPhoneViewGetNumberFromSpeedDialLocation,
-    EPhoneViewAssignSpeedDialLocation,
     EPhoneViewGetHoldFlag,
     EPhoneViewSetHoldFlag,
     EPhoneViewSetSoftRejectFlag,
@@ -235,6 +232,11 @@
     EPhoneViewBackButtonActive,
     EPhoneViewHsToForegroundAfterCall,
     EPhoneViewOpenContacts,
+    EPhoneViewSetIhfFlag,
+    EPhoneViewSetMuteFlag,
+    EPhoneViewLaunchLogs,
+    EPhoneViewSetBlueToothFlag,
+    EPhoneViewSetBluetoothAvailableFlag,
     EPhoneAmountOfCommands, // Don't remove this, this should always be the last in list.
 };
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/inc/phonevisibilityhandler.h	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,138 @@
+/*
+* 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: Adjusts visibility of Phone app in device lock situations.
+*
+*/
+
+#ifndef PHONEVISIBILITYHANDLER_H
+#define PHONEVISIBILITYHANDLER_H
+
+#include <QObject>
+
+#include "mphonepubsubobserver.h"
+#include <qvaluespacesubscriber.h>
+#include <qvaluespacepublisher.h>
+
+using namespace QtMobility;
+
+class CEikonEnv;
+class PhoneUIQtViewIF;
+
+/*!
+ * \class PhoneVisibilityHandler
+ * \brief Adjusts visibility of Phone application in device lock situations.
+*/
+class PhoneVisibilityHandler : 
+    public QObject,
+    public MPhonePubSubObserver
+{
+    Q_OBJECT
+    
+    enum AdjustAction {
+        ForceOnTop,
+        BringForwards,
+        KeepCurrentPos,
+        SendToBack
+    };
+
+public:
+    
+    /**
+     * Constructor.
+     */
+    PhoneVisibilityHandler(PhoneUIQtViewIF &view, QObject *parent = 0);
+
+    /**
+     * Destructor.
+     */
+    ~PhoneVisibilityHandler();
+
+public:
+    /**
+     * Control visiblity
+     */
+    void bringToForeground();
+    void sendToBackground(bool homeScreenForeground);
+    void hideDeviceDialogs(bool hide);
+    
+    /**
+     * Return true if phone is visible application
+     */
+    bool phoneVisible();
+    
+public: // from MPhonePubSubObserver
+
+    /**
+    * This function is called when there is property value change.
+    * @param aCategory Category of the property
+    * @param aKey Property key that is changed
+    * @param aValue New property value
+    */
+    void HandlePropertyChangedL( 
+        const TUid& aCategory,
+        const TUint aKey,
+        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);
+    
+private slots:
+
+    /**
+     * QValueSpaceSubscriber has notified that Car Mode value has changed by calling this slot.
+     */
+    void carModeChanged();
+    
+private:
+    /** Phone view */
+    PhoneUIQtViewIF &m_view;
+    
+    /** Cached pointer to Eikon environment. Not own.*/
+    CEikonEnv *m_eikonEnv;
+    
+    /** Car mode effects visibility */
+    bool m_carModeEnabled;
+    
+    /** Hide device dialogs */
+    bool m_hideDeviceDialogs;
+    
+    /** Device lock enabled */
+    bool m_deviceLockEnabled;
+    
+    /** Subscribes to Car Mode changes */
+    QValueSpaceSubscriber* m_carModeSubscriber;
+    
+    /** Car Mode publisher */
+    QValueSpacePublisher* m_carModePublisher;
+    
+    /** Key guard status before phone came top */
+    bool m_keyguardOnBeforeForeground;
+};
+
+#endif // PHONEVISIBILITYHANDLER_H
--- a/phoneapp/phoneuiqtviewadapter/inc/telephonyservice.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuiqtviewadapter/inc/telephonyservice.h	Thu Jul 22 16:33:21 2010 +0100
@@ -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<XQAiwRequest> request(appManager.create(service, interface, operation, false));
+        if (request == NULL) {
+            //Service not found 
+        }
+        QList<QVariant> args;
+        args << 1; // open dialpad
+        request->setArguments(args);
+        if (request->send()) {
+           //error
+        }
     */
     void start(const int serviceId);
     
--- a/phoneapp/phoneuiqtviewadapter/phoneuiqtviewadapter.pri	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuiqtviewadapter/phoneuiqtviewadapter.pri	Thu Jul 22 16:33:21 2010 +0100
@@ -26,7 +26,8 @@
 HEADERS += ./inc/phonecommandextensionwrapper.h
 HEADERS += ./inc/phonemessagecontroller.h
 HEADERS += ./inc/phoneindicatorcontroller.h
-
+HEADERS += ./inc/phonevisibilityhandler.h
+HEADERS += ./inc/phoneapplauncher.h
 
 SOURCES += ./src/phoneuiqtviewadapter.cpp
 SOURCES += ./src/phoneuiqtbuttonscontroller.cpp
@@ -38,3 +39,7 @@
 SOURCES += ./src/phonecommandextensionwrapper.cpp
 SOURCES += ./src/phonemessagecontroller.cpp
 SOURCES += ./src/phoneindicatorcontroller.cpp
+SOURCES += ./src/phonevisibilityhandler.cpp
+SOURCES += ./src/phoneapplauncher.cpp
+
+
--- a/phoneapp/phoneuiqtviewadapter/phoneuiqtviewadapter.pro	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuiqtviewadapter/phoneuiqtviewadapter.pro	Thu Jul 22 16:33:21 2010 +0100
@@ -17,7 +17,8 @@
 
 TEMPLATE = lib
 TARGET = phoneuiqtviewadapter
-CONFIG += hb
+CONFIG += hb mobility
+MOBILITY = publishsubscribe
 
 symbian {
     TARGET.CAPABILITY = ALL -TCB
@@ -45,14 +46,28 @@
         -lxqsettingsmanager \
         -llogsengine \
         -lxqplugins \
-        -lakncapserverclient
+        -lakncapserverclient \
+        -llockclient \
+        -ltelephonyservice \
+        -lapgrfx \
+        -lavkon \
+        -lws32 \
+        -lcone
+        
     defFiles = "$${LITERAL_HASH}ifdef WINS" \
         "DEFFILE bwins/phoneuiqtviewadapter.def" \
         "$${LITERAL_HASH}else" \
             "DEFFILE eabi/phoneuiqtviewadapter.def" \
         "$${LITERAL_HASH}endif"
     
-    MMP_RULES += defFiles    
+    MMP_RULES += defFiles
+
+    #qcrml export
+    BLD_INF_RULES.prj_exports += "./conf/carmode.qcrml  c:/resource/qt/crml/carmode.qcrml "
+    crml.sources = ./conf/carmode.qcrml
+    crml.path = c:/resource/qt/crml
+    DEPLOYMENT += crml
+
 }
 
 # Input
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/src/phoneapplauncher.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -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 <devicelockaccessapi.h>
+#include <xqservicerequest.h>
+#include <logsservices.h>
+#include <xqappmgr.h>
+#include <xqrequestinfo.h>
+
+#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<QVariant> 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<QVariant> 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<QVariant> 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<QVariant> &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<XQAiwRequest> 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
+
--- a/phoneapp/phoneuiqtviewadapter/src/phonecommandextensionwrapper.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuiqtviewadapter/src/phonecommandextensionwrapper.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -64,6 +64,15 @@
     }
 }
 
+void PhoneCommandExtensionWrapper::modifyToolBarCommandList(
+        const QList<XQTelUiCommandExtension::CallInfo> &callInfo,
+        QList<XQTelUiCommandExtension::ToolBarCommand> &toolBarCmdList)
+{
+    if (m_plugin) {
+        m_plugin->modifyToolBarCommandList(callInfo, toolBarCmdList);
+    }
+}
+
 void PhoneCommandExtensionWrapper::addMenuActions(
         const QList<XQTelUiCommandExtension::CallInfo> &callInfo,
         QList<HbAction*> &menuActions)
--- a/phoneapp/phoneuiqtviewadapter/src/phoneindicatorcontroller.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuiqtviewadapter/src/phoneindicatorcontroller.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -17,43 +17,68 @@
 
 #include "phoneindicatorcontroller.h"
 #include "phoneindicators.h"
+#include "qtphonelog.h"
 
-#include <QList>
-#include <QPair>
+#include <QByteArray>
+#include <hbicon.h>
 
 #ifdef Q_OS_SYMBIAN
 #include <logsmodel.h>
 #include <logsfilter.h>
-#include <logsdomaincrkeys.h>
-#include <hbicon.h>
+#include <LogsDomainCRKeys.h>
+#include <ctsydomaincrkeys.h>
 #endif
 
+namespace PhoneIndicatorControllerKeys{
+    const XQSettingsKey missedCallsSettingsKey( XQSettingsKey::TargetCentralRepository, 
+        KCRUidLogs.iUid, KLogsNewMissedCalls );
+
+    const XQSettingsKey unconditionalCFKey( XQSettingsKey::TargetCentralRepository, 
+        KCRUidCtsyCallForwardingIndicator.iUid, KCtsyUnconditionalCFStatus );
+
+    const XQSettingsKey currentCFKey( XQSettingsKey::TargetCentralRepository, 
+            KCRUidCtsyCallForwardingIndicator.iUid, KCtsyCallForwardingIndicator );     
+}
+
+
+
 PhoneIndicatorController::PhoneIndicatorController(QObject *parent):
     QObject(parent), m_logsModel(0), m_missedCallsFilter(0)
 {
+    PHONE_TRACE
 #ifdef Q_OS_SYMBIAN
     m_setManager = new XQSettingsManager(this);
- 
-    XQSettingsKey settingsKey( XQSettingsKey::TargetCentralRepository, 
-            KCRUidLogs.iUid, KLogsNewMissedCalls );
-    
-    bool ok = connect( m_setManager, 
+    connect( m_setManager, 
             SIGNAL( valueChanged(const XQSettingsKey & ,const QVariant &)),
                 this, SLOT(updateMissedCallIndicator(XQSettingsKey, 
                         QVariant)));
-    ASSERT( ok );
-    ok = false;
-    ok = m_setManager->startMonitoring( settingsKey );
-    ASSERT(ok);
+    
+    connect( m_setManager, 
+            SIGNAL( valueChanged(const XQSettingsKey & ,const QVariant &)),
+                this, SLOT(updateDivertIndicator(XQSettingsKey, 
+                        QVariant)));
     
-    qRegisterMetaType<PhoneIndicatorInfo>("PhoneIndicatorInfo");
-
+    m_setManager->startMonitoring( PhoneIndicatorControllerKeys::missedCallsSettingsKey );
+    m_setManager->startMonitoring( PhoneIndicatorControllerKeys::unconditionalCFKey, 
+            XQSettingsManager::TypeByteArray);
+    m_setManager->startMonitoring( PhoneIndicatorControllerKeys::currentCFKey,
+            XQSettingsManager::TypeByteArray);
+    
+    qRegisterMetaType<PhoneIndicatorInfo>("PhoneIndicatorInfo");    
+    QByteArray bytes = m_setManager->readItemValue(
+            PhoneIndicatorControllerKeys::unconditionalCFKey).toByteArray();
+    if ( m_setManager->error() == XQSettingsManager::NoError ){
+        int cfStatus=0;
+        memcpy(&cfStatus, bytes.data_ptr()->array, sizeof(int));
+        updateDiverIndicator(cfStatus & KCFVoiceForwarded);
+    }
 #endif
 }
 
 PhoneIndicatorController::~PhoneIndicatorController()
 {   
 #ifdef Q_OS_SYMBIAN
+    
     XQPublishAndSubscribeSettingsKey missedCallCountKey(
                     (qint32)KCRUidLogs.iUid, (quint32)KLogsNewMissedCalls );
     m_setManager->stopMonitoring(missedCallCountKey);
@@ -63,11 +88,10 @@
 #endif
 }
 
-void PhoneIndicatorController::setActiveCallData( 
-        const TDesC &text, const TDesC &icon )
+void PhoneIndicatorController::setActiveCallData()
 {
-    m_cli = QString::fromUtf16 (text.Ptr (), text.Length ());
-    m_callImage = QString::fromUtf16 (icon.Ptr (), icon.Length ());
+    m_cli = hbTrId("txt_phone_dblist_ongoing_call");
+    m_callImage = "qtg_mono_call";//QString::fromUtf16 (icon.Ptr (), icon.Length ());
 }
 
 void PhoneIndicatorController::clearActiveCallData()
@@ -103,7 +127,8 @@
         const XQSettingsKey &key, const QVariant &value)
 { 
 #ifdef Q_OS_SYMBIAN
-    if ( key.key() == (quint32)KLogsNewMissedCalls ){
+
+    if (compareKeys(key, PhoneIndicatorControllerKeys::missedCallsSettingsKey) ){
         if ( value.toInt() == 0 ){
             QString indicatorType(indicatorName(PhoneMissedCallIndicator));
             m_indicator.deactivate(indicatorType);
@@ -124,16 +149,33 @@
 #endif  
 }
 
+void PhoneIndicatorController::updateDivertIndicator(
+        const XQSettingsKey &key, const QVariant &value)
+{
+    PHONE_TRACE
+    if ( compareKeys( key, PhoneIndicatorControllerKeys::currentCFKey ) ){
+        PHONE_DEBUG("currentCfKey");
+        int cfStatus = value.toByteArray().toInt();
+        updateDiverIndicator( cfStatus & KCFVoiceForwarded);
+    } else if (compareKeys(key, PhoneIndicatorControllerKeys::unconditionalCFKey )){        
+        QByteArray bytes = value.toByteArray();
+        // Convert QByteArray elements into integer
+        // Conversation does not care about sign bit
+        int status;
+        memcpy(&status, bytes.data_ptr()->array, sizeof(int));
+        updateDiverIndicator(status & KCFVoiceForwarded);
+    }
+}
+
 void PhoneIndicatorController::setMissedallIndicatorData()
 {
 #ifdef Q_OS_SYMBIAN
 
-    XQSettingsKey settingsKey( XQSettingsKey::TargetCentralRepository, 
-            KCRUidLogs.iUid, KLogsNewMissedCalls );
     QString indicatorType(indicatorName(PhoneMissedCallIndicator));
     
-    int missedCallCount = m_setManager->readItemValue( settingsKey,
-            XQSettingsManager::TypeInt ).toInt();
+    int missedCallCount = m_setManager->readItemValue( 
+            PhoneIndicatorControllerKeys::missedCallsSettingsKey,
+                XQSettingsManager::TypeInt ).toInt();
     
     if ( missedCallCount > 0 ) {
         QVariantMap parameters;
@@ -170,12 +212,7 @@
                     QVariant( HbIndicatorInterface::SecondaryTextRole ).toString(), 
                     lastMissedCallFrom );
             }
-        
-        // icon
-        //QList<QVariant> icons = m_missedCallsFilter->data( 
-        //        m_missedCallsFilter->index(0,0), 
-        //        Qt::DecorationRole).value<QList<QVariant> >();
-        //QString iconName = icons.first().value<HbIcon>().iconName();
+
         QString iconName = "qtg_mono_missed_call_unseen";
         parameters.insert(
                 QVariant( HbIndicatorInterface::DecorationNameRole ).toString(),
@@ -187,3 +224,33 @@
     }
 #endif
 }
+
+void PhoneIndicatorController::updateDiverIndicator(bool activeDiverts)
+{
+    PHONE_TRACE
+    QString indicatorType(indicatorName(PhoneDivertIndidicator));
+    if(activeDiverts){
+        QVariantMap parameters;
+        
+        // First row
+       parameters.insert( 
+               QVariant( HbIndicatorInterface::PrimaryTextRole ).toString(),
+               hbTrId("txt_phone_dblist_active_diverts" ));
+        
+        QString iconName = "qtg_mono_call_diverted";
+        parameters.insert(
+                QVariant( HbIndicatorInterface::DecorationNameRole ).toString(),
+                iconName );
+        
+        m_indicator.activate( indicatorType, parameters );
+    }else{
+        m_indicator.deactivate( indicatorType );
+    }        
+}
+
+bool PhoneIndicatorController::compareKeys(
+        const XQSettingsKey &first, const XQSettingsKey &second)
+{   
+    PHONE_TRACE
+    return ( first.key() == second.key() && first.uid() == second.uid() );
+}
--- a/phoneapp/phoneuiqtviewadapter/src/phonemessagecontroller.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuiqtviewadapter/src/phonemessagecontroller.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -19,21 +19,21 @@
 #include "phoneconstants.h"
 #include "cphonecenrepproxy.h"
 #include "cphonepubsubproxy.h"
+#include "phoneapplauncher.h"
 #include <settingsinternalcrkeys.h>
 #include <coreapplicationuisdomainpskeys.h>
 #include <hbglobal.h>
-#include <xqservicerequest.h>
 
 
-PhoneMessageController::PhoneMessageController(QObject *parent) : 
-    QObject(parent)
+PhoneMessageController::PhoneMessageController(PhoneAppLauncher &appLauncher, QObject *parent) : 
+    QObject(parent),
+    m_appLauncher(appLauncher)
 {
 
 }
 
 PhoneMessageController::~PhoneMessageController()
 {
-
 }
 
 void PhoneMessageController::openSoftRejectMessageEditor(
@@ -83,18 +83,5 @@
 
     
     // open message editor
-    openEditor(toField, alias, messageBody );
+    m_appLauncher.launchMessaging(toField, alias, messageBody);
 }
-
-void PhoneMessageController::openEditor(
-        QString /*toField*/, QString /*name*/, QString /*messageBody*/)
-{
-    //TODO
-    /*XQServiceRequest snd(QLatin1String("com.nokia.services.hbserviceprovider.imessage.send"), QLatin1String("send(QVariant)"));
-    QVariant data;
-    snd << data;
-    snd.send();*/
-}
-
-
-
--- a/phoneapp/phoneuiqtviewadapter/src/phonenotecontroller.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuiqtviewadapter/src/phonenotecontroller.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -22,12 +22,14 @@
 #include <QSignalMapper>
 #include <QTimer>
 #include <hbdevicemessagebox.h>
+#include <hbdevicenotificationdialog.h>
 #include <hbdeviceprogressdialog.h>
 #include <hbmessagebox.h>
 #include <hbprogressdialog.h>
 #include <hbaction.h>
 #include <phoneappcommands.hrh>
-  
+#include <hbstringutil.h>
+
 PhoneNoteController::PhoneNoteController(QObject *parent) : 
     QObject(parent), m_timer(0), m_progressDialog(0), m_dtmfNote(0), 
     m_queryNote(0), m_queryCanceledCommand(-1), m_timeoutCommand(-1)
@@ -53,55 +55,12 @@
     TPhoneCmdParamGlobalNote* globalNoteParam = 
         static_cast<TPhoneCmdParamGlobalNote*>( commandParam );
     
-        
-    HbMessageBox::MessageBoxType type;
-    
-    switch( globalNoteParam->Type() ) {
-    case EAknGlobalInformationNote:
-        type = HbMessageBox::MessageTypeInformation;
-        break;
-    case EAknGlobalWarningNote:
-    default:
-        type = HbMessageBox::MessageTypeWarning;
-        break;
+    if (globalNoteParam->NotificationDialog()) {
+        showDeviceNotificationDialog(globalNoteParam);
+    } else {
+        showDeviceMessageBox(globalNoteParam);
     }
     
-    QString noteString = globalNoteText(globalNoteParam);
-    
-    if (false == noteString.isNull()) {
-        bool showNote(true);
-        for (int i = 0; i < m_messageBoxList.count(); ++i) {
-            // 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_messageBoxList.at(i)->text()) {
-                showNote = false;
-                break;
-            }
-        }
-        
-        if (showNote) {
-            QScopedPointer<HbDeviceMessageBox> messageBox( 
-                new HbDeviceMessageBox(noteString, type));
-            
-            int timeout = globalNoteParam->Timeout();
-            if (timeout == 0) {
-                messageBox->setTimeout(HbDialog::StandardTimeout);
-            } else {
-                messageBox->setTimeout(timeout);
-            }
-            
-            HbDeviceMessageBox *messageBoxPtr = messageBox.data();
-            m_messageBoxList.append(messageBoxPtr);
-            messageBox.take();
-            
-            if (1 == m_messageBoxList.size()) {
-                QObject::connect(messageBoxPtr, SIGNAL(aboutToClose()), 
-                                 this, SLOT(destroyDialog()));
-                messageBoxPtr->show();
-            }
-        }
-    }
 }
 
 void PhoneNoteController::showNote(TPhoneCommandParam *commandParam)
@@ -186,6 +145,22 @@
     }
 }
 
+void PhoneNoteController::destroyNotification()
+{
+    PHONE_DEBUG("PhoneNoteController::destroyDialog"); 
+    HbDeviceNotificationDialog *notification = m_notificationList.takeFirst();
+    notification->deleteLater();
+    notification = 0;
+    
+    if ( 0 < m_notificationList.size() ) {
+        PHONE_DEBUG("PhoneNoteController::show pending note");
+        HbDeviceNotificationDialog *notificationTemp = m_notificationList[0];
+        QObject::connect(notificationTemp, SIGNAL(aboutToClose()), 
+                         this, SLOT(destroyNotification()));
+        notificationTemp->show();
+    }
+}
+
 void PhoneNoteController::removeMappings()
 {
     foreach (HbAction *action, m_actions ) {
@@ -243,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
@@ -378,4 +359,104 @@
     }
 }
 
+void PhoneNoteController::showDeviceMessageBox(
+        TPhoneCmdParamGlobalNote* params)
+{
+    PHONE_DEBUG("PhoneNoteController::showDeviceMessageBox");
 
+    HbMessageBox::MessageBoxType type;
+        
+    switch( params->Type() ) {
+    case EAknGlobalInformationNote:
+        type = HbMessageBox::MessageTypeInformation;
+        break;
+    case EAknGlobalWarningNote:
+    default:
+        type = HbMessageBox::MessageTypeWarning;
+        break;
+    }
+    
+    QString noteString = globalNoteText(params);
+    
+    if (false == noteString.isNull()) {
+        bool showNote(true);
+        for (int i = 0; i < m_messageBoxList.count(); ++i) {
+            // 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_messageBoxList.at(i)->text()) {
+                showNote = false;
+                break;
+            }
+        }
+        
+        if (showNote) {
+            QScopedPointer<HbDeviceMessageBox> messageBox( 
+                new HbDeviceMessageBox(noteString, type));
+            
+            int timeout = params->Timeout();
+            if (timeout <= 0) {
+                messageBox->setTimeout(HbDialog::StandardTimeout);
+            } else {
+                messageBox->setTimeout(timeout);
+            }
+            
+            HbDeviceMessageBox *messageBoxPtr = messageBox.data();
+            m_messageBoxList.append(messageBoxPtr);
+            messageBox.take();
+            
+            if (1 == m_messageBoxList.size()) {
+                QObject::connect(messageBoxPtr, SIGNAL(aboutToClose()), 
+                                 this, SLOT(destroyDialog()));
+                messageBoxPtr->show();
+            }
+        }
+    }    
+}
+
+void PhoneNoteController::showDeviceNotificationDialog(
+        TPhoneCmdParamGlobalNote* params)
+{
+    PHONE_DEBUG("PhoneNoteController::showDeviceNotificationDialog");
+    
+    QString noteString = globalNoteText(params);
+    
+    if (false == noteString.isNull()) {
+        bool showNote(true);
+        for (int i = 0; i < m_notificationList.count(); ++i) {
+            // 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)->title()) {
+                showNote = false;
+                break;
+            }
+        }
+        
+        if (showNote) {
+            QScopedPointer<HbDeviceNotificationDialog> notification( 
+                new HbDeviceNotificationDialog());
+            
+            notification->setTitle(noteString);
+            
+            int timeout = params->Timeout();
+            if (timeout > 0) {
+                // If timeout not set we use default timeout. 
+                // Default value is HbPopup::StandardTimeout (3000 ms)
+                notification->setTimeout(timeout);
+            }
+            
+            HbDeviceNotificationDialog *notificationPtr = notification.data();
+            m_notificationList.append(notificationPtr);
+            notification.take();
+            
+            if (1 == m_notificationList.size()) {
+                QObject::connect(notificationPtr, SIGNAL(aboutToClose()), 
+                                 this, SLOT(destroyNotification()));
+                notificationPtr->show();
+            }
+        }
+    }        
+}
+
+
--- a/phoneapp/phoneuiqtviewadapter/src/phoneresourceadapter.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuiqtviewadapter/src/phoneresourceadapter.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -19,6 +19,7 @@
 #include "phoneui.hrh"
 #include "phoneuiqtbuttonscontroller.h"
 #include <phoneappvoipcommands.hrh>
+#include <xqphoneappcommands.h>
 #include <QApplication>
 #include <QLocale>
 #include <QTranslator>
@@ -65,189 +66,7 @@
     QMap<PhoneAction::ActionType, PhoneAction *> translatedActions;
     
     switch (symbianResourceId) {
-    
-    case R_PHONEUI_CALLHANDLING_INCOMINGCALL_CBA:
-        {
-        PhoneAction *leftButton = new PhoneAction;
-        leftButton->setIcon (HbIcon("qtg_mono_send"));
-        leftButton->setCommand(EPhoneCallComingCmdSoftReject);
-        translatedActions [PhoneAction::ToolbarButton1] = leftButton;       
-        
-        PhoneAction *rightButton = new PhoneAction;
-        rightButton->setIcon (HbIcon("qtg_mono_speaker_off"));
-        rightButton->setCommand (EPhoneCallComingCmdSilent);
-        translatedActions [PhoneAction::ToolbarButton2] = rightButton;            
-        }
-        break;
-
-    case R_PHONEUI_CALLHANDLING_INCOMINGCALL_REJECT_CBA:
-        {
-        PhoneAction *leftButton = new PhoneAction;
-        leftButton->setIcon (HbIcon("qtg_mono_send"));
-        leftButton->setCommand(EPhoneCallComingCmdSoftReject);
-        translatedActions [PhoneAction::ToolbarButton1] = leftButton;
-               
-        PhoneAction *rightButton = new PhoneAction;
-        rightButton->setIcon (HbIcon("qtg_mono_reject_call"));
-        rightButton->setCommand (EPhoneCallComingCmdReject);
-        translatedActions [PhoneAction::ToolbarButton2] = rightButton;      
-        }
-        break;
-        
-    case R_PHONEUI_CALLHANDLING_INCOMINGCALL_SOFT_REJECT_CBA:
-        {
-        PhoneAction *leftButton = new PhoneAction;
-        leftButton->setIcon (HbIcon("qtg_mono_send"));
-        leftButton->setCommand(EPhoneCallComingCmdSoftReject);
-        translatedActions [PhoneAction::ToolbarButton1] = leftButton;    
-        
-        PhoneAction *rightButton = new PhoneAction;
-        rightButton->setIcon (HbIcon("qtg_mono_speaker_off"));
-        rightButton->setDisabled(true);
-        translatedActions [PhoneAction::ToolbarButton2] = rightButton;        
-        }
-        break;
-        
-    case R_PHONEUI_CALLHANDLING_CALLWAITING_CBA:        
-        {
-        PhoneAction *leftButton = new PhoneAction;
-        leftButton->setIcon (HbIcon("qtg_mono_send"));
-        leftButton->setCommand(EPhoneCallComingCmdSoftReject);
-        translatedActions [PhoneAction::ToolbarButton1] = leftButton;       
-        
-        PhoneAction *rightButton = new PhoneAction;
-        rightButton->setIcon (HbIcon("qtg_mono_join_call"));
-        rightButton->setCommand (EPhoneInCallCmdJoin);
-        rightButton->setDisabled(true);
-        translatedActions [PhoneAction::ToolbarButton2] = rightButton;            
-        }
-        break;        
-        
-    case R_PHONEUI_DIALER_CBA:
-    case R_PHONEUI_INCALL_DIALER_CBA:
-    case R_PHONEUI_CALLHANDLING_CALLSETUP_EMPTY_DTMFDIALER_CBA:
-    case R_PHONEUI_CALLHANDLING_INCALL_UNHOLD_CBA:
-        {
-        PhoneAction *leftButton = new PhoneAction;
-        leftButton->setIcon (HbIcon("qtg_mono_dialer"));
-        leftButton->setCommand(EPhoneInCallCmdDialer);
-        translatedActions [PhoneAction::ToolbarButton1] = leftButton;
-        
-        PhoneAction *centerButton = new PhoneAction;
-        centerButton->setIcon (HbIcon("qtg_mono_mic_mute"));
-        centerButton->setCommand (EPhoneInCallCmdMute);
-        translatedActions [PhoneAction::ToolbarButton2] = centerButton;        
-
-        PhoneAction *centerButton2 = new PhoneAction;
-        if (!m_buttonsCtrl->getButtonFlags(PhoneUIQtButtonsController::Ihf))
-            {
-            centerButton2->setIcon (HbIcon("qtg_mono_speaker"));
-            centerButton2->setCommand (EPhoneInCallCmdActivateIhf);
-            }
-        else
-            {
-            centerButton2->setIcon (HbIcon("qtg_mono_mobile"));
-            centerButton2->setCommand (EPhoneInCallCmdDeactivateIhf);
-            }
-        translatedActions [PhoneAction::ToolbarButton3] = centerButton2; 
-        
-        PhoneAction *rightButton = new PhoneAction;
-        rightButton->setIcon(HbIcon("qtg_mono_contacts"));
-        rightButton->setDisabled( 
-                (symbianResourceId==
-                 R_PHONEUI_CALLHANDLING_CALLSETUP_EMPTY_DTMFDIALER_CBA));        
-        rightButton->setCommand(EPhoneInCallCmdContacts);
-        
-        translatedActions[PhoneAction::ToolbarButton4] = rightButton;
-        }
-        break;
-        
-    case R_PHONEUI_CALLHANDLING_EMERGENCY_CBA:
-        {
-        PhoneAction *leftButton = new PhoneAction;
-        leftButton->setIcon (HbIcon("qtg_mono_dialer"));
-        leftButton->setCommand(EPhoneInCallCmdDialer);
-        translatedActions [PhoneAction::ToolbarButton1] = leftButton;
-        
-        PhoneAction *rightButton = new PhoneAction;
-        if (!m_buttonsCtrl->getButtonFlags(PhoneUIQtButtonsController::Ihf))
-            {
-            rightButton->setIcon (HbIcon("qtg_mono_speaker"));
-            rightButton->setCommand (EPhoneInCallCmdActivateIhf);
-            }
-        else
-            {
-            rightButton->setIcon (HbIcon("qtg_mono_mobile"));
-            rightButton->setCommand (EPhoneInCallCmdDeactivateIhf);
-            }
-        translatedActions [PhoneAction::ToolbarButton2] = rightButton;                    
-        }
-        break;
-        
-    case R_PHONEUI_CALLHANDLING_INCALL_UNMUTE_CBA:
-        {
-        PhoneAction *leftButton = new PhoneAction;
-        leftButton->setIcon (HbIcon("qtg_mono_dialer"));
-        leftButton->setCommand(EPhoneInCallCmdDialer);
-        translatedActions [PhoneAction::ToolbarButton1] = leftButton;
-        
-        PhoneAction *centerButton = new PhoneAction;
-        centerButton->setIcon (HbIcon("qtg_mono_mic_unmute"));
-        centerButton->setCommand (EPhoneInCallCmdUnmute);
-        translatedActions [PhoneAction::ToolbarButton2] = centerButton;        
-
-        PhoneAction *centerButton2 = new PhoneAction;
-        if (!m_buttonsCtrl->getButtonFlags(PhoneUIQtButtonsController::Ihf))
-            {
-            centerButton2->setIcon (HbIcon("qtg_mono_speaker"));
-            centerButton2->setCommand (EPhoneInCallCmdActivateIhf);
-            }
-        else
-            {
-            centerButton2->setIcon (HbIcon("qtg_mono_mobile"));
-            centerButton2->setCommand (EPhoneInCallCmdDeactivateIhf);
-            }
-        translatedActions [PhoneAction::ToolbarButton3] = centerButton2;     
-        
-        PhoneAction *rightButton = new PhoneAction;
-        rightButton->setIcon(HbIcon("qtg_mono_contacts"));
-        rightButton->setCommand(EPhoneInCallCmdContacts);
-        translatedActions[PhoneAction::ToolbarButton4] = rightButton;   
-        }
-        break;
-        
-    case R_PHONEUI_CALLHANDLING_INCALL_HANDSET_CBA:
-        {
-        PhoneAction *leftButton = new PhoneAction;
-        leftButton->setIcon (HbIcon("qtg_mono_dialer"));
-        leftButton->setCommand(EPhoneInCallCmdDialer);
-        translatedActions [PhoneAction::ToolbarButton1] = leftButton;
-        
-        PhoneAction *centerButton1 = new PhoneAction;
-        if (!m_buttonsCtrl->getButtonFlags(PhoneUIQtButtonsController::Hold))
-            {
-            centerButton1->setIcon (HbIcon("qtg_mono_mic_mute"));
-            centerButton1->setCommand (EPhoneInCallCmdMute);
-            }
-        else
-            {
-            centerButton1->setIcon (HbIcon("qtg_mono_mic_unmute"));
-            centerButton1->setCommand (EPhoneInCallCmdUnmute);
-            }
-        translatedActions [PhoneAction::ToolbarButton2] = centerButton1;
-
-        PhoneAction *centerButton2 = new PhoneAction;
-        centerButton2->setIcon (HbIcon("qtg_mono_mobile"));
-        centerButton2->setCommand (EPhoneInCallCmdDeactivateIhf);
-        translatedActions [PhoneAction::ToolbarButton3] = centerButton2;
-        
-        PhoneAction *rightButton = new PhoneAction;
-        rightButton->setIcon(HbIcon("qtg_mono_contacts"));
-        rightButton->setCommand(EPhoneInCallCmdContacts);
-        translatedActions[PhoneAction::ToolbarButton4] = rightButton;
-        }
-        break;
-
+	
     case R_PHONEUI_MTCAL_INCOMING_CALL:
         {
         PhoneAction *text = new PhoneAction;
@@ -280,18 +99,7 @@
         }
         break; 
 
-    case R_PHONEUI_INCALL_CALL_NUMBER:
-        {
-        PhoneAction *text = new PhoneAction;
-        VA_LIST list;
-        VA_START (list, symbianResourceId);
-        int intValue = VA_ARG (list, int);
-        text->setText(hbTrId("txt_phone_other_call_ln").arg(intValue));
-        translatedActions [PhoneAction::Text] = text;
-        VA_END (list);
-        }
-        break;
-        
+       
     case R_PHONEUI_TIME_DURAT_LONG_WITH_ZERO:
         {
         PhoneAction *text = new PhoneAction;
@@ -318,10 +126,18 @@
         translatedActions [PhoneAction::Text] = text;
         break;
         }
-    case R_PHONEUI_MTCAL_CALL:
+    case R_PHONEUI_MTCAL_CLI_UNKNOWN:
         {
         PhoneAction *text = new PhoneAction;
-        text->setText (hbTrId("txt_common_button_call")); //Call
+        text->setText (hbTrId("txt_phone_other_unknown_number"));
+        translatedActions [PhoneAction::Text] = text;
+        break;
+        }
+        
+    case R_PHONE_MTCAL_CLI_PAYPHONE:
+        {
+        PhoneAction *text = new PhoneAction;
+        text->setText (hbTrId("Payphone number"));
         translatedActions [PhoneAction::Text] = text;
         break;
         }
@@ -383,32 +199,6 @@
         VA_END (list);
         }
         break;
-    case R_PHONE_IMEI_STRING:
-        {
-        QScopedPointer<PhoneAction> text(new PhoneAction);
-        VA_LIST list;
-        VA_START(list, symbianResourceId);
-        const TDesC *string = static_cast<TDesC*>(VA_ARG(list, TDesC*));
-        QString serialNumber = 
-            QString::fromUtf16(string->Ptr(), string->Length());
-        text->setText(hbTrId("txt_phone_info_serial_no").arg(serialNumber));
-        translatedActions[PhoneAction::Text] = text.take();
-        VA_END(list);
-        }
-        break;
-    case R_PHONEUI_LIFE_TIMER_STRING:
-        {
-        QScopedPointer<PhoneAction> text(new PhoneAction);
-        VA_LIST list;
-        VA_START(list, symbianResourceId);
-        const TDesC *string = static_cast<TDesC*>(VA_ARG(list, TDesC*));
-        QString lifeTimerText =
-            QString::fromUtf16(string->Ptr(), string->Length());
-        text->setText(hbTrId("txt_phone_info_life_timer").arg(lifeTimerText));
-        translatedActions[PhoneAction::Text] = text.take();
-        VA_END(list);
-        }
-        break;
     default:
         break;
     }
@@ -416,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;
             
@@ -475,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:
@@ -517,7 +303,119 @@
             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").arg(causeCode);
+            }
+            break;
+        case R_PHONEUI_VIDEO_CALL_NOT_POSSIBLE:
+            {
+            ret = hbTrId("txt_phone_info_video_call_didnt_succeed_to_called").arg(causeCode);
+            }
+            break;
+        case R_CALL_INFO_CAUSE_VALUE127:
+        case R_CALL_INFO_NOT_SUPPORTED:
+        case R_CALL_INFO_SERVICE_NOT_AVAILABLE:
+        case R_CALL_INFO_CAUSE_VALUE38:
+        case R_CALL_INFO_CAUSE_VALUE55:
+        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").arg(causeCode);
+            }
+            break;
+        case R_NOTE_PHONE_OUT_OF_3G_COVERAGE:
+            {
+            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").arg(causeCode);
+            }
+            break;
+        case R_NOTE_CALLED_NUMBER_HAS_BARRED_INCOMING_CALLS:
+            {
+            ret = hbTrId("txt_phone_info_called_number_has_barred_incoming").arg(causeCode);
+            }
+            break;
+        case R_INCAL_REMOTE_CREATE_CONFERENCE_TEXT:
+            {
+            ret = hbTrId("txt_phone_info_conference_call_active");
+            }
+            break;
+        case R_NOTETEXT_CALL_BARRINGS:
+            {
+            ret = hbTrId("txt_phone_dpopinfo_note_you_have_active_barrings");
+            }
+            break;
+        case R_CALL_INFO_CAUSE_VALUE16:
+            {
+            ret = hbTrId("txt_phone_info_no_answer").arg(causeCode);
+            }
+            break;
+        case R_CALL_INFO_CAUSE_VALUE18:
+            {
+            ret = hbTrId("txt_phone_info_no_answer").arg(causeCode);
+            }
+            break;
+        case R_CALL_INFO_CAUSE_VALUE21:
+            {
+            ret = hbTrId("txt_phone_info_request_rejected");
+            }
+            break;
+        case R_CALL_INFO_CAUSE_VALUE22:
+            {
+            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").arg(causeCode);
+            }
+            break;
+        case R_PHONE_ERROR_CALL_NOT_ALLOWED_FDN:
+            {
+            ret = hbTrId("txt_phone_info_call_not_allowed_fixed_dialling").arg(causeCode);
+            }
+            break;
+        case R_NOTETEXT_DIVERTING_INCOMING_CALL:
+        case R_NOTETEXT_DIVERTING:
+            {
+            ret = hbTrId("txt_phone_dpopinfo_diverting");
+            }
+            break;
+        case R_NOTETEXT_ALL_INCOMING_CALLS_DIVERTED:
+            {
+            ret = hbTrId("txt_phone_dpopinfo_note_all_incoming_calls_diver");
+            }
+            break;
+        case R_PHONE_ERROR_CHECK_CLIR:
+            {
+            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").arg(causeCode);
+            }
+            break;
+        case R_NOTE_TEXT_CLIR_CHANGE:
+            {
+            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").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").arg(causeCode);
             }
             break;
         default:
@@ -527,7 +425,7 @@
     return ret;
 }
 
-QString PhoneResourceAdapter::convertToString(
+QString PhoneResourceAdapter::convertToStringWithParam(
         int symbianResourceId, const QString &text) const
 {
     QString ret;
@@ -562,10 +460,7 @@
         break;     
     case EPhoneInCallCmdTransfer:
         ret = hbTrId("txt_phone_opt_transfer");
-        break;    
-    case EPhoneInCallCmdSwitchToVideo:
-        ret = hbTrId("Call back with video call");
-        break;  
+        break;
     case EPhoneCmdHandoverToWlan:
         ret = hbTrId("Handover to WLAN");
         break;  
@@ -612,3 +507,168 @@
     return ret;
 }
 
+QList<PhoneAction::ToolBarItem> PhoneResourceAdapter::convertToToolBarCommandList(
+        int symbianResourceId ) const
+{
+    QList<PhoneAction::ToolBarItem> ret;
+    
+    switch(symbianResourceId) {
+        case R_PHONEUI_CALLHANDLING_INCOMINGCALL_CBA:
+            {
+            ret.append(PhoneAction::ToolBarItem(PhoneCallComingCmdSoftReject,true)); 
+            ret.append(PhoneAction::ToolBarItem(PhoneCallComingCmdSilent,true));      
+            }
+            break;
+
+        case R_PHONEUI_CALLHANDLING_INCOMINGCALL_REJECT_CBA:
+            {
+            ret.append(PhoneAction::ToolBarItem(PhoneCallComingCmdSoftReject,true));
+            ret.append(PhoneAction::ToolBarItem(PhoneInCallCmdReject,true));  
+            }
+            break;
+            
+        case R_PHONEUI_CALLHANDLING_INCOMINGCALL_SOFT_REJECT_CBA:
+            {
+            ret.append(PhoneAction::ToolBarItem(PhoneCallComingCmdSoftReject,true));            
+            ret.append(PhoneAction::ToolBarItem(PhoneCallComingCmdSilent,false)); 
+            }
+            break;
+            
+        case R_PHONEUI_CALLHANDLING_CALLWAITING_CBA:        
+            {
+            ret.append(PhoneAction::ToolBarItem(PhoneCallComingCmdSoftReject,true));            
+            ret.append(PhoneAction::ToolBarItem(PhoneInCallCmdJoinToConference,false));        
+            }
+            break;        
+            
+        case R_PHONEUI_DIALER_CBA:
+        case R_PHONEUI_INCALL_DIALER_CBA:
+        case R_PHONEUI_CALLHANDLING_INCALL_UNHOLD_CBA:
+        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::IhfAsPushButton)) {
+                if (m_buttonsCtrl->getButtonFlags(
+                        PhoneUIQtButtonsController::Mute)) {
+                    ret.append(PhoneAction::ToolBarItem(
+                            PhoneInCallCmdUnmute,true));
+                } else {
+                    ret.append(PhoneAction::ToolBarItem(
+                            PhoneInCallCmdMute,true));
+                }
+            } 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));
+                    }
+                }
+            }
+            
+            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));
+            } else {
+                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));
+                } else {
+                    ret.append(PhoneAction::ToolBarItem(
+                            PhoneInCallCmdCreateConference,!disableJoin));
+                }
+            }
+            
+            ret.append(PhoneAction::ToolBarItem(PhoneInCallCmdOpenDialer,true)); 
+            }
+            break;
+            
+        case R_PHONEUI_CALLHANDLING_EMERGENCY_CBA:
+            {
+            
+            if (!m_buttonsCtrl->getButtonFlags(PhoneUIQtButtonsController::Ihf))
+                {
+                ret.append(PhoneAction::ToolBarItem(
+                        PhoneInCallCmdActivateIhf,true));
+                }
+            else
+                {
+                ret.append(PhoneAction::ToolBarItem(
+                        PhoneInCallCmdDeactivateIhf,true));
+                }                 
+            }
+			
+            ret.append(PhoneAction::ToolBarItem(PhoneInCallCmdOpenDialer,true));
+            break;
+            
+        /*case R_PHONEUI_CALLHANDLING_INCALL_HANDSET_CBA:
+            {
+            ret.append(PhoneAction::ToolBarItem(PhoneInCallCmdOpenDialer,true));
+
+            if (m_buttonsCtrl->getButtonFlags(PhoneUIQtButtonsController::Hold))
+                {
+                ret.append(PhoneAction::ToolBarItem(PhoneInCallCmdUnhold,true));
+                }
+            else
+                {
+                ret.append(PhoneAction::ToolBarItem(PhoneInCallCmdHold,true));
+                }
+            if (!m_buttonsCtrl->getButtonFlags(PhoneUIQtButtonsController::Hold))
+                {
+                ret.append(PhoneAction::ToolBarItem(PhoneInCallCmdMute,true));
+                }
+            else
+                {
+                ret.append(PhoneAction::ToolBarItem(PhoneInCallCmdUnmute,true));
+                }
+
+            ret.append(PhoneAction::ToolBarItem(PhoneInCallCmdDeactivateIhf,true));
+            ret.append(PhoneAction::ToolBarItem(PhoneInCallCmdOpenContacts,true));
+            }
+            break;*/
+        default:
+            break;
+    }
+
+    return ret;
+}
+
+
--- a/phoneapp/phoneuiqtviewadapter/src/phoneuicommandcontroller.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuiqtviewadapter/src/phoneuicommandcontroller.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -93,9 +93,8 @@
         int callId)
 {
     QMap<PhoneAction::ActionType, PhoneAction *> translatedActions;
-    bool sameServices = areServicesSame(callStates, serviceIds);
     QList<int> commands = buttonCommandList(
-            callState, emergencyCall, sameServices, callStates.values());
+            callState, emergencyCall, callStates.values());
 
     PhoneCommandExtensionWrapper *extension = commandExtension(serviceId);
     
@@ -127,8 +126,57 @@
     return translatedActions;
 }
 
+QList<PhoneAction *> PhoneUiCommandController::toolBarActions( 
+        int resourceId,
+        QMap<int,int> callStates,
+        QMap<int,int> serviceIds,
+        int serviceId,
+        int callId)
+{
+    QList<PhoneAction *> actions;
+    
+    //Set tool bar button flags
+    setJoinFlag(callStates, serviceIds);
+    setConferenceFlag(callStates.values());
+    setHoldFlag(callStates.value(callId));
+    setMultiCallFlag(callStates.values());
+    setOutgoingFlag(callStates.values());
+    
+    //Get tool bar item list by resource id.
+    QList<PhoneAction::ToolBarItem> commands = PhoneResourceAdapter::Instance()->
+            convertToToolBarCommandList(resourceId);
+
+    if (serviceId != -1) {
+        PhoneCommandExtensionWrapper *extension = commandExtension(serviceId);
+        
+        if (extension) {
+            QList<XQTelUiCommandExtension::CallInfo> callInfo;
+            extension->getCallInfoList(
+                    callInfo,callStates,serviceIds,callId);
+            
+            QList<XQTelUiCommandExtension::ToolBarCommand> toolBarCmdList;
+            
+            mapToExtensionToolBarItems(commands,toolBarCmdList);
+            //Modify tool bar command list by extension
+            extension->modifyToolBarCommandList(callInfo,toolBarCmdList);
+            // Map tool bar item list back to the phone action tool bar item list.
+            mapToPhoneActionToolBarItems(toolBarCmdList,commands);
+        }
+    }
+    
+    for ( int i=0; i < commands.count(); ++i) {
+        PhoneAction *action = mapCommandToAction(
+                commands.at(i).mCommandId, !commands.at(i).mEnabled);
+        if (action) {
+            actions.append(action);
+        }
+    }
+    
+    return actions;
+}
+
 QList<int> PhoneUiCommandController::menuCommands(
-        QMap<int,int> callStates, QMap<int,int> serviceIds )
+        QMap<int,int> callStates, QMap<int,int> serviceIds ) const
 {
     PHONE_DEBUG("PhoneMenuController::menuCommands");
     QList<int> commands;
@@ -188,7 +236,7 @@
     qDeleteAll(values);
 }
 
-int PhoneUiCommandController::mapCommand(int command)
+int PhoneUiCommandController::mapCommand(int command) const
 {
     int ret(-1);
     
@@ -202,12 +250,6 @@
     case PhoneInCallCmdSwitchToVideo:
         ret = EPhoneInCallCmdSwitchToVideo;
         break;  
-    case PhoneInCallCmdSendMessage:
-        //TODO
-        break;    
-    case PhoneInCallShareVideo:
-        //TODO
-        break;
     case PhoneInCallCmdHandoverToWlan:
         ret = EPhoneCmdHandoverToWlan;
         break;
@@ -230,7 +272,7 @@
 }
 
 TUid PhoneUiCommandController::ResolveImplementationUidL( 
-        TUint32 aServiceId, TServicePropertyName aPropertyName )
+        TUint32 aServiceId, TServicePropertyName aPropertyName ) const
     {
     TUid implUid = { 0 };
     CSPEntry* entry = CSPEntry::NewLC();
@@ -272,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;
@@ -302,14 +342,14 @@
 }
 
 bool PhoneUiCommandController::areServicesSame(
-        QMap<int,int> callStates, QMap<int,int> serviceIds)
+        QMap<int,int> callStates, QMap<int,int> serviceIds) const
 {
     bool ret(true);
     int serviceId(-1);
     for(int i=0;i<callStates.count()&&ret;++i) {
         if (-1==serviceId) {
             serviceId = serviceIds.value(callStates.keys().at(i));
-        } else if (serviceId!=serviceIds.value(callStates.keys().at(i))) {
+        } else if (serviceId != serviceIds.value(callStates.keys().at(i))) {
             ret = false;
         }
     }
@@ -317,11 +357,98 @@
     return ret;
 }
 
+void PhoneUiCommandController::setJoinFlag(
+        QMap<int,int> callStates, QMap<int,int> serviceIds) const
+{
+    bool disable(PhoneResourceAdapter::Instance()->buttonsController()->
+                    getButtonFlags(PhoneUIQtButtonsController::FullConference));
+    
+    if (!disable) {
+        disable = !areServicesSame(callStates, serviceIds);
+    }
+
+    PhoneResourceAdapter::Instance()->buttonsController()->
+            setButtonFlags(PhoneUIQtButtonsController::DisableJoin, disable);
+}
+
+void PhoneUiCommandController::setHoldFlag(int callState) const
+{
+    bool hold = (callState == EPEStateHeldConference ||
+                 callState == EPEStateHeld );
+
+    PhoneResourceAdapter::Instance()->buttonsController()->
+            setButtonFlags(PhoneUIQtButtonsController::Hold,hold);
+}
+
+void PhoneUiCommandController::setOutgoingFlag(
+        QList<int> callStates) const
+{
+    bool outgoing(callStates.contains(EPEStateDialing) ||
+                  callStates.contains(EPEStateConnecting));
+    
+    PhoneResourceAdapter::Instance()->buttonsController()->
+            setButtonFlags(PhoneUIQtButtonsController::Outgoing, outgoing);
+}
+
+void PhoneUiCommandController::setConferenceFlag(
+        QList<int> callStates) const
+{
+    bool conference(callStates.contains(EPEStateConnectedConference) ||
+                    callStates.contains(EPEStateHeldConference));
+    
+    PhoneResourceAdapter::Instance()->buttonsController()->
+            setButtonFlags(PhoneUIQtButtonsController::Conference, conference);
+}
+
+void PhoneUiCommandController::setMultiCallFlag(
+        QList<int> callStates) const
+{
+    bool multicall(false);
+    
+    if (1<callStates.count()) {  
+        if (callStates.count() == 2 && callStates.contains(EPEStateRinging)) {
+            multicall = false;
+        } else {
+            multicall = true;   
+        }        
+    }
+    
+    PhoneResourceAdapter::Instance()->buttonsController()->
+            setButtonFlags(PhoneUIQtButtonsController::MultiCall, multicall);
+}
+
+void PhoneUiCommandController::mapToExtensionToolBarItems(
+        const QList<PhoneAction::ToolBarItem> &sourceList, 
+        QList<XQTelUiCommandExtension::ToolBarCommand> &toolBarCmdList) const
+{
+    toolBarCmdList.clear();
+    
+    for (int i=0;i<sourceList.count();++i) {
+        XQTelUiCommandExtension::ToolBarCommand command;
+        command.mCommandId = sourceList.at(i).mCommandId;
+        command.mIsEnabled = sourceList.at(i).mEnabled;
+        toolBarCmdList.append(command);
+    }
+}
+
+void PhoneUiCommandController::mapToPhoneActionToolBarItems( 
+        const QList<XQTelUiCommandExtension::ToolBarCommand> &sourceList,
+        QList<PhoneAction::ToolBarItem> &commandList) const
+{
+    commandList.clear();
+    
+    for (int i=0;i<sourceList.count();++i) {
+        PhoneAction::ToolBarItem command(
+                sourceList.at(i).mCommandId,
+                sourceList.at(i).mIsEnabled);
+        commandList.append(command);
+    }
+}
+
 QList<int> PhoneUiCommandController::buttonCommandList(
         int callState,
         bool emergencyCall,
-        bool sameServices,
-        QList<int> callStates)
+        QList<int> callStates) const
 {
     QList<int> ret;
     
@@ -333,6 +460,36 @@
     
     case EPEStateDialing:
     case EPEStateConnecting: {
+        if (!emergencyCall) {
+            if (PhoneResourceAdapter::Instance()->buttonsController()->
+                   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 {
+                if (PhoneResourceAdapter::Instance()->buttonsController()->
+                        getButtonFlags(PhoneUIQtButtonsController::Mute)) {
+                    ret.append(PhoneInCallCmdUnmute);
+                } else {
+                    ret.append(PhoneInCallCmdMute);
+                }
+            }
+        }
+        
         ret.append(PhoneInCallCmdEndOutgoingCall);  
     }
     break;
@@ -347,49 +504,35 @@
     break;
     
     case EPEStateConnected:
-    case EPEStateConnectedConference: {
-        if (!emergencyCall) {
-            if ( 1 == callStates.size() || 
-                 (2 == callStates.size() && 
-                  callStates.contains(EPEStateRinging)) ) {
-                ret.append(PhoneInCallCmdHold);
-            } else {
-                
-                if (EPEStateConnectedConference == callState) {
-                    ret.append(PhoneInCallCmdSwap);
-                } else if (sameServices && 
-                    false == PhoneResourceAdapter::Instance()->buttonsController()->
-                        getButtonFlags(PhoneUIQtButtonsController::DisableJoin)) {
-                    if ( callStates.contains(EPEStateHeldConference) ) {
-                        ret.append(PhoneInCallCmdJoinToConference);                  
-                    } else {
-                        ret.append(PhoneInCallCmdCreateConference);
-                    }
-                }
-            }            
-        }
-        
-        ret.append(PhoneInCallCmdEndActive); 
-    }
-    break;
-    
+    case EPEStateConnectedConference:     
     case EPEStateHeld:
     case EPEStateHeldConference: {
-        if (1 == callStates.size() || 
-            (2 == callStates.size() && 
-             callStates.contains(EPEStateRinging))) {
-             
-            ret.append(PhoneInCallCmdUnhold);
-        } else {
-            if (EPEStateHeldConference == callState) {
-                ret.append(PhoneInCallCmdSwap);
-            } else if (sameServices && 
-                    false == PhoneResourceAdapter::Instance()->buttonsController()->
-                        getButtonFlags(PhoneUIQtButtonsController::DisableJoin)) {
-                if ( callStates.contains(EPEStateConnectedConference)) {
-                    ret.append(PhoneInCallCmdJoinToConference);
+        if (!emergencyCall) {
+            if (PhoneResourceAdapter::Instance()->buttonsController()->
+                   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 {
-                    ret.append(PhoneInCallCmdCreateConference);
+                    if (!PhoneResourceAdapter::Instance()->buttonsController()->
+                            getButtonFlags(PhoneUIQtButtonsController::Ihf)) {
+                        ret.append(PhoneInCallCmdActivateIhf);
+                    } else {
+                        ret.append(PhoneInCallCmdDeactivateIhf);
+                    }           
+                }
+            } else {
+                if (PhoneResourceAdapter::Instance()->buttonsController()->
+                        getButtonFlags(PhoneUIQtButtonsController::Mute)) {
+                    ret.append(PhoneInCallCmdUnmute);
+                } else {
+                    ret.append(PhoneInCallCmdMute);
                 }
             }
         }
@@ -408,7 +551,8 @@
     return ret;
 }
 
-PhoneAction *PhoneUiCommandController::mapCommandToAction(int command)
+PhoneAction *PhoneUiCommandController::mapCommandToAction(
+        int command, bool disabled) const
 {
     PhoneAction *action=0;
     
@@ -416,6 +560,7 @@
     case PhoneInCallCmdJoinToConference: {
         action = new PhoneAction;
         action->setIcon(HbIcon("qtg_mono_join_call"));
+        action->setDisabled(disabled);
         action->setCommand(EPhoneInCallCmdJoin);
     }
     break;
@@ -423,6 +568,7 @@
     case PhoneInCallCmdCreateConference: {
         action = new PhoneAction;
         action->setIcon(HbIcon("qtg_mono_join_call"));
+        action->setDisabled(disabled);
         action->setCommand(EPhoneInCallCmdCreateConference);
     }
     break;
@@ -430,7 +576,8 @@
     case PhoneInCallCmdAnswer: {
         action = new PhoneAction;
         action->setIcon(HbIcon("qtg_mono_call"));
-        action->setCommand (EPhoneCallComingCmdAnswer);
+        action->setDisabled(disabled);
+        action->setCommand (EPhoneCallComingCmdAnswer);        
         action->setActionRole(PhoneAction::Accept);
     }
     break;
@@ -438,6 +585,7 @@
     case PhoneInCallCmdReject: {
         action = new PhoneAction;
         action->setIcon(HbIcon("qtg_mono_reject_call"));
+        action->setDisabled(disabled);
         action->setCommand (EPhoneCallComingCmdReject);
         action->setActionRole(PhoneAction::Decline);
     }
@@ -446,6 +594,7 @@
     case PhoneInCallCmdHold: {
         action = new PhoneAction;
         action->setIcon(HbIcon("qtg_mono_hold_call"));
+        action->setDisabled(disabled);
         action->setCommand(EPhoneInCallCmdHold);
     }
     break;
@@ -453,6 +602,7 @@
     case PhoneInCallCmdUnhold: {
         action = new PhoneAction;
         action->setIcon(HbIcon("qtg_mono_call"));
+        action->setDisabled(disabled);
         action->setCommand(EPhoneInCallCmdUnhold);
     }
     break;
@@ -460,6 +610,7 @@
     case PhoneInCallCmdEndActive: {
         action = new PhoneAction;
         action->setIcon(HbIcon("qtg_mono_end_call"));
+        action->setDisabled(disabled);
         action->setCommand(EPhoneInCallCmdEndThisActiveCall);
         action->setActionRole(PhoneAction::Decline);
     }
@@ -468,6 +619,7 @@
     case PhoneInCallCmdEndOutgoingCall: {
         action = new PhoneAction;
         action->setIcon(HbIcon("qtg_mono_end_call"));
+        action->setDisabled(disabled);
         action->setCommand(EPhoneInCallCmdEndThisOutgoingCall);
         action->setActionRole(PhoneAction::Decline);
     }
@@ -476,6 +628,7 @@
     case PhoneInCallCmdReplace: {
         action = new PhoneAction;
         action->setIcon(HbIcon("qtg_mono_replace_call"));
+        action->setDisabled(disabled);
         action->setCommand(EPhoneInCallCmdReplace);
         action->setActionRole(PhoneAction::Accept);
     }
@@ -483,11 +636,81 @@
     
     case PhoneInCallCmdSwap: {
         action = new PhoneAction;
-        action->setIcon(HbIcon("qtg_mono_swap"));
+        action->setIcon(HbIcon("qtg_mono_replace_call"));
+        action->setDisabled(disabled);
         action->setCommand(EPhoneInCallCmdSwap); 
     }
     break;
-    
+    case PhoneCallComingCmdSoftReject: {
+        action = new PhoneAction;
+        action->setIcon(HbIcon("qtg_mono_send"));
+        action->setDisabled(disabled);
+        action->setCommand(EPhoneCallComingCmdSoftReject); 
+    }
+    break;
+    case PhoneCallComingCmdSilent: {
+        action = new PhoneAction;
+        action->setIcon(HbIcon("qtg_mono_speaker_off"));
+        action->setDisabled(disabled);
+        action->setCommand(EPhoneCallComingCmdSilent); 
+    }
+    break;
+    case PhoneInCallCmdOpenDialer: {
+        action = new PhoneAction;
+        action->setIcon(HbIcon("qtg_mono_dialer"));
+        action->setDisabled(disabled);
+        action->setCommand(EPhoneInCallCmdDialer); 
+    }
+    break;
+    case PhoneInCallCmdMute: {
+        action = new PhoneAction;
+        action->setIcon(HbIcon("qtg_mono_mic_mute"));
+        action->setDisabled(disabled);
+        action->setCommand(EPhoneInCallCmdMute); 
+    }
+    break;
+    case PhoneInCallCmdUnmute: {
+        action = new PhoneAction;
+        action->setIcon(HbIcon("qtg_mono_mic_unmute"));
+        action->setDisabled(disabled);
+        action->setCommand(EPhoneInCallCmdUnmute); 
+    }
+    break;
+    case PhoneInCallCmdActivateIhf: {
+        action = new PhoneAction;
+        action->setIcon(HbIcon("qtg_mono_speaker"));
+        action->setDisabled(disabled);
+        action->setCommand(EPhoneInCallCmdActivateIhf); 
+    }
+    break;
+    case PhoneInCallCmdDeactivateIhf: {
+        action = new PhoneAction;
+        action->setIcon(HbIcon("qtg_mono_mobile"));
+        action->setDisabled(disabled);
+        action->setCommand(EPhoneInCallCmdDeactivateIhf); 
+    }
+    break;
+    case PhoneInCallCmdOpenContacts: {
+        action = new PhoneAction;
+        action->setIcon(HbIcon("qtg_mono_contacts"));
+        action->setDisabled(disabled);
+        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;
     }
--- a/phoneapp/phoneuiqtviewadapter/src/phoneuiqtviewadapter.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuiqtviewadapter/src/phoneuiqtviewadapter.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -26,9 +26,9 @@
 #include "tphonecmdparamcallheaderdata.h"
 #include "tphonecmdparamemergencycallheaderdata.h"
 #include "tphonecmdparamstring.h"
+#include "tphonecmdparamkeycapture.h"
 #include "cphonepubsubproxy.h"
 #include "pevirtualengine.h"
-#include "cphonepubsubproxy.h"
 #include "cphoneringingtonecontroller.h"
 #include "phoneresourceadapter.h"
 #include "phoneui.hrh"
@@ -41,11 +41,14 @@
 #include "phonemessagecontroller.h"
 #include "phoneindicatorcontroller.h"
 #include "qtphonelog.h"
+#include "phonevisibilityhandler.h"
+#include "phoneapplauncher.h"
+#include "cphonecenrepproxy.h"
+
 #include <UikonInternalPSKeys.h>
 #include <bubblemanagerif.h>
 #include <hbaction.h>
 #include <pevirtualengine.h>
-#include <xqservicerequest.h>
 #include <QtGlobal>
 #include <xqserviceutil.h>
 #include <hbinstance.h>
@@ -54,25 +57,42 @@
 #include <hbi18ndef.h>
 #include <eikenv.h>
 #include <w32std.h>
-#include <apgtask.h>
 #include <hbstringutil.h>
-#include <telinformationpskeys.h>
 #include <AknSgcc.h>
 #include <AknCapServerClient.h>
+#include <logsservices.h>
+
 
 
 //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), m_idleUid(-1),
-    m_dialpadAboutToClose(false), m_homeScreenToForeground(false),
-    m_carModeEnabled(false)
+    QObject (parent),
+    m_view (view),
+    m_idleUid(-1),
+    m_bubbleWrapper(0),
+    m_ringingtonecontroller(0),
+    m_resourceAdapter(0),
+    m_noteController(0),
+    m_telephonyService(0),
+    m_uiCommandController(0),
+    m_messageController(0),
+    m_indicatorController(0),
+    m_dialpadAboutToClose(false),
+    m_homeScreenToForeground(false),
+    m_visibilityHandler(0),
+    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);
@@ -85,20 +105,20 @@
 
     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;
+        }    
+    }
 
-    // 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) {
-        CPhonePubSubProxy::Instance()->NotifyChangeL(KPSUidTelCarMode,
-            KTelCarMode, this);
-    }
 }
 
 PhoneUIQtViewAdapter::~PhoneUIQtViewAdapter ()
@@ -149,17 +169,7 @@
 
     case EPhoneViewSendToBackground:
     case EPhoneViewBringIdleToForeground:
-        if (m_homeScreenToForeground) {
-            RWsSession& wsSession = CEikonEnv::Static()->WsSession();
-
-            TApaTaskList taskList( wsSession );
-            _LIT(KPhoneHsAppName,"hsapplication");
-            TApaTask task = taskList.FindApp(KPhoneHsAppName);
-            task.BringToForeground();
-        } else {
-            XQServiceUtil::toBackground(true);
-        }
-
+        m_visibilityHandler->sendToBackground(m_homeScreenToForeground);
         m_homeScreenToForeground = false;
         break;
     case EPhoneViewRemoveAllCallHeaders:
@@ -209,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:
@@ -286,8 +299,15 @@
         m_noteController->showQuery(aCommandParam);
         break;
     case EPhoneViewOpenSoftRejectEditor:
+        m_visibilityHandler->hideDeviceDialogs(false);
         m_messageController->openSoftRejectMessageEditor(aCommandParam);
         break;
+    case EPhoneViewSetGlobalNotifiersDisabled:
+        hideDeviceDialogs(aCommandParam);
+        break;
+    case EPhoneViewLaunchLogs: 
+        openLogs(aCommandParam);
+        break;
     default:
         break;
     }
@@ -456,6 +476,58 @@
         m_homeScreenToForeground = param->Boolean();
         }
         break;
+    case EPhoneViewSetIhfFlag: {
+        TPhoneCmdParamBoolean *param = static_cast<TPhoneCmdParamBoolean *>(aCommandParam);
+
+        PhoneResourceAdapter::Instance()->buttonsController()->
+                setButtonFlags(PhoneUIQtButtonsController::Ihf, 
+                               param->Boolean());
+        }
+        break;
+    case EPhoneViewSetMuteFlag: {
+        TPhoneCmdParamBoolean *param = static_cast<TPhoneCmdParamBoolean *>(aCommandParam);
+
+        PhoneResourceAdapter::Instance()->buttonsController()->
+                setButtonFlags(PhoneUIQtButtonsController::Mute, 
+                               param->Boolean());
+        }
+        break;
+    case EPhoneViewSetBlueToothFlag: {
+        TPhoneCmdParamBoolean *param = static_cast<TPhoneCmdParamBoolean *>(aCommandParam);
+
+        PhoneResourceAdapter::Instance()->buttonsController()->
+                setButtonFlags(PhoneUIQtButtonsController::Btaa, 
+                               param->Boolean());
+        }
+        break;
+    case EPhoneViewSetBluetoothAvailableFlag: {
+        TPhoneCmdParamBoolean *param = static_cast<TPhoneCmdParamBoolean *>(aCommandParam);
+    
+        PhoneResourceAdapter::Instance()->buttonsController()->
+                setButtonFlags(PhoneUIQtButtonsController::BluetoothAvailable, 
+                               param->Boolean());
+        }
+        break;
+    case EPhoneViewStartCapturingKey: {
+        TPhoneCmdParamKeyCapture *captureParam = 
+                static_cast<TPhoneCmdParamKeyCapture *>(aCommandParam);        
+        Qt::Key qtKey;
+        
+        if (convertKey(captureParam->KeyCode(), qtKey)) {
+            m_view.captureKey(qtKey, true);
+        }
+    }
+    break;
+    case EPhoneViewStopCapturingKey: {
+        TPhoneCmdParamKeyCapture *captureParam = 
+                static_cast<TPhoneCmdParamKeyCapture *>(aCommandParam);        
+        Qt::Key qtKey;
+        
+        if (convertKey(captureParam->KeyCode(), qtKey)) {
+            m_view.captureKey(qtKey, false);
+        }
+    }
+    break;
     default:
         break;
     }
@@ -468,7 +540,11 @@
 
 void PhoneUIQtViewAdapter::dialpadClosed()
 {
+    if (m_clearDialpadOnClose) {
+        m_view.clearDialpad();
+    }
     m_dialpadAboutToClose = true;
+    m_clearDialpadOnClose = true;
     setCallMenu();
 }
 
@@ -559,7 +635,7 @@
     if (1 == m_bubbleWrapper->bubbles().keys().count()) {
         setHidden(false);
     }
-    m_indicatorController->setActiveCallData( data.CLIText(), KNullDesC );
+    m_indicatorController->setActiveCallData();
 }
 
 void PhoneUIQtViewAdapter::createEmergencyCallHeader(
@@ -578,6 +654,8 @@
     m_bubbleWrapper->setCli (bubble, data.HeaderText ());
     m_bubbleWrapper->setCiphering(bubble, data.CipheringIndicatorAllowed(), data.Ciphering());
     m_bubbleWrapper->bubbleManager ().endChanges ();
+    
+    m_indicatorController->setActiveCallData();
 }
 
 void PhoneUIQtViewAdapter::updateCallHeaderState (
@@ -617,6 +695,7 @@
          m_bubbleWrapper->setDivert (bubble, data.Diverted ());
          m_bubbleWrapper->bubbleManager ().endChanges ();
      }
+     m_indicatorController->setActiveCallData();
 
 }
 
@@ -674,13 +753,14 @@
     bool emergencyCall = param.Boolean();
 
     m_bubbleWrapper->bubbleManager ().startChanges ();
-    m_view.clearParticipantListActions();
 
     QList<int> bubbles = m_bubbleWrapper->bubbles().keys();
 
     m_resourceAdapter->buttonsController()->setButtonFlags(
             PhoneUIQtButtonsController::DisableJoin,
             (5 <= m_bubbleWrapper->conferenceCallList().count()));
+    
+    setCommonButtonFlags();
 
     for (int j = 0; j < bubbles.size(); ++j){
         int callId = bubbles.at(j);
@@ -706,7 +786,6 @@
         }
     }
 
-    setParticipantListActions();
     setExpandedConferenceCallHeader();
     setBubbleSelectionFlag();
     setMenu();
@@ -721,15 +800,25 @@
     TPhoneCmdParamInteger &intParam =
         static_cast<TPhoneCmdParamInteger &>(*commandParam);
 
-    m_resourceAdapter->buttonsController()->setButtonFlags(
-            PhoneUIQtButtonsController::DisableJoin,
-            (5 <= m_bubbleWrapper->conferenceCallList().count()));
-
-    QMap<PhoneAction::ActionType, PhoneAction *> actions = m_resourceAdapter->convert (intParam.Integer ());
-    QList<PhoneAction*> values = actions.values();
-
+    setCommonButtonFlags();
+    
+    int callId(-1);
+    int serviceId(-1);
+    if ( 0<m_bubbleWrapper->callStates().keys().size() ) {
+        int bubbleId = m_bubbleWrapper->bubbleManager().expandedBubble();
+        callId = m_bubbleWrapper->callIdByBubbleId(bubbleId);
+        serviceId = m_bubbleWrapper->serviceIdByCallId(callId);
+    }
+    
+    QList<PhoneAction*> actions = m_uiCommandController->toolBarActions(
+                                        intParam.Integer(),
+                                        m_bubbleWrapper->callStates(),
+                                        m_bubbleWrapper->serviceIds(),
+                                        serviceId,
+                                        callId );
+    
     if (actions.count()) {
-        m_view.setToolbarActions(values);
+        m_view.setToolbarActions(actions);
     }
 
     qDeleteAll(actions);
@@ -845,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)
@@ -863,8 +954,13 @@
 {
     m_bubbleWrapper->bubbleManager().startChanges();
     m_view.removeExpandAction(m_bubbleWrapper->bubbleId(KConferenceCallId));
+    m_view.clearParticipantListActions();
     m_bubbleWrapper->removeConferenceBubble();
     m_bubbleWrapper->bubbleManager().endChanges();
+    if (!m_bubbleWrapper->bubbles().count()) {
+        m_indicatorController->clearActiveCallData();
+    }
+
 }
 
 void PhoneUIQtViewAdapter::isConference(TPhoneCommandParam *commandParam)
@@ -995,9 +1091,15 @@
 
 void PhoneUIQtViewAdapter::bringToForeground()
 {
-    if(!m_carModeEnabled) {
-        m_view.bringToForeground();
-    }
+    m_visibilityHandler->bringToForeground();
+}
+
+void PhoneUIQtViewAdapter::hideDeviceDialogs(TPhoneCommandParam *commandParam)
+{
+    Q_ASSERT (commandParam->ParamId () == TPhoneCommandParam::EPhoneParamIdBoolean);
+    TPhoneCmdParamBoolean* booleanParam =
+        static_cast<TPhoneCmdParamBoolean*>(commandParam);
+    m_visibilityHandler->hideDeviceDialogs(booleanParam->Boolean());
 }
 
 void PhoneUIQtViewAdapter::showGlobalNote(
@@ -1017,6 +1119,7 @@
         m_dialpadAboutToClose = false;
         m_view.showDialpad();
     } else {
+        m_clearDialpadOnClose = false;
         m_view.hideDialpad();
     }
 }
@@ -1040,7 +1143,10 @@
             m_bubbleWrapper->bubbleManager().endChanges();
         }
     }
-    m_indicatorController->clearActiveCallData();
+    if (!m_bubbleWrapper->bubbles().count()) {
+        m_indicatorController->clearActiveCallData();
+    }
+
 }
 
 void PhoneUIQtViewAdapter::getNumberFromDialpad(
@@ -1131,20 +1237,6 @@
     m_bubbleWrapper->bubbleManager().setBubbleSelectionDisabled(selectionFlag);
 }
 
-void PhoneUIQtViewAdapter::HandlePropertyChangedL(const TUid& aCategory, 
-    const TUint aKey, const TInt aValue)
-{
-    if((aCategory == KPSUidTelCarMode) && (aKey == KTelCarMode)) {
-        if(aValue == EPSCarModeOff) {
-            m_carModeEnabled = false;
-        } else if(aValue == EPSCarModeOn) {
-            m_carModeEnabled = true;
-        } else {
-            Q_ASSERT(false);
-        }
-    }
-}
-
 void PhoneUIQtViewAdapter::setHidden(bool hidden)
 {
     TRAP_IGNORE(SetHiddenL(hidden));
@@ -1170,12 +1262,59 @@
         CAknSgcClient::AknSrv()->UpdateTaskList();
     }
 }
-
 void PhoneUIQtViewAdapter::openContacts()
 {
-    XQServiceRequest snd("com.nokia.services.phonebookappservices.Launch","launch()", false);
-    int retValue;
-    snd.send(retValue);
+    m_appLauncher->launchContacts();
+}
+
+void PhoneUIQtViewAdapter::openLogs(TPhoneCommandParam *commandParam)
+{
+    TPhoneCmdParamString* entryContent =
+            static_cast<TPhoneCmdParamString*>(commandParam);
+    
+    bool phoneVisible = m_visibilityHandler->phoneVisible();
+    
+    m_homeScreenToForeground = false;
+    m_visibilityHandler->sendToBackground(m_homeScreenToForeground);
+    
+    if (phoneVisible) { 
+        // Activate logs dialer only if telephone is on the top.
+        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;
 }
 
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/src/phonevisibilityhandler.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,270 @@
+/*
+* 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: Adjusts visibility of Phone app in device lock situations.
+*
+*/
+#include <eikenv.h>
+#include <xqserviceutil.h>
+#include <telinformationpskeys.h>
+#include <coreapplicationuisdomainpskeys.h>
+#include <apgtask.h>
+#include <ccallinformation.h>
+#include <ccallinfoiter.h>
+#include <keyguardaccessapi.h>
+#include "phonevisibilityhandler.h"
+#include "cphonepubsubproxy.h"
+#include "phoneconstants.h"
+#include "phoneuiqtviewif.h"
+#include "qtphonelog.h"
+
+/*!
+    PhoneVisibilityHandler::PhoneVisibilityHandler.
+ */
+PhoneVisibilityHandler::PhoneVisibilityHandler(PhoneUIQtViewIF &view, QObject *parent)
+    : 
+    QObject(parent),
+    m_view(view),
+    m_eikonEnv(CEikonEnv::Static()),
+    m_carModeEnabled(false),
+    m_hideDeviceDialogs(false),
+    m_deviceLockEnabled(false),
+    m_carModeSubscriber(0),
+    m_carModePublisher(0)
+{
+    PHONE_TRACE;
+    sendToBackground(false); // Send phone to background
+
+    m_carModePublisher = new QValueSpacePublisher("/phone",this);
+    m_carModePublisher->setValue(QString("/carmode"),QVariant(false));
+    
+    m_carModeSubscriber = new QValueSpaceSubscriber("/phone/carmode", this);
+    connect(m_carModeSubscriber, SIGNAL(contentsChanged()), this, SLOT(carModeChanged()));
+    m_carModeEnabled = m_carModeSubscriber->value().toBool();
+
+    int autlockValue = CPhonePubSubProxy::Instance()->Value(
+                KPSUidCoreApplicationUIs, KCoreAppUIsAutolockStatus);
+    m_deviceLockEnabled = (EAutolockOff < autlockValue);
+
+    
+    // Start listening to device lock changes
+    QT_TRAP_THROWING(CPhonePubSubProxy::Instance()->NotifyChangeL(
+            KPSUidCoreApplicationUIs, KCoreAppUIsAutolockStatus, this));
+    
+    QT_TRAP_THROWING(CPhonePubSubProxy::Instance()->NotifyChangeL(
+        KPSUidCoreApplicationUIs, KCoreAppUIsAutolockStatus, this));
+
+}
+
+
+/*!
+    PhoneVisibilityHandler::~PhoneVisibilityHandler.
+ */
+PhoneVisibilityHandler::~PhoneVisibilityHandler()
+{
+    PHONE_TRACE;
+    CPhonePubSubProxy::Instance()->CancelAllNotifications(this);
+}
+
+/*!
+    PhoneVisibilityHandler::bringToForeground.
+ */
+void PhoneVisibilityHandler::bringToForeground()
+{
+    PHONE_TRACE2("m_carModeEnabled=", m_carModeEnabled);
+    
+    if (!m_carModeEnabled) {
+        disableKeyGuard();
+        m_view.bringToForeground();
+        adjustVisibility(BringForwards);
+    }
+    
+
+}
+
+/*!
+    PhoneVisibilityHandler::hideDeviceDialogs.
+ */
+void PhoneVisibilityHandler::hideDeviceDialogs(bool hide)
+{
+    PHONE_TRACE2(": hide =", hide);
+    m_hideDeviceDialogs = hide;
+    adjustVisibility(KeepCurrentPos);
+}
+
+/*!
+    PhoneVisibilityHandler::phoneVisible.
+ */
+bool PhoneVisibilityHandler::phoneVisible()
+{
+    // Should we check if there is phone's devicedialogs visible?
+    return (m_eikonEnv->RootWin().OrdinalPosition() == 0);
+}
+
+/*!
+    PhoneVisibilityHandler::sendToBackground.
+ */
+void PhoneVisibilityHandler::sendToBackground(bool homeScreenForeground)
+{
+    PHONE_TRACE2(": homeScreenForeground =", homeScreenForeground);
+    
+    enableKeyGuard();
+    
+    // Send phone back on WSERV stack
+    adjustVisibility(SendToBack);
+    
+    // Fetch homescreen to foreground if needed
+    if (homeScreenForeground) {
+        _LIT(KPhoneHsAppName,"hsapplication");
+        TApaTaskList taskList(m_eikonEnv->WsSession());
+        TApaTask task = taskList.FindApp(KPhoneHsAppName);
+        task.BringToForeground();
+    }
+}
+
+/*!
+    PhoneVisibilityHandler::HandlePropertyChangedL.
+ */
+void PhoneVisibilityHandler::HandlePropertyChangedL(const TUid& aCategory, 
+    const TUint aKey, const TInt aValue)
+{
+    if((aCategory == KPSUidCoreApplicationUIs) &&
+            (aKey == KCoreAppUIsAutolockStatus)) {
+        // 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)
+{
+    PHONE_TRACE1(": START");
+    int ordinalPos = m_eikonEnv->RootWin().OrdinalPosition();
+    PHONE_TRACE2(": current pos:", ordinalPos);
+
+    if (m_carModeEnabled || (action == SendToBack)) {
+        PHONE_TRACE1(": SendPhoneToBackground");
+        m_eikonEnv->RootWin().SetOrdinalPosition(-1, ECoeWinPriorityNeverAtFront);
+        
+    } else if ((KeepCurrentPos == action) &&
+        (m_eikonEnv->RootWin().OrdinalPriority() == ECoeWinPriorityNeverAtFront)) {
+        // Skip situations where phone is put to back
+        // and action is not to bring it up
+        // Execution must come here if there is no calls
+        PHONE_TRACE1(": Skip");
+        
+    } else if (m_hideDeviceDialogs) {
+        PHONE_TRACE1(": Hide dialogs");
+        m_eikonEnv->RootWin().SetOrdinalPosition(0, ECoeWinPriorityAlwaysAtFront + 100);
+    
+    } else if (m_deviceLockEnabled) {
+        // critical notes are allowed to show on top of Phone application
+        PHONE_TRACE1(": Devicelock");
+        m_eikonEnv->RootWin().SetOrdinalPosition(0, ECoeWinPriorityAlwaysAtFront);
+    
+    } else if (BringForwards == action) {
+        // Try to show phone with normal priority
+        PHONE_TRACE1(": Bring forward");
+        m_eikonEnv->RootWin().SetOrdinalPosition(0, ECoeWinPriorityNormal);
+    
+    } else {
+        // Normalize visiblity after ie. device lock
+        PHONE_TRACE1(": Normalize");
+        m_eikonEnv->RootWin().SetOrdinalPosition(ordinalPos, ECoeWinPriorityNormal);
+        
+    }
+
+    PHONE_TRACE1(": END");
+}
+
+void PhoneVisibilityHandler::carModeChanged()
+{
+    PHONE_TRACE;
+    m_carModeEnabled = m_carModeSubscriber->value().toBool();
+    
+    if(!m_carModeEnabled && (ongoingCalls() > 0)) {
+        bringToForeground();
+    }
+
+    // Adjust visibility according mode (TODO!)
+    PHONE_TRACE2(": m_carModeEnabled=", m_carModeEnabled);
+    //adjustVisibility(KeepCurrentPos);	
+}
--- a/phoneapp/phoneuiqtviewadapter/src/telephonyservice.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuiqtviewadapter/src/telephonyservice.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -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);
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/carmodechanger/rom/carmodechanger.iby	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,31 @@
+/*
+* Copyright (c) 2005 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:  Car mode changer iby file
+*
+*/
+
+
+#ifndef __CARMODECHANGER_IBY__
+#define __CARMODECHANGER_IBY__
+
+#include <data_caging_paths_for_iby.hrh>
+
+#define UPGRADABLE_APP_REG_RSC(NAME) data=DATAZ_\PRIVATE\10003A3F\IMPORT\APPS\ ## NAME ## _reg.rsc        Private\10003a3f\import\apps\ ## NAME ## _reg.rsc
+
+S60_APP_EXE(carmodechanger)
+UPGRADABLE_APP_REG_RSC(carmodechanger)
+S60_APP_AIF_RSC(carmodechanger)
+
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/carmodechanger/rom/carmodechangerresources.iby	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,26 @@
+/*
+* Copyright (c) 2005 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:  Car mode changer Resources iby file
+*
+*/
+
+
+#ifndef __CARMODECHANGER_RESOURCES_IBY__
+#define __CARMODECHANGER_RESOURCES_IBY__
+
+#include <data_caging_paths_for_iby.hrh>
+
+S60_APP_RESOURCE(carmodechanger)
+
+#endif
--- a/phoneapp/phoneuiqtviewadapter/tsrc/runtests.bat	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/runtests.bat	Thu Jul 22 16:33:21 2010 +0100
@@ -16,22 +16,26 @@
 
 echo OFF
 
-del \epoc32\winscw\c\private\e37686c5\ut_phoneuiqtbuttonscontroller.log
-\epoc32\release\winscw\udeb\ut_phoneuiqtbuttonscontroller.exe -o ut_phoneuiqtbuttonscontroller.log
-type \epoc32\winscw\c\private\e37686c5\ut_phoneuiqtbuttonscontroller.log
+del \epoc32\winscw\c\data\ut_phoneuiqtbuttonscontroller.log
+\epoc32\release\winscw\udeb\ut_phoneuiqtbuttonscontroller.exe -o c:\data\ut_phoneuiqtbuttonscontroller.log
+type \epoc32\winscw\c\data\ut_phoneuiqtbuttonscontroller.log
 
-del \epoc32\winscw\c\private\eff8fea2\ut_phoneuiqtviewadapter.log
-\epoc32\release\winscw\udeb\ut_phoneuiqtviewadapter.exe -o ut_phoneuiqtviewadapter.log
-type \epoc32\winscw\c\private\eff8fea2\ut_phoneuiqtviewadapter.log
+del \epoc32\winscw\c\data\ut_phoneuiqtviewadapter.log
+\epoc32\release\winscw\udeb\ut_phoneuiqtviewadapter.exe -o c:\data\ut_phoneuiqtviewadapter.log
+type \epoc32\winscw\c\data\ut_phoneuiqtviewadapter.log
+
+del \epoc32\winscw\c\data\ut_phonebubblewrapper.log
+\epoc32\release\winscw\udeb\ut_phonebubblewrapper.exe -o c:\data\ut_phonebubblewrapper.log
+type \epoc32\winscw\c\data\ut_phonebubblewrapper.log
 
-del \epoc32\winscw\c\private\eacf41fe\ut_phonebubblewrapper.log
-\epoc32\release\winscw\udeb\ut_phonebubblewrapper.exe -o ut_phonebubblewrapper.log
-type \epoc32\winscw\c\private\eacf41fe\ut_phonebubblewrapper.log
+del \epoc32\winscw\c\data\ut_phoneresourceadapter.log
+\epoc32\release\winscw\udeb\ut_phoneresourceadapter.exe -o c:\data\ut_phoneresourceadapter.log
+type \epoc32\winscw\c\data\ut_phoneresourceadapter.log
 
-del \epoc32\winscw\c\private\eda69235\ut_phoneresourceadapter.log
-\epoc32\release\winscw\udeb\ut_phoneresourceadapter.exe -o ut_phoneresourceadapter.log
-type \epoc32\winscw\c\private\eda69235\ut_phoneresourceadapter.log
+del \epoc32\winscw\c\data\ut_telephonyservice.log
+\epoc32\release\winscw\udeb\ut_telephonyservice.exe -o c:\data\ut_telephonyservice.log
+type \epoc32\winscw\c\data\ut_telephonyservice.log
 
-del \epoc32\winscw\c\private\e37686c5\ut_telephonyservice.log
-\epoc32\release\winscw\udeb\ut_telephonyservice.exe -o ut_telephonyservice.log
-type \epoc32\winscw\c\private\e37686c5\ut_telephonyservice.log
+del \epoc32\winscw\c\data\ut_phonevisibilityhandler.log
+\epoc32\release\winscw\udeb\ut_phonevisibilityhandler.exe -o c:\data\ut_phonevisibilityhandler.log
+type \epoc32\winscw\c\data\ut_phonevisibilityhandler.log
--- a/phoneapp/phoneuiqtviewadapter/tsrc/u_carmodetester/main.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/u_carmodetester/main.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -1,19 +1,3 @@
-/*
-* 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 <QtGui>
 #include <hbapplication.h>
 #include <hbmainwindow.h>
--- a/phoneapp/phoneuiqtviewadapter/tsrc/unit.pro	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/unit.pro	Thu Jul 22 16:33:21 2010 +0100
@@ -20,3 +20,5 @@
 SUBDIRS += ut_phoneuiqtviewadapter
 SUBDIRS += ut_phonebubblewrapper
 SUBDIRS += ut_phoneresourceadapter
+SUBDIRS += ut_telephonyservice
+SUBDIRS += ut_phonevisibilityhandler
--- a/phoneapp/phoneuiqtviewadapter/tsrc/ut_phonecommandextensionwrapper/menuextension_stub.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phonecommandextensionwrapper/menuextension_stub.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -26,6 +26,7 @@
 bool m_addMenuActionsCalled;
 bool m_releaseMenuCalled;
 bool m_releaseCalled;
+bool m_modifyToolBarCommandListCalled;
 
 SvtMenu::SvtMenu() 
 :
@@ -49,6 +50,11 @@
     m_modifyPushButtonCommandListCalled = true;
 }
 
+void SvtMenu::modifyToolBarCommandList(const QList<CallInfo> &callInfo,QList<XQTelUiCommandExtension::ToolBarCommand> &toolBarCmdList)
+{
+    m_modifyToolBarCommandListCalled = true;
+}
+
 void SvtMenu::addMenuActions(const QList<CallInfo> &callInfo,QList<HbAction*> &menuActions)
 {
     m_addMenuActionsCalled = true;
--- a/phoneapp/phoneuiqtviewadapter/tsrc/ut_phonecommandextensionwrapper/menuextension_stub.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phonecommandextensionwrapper/menuextension_stub.h	Thu Jul 22 16:33:21 2010 +0100
@@ -3,7 +3,7 @@
 *  Name        : 
 *  Part of     : 
 *  Description : 
-*  Version     : %version:  2 % 
+*  Version     : %version:  3 % 
 *
 *  Copyright 2008 Nokia.  All rights reserved.
 *  This material, including documentation and any related computer
@@ -82,6 +82,21 @@
                                              QList<int> &buttonCmdList);
     
     /*!
+        \fn void modifyToolBarCommandList(QList<int> &menuCmdList)
+        
+        Modifies tool bar command list. CallInfo contains current call 
+        information and toolBarCmdList contains current list of tool 
+        bar commands. 
+        Interface can remove/disable commands if the command list contains 
+        unsupported call commands (For example if service doesn't support 
+        conference call) or add commads which should be handled by telephony  
+        call handling (maximum amount of tool bar commands is 4 and list
+        index 0 is used for right button).
+    */
+    void modifyToolBarCommandList(const QList<CallInfo> &callInfo,
+                                  QList<XQTelUiCommandExtension::ToolBarCommand> &toolBarCmdList);
+    
+    /*!
         \fn void addMenuActions(QList<HbAction*> &menuActions)
         
         Adds actions to menu. Interface adds own actions to the list which
--- a/phoneapp/phoneuiqtviewadapter/tsrc/ut_phonecommandextensionwrapper/unit_tests.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phonecommandextensionwrapper/unit_tests.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -27,6 +27,7 @@
 
 extern bool m_modifyMenuCommandListCalled;
 extern bool m_modifyPushButtonCommandListCalled;
+extern bool m_modifyToolBarCommandListCalled;
 extern bool m_addMenuActionsCalled;
 extern bool m_releaseMenuCalled;
 extern bool m_releaseCalled;
@@ -105,6 +106,7 @@
     QList<XQTelUiCommandExtension::CallInfo> callInfo; 
     QList<int> menuCmdList;
     QList<HbAction*> menuActions;
+    QList<XQTelUiCommandExtension::ToolBarCommand> toolBar;
     m_useExtensionStub = false;
     m_wrapper = new PhoneCommandExtensionWrapper(123456);
     
@@ -113,6 +115,9 @@
     
     m_wrapper->modifyPushButtonCommandList(callInfo, menuCmdList);
     QVERIFY( false == m_modifyPushButtonCommandListCalled );
+   
+    m_wrapper->modifyToolBarCommandList(callInfo, toolBar);
+    QVERIFY( false == m_modifyToolBarCommandListCalled );
     
     m_wrapper->addMenuActions(callInfo, menuActions);
     QVERIFY( false == m_addMenuActionsCalled );
@@ -130,6 +135,7 @@
     QList<XQTelUiCommandExtension::CallInfo> callInfo; 
     QList<int> menuCmdList;
     QList<HbAction*> menuActions;
+    QList<XQTelUiCommandExtension::ToolBarCommand> toolBar;
     m_useExtensionStub = true;
     m_wrapper = new PhoneCommandExtensionWrapper(123456);
     
@@ -141,6 +147,9 @@
     m_wrapper->modifyPushButtonCommandList(callInfo, menuCmdList);
     QVERIFY( m_modifyPushButtonCommandListCalled );
     
+    m_wrapper->modifyToolBarCommandList(callInfo, toolBar);
+    QVERIFY( m_modifyToolBarCommandListCalled );
+    
     m_wrapper->addMenuActions(callInfo, menuActions);
     QVERIFY( m_addMenuActionsCalled );
     
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phonemessagecontroller/phoneapplauncher_stub.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -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 <devicelockaccessapi.h>
+
+#include "phoneapplauncher.h"
+#include "qtphonelog.h"
+
+QList<QVariant> 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<QVariant> &arguments)
+{
+    Q_UNUSED(service);
+    Q_UNUSED(interface);
+    Q_UNUSED(function);
+    Q_UNUSED(arguments);
+}
+
+// end of file
--- a/phoneapp/phoneuiqtviewadapter/tsrc/ut_phonemessagecontroller/unit_tests.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phonemessagecontroller/unit_tests.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -19,10 +19,17 @@
 #include <QtGui>
 #include <hbapplication.h>
 #include <QSignalSpy>
-//#include <hbglobal_p.h>
+#include "phoneconstants.h"
+#include "cphonecenrepproxy.h"
+#include "cphonepubsubproxy.h"
+#include <settingsinternalcrkeys.h>
+#include "phoneapplauncher.h"
 #include "phonemessagecontroller.h"
 #include "tphonecmdparamsfidata.h"
 
+extern QList<QVariant> gList;
+
+
 #define PHONE_QT_MESSAGE_CONTROLLER_TEST_MAIN(TestObject) \
 int main(int argc, char *argv[]) \
 { \
@@ -55,8 +62,11 @@
     void testOpenSoftRejectEditor();
 
 
+private:
+    QString softRejectText();
     
 private:
+    PhoneAppLauncher *m_launcher;
     PhoneMessageController *m_messageController; // class under test
 };
 
@@ -70,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()
@@ -88,11 +100,49 @@
 
 void TestPhoneMessageController::testOpenSoftRejectEditor()
 {
+    QString text = softRejectText();
     TPhoneCmdParamSfiData sfiParam;
     sfiParam.SetNumber(_L("1234567"));
     sfiParam.SetName(_L("Tester"));
     
     m_messageController->openSoftRejectMessageEditor(&sfiParam);
+    
+    QVERIFY( gList.contains("1234567") );
+    QVERIFY( gList.contains("Tester") );
+    QVERIFY( gList.contains(text) );
+}
+
+QString TestPhoneMessageController::softRejectText()
+{
+    QString messageBody;
+    // Get message body
+    TInt softRejectDefaultInUseValue = 0;
+    const TInt err = CPhoneCenRepProxy::Instance()->GetInt(
+        KCRUidTelephonySettings,
+        KSettingsSoftRejectDefaultInUse,
+        softRejectDefaultInUseValue );
+    
+    if (softRejectDefaultInUseValue) {
+        HBufC* softRejectTxt = NULL;
+        TRAP_IGNORE( softRejectTxt = HBufC::NewL( KPhoneSMSLength ) );
+        
+        if (softRejectTxt) {
+            TPtr string( softRejectTxt->Des() );
+        
+            // Default txt used or not
+            CPhoneCenRepProxy::Instance()->GetString(
+                KCRUidTelephonySettings,
+                KSettingsSoftRejectText,
+                string );
+            
+            messageBody = QString::fromUtf16(string.Ptr(), string.Length());
+            delete softRejectTxt;
+        }
+    } else {
+        messageBody = hbTrId("txt_phone_setlabel_soft_reject_val_default_text");
+    }
+    
+    return messageBody;
 }
 
 PHONE_QT_MESSAGE_CONTROLLER_TEST_MAIN(TestPhoneMessageController)
--- a/phoneapp/phoneuiqtviewadapter/tsrc/ut_phonemessagecontroller/ut_phonemessagecontroller.pro	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phonemessagecontroller/ut_phonemessagecontroller.pro	Thu Jul 22 16:33:21 2010 +0100
@@ -43,5 +43,7 @@
 # Input
 HEADERS += ../../inc/phonemessagecontroller.h
 SOURCES += ../../src/phonemessagecontroller.cpp
+HEADERS += ../../inc/phoneapplauncher.h
+SOURCES += phoneapplauncher_stub.cpp
 SOURCES += unit_tests.cpp
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phonemessagecontroller/xqservicerequest.h	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,78 @@
+/*!
+* 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:  Unit tests for PhoneNoteController.
+*
+*/
+
+#ifndef T_XQSERVICEREQUEST_H
+#define T_XQSERVICEREQUEST_H
+
+#include <QObject>
+#include <QVariant>
+#include <QtTest/qtestcase.h>
+
+extern QString mService;
+extern QString mMessage;
+extern bool mSend;
+extern QList<QVariant> mList;
+
+
+/*!
+    \class XQServiceRequest
+*/
+class XQServiceRequest : public QObject
+{
+Q_OBJECT
+
+public:
+
+    XQServiceRequest(const QString &service,
+                     const QString &message,
+                     const bool &synchronous = true)
+    {
+        mService = service;
+        mMessage = message;
+    }
+
+    ~XQServiceRequest()
+    {
+    }
+
+    bool send(QVariant &retValue)
+    {
+        mSend = true;
+        return mSend;
+    }
+    
+    template <typename T>
+    inline bool send(T& retValue)
+    {
+        QVariant retData;
+        bool ret=send(retData);
+        retValue = qVariantValue<T>(retData);
+        return ret;
+    }
+
+    void setArguments(QList<QVariant> list)
+    {
+        mList = list;
+    }
+
+Q_SIGNALS:
+
+    void requestCompleted(const QVariant &value);
+
+};
+
+#endif //T_XQSERVICEREQUEST_H
--- a/phoneapp/phoneuiqtviewadapter/tsrc/ut_phonenotecontroller/unit_tests.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phonenotecontroller/unit_tests.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -66,7 +66,12 @@
     void testShowNote();
     void testShowQuery();
     void testShowClobalWaitNote();
-
+    void testShowIndicationDialogDefault ();
+    void testShowIndicationDialogWithResourceId ();
+    void testShowIndicationDialogWithText ();
+    void testShowIndicationDialogTextAndResourceId ();
+    void testShowIndicationDialogTwoTimes ();
+    void testShowIndicationDialogThreeTimes ();
     
 private:
     PhoneNoteController *m_noteController; // class under test
@@ -182,7 +187,7 @@
     
     m_noteController->showGlobalNote(&globalNoteParam);
     
-    QTest::qWait(20000);
+    QTest::qWait(5000);
 }
 
 void TestPhoneNoteController::testShowNote()
@@ -200,16 +205,16 @@
     noteParam.SetText(_L("Sending:\n123p456"));
     
     m_noteController->showNote(&noteParam);
-    QTest::qWait(20000);
+    QTest::qWait(5000);
     
     noteParam.SetText(_L("Sending:\n123p456"));
     m_noteController->showNote(&noteParam);
     
-    QTest::qWait(20000);
+    QTest::qWait(5000);
     
     m_noteController->removeNote();
     
-    QTest::qWait(20000);
+    QTest::qWait(5000);
 }
 
 void TestPhoneNoteController::testShowQuery()
@@ -227,12 +232,12 @@
     queryParam.SetQueryResourceId(R_PHONEUI_DTMF_WAIT_CHARACTER_CONFIRMATION_QUERY);
     m_noteController->showQuery(&queryParam);
     
-    QTest::qWait(20000);
+    QTest::qWait(5000);
     m_noteController->showQuery(&queryParam);
     
     m_noteController->removeQuery();
     
-    QTest::qWait(20000);
+    QTest::qWait(5000);
 }
 
 void TestPhoneNoteController::testShowClobalWaitNote()
@@ -256,11 +261,99 @@
     queryParam.SetDataText(&buf);
     queryParam.SetTimeOut(2000);
     m_noteController->showQuery(&queryParam);
-    QTest::qWait(10000);
+    QTest::qWait(5000);
      
     queryParam.SetCustomCommandForTimeOut(10);
     m_noteController->showQuery(&queryParam);
-    QTest::qWait(10000);
+    QTest::qWait(5000);
+}
+
+void TestPhoneNoteController::testShowIndicationDialogDefault ()
+{
+    TPhoneCmdParamGlobalNote globalNoteParam;
+    globalNoteParam.SetNotificationDialog( ETrue );
+    globalNoteParam.SetTimeout(0);
+    m_noteController->showGlobalNote(&globalNoteParam);
+    QTest::qWait(2500);
+    
+    globalNoteParam.SetTimeout(KPhoneNoteNoTimeout);
+    m_noteController->showGlobalNote(&globalNoteParam);
+    QTest::qWait(2500);
+}
+
+void TestPhoneNoteController::testShowIndicationDialogWithResourceId ()
+{
+    TPhoneCmdParamGlobalNote globalNoteParam;
+    globalNoteParam.SetNotificationDialog( ETrue );
+    globalNoteParam.SetTextResourceId(R_NOTETEXT_NO_ANSWER);
+    globalNoteParam.SetType( EAknGlobalInformationNote );
+    
+    m_noteController->showGlobalNote(&globalNoteParam);
+    
+    QTest::qWait(5000);
+}
+
+void TestPhoneNoteController::testShowIndicationDialogWithText ()
+{
+    TPhoneCmdParamGlobalNote globalNoteParam;
+    globalNoteParam.SetNotificationDialog( ETrue );
+    globalNoteParam.SetType( EAknGlobalWarningNote );
+    globalNoteParam.SetText(_L("Test indication 1"));
+    
+    m_noteController->showGlobalNote(&globalNoteParam);
+}
+
+void TestPhoneNoteController::testShowIndicationDialogTextAndResourceId ()
+{
+    TPhoneCmdParamGlobalNote globalNoteParam;
+    globalNoteParam.SetNotificationDialog( ETrue );
+    globalNoteParam.SetTextResourceId(R_PHONE_TEXT_COLP_CONNECTED);
+    globalNoteParam.SetType( EAknGlobalInformationNote );
+    globalNoteParam.SetText(_L("Indication number"));
+    globalNoteParam.SetTimeout(1000);
+    
+    m_noteController->showGlobalNote(&globalNoteParam);
+    
+    QTest::qWait(2000);
+}
+
+void TestPhoneNoteController::testShowIndicationDialogTwoTimes ()
+{
+    TPhoneCmdParamGlobalNote globalNoteParam;
+    globalNoteParam.SetNotificationDialog( ETrue );
+    //globalNoteParam.SetTextResourceId(R_NOTETEXT_NO_ANSWER);
+    globalNoteParam.SetType( EAknGlobalInformationNote );
+    globalNoteParam.SetText(_L("Test indication 2"));
+    
+    m_noteController->showGlobalNote(&globalNoteParam);
+    
+    globalNoteParam.SetText(_L("Test indication 3"));
+    
+    m_noteController->showGlobalNote(&globalNoteParam);
+    
+    QTest::qWait(5000);
+
+}
+
+void TestPhoneNoteController::testShowIndicationDialogThreeTimes ()
+{
+    TPhoneCmdParamGlobalNote globalNoteParam;
+    globalNoteParam.SetNotificationDialog( ETrue );
+    globalNoteParam.SetType( EAknGlobalInformationNote );
+    globalNoteParam.SetText(_L("Test indication 4"));
+    
+    m_noteController->showGlobalNote(&globalNoteParam);
+    
+    globalNoteParam.SetText(_L("Test indication 5"));
+    
+    globalNoteParam.SetTimeout(1000);
+    m_noteController->showGlobalNote(&globalNoteParam);
+    
+    globalNoteParam.SetText(_L("Test indication 6"));
+    
+    m_noteController->showGlobalNote(&globalNoteParam);
+    
+    QTest::qWait(20000);
 }
 
 PHONE_QT_NOTE_CONTROLLER_TEST_MAIN(TestPhoneNoteController)
--- a/phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneresourceadapter/unit_tests.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneresourceadapter/unit_tests.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -21,9 +21,10 @@
 #include <QSignalSpy>
 #include <QVariant>
 #include <hbaction.h>
-//#include <hbglobal_p.h>
 #include <phoneappvoipcommands.hrh>
+#include <xqphoneappcommands.h>
 #include "phoneresourceadapter.h"
+#include "phoneuiqtbuttonscontroller.h"
 #include "phoneresourceids.h"
 #include "phoneui.hrh"
 
@@ -62,6 +63,8 @@
     void testDefaultToolbarResourceId();
     void testConvertCommandToString();
     void testConvertToHbActions();
+    void testConvertToToolBarCommandList();
+    void testBtToolBarCommandList();
 
 private:
     void testIncallToolbar (int id); // helper function
@@ -106,46 +109,6 @@
 
     QMap<PhoneAction::ActionType, PhoneAction *> map;
     PhoneAction *action = map [PhoneAction::LeftButton];
-
-    map = m_resourceAdapter->convert (R_PHONEUI_CALLHANDLING_INCOMINGCALL_CBA);
-    QCOMPARE (map.size (), 2);
-    action = map [PhoneAction::ToolbarButton1];
-    QCOMPARE (action->icon (), HbIcon("qtg_mono_send"));    
-    action = map [PhoneAction::ToolbarButton2];
-    QCOMPARE (action->icon (), HbIcon("qtg_mono_speaker_off"));
-    QCOMPARE (action->command (), (int)EPhoneCallComingCmdSilent);    
-    
-    map = m_resourceAdapter->convert (R_PHONEUI_CALLHANDLING_INCOMINGCALL_REJECT_CBA);
-    QCOMPARE (map.size (), 2);
-    action = map [PhoneAction::ToolbarButton1];
-    QCOMPARE (action->icon (), HbIcon("qtg_mono_send"));    
-    action = map [PhoneAction::ToolbarButton2];
-    QCOMPARE (action->icon (), HbIcon("qtg_mono_reject_call"));
-    //Command is disabled
-    //QCOMPARE (action->command (), (int)EPhoneCallComingCmdReject);    
-     
-    map = m_resourceAdapter->convert (R_PHONEUI_CALLHANDLING_INCOMINGCALL_SOFT_REJECT_CBA);
-    QCOMPARE (map.size (), 2);
-    action = map [PhoneAction::ToolbarButton1];
-    QCOMPARE (action->icon (), HbIcon("qtg_mono_send"));    
-    action = map [PhoneAction::ToolbarButton2];
-    QCOMPARE (action->icon (), HbIcon("qtg_mono_speaker_off"));
-    //Command is disabled
-    //QCOMPARE (action->command (), (int)EPhoneCallComingCmdReject); 
-
-    map = m_resourceAdapter->convert (R_PHONEUI_CALLHANDLING_CALLWAITING_CBA);
-    QCOMPARE (map.size (), 2);
-    action = map [PhoneAction::ToolbarButton1];
-    QCOMPARE (action->icon (), HbIcon("qtg_mono_send"));    
-    action = map [PhoneAction::ToolbarButton2];
-    QCOMPARE (action->icon (), HbIcon("qtg_mono_join_call"));
-    QCOMPARE (action->command (), (int)EPhoneInCallCmdJoin);    
-    
-    testIncallToolbar( R_PHONEUI_DIALER_CBA );
-    testIncallToolbar( R_PHONEUI_INCALL_DIALER_CBA );
-    testIncallToolbar( R_PHONEUI_CALLHANDLING_CALLSETUP_EMPTY_DTMFDIALER_CBA );
-    testIncallToolbar( R_PHONEUI_CALLHANDLING_INCALL_UNHOLD_CBA );
-    testIncallToolbar( R_PHONEUI_CALLHANDLING_INCALL_UNMUTE_CBA );
     
     map = m_resourceAdapter->convert (R_PHONEUI_MTCAL_INCOMING_CALL);
     QCOMPARE (map.size (), 1);
@@ -167,11 +130,6 @@
     action = map [PhoneAction::Text];
     QVERIFY( false == action->text().isEmpty() );
 
-    map = m_resourceAdapter->convert (R_PHONEUI_INCALL_CALL_NUMBER, 3);
-    QCOMPARE (map.size (), 1);
-    action = map [PhoneAction::Text];
-    QVERIFY( false == action->text().isEmpty() );
-    
     map = m_resourceAdapter->convert (R_PHONEUI_TIME_DURAT_LONG_WITH_ZERO);
     QCOMPARE (map.size (), 1);
     action = map [PhoneAction::Text];
@@ -186,12 +144,12 @@
     QCOMPARE (map.size (), 1);
     action = map [PhoneAction::Text];
     QVERIFY( false == action->text().isEmpty() );
-    
-    map = m_resourceAdapter->convert (R_PHONEUI_MTCAL_CALL);
+
+    map = m_resourceAdapter->convert (R_PHONEUI_MTCAL_CLI_UNKNOWN);
     QCOMPARE (map.size (), 1);
     action = map [PhoneAction::Text];
     QVERIFY( false == action->text().isEmpty() );
-    
+
     map = m_resourceAdapter->convert (R_PHONEUI_EMERGENCY_CALL_HEADER);
     QCOMPARE (map.size (), 1);
     action = map [PhoneAction::Text];
@@ -207,15 +165,7 @@
     action = map [PhoneAction::LeftButton];
     QVERIFY( false == action->text().isEmpty() );
     QCOMPARE (action->icon (), HbIcon("qtg_mono_end_call"));
-    QCOMPARE (action->command (), (int)EPhoneCmdEnd);
-    
-    map = m_resourceAdapter->convert (R_PHONEUI_CALLHANDLING_EMERGENCY_CBA);
-    QCOMPARE (map.size (), 2);
-    action = map [PhoneAction::ToolbarButton1];
-    QCOMPARE (action->icon (), HbIcon("qtg_mono_dialer"));
-    action = map [PhoneAction::ToolbarButton2];
-    QCOMPARE (action->icon (), HbIcon("qtg_mono_speaker"));
-    QCOMPARE (action->command (), (int)EPhoneInCallCmdActivateIhf);        
+    QCOMPARE (action->command (), (int)EPhoneCmdEnd);   
     
     map = m_resourceAdapter->convert (R_PHONEUI_CONFERENCE_CALL);
     QCOMPARE (map.size (), 1);
@@ -233,16 +183,6 @@
     action = map[PhoneAction::Text];
     QVERIFY( false == action->text().isEmpty() );
     
-    map = m_resourceAdapter->convert(R_PHONE_IMEI_STRING, &buffer);
-    QCOMPARE(map.size(), 1);
-    action = map[PhoneAction::Text];
-    QVERIFY( false == action->text().isEmpty() );
-
-    map = m_resourceAdapter->convert(R_PHONEUI_LIFE_TIMER_STRING, &buffer);
-    QCOMPARE(map.size(), 1);
-    action = map[PhoneAction::Text];
-    QVERIFY( false == action->text().isEmpty() );
-    
     // TODO
     map = m_resourceAdapter->convert (R_PHONEUI_CALLHANDLING_INCALL_HANDSET_CBA);
     
@@ -269,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); 
@@ -281,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() );
@@ -308,6 +248,93 @@
     QString testString18 = m_resourceAdapter->convertToString(R_PHONE_ERROR_NO_SERVICE); 
     QVERIFY( false == testString18.isEmpty() ); 
     
+    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 testString21 = m_resourceAdapter->convertToString(R_PHONEUI_VIDEO_CALL_NOT_POSSIBLE); 
+    QVERIFY( false == testString21.isEmpty() ); 
+    
+    QString testString22 = m_resourceAdapter->convertToString(R_CALL_INFO_CAUSE_VALUE127); 
+    QVERIFY( false == testString22.isEmpty() ); 
+    
+    QString testString23 = m_resourceAdapter->convertToString(R_CALL_INFO_NOT_SUPPORTED); 
+    QVERIFY( false == testString23.isEmpty() ); 
+    
+    QString testString24 = m_resourceAdapter->convertToString(R_CALL_INFO_SERVICE_NOT_AVAILABLE); 
+    QVERIFY( false == testString24.isEmpty() ); 
+    
+    QString testString25 = m_resourceAdapter->convertToString(R_CALL_INFO_CAUSE_VALUE38); 
+    QVERIFY( false == testString25.isEmpty() ); 
+    
+    QString testString26 = m_resourceAdapter->convertToString(R_CALL_INFO_CAUSE_VALUE55); 
+    QVERIFY( false == testString26.isEmpty() ); 
+    
+    QString testString27 = m_resourceAdapter->convertToString(R_CALL_INFO_CAUSE_VALUE58); 
+    QVERIFY( false == testString27.isEmpty() ); 
+    
+    QString testString28 = m_resourceAdapter->convertToString(R_NOTE_PHONE_OUT_OF_3G_COVERAGE); 
+    QVERIFY( false == testString28.isEmpty() ); 
+    
+    QString testString29 = m_resourceAdapter->convertToString(R_NOTE_VIDEO_CALL_ONLY_POSSIBLE_UNDER_3G_COVERAGE); 
+    QVERIFY( false == testString29.isEmpty() ); 
+    
+    QString testString30 = m_resourceAdapter->convertToString(R_NOTE_CALLED_NUMBER_HAS_BARRED_INCOMING_CALLS); 
+    QVERIFY( false == testString30.isEmpty() ); 
+    
+    QString testString31 = m_resourceAdapter->convertToString(R_INCAL_REMOTE_CREATE_CONFERENCE_TEXT); 
+    QVERIFY( false == testString31.isEmpty() ); 
+    
+    QString testString32 = m_resourceAdapter->convertToString(R_NOTETEXT_CALL_BARRINGS); 
+    QVERIFY( false == testString32.isEmpty() ); 
+    
+    QString testString33 = m_resourceAdapter->convertToString(R_CALL_INFO_CAUSE_VALUE16); 
+    QVERIFY( false == testString33.isEmpty() ); 
+    
+    QString testString34 = m_resourceAdapter->convertToString(R_CALL_INFO_CAUSE_VALUE18); 
+    QVERIFY( false == testString34.isEmpty() ); 
+    
+    QString testString35 = m_resourceAdapter->convertToString(R_CALL_INFO_CAUSE_VALUE21); 
+    QVERIFY( false == testString35.isEmpty() ); 
+    
+    QString testString36 = m_resourceAdapter->convertToString(R_CALL_INFO_CAUSE_VALUE22); 
+    QVERIFY( false == testString36.isEmpty() ); 
+    
+    QString testString37 = m_resourceAdapter->convertToString(R_CALL_INFO_CAUSE_VALUE34); 
+    QVERIFY( false == testString37.isEmpty() ); 
+    
+    QString testString38 = m_resourceAdapter->convertToString(R_PHONE_ERROR_CALL_NOT_ALLOWED_FDN); 
+    QVERIFY( false == testString38.isEmpty() ); 
+    
+    QString testString39 = m_resourceAdapter->convertToString(R_NOTE_UNABLE_TO_MAKE_VIDEO_CALL_NOT_SUPPORTED_BY_OTHER_PHONE); 
+    QVERIFY( false == testString39.isEmpty() ); 
+
+    QString testString40 = m_resourceAdapter->convertToString(R_NOTETEXT_DIVERTING_INCOMING_CALL); 
+    QVERIFY( false == testString40.isEmpty() ); 
+        
+    QString testString41 = m_resourceAdapter->convertToString(R_NOTETEXT_DIVERTING); 
+    QVERIFY( false == testString41.isEmpty() ); 
+    
+    QString testString42 = m_resourceAdapter->convertToString(R_NOTETEXT_ALL_INCOMING_CALLS_DIVERTED); 
+    QVERIFY( false == testString42.isEmpty() ); 
+        
+    QString testString43 = m_resourceAdapter->convertToString(R_PHONE_ERROR_CHECK_CLIR); 
+    QVERIFY( false == testString43.isEmpty() ); 
+    
+    QString testString44 = m_resourceAdapter->convertToString(R_PHONE_SS_NOTIFICATION_CLIR_SUPPR_REJECT_TEXT); 
+    QVERIFY( false == testString44.isEmpty() ); 
+    
+    QString testString45 = m_resourceAdapter->convertToString(R_NOTE_TEXT_CLIR_CHANGE); 
+    QVERIFY( false == testString45.isEmpty() ); 
+    
+    QString testString46 = m_resourceAdapter->convertToString(R_PHONE_ERROR_CHECK_NETWORK_SERVICES); 
+    QVERIFY( false == testString46.isEmpty() ); 
+    
+    QString testString47 = m_resourceAdapter->convertToString(R_PHONE_INCALL_INFO_VIDEO_CALL_NOT_ALLOWED_DURING_RESTORE); 
+    QVERIFY( false == testString47.isEmpty() ); 
+    
     QString testString99 = m_resourceAdapter->convertToString(0); 
     QCOMPARE( testString99, QString ("") );
 }
@@ -316,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 ("") );
 }
 
@@ -359,7 +386,7 @@
 void TestPhoneResourceAdapter::testDefaultToolbarResourceId()
 {
     QVERIFY(m_resourceAdapter->defaultToolbarResourceId()==
-            R_PHONEUI_CALLHANDLING_INCOMINGCALL_CBA);
+            R_PHONEUI_INCALL_DIALER_CBA);
 }
 
 void TestPhoneResourceAdapter::testConvertCommandToString ()
@@ -375,10 +402,6 @@
     QVERIFY( false == testString.isEmpty() );
     
     testString = m_resourceAdapter->convertCommandToString(
-            EPhoneInCallCmdSwitchToVideo);    
-    QVERIFY( false == testString.isEmpty() );
-    
-    testString = m_resourceAdapter->convertCommandToString(
             EPhoneCmdHandoverToWlan);    
     QVERIFY( false == testString.isEmpty() );
     
@@ -414,5 +437,193 @@
     QCOMPARE( testList.count(), 0 );
 }
 
+void TestPhoneResourceAdapter::testConvertToToolBarCommandList ()
+{
+    m_resourceAdapter = PhoneResourceAdapter::Instance(this);
+    PhoneUIQtButtonsController* buttonsController = 
+        m_resourceAdapter->buttonsController();
+    
+    QList<PhoneAction::ToolBarItem> testList;
+    
+    testList = m_resourceAdapter->convertToToolBarCommandList(R_PHONEUI_CALLHANDLING_INCOMINGCALL_CBA);
+    QCOMPARE(2,testList.count());
+    QVERIFY(PhoneCallComingCmdSoftReject == testList.at(0).mCommandId);
+    QVERIFY(PhoneCallComingCmdSilent == testList.at(1).mCommandId);
+    QVERIFY(true == testList.at(0).mEnabled);
+    QVERIFY(true == testList.at(1).mEnabled);
+    testList.clear();
+    
+    testList = m_resourceAdapter->convertToToolBarCommandList(R_PHONEUI_CALLHANDLING_INCOMINGCALL_REJECT_CBA);
+    QCOMPARE(2,testList.count());
+    QVERIFY(PhoneCallComingCmdSoftReject == testList.at(0).mCommandId);
+    QVERIFY(PhoneInCallCmdReject == testList.at(1).mCommandId);
+    QVERIFY(true == testList.at(0).mEnabled);
+    QVERIFY(true == testList.at(1).mEnabled);
+    testList.clear(); 
+    
+    testList = m_resourceAdapter->convertToToolBarCommandList(R_PHONEUI_CALLHANDLING_INCOMINGCALL_SOFT_REJECT_CBA);
+    QCOMPARE(2,testList.count());
+    QVERIFY(PhoneCallComingCmdSoftReject == testList.at(0).mCommandId);
+    QVERIFY(PhoneCallComingCmdSilent == testList.at(1).mCommandId);
+    QVERIFY(true == testList.at(0).mEnabled);
+    QVERIFY(false == testList.at(1).mEnabled);
+    testList.clear(); 
+    
+    testList = m_resourceAdapter->convertToToolBarCommandList(R_PHONEUI_CALLHANDLING_CALLWAITING_CBA);
+    QCOMPARE(2,testList.count());
+    QVERIFY(PhoneCallComingCmdSoftReject == testList.at(0).mCommandId);
+    QVERIFY(PhoneInCallCmdJoinToConference == testList.at(1).mCommandId);
+    QVERIFY(true == testList.at(0).mEnabled);
+    QVERIFY(false == testList.at(1).mEnabled);
+    testList.clear(); 
+    
+    testList = m_resourceAdapter->convertToToolBarCommandList(R_PHONEUI_CALLHANDLING_EMERGENCY_CBA);
+    QCOMPARE(2,testList.count());
+    QVERIFY(PhoneInCallCmdActivateIhf == testList.at(0).mCommandId);
+    QVERIFY(PhoneInCallCmdOpenDialer == testList.at(1).mCommandId);
+    QVERIFY(true == testList.at(0).mEnabled);
+    QVERIFY(true == testList.at(1).mEnabled);
+    testList.clear(); 
+    
+    testList = m_resourceAdapter->convertToToolBarCommandList(R_PHONEUI_DIALER_CBA);
+    QCOMPARE(4,testList.count());
+    QVERIFY(PhoneInCallCmdActivateIhf == testList.at(0).mCommandId);
+    QVERIFY(PhoneInCallCmdHold == testList.at(1).mCommandId);
+    QVERIFY(PhoneInCallCmdOpenContacts == testList.at(2).mCommandId);
+    QVERIFY(PhoneInCallCmdOpenDialer == testList.at(3).mCommandId);
+    QVERIFY(true == testList.at(0).mEnabled);
+    QVERIFY(true == testList.at(1).mEnabled);
+    QVERIFY(true == testList.at(2).mEnabled);
+    QVERIFY(true == testList.at(3).mEnabled);
+    testList.clear(); 
+    
+    testList = m_resourceAdapter->convertToToolBarCommandList(R_PHONEUI_CALLHANDLING_CALLSETUP_EMPTY_DTMFDIALER_CBA);
+    QCOMPARE(4,testList.count());
+    QVERIFY(PhoneInCallCmdActivateIhf == testList.at(0).mCommandId);
+    QVERIFY(PhoneInCallCmdHold == testList.at(1).mCommandId);
+    QVERIFY(PhoneInCallCmdOpenContacts == testList.at(2).mCommandId);
+    QVERIFY(PhoneInCallCmdOpenDialer == testList.at(3).mCommandId);
+    QVERIFY(true == testList.at(0).mEnabled);
+    QVERIFY(true == testList.at(1).mEnabled);
+    QVERIFY(true == testList.at(2).mEnabled);
+    QVERIFY(true == testList.at(3).mEnabled);
+    testList.clear(); 
+    
+    // Set flags hold and ihf
+    buttonsController->setButtonFlags(PhoneUIQtButtonsController::Ihf,true);
+    buttonsController->setButtonFlags(PhoneUIQtButtonsController::Hold,true);
+    
+    testList = m_resourceAdapter->convertToToolBarCommandList(R_PHONEUI_CALLHANDLING_EMERGENCY_CBA);
+    QCOMPARE(2,testList.count());
+    QVERIFY(PhoneInCallCmdDeactivateIhf == testList.at(0).mCommandId);
+    QVERIFY(PhoneInCallCmdOpenDialer == testList.at(1).mCommandId);
+    QVERIFY(true == testList.at(0).mEnabled);
+    QVERIFY(true == testList.at(1).mEnabled);
+    testList.clear(); 
+    
+    testList = m_resourceAdapter->convertToToolBarCommandList(R_PHONEUI_INCALL_DIALER_CBA);
+    QCOMPARE(4,testList.count());
+    QVERIFY(PhoneInCallCmdDeactivateIhf == testList.at(0).mCommandId);
+    QVERIFY(PhoneInCallCmdUnhold == testList.at(1).mCommandId);
+    QVERIFY(PhoneInCallCmdOpenContacts == testList.at(2).mCommandId);
+    QVERIFY(PhoneInCallCmdOpenDialer == testList.at(3).mCommandId);
+    QVERIFY(true == testList.at(0).mEnabled);
+    QVERIFY(true == testList.at(1).mEnabled);
+    QVERIFY(true == testList.at(2).mEnabled);
+    QVERIFY(true == testList.at(3).mEnabled);
+    testList.clear(); 
+    
+    testList = m_resourceAdapter->convertToToolBarCommandList(R_PHONEUI_CALLHANDLING_CALLSETUP_EMPTY_DTMFDIALER_CBA);
+    QCOMPARE(4,testList.count());
+    QVERIFY(PhoneInCallCmdDeactivateIhf == testList.at(0).mCommandId);
+    QVERIFY(PhoneInCallCmdUnhold == testList.at(1).mCommandId);
+    QVERIFY(PhoneInCallCmdOpenContacts == testList.at(2).mCommandId);
+    QVERIFY(PhoneInCallCmdOpenDialer == testList.at(3).mCommandId);
+    QVERIFY(true == testList.at(0).mEnabled);
+    QVERIFY(true == testList.at(1).mEnabled);
+    QVERIFY(true == testList.at(2).mEnabled);
+    QVERIFY(true == testList.at(3).mEnabled);
+    testList.clear(); 
+    
+    // Set flag multi call
+    buttonsController->setButtonFlags(PhoneUIQtButtonsController::MultiCall,true);
+    
+    testList = m_resourceAdapter->convertToToolBarCommandList(R_PHONEUI_CALLHANDLING_INCALL_UNHOLD_CBA);
+    QCOMPARE(4,testList.count());
+    QVERIFY(PhoneInCallCmdDeactivateIhf == testList.at(0).mCommandId);
+    QVERIFY(PhoneInCallCmdSwap == testList.at(1).mCommandId);
+    QVERIFY(PhoneInCallCmdCreateConference == testList.at(2).mCommandId);
+    QVERIFY(PhoneInCallCmdOpenDialer == testList.at(3).mCommandId);
+    QVERIFY(true == testList.at(0).mEnabled);
+    QVERIFY(true == testList.at(1).mEnabled);
+    QVERIFY(true == testList.at(2).mEnabled);
+    QVERIFY(true == testList.at(3).mEnabled);
+    testList.clear(); 
+    
+    testList = m_resourceAdapter->convertToToolBarCommandList(R_PHONEUI_CALLHANDLING_CALLSETUP_EMPTY_DTMFDIALER_CBA);
+    QCOMPARE(4,testList.count());
+    QVERIFY(PhoneInCallCmdDeactivateIhf == testList.at(0).mCommandId);
+    QVERIFY(PhoneInCallCmdSwap == testList.at(1).mCommandId);
+    QVERIFY(PhoneInCallCmdCreateConference == testList.at(2).mCommandId);
+    QVERIFY(PhoneInCallCmdOpenDialer == testList.at(3).mCommandId);
+    QVERIFY(true == testList.at(0).mEnabled);
+    QVERIFY(true == testList.at(1).mEnabled);
+    QVERIFY(true == testList.at(2).mEnabled);
+    QVERIFY(true == testList.at(3).mEnabled);
+    testList.clear();
+    
+    // Set flag outgoing and conference call
+    buttonsController->setButtonFlags(PhoneUIQtButtonsController::Outgoing,true);
+    buttonsController->setButtonFlags(PhoneUIQtButtonsController::Conference,true);
+    
+    testList = m_resourceAdapter->convertToToolBarCommandList(R_PHONEUI_CALLHANDLING_INCALL_UNMUTE_CBA);
+    QCOMPARE(4,testList.count());
+    QVERIFY(PhoneInCallCmdDeactivateIhf == testList.at(0).mCommandId);
+    QVERIFY(PhoneInCallCmdSwap == testList.at(1).mCommandId);
+    QVERIFY(PhoneInCallCmdJoinToConference == testList.at(2).mCommandId);
+    QVERIFY(PhoneInCallCmdOpenDialer == testList.at(3).mCommandId);
+    QVERIFY(true == testList.at(0).mEnabled);
+    QVERIFY(false == testList.at(1).mEnabled);
+    QVERIFY(false == testList.at(2).mEnabled);
+    QVERIFY(true == testList.at(3).mEnabled);
+    testList.clear(); 
+    
+    testList = m_resourceAdapter->convertToToolBarCommandList(R_PHONEUI_CALLHANDLING_CALLSETUP_EMPTY_DTMFDIALER_CBA);
+    QCOMPARE(4,testList.count());
+    QVERIFY(PhoneInCallCmdDeactivateIhf == testList.at(0).mCommandId);
+    QVERIFY(PhoneInCallCmdSwap == testList.at(1).mCommandId);
+    QVERIFY(PhoneInCallCmdJoinToConference == testList.at(2).mCommandId);
+    QVERIFY(PhoneInCallCmdOpenDialer == testList.at(3).mCommandId);
+    QVERIFY(true == testList.at(0).mEnabled);
+    QVERIFY(false == testList.at(1).mEnabled);
+    QVERIFY(false == testList.at(2).mEnabled);
+    QVERIFY(true == testList.at(3).mEnabled);
+    testList.clear(); 
+}
+
+void TestPhoneResourceAdapter::testBtToolBarCommandList ()
+{
+    m_resourceAdapter = PhoneResourceAdapter::Instance(this);
+    PhoneUIQtButtonsController* buttonsController = 
+        m_resourceAdapter->buttonsController();
+    
+    QList<PhoneAction::ToolBarItem> 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"
--- a/phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneuicommandcontroller/phonecommandextensionwrapper_stub.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneuicommandcontroller/phonecommandextensionwrapper_stub.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -18,10 +18,13 @@
 #include <QtDebug>
 #include <pevirtualengine.h>
 #include <hbaction.h>
+#include <xqphoneappcommands.h>
 
 bool m_setActions;
 bool m_setInvalidCommand;
 bool m_setInvalidButtonCommands;
+bool m_setInvalidToolBarCommands;
+bool m_setCustomToolBarCommands;
 QList<HbAction*> m_menuActions;
 
   
@@ -61,6 +64,33 @@
     }
 }
 
+void PhoneCommandExtensionWrapper::modifyToolBarCommandList(
+        const QList<XQTelUiCommandExtension::CallInfo> &callInfo,
+        QList<XQTelUiCommandExtension::ToolBarCommand> &toolBarCmdList)
+{
+    if (m_setInvalidToolBarCommands) {
+        XQTelUiCommandExtension::ToolBarCommand invalidCommand;
+        invalidCommand.mCommandId = -1;
+        invalidCommand.mIsEnabled = true;
+        toolBarCmdList.replace(0,invalidCommand);
+    } else if (m_setCustomToolBarCommands) {
+        toolBarCmdList.clear();
+        XQTelUiCommandExtension::ToolBarCommand command;
+        command.mCommandId = PhoneInCallCmdJoinToConference;
+        command.mIsEnabled = true;
+        toolBarCmdList.append(command);
+        command.mCommandId = PhoneInCallCmdUnhold;
+        command.mIsEnabled = true;
+        toolBarCmdList.append(command);
+        command.mCommandId = PhoneInCallCmdEndOutgoingCall;
+        command.mIsEnabled = true;
+        toolBarCmdList.append(command);
+        command.mCommandId = PhoneCallComingCmdSilent;
+        command.mIsEnabled = true;
+        toolBarCmdList.append(command);
+    }
+}
+
 void PhoneCommandExtensionWrapper::addMenuActions(
         const QList<XQTelUiCommandExtension::CallInfo> &callInfo,
         QList<HbAction*> &menuActions)
--- a/phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneuicommandcontroller/unit_tests.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneuicommandcontroller/unit_tests.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -20,16 +20,23 @@
 #include <QList>
 #include <hbapplication.h>
 #include <phoneappcommands.hrh>
+#include <xqphoneappcommands.h>
 #include "phoneuiqtviewif.h"
 #include "pevirtualengine.h"
 #include "bubblemanagerif.h"
 #include "phonebubblewrapper.h"
 #include "phoneuicommandcontroller.h"
+#include "phoneresourceids.h"
+#include "phoneresourceadapter.h"
+#include "phoneuiqtbuttonscontroller.h"
 
 extern bool m_setActions;
 extern bool m_setInvalidCommand;
 extern QList<HbAction*> m_menuActions;
 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[]) \
@@ -69,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() 
@@ -83,48 +90,50 @@
     return m_isDialpadVisible; }
     QString dialpadText() {return m_dialpadText;};
     void clearAndHideDialpad() { m_clearAndHideDialpadCalled = true;};
-    void bringToForeground() {;};
-    void setMenuActions(const QList<PhoneAction*>& actions) { m_setMenuActionsCalled = true;};
-    void shutdownPhoneApp() {;};
-    void setBackButtonVisible(bool visible) {;};
+    void clearDialpad() {};
+    void bringToForeground() {};
+    void setMenuActions(const QList<PhoneAction*>& ) { 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) {};
@@ -135,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();
@@ -161,6 +171,7 @@
     void testSetCallMenuActions();
     void testSetDialpadMenuActions();
     void testPushButtonActionsForCall();
+    void testToolBarActionsForCall();
 
 
 private:
@@ -370,6 +381,9 @@
     qDeleteAll(actions.values());
     actions.clear();
     
+    PhoneResourceAdapter::Instance()->buttonsController()->
+            setButtonFlags(PhoneUIQtButtonsController::Ihf, true);
+    
     callStates[callId] = EPEStateHeld;
     callState = EPEStateHeld;
     actions = m_commandController->pushButtonActionsForCall(
@@ -514,6 +528,9 @@
     //2 calls
     //////////////////////////////////////////////////////////////////////////
     
+    PhoneResourceAdapter::Instance()->buttonsController()->
+            setButtonFlags(PhoneUIQtButtonsController::BluetoothAvailable, true);
+    
     callStates[2] = EPEStateHeldConference;
     actions = m_commandController->pushButtonActionsForCall(
             callState,
@@ -628,6 +645,9 @@
     qDeleteAll(actions.values());
     actions.clear();
     
+    PhoneResourceAdapter::Instance()->buttonsController()->
+            setButtonFlags(PhoneUIQtButtonsController::Btaa, true);
+    
     callStates[callId] = EPEStateConnected;
     callStates[2] = EPEStateHeldConference;
     callState = EPEStateHeldConference;
@@ -675,6 +695,136 @@
     
 }
 
+void TestPhoneUiCommandController::testToolBarActionsForCall()
+{
+    m_phoneButtonFlags = 0;
+    int callState = EPEStateConnected;
+    QMap<int,int> callStates;
+    QMap<int,int> serviceIds;
+    int serviceId(2);
+    int callId(1);
+    callStates[callId] = EPEStateConnected;
+    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<PhoneAction *> actions = 
+        m_commandController->toolBarActions(
+            R_PHONEUI_DIALER_CBA,
+            callStates,
+            serviceIds,
+            serviceId,
+            callId);
+    
+    QVERIFY(4==actions.count());
+    QVERIFY(EPhoneInCallCmdActivateIhf == actions.at(0)->command());
+    QVERIFY(EPhoneInCallCmdHold == actions.at(1)->command());
+    QVERIFY(EPhoneInCallCmdContacts == actions.at(2)->command());
+    QVERIFY(EPhoneInCallCmdDialer == actions.at(3)->command());
+    
+    qDeleteAll(actions);
+    actions.clear();
+    
+    // Invalid resource id
+    actions = m_commandController->toolBarActions(
+            -1,
+            callStates,
+            serviceIds,
+            serviceId,
+            callId);
+    
+    QVERIFY(0==actions.count());
+    
+    qDeleteAll(actions);
+    actions.clear();
+    
+    // Service not found
+    actions = m_commandController->toolBarActions(
+            R_PHONEUI_DIALER_CBA,
+            callStates,
+            serviceIds,
+            -1,
+            -1);
+    
+    QVERIFY(4==actions.count());
+    
+    qDeleteAll(actions);
+    actions.clear();
+    
+    // Invalid toolbar command by extension
+    m_setInvalidToolBarCommands = true;
+    
+    actions = m_commandController->toolBarActions(
+            R_PHONEUI_DIALER_CBA,
+            callStates,
+            serviceIds,
+            serviceId,
+            callId);
+    
+    QVERIFY(3==actions.count());
+    
+    qDeleteAll(actions);
+    actions.clear();
+    
+    
+    // Command list modified by extension
+    m_setInvalidToolBarCommands = false;
+    m_setCustomToolBarCommands = true;
+
+    actions = m_commandController->toolBarActions(
+            R_PHONEUI_DIALER_CBA,
+            callStates,
+            serviceIds,
+            serviceId,
+            callId);
+    
+    QVERIFY(4==actions.count());
+    QVERIFY(EPhoneInCallCmdJoin == actions.at(0)->command());
+    QVERIFY(EPhoneInCallCmdUnhold == actions.at(1)->command());
+    QVERIFY(EPhoneInCallCmdEndThisOutgoingCall == actions.at(2)->command());
+    QVERIFY(EPhoneCallComingCmdSilent == actions.at(3)->command());
+    
+    qDeleteAll(actions);
+    actions.clear();
+    
+    m_setCustomToolBarCommands =false;
+    
+    // Multi call
+    callStates[2] = EPEStateHeld;
+    serviceIds[2] = 2;
+    
+    actions = m_commandController->toolBarActions(
+            R_PHONEUI_INCALL_DIALER_CBA,
+            callStates,
+            serviceIds,
+            serviceId,
+            callId);
+    
+    QVERIFY(4==actions.count());
+    
+    // No extension
+    serviceIds[1] = 1;
+    serviceIds[2] = 1;
+    serviceId = 1;
+    
+    actions = m_commandController->toolBarActions(
+            R_PHONEUI_INCALL_DIALER_CBA,
+            callStates,
+            serviceIds,
+            serviceId,
+            callId);
+    
+    QVERIFY(4==actions.count());
+}
 
 PHONE_QT_VIEW_ADAPTER_TEST_MAIN(TestPhoneUiCommandController)
 #include "unit_tests.moc"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneuiqtviewadapter/phoneapplauncher_stub.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -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 <devicelockaccessapi.h>
+
+#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<QVariant> &arguments)
+{
+    Q_UNUSED(service);
+    Q_UNUSED(interface);
+    Q_UNUSED(function);
+    Q_UNUSED(arguments);
+}
+
+// end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneuiqtviewadapter/phoneindicatorcontroller.h	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,32 @@
+/*
+ * phoneindicatorcontroller.h
+ *
+ *  Created on: May 4, 2010
+ *      Author: maposio
+ */
+
+#ifndef PHONEINDICATORCONTROLLER_H_
+#define PHONEINDICATORCONTROLLER_H_
+
+#include <QObject>
+
+extern bool m_setActiveCallCalled;
+extern bool m_clearActiveCallCalled;
+extern bool m_enableCallIndCalled;
+extern bool m_disableCallIndCalled;
+
+class PhoneIndicatorController : public QObject
+    {
+    Q_OBJECT
+public:
+    PhoneIndicatorController(QObject *parent);
+    virtual ~PhoneIndicatorController();
+    
+    void setActiveCallData();
+    void clearActiveCallData();
+    void enableActiveCallIndicator();
+    void disableActiveCallIndicator();
+    
+    };
+
+#endif /* PHONEINDICATORCONTROLLER_H_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneuiqtviewadapter/phoneindicatorcontroller_stub.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,48 @@
+/*
+ * phoneindicatorcontroller_stub.cpp
+ *
+ *  Created on: May 4, 2010
+ *      Author: maposio
+ */
+
+#include "phoneindicatorcontroller.h"
+
+bool m_setActiveCallCalled;
+bool m_clearActiveCallCalled;
+bool m_enableCallIndCalled;
+bool m_disableCallIndCalled;
+
+PhoneIndicatorController::PhoneIndicatorController(QObject *parent):
+QObject(parent)
+{
+    m_setActiveCallCalled = false;
+    m_clearActiveCallCalled = false;
+    m_enableCallIndCalled = false;
+    m_disableCallIndCalled = false;
+}
+
+PhoneIndicatorController::~PhoneIndicatorController()
+{
+// TODO Auto-generated destructor stub
+}
+
+
+void PhoneIndicatorController::setActiveCallData()
+{
+    m_setActiveCallCalled = true;
+}
+
+void PhoneIndicatorController::clearActiveCallData()
+{
+    m_clearActiveCallCalled = true;
+}
+
+void PhoneIndicatorController::enableActiveCallIndicator()
+{
+    m_enableCallIndCalled = true;
+}
+
+void PhoneIndicatorController::disableActiveCallIndicator()
+{
+    m_disableCallIndCalled = true;
+}
--- a/phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneuiqtviewadapter/phonenotecontroller_stub.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneuiqtviewadapter/phonenotecontroller_stub.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -85,6 +85,10 @@
 {
 }
 
+void PhoneNoteController::destroyNotification()
+{
+}
+
 void PhoneNoteController::removeMappings()
 {
 }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneuiqtviewadapter/phonevisibilityhandler_stub.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,118 @@
+/*
+* 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: Adjusts visibility of Phone app in device lock situations.
+*
+*/
+#include <xqcallinfo.h>
+#include <MediatorDomainUIDs.h>
+#include <callinformation.h>
+#include <eikenv.h>
+#include <xqserviceutil.h>
+#include <devicelockaccessapi.h>
+#include <qdebug.h>
+#include <telinformationpskeys.h>
+#include <coreapplicationuisdomainpskeys.h>
+#include <apgtask.h>
+#include "phonevisibilityhandler.h"
+#include "cphonepubsubproxy.h"
+#include "phoneconstants.h"
+#include "phoneuiqtviewif.h"
+
+bool m_bringToForegroundCalled;
+bool m_sendToBackgroundCalled;
+bool m_ordinalPositionCalled;
+
+/*!
+    PhoneVisibilityHandler::PhoneVisibilityHandler.
+ */
+PhoneVisibilityHandler::PhoneVisibilityHandler(PhoneUIQtViewIF &view, QObject *parent)
+    : 
+    QObject(parent),
+    m_view(view),
+    m_eikonEnv(0),
+    m_carModeEnabled(false),
+    m_hideDeviceDialogs(false)
+{
+
+}
+
+
+/*!
+    PhoneVisibilityHandler::~PhoneVisibilityHandler.
+ */
+PhoneVisibilityHandler::~PhoneVisibilityHandler()
+{
+
+}
+
+/*!
+    PhoneVisibilityHandler::bringToForeground.
+ */
+void PhoneVisibilityHandler::bringToForeground()
+{
+    m_bringToForegroundCalled = true;
+}
+
+/*!
+    PhoneVisibilityHandler::sendToBackground.
+ */
+void PhoneVisibilityHandler::sendToBackground(bool homeScreenForeground)
+{
+    m_sendToBackgroundCalled = true;
+}
+
+/*!
+    PhoneVisibilityHandler::hideDeviceDialogs.
+ */
+void PhoneVisibilityHandler::hideDeviceDialogs(bool hide)
+{
+    Q_UNUSED(hide)
+}
+
+/*!
+    PhoneVisibilityHandler::ordinalPosition.
+ */
+bool PhoneVisibilityHandler::phoneVisible()
+{
+    m_ordinalPositionCalled = true;
+    return false;
+}
+
+/*!
+    PhoneVisibilityHandler::HandlePropertyChangedL.
+ */
+void PhoneVisibilityHandler::HandlePropertyChangedL(const TUid& aCategory, 
+    const TUint aKey, const TInt aValue)
+{
+    Q_UNUSED(aCategory)
+    Q_UNUSED(aKey)
+    Q_UNUSED(aValue)
+}
+
+/*!
+    PhoneVisibilityHandler::adjustVisibility.
+ */
+void PhoneVisibilityHandler::adjustVisibility(AdjustAction action)
+{
+    Q_UNUSED(action)
+}
+
+/*!
+    PhoneVisibilityHandler::carModeChanged.
+ */
+void PhoneVisibilityHandler::carModeChanged()
+{
+
+}
+
--- a/phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneuiqtviewadapter/unit_tests.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneuiqtviewadapter/unit_tests.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -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"
@@ -41,6 +42,7 @@
 #include "phoneuiqtbuttonscontroller.h"
 #include "tphonecmdparamglobalnote.h"
 #include "tphonecmdparamstring.h"
+#include "phoneindicatorcontroller.h"
 
 extern int m_phoneButtonFlags;
 extern bool m_EPhoneViewMuteRingToneOnAnswer_called;
@@ -56,6 +58,8 @@
 extern bool m_removeQueryCalled;
 extern bool m_showNoteCalled;
 extern bool m_removeGlobalWaitNoteCalled;
+extern bool m_ordinalPositionCalled;
+extern bool m_sendToBackgroundCalled;
 
 
 #define PHONE_QT_VIEW_ADAPTER_TEST_MAIN(TestObject) \
@@ -102,86 +106,93 @@
     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() 
         {m_dialpadVisibilityCalled = true;
     return m_isDialpadVisible; }
     QString dialpadText() {return m_dialpadText;};
+    void clearDialpad() {};
     void clearAndHideDialpad() { m_clearAndHideDialpadCalled = true;};
-    void bringToForeground() {;};
-    void setMenuActions(const QList<PhoneAction*>& actions) { m_setMenuActionsCalled = true;};
-    void shutdownPhoneApp() {;};
-    void setBackButtonVisible(bool visible) {;};
+    void bringToForeground() {};
+    void setMenuActions(const QList<PhoneAction*>& ) { 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();
     void keyPressReleased(QKeyEvent *event);
+    void windowActivated();
+    void windowDeactivated();
 
 public slots:
     void initTestCase ();
@@ -234,6 +245,10 @@
     void testCipheringInfoChange();
     void testSetHidden();
     void testBeginEndUiUpdate();
+    void testIndicatorController();
+    void testOpenLogs();
+    void testSetFlags();
+    void testCaptureEndKey();
 
 private:
     PhoneUIQtViewAdapter *m_adapter; // class under test
@@ -261,7 +276,9 @@
     bool m_isDialpadVisible;
     QString m_dialpadText;
     HbMenu m_menu;
-
+    bool m_captured;
+    Qt::Key m_capturedKey;
+    QList<int> mParticipantListActions;
 };
 
 TestPhoneUIQtViewAdapter::TestPhoneUIQtViewAdapter () :
@@ -324,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 ()
@@ -406,6 +423,10 @@
     QVERIFY (m_setCipheringCalled == true);
     
     QVERIFY (m_endChangesCalled == true);
+    
+    QVERIFY (m_setActiveCallCalled == true);
+    
+    
 }
 
 void TestPhoneUIQtViewAdapter::testEPhoneViewCreateEmergencyCallHeader ()
@@ -434,7 +455,9 @@
     
     QVERIFY (m_setCipheringCalled == true);
     
-    QVERIFY (m_endChangesCalled == true);    
+    QVERIFY (m_endChangesCalled == true);
+    
+    QVERIFY (m_setActiveCallCalled == true);
 }
 
 void TestPhoneUIQtViewAdapter::testEPhoneViewUpdateBubble ()
@@ -707,13 +730,13 @@
     m_callStateMap.insert(0, EPEStateConnected);
     m_bubblesMap.insert(0, 0);
     m_adapter->ExecuteCommandL (EPhoneViewSetTouchPaneButtons, &boolParam);    
-    QVERIFY(m_actionMap.value(0)->contains(EPhoneInCallCmdHold));
+    QVERIFY(m_actionMap.value(0)->contains(EPhoneInCallCmdMute));
     QVERIFY(m_actionMap.value(0)->contains(EPhoneInCallCmdEndThisActiveCall));
     
     //Emergency
     boolParam.SetBoolean(true);
     m_adapter->ExecuteCommandL (EPhoneViewSetTouchPaneButtons, &boolParam);
-    QVERIFY(false == m_actionMap.value(0)->contains(EPhoneInCallCmdHold));
+    QVERIFY(false == m_actionMap.value(0)->contains(EPhoneInCallCmdMute));
     QVERIFY(m_actionMap.value(0)->contains(EPhoneInCallCmdEndThisActiveCall));
     
     //Held and active
@@ -721,9 +744,9 @@
     m_callStateMap.insert(1, EPEStateHeld);
     m_bubblesMap.insert(1, 1);    
     m_adapter->ExecuteCommandL (EPhoneViewSetTouchPaneButtons, &boolParam);
-    QVERIFY(m_actionMap.value(0)->contains(EPhoneInCallCmdCreateConference));
+    QVERIFY(m_actionMap.value(0)->contains(EPhoneInCallCmdMute));
     QVERIFY(m_actionMap.value(0)->contains(EPhoneInCallCmdEndThisActiveCall));
-    QVERIFY(m_actionMap.value(1)->contains(EPhoneInCallCmdCreateConference));
+    QVERIFY(m_actionMap.value(1)->contains(EPhoneInCallCmdMute));
     QVERIFY(m_actionMap.value(1)->contains(EPhoneInCallCmdEndThisActiveCall));
     clearBubbleCommands(0);
     clearBubbleCommands(1);
@@ -736,7 +759,7 @@
     m_callStateMap.insert(1, EPEStateRinging);
     m_bubblesMap.insert(1, 1);    
     m_adapter->ExecuteCommandL (EPhoneViewSetTouchPaneButtons, &boolParam);
-    QVERIFY(m_actionMap.value(0)->contains(EPhoneInCallCmdHold));
+    QVERIFY(m_actionMap.value(0)->contains(EPhoneInCallCmdMute));
     QVERIFY(m_actionMap.value(0)->contains(EPhoneInCallCmdEndThisActiveCall));
     QVERIFY(m_actionMap.value(1)->contains(EPhoneCallComingCmdReject));
     clearBubbleCommands(0);
@@ -750,7 +773,7 @@
     m_callStateMap.insert(1, EPEStateRinging);
     m_bubblesMap.insert(1, 1);    
     m_adapter->ExecuteCommandL (EPhoneViewSetTouchPaneButtons, &boolParam);
-    QVERIFY(m_actionMap.value(0)->contains(EPhoneInCallCmdUnhold));
+    QVERIFY(m_actionMap.value(0)->contains(EPhoneInCallCmdMute));
     QVERIFY(m_actionMap.value(0)->contains(EPhoneInCallCmdEndThisActiveCall));
     QVERIFY(m_actionMap.value(1)->contains(EPhoneCallComingCmdReject));
     clearBubbleCommands(0);
@@ -789,7 +812,8 @@
     m_callStateMap.insert(0, EPEStateDialing);
     m_bubblesMap.insert(0, 0);
     m_adapter->ExecuteCommandL (EPhoneViewSetTouchPaneButtons, &boolParam);
-    QVERIFY(1==m_actionMap.value(0)->size());
+    QVERIFY(2==m_actionMap.value(0)->size());
+    QVERIFY(m_actionMap.value(0)->contains(EPhoneInCallCmdMute));
     QVERIFY(m_actionMap.value(0)->contains(EPhoneInCallCmdEndThisOutgoingCall));
     clearBubbleCommands(0);
     
@@ -810,7 +834,8 @@
     m_callStateMap.insert(0, EPEStateConnecting);
     m_bubblesMap.insert(0, 0);
     m_adapter->ExecuteCommandL (EPhoneViewSetTouchPaneButtons, &boolParam);
-    QVERIFY(1==m_actionMap.value(0)->size());
+    QVERIFY(2==m_actionMap.value(0)->size());
+    QVERIFY(m_actionMap.value(0)->contains(EPhoneInCallCmdMute));
     QVERIFY(m_actionMap.value(0)->contains(EPhoneInCallCmdEndThisOutgoingCall));
     clearBubbleCommands(0);
 
@@ -821,16 +846,16 @@
     m_bubblesMap.insert(0, 0);
     m_adapter->ExecuteCommandL (EPhoneViewSetTouchPaneButtons, &boolParam);
     QVERIFY(2==m_actionMap.value(0)->size());
-    QVERIFY(m_actionMap.value(0)->contains(EPhoneInCallCmdHold));
+    QVERIFY(m_actionMap.value(0)->contains(EPhoneInCallCmdMute));
     QVERIFY(m_actionMap.value(0)->contains(EPhoneInCallCmdEndThisActiveCall));
 
     // Conference and held
     m_callStateMap.insert(1, EPEStateHeld);
     m_bubblesMap.insert(1, 1);    
     m_adapter->ExecuteCommandL (EPhoneViewSetTouchPaneButtons, &boolParam);
-    QVERIFY(m_actionMap.value(0)->contains(EPhoneInCallCmdSwap));
+    QVERIFY(m_actionMap.value(0)->contains(EPhoneInCallCmdMute));
     QVERIFY(m_actionMap.value(0)->contains(EPhoneInCallCmdEndThisActiveCall));
-    QVERIFY(m_actionMap.value(1)->contains(EPhoneInCallCmdJoin));
+    QVERIFY(m_actionMap.value(1)->contains(EPhoneInCallCmdMute));
     QVERIFY(m_actionMap.value(1)->contains(EPhoneInCallCmdEndThisActiveCall));
     clearBubbleCommands(0);
     clearBubbleCommands(1);
@@ -844,7 +869,7 @@
     m_adapter->ExecuteCommandL (EPhoneViewSetTouchPaneButtons, &boolParam);
     QVERIFY(2==m_actionMap.value(0)->size());
     QVERIFY(m_actionMap.value(0)->contains(EPhoneInCallCmdEndThisActiveCall));
-    QVERIFY(m_actionMap.value(0)->contains(EPhoneInCallCmdUnhold));
+    QVERIFY(m_actionMap.value(0)->contains(EPhoneInCallCmdMute));
     clearBubbleCommands(0);
     m_conferenceCallList.clear();
     
@@ -886,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;
@@ -894,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);
@@ -1269,5 +1298,70 @@
     QVERIFY (m_endChangesCalled == true);
 }
 
+void TestPhoneUIQtViewAdapter::testIndicatorController()
+{
+    connect( this, SIGNAL(windowActivated()), m_adapter, SLOT(handleWindowActivated()));
+    connect( this, SIGNAL(windowDeactivated()), m_adapter, SLOT(handleWindowDeactivated()));
+    emit windowActivated();
+    QVERIFY( m_disableCallIndCalled );
+    emit windowDeactivated();
+    QVERIFY( m_enableCallIndCalled );
+    
+}
+
+void TestPhoneUIQtViewAdapter::testOpenLogs()
+{
+    m_ordinalPositionCalled = false;
+    m_sendToBackgroundCalled = false;
+    TPhoneCmdParamString param;
+    m_adapter->ExecuteCommandL(EPhoneViewLaunchLogs, &param);
+    QVERIFY(m_ordinalPositionCalled);
+    QVERIFY(m_sendToBackgroundCalled);
+}
+
+void TestPhoneUIQtViewAdapter::testSetFlags()
+{
+    TPhoneCmdParamBoolean param;
+    param.SetBoolean( ETrue );
+    m_phoneButtonFlags = 0;
+    
+    m_adapter->ExecuteCommand(EPhoneViewSetBlueToothFlag,&param);
+    m_adapter->ExecuteCommand(EPhoneViewSetIhfFlag,&param);
+    m_adapter->ExecuteCommand(EPhoneViewSetMuteFlag,&param);
+    m_adapter->ExecuteCommand(EPhoneViewSetBluetoothAvailableFlag,&param);
+
+    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"
--- a/phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneuiqtviewadapter/ut_phoneuiqtviewadapter.pro	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneuiqtviewadapter/ut_phoneuiqtviewadapter.pro	Thu Jul 22 16:33:21 2010 +0100
@@ -69,8 +69,10 @@
 SOURCES += ../../src/phonecommandextensionwrapper.cpp
 HEADERS += ../../inc/phonemessagecontroller.h
 SOURCES += ../../src/phonemessagecontroller.cpp
-HEADERS += ../../inc/phoneindicatorcontroller.h
-SOURCES += ../../src/phoneindicatorcontroller.cpp
+HEADERS += ../../inc/phonevisibilityhandler.h
+SOURCES += phonevisibilityhandler_stub.cpp
+HEADERS += phoneindicatorcontroller.h
+SOURCES += phoneindicatorcontroller_stub.cpp
 SOURCES += phoneuiqtbuttonscontroller_stub.cpp
 HEADERS += phonebubblewrapper.h
 SOURCES += phonebubblewrapper_stub.cpp
@@ -78,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
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phonevisibilityhandler/cphonepubsubproxy_stub.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,78 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include "cphonepubsubproxy.h"
+       
+
+
+CPhonePubSubProxy* CPhonePubSubProxy::Instance()
+{
+    static CPhonePubSubProxy p;
+    return &p;
+}
+
+CPhonePubSubProxy::~CPhonePubSubProxy()
+{
+    
+}
+
+void CPhonePubSubProxy::CancelAllNotifications( 
+            MPhonePubSubObserver* aObserver )
+{
+    
+}
+        
+TInt CPhonePubSubProxy::Value( const TUid& aCategory, const TUint aKey )
+{
+    
+}
+
+void CPhonePubSubProxy::NotifyChangeL( 
+            const TUid& aCategory, 
+            const TUint aKey,
+            MPhonePubSubObserver* aObserver )
+{
+    
+}
+
+void CPhonePubSubProxy::ChangePropertyValue( 
+            const TUid& aCategory,
+            const TUint aKey,
+            const TInt aValue )
+{
+    
+}
+
+CPhonePubSubProxy::CPhonePubSubProxy()
+{
+    
+}
+
+void CPhonePubSubProxy::CancelAllObserverNotifies( 
+    MPhonePubSubObserver* aObserver )
+{
+    
+}
+
+void CPhonePubSubProxy::HandlePropertyChangedL( 
+    const TUid& aCategory, 
+    const TUint aKey, 
+    const TInt aValue )
+{
+    
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phonevisibilityhandler/unit_tests.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,432 @@
+/*!
+* 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:  Unit tests for PhoneUIQtViewAdapter.
+*
+*/
+
+#include <QtTest/QtTest>
+#include <QtGui>
+#include <QList>
+#include <QKeyEvent>
+#include <QSignalSpy>
+#include <HbApplication>
+#include <xqcallinfo.h>
+#include <callinformation.h>
+#include <MediatorDomainUIDs.h>
+#include <telinformationpskeys.h>
+#include <coreapplicationuisdomainpskeys.h>
+#include <ccallinfoiter.h>
+#include <keyguardaccessapi.h>
+#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[]) \
+    { \
+        HbApplication app(argc, argv); \
+        TestObject tc; \
+        QResource::registerResource("../hbcore.rcc"); \
+        int ret = QTest::qExec(&tc, argc, argv); \
+        /* Core dump if HbIconLoader instance is not destroyed before the application instance. */ \
+        /* HbIconLoader uses QCoreApplication::aboutToQuit() signal to destroy itself. */ \
+        /* app.exec() where the signal is normally emitted is not called here. */ \
+        /* So, invoking the signal explicitly. */ \
+        QMetaObject::invokeMethod(&app, "aboutToQuit", Qt::DirectConnection); \
+        return ret; \
+    }
+
+TInt CCallInfoIter::Count() const
+{
+    return m_callCount;
+}
+
+class TestPhoneVisibilityHandler : public QObject, public PhoneUIQtViewIF
+{
+    Q_OBJECT
+public:
+    TestPhoneVisibilityHandler();
+    virtual ~TestPhoneVisibilityHandler();
+
+    // From PhoneUIQtViewIF
+    BubbleManagerIF& bubbleManager () {};
+    void addBubbleCommand (int , const PhoneAction& ) {};
+    void clearBubbleCommands (int ) {};
+    void addParticipantListAction(
+            int ,  
+            const QString &, 
+            const HbIcon &) {};
+    void clearParticipantListActions() {};
+    void hideToolbar () {};
+    void showToolbar () {};
+    void setToolbarActions (const QList<PhoneAction*>& ) {};
+    int volumeSliderValue () {};
+    void removeVolumeSlider () {};
+    void setVolumeSliderValue (
+            int , 
+            int , 
+            int , 
+            int  ) {};
+
+    void setExpandAction(int , int ) {};
+    void removeExpandAction(int ) {};
+    void showDialpad() {};
+    void hideDialpad() {};
+    bool isDialpadVisible() {};
+    QString dialpadText() {};
+    void clearAndHideDialpad() {};
+    void clearDialpad() {};
+    void bringToForeground() { m_bringToForegroundCalled = true;};
+    void setMenuActions(const QList<PhoneAction*>& ) {};
+    void shutdownPhoneApp() {};
+    void setBackButtonVisible(bool ) {};
+    HbMenu &menuReference() {};
+    void captureKey(Qt::Key , bool ) {};
+    void setRestrictedMode(bool ) {};
+    
+public slots:
+    void initTestCase();
+
+    void cleanupTestCase();
+
+    void init();
+
+    void cleanup();
+    
+private slots:
+    void t_memleak();
+    
+    void t_normal();
+    
+    void t_carmode();
+    
+    void t_devicelock();
+    
+    void t_keyGuardHandling();
+
+    
+private:
+    PhoneVisibilityHandler *m_handler;
+    bool m_bringToForegroundCalled;
+    int m_startPosition;
+    int m_startPriority;
+    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 ()
+{
+}
+
+TestPhoneVisibilityHandler::~TestPhoneVisibilityHandler ()
+{
+}
+
+void TestPhoneVisibilityHandler::initTestCase ()
+{
+    m_normalPriority = CEikonEnv::Static()->RootWin().OrdinalPriority();
+    
+    m_handler = new PhoneVisibilityHandler (*this, this);
+    
+    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);
+}
+
+void TestPhoneVisibilityHandler::cleanupTestCase ()
+{
+    delete m_handler;
+}
+
+void TestPhoneVisibilityHandler::init ()
+{
+
+}
+
+void TestPhoneVisibilityHandler::cleanup ()
+{
+    g_keyGuardEnabled = false;
+    g_enableKeyGuardCalled = false;
+    g_disableKeyGuardCalled = false;
+    m_bringToForegroundCalled = false;
+}
+
+void TestPhoneVisibilityHandler::t_memleak()
+{
+}
+
+void TestPhoneVisibilityHandler::t_normal()
+{
+    // Test hide device dialogs when background ( false )
+    m_handler->hideDeviceDialogs(false);
+    QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPosition(), m_startPosition);
+    QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPriority(), m_startPriority);
+    
+    // Test hide device dialogs when background ( true )
+    m_handler->hideDeviceDialogs(true);
+    QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPosition(), m_startPosition);
+    QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPriority(), m_startPriority);
+    
+    // bringToForeground is call
+    m_handler->bringToForeground();
+    QVERIFY(m_bringToForegroundCalled);
+    QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPosition(), 0);
+    QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPriority(), ECoeWinPriorityAlwaysAtFront + 100);
+    
+    // Test hide device dialogs when foreground ( false )
+    m_handler->hideDeviceDialogs(false);
+    QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPosition(), 0);
+    QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPriority(), m_normalPriority);
+
+    // Test hide device dialogs when foreground ( true )
+    m_handler->hideDeviceDialogs(true);
+    QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPosition(), 0);
+    QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPriority(), ECoeWinPriorityAlwaysAtFront + 100);
+    
+    // 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_carmode()
+{
+    QValueSpaceSubscriber* subscriber = new QValueSpaceSubscriber("/phone/carmode", this);
+    QValueSpacePublisher* publisher = new QValueSpacePublisher("/phone",this);
+
+    QVERIFY(m_handler->m_carModeEnabled == false);
+    
+    // 1 ongoing call and car mode switched on
+    m_callCount = 1;
+    publisher->setValue(QString("/carmode"),QVariant(true));
+    QTest::qWait(100);
+    QVERIFY(m_handler->m_carModeEnabled == true);
+    QVERIFY(m_bringToForegroundCalled == false);
+
+    // 1 ongoing call and car mode switched off
+    publisher->setValue(QString("/carmode"),QVariant(false));
+    QTest::qWait(100);
+    QVERIFY(m_handler->m_carModeEnabled == false);
+    QVERIFY(m_bringToForegroundCalled == true);
+    
+    // 0 ongoing calls and car mode switched on
+    m_callCount = 0;
+    m_bringToForegroundCalled = false;
+    publisher->setValue(QString("/carmode"),QVariant(true));
+    QTest::qWait(100);
+    QVERIFY(m_handler->m_carModeEnabled == true);
+    QVERIFY(m_bringToForegroundCalled == false);
+
+    // 0 ongoing calls and car mode switched off
+    publisher->setValue(QString("/carmode"),QVariant(false));
+    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()
+{
+    m_handler->HandlePropertyChangedL(KPSUidCoreApplicationUIs, KCoreAppUIsAutolockStatus, ETimerLocked);
+    QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPosition(), m_startPosition);
+    QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPriority(), m_startPriority);
+    
+    // Test hide device dialogs when background ( false )
+    m_handler->hideDeviceDialogs(false);
+    QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPosition(), m_startPosition);
+    QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPriority(), m_startPriority);
+    
+    // Test hide device dialogs when background ( true )
+    m_handler->hideDeviceDialogs(true);
+    QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPosition(), m_startPosition);
+    QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPriority(), m_startPriority);
+    
+    // bringToForeground is call
+    m_handler->bringToForeground();
+    QVERIFY(m_bringToForegroundCalled);
+    QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPosition(), 0);
+    QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPriority(), ECoeWinPriorityAlwaysAtFront + 100);
+    
+    // Test hide device dialogs when foreground ( false )
+    m_handler->hideDeviceDialogs(false);
+    QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPosition(), 0);
+    QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPriority(), (int)ECoeWinPriorityAlwaysAtFront);
+
+    // Test hide device dialogs when foreground ( true )
+    m_handler->hideDeviceDialogs(true);
+    QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPosition(), 0);
+    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 + 100);
+
+    
+    // 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_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"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phonevisibilityhandler/ut_phonevisibilityhandler.pro	Thu Jul 22 16:33:21 2010 +0100
@@ -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: Project file for building unit test component
+#
+#
+
+TEMPLATE = app
+TARGET = 
+TARGET.UID3 = 0xEFF8FFF2
+DEPENDPATH += .
+INCLUDEPATH += .
+CONFIG += hb
+CONFIG += qtestlib
+CONFIG += mobility
+MOBILITY = publishsubscribe
+
+symbian {
+
+    INCLUDEPATH += \epoc32\include\platform\mw \
+                   \epoc32\include\platform \
+                   \epoc32\include\platform\app \
+	                 \epoc32\include\mw \
+                   \sf\app\phone\inc \
+                   ../../../phoneuiutils/inc/ \
+                   ../../../phonemediatorcenter/inc/ \
+                   ../../../phoneuiview2/inc \
+                   ../../../../inc \
+                   ../../../phoneringingtoneplayer/inc \
+                   ../../../phoneui2/srcdata
+
+    LIBS += -ltelephonyservice
+        
+    TARGET.CAPABILITY = ALL -TCB
+    DEFINES += FT_SYMBIAN_INTEGRATION
+}
+
+# Input
+HEADERS += ../../inc/phonevisibilityhandler.h
+SOURCES += ../../src/phonevisibilityhandler.cpp
+
+HEADERS += \sf\mw\phonesrv\phonesrv_plat\call_information_api\inc\ccallinfoiter.h
+SOURCES += cphonepubsubproxy_stub.cpp
+SOURCES += unit_tests.cpp
+
--- a/phoneapp/phoneuiqtviewadapter/tsrc/ut_telephonyservice/phoneuiqtviewadapter_stub.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_telephonyservice/phoneuiqtviewadapter_stub.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -167,8 +167,8 @@
 void PhoneUIQtViewAdapter::keyReleased(QKeyEvent */*event*/)
 {}
 
-void PhoneUIQtViewAdapter::HandlePropertyChangedL( 
-    const TUid& aCategory,
-    const TUint aKey,
-    const TInt aValue)
-{}
\ No newline at end of file
+void PhoneUIQtViewAdapter::handleWindowActivated()
+{}
+
+void PhoneUIQtViewAdapter::handleWindowDeactivated()
+{}
--- a/phoneapp/phoneuiqtviewadapter/tsrc/ut_telephonyservice/unit_tests.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_telephonyservice/unit_tests.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -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<PhoneAction*>& actions){};
-        int volumeSliderValue () {};
+        void setToolbarActions (const QList<PhoneAction*>& ){};
+        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<PhoneAction*>& actions){;};
-        void shutdownPhoneApp() {;};
-        void setBackButtonVisible(bool visible) {;};        
+        void clearDialpad() {};
+        void bringToForeground() {};
+        void setMenuActions(const QList<PhoneAction*>& ){};
+        void shutdownPhoneApp() {};
+        void setBackButtonVisible(bool ) {};        
         HbMenu &menuReference() { return mMenu; };
+        void captureKey(Qt::Key , bool ) {};
+        void setRestrictedMode(bool ) {};
         
 public slots:
     void initTestCase ();
--- a/phoneapp/phoneuistates/bwins/phoneuistatesu.def	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuistates/bwins/phoneuistatesu.def	Thu Jul 22 16:33:21 2010 +0100
@@ -1,37 +1,37 @@
 EXPORTS
-	??1CPhoneResourceResolverGSM@@UAE@XZ @ 1 NONAME ; CPhoneResourceResolverGSM::~CPhoneResourceResolverGSM(void)
-	?HandleKeyMessageL@CPhoneSingleCall@@UAEXW4TPhoneKeyEventMessages@MPhoneKeyEvents@@W4TKeyCode@@@Z @ 2 NONAME ; void CPhoneSingleCall::HandleKeyMessageL(enum MPhoneKeyEvents::TPhoneKeyEventMessages, enum TKeyCode)
-	?ConstructL@CPhoneTwoSingles@@MAEXXZ @ 3 NONAME ; void CPhoneTwoSingles::ConstructL(void)
-	??0CPhoneCallSetup@@IAE@PAVMPhoneStateMachine@@PAVMPhoneViewCommandHandle@@PAVMPhoneCustomization@@@Z @ 4 NONAME ; CPhoneCallSetup::CPhoneCallSetup(class MPhoneStateMachine *, class MPhoneViewCommandHandle *, class MPhoneCustomization *)
-	?NewPhoneUIStateMachineFactoryL@@YAPAVCPhoneUIStateMachineFactoryBase@@XZ @ 5 NONAME ; class CPhoneUIStateMachineFactoryBase * NewPhoneUIStateMachineFactoryL(void)
-	?SendGlobalErrorNoteL@CPhoneErrorMessagesHandler@@IAEXH@Z @ 6 NONAME ; void CPhoneErrorMessagesHandler::SendGlobalErrorNoteL(int)
-	?HandlePhoneEngineMessageL@CPhoneCallSetup@@UAEXHH@Z @ 7 NONAME ; void CPhoneCallSetup::HandlePhoneEngineMessageL(int, int)
-	?HandleKeyMessageL@CPhoneAlerting@@MAEXW4TPhoneKeyEventMessages@MPhoneKeyEvents@@W4TKeyCode@@@Z @ 8 NONAME ; void CPhoneAlerting::HandleKeyMessageL(enum MPhoneKeyEvents::TPhoneKeyEventMessages, enum TKeyCode)
-	?HandleCommandL@CPhoneAlerting@@MAEHH@Z @ 9 NONAME ; int CPhoneAlerting::HandleCommandL(int)
-	?HandleKeyMessageL@CPhoneTwoSingles@@UAEXW4TPhoneKeyEventMessages@MPhoneKeyEvents@@W4TKeyCode@@@Z @ 10 NONAME ; void CPhoneTwoSingles::HandleKeyMessageL(enum MPhoneKeyEvents::TPhoneKeyEventMessages, enum TKeyCode)
-	??1CPhoneSingleCall@@UAE@XZ @ 11 NONAME ; CPhoneSingleCall::~CPhoneSingleCall(void)
-	??1CPhoneAlerting@@UAE@XZ @ 12 NONAME ; CPhoneAlerting::~CPhoneAlerting(void)
-	??0CPhoneIncoming@@IAE@PAVMPhoneStateMachine@@PAVMPhoneViewCommandHandle@@PAVMPhoneCustomization@@@Z @ 13 NONAME ; CPhoneIncoming::CPhoneIncoming(class MPhoneStateMachine *, class MPhoneViewCommandHandle *, class MPhoneCustomization *)
-	?HandleConnectedL@CPhoneAlerting@@IAEXH@Z @ 14 NONAME ; void CPhoneAlerting::HandleConnectedL(int)
-	?ConstructL@CPhoneAlerting@@MAEXXZ @ 15 NONAME ; void CPhoneAlerting::ConstructL(void)
-	??0CPhoneSingleCall@@IAE@PAVMPhoneStateMachine@@PAVMPhoneViewCommandHandle@@PAVMPhoneCustomization@@@Z @ 16 NONAME ; CPhoneSingleCall::CPhoneSingleCall(class MPhoneStateMachine *, class MPhoneViewCommandHandle *, class MPhoneCustomization *)
-	??1CPhoneIncoming@@UAE@XZ @ 17 NONAME ; CPhoneIncoming::~CPhoneIncoming(void)
-	?HandleCommandL@CPhoneSingleCall@@UAEHH@Z @ 18 NONAME ; int CPhoneSingleCall::HandleCommandL(int)
-	?ConstructL@CPhoneIncoming@@MAEXXZ @ 19 NONAME ; void CPhoneIncoming::ConstructL(void)
-	?HandlePhoneEngineMessageL@CPhoneSingleCall@@UAEXHH@Z @ 20 NONAME ; void CPhoneSingleCall::HandlePhoneEngineMessageL(int, int)
-	??1CPhoneErrorMessagesHandler@@UAE@XZ @ 21 NONAME ; CPhoneErrorMessagesHandler::~CPhoneErrorMessagesHandler(void)
-	?ConstructL@CPhoneCallSetup@@MAEXXZ @ 22 NONAME ; void CPhoneCallSetup::ConstructL(void)
-	??0CPhoneErrorMessagesHandler@@IAE@PAVMPhoneViewCommandHandle@@PAVMPhoneStateMachine@@@Z @ 23 NONAME ; CPhoneErrorMessagesHandler::CPhoneErrorMessagesHandler(class MPhoneViewCommandHandle *, class MPhoneStateMachine *)
-	?HandleErrorL@CPhoneTwoSinglesAndWaiting@@UAEXABUTPEErrorInfo@@@Z @ 24 NONAME ; void CPhoneTwoSinglesAndWaiting::HandleErrorL(struct TPEErrorInfo const &)
-	??1CPhoneTwoSingles@@UAE@XZ @ 25 NONAME ; CPhoneTwoSingles::~CPhoneTwoSingles(void)
-	?HandleDisconnectingL@CPhoneAlerting@@IAEXH@Z @ 26 NONAME ; void CPhoneAlerting::HandleDisconnectingL(int)
-	?HandleCommandL@CPhoneGsmInCall@@MAEHH@Z @ 27 NONAME ; int CPhoneGsmInCall::HandleCommandL(int)
-	?CreatePhoneEngineL@CPhoneStateMachineGSM@@UAEPAVMPEPhoneModel@@AAVMEngineMonitor@@@Z @ 28 NONAME ; class MPEPhoneModel * CPhoneStateMachineGSM::CreatePhoneEngineL(class MEngineMonitor &)
-	?ResolveResourceID@CPhoneResourceResolverGSM@@UBEHABH@Z @ 29 NONAME ; int CPhoneResourceResolverGSM::ResolveResourceID(int const &) const
-	?HandleErrorL@CPhoneIncoming@@UAEXABUTPEErrorInfo@@@Z @ 30 NONAME ; void CPhoneIncoming::HandleErrorL(struct TPEErrorInfo const &)
-	??0CPhoneIdle@@IAE@PAVMPhoneStateMachine@@PAVMPhoneViewCommandHandle@@PAVMPhoneCustomization@@@Z @ 31 NONAME ; CPhoneIdle::CPhoneIdle(class MPhoneStateMachine *, class MPhoneViewCommandHandle *, class MPhoneCustomization *)
-	?ShowErrorSpecificNoteL@CPhoneErrorMessagesHandler@@UAEXABUTPEErrorInfo@@@Z @ 32 NONAME ; void CPhoneErrorMessagesHandler::ShowErrorSpecificNoteL(struct TPEErrorInfo const &)
-	??1CPhoneStateMachineGSM@@UAE@XZ @ 33 NONAME ; CPhoneStateMachineGSM::~CPhoneStateMachineGSM(void)
+	?NewPhoneUIStateMachineFactoryL@@YAPAVCPhoneUIStateMachineFactoryBase@@XZ @ 1 NONAME ; class CPhoneUIStateMachineFactoryBase * NewPhoneUIStateMachineFactoryL(void)
+	??1CPhoneResourceResolverGSM@@UAE@XZ @ 2 NONAME ; CPhoneResourceResolverGSM::~CPhoneResourceResolverGSM(void)
+	?HandleKeyMessageL@CPhoneSingleCall@@UAEXW4TPhoneKeyEventMessages@MPhoneKeyEvents@@W4TKeyCode@@@Z @ 3 NONAME ; void CPhoneSingleCall::HandleKeyMessageL(enum MPhoneKeyEvents::TPhoneKeyEventMessages, enum TKeyCode)
+	?ConstructL@CPhoneTwoSingles@@MAEXXZ @ 4 NONAME ; void CPhoneTwoSingles::ConstructL(void)
+	??0CPhoneCallSetup@@IAE@PAVMPhoneStateMachine@@PAVMPhoneViewCommandHandle@@PAVMPhoneCustomization@@@Z @ 5 NONAME ; CPhoneCallSetup::CPhoneCallSetup(class MPhoneStateMachine *, class MPhoneViewCommandHandle *, class MPhoneCustomization *)
+	?HandlePhoneEngineMessageL@CPhoneCallSetup@@UAEXHH@Z @ 6 NONAME ; void CPhoneCallSetup::HandlePhoneEngineMessageL(int, int)
+	?HandleKeyMessageL@CPhoneAlerting@@MAEXW4TPhoneKeyEventMessages@MPhoneKeyEvents@@W4TKeyCode@@@Z @ 7 NONAME ; void CPhoneAlerting::HandleKeyMessageL(enum MPhoneKeyEvents::TPhoneKeyEventMessages, enum TKeyCode)
+	?HandleCommandL@CPhoneAlerting@@MAEHH@Z @ 8 NONAME ; int CPhoneAlerting::HandleCommandL(int)
+	?HandleKeyMessageL@CPhoneTwoSingles@@UAEXW4TPhoneKeyEventMessages@MPhoneKeyEvents@@W4TKeyCode@@@Z @ 9 NONAME ; void CPhoneTwoSingles::HandleKeyMessageL(enum MPhoneKeyEvents::TPhoneKeyEventMessages, enum TKeyCode)
+	??1CPhoneSingleCall@@UAE@XZ @ 10 NONAME ; CPhoneSingleCall::~CPhoneSingleCall(void)
+	??1CPhoneAlerting@@UAE@XZ @ 11 NONAME ; CPhoneAlerting::~CPhoneAlerting(void)
+	??0CPhoneIncoming@@IAE@PAVMPhoneStateMachine@@PAVMPhoneViewCommandHandle@@PAVMPhoneCustomization@@@Z @ 12 NONAME ; CPhoneIncoming::CPhoneIncoming(class MPhoneStateMachine *, class MPhoneViewCommandHandle *, class MPhoneCustomization *)
+	?HandleConnectedL@CPhoneAlerting@@IAEXH@Z @ 13 NONAME ; void CPhoneAlerting::HandleConnectedL(int)
+	?ConstructL@CPhoneAlerting@@MAEXXZ @ 14 NONAME ; void CPhoneAlerting::ConstructL(void)
+	??0CPhoneSingleCall@@IAE@PAVMPhoneStateMachine@@PAVMPhoneViewCommandHandle@@PAVMPhoneCustomization@@@Z @ 15 NONAME ; CPhoneSingleCall::CPhoneSingleCall(class MPhoneStateMachine *, class MPhoneViewCommandHandle *, class MPhoneCustomization *)
+	??1CPhoneIncoming@@UAE@XZ @ 16 NONAME ; CPhoneIncoming::~CPhoneIncoming(void)
+	?HandleCommandL@CPhoneSingleCall@@UAEHH@Z @ 17 NONAME ; int CPhoneSingleCall::HandleCommandL(int)
+	?ConstructL@CPhoneIncoming@@MAEXXZ @ 18 NONAME ; void CPhoneIncoming::ConstructL(void)
+	?HandlePhoneEngineMessageL@CPhoneSingleCall@@UAEXHH@Z @ 19 NONAME ; void CPhoneSingleCall::HandlePhoneEngineMessageL(int, int)
+	??1CPhoneErrorMessagesHandler@@UAE@XZ @ 20 NONAME ; CPhoneErrorMessagesHandler::~CPhoneErrorMessagesHandler(void)
+	?ConstructL@CPhoneCallSetup@@MAEXXZ @ 21 NONAME ; void CPhoneCallSetup::ConstructL(void)
+	??0CPhoneErrorMessagesHandler@@IAE@PAVMPhoneViewCommandHandle@@PAVMPhoneStateMachine@@@Z @ 22 NONAME ; CPhoneErrorMessagesHandler::CPhoneErrorMessagesHandler(class MPhoneViewCommandHandle *, class MPhoneStateMachine *)
+	?HandleErrorL@CPhoneTwoSinglesAndWaiting@@UAEXABUTPEErrorInfo@@@Z @ 23 NONAME ; void CPhoneTwoSinglesAndWaiting::HandleErrorL(struct TPEErrorInfo const &)
+	??1CPhoneTwoSingles@@UAE@XZ @ 24 NONAME ; CPhoneTwoSingles::~CPhoneTwoSingles(void)
+	?HandleDisconnectingL@CPhoneAlerting@@IAEXH@Z @ 25 NONAME ; void CPhoneAlerting::HandleDisconnectingL(int)
+	?HandleCommandL@CPhoneGsmInCall@@MAEHH@Z @ 26 NONAME ; int CPhoneGsmInCall::HandleCommandL(int)
+	?CreatePhoneEngineL@CPhoneStateMachineGSM@@UAEPAVMPEPhoneModel@@AAVMEngineMonitor@@@Z @ 27 NONAME ; class MPEPhoneModel * CPhoneStateMachineGSM::CreatePhoneEngineL(class MEngineMonitor &)
+	?ResolveResourceID@CPhoneResourceResolverGSM@@UBEHABH@Z @ 28 NONAME ; int CPhoneResourceResolverGSM::ResolveResourceID(int const &) const
+	?HandleErrorL@CPhoneIncoming@@UAEXABUTPEErrorInfo@@@Z @ 29 NONAME ; void CPhoneIncoming::HandleErrorL(struct TPEErrorInfo const &)
+	??0CPhoneIdle@@IAE@PAVMPhoneStateMachine@@PAVMPhoneViewCommandHandle@@PAVMPhoneCustomization@@@Z @ 30 NONAME ; CPhoneIdle::CPhoneIdle(class MPhoneStateMachine *, class MPhoneViewCommandHandle *, class MPhoneCustomization *)
+	?ShowErrorSpecificNoteL@CPhoneErrorMessagesHandler@@UAEXABUTPEErrorInfo@@@Z @ 31 NONAME ; void CPhoneErrorMessagesHandler::ShowErrorSpecificNoteL(struct TPEErrorInfo const &)
+	??1CPhoneStateMachineGSM@@UAE@XZ @ 32 NONAME ; CPhoneStateMachineGSM::~CPhoneStateMachineGSM(void)
+	?SendGlobalInfoNoteL@CPhoneErrorMessagesHandler@@IAEXHH@Z @ 33 NONAME ; void CPhoneErrorMessagesHandler::SendGlobalInfoNoteL(int, int)
 	?OpenMenuBarL@CPhoneSingleCall@@MAEXXZ @ 34 NONAME ; void CPhoneSingleCall::OpenMenuBarL(void)
 	??0CPhoneStateMachineGSM@@IAE@PAVMPhoneViewCommandHandle@@@Z @ 35 NONAME ; CPhoneStateMachineGSM::CPhoneStateMachineGSM(class MPhoneViewCommandHandle *)
 	?SetDivertIndication@CPhoneGsmInCall@@MAEXH@Z @ 36 NONAME ; void CPhoneGsmInCall::SetDivertIndication(int)
@@ -41,21 +41,21 @@
 	?ConstructL@CPhoneSingleCall@@MAEXXZ @ 40 NONAME ; void CPhoneSingleCall::ConstructL(void)
 	?HandlePhoneEngineMessageL@CPhoneIncoming@@UAEXHH@Z @ 41 NONAME ; void CPhoneIncoming::HandlePhoneEngineMessageL(int, int)
 	?State@CPhoneStateMachineGSM@@UAEPAVMPhoneState@@XZ @ 42 NONAME ; class MPhoneState * CPhoneStateMachineGSM::State(void)
-	?HandleErrorL@CPhoneIdle@@MAEXABUTPEErrorInfo@@@Z @ 43 NONAME ; void CPhoneIdle::HandleErrorL(struct TPEErrorInfo const &)
-	?HandleConnectingL@CPhoneCallSetup@@MAEXH@Z @ 44 NONAME ; void CPhoneCallSetup::HandleConnectingL(int)
-	?UpdateInCallCbaL@CPhoneTwoSingles@@MAEXXZ @ 45 NONAME ; void CPhoneTwoSingles::UpdateInCallCbaL(void)
-	?HandleErrorL@CPhoneSingleAndWaiting@@MAEXABUTPEErrorInfo@@@Z @ 46 NONAME ; void CPhoneSingleAndWaiting::HandleErrorL(struct TPEErrorInfo const &)
-	??0CPhoneResourceResolverGSM@@IAE@XZ @ 47 NONAME ; CPhoneResourceResolverGSM::CPhoneResourceResolverGSM(void)
-	?ConstructL@CPhoneResourceResolverGSM@@IAEXXZ @ 48 NONAME ; void CPhoneResourceResolverGSM::ConstructL(void)
-	?HandlePhoneForegroundEventL@CPhoneGsmInCall@@MAEXXZ @ 49 NONAME ; void CPhoneGsmInCall::HandlePhoneForegroundEventL(void)
-	?HandlePhoneEngineMessageL@CPhoneIdle@@UAEXHH@Z @ 50 NONAME ; void CPhoneIdle::HandlePhoneEngineMessageL(int, int)
-	??1CPhoneIdle@@UAE@XZ @ 51 NONAME ; CPhoneIdle::~CPhoneIdle(void)
-	??1CPhoneCallSetup@@UAE@XZ @ 52 NONAME ; CPhoneCallSetup::~CPhoneCallSetup(void)
-	?ConstructL@CPhoneIdle@@MAEXXZ @ 53 NONAME ; void CPhoneIdle::ConstructL(void)
-	??0CPhoneAlerting@@IAE@PAVMPhoneStateMachine@@PAVMPhoneViewCommandHandle@@PAVMPhoneCustomization@@@Z @ 54 NONAME ; CPhoneAlerting::CPhoneAlerting(class MPhoneStateMachine *, class MPhoneViewCommandHandle *, class MPhoneCustomization *)
-	?OpenMenuBarL@CPhoneAlerting@@MAEXXZ @ 55 NONAME ; void CPhoneAlerting::OpenMenuBarL(void)
-	?SendGlobalWarningNoteL@CPhoneErrorMessagesHandler@@IAEXH@Z @ 56 NONAME ; void CPhoneErrorMessagesHandler::SendGlobalWarningNoteL(int)
-	?SendGlobalInfoNoteL@CPhoneErrorMessagesHandler@@IAEXH@Z @ 57 NONAME ; void CPhoneErrorMessagesHandler::SendGlobalInfoNoteL(int)
+	?SendGlobalErrorNoteL@CPhoneErrorMessagesHandler@@IAEXHH@Z @ 43 NONAME ; void CPhoneErrorMessagesHandler::SendGlobalErrorNoteL(int, int)
+	?HandleErrorL@CPhoneIdle@@MAEXABUTPEErrorInfo@@@Z @ 44 NONAME ; void CPhoneIdle::HandleErrorL(struct TPEErrorInfo const &)
+	?HandleConnectingL@CPhoneCallSetup@@MAEXH@Z @ 45 NONAME ; void CPhoneCallSetup::HandleConnectingL(int)
+	?UpdateInCallCbaL@CPhoneTwoSingles@@MAEXXZ @ 46 NONAME ; void CPhoneTwoSingles::UpdateInCallCbaL(void)
+	?SendGlobalWarningNoteL@CPhoneErrorMessagesHandler@@IAEXHH@Z @ 47 NONAME ; void CPhoneErrorMessagesHandler::SendGlobalWarningNoteL(int, int)
+	?HandleErrorL@CPhoneSingleAndWaiting@@MAEXABUTPEErrorInfo@@@Z @ 48 NONAME ; void CPhoneSingleAndWaiting::HandleErrorL(struct TPEErrorInfo const &)
+	??0CPhoneResourceResolverGSM@@IAE@XZ @ 49 NONAME ; CPhoneResourceResolverGSM::CPhoneResourceResolverGSM(void)
+	?ConstructL@CPhoneResourceResolverGSM@@IAEXXZ @ 50 NONAME ; void CPhoneResourceResolverGSM::ConstructL(void)
+	?HandlePhoneForegroundEventL@CPhoneGsmInCall@@MAEXXZ @ 51 NONAME ; void CPhoneGsmInCall::HandlePhoneForegroundEventL(void)
+	?HandlePhoneEngineMessageL@CPhoneIdle@@UAEXHH@Z @ 52 NONAME ; void CPhoneIdle::HandlePhoneEngineMessageL(int, int)
+	??1CPhoneIdle@@UAE@XZ @ 53 NONAME ; CPhoneIdle::~CPhoneIdle(void)
+	??1CPhoneCallSetup@@UAE@XZ @ 54 NONAME ; CPhoneCallSetup::~CPhoneCallSetup(void)
+	?ConstructL@CPhoneIdle@@MAEXXZ @ 55 NONAME ; void CPhoneIdle::ConstructL(void)
+	??0CPhoneAlerting@@IAE@PAVMPhoneStateMachine@@PAVMPhoneViewCommandHandle@@PAVMPhoneCustomization@@@Z @ 56 NONAME ; CPhoneAlerting::CPhoneAlerting(class MPhoneStateMachine *, class MPhoneViewCommandHandle *, class MPhoneCustomization *)
+	?OpenMenuBarL@CPhoneAlerting@@MAEXXZ @ 57 NONAME ; void CPhoneAlerting::OpenMenuBarL(void)
 	?HandleNumberEntryClearedL@CPhoneTwoSingles@@MAEXXZ @ 58 NONAME ; void CPhoneTwoSingles::HandleNumberEntryClearedL(void)
 	?CheckIfShowCallTerminationNote@CPhoneAlerting@@MAEHXZ @ 59 NONAME ; int CPhoneAlerting::CheckIfShowCallTerminationNote(void)
 	?OpenMenuBarL@CPhoneTwoSingles@@MAEXXZ @ 60 NONAME ; void CPhoneTwoSingles::OpenMenuBarL(void)
--- a/phoneapp/phoneuistates/eabi/phoneuistatesu.def	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuistates/eabi/phoneuistatesu.def	Thu Jul 22 16:33:21 2010 +0100
@@ -77,9 +77,9 @@
 	_ZN25CPhoneResourceResolverGSMD0Ev @ 76 NONAME
 	_ZN25CPhoneResourceResolverGSMD1Ev @ 77 NONAME
 	_ZN25CPhoneResourceResolverGSMD2Ev @ 78 NONAME
-	_ZN26CPhoneErrorMessagesHandler19SendGlobalInfoNoteLEi @ 79 NONAME
-	_ZN26CPhoneErrorMessagesHandler20SendGlobalErrorNoteLEi @ 80 NONAME
-	_ZN26CPhoneErrorMessagesHandler22SendGlobalWarningNoteLEi @ 81 NONAME
+	_ZN26CPhoneErrorMessagesHandler19SendGlobalInfoNoteLEii @ 79 NONAME
+	_ZN26CPhoneErrorMessagesHandler20SendGlobalErrorNoteLEii @ 80 NONAME
+	_ZN26CPhoneErrorMessagesHandler22SendGlobalWarningNoteLEii @ 81 NONAME
 	_ZN26CPhoneErrorMessagesHandler22ShowErrorSpecificNoteLERK12TPEErrorInfo @ 82 NONAME
 	_ZN26CPhoneErrorMessagesHandlerC1EP23MPhoneViewCommandHandleP18MPhoneStateMachine @ 83 NONAME
 	_ZN26CPhoneErrorMessagesHandlerC2EP23MPhoneViewCommandHandleP18MPhoneStateMachine @ 84 NONAME
--- a/phoneapp/phoneuistates/inc/cphoneerrormessageshandler.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuistates/inc/cphoneerrormessageshandler.h	Thu Jul 22 16:33:21 2010 +0100
@@ -84,19 +84,23 @@
         * Show global InfoNote
         * @param aResourceId resource id to be resolved
         */
-        IMPORT_C void SendGlobalInfoNoteL( TInt aResourceId );
+        IMPORT_C void SendGlobalInfoNoteL( TInt aResourceId, 
+                                           TBool aNotificationDialog = EFalse );
  
         /**
         * Show global ErrorNote
         * @param aResourceId resource id to be resolved
         */
-        IMPORT_C void SendGlobalErrorNoteL( TInt aResourceId );
+        IMPORT_C void SendGlobalErrorNoteL( TInt aResourceId,
+                                            TBool aNotificationDialog = EFalse );
 
         /**
         * Show global WarningNote
         * @param aResourceId resource id to be resolved
         */        
-        IMPORT_C void SendGlobalWarningNoteL( TInt aResourceId );
+        IMPORT_C void SendGlobalWarningNoteL( 
+                TInt aResourceId,
+                TBool aNotificationDialog = EFalse );
         
 
     private:        
@@ -109,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:
         
         /**
@@ -118,6 +133,10 @@
         MPhoneViewCommandHandle* iViewCommandHandle;
         
         MPhoneStateMachine* iStateMachine;
+        
+        TBool iCauseCodeVariation;
+        
+        TInt iCallId;
               
     };
 
--- a/phoneapp/phoneuistates/inc/cphonegeneralgsmmessageshandler.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuistates/inc/cphonegeneralgsmmessageshandler.h	Thu Jul 22 16:33:21 2010 +0100
@@ -90,8 +90,10 @@
         /**
         * Show global InfoNote
         * @param aResourceId resource id to be resolved
+        * @param aNotificationDialog ETrue if notification dialog should be used
         */
-        void SendGlobalInfoNoteL( TInt aResourceId );
+        void SendGlobalInfoNoteL( TInt aResourceId, 
+                TBool aNotificationDialog = EFalse );
         
         /**
         * Shows divert indication or sets internal divert flag
@@ -101,15 +103,12 @@
         void HandleIncomingCallForwardedL();
 
         /**
-        * Shows software version note
-        */
-        void HandleShowVersionL();
-        
-        /**
         * Show global ErrorNote
         * @param aResourceId resource id to be resolved
+        * @param aNotificationDialog ETrue if notification dialog should be used
         */
-        void SendGlobalErrorNoteL( TInt aResourceId );
+        void SendGlobalErrorNoteL( TInt aResourceId,
+                TBool aNotificationDialog = EFalse );
 
 
     private:
--- a/phoneapp/phoneuistates/src/cphonealerting.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuistates/src/cphonealerting.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -116,7 +116,7 @@
                 {
                 // Show not allowed note
                 SendGlobalErrorNoteL( 
-                    EPhoneNoteTextNotAllowed );
+                    EPhoneNoteTextNotAllowed, ETrue );
                 }
             break;
 
@@ -256,8 +256,6 @@
         
     EndUiUpdate();
     
-    HandleColpNoteL( aCallId );
-    
     // Go to single state
     UpdateCbaL( EPhoneCallHandlingInCallCBA );    
     iStateMachine->ChangeState( EPhoneStateSingle );
--- a/phoneapp/phoneuistates/src/cphonecallsetup.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuistates/src/cphonecallsetup.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -105,7 +105,6 @@
         // fall through.    
         case MEngineMonitor::EPEMessageIssuingSSRequest:
         case MEngineMonitor::EPEMessageCallBarred:
-        case MEngineMonitor::EPEMessageShowVersion:
         case MEngineMonitor::EPEMessageIssuedSSRequest:
         case MEngineMonitor::EPEMessageTempClirActivationUnsuccessful:
         case MEngineMonitor::EPEMessageIncCallIsForw:
--- a/phoneapp/phoneuistates/src/cphoneconference.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuistates/src/cphoneconference.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -147,6 +147,12 @@
             {
             TPhoneCmdParamCallHeaderData callHeaderParam;
             callHeaderParam.SetCallState( EPEStateHeld );
+            TBuf<KPhoneCallHeaderLabelMaxLength> 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 );
--- a/phoneapp/phoneuistates/src/cphoneconferenceandcallsetup.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuistates/src/cphoneconferenceandcallsetup.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -311,8 +311,7 @@
     SetTouchPaneButtons( EPhoneConferenceAndSingleButtons );
     SetTouchPaneButtonDisabled( EPhoneInCallCmdPrivate );
     EndUiUpdate(); 
-
-    HandleColpNoteL( aCallId );
+    
     UpdateCbaL ( EPhoneCallHandlingNewCallSwapCBA );
    
     iStateMachine->ChangeState( EPhoneStateConferenceAndSingle );                     
--- a/phoneapp/phoneuistates/src/cphoneconferenceandsingle.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuistates/src/cphoneconferenceandsingle.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -128,7 +128,7 @@
             break;
             
         case MEngineMonitor::EPEMessageInValidEmergencyNumber:              
-            SendGlobalErrorNoteL( EPhoneNoteTextNotAllowed );                       
+            SendGlobalErrorNoteL( EPhoneNoteTextNotAllowed, ETrue );                       
             break;
             
         case MEngineMonitor::EPEMessageValidEmergencyNumber:
@@ -327,7 +327,7 @@
         EPhoneViewUpdateBubble, KConferenceCallId, &callHeaderParam );
     
     SetTouchPaneButtons( EPhoneConferenceAndHeldSingleButtons );
-    
+    UpdateInCallCbaL();
     EndUiUpdate();          
     }
 
@@ -374,15 +374,13 @@
     {
     __LOGMETHODSTARTEND( EPhoneUIStates, "CPhoneConferenceAndSingle::HandleConnectedL");
     
-    UpdateInCallCbaL();
-    
-    
     // Display connected bubble
     TPhoneCmdParamCallHeaderData callHeaderParam;
     callHeaderParam.SetCallState( EPEStateConnected );
     iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateBubble, aCallId, 
         &callHeaderParam );
 
+    UpdateInCallCbaL();
     SetTouchPaneButtons( EPhoneConferenceButtons );
     }
 
--- a/phoneapp/phoneuistates/src/cphoneconferenceandsingleandwaiting.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuistates/src/cphoneconferenceandsingleandwaiting.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -409,7 +409,7 @@
                 {
                 // Not allowed to answer
                 SendGlobalWarningNoteL(
-                    EPhoneNoteTextCallNotAllowed );
+                    EPhoneNoteTextCallNotAllowed, ETrue );
                 }
             break;
 
--- a/phoneapp/phoneuistates/src/cphoneconferenceandwaitingandcallsetup.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuistates/src/cphoneconferenceandwaitingandcallsetup.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -185,7 +185,7 @@
                 // We can't answer to call in this state so display
                 // Not allowed -note.
                 SendGlobalErrorNoteL( 
-                    EPhoneNoteTextNotAllowed );                                             
+                    EPhoneNoteTextNotAllowed, ETrue );                                             
                  }
             break;
             
@@ -321,8 +321,6 @@
         {
         iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveNumberEntry );
         }
-        
-    HandleColpNoteL( aCallId );
     
     SetTouchPaneButtons( EPhoneWaitingCallButtons );    
     SetTouchPaneButtonDisabled( EPhoneCallComingCmdAnswer );
--- a/phoneapp/phoneuistates/src/cphoneemergency.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuistates/src/cphoneemergency.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -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"
@@ -182,6 +183,10 @@
                     }
                  }
             break;
+            
+        case MEngineMonitor::EPEMessageColpNumberAvailable:
+            //Don't show COLP note during emergency call.
+            break; 
 
         default:
             CPhoneGsmInCall::HandlePhoneEngineMessageL(
@@ -217,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();
 
@@ -345,6 +355,10 @@
             EPhoneViewSetGlobalNotifiersDisabled,
             &globalNotifierParam );
 
+        TPhoneCmdParamKeyCapture captureParam;
+        captureParam.SetKeyCode( EKeyNo );
+        iViewCommandHandle->ExecuteCommand( EPhoneViewStartCapturingKey, &captureParam );
+        
         // Capture keys when the phone is dialling
         CaptureKeysDuringCallNotificationL( ETrue );
 
@@ -581,7 +595,7 @@
                 if ( neLength )
                     {
                     // Show not allowed note
-                    SendGlobalErrorNoteL( EPhoneNoteTextNotAllowed );
+                    SendGlobalErrorNoteL( EPhoneNoteTextNotAllowed, ETrue );
                     }
                 else
                     {
@@ -592,7 +606,7 @@
             else
                 {
                 // Show not allowed note
-                SendGlobalErrorNoteL( EPhoneNoteTextNotAllowed );
+                SendGlobalErrorNoteL( EPhoneNoteTextNotAllowed, ETrue );
                 }
             break;
 
@@ -709,7 +723,7 @@
         case ECCPErrorCCNoChannelAvailable:
         case ECCPErrorNetworkBusy:
         case ECCPEmergencyFailed:
-            SendGlobalErrorNoteL( EPhoneNoteNoNetworkCallEmergency );
+            SendGlobalErrorNoteL( EPhoneNoteNoNetworkCallEmergency, ETrue );
             break;
 
        default:
@@ -813,7 +827,8 @@
         iStateMachine->PhoneEngineInfo()->AudioOutput();
 
     UpdateSetupCbaL();
-
+    SetTouchPaneButtons(0);
+    
     // view update
     outputParam.SetAudioOutput( audioOutput );
     iViewCommandHandle->ExecuteCommandL( EPhoneViewActivateAudioPathUIChanges,
--- a/phoneapp/phoneuistates/src/cphoneerrormessageshandler.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuistates/src/cphoneerrormessageshandler.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -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()
@@ -93,7 +107,8 @@
 // CPhoneErrorMessagesHandler::SendGlobalInfoNoteL
 // ---------------------------------------------------------
 //
-EXPORT_C void CPhoneErrorMessagesHandler::SendGlobalInfoNoteL( TInt aResourceId )
+EXPORT_C void CPhoneErrorMessagesHandler::SendGlobalInfoNoteL( 
+        TInt aResourceId, TBool aNotificationDialog )
     {
     __LOGMETHODSTARTEND( EPhoneControl, 
         "CPhoneErrorMessagesHandler::SendGlobalInfoNoteL()" );
@@ -105,16 +120,35 @@
         // Re-enable global notes
         TPhoneCmdParamBoolean globalNotifierParam;
         globalNotifierParam.SetBoolean( EFalse );
-        iViewCommandHandle->ExecuteCommandL( EPhoneViewSetGlobalNotifiersDisabled,    &globalNotifierParam );
+        iViewCommandHandle->ExecuteCommandL( 
+                EPhoneViewSetGlobalNotifiersDisabled,    
+                &globalNotifierParam );
             
         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 );    
         }
@@ -125,7 +159,8 @@
 //  CPhoneErrorMessagesHandler::SendGlobalErrorNoteL
 // ---------------------------------------------------------
 //
-EXPORT_C void CPhoneErrorMessagesHandler::SendGlobalErrorNoteL( TInt aResourceId )
+EXPORT_C void CPhoneErrorMessagesHandler::SendGlobalErrorNoteL( 
+        TInt aResourceId, TBool aNotificationDialog )
     {
     __LOGMETHODSTARTEND( EPhoneControl, 
         "CPhoneErrorMessagesHandler::SendGlobalErrorNoteL()" );
@@ -143,11 +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 );
         }
@@ -158,7 +210,8 @@
 //  CPhoneErrorMessagesHandler::SendGlobalWarningNoteL
 // ---------------------------------------------------------
 //
-EXPORT_C void CPhoneErrorMessagesHandler::SendGlobalWarningNoteL( TInt aResourceId )
+EXPORT_C void CPhoneErrorMessagesHandler::SendGlobalWarningNoteL( 
+        TInt aResourceId, TBool aNotificationDialog )
     {
     __LOGMETHODSTARTEND(EPhoneControl, "CPhoneErrorMessagesHandler::SendGlobalWarningNoteL( ) ");
     __ASSERT_DEBUG( aResourceId, Panic( EPhoneCtrlParameterNotInitialized ) );
@@ -176,11 +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 );
         }
@@ -209,26 +279,27 @@
     __PHONELOG1( EBasic, EPhoneControl,
             "PhoneUIControl: CPhoneErrorMessagesHandler::ShowErrorSpecificNoteL - aErrorInfo.iErrorCode =%d ",
             aErrorInfo.iErrorCode);
-
+    iCallId = aErrorInfo.iCallId;
+    
     switch( aErrorInfo.iErrorCode )
         {
         case ECCPErrorRejected:
         case ECCPRequestFailure:
-            SendGlobalErrorNoteL( EPhoneNoteTextRequestRejected );    
+            SendGlobalErrorNoteL( EPhoneNoteTextRequestRejected, ETrue );    
             break;
             
         case ECCPErrorInvalidPhoneNumber:
-            SendGlobalErrorNoteL( EPhoneInvalidPhoneNumber );
+            SendGlobalErrorNoteL( EPhoneInvalidPhoneNumber, ETrue );
             break;
 
         case ECCPErrorInvalidURI:
             if( IsVideoCall( aErrorInfo.iCallId ) )
                 {
-                SendGlobalInfoNoteL( EPhoneInvalidPhoneNumber );
+                SendGlobalInfoNoteL( EPhoneInvalidPhoneNumber, ETrue );
                 }
             else
                 {
-                SendGlobalErrorNoteL( EPhoneInvalidPhoneNumber );
+                SendGlobalErrorNoteL( EPhoneInvalidPhoneNumber, ETrue );
                 }
             break;
 
@@ -239,13 +310,13 @@
                 }
             else
                 {
-                SendGlobalInfoNoteL( EPhoneNoteTextCheckNetworkservices );
+                SendGlobalInfoNoteL( EPhoneNoteTextCheckNetworkservices, ETrue );
                 }
             break;
 
         case ECCPErrorNotAllowedInOfflineMode:
         case ECCPErrorAuthenticationFailed:
-            SendGlobalWarningNoteL( EPhoneEmergencyCallsOnly );
+            SendGlobalWarningNoteL( EPhoneEmergencyCallsOnly, ETrue );
             break;
 
         case ECCPErrorNotReady:     
@@ -254,69 +325,68 @@
         case ECCPErrorNotFound:
         case ECCPErrorTimedOut:
         case ECCPErrorAccessDenied:        
-            SendGlobalWarningNoteL( EPhoneNoteTextNotAllowed );                    
+            SendGlobalWarningNoteL( EPhoneNoteTextNotAllowed, ETrue );                    
             break;
             
         case ECCPErrorAlreadyInUse:
-            SendGlobalErrorNoteL( EPhoneNoteTextCallNotAllowed );                    
+            SendGlobalErrorNoteL( EPhoneNoteTextCallNotAllowed, ETrue );                    
             break;
 
         case ECCPErrorInvalidFDN:
-            SendGlobalWarningNoteL( EPhoneNoteTextCallNotAllowedFDN );                    
+            SendGlobalWarningNoteL( EPhoneNoteTextCallNotAllowedFDN, ETrue );                    
             break;
             
         case ECCPErrorNotReached:
             if( IsVideoCall( aErrorInfo.iCallId ) )
                 {
-                SendGlobalInfoNoteL( EPhoneNumberNotInUse );
+                SendGlobalInfoNoteL( EPhoneNumberNotInUse, ETrue );
                 }
             else
                 {
-                SendGlobalWarningNoteL( EPhoneNumberNotInUse );    
+                SendGlobalWarningNoteL( EPhoneNumberNotInUse, ETrue );    
                 }
                 
             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 );
                 }
             else
                 {
-                SendGlobalWarningNoteL( EPhoneErrorInConnection );
+                SendGlobalWarningNoteL( EPhoneErrorInConnection, ETrue );
                 }
             break;
-            
+           
+        case ECCPErrorQualityOfServiceNotAvailable:
+        case ECCPErrorAccessInformationDiscarded:
         case ECCPErrorCCResourceNotAvailable:
-            SendGlobalWarningNoteL( EPhoneErrorInConnection );
+            SendGlobalWarningNoteL( EPhoneErrorInConnection, ETrue );
             break;
                         
         case ECCPErrorNumberBarred:
-            SendGlobalWarningNoteL( EPhoneNumberBarred );
+            SendGlobalWarningNoteL( EPhoneNumberBarred, ETrue );
             break;
             
         case ECCPErrorCCUserAlertingNoAnswer:
             if( IsVideoCall( aErrorInfo.iCallId ) )
                 {
-                SendGlobalInfoNoteL( EPhoneNoAnswer );
+                SendGlobalInfoNoteL( EPhoneNoAnswer, ETrue );
                 }
             else
                 {
-                SendGlobalWarningNoteL( EPhoneNoAnswer );   
+                SendGlobalWarningNoteL( EPhoneNoAnswer, ETrue );   
                 }           
             break;
             
         case KErrPhoneEngineNoWcdmaNetwork:  // Videotel special case. Refactoring PE/CSPlugin needed
-        case ECCPErrorVideoCallNotSupportedByNetwork:
+        case ECCPErrorVideoCallNotSupportedByNetwork: ////
             SendGlobalInfoNoteL( EPhoneInformationNoNetworkSupportForVideoCallNote );
             break;
                 
@@ -331,33 +401,37 @@
             break;
 
         case ECCPErrorNetworkBusy:
-            SendGlobalWarningNoteL( EPhoneNetworkBusy );
+            SendGlobalWarningNoteL( EPhoneNetworkBusy, ETrue );
             break;
             
         case ECCPErrorNoService:
-            SendGlobalWarningNoteL( EPhoneNoteNoService );   
+            SendGlobalWarningNoteL( EPhoneNoteNoService, ETrue );   
             break;
             
         case ECCPErrorBusy:
-            SendGlobalWarningNoteL( EPhoneNumberBusy );   
+            SendGlobalWarningNoteL( EPhoneNumberBusy, ETrue );   
             break;
             
         case ECCPErrorUserNotInCug:
             if( IsVideoCall( aErrorInfo.iCallId ) )
                 {
-                SendGlobalInfoNoteL( EPhoneNumberNotInCUG );
+                SendGlobalInfoNoteL( EPhoneNumberNotInCUG, ETrue );
                 }
-             else
+            else
                 {
-                SendGlobalWarningNoteL( EPhoneNumberNotInCUG );   
+                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:
@@ -370,25 +444,36 @@
         case ECCPErrorCCUserNotResponding:
             if( IsVideoCall( aErrorInfo.iCallId ) )
                 {
-                SendGlobalInfoNoteL( EPhoneNoteCallInfoCauseValue18 ); 
+                SendGlobalInfoNoteL( EPhoneNoAnswer ); 
                 }
             else
                 {
-                SendGlobalWarningNoteL( EPhoneNoAnswer );
+                SendGlobalWarningNoteL( EPhoneNoAnswer, ETrue );
                 }
             break;
             
         case ECCPErrorCCCallRejected:
-            if( IsVideoCall( aErrorInfo.iCallId ) )
+            if ( !iStateMachine->PhoneEngineInfo()->IsOutgoingCallBarringActivated() )
                 {
-                SendGlobalInfoNoteL( EPhoneNoteCalledNumberHasBarredIncomingCalls );
+                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;
             
@@ -399,25 +484,29 @@
                 }
             else
                 {
-                SendGlobalWarningNoteL( EPhoneNoAnswer );
+                SendGlobalWarningNoteL( EPhoneNoAnswer, ETrue );
                 }
             break;
             
         case ECCPErrorCCNoChannelAvailable:
             if( IsVideoCall( aErrorInfo.iCallId ) )
                 {
-                SendGlobalInfoNoteL( EPhoneNoteCallInfoCauseValue34 ); 
+                SendGlobalInfoNoteL( EPhoneNetworkBusy ); 
                 }
             else
                 {
-                SendGlobalWarningNoteL( EPhoneNetworkBusy );
+                SendGlobalWarningNoteL( EPhoneNetworkBusy, ETrue );
                 }
             break;
             
         case ECCPErrorNetworkOutOfOrder:
             if( IsVideoCall( aErrorInfo.iCallId ) )
                 {
-                SendGlobalInfoNoteL( EPhoneNoteCallInfoCauseValue38 );
+                SendGlobalInfoNoteL( EPhoneErrorInConnection );
+                }
+            else
+                {
+                SendGlobalWarningNoteL( EPhoneErrorInConnection, ETrue );
                 }
             break;
             
@@ -428,14 +517,18 @@
                 }
             else
                 {
-                SendGlobalWarningNoteL( EPhoneNoteTextNotAllowed );
+                SendGlobalWarningNoteL( EPhoneNoteTextNotAllowed, ETrue );
                 }
             break;
 
         case ECCPErrorCCIncomingCallsBarredInCug:
             if( IsVideoCall( aErrorInfo.iCallId ) )
                 {
-                SendGlobalInfoNoteL( EPhoneNoteCallInfoCauseValue55 );
+                SendGlobalInfoNoteL( EPhoneNumberBarred );
+                }
+            else
+                {
+                SendGlobalWarningNoteL( EPhoneNumberBarred, ETrue );
                 }
             break;
             
@@ -445,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;
             
@@ -461,87 +564,102 @@
                 }
             else
                 {
-                SendGlobalWarningNoteL( EPhoneErrorInConnection );
+                SendGlobalWarningNoteL( EPhoneErrorInConnection, ETrue );
                 } 
             break;
             
-        case ECCPErrorCCUnspecifiedInterworkingError:
-            if( IsVideoCall( aErrorInfo.iCallId ) )
-                {
-                SendGlobalInfoNoteL( EPhoneNoteCallInfoCauseValue127 );
-                }
-            break;
-            
-        case ECCPErrorCCPreemption:        
-        case ECCPErrorCCResponseToStatusEnquiry:        
-        case ECCPErrorCCInvalidMandatoryInformation:        
-        case ECCPErrorCCNonExistentMessageType:        
-        case ECCPErrorCCIncompatibleMessageInProtocolState:        
-        case ECCPErrorCCNonExistentInformationElement:
-            if( IsVideoCall( aErrorInfo.iCallId ) )
-                {
-                SendGlobalInfoNoteL( EPhoneNoteCallInfoNotSupported );
-                }
-            else
-                {
-                SendGlobalWarningNoteL( EPhoneErrorInConnection );
-                }     
-            break;
-
-        case ECCPErrorCCRecoveryOnTimerExpiry:        
-            if( IsVideoCall( aErrorInfo.iCallId ) )
-                {
-                SendGlobalInfoNoteL( EPhoneNoteCallInfoNotSupported );                
-                }
-            break;
-            
-        case ECCPErrorCCFacilityRejected:
+        case ECCPErrorCCPreemption:                                              
             if( IsVideoCall( aErrorInfo.iCallId ) )
                 {
                 SendGlobalInfoNoteL( EPhoneNoteCallInfoNotSupported );
                 }
             else
                 {
-                SendGlobalErrorNoteL( EPhoneNoteTextRequestRejected );
+                SendGlobalWarningNoteL( EPhoneErrorInConnection, ETrue );
+                }     
+            break;
+        case ECCPErrorCCResponseToStatusEnquiry: 
+            if( IsVideoCall( aErrorInfo.iCallId ) )
+                {
+                SendGlobalInfoNoteL( EPhoneErrorInConnection );
+                }
+            else
+                {
+                SendGlobalWarningNoteL( EPhoneErrorInConnection, ETrue );
+                }              
+            break;
+            
+        case ECCPErrorCCFacilityRejected:
+            if( IsVideoCall( aErrorInfo.iCallId ) )
+                {
+                SendGlobalInfoNoteL( EPhoneNoteTextRequestRejected );
+                }
+            else
+                {
+                SendGlobalErrorNoteL( EPhoneNoteTextRequestRejected, ETrue );
                 }
             break;
             
         case ECCPTransferFailed:
-            SendGlobalErrorNoteL( EPhoneNoteTextRequestRejected );
+            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 );
+            SendGlobalInfoNoteL( EPhoneOutgoingCallsBarredWithinCUG, ETrue );
             break;
         
         case ECCPErrorCUGNotSelected:
-            SendGlobalInfoNoteL( EPhoneNoCUGSelected );
+            SendGlobalInfoNoteL( EPhoneNoCUGSelected, ETrue );
             break;
         
         case ECCPErrorCUGIndexUnknown:
-            SendGlobalInfoNoteL( EPhoneUnknownCUGIndex );
+            SendGlobalInfoNoteL( EPhoneUnknownCUGIndex, ETrue );
             break;
         
         case ECCPErrorCUGIndexIncompatible:
-            SendGlobalInfoNoteL( EPhoneCUGIndexIncompatible );
+            SendGlobalInfoNoteL( EPhoneCUGIndexIncompatible, ETrue );
             break;
         
         case ECCPErrorCUGCallsFailure:
-            SendGlobalInfoNoteL( EPhoneCUGCallsFailure );
+            SendGlobalInfoNoteL( EPhoneCUGCallsFailure, ETrue );
             break;
         
         case ECCPErrorCLIRNotSubscribed:
-            SendGlobalInfoNoteL( EPhoneCLIRNotSubscribed );
+            SendGlobalInfoNoteL( EPhoneCLIRNotSubscribed, ETrue );
             break;
             
         case ECCPErrorCCBSPossible:
@@ -557,6 +675,8 @@
                 aErrorInfo.iErrorCode);
             break;
         } 
+    
+    iCallId = KErrNotFound;
     }    
 
 // -----------------------------------------------------------
@@ -577,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
--- a/phoneapp/phoneuistates/src/cphonegeneralgsmmessageshandler.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuistates/src/cphonegeneralgsmmessageshandler.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -100,7 +100,7 @@
     switch ( aMessage )
         {
         case MEngineMonitor::EPEMessageCallBarred:
-            SendGlobalInfoNoteL( EPhoneActiveBarrings );
+            SendGlobalInfoNoteL( EPhoneActiveBarrings, ETrue );
             break;
         
         case MEngineMonitor::EPEMessageIncCallIsForw:
@@ -108,17 +108,13 @@
             break;
             
         case MEngineMonitor::EPEMessageIncCallForwToC:
-            SendGlobalInfoNoteL( EPhoneMtCallDiverting );
+            SendGlobalInfoNoteL( EPhoneMtCallDiverting, ETrue );
             break;
             
         case MEngineMonitor::EPEMessageOutCallForwToC:
-            SendGlobalInfoNoteL( EPhoneDiverting );
+            SendGlobalInfoNoteL( EPhoneDiverting, ETrue );
             break;
 
-        case MEngineMonitor::EPEMessageShowVersion:
-            HandleShowVersionL();
-            break;
-            
         case MEngineMonitor::EPEMessageIssuedSSRequest:
             {
             __PHONELOG(
@@ -197,15 +193,15 @@
             }
 
         case MEngineMonitor::EPEMessageTempClirActivationUnsuccessful:
-            SendGlobalErrorNoteL( EPhoneSSNotifCLIRSupprReject );
+            SendGlobalErrorNoteL( EPhoneSSNotifCLIRSupprReject, ETrue );
             break;
             
         case MEngineMonitor::EPEMessageForwardUnconditionalModeActive:
-            SendGlobalInfoNoteL( EPhoneAllIncomingCallsDiverted );
+            SendGlobalInfoNoteL( EPhoneAllIncomingCallsDiverted, ETrue );
             break;
             
         case MEngineMonitor::EPEMessageForwardConditionallyModeActive:
-            SendGlobalInfoNoteL( EPhoneActiveDiverts );
+            SendGlobalInfoNoteL( EPhoneActiveDiverts, ETrue );
             break;
 
         default:
@@ -217,7 +213,8 @@
 // CPhoneGeneralGsmMessagesHandler::SendGlobalInfoNoteL
 // ---------------------------------------------------------
 //
-void CPhoneGeneralGsmMessagesHandler::SendGlobalInfoNoteL( TInt aResourceId )
+void CPhoneGeneralGsmMessagesHandler::SendGlobalInfoNoteL( 
+        TInt aResourceId, TBool aNotificationDialog )
     {
     __LOGMETHODSTARTEND( EPhoneUIStates, 
         "CPhoneGeneralGsmMessagesHandler::SendGlobalInfoNoteL()" );
@@ -238,6 +235,7 @@
             CPhoneMainResourceResolver::Instance()->
             ResolveResourceID( aResourceId ) );
         globalNoteParam.SetTone( EAvkonSIDInformationTone );
+        globalNoteParam.SetNotificationDialog( aNotificationDialog );
 
         iViewCommandHandle.ExecuteCommandL( 
             EPhoneViewShowGlobalNote, &globalNoteParam );    
@@ -257,81 +255,12 @@
     
     }
 
-// -----------------------------------------------------------
-// CPhoneGeneralGsmMessagesHandler::HandleShowVersionL
-// -----------------------------------------------------------
-//
-void CPhoneGeneralGsmMessagesHandler::HandleShowVersionL()
-    {
-    __LOGMETHODSTARTEND( EPhoneUIStates, 
-        "CPhoneGeneralGsmMessagesHandler::HandleShowVersionL()" );
-    if ( FeatureManager::FeatureSupported( KFeatureIdOnScreenDialer )  )  
-        {
-        iViewCommandHandle.ExecuteCommandL( EPhoneViewClearNumberEntryContent );       
-        }
-    else
-        {
-        // Remove number entry from screen
-        iViewCommandHandle.ExecuteCommandL( EPhoneViewRemoveNumberEntry );        
-        } 
-
-
-#ifdef __SYNCML_DM
-    // Launch DM UI 
-    RWsSession sess = CCoeEnv::Static()->WsSession();
-    RApaLsSession apaLsSession;        
-  
-    TApaTaskList appList( sess );
-    TApaTask bring = appList.FindApp( KDeviceManagerUid );
-
-    if ( bring.Exists() )
-        {
-        bring.BringToForeground();
-        }
-    else
-        {
-        if( !apaLsSession.Handle() )
-            {
-            User::LeaveIfError(apaLsSession.Connect());
-            }
-        CleanupClosePushL( apaLsSession );
-        TThreadId thread;
-        User::LeaveIfError( apaLsSession.StartDocument(KNullDesC, KDeviceManagerUid, thread) );
-        CleanupStack::PopAndDestroy( &apaLsSession );  
-        }
-
-    // Stop dtmf tone. Long key press case key up event go to 
-    // device manager application.
-    iStateMachine.SendPhoneEngineMessage(
-        MPEPhoneModel::EPEMessageEndDTMF );
-    
-#else    
-    // Fetch version number
-    TPEPhoneIdentityParameters phoneIdentityParameters = iStateMachine.
-        PhoneEngineInfo()->PhoneIdentityParameters();
-
-    // Add it to the resource string
-    HBufC* buf = HBufC::NewLC( KSysUtilVersionTextLength );
-    buf->Des().Format( phoneIdentityParameters.iRevision );
-        
-    TPhoneCmdParamNote noteParam;
-    noteParam.SetType( EPhoneNoteCustom );
-    noteParam.SetResourceId( CPhoneMainResourceResolver::Instance()->
-        ResolveResourceID( EPhoneInformationWaitNote ) );
-    noteParam.SetText( *buf );
-    
-    // Display note
-    iViewCommandHandle.ExecuteCommandL( EPhoneViewShowNote, &noteParam );
-    
-    CleanupStack::PopAndDestroy( buf );
-#endif
-    }
-
 // ---------------------------------------------------------
 //  CPhoneGeneralGsmMessagesHandler::SendGlobalErrorNoteL
 // ---------------------------------------------------------
 //
-void CPhoneGeneralGsmMessagesHandler::SendGlobalErrorNoteL( TInt aResourceId )
+void CPhoneGeneralGsmMessagesHandler::SendGlobalErrorNoteL( 
+        TInt aResourceId, TBool aNotificationDialog )
     {
     __LOGMETHODSTARTEND( EPhoneUIStates, 
         "CPhoneGeneralGsmMessagesHandler::SendGlobalErrorNoteL()" );
@@ -352,7 +281,8 @@
             CPhoneMainResourceResolver::Instance()->
             ResolveResourceID( aResourceId ) );
         globalNoteParam.SetTone( CAknNoteDialog::EErrorTone );
-
+        globalNoteParam.SetNotificationDialog( aNotificationDialog );
+        
         iViewCommandHandle.ExecuteCommandL( 
             EPhoneViewShowGlobalNote, &globalNoteParam );
         }
--- a/phoneapp/phoneuistates/src/cphonegsmincall.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuistates/src/cphonegsmincall.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -106,22 +106,21 @@
         {
         case MEngineMonitor::EPEMessageRemoteHeld:
             CPhoneState::SendGlobalInfoNoteL( 
-                EPhoneInformationRemotePutOnHoldNote );
+                EPhoneInformationRemotePutOnHoldNote, ETrue );
             break;
         
         case MEngineMonitor::EPEMessageRemoteResumed:
             CPhoneState::SendGlobalInfoNoteL( 
-                EPhoneInformationConnectedNote );
+                EPhoneInformationConnectedNote, ETrue );
             break;
             
         case MEngineMonitor::EPEMessageRemoteCreatedConference:
             CPhoneState::SendGlobalInfoNoteL( 
-                EPhoneInformationRemoteCreateConferenceNote );
+                EPhoneInformationRemoteCreateConferenceNote, ETrue );
             break;        
         case MEngineMonitor::EPEMessageIncCallIsForw:  // fall through
         case MEngineMonitor::EPEMessageIssuingSSRequest: // fall through
         case MEngineMonitor::EPEMessageCallBarred: // fall through
-        case MEngineMonitor::EPEMessageShowVersion: // fall through
         case MEngineMonitor::EPEMessageIssuedSSRequest: // fall through
         case MEngineMonitor::EPEMessageTempClirActivationUnsuccessful:
         case MEngineMonitor::EPEMessageIncCallForwToC: // fall through
@@ -140,8 +139,14 @@
             // Needed also in non-touch, if call waiting request (*43#) 
             // is sent during active call at least.
             UpdateCbaL( EPhoneCallHandlingInCallCBA );
+			}
+			break;
+			
+        case MEngineMonitor::EPEMessageColpNumberAvailable:
+            {
+            HandleColpNoteL( aCallId );                    
             }
-            break;
+            break; 
 
         default:
             CPhoneStateInCall::HandlePhoneEngineMessageL( 
@@ -218,26 +223,24 @@
 // CPhoneGsmInCall::HandleColpNoteL
 // -----------------------------------------------------------
 //
-void CPhoneGsmInCall::HandleColpNoteL( 
-    TInt aCallId )
+void CPhoneGsmInCall::HandleColpNoteL( TInt aCallId )
     {
     __LOGMETHODSTARTEND(EPhoneControl, "CPhoneGsmInCall::HandleColpNoteL() ");
 
     MPEEngineInfo* EngineInfo = CPhoneState::iStateMachine->PhoneEngineInfo();
-
-    if ( EngineInfo->RemoteColpNumber( aCallId ).Length() )
-        {
-        TPhoneCmdParamGlobalNote globalNoteParam;
-        globalNoteParam.SetText(  EngineInfo->RemoteColpNumber( aCallId ) ); 
-        globalNoteParam.SetType( EAknGlobalInformationNote );
-        globalNoteParam.SetTextResourceId( 
+    
+    TPhoneCmdParamGlobalNote globalNoteParam;
+    globalNoteParam.SetText(  EngineInfo->RemoteColpNumber( aCallId ) ); 
+    globalNoteParam.SetType( EAknGlobalInformationNote );
+    globalNoteParam.SetTextResourceId( 
             CPhoneMainResourceResolver::Instance()->
-            ResolveResourceID( EPhoneColpConnected ) );
-        globalNoteParam.SetTone( EAvkonSIDInformationTone );
-            
-        iViewCommandHandle->ExecuteCommandL( 
-                EPhoneViewShowGlobalNote, &globalNoteParam );
-        }
+	        ResolveResourceID( EPhoneColpConnected ) );
+    globalNoteParam.SetTone( EAvkonSIDInformationTone );
+    globalNoteParam.SetNotificationDialog( ETrue );
+	        
+    iViewCommandHandle->ExecuteCommandL( 
+            EPhoneViewShowGlobalNote, &globalNoteParam );
+    
     }
 
 // -----------------------------------------------------------
--- a/phoneapp/phoneuistates/src/cphoneidle.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuistates/src/cphoneidle.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -93,12 +93,12 @@
         {
         case MEngineMonitor::EPEMessageRemoteHeld:
             CPhoneState::SendGlobalInfoNoteL( 
-                EPhoneInformationRemotePutOnHoldNote );
+                EPhoneInformationRemotePutOnHoldNote, ETrue );
             break;
         
         case MEngineMonitor::EPEMessageRemoteResumed:
             CPhoneState::SendGlobalInfoNoteL( 
-                EPhoneInformationConnectedNote );
+                EPhoneInformationConnectedNote, ETrue );
             break;
             
         case MEngineMonitor::EPEMessageAudioOutputChanged:
@@ -114,7 +114,6 @@
                 }
         case MEngineMonitor::EPEMessageIssuingSSRequest: // fall through
         case MEngineMonitor::EPEMessageCallBarred: // fall through
-        case MEngineMonitor::EPEMessageShowVersion: // fall through
         case MEngineMonitor::EPEMessageTempClirActivationUnsuccessful:
         case MEngineMonitor::EPEMessageIncCallIsForw: // fall through
         case MEngineMonitor::EPEMessageIncCallForwToC: // fall through
@@ -137,20 +136,6 @@
                 aMessage, aCallId );
             break;
         }
-
-#ifndef __SYNCML_DM
-      switch ( aMessage )
-        {
-        case MEngineMonitor::EPEMessageShowVersion:
-            if ( !iOnScreenDialer )
-                {
-                HandleNumberEntryClearedL();
-                }
-            break;
-        default:    
-            break;
-        }
-#endif        
     }
 
 // -----------------------------------------------------------
--- a/phoneapp/phoneuistates/src/cphoneincoming.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuistates/src/cphoneincoming.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -119,17 +119,16 @@
             break;
             
         case MEngineMonitor::EPEMessageRemoteHeld:
-                SendGlobalInfoNoteL( EPhoneInformationRemotePutOnHoldNote );
+                SendGlobalInfoNoteL( EPhoneInformationRemotePutOnHoldNote, ETrue );
             break;
         
         case MEngineMonitor::EPEMessageRemoteResumed:
-                SendGlobalInfoNoteL( EPhoneInformationConnectedNote );
+                SendGlobalInfoNoteL( EPhoneInformationConnectedNote, ETrue );
             break;
 
         // fall through.
         case MEngineMonitor::EPEMessageIssuingSSRequest:
         case MEngineMonitor::EPEMessageCallBarred:
-        case MEngineMonitor::EPEMessageShowVersion:
         case MEngineMonitor::EPEMessageIssuedSSRequest:
         case MEngineMonitor::EPEMessageTempClirActivationUnsuccessful:
         case MEngineMonitor::EPEMessageIncCallIsForw:
--- a/phoneapp/phoneuistates/src/cphonesingleandalerting.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuistates/src/cphonesingleandalerting.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -138,7 +138,7 @@
                 {
                 // Show not allowed note
                 CPhoneState::SendGlobalErrorNoteL( 
-                    EPhoneNoteTextNotAllowed );
+                    EPhoneNoteTextNotAllowed, ETrue );
                 }
             break;
 
@@ -231,9 +231,7 @@
         TPhoneCmdParamBoolean holdFlag;
         holdFlag.SetBoolean( EFalse );
         iViewCommandHandle->ExecuteCommandL( EPhoneViewSetHoldFlag, &holdFlag );
-        }
-        
-    CPhoneGsmInCall::HandleColpNoteL( aCallId );
+        }    
     }
 // -----------------------------------------------------------
 // CPhoneSingleAndAlerting::HandleIdleL
--- a/phoneapp/phoneuistates/src/cphonesingleandcallsetup.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuistates/src/cphonesingleandcallsetup.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -142,7 +142,7 @@
                 {
                 // Show not allowed note
                 CPhoneState::SendGlobalErrorNoteL( 
-                    EPhoneNoteTextNotAllowed );
+                    EPhoneNoteTextNotAllowed, ETrue );
                 }
             break;
 
--- a/phoneapp/phoneuistates/src/cphonesingleandcallsetupandwaiting.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuistates/src/cphonesingleandcallsetupandwaiting.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -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;
             
@@ -211,8 +211,9 @@
                     
         case MEngineMonitor::EPEMessageRemoteBusy:
             // If call setup failed then stop capturing keys.
-            // Flow through to default branch.
-            CaptureKeysDuringCallNotificationL( EFalse );     
+            CaptureKeysDuringCallNotificationL( EFalse );
+            CPhoneGsmInCall::HandlePhoneEngineMessageL( aMessage, aCallId );
+            break;
         default:
             CPhoneGsmInCall::HandlePhoneEngineMessageL( aMessage, aCallId );
             break;
@@ -449,8 +450,6 @@
         iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveNumberEntry );
         }
     
-    HandleColpNoteL( aCallId );
-
     if ( aCallId != iWaitingCallId )
         {
         // Alerting call is connected
--- a/phoneapp/phoneuistates/src/cphonesinglecall.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuistates/src/cphonesinglecall.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -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 );    
         }                
     }
 
--- a/phoneapp/phoneuistates/src/cphonestartup.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuistates/src/cphonestartup.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -93,17 +93,16 @@
         {
         case MEngineMonitor::EPEMessageRemoteHeld:
             CPhoneState::SendGlobalInfoNoteL( 
-                EPhoneInformationRemotePutOnHoldNote );
+                EPhoneInformationRemotePutOnHoldNote, ETrue );
             break;
         
         case MEngineMonitor::EPEMessageRemoteResumed:
             CPhoneState::SendGlobalInfoNoteL( 
-                EPhoneInformationConnectedNote );
+                EPhoneInformationConnectedNote, ETrue );
             break;
 
         case MEngineMonitor::EPEMessageIssuingSSRequest: // fall through
         case MEngineMonitor::EPEMessageCallBarred: // fall through
-        case MEngineMonitor::EPEMessageShowVersion: // fall through
         case MEngineMonitor::EPEMessageIssuedSSRequest: // fall through
         case MEngineMonitor::EPEMessageTempClirActivationUnsuccessful:
         case MEngineMonitor::EPEMessageIncCallIsForw: // fall through
--- a/phoneapp/phoneuistates/src/cphonetwosinglesandwaiting.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuistates/src/cphonetwosinglesandwaiting.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -124,7 +124,7 @@
                 // Waiting call bubble is over number entry
                 // so display not allowed note because we
                 // can't answer the call
-                SendGlobalWarningNoteL( EPhoneNoteTextCallNotAllowed );                     
+                SendGlobalWarningNoteL( EPhoneNoteTextCallNotAllowed, ETrue );                     
                 }
             break;
             }
--- a/phoneapp/phoneuiutils/bwins/phoneuiutilsu.def	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuiutils/bwins/phoneuiutilsu.def	Thu Jul 22 16:33:21 2010 +0100
@@ -12,61 +12,61 @@
 	?NumberType@TPhoneCmdParamCallHeaderData@@QBEHXZ @ 11 NONAME ; int TPhoneCmdParamCallHeaderData::NumberType(void) const
 	?CbaCommandMapping@TPhoneCmdParamQuery@@QBEHH@Z @ 12 NONAME ; int TPhoneCmdParamQuery::CbaCommandMapping(int) const
 	?SetTone@TPhoneCmdParamQuery@@QAEXH@Z @ 13 NONAME ; void TPhoneCmdParamQuery::SetTone(int)
-	?PhoneNumber@TPhoneCmdParamSpeedDial@@QAEPAVTPtr16@@XZ @ 14 NONAME ; class TPtr16 * TPhoneCmdParamSpeedDial::PhoneNumber(void)
-	?CLIText@TPhoneCmdParamCallHeaderData@@QBEABVTDesC16@@XZ @ 15 NONAME ; class TDesC16 const & TPhoneCmdParamCallHeaderData::CLIText(void) const
-	??0CPhoneLogger@@QAE@VTUid@@@Z @ 16 NONAME ; CPhoneLogger::CPhoneLogger(class TUid)
-	?RingingType@TPhoneCmdParamRingTone@@QBEHXZ @ 17 NONAME ; int TPhoneCmdParamRingTone::RingingType(void) const
-	?Remove@CPhoneRecoverySystem@@SAXH@Z @ 18 NONAME ; void CPhoneRecoverySystem::Remove(int)
-	??0TPhoneCmdParamKeyEvent@@QAE@XZ @ 19 NONAME ; TPhoneCmdParamKeyEvent::TPhoneCmdParamKeyEvent(void)
-	?SetPhoneEngine@CPhoneLogger@@QAEXPAVMPEPhoneModel@@@Z @ 20 NONAME ; void CPhoneLogger::SetPhoneEngine(class MPEPhoneModel *)
-	?SetSendKeyEnabled@TPhoneCmdParamQuery@@QAEXH@Z @ 21 NONAME ; void TPhoneCmdParamQuery::SetSendKeyEnabled(int)
-	?Pointer@TPhoneCmdParamPointer@@QBEPAXXZ @ 22 NONAME ; void * TPhoneCmdParamPointer::Pointer(void) const
-	?SetCallerText@TPhoneCmdParamCallHeaderData@@QAEXABVTDesC16@@@Z @ 23 NONAME ; void TPhoneCmdParamCallHeaderData::SetCallerText(class TDesC16 const &)
-	?Line2@TPhoneCmdParamIncallIndicatorData@@QBEHXZ @ 24 NONAME ; int TPhoneCmdParamIncallIndicatorData::Line2(void) const
-	?Text@TPhoneCmdParamGlobalNote@@QBEABVTDesC16@@XZ @ 25 NONAME ; class TDesC16 const & TPhoneCmdParamGlobalNote::Text(void) const
-	?RecoverNow@CPhoneRecoverySystem@@QAEHHCH@Z @ 26 NONAME ; int CPhoneRecoverySystem::RecoverNow(int, signed char, int)
-	?LogMsgFromControlToView@CPhoneLogger@@QAEXHH@Z @ 27 NONAME ; void CPhoneLogger::LogMsgFromControlToView(int, int)
-	??0TPhoneCmdParamBitmap@@QAE@XZ @ 28 NONAME ; TPhoneCmdParamBitmap::TPhoneCmdParamBitmap(void)
-	?NumberType@TPhoneCmdParamSpeedDial@@QAE?AW4TPhoneNumberType@@XZ @ 29 NONAME ; enum TPhoneNumberType TPhoneCmdParamSpeedDial::NumberType(void)
-	?SetHasThumbnail@TPhoneCmdParamCallHeaderData@@QAEXH@Z @ 30 NONAME ; void TPhoneCmdParamCallHeaderData::SetHasThumbnail(int)
-	?Text@TPhoneCmdParamNote@@QBEABVTDesC16@@XZ @ 31 NONAME ; class TDesC16 const & TPhoneCmdParamNote::Text(void) const
-	??1CPhoneMethodLogger@@UAE@XZ @ 32 NONAME ; CPhoneMethodLogger::~CPhoneMethodLogger(void)
-	?WaitForReady@TPhoneCmdParamGlobalNote@@QBEHXZ @ 33 NONAME ; int TPhoneCmdParamGlobalNote::WaitForReady(void) const
-	?MaskBitmap@TPhoneCmdParamBitmap@@QBEPAVCFbsBitmap@@XZ @ 34 NONAME ; class CFbsBitmap * TPhoneCmdParamBitmap::MaskBitmap(void) const
-	?IsScreenLocked@CPhoneStorage@@UAEHXZ @ 35 NONAME ; int CPhoneStorage::IsScreenLocked(void)
-	?SetText@TPhoneCmdParamGlobalNote@@QAEXABVTDesC16@@@Z @ 36 NONAME ; void TPhoneCmdParamGlobalNote::SetText(class TDesC16 const &)
-	?AddLibraryL@CPhoneLibraryContainer@@QAEXABVRLibrary@@@Z @ 37 NONAME ; void CPhoneLibraryContainer::AddLibraryL(class RLibrary const &)
-	??1CPhoneResourceResolverBase@@UAE@XZ @ 38 NONAME ; CPhoneResourceResolverBase::~CPhoneResourceResolverBase(void)
-	?ResetBlockedKeysList@CPhoneStorage@@UAEXXZ @ 39 NONAME ; void CPhoneStorage::ResetBlockedKeysList(void)
-	?SetInt@CPhoneCenRepProxy@@QAEHABVTUid@@IH@Z @ 40 NONAME ; int CPhoneCenRepProxy::SetInt(class TUid const &, unsigned int, int)
-	?GetCustomCommandForTimeOut@TPhoneCmdParamQuery@@QBEHAAH@Z @ 41 NONAME ; int TPhoneCmdParamQuery::GetCustomCommandForTimeOut(int &) const
-	?ParamId@TPhoneCommandParam@@QBE?AW4TPhoneParamId@1@XZ @ 42 NONAME ; enum TPhoneCommandParam::TPhoneParamId TPhoneCommandParam::ParamId(void) const
-	?SetString@CPhoneCenRepProxy@@QAEHABVTUid@@IABVTDesC16@@@Z @ 43 NONAME ; int CPhoneCenRepProxy::SetString(class TUid const &, unsigned int, class TDesC16 const &)
-	?Line2@TPhoneCmdParamCallHeaderData@@QBEHXZ @ 44 NONAME ; int TPhoneCmdParamCallHeaderData::Line2(void) const
-	??1CPhoneTimer@@UAE@XZ @ 45 NONAME ; CPhoneTimer::~CPhoneTimer(void)
-	?LogMsgFromPEToPhoneUIEnd@CPhoneLogger@@QAEXH@Z @ 46 NONAME ; void CPhoneLogger::LogMsgFromPEToPhoneUIEnd(int)
-	?DialerController@TPhoneCmdParamCustomDialer@@QAEPAVMPhoneDialerController@@XZ @ 47 NONAME ; class MPhoneDialerController * TPhoneCmdParamCustomDialer::DialerController(void)
-	?Type@TPhoneCmdParamGlobalNote@@QBE?AW4TAknGlobalNoteType@@XZ @ 48 NONAME ; enum TAknGlobalNoteType TPhoneCmdParamGlobalNote::Type(void) const
-	?SetMultipleInstances@TPhoneCmdParamAppInfo@@QAEXH@Z @ 49 NONAME ; void TPhoneCmdParamAppInfo::SetMultipleInstances(int)
-	?Tone@TPhoneCmdParamGlobalNote@@QBEHXZ @ 50 NONAME ; int TPhoneCmdParamGlobalNote::Tone(void) const
-	?ChangePropertyValue@CPhonePubSubProxy@@QAEXABVTUid@@IH@Z @ 51 NONAME ; void CPhonePubSubProxy::ChangePropertyValue(class TUid const &, unsigned int, int)
-	?SetThumbnail@TPhoneCmdParamCallHeaderData@@QAEXPAVCFbsBitmap@@@Z @ 52 NONAME ; void TPhoneCmdParamCallHeaderData::SetThumbnail(class CFbsBitmap *)
-	?SetCbaCommandMapping@TPhoneCmdParamQuery@@QAEXHH@Z @ 53 NONAME ; void TPhoneCmdParamQuery::SetCbaCommandMapping(int, int)
-	?EventCode@TPhoneCmdParamKeyEvent@@QBE?AW4TEventCode@@XZ @ 54 NONAME ; enum TEventCode TPhoneCmdParamKeyEvent::EventCode(void) const
-	?KeyEvent@TPhoneCmdParamKeyEvent@@QBE?BUTKeyEvent@@XZ @ 55 NONAME ; struct TKeyEvent const TPhoneCmdParamKeyEvent::KeyEvent(void) const
-	?SetDataText@TPhoneCmdParamQuery@@QAEXPAVTDes16@@@Z @ 56 NONAME ; void TPhoneCmdParamQuery::SetDataText(class TDes16 *)
-	??0TPhoneCmdParamAppInfo@@QAE@XZ @ 57 NONAME ; TPhoneCmdParamAppInfo::TPhoneCmdParamAppInfo(void)
-	?LittleBubbleVisible@TPhoneCmdParamIncallIndicatorData@@QBEHXZ @ 58 NONAME ; int TPhoneCmdParamIncallIndicatorData::LittleBubbleVisible(void) const
-	?SetCallState@TPhoneCmdParamIncallIndicatorData@@QAEXH@Z @ 59 NONAME ; void TPhoneCmdParamIncallIndicatorData::SetCallState(int)
-	?GetString@CPhoneCenRepProxy@@QBEHABVTUid@@IAAVTDes16@@@Z @ 60 NONAME ; int CPhoneCenRepProxy::GetString(class TUid const &, unsigned int, class TDes16 &) const
-	?ResourceId@TPhoneCmdParamProgressNote@@QBEHXZ @ 61 NONAME ; int TPhoneCmdParamProgressNote::ResourceId(void) const
-	?CallId@TPhoneCmdParamCallStateData@@QBEHXZ @ 62 NONAME ; int TPhoneCmdParamCallStateData::CallId(void) const
-	?NotifyChangeL@CPhoneCenRepProxy@@QAEXABVTUid@@IPAVMPhoneCenRepObserver@@@Z @ 63 NONAME ; void CPhoneCenRepProxy::NotifyChangeL(class TUid const &, unsigned int, class MPhoneCenRepObserver *)
-	?SetResourceId@TPhoneCmdParamDynMenu@@QAEXH@Z @ 64 NONAME ; void TPhoneCmdParamDynMenu::SetResourceId(int)
-	?Validate@CPhoneKeys@@SAHABVTDesC16@@@Z @ 65 NONAME ; int CPhoneKeys::Validate(class TDesC16 const &)
-	??0TPhoneCmdParamKeyCapture@@QAE@XZ @ 66 NONAME ; TPhoneCmdParamKeyCapture::TPhoneCmdParamKeyCapture(void)
-	?SetResourceId@TPhoneCmdParamNote@@QAEXH@Z @ 67 NONAME ; void TPhoneCmdParamNote::SetResourceId(int)
-	?LogMsgFromPEToPhoneUI@CPhoneLogger@@QAEXHH@Z @ 68 NONAME ; void CPhoneLogger::LogMsgFromPEToPhoneUI(int, int)
+	?CLIText@TPhoneCmdParamCallHeaderData@@QBEABVTDesC16@@XZ @ 14 NONAME ; class TDesC16 const & TPhoneCmdParamCallHeaderData::CLIText(void) const
+	??0CPhoneLogger@@QAE@VTUid@@@Z @ 15 NONAME ; CPhoneLogger::CPhoneLogger(class TUid)
+	?RingingType@TPhoneCmdParamRingTone@@QBEHXZ @ 16 NONAME ; int TPhoneCmdParamRingTone::RingingType(void) const
+	?Remove@CPhoneRecoverySystem@@SAXH@Z @ 17 NONAME ; void CPhoneRecoverySystem::Remove(int)
+	??0TPhoneCmdParamKeyEvent@@QAE@XZ @ 18 NONAME ; TPhoneCmdParamKeyEvent::TPhoneCmdParamKeyEvent(void)
+	?SetPhoneEngine@CPhoneLogger@@QAEXPAVMPEPhoneModel@@@Z @ 19 NONAME ; void CPhoneLogger::SetPhoneEngine(class MPEPhoneModel *)
+	?SetSendKeyEnabled@TPhoneCmdParamQuery@@QAEXH@Z @ 20 NONAME ; void TPhoneCmdParamQuery::SetSendKeyEnabled(int)
+	?Pointer@TPhoneCmdParamPointer@@QBEPAXXZ @ 21 NONAME ; void * TPhoneCmdParamPointer::Pointer(void) const
+	?SetCallerText@TPhoneCmdParamCallHeaderData@@QAEXABVTDesC16@@@Z @ 22 NONAME ; void TPhoneCmdParamCallHeaderData::SetCallerText(class TDesC16 const &)
+	?Line2@TPhoneCmdParamIncallIndicatorData@@QBEHXZ @ 23 NONAME ; int TPhoneCmdParamIncallIndicatorData::Line2(void) const
+	?Text@TPhoneCmdParamGlobalNote@@QBEABVTDesC16@@XZ @ 24 NONAME ; class TDesC16 const & TPhoneCmdParamGlobalNote::Text(void) const
+	?RecoverNow@CPhoneRecoverySystem@@QAEHHCH@Z @ 25 NONAME ; int CPhoneRecoverySystem::RecoverNow(int, signed char, int)
+	?LogMsgFromControlToView@CPhoneLogger@@QAEXHH@Z @ 26 NONAME ; void CPhoneLogger::LogMsgFromControlToView(int, int)
+	??0TPhoneCmdParamBitmap@@QAE@XZ @ 27 NONAME ; TPhoneCmdParamBitmap::TPhoneCmdParamBitmap(void)
+	?SetHasThumbnail@TPhoneCmdParamCallHeaderData@@QAEXH@Z @ 28 NONAME ; void TPhoneCmdParamCallHeaderData::SetHasThumbnail(int)
+	?Text@TPhoneCmdParamNote@@QBEABVTDesC16@@XZ @ 29 NONAME ; class TDesC16 const & TPhoneCmdParamNote::Text(void) const
+	??1CPhoneMethodLogger@@UAE@XZ @ 30 NONAME ; CPhoneMethodLogger::~CPhoneMethodLogger(void)
+	?WaitForReady@TPhoneCmdParamGlobalNote@@QBEHXZ @ 31 NONAME ; int TPhoneCmdParamGlobalNote::WaitForReady(void) const
+	?MaskBitmap@TPhoneCmdParamBitmap@@QBEPAVCFbsBitmap@@XZ @ 32 NONAME ; class CFbsBitmap * TPhoneCmdParamBitmap::MaskBitmap(void) const
+	?IsScreenLocked@CPhoneStorage@@UAEHXZ @ 33 NONAME ; int CPhoneStorage::IsScreenLocked(void)
+	?SetText@TPhoneCmdParamGlobalNote@@QAEXABVTDesC16@@@Z @ 34 NONAME ; void TPhoneCmdParamGlobalNote::SetText(class TDesC16 const &)
+	?AddLibraryL@CPhoneLibraryContainer@@QAEXABVRLibrary@@@Z @ 35 NONAME ; void CPhoneLibraryContainer::AddLibraryL(class RLibrary const &)
+	??1CPhoneResourceResolverBase@@UAE@XZ @ 36 NONAME ; CPhoneResourceResolverBase::~CPhoneResourceResolverBase(void)
+	?ResetBlockedKeysList@CPhoneStorage@@UAEXXZ @ 37 NONAME ; void CPhoneStorage::ResetBlockedKeysList(void)
+	?SetInt@CPhoneCenRepProxy@@QAEHABVTUid@@IH@Z @ 38 NONAME ; int CPhoneCenRepProxy::SetInt(class TUid const &, unsigned int, int)
+	?GetCustomCommandForTimeOut@TPhoneCmdParamQuery@@QBEHAAH@Z @ 39 NONAME ; int TPhoneCmdParamQuery::GetCustomCommandForTimeOut(int &) const
+	?ParamId@TPhoneCommandParam@@QBE?AW4TPhoneParamId@1@XZ @ 40 NONAME ; enum TPhoneCommandParam::TPhoneParamId TPhoneCommandParam::ParamId(void) const
+	?SetString@CPhoneCenRepProxy@@QAEHABVTUid@@IABVTDesC16@@@Z @ 41 NONAME ; int CPhoneCenRepProxy::SetString(class TUid const &, unsigned int, class TDesC16 const &)
+	?Line2@TPhoneCmdParamCallHeaderData@@QBEHXZ @ 42 NONAME ; int TPhoneCmdParamCallHeaderData::Line2(void) const
+	??1CPhoneTimer@@UAE@XZ @ 43 NONAME ; CPhoneTimer::~CPhoneTimer(void)
+	?LogMsgFromPEToPhoneUIEnd@CPhoneLogger@@QAEXH@Z @ 44 NONAME ; void CPhoneLogger::LogMsgFromPEToPhoneUIEnd(int)
+	?DialerController@TPhoneCmdParamCustomDialer@@QAEPAVMPhoneDialerController@@XZ @ 45 NONAME ; class MPhoneDialerController * TPhoneCmdParamCustomDialer::DialerController(void)
+	?Type@TPhoneCmdParamGlobalNote@@QBE?AW4TAknGlobalNoteType@@XZ @ 46 NONAME ; enum TAknGlobalNoteType TPhoneCmdParamGlobalNote::Type(void) const
+	?SetMultipleInstances@TPhoneCmdParamAppInfo@@QAEXH@Z @ 47 NONAME ; void TPhoneCmdParamAppInfo::SetMultipleInstances(int)
+	?Tone@TPhoneCmdParamGlobalNote@@QBEHXZ @ 48 NONAME ; int TPhoneCmdParamGlobalNote::Tone(void) const
+	?ChangePropertyValue@CPhonePubSubProxy@@QAEXABVTUid@@IH@Z @ 49 NONAME ; void CPhonePubSubProxy::ChangePropertyValue(class TUid const &, unsigned int, int)
+	?SetThumbnail@TPhoneCmdParamCallHeaderData@@QAEXPAVCFbsBitmap@@@Z @ 50 NONAME ; void TPhoneCmdParamCallHeaderData::SetThumbnail(class CFbsBitmap *)
+	?SetCbaCommandMapping@TPhoneCmdParamQuery@@QAEXHH@Z @ 51 NONAME ; void TPhoneCmdParamQuery::SetCbaCommandMapping(int, int)
+	?EventCode@TPhoneCmdParamKeyEvent@@QBE?AW4TEventCode@@XZ @ 52 NONAME ; enum TEventCode TPhoneCmdParamKeyEvent::EventCode(void) const
+	?KeyEvent@TPhoneCmdParamKeyEvent@@QBE?BUTKeyEvent@@XZ @ 53 NONAME ; struct TKeyEvent const TPhoneCmdParamKeyEvent::KeyEvent(void) const
+	?SetDataText@TPhoneCmdParamQuery@@QAEXPAVTDes16@@@Z @ 54 NONAME ; void TPhoneCmdParamQuery::SetDataText(class TDes16 *)
+	??0TPhoneCmdParamAppInfo@@QAE@XZ @ 55 NONAME ; TPhoneCmdParamAppInfo::TPhoneCmdParamAppInfo(void)
+	?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
+	?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 *)
@@ -103,216 +103,207 @@
 	?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)
-	?IsExtraChar@CPhoneKeys@@SAHH@Z @ 105 NONAME ; int CPhoneKeys::IsExtraChar(int)
-	?SetDynMenu@TPhoneCmdParamDynMenu@@QAEXPAX@Z @ 106 NONAME ; void TPhoneCmdParamDynMenu::SetDynMenu(void *)
-	?IsSecondHashKey@CPhoneKeys@@SAHABVTDes16@@@Z @ 107 NONAME ; int CPhoneKeys::IsSecondHashKey(class TDes16 const &)
-	?SetCallerImageStatus@TPhoneCmdParamRingTone@@QAEXH@Z @ 108 NONAME ; void TPhoneCmdParamRingTone::SetCallerImageStatus(int)
-	?GetReal@CPhoneCenRepProxy@@QBEHABVTUid@@IAAN@Z @ 109 NONAME ; int CPhoneCenRepProxy::GetReal(class TUid const &, unsigned int, double &) const
-	?SetShortLabelText@TPhoneCmdParamCallHeaderData@@QAEXABVTDesC16@@@Z @ 110 NONAME ; void TPhoneCmdParamCallHeaderData::SetShortLabelText(class TDesC16 const &)
-	?SetDialerController@TPhoneCmdParamCustomDialer@@QAEXPAVMPhoneDialerController@@@Z @ 111 NONAME ; void TPhoneCmdParamCustomDialer::SetDialerController(class MPhoneDialerController *)
-	?RingTone@TPhoneCmdParamRingTone@@QBEABVTDesC16@@XZ @ 112 NONAME ; class TDesC16 const & TPhoneCmdParamRingTone::RingTone(void) const
-	?TimeOut@TPhoneCmdParamQuery@@QBEHXZ @ 113 NONAME ; int TPhoneCmdParamQuery::TimeOut(void) const
-	?ShortLabelText@TPhoneCmdParamCallHeaderData@@QBEABVTDesC16@@XZ @ 114 NONAME ; class TDesC16 const & TPhoneCmdParamCallHeaderData::ShortLabelText(void) const
-	?SetInteger@TPhoneCmdParamInteger@@QAEXH@Z @ 115 NONAME ; void TPhoneCmdParamInteger::SetInteger(int)
-	?SetMaskBitmap@TPhoneCmdParamBitmap@@QAEXPAVCFbsBitmap@@@Z @ 116 NONAME ; void TPhoneCmdParamBitmap::SetMaskBitmap(class CFbsBitmap *)
-	?SetTimeout@TPhoneCmdParamNote@@QAEXW4TTimeout@CAknNoteDialog@@@Z @ 117 NONAME ; void TPhoneCmdParamNote::SetTimeout(enum CAknNoteDialog::TTimeout)
-	?IsBlockedKeysListEmpty@CPhoneStorage@@UAEHXZ @ 118 NONAME ; int CPhoneStorage::IsBlockedKeysListEmpty(void)
-	?SetCustomMessage@TPhoneCmdParamAppInfo@@QAEXABVTDesC8@@@Z @ 119 NONAME ; void TPhoneCmdParamAppInfo::SetCustomMessage(class TDesC8 const &)
-	?BaseConstructL@CPhoneResourceResolverBase@@QAEXXZ @ 120 NONAME ; void CPhoneResourceResolverBase::BaseConstructL(void)
-	?SetTextResourceId@TPhoneCmdParamNote@@QAEXH@Z @ 121 NONAME ; void TPhoneCmdParamNote::SetTextResourceId(int)
-	?SetString@TPhoneCmdParamString@@QAEXPAVTPtr16@@@Z @ 122 NONAME ; void TPhoneCmdParamString::SetString(class TPtr16 *)
-	?SetAppUid@TPhoneCmdParamAppInfo@@QAEXABVTUid@@@Z @ 123 NONAME ; void TPhoneCmdParamAppInfo::SetAppUid(class TUid const &)
-	?SetBTAccAvailable@TPhoneCmdParamAudioAvailability@@QAEXH@Z @ 124 NONAME ; void TPhoneCmdParamAudioAvailability::SetBTAccAvailable(int)
-	?IsTelephonyFeatureSupported@CPhoneCenRepProxy@@QAEHH@Z @ 125 NONAME ; int CPhoneCenRepProxy::IsTelephonyFeatureSupported(int)
-	?CallImageThemeFilePath@CPhoneCallThemeMonitor@@QBE?AVTPtrC16@@XZ @ 126 NONAME ; class TPtrC16 CPhoneCallThemeMonitor::CallImageThemeFilePath(void) const
-	?HasThumbnail@TPhoneCmdParamCallHeaderData@@QBEHXZ @ 127 NONAME ; int TPhoneCmdParamCallHeaderData::HasThumbnail(void) const
-	?ClearBlackListNow@CPhoneClearBlacklist@@QAEXXZ @ 128 NONAME ; void CPhoneClearBlacklist::ClearBlackListNow(void)
-	?SetCipheringIndicatorAllowed@TPhoneCmdParamEmergencyCallHeaderData@@QAEXH@Z @ 129 NONAME ; void TPhoneCmdParamEmergencyCallHeaderData::SetCipheringIndicatorAllowed(int)
-	?SetCommandParamId@TPhoneCmdParamQuery@@QAEXW4TPhoneParamId@TPhoneCommandParam@@@Z @ 130 NONAME ; void TPhoneCmdParamQuery::SetCommandParamId(enum TPhoneCommandParam::TPhoneParamId)
-	??0TPhoneCmdParamEmergencyCallHeaderData@@QAE@XZ @ 131 NONAME ; TPhoneCmdParamEmergencyCallHeaderData::TPhoneCmdParamEmergencyCallHeaderData(void)
-	?After@CPhoneTimer@@QAEXVTTimeIntervalMicroSeconds32@@PAVMPhoneTimer@@@Z @ 132 NONAME ; void CPhoneTimer::After(class TTimeIntervalMicroSeconds32, class MPhoneTimer *)
-	?NewL@CPhoneLibraryContainer@@SAPAV1@XZ @ 133 NONAME ; class CPhoneLibraryContainer * CPhoneLibraryContainer::NewL(void)
-	?CreateL@CPhoneClearBlacklist@@SAPAV1@AAVRWsSession@@ABVRWindowBase@@@Z @ 134 NONAME ; class CPhoneClearBlacklist * CPhoneClearBlacklist::CreateL(class RWsSession &, class RWindowBase const &)
-	??1CPhoneStorage@@UAE@XZ @ 135 NONAME ; CPhoneStorage::~CPhoneStorage(void)
-	?SetVolume@TPhoneCmdParamRingTone@@QAEXH@Z @ 136 NONAME ; void TPhoneCmdParamRingTone::SetVolume(int)
-	??0TPhoneCmdParamString@@QAE@XZ @ 137 NONAME ; TPhoneCmdParamString::TPhoneCmdParamString(void)
-	?SetContactLink@TPhoneCmdParamCallHeaderData@@QAEXABVTDesC8@@@Z @ 138 NONAME ; void TPhoneCmdParamCallHeaderData::SetContactLink(class TDesC8 const &)
-	??4TPhoneCmdParamQuery@@QAEAAV0@ABV0@@Z @ 139 NONAME ; class TPhoneCmdParamQuery & TPhoneCmdParamQuery::operator=(class TPhoneCmdParamQuery const &)
-	??0TPhoneCmdParamAudioAvailability@@QAE@XZ @ 140 NONAME ; TPhoneCmdParamAudioAvailability::TPhoneCmdParamAudioAvailability(void)
-	?GetBlockedKeyList@CPhoneStorage@@UBEABV?$RArray@H@@XZ @ 141 NONAME ; class RArray<int> const & CPhoneStorage::GetBlockedKeyList(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)
-	?SetPhoneNumber@TPhoneCmdParamSpeedDial@@QAEXPAVTPtr16@@@Z @ 159 NONAME ; void TPhoneCmdParamSpeedDial::SetPhoneNumber(class TPtr16 *)
-	?SendKeyEnabled@TPhoneCmdParamQuery@@QBEHXZ @ 160 NONAME ; int TPhoneCmdParamQuery::SendKeyEnabled(void) const
-	?SetNeedToEnableKeylock@CPhoneStorage@@UAEXH@Z @ 161 NONAME ; void CPhoneStorage::SetNeedToEnableKeylock(int)
-	?Find@CPhoneCenRepProxy@@QBEHABVTUid@@KKAAV?$RArray@K@@@Z @ 162 NONAME ; int CPhoneCenRepProxy::Find(class TUid const &, unsigned long, unsigned long, class RArray<unsigned long> &) const
-	?SetLabelText@TPhoneCmdParamCallHeaderData@@QAEXABVTDesC16@@@Z @ 163 NONAME ; void TPhoneCmdParamCallHeaderData::SetLabelText(class TDesC16 const &)
-	?CNAPText@TPhoneCmdParamCallHeaderData@@QBEABVTDesC16@@XZ @ 164 NONAME ; class TDesC16 const & TPhoneCmdParamCallHeaderData::CNAPText(void) const
-	?SetOwnPhoneNumberText@TPhoneCmdParamEmergencyCallHeaderData@@QAEXABVTDesC16@@@Z @ 165 NONAME ; void TPhoneCmdParamEmergencyCallHeaderData::SetOwnPhoneNumberText(class TDesC16 const &)
-	?Emergency@TPhoneCmdParamIncallIndicatorData@@QBEHXZ @ 166 NONAME ; int TPhoneCmdParamIncallIndicatorData::Emergency(void) const
-	?AppUid@TPhoneCmdParamAppInfo@@QBE?AVTUid@@XZ @ 167 NONAME ; class TUid TPhoneCmdParamAppInfo::AppUid(void) const
-	?CustomMessage@TPhoneCmdParamAppInfo@@QBEABVTDesC8@@XZ @ 168 NONAME ; class TDesC8 const & TPhoneCmdParamAppInfo::CustomMessage(void) const
-	?QueryResourceId@TPhoneCmdParamQuery@@QBEHXZ @ 169 NONAME ; int TPhoneCmdParamQuery::QueryResourceId(void) const
-	?SetRingTone@TPhoneCmdParamRingTone@@QAEXABVTDesC16@@@Z @ 170 NONAME ; void TPhoneCmdParamRingTone::SetRingTone(class TDesC16 const &)
-	?NotifyChangeL@CPhonePubSubProxy@@QAEXABVTUid@@IPAVMPhonePubSubObserver@@@Z @ 171 NONAME ; void CPhonePubSubProxy::NotifyChangeL(class TUid const &, unsigned int, class MPhonePubSubObserver *)
-	?AppendBlockedKeysListL@CPhoneStorage@@UAEXW4TStdScanCode@@@Z @ 172 NONAME ; void CPhoneStorage::AppendBlockedKeysListL(enum TStdScanCode)
-	?SetEmergency@TPhoneCmdParamIncallIndicatorData@@QAEXH@Z @ 173 NONAME ; void TPhoneCmdParamIncallIndicatorData::SetEmergency(int)
-	?SetDefaultCba@TPhoneCmdParamQuery@@QAEXH@Z @ 174 NONAME ; void TPhoneCmdParamQuery::SetDefaultCba(int)
-	?Type@TPhoneCmdParamTransEffect@@QBE?AW4TPhoneTransEffectType@@XZ @ 175 NONAME ; enum TPhoneTransEffectType TPhoneCmdParamTransEffect::Type(void) const
-	??0TPhoneCmdParamSfiData@@QAE@XZ @ 176 NONAME ; TPhoneCmdParamSfiData::TPhoneCmdParamSfiData(void)
-	??0TPhoneCmdParamCallHeaderData@@QAE@XZ @ 177 NONAME ; TPhoneCmdParamCallHeaderData::TPhoneCmdParamCallHeaderData(void)
-	??1CPhoneClearBlacklist@@UAE@XZ @ 178 NONAME ; CPhoneClearBlacklist::~CPhoneClearBlacklist(void)
-	?SetMute@TPhoneCmdParamIncallIndicatorData@@QAEXH@Z @ 179 NONAME ; void TPhoneCmdParamIncallIndicatorData::SetMute(int)
-	?KeyCode@TPhoneCmdParamKeyCapture@@QBE?AW4TKeyCode@@XZ @ 180 NONAME ; enum TKeyCode TPhoneCmdParamKeyCapture::KeyCode(void) const
-	?IsNumberKey@CPhoneKeys@@SAHABUTKeyEvent@@W4TEventCode@@@Z @ 181 NONAME ; int CPhoneKeys::IsNumberKey(struct TKeyEvent const &, enum TEventCode)
-	?TextResourceId@TPhoneCmdParamGlobalNote@@QBEHXZ @ 182 NONAME ; int TPhoneCmdParamGlobalNote::TextResourceId(void) const
-	?SetCiphering@TPhoneCmdParamCallHeaderData@@QAEXH@Z @ 183 NONAME ; void TPhoneCmdParamCallHeaderData::SetCiphering(int)
-	?EnablePreconditionL@CPhoneRecoverySystem@@QAEXXZ @ 184 NONAME ; void CPhoneRecoverySystem::EnablePreconditionL(void)
-	?AddL@CPhoneRecoverySystem@@QAEHVTCallBack@@CW4TRecoveryState@CTeleRecoverySystem@@@Z @ 185 NONAME ; int CPhoneRecoverySystem::AddL(class TCallBack, signed char, enum CTeleRecoverySystem::TRecoveryState)
-	?SetLine2@TPhoneCmdParamIncallIndicatorData@@QAEXH@Z @ 186 NONAME ; void TPhoneCmdParamIncallIndicatorData::SetLine2(int)
-	?SetAudioOutput@TPhoneCmdParamAudioOutput@@QAEXW4TPEAudioOutput@@@Z @ 187 NONAME ; void TPhoneCmdParamAudioOutput::SetAudioOutput(enum TPEAudioOutput)
-	?HeaderText@TPhoneCmdParamEmergencyCallHeaderData@@QBEABVTDesC16@@XZ @ 188 NONAME ; class TDesC16 const & TPhoneCmdParamEmergencyCallHeaderData::HeaderText(void) const
-	?CallImageThemeSettings@CPhoneCallThemeMonitor@@QBEHXZ @ 189 NONAME ; int CPhoneCallThemeMonitor::CallImageThemeSettings(void) const
-	?SetLocation@TPhoneCmdParamSpeedDial@@QAEXH@Z @ 190 NONAME ; void TPhoneCmdParamSpeedDial::SetLocation(int)
-	??0TPhoneCmdParamTransEffect@@QAE@XZ @ 191 NONAME ; TPhoneCmdParamTransEffect::TPhoneCmdParamTransEffect(void)
-	?Number@TPhoneCmdParamSfiData@@QBEABVTDesC16@@XZ @ 192 NONAME ; class TDesC16 const & TPhoneCmdParamSfiData::Number(void) const
-	?OwnPhoneNumberText@TPhoneCmdParamEmergencyCallHeaderData@@QBEABVTDesC16@@XZ @ 193 NONAME ; class TDesC16 const & TPhoneCmdParamEmergencyCallHeaderData::OwnPhoneNumberText(void) const
-	?QueryPrompt@TPhoneCmdParamQuery@@QBEABVTDesC16@@XZ @ 194 NONAME ; class TDesC16 const & TPhoneCmdParamQuery::QueryPrompt(void) const
-	?NewL@CPhoneQwertyHandler@@SAPAV1@XZ @ 195 NONAME ; class CPhoneQwertyHandler * CPhoneQwertyHandler::NewL(void)
-	?SetQueryPrompt@TPhoneCmdParamQuery@@QAEXABVTDesC16@@@Z @ 196 NONAME ; void TPhoneCmdParamQuery::SetQueryPrompt(class TDesC16 const &)
-	?IsNumericKey@CPhoneKeys@@SAHABUTKeyEvent@@W4TEventCode@@@Z @ 197 NONAME ; int CPhoneKeys::IsNumericKey(struct TKeyEvent const &, enum TEventCode)
-	?SetCaptureType@TPhoneCmdParamKeyCapture@@QAEXW4TPhoneCaptureType@@@Z @ 198 NONAME ; void TPhoneCmdParamKeyCapture::SetCaptureType(enum TPhoneCaptureType)
-	?ViewUid@TPhoneCmdParamAppInfo@@QBE?AVTUid@@XZ @ 199 NONAME ; class TUid TPhoneCmdParamAppInfo::ViewUid(void) const
-	?SetLabelText@TPhoneCmdParamEmergencyCallHeaderData@@QAEXABVTDesC16@@@Z @ 200 NONAME ; void TPhoneCmdParamEmergencyCallHeaderData::SetLabelText(class TDesC16 const &)
-	??0TPhoneCmdParamSpeedDial@@QAE@XZ @ 201 NONAME ; TPhoneCmdParamSpeedDial::TPhoneCmdParamSpeedDial(void)
+	?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<int> 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<unsigned long> &) 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 &)
-	?Location@TPhoneCmdParamSpeedDial@@QAEHXZ @ 205 NONAME ; int TPhoneCmdParamSpeedDial::Location(void)
-	?CipheringIndicatorAllowed@TPhoneCmdParamCallHeaderData@@QBEHXZ @ 206 NONAME ; int TPhoneCmdParamCallHeaderData::CipheringIndicatorAllowed(void) const
-	?Name@TPhoneCmdParamSfiData@@QBEABVTDesC16@@XZ @ 207 NONAME ; class TDesC16 const & TPhoneCmdParamSfiData::Name(void) const
-	??0TPhoneCmdParamQuery@@QAE@ABV0@@Z @ 208 NONAME ; TPhoneCmdParamQuery::TPhoneCmdParamQuery(class TPhoneCmdParamQuery const &)
-	?CallState@TPhoneCmdParamCallHeaderData@@QBEHXZ @ 209 NONAME ; int TPhoneCmdParamCallHeaderData::CallState(void) const
-	??0TPhoneCmdParamIncallIndicatorData@@QAE@XZ @ 210 NONAME ; TPhoneCmdParamIncallIndicatorData::TPhoneCmdParamIncallIndicatorData(void)
-	?Picture@TPhoneCmdParamCallHeaderData@@QBEABVTDesC16@@XZ @ 211 NONAME ; class TDesC16 const & TPhoneCmdParamCallHeaderData::Picture(void) const
-	?SetCallThemeSettingsObserver@CPhoneCallThemeMonitor@@QAEXPAVMPhoneCallThemeSettingsObserver@@@Z @ 212 NONAME ; void CPhoneCallThemeMonitor::SetCallThemeSettingsObserver(class MPhoneCallThemeSettingsObserver *)
-	?SetDiverted@TPhoneCmdParamCallHeaderData@@QAEXH@Z @ 213 NONAME ; void TPhoneCmdParamCallHeaderData::SetDiverted(int)
-	?ServiceId@TPhoneCmdParamCallHeaderData@@QBEKXZ @ 214 NONAME ; unsigned long TPhoneCmdParamCallHeaderData::ServiceId(void) const
-	?LabelText@TPhoneCmdParamCallHeaderData@@QBEABVTDesC16@@XZ @ 215 NONAME ; class TDesC16 const & TPhoneCmdParamCallHeaderData::LabelText(void) const
-	?Overflow@CPhoneLogger@@EAEXAAVTDes16@@@Z @ 216 NONAME ; void CPhoneLogger::Overflow(class TDes16 &)
-	?SetCNAPText@TPhoneCmdParamCallHeaderData@@QAEXABVTDesC16@@W4TPhoneTextClippingDirection@1@@Z @ 217 NONAME ; void TPhoneCmdParamCallHeaderData::SetCNAPText(class TDesC16 const &, enum TPhoneCmdParamCallHeaderData::TPhoneTextClippingDirection)
-	?SetServiceId@TPhoneCmdParamSpeedDial@@QAEXI@Z @ 218 NONAME ; void TPhoneCmdParamSpeedDial::SetServiceId(unsigned int)
-	?SetKeyEvent@TPhoneCmdParamKeyEvent@@QAEXABUTKeyEvent@@@Z @ 219 NONAME ; void TPhoneCmdParamKeyEvent::SetKeyEvent(struct TKeyEvent const &)
-	?Instance@CPhonePubSubProxy@@SAPAV1@XZ @ 220 NONAME ; class CPhonePubSubProxy * CPhonePubSubProxy::Instance(void)
-	?ResourceId@TPhoneCmdParamNote@@QBEHXZ @ 221 NONAME ; int TPhoneCmdParamNote::ResourceId(void) const
-	?CipheringIndicatorAllowed@TPhoneCmdParamEmergencyCallHeaderData@@QBEHXZ @ 222 NONAME ; int TPhoneCmdParamEmergencyCallHeaderData::CipheringIndicatorAllowed(void) const
-	?CancelAllNotifies@CPhoneCenRepProxy@@SAXPAVMPhoneCenRepObserver@@@Z @ 223 NONAME ; void CPhoneCenRepProxy::CancelAllNotifies(class MPhoneCenRepObserver *)
-	??1CPhoneQwertyHandler@@UAE@XZ @ 224 NONAME ; CPhoneQwertyHandler::~CPhoneQwertyHandler(void)
-	?TextResourceId@TPhoneCmdParamNote@@QBEHXZ @ 225 NONAME ; int TPhoneCmdParamNote::TextResourceId(void) const
-	?SetRemotePhoneNumber@TPhoneCmdParamCallHeaderData@@QAEXABVTDesC16@@@Z @ 226 NONAME ; void TPhoneCmdParamCallHeaderData::SetRemotePhoneNumber(class TDesC16 const &)
-	?CipheringIndicatorAllowed@TPhoneCmdParamIncallIndicatorData@@QBEHXZ @ 227 NONAME ; int TPhoneCmdParamIncallIndicatorData::CipheringIndicatorAllowed(void) const
-	?SetScreenLocked@CPhoneStorage@@UAEXH@Z @ 228 NONAME ; void CPhoneStorage::SetScreenLocked(int)
-	??0TPhoneCmdParamCallStateData@@QAE@XZ @ 229 NONAME ; TPhoneCmdParamCallStateData::TPhoneCmdParamCallStateData(void)
-	?SetKeyCode@TPhoneCmdParamKeyCapture@@QAEXW4TKeyCode@@@Z @ 230 NONAME ; void TPhoneCmdParamKeyCapture::SetKeyCode(enum TKeyCode)
-	?CustomMessageId@TPhoneCmdParamAppInfo@@QBE?AVTUid@@XZ @ 231 NONAME ; class TUid TPhoneCmdParamAppInfo::CustomMessageId(void) const
-	?RemotePhoneNumber@TPhoneCmdParamCallHeaderData@@QBEABVTDesC16@@XZ @ 232 NONAME ; class TDesC16 const & TPhoneCmdParamCallHeaderData::RemotePhoneNumber(void) const
-	?SetType@TPhoneCmdParamNote@@QAEXW4TPhoneNoteType@@@Z @ 233 NONAME ; void TPhoneCmdParamNote::SetType(enum TPhoneNoteType)
-	?Instance@CPhoneClearBlacklist@@SAPAV1@XZ @ 234 NONAME ; class CPhoneClearBlacklist * CPhoneClearBlacklist::Instance(void)
-	?TextToSay@TPhoneCmdParamRingTone@@QBEABVTDesC16@@XZ @ 235 NONAME ; class TDesC16 const & TPhoneCmdParamRingTone::TextToSay(void) const
-	?Type@TPhoneCmdParamNote@@QBE?AW4TPhoneNoteType@@XZ @ 236 NONAME ; enum TPhoneNoteType TPhoneCmdParamNote::Type(void) const
-	?SetPicture@TPhoneCmdParamCallHeaderData@@QAEXABVTDesC16@@@Z @ 237 NONAME ; void TPhoneCmdParamCallHeaderData::SetPicture(class TDesC16 const &)
-	?Integer@TPhoneCmdParamInteger@@QBEHXZ @ 238 NONAME ; int TPhoneCmdParamInteger::Integer(void) const
-	?Mode@TPhoneCmdParamIncallIndicatorData@@QBEHXZ @ 239 NONAME ; int TPhoneCmdParamIncallIndicatorData::Mode(void) const
-	?SetText@TPhoneCmdParamNote@@QAEXABVTDesC16@@@Z @ 240 NONAME ; void TPhoneCmdParamNote::SetText(class TDesC16 const &)
-	?SetCallerTextStatus@TPhoneCmdParamRingTone@@QAEXH@Z @ 241 NONAME ; void TPhoneCmdParamRingTone::SetCallerTextStatus(int)
-	?IsWiredAccAvailable@TPhoneCmdParamAudioAvailability@@QBEHXZ @ 242 NONAME ; int TPhoneCmdParamAudioAvailability::IsWiredAccAvailable(void) const
-	?SetWaitForReady@TPhoneCmdParamGlobalNote@@QAEXH@Z @ 243 NONAME ; void TPhoneCmdParamGlobalNote::SetWaitForReady(int)
-	??0TPhoneCmdParamBoolean@@QAE@XZ @ 244 NONAME ; TPhoneCmdParamBoolean::TPhoneCmdParamBoolean(void)
-	?QueryCommandObserver@TPhoneCmdParamQuery@@QAEPAVMPhoneQueryCommandObserver@@XZ @ 245 NONAME ; class MPhoneQueryCommandObserver * TPhoneCmdParamQuery::QueryCommandObserver(void)
-	?DataText@TPhoneCmdParamQuery@@QBEPAVTDes16@@XZ @ 246 NONAME ; class TDes16 * TPhoneCmdParamQuery::DataText(void) const
-	?SetReal@CPhoneCenRepProxy@@QAEHABVTUid@@IN@Z @ 247 NONAME ; int CPhoneCenRepProxy::SetReal(class TUid const &, unsigned int, double)
-	??0TPhoneCmdParamCustomDialer@@QAE@XZ @ 248 NONAME ; TPhoneCmdParamCustomDialer::TPhoneCmdParamCustomDialer(void)
-	??1CPhonePubSubProxy@@UAE@XZ @ 249 NONAME ; CPhonePubSubProxy::~CPhonePubSubProxy(void)
-	?NumericKeyCode@CPhoneQwertyHandler@@QAEHABUTKeyEvent@@@Z @ 250 NONAME ; int CPhoneQwertyHandler::NumericKeyCode(struct TKeyEvent const &)
-	??0TPhoneCmdParamNote@@QAE@XZ @ 251 NONAME ; TPhoneCmdParamNote::TPhoneCmdParamNote(void)
-	?Volume@TPhoneCmdParamRingTone@@QBEHXZ @ 252 NONAME ; int TPhoneCmdParamRingTone::Volume(void) const
-	?SetItemTextArrayForListQuery@TPhoneCmdParamQuery@@QAEXAAVMDesC16Array@@@Z @ 253 NONAME ; void TPhoneCmdParamQuery::SetItemTextArrayForListQuery(class MDesC16Array &)
-	?Type@TPhoneCmdParamRingTone@@QBE?AW4TPhoneRingToneType@@XZ @ 254 NONAME ; enum TPhoneRingToneType TPhoneCmdParamRingTone::Type(void) const
-	?Key@TPhoneCmdParamKeyCapture@@QBE?AW4TStdScanCode@@XZ @ 255 NONAME ; enum TStdScanCode TPhoneCmdParamKeyCapture::Key(void) const
-	?LabelText@TPhoneCmdParamEmergencyCallHeaderData@@QBEABVTDesC16@@XZ @ 256 NONAME ; class TDesC16 const & TPhoneCmdParamEmergencyCallHeaderData::LabelText(void) const
-	?Ciphering@TPhoneCmdParamIncallIndicatorData@@QBEHXZ @ 257 NONAME ; int TPhoneCmdParamIncallIndicatorData::Ciphering(void) const
-	?SetQueryCommandObserver@TPhoneCmdParamQuery@@QAEXAAVMPhoneQueryCommandObserver@@@Z @ 258 NONAME ; void TPhoneCmdParamQuery::SetQueryCommandObserver(class MPhoneQueryCommandObserver &)
-	?IsPhoneUIFeatureSupported@CPhoneCenRepProxy@@QAEHH@Z @ 259 NONAME ; int CPhoneCenRepProxy::IsPhoneUIFeatureSupported(int)
-	?DefaultCba@TPhoneCmdParamQuery@@QBEHXZ @ 260 NONAME ; int TPhoneCmdParamQuery::DefaultCba(void) const
-	?CallState@TPhoneCmdParamIncallIndicatorData@@QBEHXZ @ 261 NONAME ; int TPhoneCmdParamIncallIndicatorData::CallState(void) const
-	??0TPhoneCmdParamNumberEntryObserver@@QAE@XZ @ 262 NONAME ; TPhoneCmdParamNumberEntryObserver::TPhoneCmdParamNumberEntryObserver(void)
-	?SetLine2@TPhoneCmdParamCallHeaderData@@QAEXH@Z @ 263 NONAME ; void TPhoneCmdParamCallHeaderData::SetLine2(int)
-	?FetchValuesFromCenRepL@CPhoneCenRepProxy@@QAEXAAVTPhoneCmdParamAppInfo@@W4TKeyCode@@PAVHBufC8@@AAH@Z @ 264 NONAME ; void CPhoneCenRepProxy::FetchValuesFromCenRepL(class TPhoneCmdParamAppInfo &, enum TKeyCode, class HBufC8 *, int &)
-	?ParticipantCLI@TPhoneCmdParamCallHeaderData@@QBE?AW4TPhoneParticipantListCLI@1@XZ @ 265 NONAME ; enum TPhoneCmdParamCallHeaderData::TPhoneParticipantListCLI TPhoneCmdParamCallHeaderData::ParticipantCLI(void) const
-	?Thumbnail@TPhoneCmdParamCallHeaderData@@QBEPAVCFbsBitmap@@XZ @ 266 NONAME ; class CFbsBitmap * TPhoneCmdParamCallHeaderData::Thumbnail(void) const
-	?SetTimeOut@TPhoneCmdParamQuery@@QAEXH@Z @ 267 NONAME ; void TPhoneCmdParamQuery::SetTimeOut(int)
-	?Boolean@TPhoneCmdParamBoolean@@QBEHXZ @ 268 NONAME ; int TPhoneCmdParamBoolean::Boolean(void) const
-	?CLITextClippingDirection@TPhoneCmdParamCallHeaderData@@QBE?AW4TPhoneTextClippingDirection@1@XZ @ 269 NONAME ; enum TPhoneCmdParamCallHeaderData::TPhoneTextClippingDirection TPhoneCmdParamCallHeaderData::CLITextClippingDirection(void) const
-	?LogMsgFromPhoneUIToPE@CPhoneLogger@@QAEXHH@Z @ 270 NONAME ; void CPhoneLogger::LogMsgFromPhoneUIToPE(int, int)
-	?SetCustomMessageId@TPhoneCmdParamAppInfo@@QAEXABVTUid@@@Z @ 271 NONAME ; void TPhoneCmdParamAppInfo::SetCustomMessageId(class TUid const &)
-	?ResolveResourceID@CPhoneResourceResolverBase@@UBEHABH@Z @ 272 NONAME ; int CPhoneResourceResolverBase::ResolveResourceID(int const &) const
-	?SetName@TPhoneCmdParamSfiData@@QAEXABVTDesC16@@@Z @ 273 NONAME ; void TPhoneCmdParamSfiData::SetName(class TDesC16 const &)
-	?SetType@TPhoneCmdParamGlobalNote@@QAEXW4TAknGlobalNoteType@@@Z @ 274 NONAME ; void TPhoneCmdParamGlobalNote::SetType(enum TAknGlobalNoteType)
-	?SetLittleBubbleVisible@TPhoneCmdParamIncallIndicatorData@@QAEXH@Z @ 275 NONAME ; void TPhoneCmdParamIncallIndicatorData::SetLittleBubbleVisible(int)
-	?Ciphering@TPhoneCmdParamCallHeaderData@@QBEHXZ @ 276 NONAME ; int TPhoneCmdParamCallHeaderData::Ciphering(void) const
-	?SetType@TPhoneCmdParamRingTone@@QAEXW4TPhoneRingToneType@@@Z @ 277 NONAME ; void TPhoneCmdParamRingTone::SetType(enum TPhoneRingToneType)
-	?ResourceId@TPhoneCmdParamDynMenu@@QBEHXZ @ 278 NONAME ; int TPhoneCmdParamDynMenu::ResourceId(void) const
-	?SetCipheringIndicatorAllowed@TPhoneCmdParamCallHeaderData@@QAEXH@Z @ 279 NONAME ; void TPhoneCmdParamCallHeaderData::SetCipheringIndicatorAllowed(int)
-	?SetWaitTime@TPhoneCmdParamProgressNote@@QAEXVTTimeIntervalMicroSeconds32@@@Z @ 280 NONAME ; void TPhoneCmdParamProgressNote::SetWaitTime(class TTimeIntervalMicroSeconds32)
-	?Ciphering@TPhoneCmdParamEmergencyCallHeaderData@@QBEHXZ @ 281 NONAME ; int TPhoneCmdParamEmergencyCallHeaderData::Ciphering(void) const
-	??1CPhoneCallThemeMonitor@@UAE@XZ @ 282 NONAME ; CPhoneCallThemeMonitor::~CPhoneCallThemeMonitor(void)
-	?SetNumberType@TPhoneCmdParamCallHeaderData@@QAEXH@Z @ 283 NONAME ; void TPhoneCmdParamCallHeaderData::SetNumberType(int)
-	?Mute@TPhoneCmdParamIncallIndicatorData@@QBEHXZ @ 284 NONAME ; int TPhoneCmdParamIncallIndicatorData::Mute(void) const
-	?IsQwertyInput@CPhoneQwertyHandler@@QBEHXZ @ 285 NONAME ; int CPhoneQwertyHandler::IsQwertyInput(void) const
-	?SetBoolean@TPhoneCmdParamBoolean@@QAEXH@Z @ 286 NONAME ; void TPhoneCmdParamBoolean::SetBoolean(int)
-	?IsTelephonyFeatureSupported@CPhoneResourceResolverBase@@MBEHH@Z @ 287 NONAME ; int CPhoneResourceResolverBase::IsTelephonyFeatureSupported(int) const
-	?Instance@CPhoneMainErrorMessagesHandler@@SAPAV1@XZ @ 288 NONAME ; class CPhoneMainErrorMessagesHandler * CPhoneMainErrorMessagesHandler::Instance(void)
-	?SetViewUid@TPhoneCmdParamAppInfo@@QAEXABVTUid@@@Z @ 289 NONAME ; void TPhoneCmdParamAppInfo::SetViewUid(class TUid const &)
-	?SetServiceId@TPhoneCmdParamCallHeaderData@@QAEXK@Z @ 290 NONAME ; void TPhoneCmdParamCallHeaderData::SetServiceId(unsigned long)
-	?Instance@CPhoneCenRepProxy@@SAPAV1@XZ @ 291 NONAME ; class CPhoneCenRepProxy * CPhoneCenRepProxy::Instance(void)
-	?SetQueryType@TPhoneCmdParamQuery@@QAEXW4TPhoneQueryType@@@Z @ 292 NONAME ; void TPhoneCmdParamQuery::SetQueryType(enum TPhoneQueryType)
-	?Value@CPhonePubSubProxy@@QAEHABVTUid@@I@Z @ 293 NONAME ; int CPhonePubSubProxy::Value(class TUid const &, unsigned int)
-	?SetWiredAccAvailable@TPhoneCmdParamAudioAvailability@@QAEXH@Z @ 294 NONAME ; void TPhoneCmdParamAudioAvailability::SetWiredAccAvailable(int)
-	??0TPhoneCmdParamAudioOutput@@QAE@XZ @ 295 NONAME ; TPhoneCmdParamAudioOutput::TPhoneCmdParamAudioOutput(void)
-	?IsCallerImage@TPhoneCmdParamRingTone@@QAEHXZ @ 296 NONAME ; int TPhoneCmdParamRingTone::IsCallerImage(void)
-	??0TPhoneCmdParamQuery@@QAE@XZ @ 297 NONAME ; TPhoneCmdParamQuery::TPhoneCmdParamQuery(void)
-	?Instance@CPhoneMainResourceResolver@@SAPAV1@XZ @ 298 NONAME ; class CPhoneMainResourceResolver * CPhoneMainResourceResolver::Instance(void)
-	?ServiceId@TPhoneCmdParamSpeedDial@@QBEIXZ @ 299 NONAME ; unsigned int TPhoneCmdParamSpeedDial::ServiceId(void) const
-	??1CPhoneLibraryContainer@@UAE@XZ @ 300 NONAME ; CPhoneLibraryContainer::~CPhoneLibraryContainer(void)
-	?ClearBlackListOnNextKey@CPhoneClearBlacklist@@QAEXXZ @ 301 NONAME ; void CPhoneClearBlacklist::ClearBlackListOnNextKey(void)
-	?Tone@TPhoneCmdParamQuery@@QBEHXZ @ 302 NONAME ; int TPhoneCmdParamQuery::Tone(void) const
-	?SetNumberType@TPhoneCmdParamSpeedDial@@QAEXW4TPhoneNumberType@@@Z @ 303 NONAME ; void TPhoneCmdParamSpeedDial::SetNumberType(enum TPhoneNumberType)
-	?SetRingingType@TPhoneCmdParamRingTone@@QAEXH@Z @ 304 NONAME ; void TPhoneCmdParamRingTone::SetRingingType(int)
-	?SetCiphering@TPhoneCmdParamIncallIndicatorData@@QAEXH@Z @ 305 NONAME ; void TPhoneCmdParamIncallIndicatorData::SetCiphering(int)
-	?SetCipheringIndicatorAllowed@TPhoneCmdParamIncallIndicatorData@@QAEXH@Z @ 306 NONAME ; void TPhoneCmdParamIncallIndicatorData::SetCipheringIndicatorAllowed(int)
-	?NeedToEnableKeylock@CPhoneStorage@@UAEHXZ @ 307 NONAME ; int CPhoneStorage::NeedToEnableKeylock(void)
-	?AudioOutput@TPhoneCmdParamAudioOutput@@QBE?AW4TPEAudioOutput@@XZ @ 308 NONAME ; enum TPEAudioOutput TPhoneCmdParamAudioOutput::AudioOutput(void) const
-	?SetResourceId@TPhoneCmdParamProgressNote@@QAEXH@Z @ 309 NONAME ; void TPhoneCmdParamProgressNote::SetResourceId(int)
-	??0TPhoneCmdParamInteger@@QAE@XZ @ 310 NONAME ; TPhoneCmdParamInteger::TPhoneCmdParamInteger(void)
-	?SetType@TPhoneCmdParamTransEffect@@QAEXW4TPhoneTransEffectType@@@Z @ 311 NONAME ; void TPhoneCmdParamTransEffect::SetType(enum TPhoneTransEffectType)
-	?Bitmap@TPhoneCmdParamBitmap@@QBEPAVCFbsBitmap@@XZ @ 312 NONAME ; class CFbsBitmap * TPhoneCmdParamBitmap::Bitmap(void) const
-	?SetTone@TPhoneCmdParamGlobalNote@@QAEXH@Z @ 313 NONAME ; void TPhoneCmdParamGlobalNote::SetTone(int)
-	?After@CPhoneTimer@@QAEXVTTimeIntervalMicroSeconds32@@VTCallBack@@@Z @ 314 NONAME ; void CPhoneTimer::After(class TTimeIntervalMicroSeconds32, class TCallBack)
-	?SetTimeout@TPhoneCmdParamGlobalNote@@QAEXH@Z @ 315 NONAME ; void TPhoneCmdParamGlobalNote::SetTimeout(int)
-	?Timeout@TPhoneCmdParamGlobalNote@@QBEHXZ @ 316 NONAME ; int TPhoneCmdParamGlobalNote::Timeout(void) 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)
 
--- a/phoneapp/phoneuiutils/eabi/phoneuiutilsu.def	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuiutils/eabi/phoneuiutilsu.def	Thu Jul 22 16:33:21 2010 +0100
@@ -73,349 +73,331 @@
 	_ZN18TPhoneCmdParamNoteC2Ev @ 72 NONAME
 	_ZN18TPhoneCommandParamC1Ev @ 73 NONAME
 	_ZN18TPhoneCommandParamC2Ev @ 74 NONAME
-	_ZN19CPhoneQwertyHandler14NumericKeyCodeERK9TKeyEvent @ 75 NONAME
-	_ZN19CPhoneQwertyHandler4NewLEv @ 76 NONAME
-	_ZN19CPhoneQwertyHandlerD0Ev @ 77 NONAME
-	_ZN19CPhoneQwertyHandlerD1Ev @ 78 NONAME
-	_ZN19CPhoneQwertyHandlerD2Ev @ 79 NONAME
-	_ZN19TPhoneCmdParamQuery10SetTimeOutEi @ 80 NONAME
-	_ZN19TPhoneCmdParamQuery11SetDataTextEP6TDes16 @ 81 NONAME
-	_ZN19TPhoneCmdParamQuery12SetQueryTypeE15TPhoneQueryType @ 82 NONAME
-	_ZN19TPhoneCmdParamQuery13SetContentCbaEi @ 83 NONAME
-	_ZN19TPhoneCmdParamQuery13SetDefaultCbaEi @ 84 NONAME
-	_ZN19TPhoneCmdParamQuery14SetQueryPromptERK7TDesC16 @ 85 NONAME
-	_ZN19TPhoneCmdParamQuery17SetCommandParamIdEN18TPhoneCommandParam13TPhoneParamIdE @ 86 NONAME
-	_ZN19TPhoneCmdParamQuery17SetSendKeyEnabledEi @ 87 NONAME
-	_ZN19TPhoneCmdParamQuery18SetQueryResourceIdEi @ 88 NONAME
-	_ZN19TPhoneCmdParamQuery20QueryCommandObserverEv @ 89 NONAME
-	_ZN19TPhoneCmdParamQuery20SetCbaCommandMappingEii @ 90 NONAME
-	_ZN19TPhoneCmdParamQuery23SetQueryCommandObserverER26MPhoneQueryCommandObserver @ 91 NONAME
-	_ZN19TPhoneCmdParamQuery26SetCustomCommandForTimeOutEi @ 92 NONAME
-	_ZN19TPhoneCmdParamQuery28SetItemTextArrayForListQueryER12MDesC16Array @ 93 NONAME
-	_ZN19TPhoneCmdParamQuery7SetToneEi @ 94 NONAME
-	_ZN19TPhoneCmdParamQueryC1ERKS_ @ 95 NONAME
-	_ZN19TPhoneCmdParamQueryC1Ev @ 96 NONAME
-	_ZN19TPhoneCmdParamQueryC2ERKS_ @ 97 NONAME
-	_ZN19TPhoneCmdParamQueryC2Ev @ 98 NONAME
-	_ZN19TPhoneCmdParamQueryaSERKS_ @ 99 NONAME
-	_ZN20CPhoneClearBlacklist17ClearBlackListNowEv @ 100 NONAME
-	_ZN20CPhoneClearBlacklist23ClearBlackListOnNextKeyEv @ 101 NONAME
-	_ZN20CPhoneClearBlacklist7CreateLER10RWsSessionRK11RWindowBase @ 102 NONAME
-	_ZN20CPhoneClearBlacklist8InstanceEv @ 103 NONAME
-	_ZN20CPhoneClearBlacklistD0Ev @ 104 NONAME
-	_ZN20CPhoneClearBlacklistD1Ev @ 105 NONAME
-	_ZN20CPhoneClearBlacklistD2Ev @ 106 NONAME
-	_ZN20CPhoneRecoverySystem10RecoverNowEiai @ 107 NONAME
-	_ZN20CPhoneRecoverySystem19EnablePreconditionLEv @ 108 NONAME
-	_ZN20CPhoneRecoverySystem4AddLE9TCallBackaN19CTeleRecoverySystem14TRecoveryStateE @ 109 NONAME
-	_ZN20CPhoneRecoverySystem6RemoveEi @ 110 NONAME
-	_ZN20CPhoneRecoverySystem8InstanceEv @ 111 NONAME
-	_ZN20TPhoneCmdParamBitmap13SetMaskBitmapEP10CFbsBitmap @ 112 NONAME
-	_ZN20TPhoneCmdParamBitmap9SetBitmapEP10CFbsBitmap @ 113 NONAME
-	_ZN20TPhoneCmdParamBitmapC1Ev @ 114 NONAME
-	_ZN20TPhoneCmdParamBitmapC2Ev @ 115 NONAME
-	_ZN20TPhoneCmdParamString6StringEv @ 116 NONAME
-	_ZN20TPhoneCmdParamString9SetStringEP6TPtr16 @ 117 NONAME
-	_ZN20TPhoneCmdParamStringC1Ev @ 118 NONAME
-	_ZN20TPhoneCmdParamStringC2Ev @ 119 NONAME
-	_ZN21TPhoneCmdParamAppInfo10SetViewUidERK4TUid @ 120 NONAME
-	_ZN21TPhoneCmdParamAppInfo16SetCustomMessageERK6TDesC8 @ 121 NONAME
-	_ZN21TPhoneCmdParamAppInfo18SetCustomMessageIdERK4TUid @ 122 NONAME
-	_ZN21TPhoneCmdParamAppInfo20SetMultipleInstancesEi @ 123 NONAME
-	_ZN21TPhoneCmdParamAppInfo8SetParamERK6TDesC8 @ 124 NONAME
-	_ZN21TPhoneCmdParamAppInfo9SetAppUidERK4TUid @ 125 NONAME
-	_ZN21TPhoneCmdParamAppInfoC1Ev @ 126 NONAME
-	_ZN21TPhoneCmdParamAppInfoC2Ev @ 127 NONAME
-	_ZN21TPhoneCmdParamBoolean10SetBooleanEi @ 128 NONAME
-	_ZN21TPhoneCmdParamBooleanC1Ev @ 129 NONAME
-	_ZN21TPhoneCmdParamBooleanC2Ev @ 130 NONAME
-	_ZN21TPhoneCmdParamDynMenu10SetDynMenuEPv @ 131 NONAME
-	_ZN21TPhoneCmdParamDynMenu13SetResourceIdEi @ 132 NONAME
-	_ZN21TPhoneCmdParamDynMenu7DynMenuEv @ 133 NONAME
-	_ZN21TPhoneCmdParamDynMenuC1Ev @ 134 NONAME
-	_ZN21TPhoneCmdParamDynMenuC2Ev @ 135 NONAME
-	_ZN21TPhoneCmdParamInteger10SetIntegerEi @ 136 NONAME
-	_ZN21TPhoneCmdParamIntegerC1Ev @ 137 NONAME
-	_ZN21TPhoneCmdParamIntegerC2Ev @ 138 NONAME
-	_ZN21TPhoneCmdParamPointer10SetPointerEPv @ 139 NONAME
-	_ZN21TPhoneCmdParamPointerC1Ev @ 140 NONAME
-	_ZN21TPhoneCmdParamPointerC2Ev @ 141 NONAME
-	_ZN21TPhoneCmdParamSfiData7SetNameERK7TDesC16 @ 142 NONAME
-	_ZN21TPhoneCmdParamSfiData9SetNumberERK7TDesC16 @ 143 NONAME
-	_ZN21TPhoneCmdParamSfiDataC1Ev @ 144 NONAME
-	_ZN21TPhoneCmdParamSfiDataC2Ev @ 145 NONAME
-	_ZN22CPhoneCallThemeMonitor28SetCallThemeSettingsObserverEP31MPhoneCallThemeSettingsObserver @ 146 NONAME
-	_ZN22CPhoneCallThemeMonitor4NewLEv @ 147 NONAME
-	_ZN22CPhoneCallThemeMonitorD0Ev @ 148 NONAME
-	_ZN22CPhoneCallThemeMonitorD1Ev @ 149 NONAME
-	_ZN22CPhoneCallThemeMonitorD2Ev @ 150 NONAME
-	_ZN22CPhoneLibraryContainer11AddLibraryLERK8RLibrary @ 151 NONAME
-	_ZN22CPhoneLibraryContainer4NewLEv @ 152 NONAME
-	_ZN22CPhoneLibraryContainerD0Ev @ 153 NONAME
-	_ZN22CPhoneLibraryContainerD1Ev @ 154 NONAME
-	_ZN22CPhoneLibraryContainerD2Ev @ 155 NONAME
-	_ZN22TPhoneCmdParamKeyEvent11SetKeyEventERK9TKeyEvent @ 156 NONAME
-	_ZN22TPhoneCmdParamKeyEvent12SetEventCodeE10TEventCode @ 157 NONAME
-	_ZN22TPhoneCmdParamKeyEventC1Ev @ 158 NONAME
-	_ZN22TPhoneCmdParamKeyEventC2Ev @ 159 NONAME
-	_ZN22TPhoneCmdParamRingTone11SetRingToneERK7TDesC16 @ 160 NONAME
-	_ZN22TPhoneCmdParamRingTone12IsCallerTextEv @ 161 NONAME
-	_ZN22TPhoneCmdParamRingTone12SetTextToSayERK7TDesC16 @ 162 NONAME
-	_ZN22TPhoneCmdParamRingTone13IsCallerImageEv @ 163 NONAME
-	_ZN22TPhoneCmdParamRingTone14SetRingingTypeEi @ 164 NONAME
-	_ZN22TPhoneCmdParamRingTone19SetCallerTextStatusEi @ 165 NONAME
-	_ZN22TPhoneCmdParamRingTone20SetCallerImageStatusEi @ 166 NONAME
-	_ZN22TPhoneCmdParamRingTone7SetTypeE18TPhoneRingToneType @ 167 NONAME
-	_ZN22TPhoneCmdParamRingTone9SetVolumeEi @ 168 NONAME
-	_ZN22TPhoneCmdParamRingToneC1Ev @ 169 NONAME
-	_ZN22TPhoneCmdParamRingToneC2Ev @ 170 NONAME
-	_ZN23TPhoneCmdParamSpeedDial10NumberTypeEv @ 171 NONAME
-	_ZN23TPhoneCmdParamSpeedDial11PhoneNumberEv @ 172 NONAME
-	_ZN23TPhoneCmdParamSpeedDial11SetLocationEi @ 173 NONAME
-	_ZN23TPhoneCmdParamSpeedDial12SetServiceIdEj @ 174 NONAME
-	_ZN23TPhoneCmdParamSpeedDial13SetNumberTypeE16TPhoneNumberType @ 175 NONAME
-	_ZN23TPhoneCmdParamSpeedDial14SetPhoneNumberEP6TPtr16 @ 176 NONAME
-	_ZN23TPhoneCmdParamSpeedDial8LocationEv @ 177 NONAME
-	_ZN23TPhoneCmdParamSpeedDialC1Ev @ 178 NONAME
-	_ZN23TPhoneCmdParamSpeedDialC2Ev @ 179 NONAME
-	_ZN24TPhoneCmdParamGlobalNote11SetSoftkeysEi @ 180 NONAME
-	_ZN24TPhoneCmdParamGlobalNote15SetWaitForReadyEi @ 181 NONAME
-	_ZN24TPhoneCmdParamGlobalNote17SetTextResourceIdEi @ 182 NONAME
-	_ZN24TPhoneCmdParamGlobalNote7SetTextERK7TDesC16 @ 183 NONAME
-	_ZN24TPhoneCmdParamGlobalNote7SetToneEi @ 184 NONAME
-	_ZN24TPhoneCmdParamGlobalNote7SetTypeE18TAknGlobalNoteType @ 185 NONAME
-	_ZN24TPhoneCmdParamGlobalNoteC1Ev @ 186 NONAME
-	_ZN24TPhoneCmdParamGlobalNoteC2Ev @ 187 NONAME
-	_ZN24TPhoneCmdParamKeyCapture10SetKeyCodeE8TKeyCode @ 188 NONAME
-	_ZN24TPhoneCmdParamKeyCapture14SetCaptureTypeE17TPhoneCaptureType @ 189 NONAME
-	_ZN24TPhoneCmdParamKeyCapture6SetKeyE12TStdScanCode @ 190 NONAME
-	_ZN24TPhoneCmdParamKeyCaptureC1Ev @ 191 NONAME
-	_ZN24TPhoneCmdParamKeyCaptureC2Ev @ 192 NONAME
-	_ZN25TPhoneCmdParamAudioOutput14SetAudioOutputE14TPEAudioOutput @ 193 NONAME
-	_ZN25TPhoneCmdParamAudioOutputC1Ev @ 194 NONAME
-	_ZN25TPhoneCmdParamAudioOutputC2Ev @ 195 NONAME
-	_ZN25TPhoneCmdParamTransEffect7SetTypeE21TPhoneTransEffectType @ 196 NONAME
-	_ZN25TPhoneCmdParamTransEffectC1Ev @ 197 NONAME
-	_ZN25TPhoneCmdParamTransEffectC2Ev @ 198 NONAME
-	_ZN26CPhoneMainResourceResolver8InstanceEv @ 199 NONAME
-	_ZN26CPhoneResourceResolverBase14BaseConstructLEv @ 200 NONAME
-	_ZN26CPhoneResourceResolverBaseC1Ev @ 201 NONAME
-	_ZN26CPhoneResourceResolverBaseC2Ev @ 202 NONAME
-	_ZN26CPhoneResourceResolverBaseD0Ev @ 203 NONAME
-	_ZN26CPhoneResourceResolverBaseD1Ev @ 204 NONAME
-	_ZN26CPhoneResourceResolverBaseD2Ev @ 205 NONAME
-	_ZN26TPhoneCmdParamCustomDialer16DialerControllerEv @ 206 NONAME
-	_ZN26TPhoneCmdParamCustomDialer19SetDialerControllerEP22MPhoneDialerController @ 207 NONAME
-	_ZN26TPhoneCmdParamCustomDialerC1Ev @ 208 NONAME
-	_ZN26TPhoneCmdParamCustomDialerC2Ev @ 209 NONAME
-	_ZN26TPhoneCmdParamProgressNote11SetWaitTimeE27TTimeIntervalMicroSeconds32 @ 210 NONAME
-	_ZN26TPhoneCmdParamProgressNote13SetResourceIdEi @ 211 NONAME
-	_ZN26TPhoneCmdParamProgressNoteC1Ev @ 212 NONAME
-	_ZN26TPhoneCmdParamProgressNoteC2Ev @ 213 NONAME
-	_ZN27TPhoneCmdParamCallStateData12SetCallStateEi @ 214 NONAME
-	_ZN27TPhoneCmdParamCallStateData9SetCallIdEi @ 215 NONAME
-	_ZN27TPhoneCmdParamCallStateDataC1Ev @ 216 NONAME
-	_ZN27TPhoneCmdParamCallStateDataC2Ev @ 217 NONAME
-	_ZN28TPhoneCmdParamCallHeaderData10SetCLITextERK7TDesC16NS_27TPhoneTextClippingDirectionE @ 218 NONAME
-	_ZN28TPhoneCmdParamCallHeaderData10SetPictureERK7TDesC16 @ 219 NONAME
-	_ZN28TPhoneCmdParamCallHeaderData11SetCNAPTextERK7TDesC16NS_27TPhoneTextClippingDirectionE @ 220 NONAME
-	_ZN28TPhoneCmdParamCallHeaderData11SetCallTypeEi @ 221 NONAME
-	_ZN28TPhoneCmdParamCallHeaderData11SetDivertedEi @ 222 NONAME
-	_ZN28TPhoneCmdParamCallHeaderData12SetCallStateEi @ 223 NONAME
-	_ZN28TPhoneCmdParamCallHeaderData12SetCipheringEi @ 224 NONAME
-	_ZN28TPhoneCmdParamCallHeaderData12SetLabelTextERK7TDesC16 @ 225 NONAME
-	_ZN28TPhoneCmdParamCallHeaderData12SetServiceIdEm @ 226 NONAME
-	_ZN28TPhoneCmdParamCallHeaderData12SetThumbnailEP10CFbsBitmap @ 227 NONAME
-	_ZN28TPhoneCmdParamCallHeaderData13SetCallerTextERK7TDesC16 @ 228 NONAME
-	_ZN28TPhoneCmdParamCallHeaderData13SetNumberTypeEi @ 229 NONAME
-	_ZN28TPhoneCmdParamCallHeaderData14SetContactLinkERK6TDesC8 @ 230 NONAME
-	_ZN28TPhoneCmdParamCallHeaderData15SetHasThumbnailEi @ 231 NONAME
-	_ZN28TPhoneCmdParamCallHeaderData17SetShortLabelTextERK7TDesC16 @ 232 NONAME
-	_ZN28TPhoneCmdParamCallHeaderData20SetRemotePhoneNumberERK7TDesC16 @ 233 NONAME
-	_ZN28TPhoneCmdParamCallHeaderData21SetParticipantListCLIENS_24TPhoneParticipantListCLIE @ 234 NONAME
-	_ZN28TPhoneCmdParamCallHeaderData28SetCipheringIndicatorAllowedEi @ 235 NONAME
-	_ZN28TPhoneCmdParamCallHeaderData8SetLine2Ei @ 236 NONAME
-	_ZN28TPhoneCmdParamCallHeaderDataC1Ev @ 237 NONAME
-	_ZN28TPhoneCmdParamCallHeaderDataC2Ev @ 238 NONAME
-	_ZN30CPhoneMainErrorMessagesHandler8InstanceEv @ 239 NONAME
-	_ZN31TPhoneCmdParamAudioAvailability17SetBTAccAvailableEi @ 240 NONAME
-	_ZN31TPhoneCmdParamAudioAvailability20SetWiredAccAvailableEi @ 241 NONAME
-	_ZN31TPhoneCmdParamAudioAvailabilityC1Ev @ 242 NONAME
-	_ZN31TPhoneCmdParamAudioAvailabilityC2Ev @ 243 NONAME
-	_ZN33TPhoneCmdParamIncallIndicatorData12SetCallStateEi @ 244 NONAME
-	_ZN33TPhoneCmdParamIncallIndicatorData12SetCipheringEi @ 245 NONAME
-	_ZN33TPhoneCmdParamIncallIndicatorData12SetEmergencyEi @ 246 NONAME
-	_ZN33TPhoneCmdParamIncallIndicatorData22SetLittleBubbleVisibleEi @ 247 NONAME
-	_ZN33TPhoneCmdParamIncallIndicatorData28SetCipheringIndicatorAllowedEi @ 248 NONAME
-	_ZN33TPhoneCmdParamIncallIndicatorData7SetModeEi @ 249 NONAME
-	_ZN33TPhoneCmdParamIncallIndicatorData7SetMuteEi @ 250 NONAME
-	_ZN33TPhoneCmdParamIncallIndicatorData8SetLine2Ei @ 251 NONAME
-	_ZN33TPhoneCmdParamIncallIndicatorDataC1Ev @ 252 NONAME
-	_ZN33TPhoneCmdParamIncallIndicatorDataC2Ev @ 253 NONAME
-	_ZN33TPhoneCmdParamNumberEntryObserver11SetObserverE9TCallBack @ 254 NONAME
-	_ZN33TPhoneCmdParamNumberEntryObserver8ObserverEv @ 255 NONAME
-	_ZN33TPhoneCmdParamNumberEntryObserverC1Ev @ 256 NONAME
-	_ZN33TPhoneCmdParamNumberEntryObserverC2Ev @ 257 NONAME
-	_ZN37TPhoneCmdParamEmergencyCallHeaderData12SetCipheringEi @ 258 NONAME
-	_ZN37TPhoneCmdParamEmergencyCallHeaderData12SetLabelTextERK7TDesC16 @ 259 NONAME
-	_ZN37TPhoneCmdParamEmergencyCallHeaderData13SetHeaderTextERK7TDesC16 @ 260 NONAME
-	_ZN37TPhoneCmdParamEmergencyCallHeaderData21SetOwnPhoneNumberTextERK7TDesC16 @ 261 NONAME
-	_ZN37TPhoneCmdParamEmergencyCallHeaderData28SetCipheringIndicatorAllowedEi @ 262 NONAME
-	_ZN37TPhoneCmdParamEmergencyCallHeaderDataC1Ev @ 263 NONAME
-	_ZN37TPhoneCmdParamEmergencyCallHeaderDataC2Ev @ 264 NONAME
-	_ZNK13CPhoneStorage17GetBlockedKeyListEv @ 265 NONAME
-	_ZNK17CPhoneCenRepProxy4FindERK4TUidmmR6RArrayImE @ 266 NONAME
-	_ZNK17CPhoneCenRepProxy6GetIntERK4TUidjRi @ 267 NONAME
-	_ZNK17CPhoneCenRepProxy7GetRealERK4TUidjRd @ 268 NONAME
-	_ZNK17CPhoneCenRepProxy9GetStringERK4TUidjR6TDes16 @ 269 NONAME
-	_ZNK18TPhoneCmdParamNote10ResourceIdEv @ 270 NONAME
-	_ZNK18TPhoneCmdParamNote14TextResourceIdEv @ 271 NONAME
-	_ZNK18TPhoneCmdParamNote4TextEv @ 272 NONAME
-	_ZNK18TPhoneCmdParamNote4ToneEv @ 273 NONAME
-	_ZNK18TPhoneCmdParamNote4TypeEv @ 274 NONAME
-	_ZNK18TPhoneCmdParamNote7TimeoutEv @ 275 NONAME
-	_ZNK18TPhoneCommandParam7ParamIdEv @ 276 NONAME
-	_ZNK19CPhoneQwertyHandler13IsQwertyInputEv @ 277 NONAME
-	_ZNK19TPhoneCmdParamQuery10ContentCbaEv @ 278 NONAME
-	_ZNK19TPhoneCmdParamQuery10DefaultCbaEv @ 279 NONAME
-	_ZNK19TPhoneCmdParamQuery11QueryPromptEv @ 280 NONAME
-	_ZNK19TPhoneCmdParamQuery14SendKeyEnabledEv @ 281 NONAME
-	_ZNK19TPhoneCmdParamQuery15QueryResourceIdEv @ 282 NONAME
-	_ZNK19TPhoneCmdParamQuery17CbaCommandMappingEi @ 283 NONAME
-	_ZNK19TPhoneCmdParamQuery25ItemTextArrayForListQueryEv @ 284 NONAME
-	_ZNK19TPhoneCmdParamQuery26GetCustomCommandForTimeOutERi @ 285 NONAME
-	_ZNK19TPhoneCmdParamQuery4ToneEv @ 286 NONAME
-	_ZNK19TPhoneCmdParamQuery7TimeOutEv @ 287 NONAME
-	_ZNK19TPhoneCmdParamQuery8DataTextEv @ 288 NONAME
-	_ZNK19TPhoneCmdParamQuery9QueryTypeEv @ 289 NONAME
-	_ZNK20TPhoneCmdParamBitmap10MaskBitmapEv @ 290 NONAME
-	_ZNK20TPhoneCmdParamBitmap6BitmapEv @ 291 NONAME
-	_ZNK21TPhoneCmdParamAppInfo13CustomMessageEv @ 292 NONAME
-	_ZNK21TPhoneCmdParamAppInfo15CustomMessageIdEv @ 293 NONAME
-	_ZNK21TPhoneCmdParamAppInfo17MultipleInstancesEv @ 294 NONAME
-	_ZNK21TPhoneCmdParamAppInfo5ParamEv @ 295 NONAME
-	_ZNK21TPhoneCmdParamAppInfo6AppUidEv @ 296 NONAME
-	_ZNK21TPhoneCmdParamAppInfo7ViewUidEv @ 297 NONAME
-	_ZNK21TPhoneCmdParamBoolean7BooleanEv @ 298 NONAME
-	_ZNK21TPhoneCmdParamDynMenu10ResourceIdEv @ 299 NONAME
-	_ZNK21TPhoneCmdParamInteger7IntegerEv @ 300 NONAME
-	_ZNK21TPhoneCmdParamPointer7PointerEv @ 301 NONAME
-	_ZNK21TPhoneCmdParamSfiData4NameEv @ 302 NONAME
-	_ZNK21TPhoneCmdParamSfiData6NumberEv @ 303 NONAME
-	_ZNK22CPhoneCallThemeMonitor22CallImageThemeFilePathEv @ 304 NONAME
-	_ZNK22CPhoneCallThemeMonitor22CallImageThemeSettingsEv @ 305 NONAME
-	_ZNK22TPhoneCmdParamKeyEvent8KeyEventEv @ 306 NONAME
-	_ZNK22TPhoneCmdParamKeyEvent9EventCodeEv @ 307 NONAME
-	_ZNK22TPhoneCmdParamRingTone11RingingTypeEv @ 308 NONAME
-	_ZNK22TPhoneCmdParamRingTone4TypeEv @ 309 NONAME
-	_ZNK22TPhoneCmdParamRingTone6VolumeEv @ 310 NONAME
-	_ZNK22TPhoneCmdParamRingTone8RingToneEv @ 311 NONAME
-	_ZNK22TPhoneCmdParamRingTone9TextToSayEv @ 312 NONAME
-	_ZNK23TPhoneCmdParamSpeedDial9ServiceIdEv @ 313 NONAME
-	_ZNK24TPhoneCmdParamGlobalNote12WaitForReadyEv @ 314 NONAME
-	_ZNK24TPhoneCmdParamGlobalNote14TextResourceIdEv @ 315 NONAME
-	_ZNK24TPhoneCmdParamGlobalNote4TextEv @ 316 NONAME
-	_ZNK24TPhoneCmdParamGlobalNote4ToneEv @ 317 NONAME
-	_ZNK24TPhoneCmdParamGlobalNote4TypeEv @ 318 NONAME
-	_ZNK24TPhoneCmdParamGlobalNote8SoftkeysEv @ 319 NONAME
-	_ZNK24TPhoneCmdParamKeyCapture11CaptureTypeEv @ 320 NONAME
-	_ZNK24TPhoneCmdParamKeyCapture3KeyEv @ 321 NONAME
-	_ZNK24TPhoneCmdParamKeyCapture7KeyCodeEv @ 322 NONAME
-	_ZNK25TPhoneCmdParamAudioOutput11AudioOutputEv @ 323 NONAME
-	_ZNK25TPhoneCmdParamTransEffect4TypeEv @ 324 NONAME
-	_ZNK26CPhoneResourceResolverBase17ResolveResourceIDERKi @ 325 NONAME
-	_ZNK26CPhoneResourceResolverBase27IsTelephonyFeatureSupportedEi @ 326 NONAME
-	_ZNK26TPhoneCmdParamProgressNote10ResourceIdEv @ 327 NONAME
-	_ZNK26TPhoneCmdParamProgressNote8WaitTimeEv @ 328 NONAME
-	_ZNK27TPhoneCmdParamCallStateData6CallIdEv @ 329 NONAME
-	_ZNK27TPhoneCmdParamCallStateData9CallStateEv @ 330 NONAME
-	_ZNK28TPhoneCmdParamCallHeaderData10CallerTextEv @ 331 NONAME
-	_ZNK28TPhoneCmdParamCallHeaderData10NumberTypeEv @ 332 NONAME
-	_ZNK28TPhoneCmdParamCallHeaderData11ContactLinkEv @ 333 NONAME
-	_ZNK28TPhoneCmdParamCallHeaderData12HasThumbnailEv @ 334 NONAME
-	_ZNK28TPhoneCmdParamCallHeaderData14ParticipantCLIEv @ 335 NONAME
-	_ZNK28TPhoneCmdParamCallHeaderData14ShortLabelTextEv @ 336 NONAME
-	_ZNK28TPhoneCmdParamCallHeaderData17RemotePhoneNumberEv @ 337 NONAME
-	_ZNK28TPhoneCmdParamCallHeaderData24CLITextClippingDirectionEv @ 338 NONAME
-	_ZNK28TPhoneCmdParamCallHeaderData25CNAPTextClippingDirectionEv @ 339 NONAME
-	_ZNK28TPhoneCmdParamCallHeaderData25CipheringIndicatorAllowedEv @ 340 NONAME
-	_ZNK28TPhoneCmdParamCallHeaderData5Line2Ev @ 341 NONAME
-	_ZNK28TPhoneCmdParamCallHeaderData7CLITextEv @ 342 NONAME
-	_ZNK28TPhoneCmdParamCallHeaderData7PictureEv @ 343 NONAME
-	_ZNK28TPhoneCmdParamCallHeaderData8CNAPTextEv @ 344 NONAME
-	_ZNK28TPhoneCmdParamCallHeaderData8CallTypeEv @ 345 NONAME
-	_ZNK28TPhoneCmdParamCallHeaderData8DivertedEv @ 346 NONAME
-	_ZNK28TPhoneCmdParamCallHeaderData9CallStateEv @ 347 NONAME
-	_ZNK28TPhoneCmdParamCallHeaderData9CipheringEv @ 348 NONAME
-	_ZNK28TPhoneCmdParamCallHeaderData9LabelTextEv @ 349 NONAME
-	_ZNK28TPhoneCmdParamCallHeaderData9ServiceIdEv @ 350 NONAME
-	_ZNK28TPhoneCmdParamCallHeaderData9ThumbnailEv @ 351 NONAME
-	_ZNK31TPhoneCmdParamAudioAvailability16IsBTAccAvailableEv @ 352 NONAME
-	_ZNK31TPhoneCmdParamAudioAvailability19IsWiredAccAvailableEv @ 353 NONAME
-	_ZNK33TPhoneCmdParamIncallIndicatorData19LittleBubbleVisibleEv @ 354 NONAME
-	_ZNK33TPhoneCmdParamIncallIndicatorData25CipheringIndicatorAllowedEv @ 355 NONAME
-	_ZNK33TPhoneCmdParamIncallIndicatorData4ModeEv @ 356 NONAME
-	_ZNK33TPhoneCmdParamIncallIndicatorData4MuteEv @ 357 NONAME
-	_ZNK33TPhoneCmdParamIncallIndicatorData5Line2Ev @ 358 NONAME
-	_ZNK33TPhoneCmdParamIncallIndicatorData9CallStateEv @ 359 NONAME
-	_ZNK33TPhoneCmdParamIncallIndicatorData9CipheringEv @ 360 NONAME
-	_ZNK33TPhoneCmdParamIncallIndicatorData9EmergencyEv @ 361 NONAME
-	_ZNK37TPhoneCmdParamEmergencyCallHeaderData10HeaderTextEv @ 362 NONAME
-	_ZNK37TPhoneCmdParamEmergencyCallHeaderData18OwnPhoneNumberTextEv @ 363 NONAME
-	_ZNK37TPhoneCmdParamEmergencyCallHeaderData25CipheringIndicatorAllowedEv @ 364 NONAME
-	_ZNK37TPhoneCmdParamEmergencyCallHeaderData9CipheringEv @ 365 NONAME
-	_ZNK37TPhoneCmdParamEmergencyCallHeaderData9LabelTextEv @ 366 NONAME
-	_ZTI11CPhoneTimer @ 367 NONAME
-	_ZTI12CPhoneLogger @ 368 NONAME
-	_ZTI13CPhoneStorage @ 369 NONAME
-	_ZTI17CPhoneCenRepProxy @ 370 NONAME
-	_ZTI17CPhonePubSubProxy @ 371 NONAME
-	_ZTI18CPhoneMethodLogger @ 372 NONAME
-	_ZTI19CPhoneQwertyHandler @ 373 NONAME
-	_ZTI20CPhoneClearBlacklist @ 374 NONAME
-	_ZTI20CPhoneRecoverySystem @ 375 NONAME
-	_ZTI22CPhoneCallThemeMonitor @ 376 NONAME
-	_ZTI22CPhoneLibraryContainer @ 377 NONAME
-	_ZTI23CPhoneQwertyModeMonitor @ 378 NONAME
-	_ZTI24CPhoneCenRepEventHandler @ 379 NONAME
-	_ZTI24CPhoneLangSettingMonitor @ 380 NONAME
-	_ZTI25CPhonePublishSubscriberAO @ 381 NONAME
-	_ZTI26CPhoneMainResourceResolver @ 382 NONAME
-	_ZTI26CPhoneResourceResolverBase @ 383 NONAME
-	_ZTI30CPhoneMainErrorMessagesHandler @ 384 NONAME
-	_ZTV11CPhoneTimer @ 385 NONAME
-	_ZTV12CPhoneLogger @ 386 NONAME
-	_ZTV13CPhoneStorage @ 387 NONAME
-	_ZTV17CPhoneCenRepProxy @ 388 NONAME
-	_ZTV17CPhonePubSubProxy @ 389 NONAME
-	_ZTV18CPhoneMethodLogger @ 390 NONAME
-	_ZTV19CPhoneQwertyHandler @ 391 NONAME
-	_ZTV20CPhoneClearBlacklist @ 392 NONAME
-	_ZTV20CPhoneRecoverySystem @ 393 NONAME
-	_ZTV22CPhoneCallThemeMonitor @ 394 NONAME
-	_ZTV22CPhoneLibraryContainer @ 395 NONAME
-	_ZTV23CPhoneQwertyModeMonitor @ 396 NONAME
-	_ZTV24CPhoneCenRepEventHandler @ 397 NONAME
-	_ZTV24CPhoneLangSettingMonitor @ 398 NONAME
-	_ZTV25CPhonePublishSubscriberAO @ 399 NONAME
-	_ZTV26CPhoneMainResourceResolver @ 400 NONAME
-	_ZTV26CPhoneResourceResolverBase @ 401 NONAME
-	_ZTV30CPhoneMainErrorMessagesHandler @ 402 NONAME
-	_ZThn4_N12CPhoneLoggerD0Ev @ 403 NONAME
-	_ZThn4_N12CPhoneLoggerD1Ev @ 404 NONAME
-	_ZThn4_N13CPhoneStorage14IsScreenLockedEv @ 405 NONAME
-	_ZThn4_N13CPhoneStorage15SetScreenLockedEi @ 406 NONAME
-	_ZThn4_N13CPhoneStorage19NeedToEnableKeylockEv @ 407 NONAME
-	_ZThn4_N13CPhoneStorage20ResetBlockedKeysListEv @ 408 NONAME
-	_ZThn4_N13CPhoneStorage22AppendBlockedKeysListLE12TStdScanCode @ 409 NONAME
-	_ZThn4_N13CPhoneStorage22IsBlockedKeysListEmptyEv @ 410 NONAME
-	_ZThn4_N13CPhoneStorage22SetNeedToEnableKeylockEi @ 411 NONAME
-	_ZThn4_N13CPhoneStorageD0Ev @ 412 NONAME
-	_ZThn4_N13CPhoneStorageD1Ev @ 413 NONAME
-	_ZThn4_N26CPhoneResourceResolverBaseD0Ev @ 414 NONAME
-	_ZThn4_N26CPhoneResourceResolverBaseD1Ev @ 415 NONAME
-	_ZThn4_NK13CPhoneStorage17GetBlockedKeyListEv @ 416 NONAME
-	_ZThn4_NK26CPhoneResourceResolverBase17ResolveResourceIDERKi @ 417 NONAME
-	_ZN24TPhoneCmdParamGlobalNote10SetTimeoutEi @ 418 NONAME
-	_ZNK24TPhoneCmdParamGlobalNote7TimeoutEv @ 419 NONAME
+	_ZN19TPhoneCmdParamQuery10SetTimeOutEi @ 75 NONAME
+	_ZN19TPhoneCmdParamQuery11SetDataTextEP6TDes16 @ 76 NONAME
+	_ZN19TPhoneCmdParamQuery12SetQueryTypeE15TPhoneQueryType @ 77 NONAME
+	_ZN19TPhoneCmdParamQuery13SetContentCbaEi @ 78 NONAME
+	_ZN19TPhoneCmdParamQuery13SetDefaultCbaEi @ 79 NONAME
+	_ZN19TPhoneCmdParamQuery14SetQueryPromptERK7TDesC16 @ 80 NONAME
+	_ZN19TPhoneCmdParamQuery17SetCommandParamIdEN18TPhoneCommandParam13TPhoneParamIdE @ 81 NONAME
+	_ZN19TPhoneCmdParamQuery17SetSendKeyEnabledEi @ 82 NONAME
+	_ZN19TPhoneCmdParamQuery18SetQueryResourceIdEi @ 83 NONAME
+	_ZN19TPhoneCmdParamQuery20QueryCommandObserverEv @ 84 NONAME
+	_ZN19TPhoneCmdParamQuery20SetCbaCommandMappingEii @ 85 NONAME
+	_ZN19TPhoneCmdParamQuery23SetQueryCommandObserverER26MPhoneQueryCommandObserver @ 86 NONAME
+	_ZN19TPhoneCmdParamQuery26SetCustomCommandForTimeOutEi @ 87 NONAME
+	_ZN19TPhoneCmdParamQuery28SetItemTextArrayForListQueryER12MDesC16Array @ 88 NONAME
+	_ZN19TPhoneCmdParamQuery7SetToneEi @ 89 NONAME
+	_ZN19TPhoneCmdParamQueryC1ERKS_ @ 90 NONAME
+	_ZN19TPhoneCmdParamQueryC1Ev @ 91 NONAME
+	_ZN19TPhoneCmdParamQueryC2ERKS_ @ 92 NONAME
+	_ZN19TPhoneCmdParamQueryC2Ev @ 93 NONAME
+	_ZN19TPhoneCmdParamQueryaSERKS_ @ 94 NONAME
+	_ZN20CPhoneClearBlacklist17ClearBlackListNowEv @ 95 NONAME
+	_ZN20CPhoneClearBlacklist23ClearBlackListOnNextKeyEv @ 96 NONAME
+	_ZN20CPhoneClearBlacklist7CreateLER10RWsSessionRK11RWindowBase @ 97 NONAME
+	_ZN20CPhoneClearBlacklist8InstanceEv @ 98 NONAME
+	_ZN20CPhoneClearBlacklistD0Ev @ 99 NONAME
+	_ZN20CPhoneClearBlacklistD1Ev @ 100 NONAME
+	_ZN20CPhoneClearBlacklistD2Ev @ 101 NONAME
+	_ZN20CPhoneRecoverySystem10RecoverNowEiai @ 102 NONAME
+	_ZN20CPhoneRecoverySystem19EnablePreconditionLEv @ 103 NONAME
+	_ZN20CPhoneRecoverySystem4AddLE9TCallBackaN19CTeleRecoverySystem14TRecoveryStateE @ 104 NONAME
+	_ZN20CPhoneRecoverySystem6RemoveEi @ 105 NONAME
+	_ZN20CPhoneRecoverySystem8InstanceEv @ 106 NONAME
+	_ZN20TPhoneCmdParamBitmap13SetMaskBitmapEP10CFbsBitmap @ 107 NONAME
+	_ZN20TPhoneCmdParamBitmap9SetBitmapEP10CFbsBitmap @ 108 NONAME
+	_ZN20TPhoneCmdParamBitmapC1Ev @ 109 NONAME
+	_ZN20TPhoneCmdParamBitmapC2Ev @ 110 NONAME
+	_ZN20TPhoneCmdParamString6StringEv @ 111 NONAME
+	_ZN20TPhoneCmdParamString9SetStringEP6TPtr16 @ 112 NONAME
+	_ZN20TPhoneCmdParamStringC1Ev @ 113 NONAME
+	_ZN20TPhoneCmdParamStringC2Ev @ 114 NONAME
+	_ZN21TPhoneCmdParamAppInfo10SetViewUidERK4TUid @ 115 NONAME
+	_ZN21TPhoneCmdParamAppInfo16SetCustomMessageERK6TDesC8 @ 116 NONAME
+	_ZN21TPhoneCmdParamAppInfo18SetCustomMessageIdERK4TUid @ 117 NONAME
+	_ZN21TPhoneCmdParamAppInfo20SetMultipleInstancesEi @ 118 NONAME
+	_ZN21TPhoneCmdParamAppInfo8SetParamERK6TDesC8 @ 119 NONAME
+	_ZN21TPhoneCmdParamAppInfo9SetAppUidERK4TUid @ 120 NONAME
+	_ZN21TPhoneCmdParamAppInfoC1Ev @ 121 NONAME
+	_ZN21TPhoneCmdParamAppInfoC2Ev @ 122 NONAME
+	_ZN21TPhoneCmdParamBoolean10SetBooleanEi @ 123 NONAME
+	_ZN21TPhoneCmdParamBooleanC1Ev @ 124 NONAME
+	_ZN21TPhoneCmdParamBooleanC2Ev @ 125 NONAME
+	_ZN21TPhoneCmdParamDynMenu10SetDynMenuEPv @ 126 NONAME
+	_ZN21TPhoneCmdParamDynMenu13SetResourceIdEi @ 127 NONAME
+	_ZN21TPhoneCmdParamDynMenu7DynMenuEv @ 128 NONAME
+	_ZN21TPhoneCmdParamDynMenuC1Ev @ 129 NONAME
+	_ZN21TPhoneCmdParamDynMenuC2Ev @ 130 NONAME
+	_ZN21TPhoneCmdParamInteger10SetIntegerEi @ 131 NONAME
+	_ZN21TPhoneCmdParamIntegerC1Ev @ 132 NONAME
+	_ZN21TPhoneCmdParamIntegerC2Ev @ 133 NONAME
+	_ZN21TPhoneCmdParamPointer10SetPointerEPv @ 134 NONAME
+	_ZN21TPhoneCmdParamPointerC1Ev @ 135 NONAME
+	_ZN21TPhoneCmdParamPointerC2Ev @ 136 NONAME
+	_ZN21TPhoneCmdParamSfiData7SetNameERK7TDesC16 @ 137 NONAME
+	_ZN21TPhoneCmdParamSfiData9SetNumberERK7TDesC16 @ 138 NONAME
+	_ZN21TPhoneCmdParamSfiDataC1Ev @ 139 NONAME
+	_ZN21TPhoneCmdParamSfiDataC2Ev @ 140 NONAME
+	_ZN22CPhoneCallThemeMonitor28SetCallThemeSettingsObserverEP31MPhoneCallThemeSettingsObserver @ 141 NONAME
+	_ZN22CPhoneCallThemeMonitor4NewLEv @ 142 NONAME
+	_ZN22CPhoneCallThemeMonitorD0Ev @ 143 NONAME
+	_ZN22CPhoneCallThemeMonitorD1Ev @ 144 NONAME
+	_ZN22CPhoneCallThemeMonitorD2Ev @ 145 NONAME
+	_ZN22CPhoneLibraryContainer11AddLibraryLERK8RLibrary @ 146 NONAME
+	_ZN22CPhoneLibraryContainer4NewLEv @ 147 NONAME
+	_ZN22CPhoneLibraryContainerD0Ev @ 148 NONAME
+	_ZN22CPhoneLibraryContainerD1Ev @ 149 NONAME
+	_ZN22CPhoneLibraryContainerD2Ev @ 150 NONAME
+	_ZN22TPhoneCmdParamKeyEvent11SetKeyEventERK9TKeyEvent @ 151 NONAME
+	_ZN22TPhoneCmdParamKeyEvent12SetEventCodeE10TEventCode @ 152 NONAME
+	_ZN22TPhoneCmdParamKeyEventC1Ev @ 153 NONAME
+	_ZN22TPhoneCmdParamKeyEventC2Ev @ 154 NONAME
+	_ZN22TPhoneCmdParamRingTone11SetRingToneERK7TDesC16 @ 155 NONAME
+	_ZN22TPhoneCmdParamRingTone12IsCallerTextEv @ 156 NONAME
+	_ZN22TPhoneCmdParamRingTone12SetTextToSayERK7TDesC16 @ 157 NONAME
+	_ZN22TPhoneCmdParamRingTone13IsCallerImageEv @ 158 NONAME
+	_ZN22TPhoneCmdParamRingTone14SetRingingTypeEi @ 159 NONAME
+	_ZN22TPhoneCmdParamRingTone19SetCallerTextStatusEi @ 160 NONAME
+	_ZN22TPhoneCmdParamRingTone20SetCallerImageStatusEi @ 161 NONAME
+	_ZN22TPhoneCmdParamRingTone7SetTypeE18TPhoneRingToneType @ 162 NONAME
+	_ZN22TPhoneCmdParamRingTone9SetVolumeEi @ 163 NONAME
+	_ZN22TPhoneCmdParamRingToneC1Ev @ 164 NONAME
+	_ZN22TPhoneCmdParamRingToneC2Ev @ 165 NONAME
+	_ZN24TPhoneCmdParamGlobalNote10SetTimeoutEi @ 166 NONAME
+	_ZN24TPhoneCmdParamGlobalNote11SetSoftkeysEi @ 167 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
 
--- a/phoneapp/phoneuiutils/group/phoneuiutils.mmp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuiutils/group/phoneuiutils.mmp	Thu Jul 22 16:33:21 2010 +0100
@@ -39,15 +39,12 @@
 SOURCE          cphonecenrepproxy.cpp
 SOURCE          cphoneclearblacklist.cpp
 SOURCE          cphonekeys.cpp
-SOURCE          cphonelangsettingmonitor.cpp
 SOURCE          cphonelibrarycontainer.cpp
 SOURCE          cphonelogger.cpp
 SOURCE          cphonemainresourceresolver.cpp
 SOURCE          cphonemainerrormessageshandler.cpp
 SOURCE          cphonepublishsubscriberao.cpp
 SOURCE          cphonepubsubproxy.cpp
-SOURCE          cphoneqwertyhandler.cpp
-SOURCE          cphoneqwertymodemonitor.cpp
 SOURCE          cphonerecoverysystem.cpp
 SOURCE          cphoneresourceresolverbase.cpp
 SOURCE          cphonetimer.cpp
@@ -86,7 +83,6 @@
 // <-- QT PHONE START -->
 //SOURCE          tphonecmdparamsingleitemfetch.cpp
 // <-- QT PHONE END -->
-SOURCE          tphonecmdparamspeeddial.cpp
 SOURCE          tphonecmdparamstring.cpp
 SOURCE          tphonecommandparam.cpp
 SOURCE          tphonecmdparamtranseffect.cpp
--- a/phoneapp/phoneuiutils/inc/cphonelangsettingmonitor.h	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,102 +0,0 @@
-/*
-* Copyright (c) 2006 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:  Monitor for input language setting
-*
-*/
-
-#ifndef CPHONELANGSETTINGMONITOR_H
-#define CPHONELANGSETTINGMONITOR_H
-
-//  INCLUDES
-#include    <e32base.h>
-#include    "mphonecenrepobserver.h" 
-
-// CLASS DECLARATION
-// FORWARD DECLARATIONS
-class MPhoneLangSettingObserver;
-
-/**
-*  Monitor for call theme settings.
-*
-*/
-class CPhoneLangSettingMonitor : public CBase, private MPhoneCenRepObserver
-    {
-    public:
-
-        /**
-        * Two-phased constructor.
-        */
-        static CPhoneLangSettingMonitor* NewL();
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CPhoneLangSettingMonitor();
-
-    public: // New functions
-        
-        /**
-        * Get input language id.
-        * @since Series 60 3.1
-        * @return Language id.
-        */
-        TInt InputLanguage() const;
-        
-        /**
-        * Add observer.
-        * @since Series 60 3.1
-        * @param aObserver Observer.
-        */
-        void AddObserverL( MPhoneLangSettingObserver& aObserver );
-
-        /**
-        * Remove observer.
-        * @since Series 60 3.1
-        * @param aObserver Observer.
-        */
-        void RemoveObserver( MPhoneLangSettingObserver& aObserver );
-
-    protected:  // Functions from base classes
-
-        /**
-        * Handle the change of the setting from Central Repository
-        * @param aUid identifing the central repository UID.
-        * @param aId central repository ID.
-        */
-        virtual void HandleCenRepChangeL( 
-            const TUid& aUid,
-            const TUint aId );
-            
-    private:
-
-        /**
-        * C++ default constructor.
-        */
-        CPhoneLangSettingMonitor();
-
-        /**
-        * By default Symbian 2nd phase constructor is private.
-        */
-        void ConstructL();
-
-    private:    // Data                
-        // AI Setting Change Observer array.
-        RPointerArray< MPhoneLangSettingObserver > iObserverArray;
-        // Language Setting.
-        TInt  iInputLanguageSetting;
-    };
-
-#endif      // CPHONELANGSETTINGMONITOR_H   
-            
-// End of File
--- a/phoneapp/phoneuiutils/inc/cphoneqwertyhandler.h	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,124 +0,0 @@
-/*
-* Copyright (c) 2006 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:  Input method related functionality.
-*
-*/
-
-
-
-#ifndef CPHONEQWERTYHANDLER_H
-#define CPHONEQWERTYHANDLER_H
-
-//  INCLUDES
-#include <e32base.h>
-#include "mphoneqwertymodeobserver.h"
-#include "mphonelangsettingobserver.h"
-#include <PtiDefs.h>
-#include <w32std.h>
-
-// CONSTANTS
-
-// FORWARD DECLARATIONS
-class CPhoneLangSettingMonitor;
-class CPhoneQwertyModeMonitor;
-
-// CLASS DECLARATION
-
-/**
-*  Input method related functionality.
-*
-*/
-class CPhoneQwertyHandler : public CBase, 
-                            private MPhoneLangSettingObserver,
-                            private MPhoneQwertyModeObserver
-    {
-    friend class T_CPhoneQwertyHandlerUT;
-    
-    public:
-
-        /**
-        * Two-phased constructor.
-        */
-        IMPORT_C static CPhoneQwertyHandler* NewL();
-        
-        /**
-        * Destructor.
-        */
-        IMPORT_C virtual ~CPhoneQwertyHandler();
-
-        /**
-        * Checks if qwerty input is used.
-        * @return ETrue if in qwerty mode.
-        */
-        IMPORT_C TBool IsQwertyInput() const;
-        
-        /**
-        * Gets keycode according to current keyboard mapping. 
-        */
-        IMPORT_C TInt NumericKeyCode( const TKeyEvent& aKeyEvent );
-
-    private:
-    
-        /**
-        * @see MIdleLangSettingObserver.
-        */
-        void HandleInputLanguageSettingChange( TInt aLanguage );
-        
-        /**
-        * @see MIdleQwertyModeObserver.
-        */
-        void HandleQwertyModeChange( TInt aMode );
-        
-        /**
-        * @see MIdleQwertyModeObserver.
-        */
-        void HandleKeyboardLayoutChange();
-
-        /**
-        * C++ default constructor.
-        */
-        CPhoneQwertyHandler();
-                                  
-        /**
-        * By default Symbian 2nd phase constructor is private.
-        */
-        void ConstructL();
-        
-        /**
-        * LoadNumericKeyBindings
-        */
-        void LoadNumericKeyBindings( TInt aLanguage, TInt aKeyboard );
-
-
-    private:    // Data
-        
-        // Input language
-        TInt iInputLanguageId;
-        
-        // Qwerty mode
-        TInt iQwertyMode;
-        
-        // Language setting monitor            
-        CPhoneLangSettingMonitor* iLangSettingMonitor;
-        
-        // Qwerty mode monitor
-        CPhoneQwertyModeMonitor* iQwertyModeMonitor;
-        
-        // RArray
-        RArray<TPtiNumericKeyBinding> iNumericKeys;
-    };
-
-#endif // CPHONEQWERTYHANDLER_H   
-            
-// End of File
--- a/phoneapp/phoneuiutils/inc/cphoneqwertymodemonitor.h	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,137 +0,0 @@
-/*
-* Copyright (c) 2006 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:  Qwerty Mode Monitor.
-*
-*/
-
-
-#ifndef CPHONEQWERTYMODEMONITOR_H 
-#define CPHONEQWERTYMODEMONITOR_H 
-
-//  INCLUDES
-#include    "mphonepubsubobserver.h" 
-#include    "mphoneqwertymodeobserver.h"
-
-
-// CLASS DECLARATION
-
-/**
-*  Qwerty Mode Monitor.
-*/
-class CPhoneQwertyModeMonitor 
-    : public CBase, 
-      private MPhonePubSubObserver
-    {
-    friend class T_CPhoneQwertyModeMonitorUT;
-    
-    public: // Constructors and destructor
-
-        /**
-        * Two-phased constructor.
-        * @return New instance
-        */
-        static  CPhoneQwertyModeMonitor* NewL();
-        /**
-        * Destructor.
-        */
-        virtual ~CPhoneQwertyModeMonitor();
-
-    protected: // Functions from base classes
-        
-        /**
-        * Handle the change of the setting from P&S key.
-        * @param aUid identifing the P&S gategory.
-        * @param aId P&S key.
-        * @param aValue Current value of the key.
-        */
-        virtual void HandlePropertyChangedL( 
-            const TUid& aCategory,
-            const TUint aKey,
-            const TInt aValue );
-
-    public: // New methods
-
-        /**
-        * Gets current qwerty mode.
-        * @return Current qwerty mode.
-        */
-        TInt QwertyMode() const;
-
-        /**
-        * Gets current keyboard.
-        * @return Current keyboard.
-        */
-        TInt Keyboard() const;
-                
-        /**
-        * Adds qwerty mdoe observer.
-        * @param aObserver Observer object.
-        */
-        void AddObserverL( MPhoneQwertyModeObserver& aObserver );
-
-        /**
-        * Removes qwerty mode observer.
-        * @param aObserver Observer object.
-        */
-        void RemoveObserver( MPhoneQwertyModeObserver& aObserver );
-        
-    private: 
-
-        /**
-        * C++ default constructor.
-        */
-        CPhoneQwertyModeMonitor();
-
-        /**
-        * By default Symbian OS constructor is private.
-        */
-        void ConstructL();
-        
-        /**
-        * Current qwerty mode.
-        */
-        TInt GetQwertyMode() const;
-
-        /**
-         * Current keyboard.
-         */
-        TInt GetKeyboard() const;
-
-    private:    // Data
-
-        // Call State Change Observer array.
-        RPointerArray< MPhoneQwertyModeObserver > iObserverArray;
-
-        // Current qwerty mode.
-        TInt iQwertyMode;
-        
-        //Current keyboard.
-        TInt iKeyboard;
-    };
-
-#endif      // CPHONEQWERTYMODEMONITOR_H 
-
-// End of File
-
-
-
-
-
-
-
-
-
-
-
-
--- a/phoneapp/phoneuiutils/inc/phoneconstants.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuiutils/inc/phoneconstants.h	Thu Jul 22 16:33:21 2010 +0100
@@ -46,9 +46,7 @@
 const TUid KPhoneUidAppPhonebook = { 0x101F4CCE };  // PhoneBook
 const TUid KPhoneUidAppPhoneInfo = { 0x101fc0ef };  // Phone Info
 const TUid KPhoneUidAppFTD = { 0x100058F2 };        // Field Test Display
-const TUid KDeviceManagerUid = {0x101F6DE5};        // Device manager application  
 const TUid KUidStartupApplication = { 0x100058F4 }; // Startup application
-const TUid KUidSpdia = { 0x1000590A };              // Speeddial application.
 const TUid KVtUiAppUidValue = { 0x101F8681 };       // Video Telephony application
 
 // Contants below define which view will be activated. 
@@ -163,12 +161,6 @@
 // The character to be used as the 'soft pause' character, by DTMF code.
 const TUint KPhoneDtmfPauseCharacter = 'p';
 
-// The character to be used as the 'speed-dial' character, by DTMF code.
-const TUint KPhoneDtmfSpeedDialCharacter = '+';
-
-// The length of the speed dial prefix, used to prevent buffer overflow
-const TUint KPhoneDtmfSpeedDialPrefixLength = 1;
-
 // Following, are the standard DTMF characters...
 const TInt KPhoneDtmfHashCharacter    = '#';
 const TInt KPhoneDtmfStarCharacter    = '*';
@@ -309,12 +301,6 @@
 // Conference call id
 const TInt KConferenceCallId = 8;
 
-// LifeTimer const
-const TInt KPhoneLifeTimerHoursLength   = 6;
-const TInt KPhoneLifeTimerMinutesLength = 2;
-const TInt KTimerTextLength             = 64;
-const TInt KTimerMinuteSeparator        = 2;
-
 //AudioVolume const
 // CONSTANTS
 const TInt KPhoneDefaultVolume = 4;
--- a/phoneapp/phoneuiutils/inc/phoneloggerviewcommands.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuiutils/inc/phoneloggerviewcommands.h	Thu Jul 22 16:33:21 2010 +0100
@@ -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,399 +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,
-        /** EPhoneViewSetSpeedDialLocation */
-        EPhoneViewSetSpeedDialLocation,
-        /** EPhoneViewGetNumberFromSpeedDialLocation */
-        EPhoneViewGetNumberFromSpeedDialLocation,
-        /** EPhoneViewAssignSpeedDialLocation */
-        EPhoneViewAssignSpeedDialLocation,
-        /** 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
 
--- a/phoneapp/phoneuiutils/inc/phoneresourceids.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuiutils/inc/phoneresourceids.h	Thu Jul 22 16:33:21 2010 +0100
@@ -192,7 +192,6 @@
     R_PHONEUI_IDLE_APPS,
     R_PHONE_DISCONNECTING_NETWORK_WAIT_NOTE,
     R_PHONE_INCALL_MUTED_PANE,
-    R_PHONEUI_INCALL_CALL_NUMBER,
     R_PHONEUI_INCALL_CALL_DISCONNECTED,
     R_PHONE_ERROR_CALL_IN_PROGRESS,
     R_CONFERENCE_DROPPARTICIPANT_DIALOG,
@@ -203,7 +202,6 @@
     R_PHONE_ERROR_NOTE,
     R_PHONE_WARNING_NOTE,
     R_PHONE_CONFIRMATION_NOTE,
-    R_PHONE_IMEI_STRING,
     R_PHONE_SECURITY_INFORMATION_NOTE,
     R_PHONE_BT_DEV_ADDRESS,
     R_INCAL_INFO_HOLD_TEXT,
@@ -226,7 +224,6 @@
     R_PHONEUI_NOTE_TEXT_POST_CALL_SUMMARY,
     R_PHONEUI_NOTE_TEXT_POST_CALL_DURATION,
     R_PHONEUI_IDLE_TIME_FORMAT,
-    R_PHONEUI_LIFE_TIMER_STRING,
     R_PHONEUI_NOTE_TEXT_PHONE_ENGINE_FAILED_AT_STARTUP,
     R_PHONE_MTCAL_CLI_PAYPHONE,
     R_PHONE_ERROR_CALL_BARRED_IN_CUG,
@@ -294,7 +291,7 @@
     R_DIALER_ADD_TO_CONTACTS_SELECTION_LIST_QUERY,
     R_PHONEUI_DTMFDIALER_SOFTKEYS_OPTIONS_CANCEL,
     R_PHONEUI_DIALER_NUMBERENTRY_PROMPT_TEXT,
-    R_PHONEUI_MTCAL_CALL,
+    R_PHONEUI_MTCAL_CLI_UNKNOWN,
     R_NOTE_INCAL_QUERY_VCALL_FAILED,
     R_NOTE_TEXT_CLIR_CHANGE,
     R_NOTE_TEXT_CUG_IN_USE,
--- a/phoneapp/phoneuiutils/inc/phonerssbase.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuiutils/inc/phonerssbase.h	Thu Jul 22 16:33:21 2010 +0100
@@ -59,7 +59,6 @@
     EPhoneInformationConfirmationNote,
     EPhoneSecurityInformationNote,
     EPhoneRequestingNote,
-    EPhonePhoneImeiString,
     EPhonePhoneBtDevAddress,
     EPhoneInformationRemoteCreateConferenceNote,
     EPhoneInformationRemotePutOnHoldNote,
@@ -125,7 +124,6 @@
     EPhoneCLIWithheld,
     EPhoneWaitingText,
     EPhoneIdleTimeFormat,
-    EPhoneLifeTimeFormat,
     EPhoneInCallDisconnected,
     EPhoneCallInProgress,
     EPhoneEmergencyCallsOnly,
@@ -141,10 +139,8 @@
 
     // "Muted"
     EPhoneInCallMutedText,
-    // "Call"
-    EPhoneCall,
-    // " Call %N"
-    EPhoneInCallNumberText,
+    // "Unknown call"
+    EPhoneCallCLIUnknown,
     /** "Transferring" -information note. */
     EPhoneInCallWaitTransfer,
     EPhoneInCallTransferred,
@@ -168,9 +164,6 @@
     EPhoneDtmfWaitCharacterConfirmationQueryText,
 
     EPhoneDtmfFetchTitle,
-    EPhoneDtmfSpeedDialNumberQuery,
-    EPhoneDtmfSpeedDialNotAssigned,
-    EPhoneDtmfInvalidSpeedDial,
 
     // ALS
     EPhoneAlsLineChangeConfirmationQuery,
@@ -304,7 +297,6 @@
 
     // the user has typed something into the edit-box (with content)
     EPhoneSendDtmfNormalEditBoxCBA,
-    EPhoneDtmfSpeedDialNormalEditBoxCBA,
 
     EPhoneCallHandlingCallWaitingCBA,
     EPhoneCallHandlingNewCallFindCBA,
@@ -348,6 +340,7 @@
     EPhoneNoteNoService,
     EPhoneNoteCallInfoCauseValue16,
     EPhoneNoteCallInfoCauseValue18,
+    EPhoneNoteCallInfoCauseValue21,
     EPhoneNoteCallInfoCauseValue22,
     EPhoneNoteCallInfoCauseValue34,
     EPhoneNoteCallInfoCauseValue38,
--- a/phoneapp/phoneuiutils/inc/phonestatestrings.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuiutils/inc/phonestatestrings.h	Thu Jul 22 16:33:21 2010 +0100
@@ -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
 
--- a/phoneapp/phoneuiutils/inc/phonestatestringsgsm.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuiutils/inc/phonestatestringsgsm.h	Thu Jul 22 16:33:21 2010 +0100
@@ -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
 
--- a/phoneapp/phoneuiutils/inc/tphonecmdparamglobalnote.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuiutils/inc/tphonecmdparamglobalnote.h	Thu Jul 22 16:33:21 2010 +0100
@@ -89,6 +89,19 @@
         IMPORT_C void SetTimeout( TInt aTimeout );
         
         /**
+        * Sets notification dialog flag.
+        * @param aNotificationDialog True if notification dialog 
+        *        should be used.
+        */
+        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
         */
@@ -129,6 +142,18 @@
          * @return   Timeout value.
          */
         IMPORT_C TInt Timeout() const;
+        
+        /**
+         * Returns the notification dialog flag.
+         * @return Notification dialog flag.
+         */
+        IMPORT_C TBool NotificationDialog() const;
+        
+        /**
+        * Returns cause code.
+        * @return Cause code.
+        */
+        IMPORT_C TInt CauseCode() const;
     
     private:    
         
@@ -166,6 +191,16 @@
         * Timeout for a note.
         */
         TInt iTimeout;
+        
+        /**
+        * Notification Dialog flag.
+        */
+        TBool iNotificationDialog;
+        
+        /**
+        * Cause code. 
+        */
+        TInt iCauseCode; 
     };
 
 #endif // __TPHONECMDPARAMGLOBALNOTE_H
--- a/phoneapp/phoneuiutils/inc/tphonecommandparam.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuiutils/inc/tphonecommandparam.h	Thu Jul 22 16:33:21 2010 +0100
@@ -68,7 +68,6 @@
         EPAUIParamIdSoftkeyName,
         EPAUIParamIdGlobalIndicator, // for displaying global note
         EPAUIParamIdCallGuard,
-        EPAUIParamIdSpeedDial,
 
     // ----- USED TYPES ---------
         EPhoneParamIdInteger,
@@ -93,7 +92,6 @@
         EPhoneParamIdAudioOutput,
         EPhoneParamIdAudioAvailable,
         EPhoneParamIdRingTone,
-        EPhoneParamIdSpeedDial,
         EPhoneParamIdReconnectQuery,
         EPhoneParamIdVideoCallSetupFailedCreateVoiceCallToTheSameContactQuery,
         EPhoneParamRebootQuery,
--- a/phoneapp/phoneuiutils/src/cphonecenrepproxy.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuiutils/src/cphonecenrepproxy.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -28,7 +28,6 @@
 #include    <UiklafInternalCRKeys.h>
 #include    <ProfileEngineDomainCRKeys.h>
 #include    <DRMHelperServerInternalCRKeys.h>
-#include    <AknFepInternalCRKeys.h>
 #include    <AvkonInternalCRKeys.h>
 #include    <btengdomaincrkeys.h> 
 #include    <utf.h>
--- a/phoneapp/phoneuiutils/src/cphonekeys.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuiutils/src/cphonekeys.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -86,7 +86,6 @@
             case KPhoneDtmfHashCharacter:      // Hash
             case KPhoneDtmfStarCharacter:      // Asterisk
                 // the following key can be got via taps of *
-            case KPhoneDtmfSpeedDialCharacter: // Plus
             case KPhoneDtmfPauseCharacter:     // DTMF Soft-Pause character
             case KPhoneDtmfWaitCharacter:      // DTMF Wait character
                 result = ETrue;
--- a/phoneapp/phoneuiutils/src/cphonelangsettingmonitor.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,160 +0,0 @@
-/*
-* Copyright (c) 2006 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:  Monitor for language settings.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include <bautils.h>
-#include <AknFepInternalCRKeys.h>
-#include "cphonelangsettingmonitor.h"
-#include "mphonelangsettingobserver.h"
-#include "phonelogger.h"
-#include "cphonecenrepproxy.h"
-#include "mphonecenrepobserver.h"
-
-// CONSTANTS
-
-// FORWARD DECLARATIONS
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CPhoneLangSettingMonitor::CPhoneLangSettingMonitor
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CPhoneLangSettingMonitor::CPhoneLangSettingMonitor()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneLangSettingMonitor::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CPhoneLangSettingMonitor::ConstructL()
-    {
-    TInt language(1); // english
-    TInt err = KErrNone;
-    
-    if ( err == KErrNone )
-        {
-        iInputLanguageSetting = language;    
-        }             
-            
-    // Start listen changes in setting and image path
-    CPhoneCenRepProxy::Instance()->NotifyChangeL(
-        KCRUidAknFep, 
-        KAknFepInputTxtLang,
-        this );       
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneLangSettingMonitor::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CPhoneLangSettingMonitor* CPhoneLangSettingMonitor::NewL()
-    {
-    CPhoneLangSettingMonitor* self = 
-        new (ELeave) CPhoneLangSettingMonitor();
-
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-
-    return self;
-    }
-    
-// Destructor
-CPhoneLangSettingMonitor::~CPhoneLangSettingMonitor()
-    {
-    iObserverArray.ResetAndDestroy();
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneLangSettingMonitor::AddObserverL
-// -----------------------------------------------------------------------------
-//
-void CPhoneLangSettingMonitor::AddObserverL(
-    MPhoneLangSettingObserver& aObserver )
-    {
-    if ( iObserverArray.Find( &aObserver ) != KErrNone )
-        {
-        User::LeaveIfError( iObserverArray.Append( &aObserver ) );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneLangSettingMonitor::RemoveObserver
-// -----------------------------------------------------------------------------
-//
-void CPhoneLangSettingMonitor::RemoveObserver(
-    MPhoneLangSettingObserver& aObserver )
-    {
-    TInt index;
-    if ( iObserverArray.FindInAddressOrder( &aObserver, index ) == KErrNone )
-        {
-        iObserverArray.Remove( index );
-        }
-    }
-// -----------------------------------------------------------------------------
-// CPhoneLangSettingMonitor::HandleCenRepChangeL
-// -----------------------------------------------------------------------------
-//
-void CPhoneLangSettingMonitor::HandleCenRepChangeL( 
-    const TUid& aUid,
-    const TUint aId )
-    {
-    __LOGMETHODSTARTEND(EPhoneControl, 
-        "CPhoneLangSettingMonitor::HandleCenRepChangeL( )");
-        
-    if ( aUid == KCRUidAknFep && aId == KAknFepInputTxtLang )
-        {
-        TInt language(1); // english
-        TInt err( CPhoneCenRepProxy::Instance()->GetInt(
-            KCRUidAknFep,
-            KAknFepInputTxtLang,
-            language ));
- 
-        if ( err == KErrNone && iInputLanguageSetting != language )
-            {           
-            iInputLanguageSetting = language;
-            
-            // Notify change to the observers.
-            for ( TInt i = 0; i < iObserverArray.Count(); i++ ) 
-                {
-                iObserverArray[i]->HandleInputLanguageSettingChange( 
-                    iInputLanguageSetting );
-                }    
-            }   
-        }      
-    }
-    
-// -----------------------------------------------------------------------------
-// CPhoneLangSettingMonitor::Language
-// -----------------------------------------------------------------------------
-//
-TInt CPhoneLangSettingMonitor::InputLanguage() const
-    {
-    return iInputLanguageSetting;
-    }
-
-
-
-//  End of File  
--- a/phoneapp/phoneuiutils/src/cphonepubsubproxy.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuiutils/src/cphonepubsubproxy.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -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 = pubSubCount - 1; j >= 0; j++ )
-                {
-                CPhonePublishSubscriberAO* publishSubscriber = 
-                    iPublishSubscriberArray->At( j );
-
-                if ( publishSubscriber->Category() == observerTag.iCategory && 
-                    publishSubscriber->Key() == observerTag.iKey )
-                    {
-                    iPublishSubscriberArray->Delete( i );
-                    delete publishSubscriber;
-                    }
-                }
             }
         }
     }
--- a/phoneapp/phoneuiutils/src/cphoneqwertyhandler.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,231 +0,0 @@
-/*
-* Copyright (c) 2006 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: Implementation of CPhoneQwertyHandler class.
-*
-*/
-
-
-// INCLUDE FILES
-#include    "cphoneqwertyhandler.h"
-#include    "cphonelangsettingmonitor.h"
-#include    "cphoneqwertymodemonitor.h"
-#include    <PtiEngine.h>
-#include    <w32std.h>
-
-// CONSTANTS
-
-// FORWARD DECLARATIONS
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CPhoneQwertyHandler::CPhoneQwertyHandler
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CPhoneQwertyHandler::CPhoneQwertyHandler()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneQwertyHandler::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CPhoneQwertyHandler::ConstructL()
-    {
-    // Language setting monitor
-    iLangSettingMonitor = CPhoneLangSettingMonitor::NewL();
-    iLangSettingMonitor->AddObserverL( *this );
-    
-    // Qwerty mode
-    iQwertyModeMonitor = CPhoneQwertyModeMonitor::NewL();
-    iQwertyModeMonitor->AddObserverL( *this );
-    
-    // Read current values
-    iInputLanguageId = iLangSettingMonitor->InputLanguage();
-    iQwertyMode = iQwertyModeMonitor->QwertyMode();
-    
-    if ( iQwertyMode )
-        {
-        LoadNumericKeyBindings( iInputLanguageId, iQwertyModeMonitor->Keyboard() );            
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneQwertyHandler::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CPhoneQwertyHandler* CPhoneQwertyHandler::NewL()
-    {
-    CPhoneQwertyHandler* self = 
-        new (ELeave) CPhoneQwertyHandler();
-
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-
-    return self;
-    }
-    
-// Destructor
-EXPORT_C CPhoneQwertyHandler::~CPhoneQwertyHandler()
-    {
-    iLangSettingMonitor->RemoveObserver( *this );
-    delete iLangSettingMonitor;
-    iLangSettingMonitor = NULL;
-    iQwertyModeMonitor->RemoveObserver( *this );
-    delete iQwertyModeMonitor;
-    iQwertyModeMonitor = NULL;
-    iNumericKeys.Close();
-    }
-    
-// -----------------------------------------------------------------------------
-// CPhoneQwertyHandler::IsQwertyInput
-// -----------------------------------------------------------------------------
-//    
-EXPORT_C TBool CPhoneQwertyHandler::IsQwertyInput() const
-    {
-    return iQwertyMode > 0 ? ETrue : EFalse;    
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneQwertyHandler::HandleLanguageSettingChange
-// -----------------------------------------------------------------------------
-//    
-void CPhoneQwertyHandler::HandleInputLanguageSettingChange( TInt aLanguage )
-    {
-    iInputLanguageId = aLanguage;
-    if ( iQwertyMode )
-        {
-        LoadNumericKeyBindings( iInputLanguageId, iQwertyModeMonitor->Keyboard() );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneQwertyHandler::HandleQwertyModeChange
-// Loads keybinding with keyboard EPtiKeyboardNone if no keyboeard has been   
-// defined
-// -----------------------------------------------------------------------------
-//    
-void CPhoneQwertyHandler::HandleQwertyModeChange( TInt aMode )
-    {
-    iQwertyMode = aMode;
-#ifndef RD_INTELLIGENT_TEXT_INPUT    
-    if ( iQwertyMode && !iNumericKeys.Count() )
-        {
-        LoadNumericKeyBindings( iInputLanguageId, iQwertyModeMonitor->Keyboard() );            
-        }
-#endif    
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneQwertyHandler::HandleKeyboardLayoutChange
-// This event comes after HandleQwertyModeChange
-// -----------------------------------------------------------------------------
-//
-void CPhoneQwertyHandler::HandleKeyboardLayoutChange()
-    {
-    
-    LoadNumericKeyBindings( iInputLanguageId, iQwertyModeMonitor->Keyboard() );            
-   
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneQwertyHandler::LoadNumericKeyBindings
-// -----------------------------------------------------------------------------
-//    
-void CPhoneQwertyHandler::LoadNumericKeyBindings( TInt aLanguage, TInt aKeyboard )
-    {
-    iNumericKeys.Reset();
-    
-#ifdef RD_INTELLIGENT_TEXT_INPUT    
-    TPtiKeyboardType keyboard = static_cast<TPtiKeyboardType>( aKeyboard );
-    TRAPD( err, 
-        {
-        CPtiEngine* ptiEngine = CPtiEngine::NewL();
-        CleanupStack::PushL( ptiEngine );
-        
-        ptiEngine->GetNumericModeKeysForQwertyL( aLanguage, 
-                                                 iNumericKeys,
-                                                 keyboard );         
-        CleanupStack::PopAndDestroy( ptiEngine );                                                 
-        } ); // TRAP
-#else
-    TRAPD( err, 
-        {
-        CPtiEngine* ptiEngine = CPtiEngine::NewL();
-        CleanupStack::PushL( ptiEngine );
-        ptiEngine->GetNumericModeKeysForQwertyL( aLanguage, 
-                                                 iNumericKeys );         
-        CleanupStack::PopAndDestroy( ptiEngine );                                                 
-        } ); // TRAP
-#endif    
-        
-    if ( err )        
-        {
-        iNumericKeys.Reset();
-        iQwertyMode = 0; // To default mode
-        }
-    else
-        {
-        // remove keys that are not remapped
-        TInt numericKeysCount = iNumericKeys.Count();
-        while ( numericKeysCount-- )
-            {
-            TPtiNumericKeyBinding numKeyBind = iNumericKeys[numericKeysCount];
-            
-            // This is PTI bug? Should not be in numeric keys list.
-            if ( numKeyBind.iKey == EPtiKeyQwertySpace ) 
-                 {
-                 iNumericKeys.Remove( numericKeysCount );                    
-                 }
-            }    
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneQwertyHandler::NumericKeyCode
-// -----------------------------------------------------------------------------
-//    
-EXPORT_C TInt CPhoneQwertyHandler::NumericKeyCode( const TKeyEvent& aKeyEvent )
-    {
-  
-    // Check shift state
-    TBool shiftActive(EFalse);
-    shiftActive = aKeyEvent.iModifiers & EModifierLeftShift ||
-                  aKeyEvent.iModifiers & EModifierRightShift; //||
-    
-    TInt numericKeysCount = iNumericKeys.Count();
-    
-    while ( numericKeysCount-- )
-        {
-        TPtiNumericKeyBinding numKeyBind = iNumericKeys[numericKeysCount];
-            
-        TBool shiftRequired = ( numKeyBind.iCase ==EPtiCaseUpper ) ||
-                              ( numKeyBind.iCase ==EPtiCaseChrUpper );
-            
-        if ( numKeyBind.iKey == aKeyEvent.iScanCode &&
-             (shiftRequired == shiftActive  )   )
-            {
-            return numKeyBind.iChar;
-            }
-        }
-        
-    return EKeyNull;         
-    }           
-
-//  End of File  
--- a/phoneapp/phoneuiutils/src/cphoneqwertymodemonitor.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,179 +0,0 @@
-/*
-* Copyright (c) 2005 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:  Qwerty Mode Monitor.
-*
-*/
-
-
-// INCLUDE FILES
-#include <bautils.h>
-#include <AvkonInternalCRKeys.h>
-#include <e32property.h>
-#include <PSVariables.h>
-#include <bldvariant.hrh>
-
-#include "cphoneqwertymodemonitor.h"
-#include "mphoneqwertymodeobserver.h"
-#include "phonelogger.h"
-#include "cphonepubsubproxy.h"
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// C++ constructor can NOT contain any code, that
-// might leave.
-//
-CPhoneQwertyModeMonitor::CPhoneQwertyModeMonitor()
-    {
-    }
-
-// ---------------------------------------------------------
-// CPhoneQwertyModeMonitor::ConstructL
-// ---------------------------------------------------------
-//
-void CPhoneQwertyModeMonitor::ConstructL()
-    {
-    iQwertyMode = GetQwertyMode();     
-    iKeyboard = GetKeyboard();    
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneQwertyModeMonitor::NewL
-// -----------------------------------------------------------------------------
-//
-CPhoneQwertyModeMonitor* CPhoneQwertyModeMonitor::NewL()
-    {
-    CPhoneQwertyModeMonitor* self = 
-        new (ELeave) CPhoneQwertyModeMonitor();
-    
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    
-    return self;
-    }
-
-// Destructor
-CPhoneQwertyModeMonitor::~CPhoneQwertyModeMonitor()
-    {
-    iObserverArray.Reset();
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneQwertyModeMonitor::AddObserverL
-// -----------------------------------------------------------------------------
-//
-void CPhoneQwertyModeMonitor::AddObserverL(
-    MPhoneQwertyModeObserver& aObserver )
-    {
-    if ( iObserverArray.Find( &aObserver ) != KErrNone )
-        {
-        User::LeaveIfError( iObserverArray.Append( &aObserver ) );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneQwertyModeMonitor::RemoveObserver
-// -----------------------------------------------------------------------------
-//
-void CPhoneQwertyModeMonitor::RemoveObserver(
-    MPhoneQwertyModeObserver& aObserver )
-    {
-    TInt index;
-    if ( iObserverArray.FindInAddressOrder( &aObserver, index ) == KErrNone )
-        {
-        iObserverArray.Remove( index );
-        }
-    }
-    
-// -----------------------------------------------------------
-// CPhoneQwertyModeMonitor::HandlePropertyChangedL
-// -----------------------------------------------------------
-//
-void CPhoneQwertyModeMonitor::HandlePropertyChangedL( 
-        const TUid& aCategory,
-        const TUint aKey,
-        const TInt aValue )
-    {
-    __LOGMETHODSTARTEND(EPhoneControl, "CPhoneQwertyModeMonitor::HandlePropertyChangedL( ) ");
-    if ( aCategory == KCRUidAvkon )
-        {
-        if ( aKey == KAknQwertyInputModeActive )
-            {
-            iQwertyMode = aValue;
-
-            for ( TInt i = 0; i < iObserverArray.Count(); i++ ) 
-                {
-                iObserverArray[ i ]->HandleQwertyModeChange( 
-                    iQwertyMode );
-                }           
-            }
-#ifdef RD_INTELLIGENT_TEXT_INPUT        
-        else if ( aKey == KAknKeyBoardLayout )
-            {
-            for ( TInt i = 0; i < iObserverArray.Count(); i++ ) 
-                {
-                iKeyboard = aValue;
-                iObserverArray[ i ]->HandleKeyboardLayoutChange();
-                }
-            }
-#endif    
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneQwertyModeMonitor::QwertyMode
-// -----------------------------------------------------------------------------
-//
-TInt CPhoneQwertyModeMonitor::QwertyMode() const
-    {
-    return iQwertyMode;
-    }
-  
-// -----------------------------------------------------------------------------
-// CPhoneQwertyModeMonitor::Keyboard
-// -----------------------------------------------------------------------------
-//
-TInt CPhoneQwertyModeMonitor::Keyboard() const
-    {
-    return iKeyboard;
-    }
-    
-// -----------------------------------------------------------------------------
-// CPhoneQwertyModeMonitor::GetQwertyMode
-// -----------------------------------------------------------------------------
-//
-TInt CPhoneQwertyModeMonitor::GetQwertyMode() const
-    {
-    // Get call state.
-    /*TInt qwertyMode( CPhonePubSubProxy::Instance()->Value(
-        KCRUidAvkon,
-        KAknQwertyInputModeActive ) );*/
-    TInt qwertyMode(0);
-    
-    return qwertyMode;
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneQwertyModeMonitor::GetQwertyMode
-// -----------------------------------------------------------------------------
-//
-TInt CPhoneQwertyModeMonitor::GetKeyboard() const
-    {
-    TInt keyboard(0);    
-    return keyboard;
-    }
-
-//  End of File
-
--- a/phoneapp/phoneuiutils/src/cphoneresourceresolverbase.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuiutils/src/cphoneresourceresolverbase.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -551,10 +551,6 @@
             retVal = R_PHONEUI_SEND_DTMF_NORMAL_EDIT_BOX_CBA;
             break;
 
-        case EPhoneDtmfSpeedDialNormalEditBoxCBA:
-            retVal = R_PHONEUI_DTMF_SPEED_DIAL_NORMAL_EDIT_BOX_CBA;
-            break;
-
         case EPhoneNumberAcqCBA:
             if ( iVariationFlags & EOnscreenDialer )
                   {
@@ -1004,18 +1000,6 @@
             retVal = R_PHONEUI_TITLE_IN_DTMF_FETCH;
             break;
 
-        case EPhoneDtmfSpeedDialNumberQuery:
-            retVal = R_PHONEUI_DTMF_SPEED_DIAL_NUMBER_QUERY;
-            break;
-
-        case EPhoneDtmfSpeedDialNotAssigned:
-            retVal = R_ERROR_NOTE_SPEED_DIAL_NOT_ASSIGNED;
-            break;
-
-        case EPhoneDtmfInvalidSpeedDial:
-            retVal = R_ERROR_NOTE_INVALID_SPEED_DIAL;
-            break;
-
         case EPhoneAlsLineChangeConfirmationQuery:
             retVal = R_PHONEUI_ALS_CONFIRMATION_QUERY;
             break;
@@ -1072,10 +1056,6 @@
             retVal = R_PHONE_INCALL_MUTED_PANE;
             break;
 
-        case EPhoneInCallNumberText:
-            retVal = R_PHONEUI_INCALL_CALL_NUMBER;
-            break;
-
         case EPhoneInCallDisconnected:
             retVal = R_PHONEUI_INCALL_CALL_DISCONNECTED;
             break;
@@ -1112,10 +1092,6 @@
             retVal = R_PHONE_CONFIRMATION_NOTE;
             break;
 
-        case EPhonePhoneImeiString:
-            retVal = R_PHONE_IMEI_STRING;
-            break;
-
         case EPhoneSecurityInformationNote:
             retVal = R_PHONE_SECURITY_INFORMATION_NOTE;
             break;
@@ -1191,6 +1167,10 @@
             retVal = R_PHONEUI_MTCAL_CLI_WITHHELD;
             break;
 
+        case EPhoneCallCLIUnknown:
+            retVal = R_PHONEUI_MTCAL_CLI_UNKNOWN;
+            break;
+
         case EPhoneNoteTextCallSummary:
             retVal = R_PHONEUI_NOTE_TEXT_POST_CALL_SUMMARY;
             break;
@@ -1203,10 +1183,6 @@
             retVal = R_PHONEUI_IDLE_TIME_FORMAT;
             break;
 
-        case EPhoneLifeTimeFormat:
-            retVal = R_PHONEUI_LIFE_TIMER_STRING;
-            break;
-
         case EPhoneNoteTextPEFailedAtStartup:
             retVal = R_PHONEUI_NOTE_TEXT_PHONE_ENGINE_FAILED_AT_STARTUP;
             break;
@@ -1424,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;
@@ -1485,10 +1465,6 @@
             retVal = R_PHONEUI_DIALER_NUMBERENTRY_PROMPT_TEXT;
             break;
 
-        case EPhoneCall:
-            retVal = R_PHONEUI_MTCAL_CALL;
-            break;
-
         case EPhoneVideoCallSetupFailedCreateVoiceCallToTheSameContactText:
             retVal = R_NOTE_INCAL_QUERY_VCALL_FAILED;
             break;
--- a/phoneapp/phoneuiutils/src/generate.bat	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuiutils/src/generate.bat	Thu Jul 22 16:33:21 2010 +0100
@@ -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 
--- a/phoneapp/phoneuiutils/src/phoneloggerviewcommands.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuiutils/src/phoneloggerviewcommands.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -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 <e32std.h>
 #include <stringpool.h>
 #include <stringtablesupport.h>
@@ -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,332 +89,362 @@
 _STLIT8(K63, "EPhoneViewStartCapturingKey");
 _STLIT8(K64, "EPhoneViewStopCapturingKey");
 _STLIT8(K65, "EPhoneViewSetGlobalNotifiersDisabled");
-_STLIT8(K66, "EPhoneViewSetSpeedDialLocation");
-_STLIT8(K67, "EPhoneViewGetNumberFromSpeedDialLocation");
-_STLIT8(K68, "EPhoneViewAssignSpeedDialLocation");
-_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*)&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*)&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};
 
--- a/phoneapp/phoneuiutils/src/phoneloggerviewcommands.st	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuiutils/src/phoneloggerviewcommands.st	Thu Jul 22 16:33:21 2010 +0100
@@ -1,195 +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
-EPhoneViewSetSpeedDialLocation EPhoneViewSetSpeedDialLocation
-EPhoneViewGetNumberFromSpeedDialLocation EPhoneViewGetNumberFromSpeedDialLocation
-EPhoneViewAssignSpeedDialLocation EPhoneViewAssignSpeedDialLocation
-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.
--- a/phoneapp/phoneuiutils/src/phonestatestrings.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuiutils/src/phonestatestrings.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -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 <e32std.h>
 #include <stringpool.h>
 #include <stringtablesupport.h>
@@ -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};
 
--- a/phoneapp/phoneuiutils/src/phonestatestringsgsm.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuiutils/src/phonestatestringsgsm.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -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 <e32std.h>
 #include <stringpool.h>
 #include <stringtablesupport.h>
@@ -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};
 
--- a/phoneapp/phoneuiutils/src/tphonecmdparamglobalnote.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuiutils/src/tphonecmdparamglobalnote.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -37,7 +37,9 @@
     iTone( EAvkonSIDErrorTone ),
     iWaitforReady ( EFalse ),
     iSoftkeys( 0 ),
-    iTimeout( 0 )
+    iTimeout( 0 ),
+    iNotificationDialog( EFalse ),
+    iCauseCode( KErrNotFound ) 
     {
     iParamId = EPhoneParamIdGlobalNote;
     }
@@ -124,6 +126,30 @@
 }
 
 // ---------------------------------------------------------
+// TPhoneCmdParamGlobalNote::SetNotificationDialog
+// Sets the notification dialog flag.
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+EXPORT_C void TPhoneCmdParamGlobalNote::SetNotificationDialog( 
+        TBool aNotificationDialog )
+{
+    iNotificationDialog = aNotificationDialog;
+}
+
+// ---------------------------------------------------------
+// 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).
@@ -199,4 +225,24 @@
     return iTimeout;
     }
 
+// ---------------------------------------------------------
+// TPhoneCmdParamGlobalNote::NotificationDialog
+// Returns the notification dialog flag.
+// ---------------------------------------------------------
+//
+EXPORT_C TBool TPhoneCmdParamGlobalNote::NotificationDialog() const
+    {
+    return iNotificationDialog;
+    }
+
+// ---------------------------------------------------------
+// TPhoneCmdParamGlobalNote::CauseCode
+// Returns the cause code.
+// ---------------------------------------------------------
+//
+EXPORT_C TInt TPhoneCmdParamGlobalNote::CauseCode() const
+    {
+    return iCauseCode;
+    }
+
 //  End of File  
--- a/phoneapp/phoneuiview2/bwins/phoneuiqtviewu.def	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuiview2/bwins/phoneuiqtviewu.def	Thu Jul 22 16:33:21 2010 +0100
@@ -61,4 +61,9 @@
 	?clearAndHideDialpad@PhoneUIQtView@@UAEXXZ @ 60 NONAME ; void PhoneUIQtView::clearAndHideDialpad(void)
 	?isDisabled@PhoneAction@@QBE_NXZ @ 61 NONAME ; bool PhoneAction::isDisabled(void) const
 	?networkNameChanged@PhoneUIQtView@@QAEXW4NetworkMode@QSystemNetworkInfo@QtMobility@@ABVQString@@@Z @ 62 NONAME ; void PhoneUIQtView::networkNameChanged(enum QtMobility::QSystemNetworkInfo::NetworkMode, class QString const &)
+	?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)
 
--- a/phoneapp/phoneuiview2/eabi/phoneuiqtviewu.def	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuiview2/eabi/phoneuiqtviewu.def	Thu Jul 22 16:33:21 2010 +0100
@@ -92,4 +92,10 @@
 	_ZN13PhoneUIQtView18networkNameChangedEN10QtMobility18QSystemNetworkInfo11NetworkModeERK7QString @ 91 NONAME
 	_ZN13PhoneUIQtView15windowActivatedEv @ 92 NONAME
 	_ZN13PhoneUIQtView17windowDeactivatedEv @ 93 NONAME
+	_ZN13PhoneUIQtView12clearDialpadEv @ 94 NONAME
+	_ZThn28_N13PhoneUIQtView12clearDialpadEv @ 95 NONAME
+	_ZN13PhoneUIQtView10captureKeyEN2Qt3KeyEb @ 96 NONAME
+	_ZThn28_N13PhoneUIQtView10captureKeyEN2Qt3KeyEb @ 97 NONAME
+	_ZN13PhoneUIQtView17setRestrictedModeEb @ 98 NONAME
+	_ZThn28_N13PhoneUIQtView17setRestrictedModeEb @ 99 NONAME
 
--- a/phoneapp/phoneuiview2/inc/phoneaction.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuiview2/inc/phoneaction.h	Thu Jul 22 16:33:21 2010 +0100
@@ -31,6 +31,15 @@
     
 public:    
 
+    class ToolBarItem {
+    public:
+        ToolBarItem(int commandId, bool enabled) : 
+            mCommandId(commandId),mEnabled(enabled) {}
+        
+        int mCommandId;
+        bool mEnabled;
+    };
+    
     enum ActionType {
         LeftButton = 1,
         RightButton,
--- a/phoneapp/phoneuiview2/inc/phoneuiqtview.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuiview2/inc/phoneuiqtview.h	Thu Jul 22 16:33:21 2010 +0100
@@ -31,6 +31,7 @@
 class HbVolumeSliderPopup;
 class Dialpad;
 class XqKeyCapture;
+class DialpadKeyHandler;
 
 #ifdef BUILD_PHONEUIQTVIEW
 #define PHONEUIQTVIEW_EXPORT Q_DECL_EXPORT
@@ -190,6 +191,13 @@
     void clearAndHideDialpad();
     
     /*!
+        \fn void PhoneUIQtView::clearDialpad()
+        
+        Clears text from dialpad.
+    */
+    void clearDialpad();
+    
+    /*!
         \fn void PhoneUIQtView::bringToForeground()
         
         Brings to foreground.
@@ -217,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:
 
     /*!
@@ -371,6 +393,9 @@
     QSignalMapper       *m_menuSignalMapper;
     XqKeyCapture        *m_keyCapture;
     QSystemNetworkInfo  *m_networkInfo;
+    QList<Qt::Key>      m_keyCaptures;
+    DialpadKeyHandler   *m_dialpadKeyHandler;
+    bool                m_restrictedMode;
 };
 
 #endif // PHONEUIQTVIEW_H
--- a/phoneapp/phoneuiview2/inc/phoneuiqtviewif.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuiview2/inc/phoneuiqtviewif.h	Thu Jul 22 16:33:21 2010 +0100
@@ -170,6 +170,13 @@
     virtual void clearAndHideDialpad() = 0;
     
     /*!
+        \fn void PhoneUIQtView::clearDialpad()
+        
+        Clears text from dialpad.
+    */
+    virtual void clearDialpad() = 0;
+    
+    /*!
         \fn void PhoneUIQtView::bringToForeground()
         
         Brings to foreground.
@@ -203,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
--- a/phoneapp/phoneuiview2/src/phoneuiqtview.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuiview2/src/phoneuiqtview.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -27,6 +27,7 @@
 #include <xqserviceutil.h>
 #include <xqkeycapture.h>
 #include <dialpad.h>
+#include <dialpadkeyhandler.h>
 
 #include "phoneuiqtview.h"
 #include "phoneaction.h"
@@ -35,33 +36,40 @@
 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);
-    QString networkName = m_networkInfo->networkName(QSystemNetworkInfo::GsmMode);
-    connect(m_networkInfo, SIGNAL (networkNameChanged(QSystemNetworkInfo::NetworkMode,QString)), this, SLOT(networkNameChanged(QSystemNetworkInfo::NetworkMode, QString)));
+    QString networkName = m_networkInfo->networkName(QSystemNetworkInfo::WcdmaMode);
+    if(networkName.isEmpty()) {
+        networkName = m_networkInfo->networkName(QSystemNetworkInfo::GsmMode);
+    }
+    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()));
-                
+    
     // Call handling widget
     m_bubbleManager = new BubbleManager (this);
     setWidget(m_bubbleManager);
@@ -85,14 +93,14 @@
     setNavigationAction(m_backAction);
 
     createToolBarActions();
+
+    // Set restricted mode off, normal state
+    setRestrictedMode(false);
 }
 
 PhoneUIQtView::~PhoneUIQtView ()
 {
-
-    foreach (HbAction *action, m_toolbarActions ) {
-        delete action;
-    }
+    qDeleteAll(m_toolbarActions);
     m_window.removeEventFilter(this);
     delete m_volumeSlider;
     delete m_dialpad;
@@ -165,9 +173,8 @@
 
         foreach (HbAction *action, m_participantListActions ) {
             m_participantListSignalMapper->removeMappings(action);
-            delete action;
         }
-
+		qDeleteAll(m_participantListActions);
         m_participantListActions.clear();
         delete m_participantListSignalMapper;
         m_participantListSignalMapper = 0;
@@ -365,13 +372,17 @@
 void PhoneUIQtView::clearAndHideDialpad()
 {
     m_dialpad->editor().setText(QString(""));
-    hideDialpad();
+    m_dialpad->closeDialpad();
+}
+
+void PhoneUIQtView::clearDialpad()
+{
+    m_dialpad->editor().setText(QString(""));
 }
 
 void PhoneUIQtView::bringToForeground()
 {
     m_window.show();
-    m_window.raise();
 }
 
 void PhoneUIQtView::setMenuActions(const QList<PhoneAction*>& actions)
@@ -399,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) {
@@ -426,23 +454,34 @@
     emit dialpadIsAboutToClose();
 }
 
-bool PhoneUIQtView::eventFilter(QObject * /*watched*/, QEvent * event)
+bool PhoneUIQtView::eventFilter(QObject *watched, QEvent * event)
 {
+    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<QKeyEvent*>(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<QKeyEvent*>(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");
@@ -459,10 +498,7 @@
 
 void PhoneUIQtView::setDialpadPosition()
 {
-    // workaround to tsw error JMKN-83NAPU (fix coming in MCL wk14)
-    // QRectF screenRect(m_window.layoutRect());
-    QRectF screenRect = (m_window.orientation() == Qt::Horizontal) ?
-                        QRectF(0,0,640,360) : QRectF(0,0,360,640);
+    QRectF screenRect(m_window.layoutRect());
                         	
     if (m_window.orientation() == Qt::Horizontal) {
             // dialpad takes half of the screen
@@ -506,17 +542,41 @@
 
 void PhoneUIQtView::setBackButtonVisible(bool visible)
 {
-    if (visible) {
-        setNavigationAction(m_backAction);
-        }
-    else {
-        setNavigationAction(0);
+    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)
 {
-    if(mode == QSystemNetworkInfo::GsmMode) {
+    if((mode == QSystemNetworkInfo::GsmMode) || 
+       (mode == QSystemNetworkInfo::WcdmaMode)) {
         setTitle(netName);
     }	
 }
+
--- a/phoneapp/phoneuiview2/tsrc/ut_phoneuiqtview/hbtoolbar.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ /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: 
-*
-*/
-#include "hbtoolbar.h"
-#include <hbaction.h>
-
-bool m_clearCalled;
-bool m_hideCalled;
-bool m_showCalled;
-bool m_clearActionsCalled;
-bool m_setOrientationCalled;
-bool m_toolBarUpdateCalled;
-HbAction *m_action;
-QList<QAction*> m_actions;
-
-HbToolBar::HbToolBar (QObject *parent)
-{
-    Q_UNUSED (parent);
-    reset ();
-}
-
-void HbToolBar::reset ()
-{
-    m_clearCalled = false;
-    m_hideCalled = false;
-    m_showCalled = false;
-    m_clearActionsCalled = false;
-    m_toolBarUpdateCalled = false;
-    m_action = 0;
-}
-
-void HbToolBar::clear ()
-{
-    m_clearCalled = true;	
-}
-
-void HbToolBar::hide ()
-{
-    m_hideCalled = true;	
-}
-
-void HbToolBar::show ()
-{
-    m_showCalled = true;
-}
-
-void HbToolBar::addAction (HbAction *action)
-{
-    m_action = action;
-    m_actions.append(action);
-}
-
-void HbToolBar::clearActions ()
-{
-    m_clearActionsCalled = true;
-}
-
-void HbToolBar::setOrientation(Qt::Orientation orientation)
-{
-    m_setOrientationCalled = true;
-}
-
-void HbToolBar::removeAction(HbAction *action)
-{
-    m_actions.removeOne(action);
-}
-
-QList<QAction*> HbToolBar::actions() const
-{
-    return m_actions;	
-}
-
-void HbToolBar::update()
-{
-    m_toolBarUpdateCalled = true;
-}
-
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiview2/tsrc/ut_phoneuiqtview/hbtoolbar_stub.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,90 @@
+/*
+* 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 "hbtoolbar.h"
+#include <hbaction.h>
+
+bool m_clearCalled;
+bool m_hideCalled;
+bool m_showCalled;
+bool m_clearActionsCalled;
+bool m_setOrientationCalled;
+bool m_toolBarUpdateCalled;
+HbAction *m_action;
+QList<QAction*> m_actions;
+
+HbToolBar::HbToolBar (QObject *parent)
+{
+    Q_UNUSED (parent);
+    reset ();
+}
+
+void HbToolBar::reset ()
+{
+    m_clearCalled = false;
+    m_hideCalled = false;
+    m_showCalled = false;
+    m_clearActionsCalled = false;
+    m_toolBarUpdateCalled = false;
+    m_action = 0;
+}
+
+void HbToolBar::clear ()
+{
+    m_clearCalled = true;	
+}
+
+void HbToolBar::hide ()
+{
+    m_hideCalled = true;	
+}
+
+void HbToolBar::show ()
+{
+    m_showCalled = true;
+}
+
+void HbToolBar::addAction (HbAction *action)
+{
+    m_action = action;
+    m_actions.append(action);
+}
+
+void HbToolBar::clearActions ()
+{
+    m_clearActionsCalled = true;
+}
+
+void HbToolBar::setOrientation(Qt::Orientation orientation)
+{
+    m_setOrientationCalled = true;
+}
+
+void HbToolBar::removeAction(HbAction *action)
+{
+    m_actions.removeOne(action);
+}
+
+QList<QAction*> HbToolBar::actions() const
+{
+    return m_actions;	
+}
+
+void HbToolBar::update()
+{
+    m_toolBarUpdateCalled = true;
+}
+
--- a/phoneapp/phoneuiview2/tsrc/ut_phoneuiqtview/hbvolumesliderpopup.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,102 +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 "hbvolumesliderpopup.h"
-
-bool m_volumeSliderContructorCalled;
-bool m_volumeSliderDesctructorCalled;
-int m_sliderValue;
-int m_sliderRangeMin;
-int m_sliderRangeMax;
-bool m_volumeSliderSetValueCalled;
-bool m_volumeSliderValueCalled;
-bool m_volumeSliderSetRangeCalled;
-bool m_volumeSliderSetTimeoutCalled;
-int m_sliderTimeout;
-bool m_volumeSliderShowCalled;
-bool m_isVisible;
-bool m_volumeSliderHideCalled;
-
-HbVolumeSliderPopup::HbVolumeSliderPopup ()
-{
-    m_volumeSliderContructorCalled = true;
-    m_volumeSliderDesctructorCalled = false;
-    m_sliderValue = -1;
-    m_sliderRangeMin = -1;
-    m_sliderRangeMax = -1;
-    m_volumeSliderSetValueCalled = false;
-    m_volumeSliderValueCalled = false;
-    m_volumeSliderSetRangeCalled = false;
-    m_volumeSliderSetTimeoutCalled = false;
-    m_sliderTimeout = -1;
-    m_volumeSliderShowCalled = false;
-}
-
-HbVolumeSliderPopup::~HbVolumeSliderPopup ()
-{
-    m_volumeSliderDesctructorCalled = true;
-    m_volumeSliderContructorCalled = false;
-    m_sliderValue = -1;
-    m_sliderRangeMin = -1;
-    m_sliderRangeMax = -1;
-    m_volumeSliderSetValueCalled = false;
-    m_volumeSliderValueCalled = false;
-    m_volumeSliderSetRangeCalled = false;
-    m_volumeSliderSetTimeoutCalled = false;
-    m_sliderTimeout = -1;
-    m_volumeSliderShowCalled = false;
-    
-    emit aboutToClose ();
-}
-
-void HbVolumeSliderPopup::setValue (int value)
-{
-    m_volumeSliderSetValueCalled = true;
-    m_sliderValue = value;
-}
-
-int HbVolumeSliderPopup::value ()
-{
-    m_volumeSliderValueCalled = true;
-    return m_sliderValue;
-}
-
-void HbVolumeSliderPopup::setRange (int min, int max)
-{
-    m_volumeSliderSetRangeCalled = true;
-    m_sliderRangeMin = min;
-    m_sliderRangeMax = max;
-}
-
-void HbVolumeSliderPopup::setTimeout (int time)
-{
-    m_volumeSliderSetTimeoutCalled = true;
-    m_sliderTimeout = time;	
-}
-
-void HbVolumeSliderPopup::show ()
-{
-    m_volumeSliderShowCalled = true;
-    m_isVisible = true;
-}
-
-void HbVolumeSliderPopup::hide()
-{
-    m_volumeSliderHideCalled = true;
-    m_isVisible = false;
-}
-
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiview2/tsrc/ut_phoneuiqtview/hbvolumesliderpopup_stub.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,102 @@
+/*
+* 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 "hbvolumesliderpopup.h"
+
+bool m_volumeSliderContructorCalled;
+bool m_volumeSliderDesctructorCalled;
+int m_sliderValue;
+int m_sliderRangeMin;
+int m_sliderRangeMax;
+bool m_volumeSliderSetValueCalled;
+bool m_volumeSliderValueCalled;
+bool m_volumeSliderSetRangeCalled;
+bool m_volumeSliderSetTimeoutCalled;
+int m_sliderTimeout;
+bool m_volumeSliderShowCalled;
+bool m_isVisible;
+bool m_volumeSliderHideCalled;
+
+HbVolumeSliderPopup::HbVolumeSliderPopup ()
+{
+    m_volumeSliderContructorCalled = true;
+    m_volumeSliderDesctructorCalled = false;
+    m_sliderValue = -1;
+    m_sliderRangeMin = -1;
+    m_sliderRangeMax = -1;
+    m_volumeSliderSetValueCalled = false;
+    m_volumeSliderValueCalled = false;
+    m_volumeSliderSetRangeCalled = false;
+    m_volumeSliderSetTimeoutCalled = false;
+    m_sliderTimeout = -1;
+    m_volumeSliderShowCalled = false;
+}
+
+HbVolumeSliderPopup::~HbVolumeSliderPopup ()
+{
+    m_volumeSliderDesctructorCalled = true;
+    m_volumeSliderContructorCalled = false;
+    m_sliderValue = -1;
+    m_sliderRangeMin = -1;
+    m_sliderRangeMax = -1;
+    m_volumeSliderSetValueCalled = false;
+    m_volumeSliderValueCalled = false;
+    m_volumeSliderSetRangeCalled = false;
+    m_volumeSliderSetTimeoutCalled = false;
+    m_sliderTimeout = -1;
+    m_volumeSliderShowCalled = false;
+    
+    emit aboutToClose ();
+}
+
+void HbVolumeSliderPopup::setValue (int value)
+{
+    m_volumeSliderSetValueCalled = true;
+    m_sliderValue = value;
+}
+
+int HbVolumeSliderPopup::value ()
+{
+    m_volumeSliderValueCalled = true;
+    return m_sliderValue;
+}
+
+void HbVolumeSliderPopup::setRange (int min, int max)
+{
+    m_volumeSliderSetRangeCalled = true;
+    m_sliderRangeMin = min;
+    m_sliderRangeMax = max;
+}
+
+void HbVolumeSliderPopup::setTimeout (int time)
+{
+    m_volumeSliderSetTimeoutCalled = true;
+    m_sliderTimeout = time;	
+}
+
+void HbVolumeSliderPopup::show ()
+{
+    m_volumeSliderShowCalled = true;
+    m_isVisible = true;
+}
+
+void HbVolumeSliderPopup::hide()
+{
+    m_volumeSliderHideCalled = true;
+    m_isVisible = false;
+}
+
--- a/phoneapp/phoneuiview2/tsrc/ut_phoneuiqtview/qsysteminfo.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +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 "qsysteminfo.h"
-
-QSystemNetworkInfo::QSystemNetworkInfo(QObject *parent) : QObject(parent)
-{
-	
-}
-
-QString QSystemNetworkInfo::networkName(QSystemNetworkInfo::NetworkMode mode)
-{
-    QString networkName = "Unit test network";
-    return networkName;
-}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiview2/tsrc/ut_phoneuiqtview/qsysteminfo_stub.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,12 @@
+#include "qsysteminfo.h"
+
+QSystemNetworkInfo::QSystemNetworkInfo(QObject *parent) : QObject(parent)
+{
+	
+}
+
+QString QSystemNetworkInfo::networkName(QSystemNetworkInfo::NetworkMode mode)
+{
+    QString networkName = "Unit test network";
+    return networkName;
+}
--- a/phoneapp/phoneuiview2/tsrc/ut_phoneuiqtview/unit_tests.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuiview2/tsrc/ut_phoneuiqtview/unit_tests.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -28,12 +28,15 @@
 #include <hbmainwindow.h>
 #include <bubblemanagerif.h>
 #define protected public
+#define private public
 #include "phoneuiqtview.h"
 #undef public
 #include "phoneaction.h"
 #include <hbtoolbar.h>
 #include <hbvolumesliderpopup.h>
 #include <hbaction.h>
+#include <dialpad.h>
+#include <hblineedit.h>
 #include "xqserviceutil.h"
 #include "phoneaction.h"
 
@@ -94,6 +97,8 @@
     void testSetMenuActions();
     void testLongEndKeyPressEventOutsideTelephony();
     void testNetworkNameChanged();
+    void testCaptureKey();
+    void testRestrictedMode();
 
 private:
     int createCallHeader();
@@ -363,6 +368,7 @@
 void TestPhoneUIQtView::testDialpadText()
 {
     m_view->showDialpad();
+    m_view->clearDialpad();
     QVERIFY(QString("") == m_view->dialpadText());
     m_view->clearAndHideDialpad();
 }
@@ -405,13 +411,68 @@
 
 void TestPhoneUIQtView::testNetworkNameChanged()
 {
-    // Title is changed only for GmsMode
+    // Title is changed for GmsMode
     m_view->networkNameChanged(QSystemNetworkInfo::GsmMode, QString("test"));
     QCOMPARE(m_networkName, QString("test"));
 
+    // Title is changed for WcdmaMode
+    m_view->networkNameChanged(QSystemNetworkInfo::WcdmaMode, QString("test2"));
+    QCOMPARE(m_networkName, QString("test2"));
+
     // Other modes shouldn't affect the title
     m_view->networkNameChanged(QSystemNetworkInfo::CdmaMode, QString("another operator"));
-    QCOMPARE(m_networkName, QString("test"));
+    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*");
+    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)
@@ -419,6 +480,7 @@
     m_networkName = title;
 }
 
+
 PHONE_QT_VIEW_TEST_MAIN(TestPhoneUIQtView)
 Q_DECLARE_METATYPE(QKeyEvent *)
 #include "unit_tests.moc"
--- a/phoneapp/phoneuiview2/tsrc/ut_phoneuiqtview/ut_phoneuiqtview.pro	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuiview2/tsrc/ut_phoneuiqtview/ut_phoneuiqtview.pro	Thu Jul 22 16:33:21 2010 +0100
@@ -61,7 +61,7 @@
 SOURCES += ../../src/phoneuiqtview.cpp \
            ../../src/phoneaction.cpp \
            unit_tests.cpp \
-           hbtoolbar.cpp \
-           hbvolumesliderpopup.cpp \
-           qsysteminfo.cpp 
+           hbtoolbar_stub.cpp \
+           hbvolumesliderpopup_stub.cpp \
+           qsysteminfo_stub.cpp 
            
--- a/phoneapp/phoneuivoipextension/src/cphonestateidlevoip.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneapp/phoneuivoipextension/src/cphonestateidlevoip.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -30,7 +30,6 @@
 #include "cphonelogger.h"
 #include "phoneui.pan"
 #include "cphonecustomizationvoip.h"
-#include "tphonecmdparamspeeddial.h"
 #include "cphonecenrepproxy.h"
 #include "cphonestateutilsvoip.h"
 #include "cphonestatemachinevoip.h"
@@ -155,10 +154,6 @@
         {
         CPhoneIdle::HandleSendCommandL();         
         }  
-    else if ( IsSpeedDialNumber( *phoneNumber ) )
-        {
-        SpeedDialL( (*phoneNumber)[0], EDialMethodSendCommand );
-        }
     else
         {
         TUint serviceId( 0 );
--- a/phoneengine/audiohandling/data/defaultbeep.rss	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneengine/audiohandling/data/defaultbeep.rss	Thu Jul 22 16:33:21 2010 +0100
@@ -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};
--- a/phoneengine/audiohandling/group/audiohandling.mmp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneengine/audiohandling/group/audiohandling.mmp	Thu Jul 22 16:33:21 2010 +0100
@@ -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
--- a/phoneengine/audiohandling/src/cpeaudiodata.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneengine/audiohandling/src/cpeaudiodata.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -29,6 +29,7 @@
 #include <tms.h>
 #include <tmseffectobsrvr.h>
 #include <tmsglobalvoleffect.h>
+#include <telinformationpskeys.h>
 #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;
     }
--- a/phoneengine/audiohandling/src/cpeaudiodtmftoneplayer.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneengine/audiohandling/src/cpeaudiodtmftoneplayer.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -32,7 +32,7 @@
 // None
 
 // CONSTANTS
-const TInt KDtmfPauseAfterTone = 100000;
+const TInt KDtmfPauseAfterTone = 45000;
 const TInt KDtmfToneZero = 0;
 const TInt KBufSize = 10;
 _LIT( KPhoneTone_Asterisk, "*+w" );
--- a/phoneengine/audiohandling/src/cpeaudioinbandtoneplayer.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneengine/audiohandling/src/cpeaudioinbandtoneplayer.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -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    <barsc.h> 
 #include    <barsread.h>
 #include    <data_caging_path_literals.hrh> 
-#include    <defaultbeep.rsg>           
+#include    <defaultbeep.rsg> 
+#include    <featdiscovery.h>
 #include    <pepanic.pan>
 #include    <talogger.h>    
 
@@ -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 );
--- a/phoneengine/callhandling/bwins/callhandlingu.def	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneengine/callhandling/bwins/callhandlingu.def	Thu Jul 22 16:33:21 2010 +0100
@@ -23,57 +23,55 @@
 	?HoldCall@CPECallHandling@@UAEHXZ @ 22 NONAME ; int CPECallHandling::HoldCall(void)
 	?CLIEventOccurred@CPESupplementaryServicesMonitor@@UAEXW4TCCESsCLIEvent@MCCESsObserver@@@Z @ 23 NONAME ; void CPESupplementaryServicesMonitor::CLIEventOccurred(enum MCCESsObserver::TCCESsCLIEvent)
 	?ResumeCall@CPECallHandling@@UAEHXZ @ 24 NONAME ; int CPECallHandling::ResumeCall(void)
-	?GetLifeTime@CPECallHandling@@UAEHAAVTDes8@@@Z @ 25 NONAME ; int CPECallHandling::GetLifeTime(class TDes8 &)
-	?CallByCallId@CPECallArrayOwner@@UBEPAVMPECall@@H@Z @ 26 NONAME ; class MPECall * CPECallArrayOwner::CallByCallId(int) const
-	?GetCallDuration@CPECallHandling@@UAEHAAVTTimeIntervalSeconds@@H@Z @ 27 NONAME ; int CPECallHandling::GetCallDuration(class TTimeIntervalSeconds &, int)
-	?AnswerCall@CPECallHandling@@UAEHXZ @ 28 NONAME ; int CPECallHandling::AnswerCall(void)
-	??1CPECall@@MAE@XZ @ 29 NONAME ; CPECall::~CPECall(void)
-	?ActiveCallCount@CPECallArrayOwner@@UBEHXZ @ 30 NONAME ; int CPECallArrayOwner::ActiveCallCount(void) const
-	?NewL@CPEConferenceCall@@SAPAV1@AAVMPEMessageSender@@AAVCCCE@@@Z @ 31 NONAME ; class CPEConferenceCall * CPEConferenceCall::NewL(class MPEMessageSender &, class CCCE &)
-	?StartUp@CPECallHandling@@UAEXXZ @ 32 NONAME ; void CPECallHandling::StartUp(void)
-	?NotifyCurrentActiveALSLine@CPESupplementaryServicesMonitor@@UAEXH@Z @ 33 NONAME ; void CPESupplementaryServicesMonitor::NotifyCurrentActiveALSLine(int)
-	?GetCallTerminatedDiagnostics@CPECallHandling@@UBEHAAV?$TBuf@$0IA@@@@Z @ 34 NONAME ; int CPECallHandling::GetCallTerminatedDiagnostics(class TBuf<128> &) const
-	?GetNumberOfCalls@CPECallHandling@@UAEHXZ @ 35 NONAME ; int CPECallHandling::GetNumberOfCalls(void)
-	?CallCugEventOccurred@CPESupplementaryServicesMonitor@@UAEXW4TCCESsCugEvent@MCCESsObserver@@@Z @ 36 NONAME ; void CPESupplementaryServicesMonitor::CallCugEventOccurred(enum MCCESsObserver::TCCESsCugEvent)
-	?ConnectedCalls@CPECallHandling@@QAEHXZ @ 37 NONAME ; int CPECallHandling::ConnectedCalls(void)
-	?HandleDTMFEvent@CPEDtmfHandling@@UAEXW4TCCEDtmfEvent@MCCEDtmfObserver@@HVTChar@@@Z @ 38 NONAME ; void CPEDtmfHandling::HandleDTMFEvent(enum MCCEDtmfObserver::TCCEDtmfEvent, int, class TChar)
-	?BuildConference@CPECallHandling@@UAEHXZ @ 39 NONAME ; int CPECallHandling::BuildConference(void)
-	?VoiceCallDataByState@CPECallHandling@@QBEPAVCPESingleCall@@IAAH@Z @ 40 NONAME ; class CPESingleCall * CPECallHandling::VoiceCallDataByState(unsigned int, int &) const
-	?CallStateChanged@CPEConferenceCall@@UAEXW4TCCEConferenceCallState@MCCEConferenceCallObserver@@@Z @ 41 NONAME ; void CPEConferenceCall::CallStateChanged(enum MCCEConferenceCallObserver::TCCEConferenceCallState)
-	?IsCallInState@CPECallHandling@@UBEHI@Z @ 42 NONAME ; int CPECallHandling::IsCallInState(unsigned int) const
-	??0CPEDtmfHandling@@IAE@AAVCPECallHandling@@AAVMCCEDtmfInterface@@@Z @ 43 NONAME ; CPEDtmfHandling::CPEDtmfHandling(class CPECallHandling &, class MCCEDtmfInterface &)
-	?CallEventOccurred@CPESingleCallObserver@@UAEXW4TCCECallEvent@MCCECallObserver@@@Z @ 44 NONAME ; void CPESingleCallObserver::CallEventOccurred(enum MCCECallObserver::TCCECallEvent)
-	?StopDtmfTone@CPECallHandling@@UAEHXZ @ 45 NONAME ; int CPECallHandling::StopDtmfTone(void)
-	?GoOneToOne@CPECallHandling@@UAEHH@Z @ 46 NONAME ; int CPECallHandling::GoOneToOne(int)
-	?UpdatePhoneIdentity@CPECallHandling@@UAEHW4TPEMessagesFromPhoneEngine@MEngineMonitor@@@Z @ 47 NONAME ; int CPECallHandling::UpdatePhoneIdentity(enum MEngineMonitor::TPEMessagesFromPhoneEngine)
-	?CallStateChangedWithInband@CPESingleCallObserver@@UAEXW4TCallState@CCPCall@@@Z @ 48 NONAME ; void CPESingleCallObserver::CallStateChangedWithInband(enum CCPCall::TCallState)
-	?GetMissedCall@CPECallHandling@@UAEHAAHH@Z @ 49 NONAME ; int CPECallHandling::GetMissedCall(int &, int)
-	??1CPECallHandling@@UAE@XZ @ 50 NONAME ; CPECallHandling::~CPECallHandling(void)
-	?ReleaseAll@CPECallHandling@@UAEHXZ @ 51 NONAME ; int CPECallHandling::ReleaseAll(void)
-	?CancelDtmfPlay@CPECallHandling@@UAEXXZ @ 52 NONAME ; void CPECallHandling::CancelDtmfPlay(void)
-	?CallStateChanged@CPESingleCallObserver@@UAEXW4TCallState@CCPCall@@@Z @ 53 NONAME ; void CPESingleCallObserver::CallStateChanged(enum CCPCall::TCallState)
-	?StopDtmfSending@CPECallHandling@@UAEXXZ @ 54 NONAME ; void CPECallHandling::StopDtmfSending(void)
-	?CallTerminatedError@CPECallHandling@@UAEHH@Z @ 55 NONAME ; int CPECallHandling::CallTerminatedError(int)
-	?CallByName@CPECallArrayOwner@@UBEPAVMPECall@@ABV?$TBuf@$0IA@@@@Z @ 56 NONAME ; class MPECall * CPECallArrayOwner::CallByName(class TBuf<128> const &) const
-	?CallEventOccurred@CPEConferenceCall@@UAEXW4TCCEConferenceCallEvent@MCCEConferenceCallObserver@@PAVMCCECall@@@Z @ 57 NONAME ; void CPEConferenceCall::CallEventOccurred(enum MCCEConferenceCallObserver::TCCEConferenceCallEvent, class MCCECall *)
-	?ConstructL@CPEDtmfHandling@@MAEXXZ @ 58 NONAME ; void CPEDtmfHandling::ConstructL(void)
-	?SendDtmf@CPECallHandling@@UAEHABV?$TBuf@$0GE@@@@Z @ 59 NONAME ; int CPECallHandling::SendDtmf(class TBuf<100> const &)
-	?ContinueDtmfSending@CPECallHandling@@UAEXXZ @ 60 NONAME ; void CPECallHandling::ContinueDtmfSending(void)
-	?CallOwner@CPECallHandling@@UBEAAVMPECallOwner@@XZ @ 61 NONAME ; class MPECallOwner & CPECallHandling::CallOwner(void) const
-	?CallByState@CPECallArrayOwner@@UBEPAVMPECall@@I@Z @ 62 NONAME ; class MPECall * CPECallArrayOwner::CallByState(unsigned int) const
-	?NewL@CPEConferenceCall@@SAPAV1@AAVMPEMessageSender@@AAVMCCEConferenceCall@@@Z @ 63 NONAME ; class CPEConferenceCall * CPEConferenceCall::NewL(class MPEMessageSender &, class MCCEConferenceCall &)
-	?IsCallByState@CPECallArrayOwner@@UBEHI@Z @ 64 NONAME ; int CPECallArrayOwner::IsCallByState(unsigned int) const
-	?AcceptUnattendedTransfer@CPECallHandling@@UAEHXZ @ 65 NONAME ; int CPECallHandling::AcceptUnattendedTransfer(void)
-	?HandleTransfer@CPESingleCallObserver@@UAEXHABVTDesC16@@@Z @ 66 NONAME ; void CPESingleCallObserver::HandleTransfer(int, class TDesC16 const &)
-	?ReplaceActive@CPECallHandling@@UAEHXZ @ 67 NONAME ; int CPECallHandling::ReplaceActive(void)
-	?CallCapsChanged@CPESingleCallObserver@@UAEXW4TCCECallControlCaps@MCCECallObserver@@@Z @ 68 NONAME ; void CPESingleCallObserver::CallCapsChanged(enum MCCECallObserver::TCCECallControlCaps)
-	?NewL@CPEDtmfHandling@@SAPAV1@AAVCPECallHandling@@AAVMCCEDtmfInterface@@@Z @ 69 NONAME ; class CPEDtmfHandling * CPEDtmfHandling::NewL(class CPECallHandling &, class MCCEDtmfInterface &)
-	?StartDtmfTone@CPECallHandling@@UAEHABVTChar@@@Z @ 70 NONAME ; int CPECallHandling::StartDtmfTone(class TChar const &)
-	?DialMultimedia@CPECallHandling@@UAEHABV?$TBuf@$0GE@@@AAH@Z @ 71 NONAME ; int CPECallHandling::DialMultimedia(class TBuf<100> const &, int &)
-	?SetActiveLine@CPECallHandling@@UAEXXZ @ 72 NONAME ; void CPECallHandling::SetActiveLine(void)
-	?BarringEventOccurred@CPESupplementaryServicesMonitor@@UAEXW4TCCESsBarringEvent@MCCESsObserver@@@Z @ 73 NONAME ; void CPESupplementaryServicesMonitor::BarringEventOccurred(enum MCCESsObserver::TCCESsBarringEvent)
-	??0CPECall@@IAE@AAVMPEMessageSender@@@Z @ 74 NONAME ; CPECall::CPECall(class MPEMessageSender &)
-	?ForwardCallToAddress@CPECallHandling@@UAEHH@Z @ 75 NONAME ; int CPECallHandling::ForwardCallToAddress(int)
-	??1CPEDtmfHandling@@UAE@XZ @ 76 NONAME ; CPEDtmfHandling::~CPEDtmfHandling(void)
-	?CallCapsChanged@CPEConferenceCall@@UAEXW4TCCEConferenceCallCaps@MCCEConferenceCallObserver@@@Z @ 77 NONAME ; void CPEConferenceCall::CallCapsChanged(enum MCCEConferenceCallObserver::TCCEConferenceCallCaps)
+	?CallByCallId@CPECallArrayOwner@@UBEPAVMPECall@@H@Z @ 25 NONAME ; class MPECall * CPECallArrayOwner::CallByCallId(int) const
+	?GetCallDuration@CPECallHandling@@UAEHAAVTTimeIntervalSeconds@@H@Z @ 26 NONAME ; int CPECallHandling::GetCallDuration(class TTimeIntervalSeconds &, int)
+	?AnswerCall@CPECallHandling@@UAEHXZ @ 27 NONAME ; int CPECallHandling::AnswerCall(void)
+	??1CPECall@@MAE@XZ @ 28 NONAME ; CPECall::~CPECall(void)
+	?ActiveCallCount@CPECallArrayOwner@@UBEHXZ @ 29 NONAME ; int CPECallArrayOwner::ActiveCallCount(void) const
+	?NewL@CPEConferenceCall@@SAPAV1@AAVMPEMessageSender@@AAVCCCE@@@Z @ 30 NONAME ; class CPEConferenceCall * CPEConferenceCall::NewL(class MPEMessageSender &, class CCCE &)
+	?StartUp@CPECallHandling@@UAEXXZ @ 31 NONAME ; void CPECallHandling::StartUp(void)
+	?NotifyCurrentActiveALSLine@CPESupplementaryServicesMonitor@@UAEXH@Z @ 32 NONAME ; void CPESupplementaryServicesMonitor::NotifyCurrentActiveALSLine(int)
+	?GetCallTerminatedDiagnostics@CPECallHandling@@UBEHAAV?$TBuf@$0IA@@@@Z @ 33 NONAME ; int CPECallHandling::GetCallTerminatedDiagnostics(class TBuf<128> &) const
+	?GetNumberOfCalls@CPECallHandling@@UAEHXZ @ 34 NONAME ; int CPECallHandling::GetNumberOfCalls(void)
+	?CallCugEventOccurred@CPESupplementaryServicesMonitor@@UAEXW4TCCESsCugEvent@MCCESsObserver@@@Z @ 35 NONAME ; void CPESupplementaryServicesMonitor::CallCugEventOccurred(enum MCCESsObserver::TCCESsCugEvent)
+	?ConnectedCalls@CPECallHandling@@QAEHXZ @ 36 NONAME ; int CPECallHandling::ConnectedCalls(void)
+	?HandleDTMFEvent@CPEDtmfHandling@@UAEXW4TCCEDtmfEvent@MCCEDtmfObserver@@HVTChar@@@Z @ 37 NONAME ; void CPEDtmfHandling::HandleDTMFEvent(enum MCCEDtmfObserver::TCCEDtmfEvent, int, class TChar)
+	?BuildConference@CPECallHandling@@UAEHXZ @ 38 NONAME ; int CPECallHandling::BuildConference(void)
+	?VoiceCallDataByState@CPECallHandling@@QBEPAVCPESingleCall@@IAAH@Z @ 39 NONAME ; class CPESingleCall * CPECallHandling::VoiceCallDataByState(unsigned int, int &) const
+	?CallStateChanged@CPEConferenceCall@@UAEXW4TCCEConferenceCallState@MCCEConferenceCallObserver@@@Z @ 40 NONAME ; void CPEConferenceCall::CallStateChanged(enum MCCEConferenceCallObserver::TCCEConferenceCallState)
+	?IsCallInState@CPECallHandling@@UBEHI@Z @ 41 NONAME ; int CPECallHandling::IsCallInState(unsigned int) const
+	??0CPEDtmfHandling@@IAE@AAVCPECallHandling@@AAVMCCEDtmfInterface@@@Z @ 42 NONAME ; CPEDtmfHandling::CPEDtmfHandling(class CPECallHandling &, class MCCEDtmfInterface &)
+	?CallEventOccurred@CPESingleCallObserver@@UAEXW4TCCECallEvent@MCCECallObserver@@@Z @ 43 NONAME ; void CPESingleCallObserver::CallEventOccurred(enum MCCECallObserver::TCCECallEvent)
+	?StopDtmfTone@CPECallHandling@@UAEHXZ @ 44 NONAME ; int CPECallHandling::StopDtmfTone(void)
+	?GoOneToOne@CPECallHandling@@UAEHH@Z @ 45 NONAME ; int CPECallHandling::GoOneToOne(int)
+	?CallStateChangedWithInband@CPESingleCallObserver@@UAEXW4TCallState@CCPCall@@@Z @ 46 NONAME ; void CPESingleCallObserver::CallStateChangedWithInband(enum CCPCall::TCallState)
+	?GetMissedCall@CPECallHandling@@UAEHAAHH@Z @ 47 NONAME ; int CPECallHandling::GetMissedCall(int &, int)
+	??1CPECallHandling@@UAE@XZ @ 48 NONAME ; CPECallHandling::~CPECallHandling(void)
+	?ReleaseAll@CPECallHandling@@UAEHXZ @ 49 NONAME ; int CPECallHandling::ReleaseAll(void)
+	?CancelDtmfPlay@CPECallHandling@@UAEXXZ @ 50 NONAME ; void CPECallHandling::CancelDtmfPlay(void)
+	?CallStateChanged@CPESingleCallObserver@@UAEXW4TCallState@CCPCall@@@Z @ 51 NONAME ; void CPESingleCallObserver::CallStateChanged(enum CCPCall::TCallState)
+	?StopDtmfSending@CPECallHandling@@UAEXXZ @ 52 NONAME ; void CPECallHandling::StopDtmfSending(void)
+	?CallTerminatedError@CPECallHandling@@UAEHH@Z @ 53 NONAME ; int CPECallHandling::CallTerminatedError(int)
+	?CallByName@CPECallArrayOwner@@UBEPAVMPECall@@ABV?$TBuf@$0IA@@@@Z @ 54 NONAME ; class MPECall * CPECallArrayOwner::CallByName(class TBuf<128> const &) const
+	?CallEventOccurred@CPEConferenceCall@@UAEXW4TCCEConferenceCallEvent@MCCEConferenceCallObserver@@PAVMCCECall@@@Z @ 55 NONAME ; void CPEConferenceCall::CallEventOccurred(enum MCCEConferenceCallObserver::TCCEConferenceCallEvent, class MCCECall *)
+	?ConstructL@CPEDtmfHandling@@MAEXXZ @ 56 NONAME ; void CPEDtmfHandling::ConstructL(void)
+	?ContinueDtmfSending@CPECallHandling@@UAEXXZ @ 57 NONAME ; void CPECallHandling::ContinueDtmfSending(void)
+	?SendDtmf@CPECallHandling@@UAEHABV?$TBuf@$0GE@@@@Z @ 58 NONAME ; int CPECallHandling::SendDtmf(class TBuf<100> const &)
+	?CallOwner@CPECallHandling@@UBEAAVMPECallOwner@@XZ @ 59 NONAME ; class MPECallOwner & CPECallHandling::CallOwner(void) const
+	?CallByState@CPECallArrayOwner@@UBEPAVMPECall@@I@Z @ 60 NONAME ; class MPECall * CPECallArrayOwner::CallByState(unsigned int) const
+	?NewL@CPEConferenceCall@@SAPAV1@AAVMPEMessageSender@@AAVMCCEConferenceCall@@@Z @ 61 NONAME ; class CPEConferenceCall * CPEConferenceCall::NewL(class MPEMessageSender &, class MCCEConferenceCall &)
+	?IsCallByState@CPECallArrayOwner@@UBEHI@Z @ 62 NONAME ; int CPECallArrayOwner::IsCallByState(unsigned int) const
+	?AcceptUnattendedTransfer@CPECallHandling@@UAEHXZ @ 63 NONAME ; int CPECallHandling::AcceptUnattendedTransfer(void)
+	?HandleTransfer@CPESingleCallObserver@@UAEXHABVTDesC16@@@Z @ 64 NONAME ; void CPESingleCallObserver::HandleTransfer(int, class TDesC16 const &)
+	?ReplaceActive@CPECallHandling@@UAEHXZ @ 65 NONAME ; int CPECallHandling::ReplaceActive(void)
+	?CallCapsChanged@CPESingleCallObserver@@UAEXW4TCCECallControlCaps@MCCECallObserver@@@Z @ 66 NONAME ; void CPESingleCallObserver::CallCapsChanged(enum MCCECallObserver::TCCECallControlCaps)
+	?NewL@CPEDtmfHandling@@SAPAV1@AAVCPECallHandling@@AAVMCCEDtmfInterface@@@Z @ 67 NONAME ; class CPEDtmfHandling * CPEDtmfHandling::NewL(class CPECallHandling &, class MCCEDtmfInterface &)
+	?StartDtmfTone@CPECallHandling@@UAEHABVTChar@@@Z @ 68 NONAME ; int CPECallHandling::StartDtmfTone(class TChar const &)
+	?DialMultimedia@CPECallHandling@@UAEHABV?$TBuf@$0GE@@@AAH@Z @ 69 NONAME ; int CPECallHandling::DialMultimedia(class TBuf<100> const &, int &)
+	?SetActiveLine@CPECallHandling@@UAEXXZ @ 70 NONAME ; void CPECallHandling::SetActiveLine(void)
+	?BarringEventOccurred@CPESupplementaryServicesMonitor@@UAEXW4TCCESsBarringEvent@MCCESsObserver@@@Z @ 71 NONAME ; void CPESupplementaryServicesMonitor::BarringEventOccurred(enum MCCESsObserver::TCCESsBarringEvent)
+	??0CPECall@@IAE@AAVMPEMessageSender@@@Z @ 72 NONAME ; CPECall::CPECall(class MPEMessageSender &)
+	?ForwardCallToAddress@CPECallHandling@@UAEHH@Z @ 73 NONAME ; int CPECallHandling::ForwardCallToAddress(int)
+	??1CPEDtmfHandling@@UAE@XZ @ 74 NONAME ; CPEDtmfHandling::~CPEDtmfHandling(void)
+	?CallCapsChanged@CPEConferenceCall@@UAEXW4TCCEConferenceCallCaps@MCCEConferenceCallObserver@@@Z @ 75 NONAME ; void CPEConferenceCall::CallCapsChanged(enum MCCEConferenceCallObserver::TCCEConferenceCallCaps)
 
--- a/phoneengine/callhandling/eabi/callhandlingu.def	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneengine/callhandling/eabi/callhandlingu.def	Thu Jul 22 16:33:21 2010 +0100
@@ -6,163 +6,159 @@
 	_ZN15CPECallHandling10ReleaseAllEv @ 5 NONAME
 	_ZN15CPECallHandling10ResumeCallEv @ 6 NONAME
 	_ZN15CPECallHandling11GetCallInfoERN11RMobileCall17TMobileCallInfoV3Ei @ 7 NONAME
-	_ZN15CPECallHandling11GetLifeTimeER5TDes8 @ 8 NONAME
-	_ZN15CPECallHandling12GetCallStateEi @ 9 NONAME
-	_ZN15CPECallHandling12StopDtmfToneEv @ 10 NONAME
-	_ZN15CPECallHandling13GetMissedCallERii @ 11 NONAME
-	_ZN15CPECallHandling13ReplaceActiveEv @ 12 NONAME
-	_ZN15CPECallHandling13SetActiveLineEv @ 13 NONAME
-	_ZN15CPECallHandling13StartDtmfToneERK5TChar @ 14 NONAME
-	_ZN15CPECallHandling13TransferCallsEv @ 15 NONAME
-	_ZN15CPECallHandling14CancelDtmfPlayEv @ 16 NONAME
-	_ZN15CPECallHandling14ConnectedCallsEv @ 17 NONAME
-	_ZN15CPECallHandling14DialMultimediaERK4TBufILi100EERi @ 18 NONAME
-	_ZN15CPECallHandling15BuildConferenceEv @ 19 NONAME
-	_ZN15CPECallHandling15GetCallDurationER20TTimeIntervalSecondsi @ 20 NONAME
-	_ZN15CPECallHandling15StopDtmfSendingEv @ 21 NONAME
-	_ZN15CPECallHandling16GetNumberOfCallsEv @ 22 NONAME
-	_ZN15CPECallHandling17DialEmergencyCallERK4TBufILi100EE @ 23 NONAME
-	_ZN15CPECallHandling19AddConferenceMemberEv @ 24 NONAME
-	_ZN15CPECallHandling19CallTerminatedErrorEi @ 25 NONAME
-	_ZN15CPECallHandling19ContinueDtmfSendingEv @ 26 NONAME
-	_ZN15CPECallHandling19UpdatePhoneIdentityEN14MEngineMonitor26TPEMessagesFromPhoneEngineE @ 27 NONAME
-	_ZN15CPECallHandling20DoUnattendedTransferERK7TDesC16 @ 28 NONAME
-	_ZN15CPECallHandling20ForwardCallToAddressEi @ 29 NONAME
-	_ZN15CPECallHandling23TerminateAllConnectionsEv @ 30 NONAME
-	_ZN15CPECallHandling24AcceptUnattendedTransferEv @ 31 NONAME
-	_ZN15CPECallHandling24RejectUnattendedTransferEv @ 32 NONAME
-	_ZN15CPECallHandling4NewLER21MPEPhoneModelInternalR4CCCER17MCCEDtmfInterface @ 33 NONAME
-	_ZN15CPECallHandling6HangUpEi16TPEHangUpOptions @ 34 NONAME
-	_ZN15CPECallHandling7StartUpEv @ 35 NONAME
-	_ZN15CPECallHandling8DialCallERK4TBufILi100EERi @ 36 NONAME
-	_ZN15CPECallHandling8HoldCallEv @ 37 NONAME
-	_ZN15CPECallHandling8SendDtmfERK4TBufILi100EE @ 38 NONAME
-	_ZN15CPECallHandling9SwapCallsEv @ 39 NONAME
-	_ZN15CPECallHandlingD0Ev @ 40 NONAME
-	_ZN15CPECallHandlingD1Ev @ 41 NONAME
-	_ZN15CPECallHandlingD2Ev @ 42 NONAME
-	_ZN15CPEDtmfHandling10ConstructLEv @ 43 NONAME
-	_ZN15CPEDtmfHandling15HandleDTMFEventEN16MCCEDtmfObserver13TCCEDtmfEventEi5TChar @ 44 NONAME
-	_ZN15CPEDtmfHandling4NewLER15CPECallHandlingR17MCCEDtmfInterface @ 45 NONAME
-	_ZN15CPEDtmfHandlingC1ER15CPECallHandlingR17MCCEDtmfInterface @ 46 NONAME
-	_ZN15CPEDtmfHandlingC2ER15CPECallHandlingR17MCCEDtmfInterface @ 47 NONAME
-	_ZN15CPEDtmfHandlingD0Ev @ 48 NONAME
-	_ZN15CPEDtmfHandlingD1Ev @ 49 NONAME
-	_ZN15CPEDtmfHandlingD2Ev @ 50 NONAME
-	_ZN17CPEConferenceCall13ErrorOccurredE23TCCPConferenceCallError @ 51 NONAME
-	_ZN17CPEConferenceCall15CallCapsChangedEN26MCCEConferenceCallObserver22TCCEConferenceCallCapsE @ 52 NONAME
-	_ZN17CPEConferenceCall16CallStateChangedEN26MCCEConferenceCallObserver23TCCEConferenceCallStateE @ 53 NONAME
-	_ZN17CPEConferenceCall17CallEventOccurredEN26MCCEConferenceCallObserver23TCCEConferenceCallEventEP8MCCECall @ 54 NONAME
-	_ZN21CPESingleCallObserver13ErrorOccurredE9TCCPError @ 55 NONAME
-	_ZN21CPESingleCallObserver14HandleTransferEiRK7TDesC16 @ 56 NONAME
-	_ZN21CPESingleCallObserver15CallCapsChangedEN16MCCECallObserver19TCCECallControlCapsE @ 57 NONAME
-	_ZN21CPESingleCallObserver16CallStateChangedEN7CCPCall10TCallStateE @ 58 NONAME
-	_ZN21CPESingleCallObserver17CallEventOccurredEN16MCCECallObserver13TCCECallEventE @ 59 NONAME
-	_ZN21CPESingleCallObserver19CallDurationChangedE20TTimeIntervalSeconds @ 60 NONAME
-	_ZN21CPESingleCallObserver26CallStateChangedWithInbandEN7CCPCall10TCallStateE @ 61 NONAME
-	_ZN31CPESupplementaryServicesMonitor16CLIEventOccurredEN14MCCESsObserver14TCCESsCLIEventE @ 62 NONAME
-	_ZN31CPESupplementaryServicesMonitor20BarringEventOccurredEN14MCCESsObserver18TCCESsBarringEventE @ 63 NONAME
-	_ZN31CPESupplementaryServicesMonitor20CallCugEventOccurredEN14MCCESsObserver14TCCESsCugEventE @ 64 NONAME
-	_ZN31CPESupplementaryServicesMonitor24CallForwardEventOccurredEN14MCCESsObserver22TCCESsCallForwardEventERK7TDesC16 @ 65 NONAME
-	_ZN31CPESupplementaryServicesMonitor26NotifyCurrentActiveALSLineEi @ 66 NONAME
-	_ZN7CPECall16SendErrorMessageEi @ 67 NONAME
-	_ZN7CPECallC1ER16MPEMessageSender @ 68 NONAME
-	_ZN7CPECallC2ER16MPEMessageSender @ 69 NONAME
-	_ZN7CPECallD0Ev @ 70 NONAME
-	_ZN7CPECallD1Ev @ 71 NONAME
-	_ZN7CPECallD2Ev @ 72 NONAME
-	_ZNK15CPECallHandling13IsCallInStateEj @ 73 NONAME
-	_ZNK15CPECallHandling16GetCallIdByStateEj @ 74 NONAME
-	_ZNK15CPECallHandling20VoiceCallDataByStateEjRi @ 75 NONAME
-	_ZNK15CPECallHandling28GetCallTerminatedDiagnosticsER4TBufILi128EE @ 76 NONAME
-	_ZNK15CPECallHandling9CallOwnerEv @ 77 NONAME
-	_ZNK17CPECallArrayOwner10CallByNameERK4TBufILi128EE @ 78 NONAME
-	_ZNK17CPECallArrayOwner11CallByStateEj @ 79 NONAME
-	_ZNK17CPECallArrayOwner12CallByCallIdEi @ 80 NONAME
-	_ZNK17CPECallArrayOwner13IsCallByStateEj @ 81 NONAME
-	_ZNK17CPECallArrayOwner14IsCallByCallIdEi @ 82 NONAME
-	_ZNK17CPECallArrayOwner15ActiveCallCountEv @ 83 NONAME
-	_ZTI13CPESingleCall @ 84 NONAME
-	_ZTI15CPECallHandling @ 85 NONAME
-	_ZTI15CPEDtmfHandling @ 86 NONAME
-	_ZTI17CPECallArrayOwner @ 87 NONAME
-	_ZTI17CPEConferenceCall @ 88 NONAME
-	_ZTI18CPEGprsTermination @ 89 NONAME
-	_ZTI18CPESystemCallState @ 90 NONAME
-	_ZTI20CPEVideoCallHandling @ 91 NONAME
-	_ZTI21CPESingleCallObserver @ 92 NONAME
-	_ZTI31CPESupplementaryServicesMonitor @ 93 NONAME
-	_ZTI7CPECall @ 94 NONAME
-	_ZTV13CPESingleCall @ 95 NONAME
-	_ZTV15CPECallHandling @ 96 NONAME
-	_ZTV15CPEDtmfHandling @ 97 NONAME
-	_ZTV17CPECallArrayOwner @ 98 NONAME
-	_ZTV17CPEConferenceCall @ 99 NONAME
-	_ZTV18CPEGprsTermination @ 100 NONAME
-	_ZTV18CPESystemCallState @ 101 NONAME
-	_ZTV20CPEVideoCallHandling @ 102 NONAME
-	_ZTV21CPESingleCallObserver @ 103 NONAME
-	_ZTV31CPESupplementaryServicesMonitor @ 104 NONAME
-	_ZTV7CPECall @ 105 NONAME
-	_ZThn24_N17CPEConferenceCall13ErrorOccurredE23TCCPConferenceCallError @ 106 NONAME
-	_ZThn24_N17CPEConferenceCall15CallCapsChangedEN26MCCEConferenceCallObserver22TCCEConferenceCallCapsE @ 107 NONAME
-	_ZThn24_N17CPEConferenceCall16CallStateChangedEN26MCCEConferenceCallObserver23TCCEConferenceCallStateE @ 108 NONAME
-	_ZThn24_N17CPEConferenceCall17CallEventOccurredEN26MCCEConferenceCallObserver23TCCEConferenceCallEventEP8MCCECall @ 109 NONAME
-	_ZThn24_N21CPESingleCallObserver13ErrorOccurredE9TCCPError @ 110 NONAME
-	_ZThn24_N21CPESingleCallObserver14HandleTransferEiRK7TDesC16 @ 111 NONAME
-	_ZThn24_N21CPESingleCallObserver15CallCapsChangedEN16MCCECallObserver19TCCECallControlCapsE @ 112 NONAME
-	_ZThn24_N21CPESingleCallObserver16CallStateChangedEN7CCPCall10TCallStateE @ 113 NONAME
-	_ZThn24_N21CPESingleCallObserver17CallEventOccurredEN16MCCECallObserver13TCCECallEventE @ 114 NONAME
-	_ZThn24_N21CPESingleCallObserver19CallDurationChangedE20TTimeIntervalSeconds @ 115 NONAME
-	_ZThn24_N21CPESingleCallObserver26CallStateChangedWithInbandEN7CCPCall10TCallStateE @ 116 NONAME
-	_ZThn4_N15CPEDtmfHandling15HandleDTMFEventEN16MCCEDtmfObserver13TCCEDtmfEventEi5TChar @ 117 NONAME
-	_ZThn4_NK17CPECallArrayOwner10CallByNameERK4TBufILi128EE @ 118 NONAME
-	_ZThn4_NK17CPECallArrayOwner11CallByStateEj @ 119 NONAME
-	_ZThn4_NK17CPECallArrayOwner12CallByCallIdEi @ 120 NONAME
-	_ZThn4_NK17CPECallArrayOwner13IsCallByStateEj @ 121 NONAME
-	_ZThn4_NK17CPECallArrayOwner14IsCallByCallIdEi @ 122 NONAME
-	_ZThn4_NK17CPECallArrayOwner15ActiveCallCountEv @ 123 NONAME
-	_ZThn8_N15CPECallHandling10AnswerCallEv @ 124 NONAME
-	_ZThn8_N15CPECallHandling10DropMemberEi @ 125 NONAME
-	_ZThn8_N15CPECallHandling10GoOneToOneEi @ 126 NONAME
-	_ZThn8_N15CPECallHandling10RejectCallEv @ 127 NONAME
-	_ZThn8_N15CPECallHandling10ReleaseAllEv @ 128 NONAME
-	_ZThn8_N15CPECallHandling10ResumeCallEv @ 129 NONAME
-	_ZThn8_N15CPECallHandling11GetCallInfoERN11RMobileCall17TMobileCallInfoV3Ei @ 130 NONAME
-	_ZThn8_N15CPECallHandling11GetLifeTimeER5TDes8 @ 131 NONAME
-	_ZThn8_N15CPECallHandling12GetCallStateEi @ 132 NONAME
-	_ZThn8_N15CPECallHandling12StopDtmfToneEv @ 133 NONAME
-	_ZThn8_N15CPECallHandling13GetMissedCallERii @ 134 NONAME
-	_ZThn8_N15CPECallHandling13ReplaceActiveEv @ 135 NONAME
-	_ZThn8_N15CPECallHandling13SetActiveLineEv @ 136 NONAME
-	_ZThn8_N15CPECallHandling13StartDtmfToneERK5TChar @ 137 NONAME
-	_ZThn8_N15CPECallHandling13TransferCallsEv @ 138 NONAME
-	_ZThn8_N15CPECallHandling14CancelDtmfPlayEv @ 139 NONAME
-	_ZThn8_N15CPECallHandling14DialMultimediaERK4TBufILi100EERi @ 140 NONAME
-	_ZThn8_N15CPECallHandling15BuildConferenceEv @ 141 NONAME
-	_ZThn8_N15CPECallHandling15GetCallDurationER20TTimeIntervalSecondsi @ 142 NONAME
-	_ZThn8_N15CPECallHandling15StopDtmfSendingEv @ 143 NONAME
-	_ZThn8_N15CPECallHandling16GetNumberOfCallsEv @ 144 NONAME
-	_ZThn8_N15CPECallHandling17DialEmergencyCallERK4TBufILi100EE @ 145 NONAME
-	_ZThn8_N15CPECallHandling19AddConferenceMemberEv @ 146 NONAME
-	_ZThn8_N15CPECallHandling19CallTerminatedErrorEi @ 147 NONAME
-	_ZThn8_N15CPECallHandling19ContinueDtmfSendingEv @ 148 NONAME
-	_ZThn8_N15CPECallHandling19UpdatePhoneIdentityEN14MEngineMonitor26TPEMessagesFromPhoneEngineE @ 149 NONAME
-	_ZThn8_N15CPECallHandling20DoUnattendedTransferERK7TDesC16 @ 150 NONAME
-	_ZThn8_N15CPECallHandling20ForwardCallToAddressEi @ 151 NONAME
-	_ZThn8_N15CPECallHandling23TerminateAllConnectionsEv @ 152 NONAME
-	_ZThn8_N15CPECallHandling24AcceptUnattendedTransferEv @ 153 NONAME
-	_ZThn8_N15CPECallHandling24RejectUnattendedTransferEv @ 154 NONAME
-	_ZThn8_N15CPECallHandling6HangUpEi16TPEHangUpOptions @ 155 NONAME
-	_ZThn8_N15CPECallHandling7StartUpEv @ 156 NONAME
-	_ZThn8_N15CPECallHandling8DialCallERK4TBufILi100EERi @ 157 NONAME
-	_ZThn8_N15CPECallHandling8HoldCallEv @ 158 NONAME
-	_ZThn8_N15CPECallHandling8SendDtmfERK4TBufILi100EE @ 159 NONAME
-	_ZThn8_N15CPECallHandling9SwapCallsEv @ 160 NONAME
-	_ZThn8_N15CPECallHandlingD0Ev @ 161 NONAME
-	_ZThn8_N15CPECallHandlingD1Ev @ 162 NONAME
-	_ZThn8_NK15CPECallHandling13IsCallInStateEj @ 163 NONAME
-	_ZThn8_NK15CPECallHandling16GetCallIdByStateEj @ 164 NONAME
-	_ZThn8_NK15CPECallHandling28GetCallTerminatedDiagnosticsER4TBufILi128EE @ 165 NONAME
-	_ZThn8_NK15CPECallHandling9CallOwnerEv @ 166 NONAME
+	_ZN15CPECallHandling12GetCallStateEi @ 8 NONAME
+	_ZN15CPECallHandling12StopDtmfToneEv @ 9 NONAME
+	_ZN15CPECallHandling13GetMissedCallERii @ 10 NONAME
+	_ZN15CPECallHandling13ReplaceActiveEv @ 11 NONAME
+	_ZN15CPECallHandling13SetActiveLineEv @ 12 NONAME
+	_ZN15CPECallHandling13StartDtmfToneERK5TChar @ 13 NONAME
+	_ZN15CPECallHandling13TransferCallsEv @ 14 NONAME
+	_ZN15CPECallHandling14CancelDtmfPlayEv @ 15 NONAME
+	_ZN15CPECallHandling14ConnectedCallsEv @ 16 NONAME
+	_ZN15CPECallHandling14DialMultimediaERK4TBufILi100EERi @ 17 NONAME
+	_ZN15CPECallHandling15BuildConferenceEv @ 18 NONAME
+	_ZN15CPECallHandling15GetCallDurationER20TTimeIntervalSecondsi @ 19 NONAME
+	_ZN15CPECallHandling15StopDtmfSendingEv @ 20 NONAME
+	_ZN15CPECallHandling16GetNumberOfCallsEv @ 21 NONAME
+	_ZN15CPECallHandling17DialEmergencyCallERK4TBufILi100EE @ 22 NONAME
+	_ZN15CPECallHandling19AddConferenceMemberEv @ 23 NONAME
+	_ZN15CPECallHandling19CallTerminatedErrorEi @ 24 NONAME
+	_ZN15CPECallHandling19ContinueDtmfSendingEv @ 25 NONAME
+	_ZN15CPECallHandling20DoUnattendedTransferERK7TDesC16 @ 26 NONAME
+	_ZN15CPECallHandling20ForwardCallToAddressEi @ 27 NONAME
+	_ZN15CPECallHandling23TerminateAllConnectionsEv @ 28 NONAME
+	_ZN15CPECallHandling24AcceptUnattendedTransferEv @ 29 NONAME
+	_ZN15CPECallHandling24RejectUnattendedTransferEv @ 30 NONAME
+	_ZN15CPECallHandling4NewLER21MPEPhoneModelInternalR4CCCER17MCCEDtmfInterface @ 31 NONAME
+	_ZN15CPECallHandling6HangUpEi16TPEHangUpOptions @ 32 NONAME
+	_ZN15CPECallHandling7StartUpEv @ 33 NONAME
+	_ZN15CPECallHandling8DialCallERK4TBufILi100EERi @ 34 NONAME
+	_ZN15CPECallHandling8HoldCallEv @ 35 NONAME
+	_ZN15CPECallHandling8SendDtmfERK4TBufILi100EE @ 36 NONAME
+	_ZN15CPECallHandling9SwapCallsEv @ 37 NONAME
+	_ZN15CPECallHandlingD0Ev @ 38 NONAME
+	_ZN15CPECallHandlingD1Ev @ 39 NONAME
+	_ZN15CPECallHandlingD2Ev @ 40 NONAME
+	_ZN15CPEDtmfHandling10ConstructLEv @ 41 NONAME
+	_ZN15CPEDtmfHandling15HandleDTMFEventEN16MCCEDtmfObserver13TCCEDtmfEventEi5TChar @ 42 NONAME
+	_ZN15CPEDtmfHandling4NewLER15CPECallHandlingR17MCCEDtmfInterface @ 43 NONAME
+	_ZN15CPEDtmfHandlingC1ER15CPECallHandlingR17MCCEDtmfInterface @ 44 NONAME
+	_ZN15CPEDtmfHandlingC2ER15CPECallHandlingR17MCCEDtmfInterface @ 45 NONAME
+	_ZN15CPEDtmfHandlingD0Ev @ 46 NONAME
+	_ZN15CPEDtmfHandlingD1Ev @ 47 NONAME
+	_ZN15CPEDtmfHandlingD2Ev @ 48 NONAME
+	_ZN17CPEConferenceCall13ErrorOccurredE23TCCPConferenceCallError @ 49 NONAME
+	_ZN17CPEConferenceCall15CallCapsChangedEN26MCCEConferenceCallObserver22TCCEConferenceCallCapsE @ 50 NONAME
+	_ZN17CPEConferenceCall16CallStateChangedEN26MCCEConferenceCallObserver23TCCEConferenceCallStateE @ 51 NONAME
+	_ZN17CPEConferenceCall17CallEventOccurredEN26MCCEConferenceCallObserver23TCCEConferenceCallEventEP8MCCECall @ 52 NONAME
+	_ZN21CPESingleCallObserver13ErrorOccurredE9TCCPError @ 53 NONAME
+	_ZN21CPESingleCallObserver14HandleTransferEiRK7TDesC16 @ 54 NONAME
+	_ZN21CPESingleCallObserver15CallCapsChangedEN16MCCECallObserver19TCCECallControlCapsE @ 55 NONAME
+	_ZN21CPESingleCallObserver16CallStateChangedEN7CCPCall10TCallStateE @ 56 NONAME
+	_ZN21CPESingleCallObserver17CallEventOccurredEN16MCCECallObserver13TCCECallEventE @ 57 NONAME
+	_ZN21CPESingleCallObserver19CallDurationChangedE20TTimeIntervalSeconds @ 58 NONAME
+	_ZN21CPESingleCallObserver26CallStateChangedWithInbandEN7CCPCall10TCallStateE @ 59 NONAME
+	_ZN31CPESupplementaryServicesMonitor16CLIEventOccurredEN14MCCESsObserver14TCCESsCLIEventE @ 60 NONAME
+	_ZN31CPESupplementaryServicesMonitor20BarringEventOccurredEN14MCCESsObserver18TCCESsBarringEventE @ 61 NONAME
+	_ZN31CPESupplementaryServicesMonitor20CallCugEventOccurredEN14MCCESsObserver14TCCESsCugEventE @ 62 NONAME
+	_ZN31CPESupplementaryServicesMonitor24CallForwardEventOccurredEN14MCCESsObserver22TCCESsCallForwardEventERK7TDesC16 @ 63 NONAME
+	_ZN31CPESupplementaryServicesMonitor26NotifyCurrentActiveALSLineEi @ 64 NONAME
+	_ZN7CPECall16SendErrorMessageEi @ 65 NONAME
+	_ZN7CPECallC1ER16MPEMessageSender @ 66 NONAME
+	_ZN7CPECallC2ER16MPEMessageSender @ 67 NONAME
+	_ZN7CPECallD0Ev @ 68 NONAME
+	_ZN7CPECallD1Ev @ 69 NONAME
+	_ZN7CPECallD2Ev @ 70 NONAME
+	_ZNK15CPECallHandling13IsCallInStateEj @ 71 NONAME
+	_ZNK15CPECallHandling16GetCallIdByStateEj @ 72 NONAME
+	_ZNK15CPECallHandling20VoiceCallDataByStateEjRi @ 73 NONAME
+	_ZNK15CPECallHandling28GetCallTerminatedDiagnosticsER4TBufILi128EE @ 74 NONAME
+	_ZNK15CPECallHandling9CallOwnerEv @ 75 NONAME
+	_ZNK17CPECallArrayOwner10CallByNameERK4TBufILi128EE @ 76 NONAME
+	_ZNK17CPECallArrayOwner11CallByStateEj @ 77 NONAME
+	_ZNK17CPECallArrayOwner12CallByCallIdEi @ 78 NONAME
+	_ZNK17CPECallArrayOwner13IsCallByStateEj @ 79 NONAME
+	_ZNK17CPECallArrayOwner14IsCallByCallIdEi @ 80 NONAME
+	_ZNK17CPECallArrayOwner15ActiveCallCountEv @ 81 NONAME
+	_ZTI13CPESingleCall @ 82 NONAME
+	_ZTI15CPECallHandling @ 83 NONAME
+	_ZTI15CPEDtmfHandling @ 84 NONAME
+	_ZTI17CPECallArrayOwner @ 85 NONAME
+	_ZTI17CPEConferenceCall @ 86 NONAME
+	_ZTI18CPEGprsTermination @ 87 NONAME
+	_ZTI18CPESystemCallState @ 88 NONAME
+	_ZTI20CPEVideoCallHandling @ 89 NONAME
+	_ZTI21CPESingleCallObserver @ 90 NONAME
+	_ZTI31CPESupplementaryServicesMonitor @ 91 NONAME
+	_ZTI7CPECall @ 92 NONAME
+	_ZTV13CPESingleCall @ 93 NONAME
+	_ZTV15CPECallHandling @ 94 NONAME
+	_ZTV15CPEDtmfHandling @ 95 NONAME
+	_ZTV17CPECallArrayOwner @ 96 NONAME
+	_ZTV17CPEConferenceCall @ 97 NONAME
+	_ZTV18CPEGprsTermination @ 98 NONAME
+	_ZTV18CPESystemCallState @ 99 NONAME
+	_ZTV20CPEVideoCallHandling @ 100 NONAME
+	_ZTV21CPESingleCallObserver @ 101 NONAME
+	_ZTV31CPESupplementaryServicesMonitor @ 102 NONAME
+	_ZTV7CPECall @ 103 NONAME
+	_ZThn24_N17CPEConferenceCall13ErrorOccurredE23TCCPConferenceCallError @ 104 NONAME
+	_ZThn24_N17CPEConferenceCall15CallCapsChangedEN26MCCEConferenceCallObserver22TCCEConferenceCallCapsE @ 105 NONAME
+	_ZThn24_N17CPEConferenceCall16CallStateChangedEN26MCCEConferenceCallObserver23TCCEConferenceCallStateE @ 106 NONAME
+	_ZThn24_N17CPEConferenceCall17CallEventOccurredEN26MCCEConferenceCallObserver23TCCEConferenceCallEventEP8MCCECall @ 107 NONAME
+	_ZThn24_N21CPESingleCallObserver13ErrorOccurredE9TCCPError @ 108 NONAME
+	_ZThn24_N21CPESingleCallObserver14HandleTransferEiRK7TDesC16 @ 109 NONAME
+	_ZThn24_N21CPESingleCallObserver15CallCapsChangedEN16MCCECallObserver19TCCECallControlCapsE @ 110 NONAME
+	_ZThn24_N21CPESingleCallObserver16CallStateChangedEN7CCPCall10TCallStateE @ 111 NONAME
+	_ZThn24_N21CPESingleCallObserver17CallEventOccurredEN16MCCECallObserver13TCCECallEventE @ 112 NONAME
+	_ZThn24_N21CPESingleCallObserver19CallDurationChangedE20TTimeIntervalSeconds @ 113 NONAME
+	_ZThn24_N21CPESingleCallObserver26CallStateChangedWithInbandEN7CCPCall10TCallStateE @ 114 NONAME
+	_ZThn4_N15CPEDtmfHandling15HandleDTMFEventEN16MCCEDtmfObserver13TCCEDtmfEventEi5TChar @ 115 NONAME
+	_ZThn4_NK17CPECallArrayOwner10CallByNameERK4TBufILi128EE @ 116 NONAME
+	_ZThn4_NK17CPECallArrayOwner11CallByStateEj @ 117 NONAME
+	_ZThn4_NK17CPECallArrayOwner12CallByCallIdEi @ 118 NONAME
+	_ZThn4_NK17CPECallArrayOwner13IsCallByStateEj @ 119 NONAME
+	_ZThn4_NK17CPECallArrayOwner14IsCallByCallIdEi @ 120 NONAME
+	_ZThn4_NK17CPECallArrayOwner15ActiveCallCountEv @ 121 NONAME
+	_ZThn8_N15CPECallHandling10AnswerCallEv @ 122 NONAME
+	_ZThn8_N15CPECallHandling10DropMemberEi @ 123 NONAME
+	_ZThn8_N15CPECallHandling10GoOneToOneEi @ 124 NONAME
+	_ZThn8_N15CPECallHandling10RejectCallEv @ 125 NONAME
+	_ZThn8_N15CPECallHandling10ReleaseAllEv @ 126 NONAME
+	_ZThn8_N15CPECallHandling10ResumeCallEv @ 127 NONAME
+	_ZThn8_N15CPECallHandling11GetCallInfoERN11RMobileCall17TMobileCallInfoV3Ei @ 128 NONAME
+	_ZThn8_N15CPECallHandling12GetCallStateEi @ 129 NONAME
+	_ZThn8_N15CPECallHandling12StopDtmfToneEv @ 130 NONAME
+	_ZThn8_N15CPECallHandling13GetMissedCallERii @ 131 NONAME
+	_ZThn8_N15CPECallHandling13ReplaceActiveEv @ 132 NONAME
+	_ZThn8_N15CPECallHandling13SetActiveLineEv @ 133 NONAME
+	_ZThn8_N15CPECallHandling13StartDtmfToneERK5TChar @ 134 NONAME
+	_ZThn8_N15CPECallHandling13TransferCallsEv @ 135 NONAME
+	_ZThn8_N15CPECallHandling14CancelDtmfPlayEv @ 136 NONAME
+	_ZThn8_N15CPECallHandling14DialMultimediaERK4TBufILi100EERi @ 137 NONAME
+	_ZThn8_N15CPECallHandling15BuildConferenceEv @ 138 NONAME
+	_ZThn8_N15CPECallHandling15GetCallDurationER20TTimeIntervalSecondsi @ 139 NONAME
+	_ZThn8_N15CPECallHandling15StopDtmfSendingEv @ 140 NONAME
+	_ZThn8_N15CPECallHandling16GetNumberOfCallsEv @ 141 NONAME
+	_ZThn8_N15CPECallHandling17DialEmergencyCallERK4TBufILi100EE @ 142 NONAME
+	_ZThn8_N15CPECallHandling19AddConferenceMemberEv @ 143 NONAME
+	_ZThn8_N15CPECallHandling19CallTerminatedErrorEi @ 144 NONAME
+	_ZThn8_N15CPECallHandling19ContinueDtmfSendingEv @ 145 NONAME
+	_ZThn8_N15CPECallHandling20DoUnattendedTransferERK7TDesC16 @ 146 NONAME
+	_ZThn8_N15CPECallHandling20ForwardCallToAddressEi @ 147 NONAME
+	_ZThn8_N15CPECallHandling23TerminateAllConnectionsEv @ 148 NONAME
+	_ZThn8_N15CPECallHandling24AcceptUnattendedTransferEv @ 149 NONAME
+	_ZThn8_N15CPECallHandling24RejectUnattendedTransferEv @ 150 NONAME
+	_ZThn8_N15CPECallHandling6HangUpEi16TPEHangUpOptions @ 151 NONAME
+	_ZThn8_N15CPECallHandling7StartUpEv @ 152 NONAME
+	_ZThn8_N15CPECallHandling8DialCallERK4TBufILi100EERi @ 153 NONAME
+	_ZThn8_N15CPECallHandling8HoldCallEv @ 154 NONAME
+	_ZThn8_N15CPECallHandling8SendDtmfERK4TBufILi100EE @ 155 NONAME
+	_ZThn8_N15CPECallHandling9SwapCallsEv @ 156 NONAME
+	_ZThn8_N15CPECallHandlingD0Ev @ 157 NONAME
+	_ZThn8_N15CPECallHandlingD1Ev @ 158 NONAME
+	_ZThn8_NK15CPECallHandling13IsCallInStateEj @ 159 NONAME
+	_ZThn8_NK15CPECallHandling16GetCallIdByStateEj @ 160 NONAME
+	_ZThn8_NK15CPECallHandling28GetCallTerminatedDiagnosticsER4TBufILi128EE @ 161 NONAME
+	_ZThn8_NK15CPECallHandling9CallOwnerEv @ 162 NONAME
 
--- a/phoneengine/callhandling/group/callhandling.mmp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneengine/callhandling/group/callhandling.mmp	Thu Jul 22 16:33:21 2010 +0100
@@ -40,6 +40,7 @@
 SOURCE      cpesystemcallstate.cpp
 SOURCE      cpevideocallhandling.cpp
 SOURCE      cpecceobserver.cpp
+SOURCE      tpematcher.cpp
 
 USERINCLUDE     ../inc
 
@@ -57,6 +58,7 @@
 LIBRARY featmgr.lib // Feature manager. 
 LIBRARY flogger.lib
 LIBRARY phonesettings.lib
+LIBRARY centralrepository.lib   // CenRep.
 
 LANG            SC
 START WINS
--- a/phoneengine/callhandling/inc/cpecallhandling.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneengine/callhandling/inc/cpecallhandling.h	Thu Jul 22 16:33:21 2010 +0100
@@ -54,6 +54,7 @@
 class CCCECallParameters;
 class CPECCEObserver;
 class CPESystemCallState;
+class CRepository;
 
 // CLASS DECLARATION
 
@@ -283,14 +284,6 @@
         IMPORT_C TInt TerminateAllConnections();
         
         /**
-        * Asks phone identity parameters from the mmetel.
-        * @param aMessage Reply message to the phone application.
-        * @return Error (KErrNone or KErrNotFound).
-        */
-        IMPORT_C TInt UpdatePhoneIdentity( 
-            MEngineMonitor::TPEMessagesFromPhoneEngine aMessage );
-
-        /**
         * Sets active line
         */
         IMPORT_C void SetActiveLine();
@@ -380,14 +373,6 @@
         IMPORT_C TInt CallTerminatedError( const TInt aCallId );
         
         /**
-        * This method gets the lifetime of the MS. The lifetime information 
-        * includes the manufacturing date of the MS and the total amount of airtime use.
-        * @param aLifeTimeInfo Life time information
-        * @return Get succeeded or not.
-        */
-        IMPORT_C TBool GetLifeTime( TDes8& aLifeTimeInfo );
-        
-        /**
         * Replace active call with waiting call. 
         * @since Series60_5.0
         * @return Error (KErrNone is success).
@@ -648,6 +633,15 @@
          * @param aCall reference to call object
          */
         void SetCallOrigin( const TInt aCallId, const MCCECall& aCall ) const;
+        
+        /**
+         * Set COLP number to datastore if remote party number is 
+         * different from dialled number.
+         * @param aCallid.
+         * @param aCall reference to call object
+         * @return Updating Colp number was necessary.
+         */
+        TBool UpdateColpNumber( TInt aCallId, const MCCECall& aCall ) const;
 
     protected:
         // Phone model instance which owns this object.
@@ -689,6 +683,8 @@
         CPECCEObserver* iCCEObserver;
         // System Call State
         CPESystemCallState* iSystemCallState;
+        
+        CRepository* iRepository;
     };
 
 #endif    // CPECALLHANDLING_H
--- a/phoneengine/callhandling/inc/mpecallhandling.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneengine/callhandling/inc/mpecallhandling.h	Thu Jul 22 16:33:21 2010 +0100
@@ -110,15 +110,6 @@
         virtual TInt TerminateAllConnections() = 0;
         
         /**
-        * Asks phone identity parameters from the mmetel.
-        * @since Series60_4.0
-        * @param aMessage Reply message to the phone application.
-        * @return Error (KErrNone or KErrNotFound).
-        */
-        virtual TInt UpdatePhoneIdentity( 
-            MEngineMonitor::TPEMessagesFromPhoneEngine aMessage ) = 0;
-
-        /**
         * Determines if there is a call in given state.
         * @since Series60_4.0
         * @param aState Call state search key.
@@ -370,14 +361,6 @@
         virtual void CancelDtmfPlay() = 0;
         
         /**
-        * This method gets the lifetime of the MS. The lifetime information 
-        * includes the manufacturing date of the MS and the total amount of airtime use.
-        * @param aLifeTimeInfo Life time information
-        * @return Get succeeded or not.
-        */
-        virtual TBool GetLifeTime( TDes8& aLifeTimeInfo ) = 0;
-        
-        /**
         * This method gets the reference to MPECallOwner object.
         * @return None.
         */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/callhandling/inc/tpematcher.h	Thu Jul 22 16:33:21 2010 +0100
@@ -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:  This file contains the header file of the class TPEMatcher. 
+*
+*/
+
+#ifndef TPEMATCHER_H_
+#define TPEMATCHER_H_
+
+#include <e32def.h>
+#include <e32cmn.h>
+
+class TPEMatcher 
+    {
+public:
+	
+	 /**
+    * C++ default constructor.
+    */
+    TPEMatcher();
+    
+   /**
+	  * Destructor.
+    */
+    ~TPEMatcher();
+    
+    /**
+     * Finds if the two numbers match. Numbers are matched from
+     * right to left. If either or both of the numbers passed as a parameter
+     * are shorter than aCount the shortes number count is used in
+     * matching.     
+     * 
+     * @since S60 v5.2
+     * @param aNumber1 phone number.
+     * @param aNumber2 phone number.
+     * @param aCount Digit count used to match numbers.
+     * @return Found match. 
+     */
+    TBool numbersMatch( const TDesC& aNumber1, const TDesC& aNumber2, TInt aCount );
+    
+    };
+
+
+#endif /* TPEMATCHER_H_ */
--- a/phoneengine/callhandling/src/cpecallhandling.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneengine/callhandling/src/cpecallhandling.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -29,6 +29,7 @@
 #include    "mpecallhandling.h"
 #include    "cpecceobserver.h"
 #include    "cpesystemcallstate.h"
+#include    "tpematcher.h"
 
 #include    <gsmerror.h>
 #include    <mpedatastore.h>
@@ -39,6 +40,7 @@
 #include    <mccecall.h>
 #include    <psetsaobserver.h>
 #include    <cccecallparameters.h>
+#include    <centralrepository.h>
 
 // EXTERNAL DATA STRUCTURES
 // None
@@ -47,7 +49,19 @@
 // None
 
 // CONSTANTS
-// None
+/******************************************************************************
+* Telephony Configuration API
+* Keys under this category are used in defining telephony configuration.
+******************************************************************************/
+const TUid KCRUidTelConfiguration = {0x102828B8};
+
+/**
+* Amount of digits to be used in contact matching.
+* This allows a customer to variate the amount of digits to be matched.
+*/
+const TUint32 KTelMatchDigits                               = 0x00000001;
+
+const TInt KPEMatchDefault = 7;
 
 // MACROS
 // None
@@ -92,6 +106,7 @@
     {  
     TEFLOGSTRING( KTAOBJECT, "CALL CPECallHandling::~CPECallHandling() start");
     
+    delete iRepository;
     delete iSystemCallState;
     delete iDtmfHandling;
     
@@ -164,6 +179,8 @@
     
     iSystemCallState = CPESystemCallState::NewL( *iCallArrayOwner, *iModel.DataStore() );
     
+    iRepository = CRepository::NewL( KCRUidTelConfiguration );
+    
     TEFLOGSTRING( KTAOBJECT, "CALL CPECallHandling::BaseConstructL() complete");
     }
 
@@ -437,19 +454,20 @@
             {
             TEFLOGSTRING( KTAMESINT, "CALL CPECallHandling::SendMessage -> EPEMessageRemotePartyInfoChanged");
             // HO cases call type can changes
-            CPESingleCall* connectedCall;
-            connectedCall = iCallArrayOwner->CallPointerByState( EPEStateConnected );
-            
-            if( connectedCall )
+            CPESingleCall* call;
+            call = static_cast<CPESingleCall*>( iCallArrayOwner->CallByCallId( aCallId ) );
+                                 
+            MCCECall& connectedCall = call->Call();
+            CCPCall::TCallType callType = connectedCall.Parameters().CallType();
+ 
+            if ( EPEStateConnected == call->GetCallState() )
                 {
-                CCPCall::TCallType callType = connectedCall->Call().Parameters().CallType();
-                
                 if ( callType == CCPCall::ECallTypePS ) 
                     {
                     TEFLOGSTRING( KTAMESINT, 
                         "CALL CPECallHandling::SendMessage -> EPEMessageRemotePartyInfoChanged->update call type to PS");
                     iModel.DataStore()->SetCallType( EPECallTypeVoIP, aCallId ); 
-                    iModel.DataStore()->SetServiceIdCommand( connectedCall->Call().Parameters().ServiceId() );
+                    iModel.DataStore()->SetServiceIdCommand( call->Call().Parameters().ServiceId() );
                     iCallOpenParams->SetCallType( CCPCall::ECallTypePS); 
                     }
                 else if ( callType == CCPCall::ECallTypeCSVoice )
@@ -458,14 +476,23 @@
                         "CALL CPECallHandling::SendMessage -> EPEMessageRemotePartyInfoChanged->update call type to CS");
                     iCallOpenParams->SetCallType( CCPCall::ECallTypeCSVoice );
                     iModel.DataStore()->SetServiceIdCommand( 1 );
-                    iModel.DataStore()->SetCallType( EPECallTypeCSVoice, aCallId );    
+                    iModel.DataStore()->SetCallType( EPECallTypeCSVoice, aCallId ); 
+                    if ( UpdateColpNumber( aCallId, connectedCall ))
+                        {
+                        iModel.SendMessage( MEngineMonitor::EPEMessageColpNumberAvailable, aCallId );
+                        }
                     }
                 }
+            // CNAP informations must be in incoming call
+            iModel.DataStore()->SetRemotePartyName( connectedCall.RemotePartyName(), aCallId );                
+            iModel.DataStore()->SetRemotePhoneNumber( connectedCall.RemoteParty().Left( KPEPhoneNumberMaxLength ), aCallId );
+            iModel.DataStore()->SetCallIndex( connectedCall.CallIndex(), aCallId );            
+            break;
             }
-       // Flow throught
-            
+                   
         case MEngineMonitor::EPEMessageIncoming:
             {
+            TEFLOGSTRING( KTAMESINT, "CALL CPECallHandling::SendMessage -> EPEMessageIncoming");
             CPESingleCall* callData = iCallArrayOwner->GetCallObject( aCallId );
             if( callData )
                 {
@@ -870,28 +897,6 @@
     }
 
 // -----------------------------------------------------------------------------
-// CPECallHandling::UpdatePhoneIdentity
-// Method updates phone identity
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt CPECallHandling::UpdatePhoneIdentity(
-    MEngineMonitor::TPEMessagesFromPhoneEngine /*aMessage*/ )
-    {
-    TInt retValue( KErrNone ); 
-    CSInfo csinfo;
-    retValue = iConvergedCallEngine.GetCSInfo( csinfo );
-    
-    TPEPhoneIdentityParameters phoneIdentityParameters;
-    
-    phoneIdentityParameters.iSerialNumber = csinfo.iSerialNumber;
-        
-    iModel.DataStore()->SetPhoneIdentityParameters( phoneIdentityParameters );
-
-    SendMessage( MEngineMonitor::EPEMessageShowIMEI );
-    return retValue;
-    }
-
-// -----------------------------------------------------------------------------
 // CPECallHandling::IsCallInState
 // returns ETrue if there is a call in given state; otherwise EFalse
 // -----------------------------------------------------------------------------
@@ -1903,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 );   
+        }
     }
 
 // -----------------------------------------------------------------------------
@@ -1949,16 +1957,7 @@
     TEFLOGSTRING( KTAINT, "CALL CPECallHandling::CreateConferenceCallL end" );
     }
 
-// -----------------------------------------------------------------------------
-// CPECallHandling::GetLifeTime
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TBool CPECallHandling::GetLifeTime( TDes8& aLifeTimeInfo )
-    {
-    TEFLOGSTRING( KTAINT, "CALL CPECallHandling::GetLifeTime" );
-    return iConvergedCallEngine.GetLifeTime( aLifeTimeInfo );
-    }
-    
+
 // -----------------------------------------------------------------------------
 // CPECallHandling::UpdateSaSetting
 // -----------------------------------------------------------------------------
@@ -2418,4 +2417,53 @@
     }
 
 
+// -----------------------------------------------------------------------------
+// CPECallHandling::UpdateColpNumber
+// -----------------------------------------------------------------------------
+//
+TBool CPECallHandling::UpdateColpNumber( TInt aCallId, const MCCECall& aCall ) const
+    {
+    TEFLOGSTRING( KTAINT, "CALL CPECallHandling::UpdateColpNumber" );
+    
+    TBool updateDone( EFalse );
+    TInt errorCode( KErrNone );
+    TInt value( KPEMatchDefault );
+    TPEMatcher matcher;       
+    TPEPhoneNumber remoteNumber;
+    
+    MPEDataStore* dataStore = iModel.DataStore();
+    
+    if ( dataStore->RemoteColpNumber( aCallId ).Length() )
+        {
+        remoteNumber = dataStore->RemoteColpNumber( aCallId );
+        }
+    else
+        {
+        remoteNumber = dataStore->RemotePhoneNumber( aCallId );
+        }    
+        
+    const TPEPhoneNumber& updatedNumber = aCall.RemoteParty();
+    
+    errorCode = iRepository->Get( KTelMatchDigits, value );
+    if ( !errorCode == KErrNone )
+        {
+        TEFLOGSTRING( KTAOBJECT, "Reading KTelMatchDigits failed, use default value for matching");
+        } 
+    
+    //check if remote number is different from dialled number
+    if ( !matcher.numbersMatch( remoteNumber, updatedNumber, value ) )
+        {
+        //set COLP number        
+        dataStore->SetRemoteColpNumber( updatedNumber, aCallId );
+        
+        TEFLOGSTRING3( KTAMESINT, 
+                "CPECallHandling::UpdateColpNumber, colp number: '%S', call id: %d", 
+                &updatedNumber, aCallId );
+        updateDone = ETrue;
+        }  
+    
+    return updateDone;
+    }
+       
+
 //  End of File 
--- a/phoneengine/callhandling/src/cpesupplementaryservicesmonitor.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneengine/callhandling/src/cpesupplementaryservicesmonitor.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -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:
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/callhandling/src/tpematcher.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,61 @@
+/*
+* 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 "tpematcher.h"
+
+
+// ======== MEMBER FUNCTIONS ========
+
+// ---------------------------------------------------------------------------
+// Constructor
+// ---------------------------------------------------------------------------
+//
+TPEMatcher::TPEMatcher()
+    {
+    }
+
+// ---------------------------------------------------------------------------
+// Destructor
+// ---------------------------------------------------------------------------
+//    
+TPEMatcher::~TPEMatcher()
+    {
+    
+    }
+
+// ---------------------------------------------------------------------------
+// Finds if the two numbers match.
+// ---------------------------------------------------------------------------
+//
+TBool TPEMatcher::numbersMatch( const TDesC& aNumber1, const TDesC& aNumber2, TInt aCount )
+    {
+    TBool returnVal( EFalse );    
+    TInt matchDigits(aCount); 
+    
+    matchDigits = Min( matchDigits, aNumber1.Length() );
+    matchDigits = Min( matchDigits, aNumber2.Length() );
+    
+    TPtrC16 number1Ptr = aNumber1.Right(matchDigits);
+    TPtrC16 number2Ptr = aNumber2.Right(matchDigits);
+    
+    if ( number1Ptr.Match( number2Ptr ) != KErrNotFound )
+        {
+        returnVal = ETrue;
+        }
+    
+    return returnVal;
+    }
--- a/phoneengine/contacthandling2/bwins/contacthandlingu.def	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneengine/contacthandling2/bwins/contacthandlingu.def	Thu Jul 22 16:33:21 2010 +0100
@@ -1,11 +1,9 @@
 EXPORTS
-	??1CPEContactHandlingProxy@@UAE@XZ @ 1 NONAME ; CPEContactHandlingProxy::~CPEContactHandlingProxy(void)
-	?CreateFirstPhaseL@CPEContactHandlingProxy@@SAPAVMPEContactHandling@@XZ @ 2 NONAME ; class MPEContactHandling * CPEContactHandlingProxy::CreateFirstPhaseL(void)
-	?CreateSecondPhaseL@CPEContactHandlingProxy@@QAEXAAVMPEPhoneModelInternal@@AAVRFs@@@Z @ 3 NONAME ; void CPEContactHandlingProxy::CreateSecondPhaseL(class MPEPhoneModelInternal &, class RFs &)
-	?FindContactInfoSync@CPEContactHandlingDummy@@UAEHHW4TPEFindContactKey@@@Z @ 4 NONAME ; int CPEContactHandlingDummy::FindContactInfoSync(int, enum TPEFindContactKey)
-	?FindContactInfoSync@CPEContactHandlingProxy@@UAEHHW4TPEFindContactKey@@@Z @ 5 NONAME ; int CPEContactHandlingProxy::FindContactInfoSync(int, enum TPEFindContactKey)
-	?GetSpeedDialLocation@CPEContactHandlingDummy@@UAEHHAAV?$TBuf@$0GE@@@@Z @ 6 NONAME ; int CPEContactHandlingDummy::GetSpeedDialLocation(int, class TBuf<100> &)
-	?GetSpeedDialLocation@CPEContactHandlingProxy@@UAEHHAAV?$TBuf@$0GE@@@@Z @ 7 NONAME ; int CPEContactHandlingProxy::GetSpeedDialLocation(int, class TBuf<100> &)
-	?NewL@CPEContactHandlingDummy@@SAPAV1@XZ @ 8 NONAME ; class CPEContactHandlingDummy * CPEContactHandlingDummy::NewL(void)
-	?NewL@CPEContactMatch@@SAPAV1@AAVCPEContactHandling@@AAVMPEDataStore@@@Z @ 9 NONAME ; class CPEContactMatch * CPEContactMatch::NewL(class CPEContactHandling &, class MPEDataStore &)
+	?NewL@CPEContactHandlingDummy@@SAPAV1@XZ @ 1 NONAME ; class CPEContactHandlingDummy * CPEContactHandlingDummy::NewL(void)
+	?FindContactInfoSync@CPEContactHandlingDummy@@UAEHHW4TPEFindContactKey@@@Z @ 2 NONAME ; int CPEContactHandlingDummy::FindContactInfoSync(int, enum TPEFindContactKey)
+	?CreateFirstPhaseL@CPEContactHandlingProxy@@SAPAVMPEContactHandling@@XZ @ 3 NONAME ; class MPEContactHandling * CPEContactHandlingProxy::CreateFirstPhaseL(void)
+	?FindContactInfoSync@CPEContactHandlingProxy@@UAEHHW4TPEFindContactKey@@@Z @ 4 NONAME ; int CPEContactHandlingProxy::FindContactInfoSync(int, enum TPEFindContactKey)
+	?CreateSecondPhaseL@CPEContactHandlingProxy@@QAEXAAVMPEPhoneModelInternal@@AAVRFs@@@Z @ 5 NONAME ; void CPEContactHandlingProxy::CreateSecondPhaseL(class MPEPhoneModelInternal &, class RFs &)
+	??1CPEContactHandlingProxy@@UAE@XZ @ 6 NONAME ; CPEContactHandlingProxy::~CPEContactHandlingProxy(void)
+	?NewL@CPEContactMatch@@SAPAV1@AAVCPEContactHandling@@AAVMPEDataStore@@@Z @ 7 NONAME ; class CPEContactMatch * CPEContactMatch::NewL(class CPEContactHandling &, class MPEDataStore &)
 
--- a/phoneengine/contacthandling2/eabi/contacthandlingu.def	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneengine/contacthandling2/eabi/contacthandlingu.def	Thu Jul 22 16:33:21 2010 +0100
@@ -1,21 +1,17 @@
 EXPORTS
 	_ZN23CPEContactHandlingDummy19FindContactInfoSyncEi17TPEFindContactKey @ 1 NONAME
-	_ZN23CPEContactHandlingDummy20GetSpeedDialLocationEiR4TBufILi100EE @ 2 NONAME
-	_ZN23CPEContactHandlingDummy4NewLEv @ 3 NONAME
-	_ZN23CPEContactHandlingProxy17CreateFirstPhaseLEv @ 4 NONAME
-	_ZN23CPEContactHandlingProxy18CreateSecondPhaseLER21MPEPhoneModelInternalR3RFs @ 5 NONAME
-	_ZN23CPEContactHandlingProxy19FindContactInfoSyncEi17TPEFindContactKey @ 6 NONAME
-	_ZN23CPEContactHandlingProxy20GetSpeedDialLocationEiR4TBufILi100EE @ 7 NONAME
-	_ZTI15CPEContactMatch @ 8 NONAME ; #<TI>#
-	_ZTI18CPEContactHandling @ 9 NONAME ; #<TI>#
-	_ZTI23CPEContactHandlingDummy @ 10 NONAME ; #<TI>#
-	_ZTI23CPEContactHandlingProxy @ 11 NONAME ; #<TI>#
-	_ZTV15CPEContactMatch @ 12 NONAME ; #<VT>#
-	_ZTV18CPEContactHandling @ 13 NONAME ; #<VT>#
-	_ZTV23CPEContactHandlingDummy @ 14 NONAME ; #<VT>#
-	_ZTV23CPEContactHandlingProxy @ 15 NONAME ; #<VT>#
-	_ZThn4_N23CPEContactHandlingDummy19FindContactInfoSyncEi17TPEFindContactKey @ 16 NONAME ; #<thunk>#
-	_ZThn4_N23CPEContactHandlingDummy20GetSpeedDialLocationEiR4TBufILi100EE @ 17 NONAME ; #<thunk>#
-	_ZThn4_N23CPEContactHandlingProxy19FindContactInfoSyncEi17TPEFindContactKey @ 18 NONAME ; #<thunk>#
-	_ZThn4_N23CPEContactHandlingProxy20GetSpeedDialLocationEiR4TBufILi100EE @ 19 NONAME ; #<thunk>#
+	_ZN23CPEContactHandlingDummy4NewLEv @ 2 NONAME
+	_ZN23CPEContactHandlingProxy17CreateFirstPhaseLEv @ 3 NONAME
+	_ZN23CPEContactHandlingProxy18CreateSecondPhaseLER21MPEPhoneModelInternalR3RFs @ 4 NONAME
+	_ZN23CPEContactHandlingProxy19FindContactInfoSyncEi17TPEFindContactKey @ 5 NONAME
+	_ZTI15CPEContactMatch @ 6 NONAME
+	_ZTI18CPEContactHandling @ 7 NONAME
+	_ZTI23CPEContactHandlingDummy @ 8 NONAME
+	_ZTI23CPEContactHandlingProxy @ 9 NONAME
+	_ZTV15CPEContactMatch @ 10 NONAME
+	_ZTV18CPEContactHandling @ 11 NONAME
+	_ZTV23CPEContactHandlingDummy @ 12 NONAME
+	_ZTV23CPEContactHandlingProxy @ 13 NONAME
+	_ZThn4_N23CPEContactHandlingDummy19FindContactInfoSyncEi17TPEFindContactKey @ 14 NONAME
+	_ZThn4_N23CPEContactHandlingProxy19FindContactInfoSyncEi17TPEFindContactKey @ 15 NONAME
 
--- a/phoneengine/contacthandling2/inc/cpecontacthandling.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneengine/contacthandling2/inc/cpecontacthandling.h	Thu Jul 22 16:33:21 2010 +0100
@@ -97,16 +97,6 @@
         void SendMessage( MEngineMonitor::TPEMessagesFromPhoneEngine aMessage, 
                           const TInt aCallId = KPECallIdNotUsed );
         
-        /**
-        * Fetch number from speed dial location
-        * @param aLocationIndex Index to look for
-        * @param aNumber Filled with speed dial location phone number
-        * @return Error code.
-        */
-        TInt GetSpeedDialLocation( 
-            TInt aLocationIndex, 
-            TPEPhoneNumber& aNumber );
-
    protected:  // New functions
         
         /**
--- a/phoneengine/contacthandling2/inc/cpecontacthandlingdummy.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneengine/contacthandling2/inc/cpecontacthandlingdummy.h	Thu Jul 22 16:33:21 2010 +0100
@@ -77,16 +77,6 @@
         */
         void SendMessage( MEngineMonitor::TPEMessagesFromPhoneEngine aMessage );
         
-        /**
-        * Fetch number from speed dial location
-        * @param aLocationIndex Index to look for
-        * @param aNumber Filled with speed dial location phone number
-        * @return Error code.
-        */
-        TInt GetSpeedDialLocation( 
-            TInt aLocationIndex, 
-            TPEPhoneNumber& aNumber );
-
    protected:  // New functions
         /**
         * C++ default constructor.
--- a/phoneengine/contacthandling2/inc/cpecontacthandlingproxy.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneengine/contacthandling2/inc/cpecontacthandlingproxy.h	Thu Jul 22 16:33:21 2010 +0100
@@ -80,18 +80,6 @@
             const TInt aCallId,
             const TPEFindContactKey aFindKey );
 
-        /**
-        * Fetch number from speed dial location
-        * @param aLocationIndex Index to look for
-        * @param aNumber Filled with speed dial location phone number
-        * @param aContactItemId Contact item id. KErrNotFound if given location
-        *                                        was not set.
-        * @return possible Symbian OS error code
-        */
-        IMPORT_C TInt GetSpeedDialLocation( 
-            TInt aLocationIndex, 
-            TPEPhoneNumber& aNumber );
-
     protected:
         /**
         * C++ default constructor.
--- a/phoneengine/contacthandling2/inc/cpecontactmatch.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneengine/contacthandling2/inc/cpecontactmatch.h	Thu Jul 22 16:33:21 2010 +0100
@@ -96,15 +96,6 @@
         */
         CFbsBitmap* ContactThumbnail();
 
-        /**
-        * Fetch number from speed dial location
-        * @param aLocationIndex Index to look for
-        * @param aNumber Filled with speed dial location phone number
-        */
-        void GetSpeedDialLocationL( 
-            TInt aLocationIndex, 
-            TPEPhoneNumber& aNumber );
-
     private:
 
         /**
--- a/phoneengine/contacthandling2/inc/mpecontacthandling.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneengine/contacthandling2/inc/mpecontacthandling.h	Thu Jul 22 16:33:21 2010 +0100
@@ -49,18 +49,6 @@
         virtual TInt FindContactInfoSync( 
             const TInt aCallId,
             const TPEFindContactKey aFindKey ) = 0;
-
-        /**
-        * Fetch number from speed dial location
-        * @param aLocationIndex Index to look for
-        * @param aNumber Filled with speed dial location phone number
-        * @param aContactItemId Contact item id. KErrNotFound if given location
-        *                                        was not set.
-        * @return possible Symbian OS error code
-        */
-        virtual TInt GetSpeedDialLocation( 
-            TInt aLocationIndex, 
-            TPEPhoneNumber& aNumber ) = 0;
     };
 
 #endif      // MPECONTACTHANDLING_H
--- a/phoneengine/contacthandling2/src/cpecontacthandling.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneengine/contacthandling2/src/cpecontacthandling.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -209,22 +209,6 @@
         }
     }
 
-// -----------------------------------------------------------------------------
-// CPEContactHandling::GetSpeedDialLocation
-// Get's phone number and contact id from given location.
-// -----------------------------------------------------------------------------
-//
-TInt CPEContactHandling::GetSpeedDialLocation( 
-    TInt aLocationIndex, 
-    TPEPhoneNumber& aNumber )
-    {
-    TInt error = KErrLocked;
-    ASSERT( iContactMatcher );
-    TRAP( error, iContactMatcher->GetSpeedDialLocationL( aLocationIndex, 
-                                                        aNumber ) );
-    return error;
-    }
-
 // ================= OTHER EXPORTED FUNCTIONS ===============================
 
 //  End of File 
--- a/phoneengine/contacthandling2/src/cpecontacthandlingdummy.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneengine/contacthandling2/src/cpecontacthandlingdummy.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -73,19 +73,6 @@
     return KErrNone;
     }
 
-// -----------------------------------------------------------------------------
-// CPEContactHandlingDummy::GetSpeedDialLocation
-// Get's phone number and contact id from given location.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt CPEContactHandlingDummy::GetSpeedDialLocation( 
-    TInt /*aLocationIndex*/, 
-    TPEPhoneNumber& /*aNumber*/ )
-    {
-    TEFLOGSTRING( KTAOBJECT, "CNT CPEContactHandlingDummy::GetSpeedDialLocation()" );
-    return KErrNone;
-    }
-
 // ================= OTHER EXPORTED FUNCTIONS ===============================
 
 //  End of File 
--- a/phoneengine/contacthandling2/src/cpecontacthandlingproxy.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneengine/contacthandling2/src/cpecontacthandlingproxy.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -123,41 +123,6 @@
     return KErrBadHandle;
     }
 
-// -----------------------------------------------------------------------------
-// CPEContactHandlingProxy::GetSpeedDialLocation
-// Get's phone number and contact id from given location.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt CPEContactHandlingProxy::GetSpeedDialLocation( 
-    TInt aLocationIndex, 
-    TPEPhoneNumber& aNumber )
-    {
-    if ( iContactHandling )
-        {
-        TEFLOGSTRING( 
-            KTAINT, 
-            "CNT CPEContactHandlingProxy::GetSpeedDialLocation > CPEContactHandling::GetSpeedDialLocation" );
-        return iContactHandling->GetSpeedDialLocation( aLocationIndex, aNumber );
-        }
-    else if ( iContactHandlingDummy )
-        {
-        TEFLOGSTRING( 
-            KTAINT, 
-            "CNT CPEContactHandlingProxy::GetSpeedDialLocation > CPEContactHandlingDummy::GetSpeedDialLocation" );
-        return iContactHandlingDummy->GetSpeedDialLocation( 
-            aLocationIndex, 
-            aNumber );
-        }
-    else
-        {
-        TEFLOGSTRING( 
-            KTAERROR, 
-            "CNT CPECONTACTHANDLINGPROXY::GETSPEEDDIALLOCATION ! NEITHER CONTACT HANDLING NOR CONTACT HANDLING DUMMY EXISTS" );
-        User::Invariant();
-        }
-    return KErrBadHandle;
-    }
-
 // ================= OTHER EXPORTED FUNCTIONS ===============================
 
 //  End of File 
--- a/phoneengine/contacthandling2/src/cpecontactmatch.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneengine/contacthandling2/src/cpecontactmatch.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -452,16 +452,4 @@
     TEFLOGSTRING( KTAINT, "CNT CPEContactMatch::CopyContactFieldsDataL: complete" );  
     }
 
-// -----------------------------------------------------------------------------
-// CPEContactMatch::GetSpeedDialLocationL
-// Get's phone number from given location.
-// -----------------------------------------------------------------------------
-//
-void CPEContactMatch::GetSpeedDialLocationL( 
-    TInt /*aLocationIndex*/, 
-    TPEPhoneNumber& /*aNumber*/ )
-    {
-
-    }
-
 //  End of File  
--- a/phoneengine/engineinfo/inc/cpecallinfo.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneengine/engineinfo/inc/cpecallinfo.h	Thu Jul 22 16:33:21 2010 +0100
@@ -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
--- a/phoneengine/engineinfo/inc/cpeengineinfoimpl.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneengine/engineinfo/inc/cpeengineinfoimpl.h	Thu Jul 22 16:33:21 2010 +0100
@@ -76,8 +76,6 @@
     TPEContactFileName iVideoCallRingingTone; // Video call ringingtone name                                    
     TPEDtmfString iDtmfString;              // Dtmf string.                 
     TPEErrorInfo iErrorInfo;                // possible error code                  
-    TPELifeTimeData iLifeTimeData;                  
-    TPEPhoneIdentityParameters iPhoneIdentityParameters; // the phone identity parameters                   
     TPEProfileName iProfileName;            // the name of the profile                  
     TProfileRingingType iRingingType;       // Includes current ringing type                    
     TPEVoiceMailBoxNumberInfo iVMBXNumbers; // Voice mail box numbers
@@ -90,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 
@@ -279,24 +278,12 @@
         const TCCPTone& InbandTone() const;
 
         /**
-        * Gets lifetimer data
-        * @return lifetime data (TDes8&)
-        */
-        const TPELifeTimeData& LifeTimerData() const;
-
-        /**
         * Gets network registration status
         * @return TNWNetworkRegistrationStatus Network registration status
         */
         const TNWNetworkRegistrationStatus& NetworkRegistrationStatus() const;
 
         /**
-        * Gets phone identity parameters from TPEBasicInfo-structure
-        * @param aPhoneIdentityParameters is the phone identity parameters. 
-        */
-        const TPEPhoneIdentityParameters& PhoneIdentityParameters() const;
-
-        /**
         * Gets phone number
         * @return Reference to TPEPhoneNumber, containing the phone number of the remote party.
         */
@@ -621,6 +608,13 @@
          * @param aCallState state to be checked.
          */
           TBool CheckIfCallStateExists( const TPEState& aCallState );
+          
+          /**
+          * Sets the protocol spesific error code
+          * @param aError is the error code from protocol.
+          * @return None.
+          */
+           void SetProtocolError( TInt aError ); 
 
     // Functions from MPEDataStore (reading values)
     public:
@@ -1167,12 +1161,6 @@
         void SetKeypadVolume( const TInt aKeypadVolume );
 
         /**
-        * Sets lifetimer data of the phone to TPEBasicInfo-structure
-        * @param aLifeTimerData lifetime data (TDesc8&).
-        */
-        void SetLifeTimerData( TCCPLifeTimeDataPckg& aPckg );
-
-        /**
         * Sets a logging indicator to TPECallInfo-tructure
         * @param aLoggingIndicator, Continuous logging indicator.
         * @param aCallId, the call identification number.
@@ -1209,13 +1197,6 @@
         * @param aPersonalTone is personal tone status (EFalse/ETrue).
         */
         void SetPersonalToneStatus( const TInt& aPersonalToneStatus );
-
-        /**
-        * Sets phone number to TPECallCommandInfo-structure
-        * @param aPhoneIdentityParameters is the phone identity parameters
-        */
-        void SetPhoneIdentityParameters( 
-            const TPEPhoneIdentityParameters& aPhoneIdentityParameters );
         
         /**
         * Sets phone number parsing result
@@ -1258,7 +1239,7 @@
         * @param aCallId, is the call identification number.
         */
         void SetRemoteColpNumber(
-            TPEPhoneNumber& aColpNumber, 
+            const TPEPhoneNumber& aColpNumber, 
             const TInt aCallId );
 
         /**
@@ -1540,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:
           /**
--- a/phoneengine/engineinfo/inc/mpedatastore.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneengine/engineinfo/inc/mpedatastore.h	Thu Jul 22 16:33:21 2010 +0100
@@ -373,12 +373,6 @@
         virtual void SetKeypadVolume( const TInt aKeypadVolume ) = 0;
         
         /**
-        * Sets lifetimer data of the phone to TPEBasicInfo-structure
-        * @param aLifeTimerData lifetime data (TDesc8&).
-        */
-        virtual void SetLifeTimerData( TCCPLifeTimeDataPckg& aPckg ) = 0;   
-        
-        /**
         * Sets a logging indicator to TPECallInfo-tructure
         * @param aLoggingIndicator, Continuous logging indicator.
         * @param aCallId, the call identification number.
@@ -423,13 +417,6 @@
         virtual void SetPhoneNumberIsServiceCode( const TBool& aServiceCode ) = 0;
  
         /**
-        * Sets phone number to TPECallCommandInfo-structure
-        * @param aPhoneIdentityParameters is the phone identity parameters
-        */
-        virtual void SetPhoneIdentityParameters( 
-            const TPEPhoneIdentityParameters& aPhoneIdentityParameters ) = 0;
-
-        /**
         * Sets call origin for the next call attempt
         * @param aOrigin indicates if the call is phone, client or SAT originated
         */
@@ -735,7 +722,7 @@
          * @param aCallId, is the call identification number.
          */
          virtual void SetRemoteColpNumber(
-             TPEPhoneNumber& aColpNumber, 
+             const TPEPhoneNumber& aColpNumber, 
              const TInt aCallId ) = 0;
 
          /**
--- a/phoneengine/engineinfo/inc/mpeengineinfo.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneengine/engineinfo/inc/mpeengineinfo.h	Thu Jul 22 16:33:21 2010 +0100
@@ -255,12 +255,6 @@
         virtual const TInt& KeypadVolume() const = 0;
 
         /**
-        * Gets lifetimer data
-        * @return lifetime data (TDes8&)
-        */
-        virtual const TPELifeTimeData& LifeTimerData() const = 0;
-
-        /**
         * Gets a logging indicator
         * @param aCallId, call identification number     
         * @return continuous logging indicator
@@ -297,12 +291,6 @@
         virtual const TBool& PersonalToneStatus() const = 0;
 
         /**
-        * Gets phone identity parameters
-        * @return phone identity parameters. 
-        */
-        virtual const TPEPhoneIdentityParameters& PhoneIdentityParameters() const = 0;
-
-        /**
         * Gets phone number
         * @return Reference to TPEPhoneNumber, containing the phone number of the remote party.
         */
@@ -703,7 +691,33 @@
          * Returns Phonebook contact identifier.
          */
         virtual TInt ContactId2 () const = 0;
-
+        
+        /**
+        * Sets the protocol spesific error code
+        * @param aError is the error code from protocol.
+        * @return None.
+        */
+        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
--- a/phoneengine/engineinfo/src/cpecallinfo.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneengine/engineinfo/src/cpecallinfo.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -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
--- a/phoneengine/engineinfo/src/cpeengineinfoimpl.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneengine/engineinfo/src/cpeengineinfoimpl.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -57,10 +57,6 @@
     iBasicInfo.iErrorInfo.iCallId = KPECallIdNotUsed;
     iBasicInfo.iProfileId = ECCPErrorNotFound;
     iBasicInfo.iProfileName = KNullDesC;
-    iBasicInfo.iPhoneIdentityParameters.iManufacturer = KNullDesC;
-    iBasicInfo.iPhoneIdentityParameters.iModel = KNullDesC;
-    iBasicInfo.iPhoneIdentityParameters.iRevision = KNullDesC;
-    iBasicInfo.iPhoneIdentityParameters.iSerialNumber = KNullDesC;
     iBasicInfo.iLastCallDuration = KPENumberInitValue;
     iBasicInfo.iVMBXNumbers.iVMBXL1 = KNullDesC;
     iBasicInfo.iVMBXNumbers.iVMBXL2 = KNullDesC;
@@ -68,8 +64,6 @@
     iBasicInfo.iTextToSpeech = EFalse;
     iBasicInfo.iPhoneNumberIsServiceCode = EFalse;
     iBasicInfo.iTwoDigitSupportStatus = EFalse;
-    iBasicInfo.iLifeTimeData.iHours = 0;
-    iBasicInfo.iLifeTimeData.iMinutes = 0;
 
     iBasicInfo.iNetworkRegistrationStatus = ENWStatusRegistrationUnknown;
 
@@ -100,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;
     }
@@ -568,17 +562,6 @@
     }
 
 // -----------------------------------------------------------------------------
-// CPEEngineInfoImpl::LifeTimerData
-// Gets lifetimerdata from the TPEBasicInfo structure.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-const TPELifeTimeData& CPEEngineInfoImpl::LifeTimerData() const
-    {
-    return iBasicInfo.iLifeTimeData;
-    }
-
-// -----------------------------------------------------------------------------
 // CPEEngineInfoImpl::LoggingIndicator
 // Get logging indicator from TPECallInfo.
 // (other items were commented in a header).
@@ -629,16 +612,6 @@
     }
 
 // -----------------------------------------------------------------------------
-// CPEEngineInfoImpl::PhoneIdentityParameters
-// Gets the phone identity parameters from the TPEBasicInfo structure
-// -----------------------------------------------------------------------------
-//
-const TPEPhoneIdentityParameters& CPEEngineInfoImpl::PhoneIdentityParameters() const
-    {
-    return iBasicInfo.iPhoneIdentityParameters;
-    }
-
-// -----------------------------------------------------------------------------
 // CPEEngineInfoImpl::PhoneNumber
 // Return the phone number from the TPECallCommandInfo structure.
 // -----------------------------------------------------------------------------
@@ -1340,18 +1313,6 @@
     }
 
 // -----------------------------------------------------------------------------
-// CPEEngineInfoImpl::SetLifeTimerData
-// Sets lifetimer data of the phone to TPELifeTimeData-structure
-// -----------------------------------------------------------------------------
-//
-void CPEEngineInfoImpl::SetLifeTimerData( 
-        TCCPLifeTimeDataPckg& aPckg )
-    {
-    iBasicInfo.iLifeTimeData.iHours = aPckg().iHours;
-    iBasicInfo.iLifeTimeData.iMinutes = aPckg().iMinutes;
-    }
-
-// -----------------------------------------------------------------------------
 // CPEEngineInfoImpl::SetNetworkRegistrationStatus
 // Sets network registration status to TPEBasicInfo-structure
 // -----------------------------------------------------------------------------
@@ -1379,17 +1340,6 @@
     }
 
 // -----------------------------------------------------------------------------
-// CPEEngineInfoImpl::SetPhoneIdentityParameters
-// Sets phone number to TPECallCommandInfo-structure
-// -----------------------------------------------------------------------------
-//
-void CPEEngineInfoImpl::SetPhoneIdentityParameters(
-        const TPEPhoneIdentityParameters& aPhoneIdentityParameters ) 
-    { 
-    iBasicInfo.iPhoneIdentityParameters = aPhoneIdentityParameters; 
-    }
-
-// -----------------------------------------------------------------------------
 // CPEEngineInfoImpl::SetPhoneNumberIsServiceCode
 // Sets phone number parsing result
 // -----------------------------------------------------------------------------
@@ -2550,7 +2500,7 @@
 // -----------------------------------------------------------------------------
 //
 void CPEEngineInfoImpl::SetRemoteColpNumber(
-    TPEPhoneNumber& aColpNumber, 
+    const TPEPhoneNumber& aColpNumber, 
     const TInt aCallId )
     {
     return ( *iRemoteInfo )[ aCallId ]->SetColpNumber( aColpNumber );
@@ -2641,4 +2591,53 @@
     return iContactId;      
     }
 
+// -----------------------------------------------------------------------------
+// CPEEngineInfoImpl::SetProtocolError
+// Sets the protocol spesific error code
+// -----------------------------------------------------------------------------
+//
+void CPEEngineInfoImpl::SetProtocolError( TInt aError, TInt aCallId )
+    {
+    if ( 0<=aCallId && aCallId<iCurrentCalls.Count() )
+        {
+        iCurrentCalls[ aCallId ]->SetProtocolError( aError );
+        }
+    }
+
+// -----------------------------------------------------------------------------
+// CPEEngineInfoImpl::ProtocolError
+// Returns the protocol spesific error code
+// -----------------------------------------------------------------------------
+//
+TInt CPEEngineInfoImpl::ProtocolError( TInt aCallId )
+    {
+    TInt ret( KErrNotFound );
+    
+    if ( 0<=aCallId && aCallId<iCurrentCalls.Count() )
+        {
+        ret = iCurrentCalls[ aCallId ]->ProtocolError();
+        }
+    
+    return ret;
+    }
+
+// -----------------------------------------------------------------------------
+// CPEEngineInfoImpl::IsOutgoingCallBarringActivated
+// -----------------------------------------------------------------------------
+//
+TBool CPEEngineInfoImpl::IsOutgoingCallBarringActivated()
+    {
+    return iBasicInfo.iOutgoingBarringActivated;
+    }
+
+// -----------------------------------------------------------------------------
+// CPEEngineInfoImpl::SetOutgoingCallBarringActivated
+// -----------------------------------------------------------------------------
+//
+void CPEEngineInfoImpl::SetOutgoingCallBarringActivated( 
+        TBool aActivated )
+    {
+    iBasicInfo.iOutgoingBarringActivated = aActivated;
+    }
+
 // End of File
--- a/phoneengine/networkhandlingstarter/inc/cnetworklistener.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneengine/networkhandlingstarter/inc/cnetworklistener.h	Thu Jul 22 16:33:21 2010 +0100
@@ -21,7 +21,7 @@
 
 // System includes
 #include <e32base.h>
-#include <NWHandlingEngine.h>
+#include <nwhandlingengine.h>
 
 // User includes
 
--- a/phoneengine/networkhandlingstarter/inc/networkhandlingstarter_p.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneengine/networkhandlingstarter/inc/networkhandlingstarter_p.h	Thu Jul 22 16:33:21 2010 +0100
@@ -59,7 +59,7 @@
     
     HbMainWindow * MainWindow();
     
-    void InitaliseCpNetworkPluginView();
+    bool InitaliseCpNetworkPluginView();
     
 private:
     
--- a/phoneengine/networkhandlingstarter/networkhandlingstarter.pro	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneengine/networkhandlingstarter/networkhandlingstarter.pro	Thu Jul 22 16:33:21 2010 +0100
@@ -18,14 +18,13 @@
 CONFIG += hb
 TEMPLATE = app
 TARGET = networkhandlingstarter
-TRANSLATIONS = telephone_cp.ts
 
 INCLUDEPATH += ./inc/
 DEFINES += BUILD_NETWORKHANDLINGSTARTER
 MOC_DIR = moc
 
 symbian: {
-    TARGET.CAPABILITY = ALL -TCB
+    TARGET.CAPABILITY = CAP_APPLICATION
     TARGET.EPOCALLOWDLLDATA = 1
     TARGET.UID3 = 0x2002E67A
     INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
@@ -37,6 +36,8 @@
     
     BLD_INF_RULES.prj_exports +=  \
      "./rom/networkhandlingstarter.iby    CORE_APP_LAYER_IBY_EXPORT_PATH(networkhandlingstarter.iby)"
+     
+    RSS_RULES += "hidden = KAppIsHidden;"
 }
 
 HEADERS += ./inc/networkhandlingstarter.h
--- a/phoneengine/networkhandlingstarter/src/cnetworklistener.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneengine/networkhandlingstarter/src/cnetworklistener.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -14,8 +14,8 @@
  * Description:  
  *
  */
-#include <NetworkHandlingProxy.h>
-#include <CNWSession.h>
+#include <networkhandlingproxy.h>
+#include <cnwsession.h>
 #include <e32property.h>
 #include <centralrepository.h>
 #include <ProfileEngineSDKCRKeys.h>
--- a/phoneengine/networkhandlingstarter/src/main.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneengine/networkhandlingstarter/src/main.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -17,29 +17,30 @@
 #include <QLocale>
 #include <hbtranslator.h>
 #include <hbapplication.h>
+#include <hbview.h>
 #include <hbmainwindow.h>
 #include <networkhandlingstarter.h>
+#include <xqserviceutil.h>
 
 /*!
     main.
  */
 int main(int argc, char **argv)
 {
-    HbApplication app(argc, argv);
+    HbApplication app(argc, argv, Hb::NoSplash);
     
     // Load translators
-    HbTranslator *commonTranslator = new HbTranslator("common");
-    HbTranslator *control_panelTranslator = new HbTranslator("control_panel");
-    HbTranslator *telephone_cpTranslator = new HbTranslator("telephone_cp"); 
+    HbTranslator commonTranslator("common");
+    HbTranslator control_panelTranslator("control_panel");
+    HbTranslator telephone_cpTranslator("telephone_cp"); 
     
+    HbView view;
     HbMainWindow mainWindow;
+    mainWindow.addView(&view);
     NetworkHandlingStarter service;
+    XQServiceUtil::toBackground( true );
     int err = app.exec();
     
-    delete commonTranslator;
-    delete control_panelTranslator;
-    delete telephone_cpTranslator;
-    
     return err;
 }
 
--- a/phoneengine/networkhandlingstarter/src/networkhandlingstarter_p.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneengine/networkhandlingstarter/src/networkhandlingstarter_p.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -16,11 +16,12 @@
  */
 
 #include <hbdevicemessagebox.h>
-#include <HbAction.h>
-#include <CpPluginLauncher.h>
+#include <hbaction.h>
+#include <cppluginlauncher.h>
 #include <hbinstance.h>
-#include <HbView.h>
+#include <hbview.h>
 #include <xqserviceutil.h>
+#include <cpbasesettingview.h>
 
 #include "networkhandlingstarter_p.h"
 #include "networkhandlingstarterlogging.h"
@@ -101,29 +102,27 @@
 /*!
     NetworkHandlingStarterPrivate::InitaliseCpNetworkPluginView()
  */
-void NetworkHandlingStarterPrivate::InitaliseCpNetworkPluginView()
+bool NetworkHandlingStarterPrivate::InitaliseCpNetworkPluginView()
 {
     DPRINT << ": IN";
     
-    HbMainWindow *mainWnd = MainWindow();
-    if (mainWnd) {
-        if (CpPluginLauncher::launchCpPluginView(
-                "resource\\qt\\plugins\\controlpanel\\cpnetworkplugin.qtplugin")) {
-            foreach (HbView *view, mainWnd->views()) {
-                if (QString(view->metaObject()->className()) == 
-                    QString("CpNetworkPluginView")) {
-                    QObject::connect(
-                        view, SIGNAL(aboutToClose()), 
-                        this, SLOT(ViewDone()));
-                    QObject::connect(
-                        this, SIGNAL(SearchAvailableNetworks()), 
-                        view, SLOT(SearchAvailableNetworks()));
-                }
-            }
+    bool ok(false);
+    CpBaseSettingView* view = CpPluginLauncher::launchSettingView("cpnetworkplugin");
+    if (view) {
+        if (QString(view->metaObject()->className()) == 
+            QString("CpNetworkPluginView")) {
+            QObject::connect(
+                view, SIGNAL(aboutToClose()), 
+                this, SLOT(ViewDone()));
+            QObject::connect(
+                this, SIGNAL(SearchAvailableNetworks()), 
+                view, SLOT(SearchAvailableNetworks()));
+            ok = true;
         }
     }
     
     DPRINT << ": OUT";
+    return ok;
 }
 
 /*!
@@ -133,13 +132,15 @@
 {
     DPRINT << ": IN";
     
-    InitaliseCpNetworkPluginView();
-    HbMainWindow *mainWnd = MainWindow();
-    if (mainWnd) {
-        mainWnd->show();
-        XQServiceUtil::toBackground(false);
+    if (InitaliseCpNetworkPluginView()) {
+        DPRINT << ": Show network settings view";
+        HbMainWindow *mainWnd = MainWindow();
+        if (mainWnd) {
+            mainWnd->show();
+            XQServiceUtil::toBackground(false);
+        }
+        emit SearchAvailableNetworks();
     }
-    emit SearchAvailableNetworks();
     
     DPRINT << ": OUT";
 }
--- a/phoneengine/networkhandlingstarter/tsrc/mocks/mock_cnwsession.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneengine/networkhandlingstarter/tsrc/mocks/mock_cnwsession.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -15,7 +15,7 @@
 *
 */
 #include <smcmockclassincludes.h>
-#include <CNWSession.h>
+#include <cnwsession.h>
 
 // ============================ MEMBER FUNCTIONS ===============================
 
--- a/phoneengine/networkhandlingstarter/tsrc/mocks/mock_cppluginlauncher.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneengine/networkhandlingstarter/tsrc/mocks/mock_cppluginlauncher.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -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
@@ -33,3 +33,16 @@
     }
 
 
+// -----------------------------------------------------------------------------
+// CpPluginLauncher::launchSettingView
+// -----------------------------------------------------------------------------
+//
+CpBaseSettingView * CpPluginLauncher::launchSettingView( 
+        const QString & pluginFile,
+        const QVariant & hint )
+    {
+    SMC_MOCK_METHOD2( CpBaseSettingView *, const QString &, pluginFile, 
+        const QVariant &, hint )
+    }
+
+
--- a/phoneengine/networkhandlingstarter/tsrc/mocks/mock_hbaction.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneengine/networkhandlingstarter/tsrc/mocks/mock_hbaction.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -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
@@ -52,7 +52,7 @@
 // -----------------------------------------------------------------------------
 //
 HbAction::HbAction( 
-        Hb::SoftKeyAction action,
+        Hb::NavigationAction action,
         QObject * parent )
     : QAction( parent ), d_ptr(NULL)
     {
@@ -113,6 +113,27 @@
 
 
 // -----------------------------------------------------------------------------
+// HbAction::setToolTip
+// -----------------------------------------------------------------------------
+//
+void HbAction::setToolTip( 
+        const QString & tooltip )
+    {
+    SMC_MOCK_METHOD1( void, const QString &, tooltip )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbAction::toolTip
+// -----------------------------------------------------------------------------
+//
+QString HbAction::toolTip(  ) const
+    {
+    SMC_MOCK_METHOD0( QString )
+    }
+
+
+// -----------------------------------------------------------------------------
 // HbAction::setToolBarExtension
 // -----------------------------------------------------------------------------
 //
--- a/phoneengine/networkhandlingstarter/tsrc/mocks/mock_hbdevicemessagebox.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneengine/networkhandlingstarter/tsrc/mocks/mock_hbdevicemessagebox.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -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
@@ -25,6 +25,20 @@
 // -----------------------------------------------------------------------------
 //
 HbDeviceMessageBox::HbDeviceMessageBox( 
+        HbMessageBox::MessageBoxType type,
+        QObject * parent )
+    //:
+    //QObject( /*type, parent*/ )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbDeviceMessageBox::HbDeviceMessageBox
+// -----------------------------------------------------------------------------
+//
+HbDeviceMessageBox::HbDeviceMessageBox( 
         const QString & text,
         HbMessageBox::MessageBoxType type,
         QObject * parent )
@@ -51,12 +65,12 @@
 //
 bool HbDeviceMessageBox::question( 
         const QString & text,
-        const QString & primaryButtonText,
-        const QString & secondaryButtonText )
+        const QString & acceptButtonText,
+        const QString & rejectButtonText )
     {
     SMC_MOCK_METHOD3( bool, const QString &, text, 
-        const QString &, primaryButtonText, 
-        const QString &, secondaryButtonText )
+        const QString &, acceptButtonText, 
+        const QString &, rejectButtonText )
     }
 
 
@@ -93,6 +107,16 @@
 
 
 // -----------------------------------------------------------------------------
+// HbDeviceMessageBox::update
+// -----------------------------------------------------------------------------
+//
+void HbDeviceMessageBox::update(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
 // HbDeviceMessageBox::close
 // -----------------------------------------------------------------------------
 //
@@ -106,9 +130,51 @@
 // HbDeviceMessageBox::exec
 // -----------------------------------------------------------------------------
 //
-HbAction * 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 * action ) const
     {
-    SMC_MOCK_METHOD0( HbAction * )
+    //SMC_MOCK_METHOD1( bool, const QAction *, action )
+    }
+
+
+// -----------------------------------------------------------------------------
+// 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 )
     }
 
 
@@ -155,118 +221,23 @@
 
 
 // -----------------------------------------------------------------------------
-// HbDeviceMessageBox::setIconAlignment
-// -----------------------------------------------------------------------------
-//
-void HbDeviceMessageBox::setIconAlignment( 
-        Qt::Alignment align )
-    {
- //   SMC_MOCK_METHOD1( void, Qt::Alignment, align )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbDeviceMessageBox::iconAlignment
-// -----------------------------------------------------------------------------
-//
-Qt::Alignment HbDeviceMessageBox::iconAlignment(  ) const
-    {
- //   SMC_MOCK_METHOD0( Qt::Alignment )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbDeviceMessageBox::setTimeout
+// HbDeviceMessageBox::setIconVisible
 // -----------------------------------------------------------------------------
 //
-void HbDeviceMessageBox::setTimeout( 
-        int timeout )
+void HbDeviceMessageBox::setIconVisible( 
+        bool visible )
     {
-    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 )
+    SMC_MOCK_METHOD1( void, bool, visible )
     }
 
 
 // -----------------------------------------------------------------------------
-// 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::primaryAction
+// HbDeviceMessageBox::iconVisible
 // -----------------------------------------------------------------------------
 //
-HbAction * HbDeviceMessageBox::primaryAction(  ) const
-    {
-    SMC_MOCK_METHOD0( HbAction * )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbDeviceMessageBox::setPrimaryAction
-// -----------------------------------------------------------------------------
-//
-void HbDeviceMessageBox::setPrimaryAction( 
-        HbAction * action )
+bool HbDeviceMessageBox::iconVisible(  ) const
     {
-  //  SMC_MOCK_METHOD1( void, HbAction *, action )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbDeviceMessageBox::secondaryAction
-// -----------------------------------------------------------------------------
-//
-HbAction * HbDeviceMessageBox::secondaryAction(  ) const
-    {
-    SMC_MOCK_METHOD0( HbAction * )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbDeviceMessageBox::setSecondaryAction
-// -----------------------------------------------------------------------------
-//
-void HbDeviceMessageBox::setSecondaryAction( 
-        HbAction * action )
-    {
-  //  SMC_MOCK_METHOD1( void, HbAction *, action )
+    SMC_MOCK_METHOD0( bool )
     }
 
 
@@ -292,6 +263,83 @@
 
 
 // -----------------------------------------------------------------------------
+// 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 * action,
+        ActionRole role )
+    {
+    //SMC_MOCK_METHOD2( void, QAction *, action, 
+    //    ActionRole, role )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbDeviceMessageBox::action
+// -----------------------------------------------------------------------------
+//
+QAction * HbDeviceMessageBox::action( 
+        ActionRole role ) const
+    {
+    //SMC_MOCK_METHOD1( QAction *, ActionRole, role )
+    }
+
+
+// -----------------------------------------------------------------------------
 // HbDeviceMessageBox::aboutToClose
 // -----------------------------------------------------------------------------
 //
--- a/phoneengine/networkhandlingstarter/tsrc/mocks/mock_hbinstance.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneengine/networkhandlingstarter/tsrc/mocks/mock_hbinstance.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -41,29 +41,6 @@
 
 
 // -----------------------------------------------------------------------------
-// HbInstance::orientation
-// -----------------------------------------------------------------------------
-//
-Qt::Orientation HbInstance::orientation(  ) const
-    {
-    SMC_MOCK_METHOD0( Qt::Orientation )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbInstance::setOrientation
-// -----------------------------------------------------------------------------
-//
-void HbInstance::setOrientation( 
-        Qt::Orientation orientation,
-        bool animate )
-    {
-    SMC_MOCK_METHOD2( void, Qt::Orientation, orientation, 
-        bool, animate )
-    }
-
-
-// -----------------------------------------------------------------------------
 // HbInstance::style
 // -----------------------------------------------------------------------------
 //
@@ -84,16 +61,6 @@
 
 
 // -----------------------------------------------------------------------------
-// HbInstance::typefaceInfo
-// -----------------------------------------------------------------------------
-//
-HbTypefaceInfo * HbInstance::typefaceInfo(  ) const
-    {
-    SMC_MOCK_METHOD0( HbTypefaceInfo * )
-    }
-
-
-// -----------------------------------------------------------------------------
 // HbInstance::addLibraryPath
 // -----------------------------------------------------------------------------
 //
--- a/phoneengine/networkhandlingstarter/tsrc/mocks/mock_hbmainwindow.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneengine/networkhandlingstarter/tsrc/mocks/mock_hbmainwindow.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -30,7 +30,8 @@
     : d_ptr(NULL)
     //QGraphicsView( /*parent, windowFlags*/ )
     {
-    
+    Q_UNUSED(parent)
+    Q_UNUSED(windowFlags)
     }
 
 // -----------------------------------------------------------------------------
@@ -44,6 +45,16 @@
 
 
 // -----------------------------------------------------------------------------
+// HbMainWindow::addView
+// -----------------------------------------------------------------------------
+//
+HbView * HbMainWindow::addView( 
+        QGraphicsWidget * widget )
+    {
+    //SMC_MOCK_METHOD1( HbView *, QGraphicsWidget *, widget )
+    Q_UNUSED(widget)
+    }
+// -----------------------------------------------------------------------------
 // HbMainWindow::insertView
 // -----------------------------------------------------------------------------
 //
@@ -52,71 +63,9 @@
         QGraphicsWidget * widget )
     {
     //SMC_MOCK_METHOD2( HbView *, int, index, 
-      //  QGraphicsWidget *, widget )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbMainWindow::removeView
-// -----------------------------------------------------------------------------
-//
-QGraphicsWidget * HbMainWindow::removeView( 
-        int index )
-    {
-    SMC_MOCK_METHOD1( QGraphicsWidget *, int, index )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbMainWindow::currentViewIndex
-// -----------------------------------------------------------------------------
-//
-int HbMainWindow::currentViewIndex(  ) const
-    {
-    SMC_MOCK_METHOD0( int )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbMainWindow::viewCount
-// -----------------------------------------------------------------------------
-//
-int HbMainWindow::viewCount(  ) const
-    {
-    SMC_MOCK_METHOD0( int )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbMainWindow::indexOfView
-// -----------------------------------------------------------------------------
-//
-int HbMainWindow::indexOfView( 
-        HbView * view ) const
-    {
-    //SMC_MOCK_METHOD1( int, HbView *, view )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbMainWindow::viewAt
-// -----------------------------------------------------------------------------
-//
-HbView * HbMainWindow::viewAt( 
-        int index ) const
-    {
-    SMC_MOCK_METHOD1( HbView *, int, index )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbMainWindow::addView
-// -----------------------------------------------------------------------------
-//
-HbView * HbMainWindow::addView( 
-        QGraphicsWidget * widget )
-    {
-    //SMC_MOCK_METHOD1( HbView *, QGraphicsWidget *, widget )
+    //    QGraphicsWidget *, widget )
+	Q_UNUSED(index)
+	Q_UNUSED(widget)
     }
 
 
@@ -128,6 +77,7 @@
         QGraphicsWidget * widget )
     {
     //SMC_MOCK_METHOD1( void, QGraphicsWidget *, widget )
+    Q_UNUSED(widget)
     }
 
 
@@ -163,77 +113,12 @@
     //SMC_MOCK_METHOD3( void, HbView *, view, 
     //    bool, animate, 
     //    Hb::ViewSwitchFlags, flags )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbMainWindow::element
-// -----------------------------------------------------------------------------
-//
-QGraphicsWidget * HbMainWindow::element( 
-        HbMainWindow::Element element ) const
-    {
-    //SMC_MOCK_METHOD1( QGraphicsWidget *, HbMainWindow::Element, element )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbMainWindow::setViewSwitchingEnabled
-// -----------------------------------------------------------------------------
-//
-void HbMainWindow::setViewSwitchingEnabled( 
-        bool enabled )
-    {
-    SMC_MOCK_METHOD1( void, bool, enabled )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbMainWindow::isViewSwitchingEnabled
-// -----------------------------------------------------------------------------
-//
-bool HbMainWindow::isViewSwitchingEnabled(  ) const
-    {
-    SMC_MOCK_METHOD0( bool )
+    Q_UNUSED(view)
+    Q_UNUSED(animate)
+    Q_UNUSED(flags)
     }
 
 
-// -----------------------------------------------------------------------------
-// HbMainWindow::softKeyAction
-// -----------------------------------------------------------------------------
-//
-HbAction * HbMainWindow::softKeyAction( 
-        Hb::SoftKeyId key ) const
-    {
-    //SMC_MOCK_METHOD1( HbAction *, Hb::SoftKeyId, key )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbMainWindow::addSoftKeyAction
-// -----------------------------------------------------------------------------
-//
-void HbMainWindow::addSoftKeyAction( 
-        Hb::SoftKeyId key,
-        HbAction * action )
-    {
-    //SMC_MOCK_METHOD2( void, Hb::SoftKeyId, key, 
-    //    HbAction *, action )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbMainWindow::removeSoftKeyAction
-// -----------------------------------------------------------------------------
-//
-void HbMainWindow::removeSoftKeyAction( 
-        Hb::SoftKeyId key,
-        HbAction * action )
-    {
-    //SMC_MOCK_METHOD2( void, Hb::SoftKeyId, key, 
-    //    HbAction *, action )
-    }
-
 
 // -----------------------------------------------------------------------------
 // HbMainWindow::orientation
@@ -255,6 +140,8 @@
     {
     //SMC_MOCK_METHOD2( void, Qt::Orientation, orientation, 
     //    bool, animate )
+    Q_UNUSED(orientation)
+    Q_UNUSED(animate)
     }
 
 
@@ -270,62 +157,6 @@
 
 
 // -----------------------------------------------------------------------------
-// HbMainWindow::showItems
-// -----------------------------------------------------------------------------
-//
-void HbMainWindow::showItems( 
-        Hb::SceneItems items )
-    {
-    //SMC_MOCK_METHOD1( void, Hb::SceneItems, items )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbMainWindow::hideItems
-// -----------------------------------------------------------------------------
-//
-void HbMainWindow::hideItems( 
-        Hb::SceneItems items )
-    {
-    //SMC_MOCK_METHOD1( void, Hb::SceneItems, items )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbMainWindow::visibleItems
-// -----------------------------------------------------------------------------
-//
-Hb::SceneItems HbMainWindow::visibleItems(  ) const
-    {
-    SMC_MOCK_METHOD0( Hb::SceneItems )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbMainWindow::isItemVisible
-// -----------------------------------------------------------------------------
-//
-bool HbMainWindow::isItemVisible( 
-        Hb::SceneItem item ) const
-    {
-    //SMC_MOCK_METHOD1( bool, Hb::SceneItem, item )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbMainWindow::setItemVisible
-// -----------------------------------------------------------------------------
-//
-void HbMainWindow::setItemVisible( 
-        Hb::SceneItem item,
-        bool visible )
-    {
-    //SMC_MOCK_METHOD2( void, Hb::SceneItem, item, 
-    //    bool, visible )
-    }
-
-
-// -----------------------------------------------------------------------------
 // HbMainWindow::nativeBackgroundWindow
 // -----------------------------------------------------------------------------
 //
@@ -356,33 +187,50 @@
 
 
 // -----------------------------------------------------------------------------
-// HbMainWindow::setCurrentViewIndex
+// HbMainWindow::setBackgroundImageName
 // -----------------------------------------------------------------------------
 //
-void HbMainWindow::setCurrentViewIndex( 
-        int index )
+void HbMainWindow::setBackgroundImageName( 
+        Qt::Orientation orientation,
+        const QString & name )
     {
-    SMC_MOCK_METHOD1( void, int, index )
+    //SMC_MOCK_METHOD2( void, Qt::Orientation, orientation, 
+    //    const QString &, name )
+	Q_UNUSED(orientation)
+	Q_UNUSED(name)
     }
 
 
 // -----------------------------------------------------------------------------
-// HbMainWindow::nextView
+// HbMainWindow::backgroundImageName
 // -----------------------------------------------------------------------------
 //
-void HbMainWindow::nextView(  )
+QString HbMainWindow::backgroundImageName( 
+        Qt::Orientation orientation ) const
     {
-    SMC_MOCK_METHOD0( void )
+    //SMC_MOCK_METHOD1( QString, Qt::Orientation, orientation )
+	Q_UNUSED(orientation)
     }
 
 
 // -----------------------------------------------------------------------------
-// HbMainWindow::previousView
+// HbMainWindow::setAutomaticOrientationEffectEnabled
 // -----------------------------------------------------------------------------
 //
-void HbMainWindow::previousView(  )
+void HbMainWindow::setAutomaticOrientationEffectEnabled( 
+        bool enabled )
     {
-    SMC_MOCK_METHOD0( void )
+    SMC_MOCK_METHOD1( void, bool, enabled )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbMainWindow::automaticOrientationEffectEnabled
+// -----------------------------------------------------------------------------
+//
+bool HbMainWindow::automaticOrientationEffectEnabled(  ) const
+    {
+    SMC_MOCK_METHOD0( bool )
     }
 
 
@@ -398,33 +246,27 @@
 
 
 // -----------------------------------------------------------------------------
-// HbMainWindow::toggleOrientation
+// HbMainWindow::viewReady
 // -----------------------------------------------------------------------------
 //
-void HbMainWindow::toggleOrientation(  )
+void HbMainWindow::viewReady(  )
     {
     SMC_MOCK_METHOD0( void )
     }
 
 
 // -----------------------------------------------------------------------------
-// HbMainWindow::currentViewIndexChanged
+// HbMainWindow::aboutToChangeView
 // -----------------------------------------------------------------------------
 //
-void HbMainWindow::currentViewIndexChanged( 
-        int index )
+void HbMainWindow::aboutToChangeView( 
+        HbView * oldView,
+        HbView * newView )
     {
-    SMC_MOCK_METHOD1( void, int, index )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbMainWindow::viewReady
-// -----------------------------------------------------------------------------
-//
-void HbMainWindow::viewReady(  )
-    {
-    SMC_MOCK_METHOD0( void )
+    //SMC_MOCK_METHOD2( void, HbView *, oldView, 
+    //    HbView *, newView )
+	Q_UNUSED(oldView)
+	Q_UNUSED(newView)
     }
 
 
@@ -436,6 +278,7 @@
         HbView * view )
     {
     //SMC_MOCK_METHOD1( void, HbView *, view )
+    Q_UNUSED(view)
     }
 
 
@@ -459,6 +302,8 @@
     {
     //SMC_MOCK_METHOD2( void, Qt::Orientation, newOrientation, 
     //    bool, animated )
+    Q_UNUSED(newOrientation)
+    Q_UNUSED(animated)
     }
 
 
@@ -470,6 +315,7 @@
         Qt::Orientation orientation )
     {
     //SMC_MOCK_METHOD1( void, Qt::Orientation, orientation )
+    Q_UNUSED(orientation)
     }
 
 
@@ -481,6 +327,7 @@
         QEvent * event )
     {
     //SMC_MOCK_METHOD1( void, QEvent *, event )
+    Q_UNUSED(event)
     }
 
 
@@ -492,6 +339,7 @@
         QCloseEvent * event )
     {
     //SMC_MOCK_METHOD1( void, QCloseEvent *, event )
+    Q_UNUSED(event)
     }
 
 
@@ -503,6 +351,7 @@
         QKeyEvent * event )
     {
     //SMC_MOCK_METHOD1( void, QKeyEvent *, event )
+    Q_UNUSED(event)
     }
 
 
@@ -514,6 +363,7 @@
         QKeyEvent * event )
     {
     //SMC_MOCK_METHOD1( void, QKeyEvent *, event )
+    Q_UNUSED(event)
     }
 
 
@@ -525,6 +375,7 @@
         QResizeEvent * event )
     {
     //SMC_MOCK_METHOD1( void, QResizeEvent *, event )
+    Q_UNUSED(event)
     }
 
 
@@ -536,6 +387,7 @@
         QEvent * event )
     {
     //SMC_MOCK_METHOD1( void, QEvent *, event )
+    Q_UNUSED(event)
     }
 
 
@@ -560,6 +412,7 @@
         QPaintEvent * event )
     {
     //SMC_MOCK_METHOD1( void, QPaintEvent *, event )
+    Q_UNUSED(event)
     }
 
 
--- a/phoneengine/networkhandlingstarter/tsrc/run_auto_tests_qt.bat	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneengine/networkhandlingstarter/tsrc/run_auto_tests_qt.bat	Thu Jul 22 16:33:21 2010 +0100
@@ -169,7 +169,7 @@
 ::::::::::::::::::::::::::::::::::::::::::::::::::::::
 :CALCULATECOVERAGE
 echo Calculating coverage
-ctcpost %PATH_TO_COVERAGE_DATA%\*.sym | ctcmerge -i - -o profile.txt
+ctcpost %PATH_TO_COVERAGE_DATA%\*.sym -p - | ctcmerge -i - -o profile.txt
 call ctc2html -t 70 -i profile.txt -o \coverage_result -nsb
 goto end
 
--- a/phoneengine/networkhandlingstarter/tsrc/ut_cnetworklistener/src/ut_cnetworklistener.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneengine/networkhandlingstarter/tsrc/ut_cnetworklistener/src/ut_cnetworklistener.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -17,9 +17,9 @@
 #include <ut_cnetworklistener.h>
 #include <qtestmains60.h>
 #include <cnetworklistener.h>
-#include <NetworkHandlingProxy.h>
-#include <CNWSession.h>
-#include <NWHandlingEngine.h>
+#include <networkhandlingproxy.h>
+#include <cnwsession.h>
+#include <nwhandlingengine.h>
 
 TNWInfo* PoiterNWInfo;
 
--- a/phoneengine/parserrecognizer/bwins/parserrecognizeru.def	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,17 +0,0 @@
-EXPORTS
-	?metaObject@ParserRecognizer@@UBEPBUQMetaObject@@XZ @ 1 NONAME ; struct QMetaObject const * ParserRecognizer::metaObject(void) const
-	?tr@ParserRecognizer@@SA?AVQString@@PBD0H@Z @ 2 NONAME ; class QString ParserRecognizer::tr(char const *, char const *, int)
-	??0ParserRecognizer@@QAE@PAVQObject@@@Z @ 3 NONAME ; ParserRecognizer::ParserRecognizer(class QObject *)
-	?tr@ParserRecognizer@@SA?AVQString@@PBD0@Z @ 4 NONAME ; class QString ParserRecognizer::tr(char const *, char const *)
-	?qt_metacast@ParserRecognizer@@UAEPAXPBD@Z @ 5 NONAME ; void * ParserRecognizer::qt_metacast(char const *)
-	?getStaticMetaObject@ParserRecognizer@@SAABUQMetaObject@@XZ @ 6 NONAME ; struct QMetaObject const & ParserRecognizer::getStaticMetaObject(void)
-	??_EParserRecognizer@@UAE@I@Z @ 7 NONAME ; ParserRecognizer::~ParserRecognizer(unsigned int)
-	?sendMessage@ParserRecognizer@@QAEXHH@Z @ 8 NONAME ; void ParserRecognizer::sendMessage(int, int)
-	?trUtf8@ParserRecognizer@@SA?AVQString@@PBD0@Z @ 9 NONAME ; class QString ParserRecognizer::trUtf8(char const *, char const *)
-	?staticMetaObject@ParserRecognizer@@2UQMetaObject@@B @ 10 NONAME ; struct QMetaObject const ParserRecognizer::staticMetaObject
-	??1ParserRecognizer@@UAE@XZ @ 11 NONAME ; ParserRecognizer::~ParserRecognizer(void)
-	?qt_metacall@ParserRecognizer@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 12 NONAME ; int ParserRecognizer::qt_metacall(enum QMetaObject::Call, int, void * *)
-	?trUtf8@ParserRecognizer@@SA?AVQString@@PBD0H@Z @ 13 NONAME ; class QString ParserRecognizer::trUtf8(char const *, char const *, int)
-	?requestCompleted@ParserRecognizer@@AAEXABVQVariant@@@Z @ 14 NONAME ; void ParserRecognizer::requestCompleted(class QVariant const &)
-	?requestError@ParserRecognizer@@AAEXH@Z @ 15 NONAME ; void ParserRecognizer::requestError(int)
-
--- a/phoneengine/parserrecognizer/eabi/parserrecognizeru.def	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,17 +0,0 @@
-EXPORTS
-	_ZN16ParserRecognizer11qt_metacallEN11QMetaObject4CallEiPPv @ 1 NONAME
-	_ZN16ParserRecognizer11qt_metacastEPKc @ 2 NONAME
-	_ZN16ParserRecognizer11sendMessageEii @ 3 NONAME
-	_ZN16ParserRecognizer16staticMetaObjectE @ 4 NONAME DATA 16
-	_ZN16ParserRecognizer19getStaticMetaObjectEv @ 5 NONAME
-	_ZN16ParserRecognizerC1EP7QObject @ 6 NONAME
-	_ZN16ParserRecognizerC2EP7QObject @ 7 NONAME
-	_ZN16ParserRecognizerD0Ev @ 8 NONAME
-	_ZN16ParserRecognizerD1Ev @ 9 NONAME
-	_ZN16ParserRecognizerD2Ev @ 10 NONAME
-	_ZNK16ParserRecognizer10metaObjectEv @ 11 NONAME
-	_ZTI16ParserRecognizer @ 12 NONAME
-	_ZTV16ParserRecognizer @ 13 NONAME
-	_ZN16ParserRecognizer16requestCompletedERK8QVariant @ 14 NONAME
-	_ZN16ParserRecognizer12requestErrorEi @ 15 NONAME
-
--- a/phoneengine/parserrecognizer/inc/parserrecognizer.h	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +0,0 @@
-/*!
-* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* 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:  Recognizes the parser messages that needs to be notified to 
-*               the world using QtHighway.
-*/
-
-#ifndef PARSERRECOGNIZER_H
-#define PARSERRECOGNIZER_H
-
-#include <QObject>
-#include <xqservicerequest.h>
-
-#ifdef BUILD_PARSERRECOGNIZER
-#define PARSERRECOGNIZER_EXPORT Q_DECL_EXPORT
-#else
-#define PARSERRECOGNIZER_EXPORT Q_DECL_IMPORT
-#endif
-
-class PARSERRECOGNIZER_EXPORT ParserRecognizer : public QObject
-{
-    Q_OBJECT
-
-public:
-    ParserRecognizer(QObject *parent = 0);
-    ~ParserRecognizer();
-    
-    /*!
-        \fn sendMessage(const int message, const int callId)
-        
-        This method takes a Phone Engine message and a caller id.
-        It recognizes the messages that needs to be sent to the
-        QtHighway. If message isn't recognized it doesn't do anything.
-    */
-    void sendMessage(const int message, const int callId);
-
-private slots:
-    void requestCompleted(const QVariant &returnValue);
-    void requestError(int error);
-    
-private:
-    XQServiceRequest *m_currentRequest;
-};
-
-#endif // PARSERRECOGNIZER_H
--- a/phoneengine/parserrecognizer/parserrecognizer.pri	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +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: 
-#
-
-SOURCES=\
-    ./src/parserrecognizer.cpp
-
-HEADERS=\
-    ./inc/parserrecognizer.h
-    
-DIALSERVICE_API_HEADERS=\
-		./inc/parserrecognizer.h
--- a/phoneengine/parserrecognizer/parserrecognizer.pro	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +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
-TARGET = parserrecognizer
-
-symbian {
-    TARGET.CAPABILITY = ALL -TCB
-    TARGET.EPOCALLOWDLLDATA =1
-    TARGET.UID3 = 0x20029F87
-    DEFINES += BUILD_PARSERRECOGNIZER
-    
-    INCLUDEPATH += ../../inc \
-                   ../phonemodel/inc
-    INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
-    
-    parserDefFiles = \
-        "$${LITERAL_HASH}ifdef WINSCW" \
-        "DEFFILE bwins/parserrecognizer.def" \
-        "$${LITERAL_HASH}else" \
-        "DEFFILE eabi/parserrecognizer.def" \
-        "$${LITERAL_HASH}endif"
-        
-    MMP_RULES += parserDefFiles
-
-    LIBS += -lxqservice \
-            -lxqserviceutil
-}
-
-# Input
-#include(\ext\mw\qthighway\xqservicebase.pri)
-include(./parserrecognizer.pri)
-
-headers.sources = $$PARSERRECOGNIZER_API_HEADERS
-headers.path = |../../inc
-# This is for new exporting system coming in garden
-for(header, headers.sources):BLD_INF_RULES.prj_exports += "$$header $$headers.path/$$basename(header)"	   
\ No newline at end of file
--- a/phoneengine/parserrecognizer/src/parserrecognizer.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,127 +0,0 @@
-/*!
-* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* 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:  Recognizes the parser messages that needs to be notified to 
-*               the world using QtHighway.
-*/
-
-#include <xqservicerequest.h>
-#include <pevirtualengine.h>
-#include "parserrecognizer.h"
-#include "qtphonelog.h"
-
-ParserRecognizer::ParserRecognizer(QObject* parent) 
-    : 
-    QObject(parent),
-    m_currentRequest(0)
-{
-}
-
-ParserRecognizer::~ParserRecognizer()
-{
-    delete m_currentRequest;
-}
-
-void ParserRecognizer::sendMessage(const int message, const int callId)
-{
-    Q_UNUSED(callId); // for now
-    PHONE_DEBUG2("ParserRecognizer::sendMessage message:", message);
-    QString api;
-    QString method;
-    bool recognized = true;
-    
-    switch(message) {
-    case MEngineMonitor::EPEMessageActivateRfsDeep:
-        api = "com.nokia.services.telephony";
-        method = "activateDeepRestoreFactorySettings()";
-        break;
-    
-    case MEngineMonitor::EPEMessageActivateRfsNormal:
-        api = "com.nokia.services.telephony";
-        method = "activateNormalRestoreFactorySettings()";
-        break;
-    
-    case MEngineMonitor::EPEMessageShowBTDeviceAddress:
-        api = "com.nokia.services.bluetooth";
-        method = "showBluetoothDeviceAddress()";
-        break;
-    
-    case MEngineMonitor::EPEMessageShowBTLoopback:
-        api = "com.nokia.services.bluetooth";
-        method = "showBluetoothLoopback()";
-        break;
-    
-    case MEngineMonitor::EPEMessageBTDebugMode:
-        api = "com.nokia.services.bluetooth";
-        method = "activateBluetoothDebugMode()";
-        break;
-    
-    case MEngineMonitor::EPEMessageShowVersion:
-        api = "com.nokia.services.devicemanager";
-        method = "showVersionNumber()";
-        break;
-    
-    case MEngineMonitor::EPEMessageSSRequestFailed:
-        api = "com.nokia.services.telephony";
-        method = "supplementaryServiceRequestFailed()";
-        break;
-    
-    default:
-      recognized = false;
-      break;        
-    }
-    
-    if (recognized && (!m_currentRequest)) {
-        PHONE_DEBUG2("ParserRecognizer::sendMessage api:", api);
-        PHONE_DEBUG2("ParserRecognizer::sendMessage method:", method);
-        m_currentRequest = new XQServiceRequest(api, method, false);
-        // Due to a Qt Highway bug in assignment operator implementation we 
-        // need to set request as asynchronous with a setter function.
-        m_currentRequest->setSynchronous(false);
-        connect(
-            m_currentRequest, SIGNAL(requestCompleted(const QVariant &)), 
-            this, SLOT(requestCompleted(const QVariant &)));
-        connect(
-            m_currentRequest, SIGNAL(requestError(int)), 
-            this, SLOT(requestError(int)));
-        
-        int exceptionAsError = 0;
-        bool requestOk = false;
-        QT_TRYCATCH_ERROR(
-            exceptionAsError, requestOk = m_currentRequest->send());
-        if ((0 != exceptionAsError) || (!requestOk)) {
-            PHONE_DEBUG2("ParserRecognizer::sendMessage exceptionAsError:", 
-                exceptionAsError);
-            PHONE_DEBUG2("ParserRecognizer::sendMessage requestOk:", 
-                requestOk);
-            requestCompleted(QVariant());
-        }
-    }
-}
-
-void ParserRecognizer::requestCompleted(const QVariant &returnValue)
-{
-    PHONE_DEBUG("ParserRecognizer::requestCompleted");
-    Q_UNUSED(returnValue);
-    
-    delete m_currentRequest;
-    m_currentRequest = NULL;
-}
-
-void ParserRecognizer::requestError(int error)
-{
-    PHONE_DEBUG2("ParserRecognizer::requestError", error);
-    
-    delete m_currentRequest;
-    m_currentRequest = NULL;
-}
--- a/phoneengine/parserrecognizer/tsrc/README.txt	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-ut_parserrecognizer
-
-If you run qmake then please modify the created mmp file of this project.
-You need to remove \epoc32\include from the mmp. Otherwise the parserrecognizer.cpp
-will see the original instead of the mocked version.
--- a/phoneengine/parserrecognizer/tsrc/runtests.bat	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,21 +0,0 @@
-@rem
-@rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-@rem All rights reserved.
-@rem This component and the accompanying materials are made available
-@rem under the terms of "Eclipse Public License v1.0"
-@rem which accompanies this distribution, and is available
-@rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
-@rem
-@rem Initial Contributors:
-@rem Nokia Corporation - initial contribution.
-@rem
-@rem Contributors:
-@rem
-@rem Description: 
-@rem
-
-echo OFF
-
-del \epoc32\winscw\c\private\E31F4ECF\ut_parserrecognizer.log
-\epoc32\release\winscw\udeb\ut_parserrecognizer.exe -o ut_parserrecognizer.log
-type \epoc32\winscw\c\private\E31F4ECF\ut_parserrecognizer.log
--- a/phoneengine/parserrecognizer/tsrc/unit.pro	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,19 +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 = subdirs
-SUBDIRS += ut_parserrecognizer
--- a/phoneengine/parserrecognizer/tsrc/ut_parserrecognizer/README.txt	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-ut_parserrecognizer
-
-If you run qmake then please modify the created mmp file of this project.
-You need to remove \epoc32\include from the mmp. Otherwise the parserrecognizer.cpp
-will see the original instead of the mocked version.
--- a/phoneengine/parserrecognizer/tsrc/ut_parserrecognizer/unit_tests.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,227 +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:  Unit tests for ParserRecognizer.
-*
-*/
-
-#include <QtTest/QtTest>
-
-//#include <hbglobal_p.h>
-#include "xqservicerequest.h"
-#include "parserrecognizer.h"
-#include "pevirtualengine.h"
-
-QString apiString;
-QString methodString;
-bool sendCalled;
-bool gSendRequestResult = true;
-
-class TestParserRecognizer : public QObject
-{
-    Q_OBJECT
-public:
-    TestParserRecognizer();
-    virtual ~TestParserRecognizer();
-
-public slots:
-    void initTestCase ();
-    void cleanupTestCase ();
-    void init ();
-    void cleanup ();
-        
-private slots:
-    void testActivateRfsDeep();
-    void testActivateRfsNormal();
-    void testActivateWarrantyMode();
-    void testShowBTDeviceAddress();
-    void testShowBTLoopback();
-    void testActivateBTDebugMode();
-    void testShowIMEI();
-    void testShowVersion();
-    void testShowWLANMacAddress();
-    void testSSRequestFailed();
-    void testSendRequestFail();
-    void testSimultaneousRequests();
-
-private:
-    ParserRecognizer *parserRecognizer; // class under test
-};
-
-XQServiceRequest::XQServiceRequest(QString const& api, QString const& method, bool const& sync)
-{
-    Q_UNUSED(sync);
-    apiString = api;
-    methodString = method;
-}
-
-bool XQServiceRequest::send()
-{
-    sendCalled = true;
-    return gSendRequestResult;
-}
-
-bool XQServiceRequest::send(QVariant& retValue)
-{
-    Q_UNUSED(retValue);
-    sendCalled = true;
-    return gSendRequestResult;
-}
-
-void XQServiceRequest::setSynchronous(const bool &synchronous)
-{
-    Q_UNUSED(synchronous);
-}
-
-XQServiceRequest::~XQServiceRequest()
-{
-}
-
-TestParserRecognizer::TestParserRecognizer ()
-{
-}
-
-TestParserRecognizer::~TestParserRecognizer ()
-{
-}
-
-void TestParserRecognizer::initTestCase ()
-{
-}
-
-void TestParserRecognizer::cleanupTestCase ()
-{
-}
-
-void TestParserRecognizer::init ()
-{
-    apiString = "";
-    methodString = "";
-    sendCalled = false;
-    gSendRequestResult = true;
-    parserRecognizer = new ParserRecognizer;
-}
-
-void TestParserRecognizer::cleanup ()
-{
-    delete parserRecognizer;
-}
-
-void TestParserRecognizer::testActivateRfsDeep()
-{
-    parserRecognizer->sendMessage(MEngineMonitor::EPEMessageActivateRfsDeep, 0);
-    QCOMPARE(apiString, QString("com.nokia.services.telephony"));
-    QCOMPARE(methodString, QString("activateDeepRestoreFactorySettings()"));
-    QCOMPARE(sendCalled, true);
-}
-
-void TestParserRecognizer::testActivateRfsNormal()
-{
-    parserRecognizer->sendMessage(MEngineMonitor::EPEMessageActivateRfsNormal, 0);
-    QCOMPARE(apiString, QString("com.nokia.services.telephony"));
-    QCOMPARE(methodString, QString("activateNormalRestoreFactorySettings()"));
-    QCOMPARE(sendCalled, true);
-}
-
-void TestParserRecognizer::testActivateWarrantyMode()
-{
-    // Lifetimer is implemented by phone and should not be handled 
-    // by the recognizer.
-    parserRecognizer->sendMessage(MEngineMonitor::EPEMessageActivateWarrantyMode, 0);
-    QCOMPARE(apiString, QString(""));
-    QCOMPARE(methodString, QString(""));
-    QCOMPARE(sendCalled, false);
-}
-
-void TestParserRecognizer::testShowBTDeviceAddress()
-{
-    parserRecognizer->sendMessage(MEngineMonitor::EPEMessageShowBTDeviceAddress, 0);
-    QCOMPARE(apiString, QString("com.nokia.services.bluetooth"));
-    QCOMPARE(methodString, QString("showBluetoothDeviceAddress()"));
-    QCOMPARE(sendCalled, true);
-}
-
-void TestParserRecognizer::testShowBTLoopback()
-{
-    parserRecognizer->sendMessage(MEngineMonitor::EPEMessageShowBTLoopback, 0);
-    QCOMPARE(apiString, QString("com.nokia.services.bluetooth"));
-    QCOMPARE(methodString, QString("showBluetoothLoopback()"));
-    QCOMPARE(sendCalled, true);
-}
-
-void TestParserRecognizer::testActivateBTDebugMode()
-{
-    parserRecognizer->sendMessage(MEngineMonitor::EPEMessageBTDebugMode, 0);
-    QCOMPARE(apiString, QString("com.nokia.services.bluetooth"));
-    QCOMPARE(methodString, QString("activateBluetoothDebugMode()"));
-    QCOMPARE(sendCalled, true);
-}
-
-void TestParserRecognizer::testShowIMEI()
-{
-    // IMEI code showing is implemented by phone and should not be handled 
-    // by the recognizer.
-    parserRecognizer->sendMessage(MEngineMonitor::EPEMessageShowIMEI, 0);
-    QCOMPARE(apiString, QString(""));
-    QCOMPARE(methodString, QString(""));
-    QCOMPARE(sendCalled, false);
-}
-
-void TestParserRecognizer::testShowVersion()
-{
-    parserRecognizer->sendMessage(MEngineMonitor::EPEMessageShowVersion, 0);
-    QCOMPARE(apiString, QString("com.nokia.services.devicemanager"));
-    QCOMPARE(methodString, QString("showVersionNumber()"));
-    QCOMPARE(sendCalled, true);
-}
-
-void TestParserRecognizer::testShowWLANMacAddress()
-{
-    // WLAN address showing not supported currently (TB 10.1)
-    parserRecognizer->sendMessage(MEngineMonitor::EPEMessageShowWlanMacAddress, 0);
-    QCOMPARE(apiString, QString(""));
-    QCOMPARE(methodString, QString(""));
-    QCOMPARE(sendCalled, false);
-}
-
-void TestParserRecognizer::testSSRequestFailed()
-{
-    parserRecognizer->sendMessage(MEngineMonitor::EPEMessageSSRequestFailed, 0);
-    QCOMPARE(apiString, QString("com.nokia.services.telephony"));
-    QCOMPARE(methodString, QString("supplementaryServiceRequestFailed()"));
-    QCOMPARE(sendCalled, true);
-}
-
-void TestParserRecognizer::testSendRequestFail()
-{
-    gSendRequestResult = false;
-    parserRecognizer->sendMessage(MEngineMonitor::EPEMessageShowVersion, 0);
-    QCOMPARE(apiString, QString("com.nokia.services.devicemanager"));
-    QCOMPARE(methodString, QString("showVersionNumber()"));
-    QCOMPARE(sendCalled, true);
-}
-
-void TestParserRecognizer::testSimultaneousRequests()
-{
-    parserRecognizer->sendMessage(MEngineMonitor::EPEMessageShowVersion, 0);
-    QCOMPARE(apiString, QString("com.nokia.services.devicemanager"));
-    QCOMPARE(methodString, QString("showVersionNumber()"));
-    QCOMPARE(sendCalled, true);
-    
-    sendCalled = false;
-    parserRecognizer->sendMessage(MEngineMonitor::EPEMessageShowVersion, 0);
-    QCOMPARE(sendCalled, false);
-}
-
-QTEST_MAIN(TestParserRecognizer)
-#include "unit_tests.moc"
--- a/phoneengine/parserrecognizer/tsrc/ut_parserrecognizer/ut_parserrecognizer.pro	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-# 
-# Description:
-#
-#
-
-TEMPLATE = app
-TARGET = 
-TARGET.UID3 = 0xE31F4ECF
-DEPENDPATH += .
-CONFIG += qtestlib
-QT -= gui
-
-symbian {
-	INCLUDEPATH +=./
-	INCLUDEPATH +=../../../../inc
-    INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
-	TARGET.EPOCALLOWDLLDATA = 1
-    TARGET.CAPABILITY = ALL -TCB
-    DEFINES += BUILD_PARSERRECOGNIZER
-}
-
-# Input
-HEADERS += xqservicerequest.h
-HEADERS += ../../inc/parserrecognizer.h
-SOURCES += unit_tests.cpp
-SOURCES += ../../src/parserrecognizer.cpp
--- a/phoneengine/parserrecognizer/tsrc/ut_parserrecognizer/xqservicerequest.h	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +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 XQSERVICEREQUEST_H
-#define XQSERVICEREQUEST_H
-
-#include <QVariant>
-#include <QString>
-
-class XQServiceRequest : public QObject
-{
-    Q_OBJECT
-
-public:
-    XQServiceRequest(QString const& api, QString const& method, bool const& sync = true);
-    ~XQServiceRequest();
-    bool send();
-    bool send(QVariant& retValue);
-    void setSynchronous(const bool &synchronous);
-
-signals:
-    void requestCompleted(const QVariant& value) ;
-    void requestError(int err);
-};
-#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phonecntfinder2/data/phonecntfinder_stub.pkg	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,29 @@
+;
+; 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: For packing phone contact finder stub.
+;
+; Languages
+&EN
+
+; Header
+#{"phonecntfinder"}, (0x10005998), 1, 0, 0, TYPE=SA
+
+; Localised Vendor name
+%{"Nokia"}
+
+; Unique Vendor name
+:"Nokia"
+
+;Files
+""-"z:\sys\bin\phonecntfinder.dll"
Binary file phoneengine/phonecntfinder2/data/phonecntfinder_stub.sis has changed
--- a/phoneengine/phonecntfinder2/inc/cphcntmatch2.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneengine/phonecntfinder2/inc/cphcntmatch2.h	Thu Jul 22 16:33:21 2010 +0100
@@ -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;
 
     };
 
--- a/phoneengine/phonecntfinder2/phonecntfinder2.pro	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneengine/phonecntfinder2/phonecntfinder2.pro	Thu Jul 22 16:33:21 2010 +0100
@@ -73,6 +73,10 @@
 BLD_INF_RULES.prj_exports += \
  "$${LITERAL_HASH}include <platform_paths.hrh>" \
  "./rom/phonecntfinder.iby    CORE_APP_LAYER_IBY_EXPORT_PATH(phonecntfinder.iby)"
+ 
+BLD_INF_RULES.prj_exports += \
+ "./data/phonecntfinder_stub.sis   \epoc32\data\z\system\install\phonecntfinder_stub.sis"
+
 
 
     
--- a/phoneengine/phonecntfinder2/src/cphcntmatch2.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneengine/phonecntfinder2/src/cphcntmatch2.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -18,6 +18,7 @@
 #include <qcontactdetail.h>
 #include <qcontactname.h>
 #include <qcontactavatar.h>
+#include <qcontactringtone.h>
 #include <qcontactphonenumber.h>
 #include <qtcontactsglobal.h>
 #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::FieldFirst); 
+    return iFirstname.utf16();
 
 }
 // -----------------------------------------------------------------------------
@@ -131,7 +114,7 @@
 //
 TPtrC CPhCntMatch2::LastName() const
 {
-    return FieldValue(QContactName::DefinitionName, QContactName::FieldLast);
+    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<HBufC*>(iNumber) = ptr.Alloc();
+    }  
+    return iNumber->Des();
 }
 // -----------------------------------------------------------------------------
 // PersonalRingingTone
@@ -159,20 +146,7 @@
 //
 TPtrC CPhCntMatch2::PersonalRingingTone() const
 {
-    /*
-    //TODO
-    QString returnValue;
-    QList<QContactAvatar> details = iContact.details<QContactAvatar>();
-    
-    for (int i=0;i<details.count();++i) {
-        if (details.at(i).subType() == QContactAvatar::SubTypeAudioRingtone) {
-            returnValue = details.at(i).avatar();
-            break;
-        }
-    }
-
-    return returnValue.utf16();*/
-    return KNullDesC();
+    return iPersonalRingtone.utf16();
 }
 // -----------------------------------------------------------------------------
 // BelongsToGroups
@@ -205,17 +179,7 @@
 //       
 TPtrC CPhCntMatch2::CallImage() const
 {
-    QString returnValue;
-    QList<QContactAvatar> details = iContact.details<QContactAvatar>();
-
-    for (int i=0;i<details.count();++i) {
-        if (details.at(i).subType() == QContactAvatar::SubTypeImage) {
-            returnValue = details.at(i).avatar();
-            break;
-        }
-    }
-    
-    return returnValue.utf16();
+    return iCallImage.utf16();
 }
 // -----------------------------------------------------------------------------
 // HasThumbnailImage
@@ -231,7 +195,7 @@
 //
 CDesCArray& CPhCntMatch2::AllDtmfNumbers() const
 {
-    return *iDummyArray;
+    return *iDTMFArray;
 }
 // -----------------------------------------------------------------------------
 // SetNumberL
@@ -252,14 +216,41 @@
 void CPhCntMatch2::ConstructL()
     {
     iContactId = CPhCntContactIdImpl2::NewL(iContact);
-    iDummyArray = new CDesCArrayFlat(1);
+    iDTMFArray = new CDesCArrayFlat(1);
+    
+    //Get first and last name
+    iFirstname = FieldValue(
+             QContactName::DefinitionName,
+             QContactName::FieldFirstName); 
+    
+    
+    iLastname = FieldValue(
+             QContactName::DefinitionName, 
+             QContactName::FieldLastName);
+    
+    //Get caller's image
+    QList<QContactAvatar> details = iContact.details<QContactAvatar>();
+    for (int i=0;i<details.count();++i) {
+        if (!details.at(i).imageUrl().isEmpty()) {
+            iCallImage = details.at(i).imageUrl().toString();
+            break;
+        }
+    }
+    PHONE_DEBUG2("CPhCntMatch2::callImage:: value is :", iCallImage);
+    
+    
+    //Get personal ringtone
+    QContactRingtone ringtonedetail = iContact.detail<QContactRingtone>();
+    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<QContactDetail> 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;    
 }
 
 
--- a/phoneengine/phonecntfinder2/tsrc/u_cphcntmatch2/testmatch2.pro	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneengine/phonecntfinder2/tsrc/u_cphcntmatch2/testmatch2.pro	Thu Jul 22 16:33:21 2010 +0100
@@ -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
--- a/phoneengine/phonecntfinder2/tsrc/u_cphcntmatch2/u_cphcntmatch2.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneengine/phonecntfinder2/tsrc/u_cphcntmatch2/u_cphcntmatch2.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -18,9 +18,14 @@
 #include <QtGui>
 #include <QtTest/QtTest>
 #include <QDebug>
+#include <QMap>
+#include "qcontactdetailfielddefinition.h"
 #include <e32cmn.h> //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<QContactLocalId> 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<QContactDetail> allDetails = contact.details();
+    for (int i = 0; i < allDetails.size(); i++) {
+        QContactDetail detail = allDetails.at(i);
+        QContactDetailDefinition currentDefinition = cm->detailDefinition(detail.definitionName());
+        QMap<QString, QContactDetailFieldDefinition> 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()
--- a/phoneengine/phonemodel/api_headers.pri	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneengine/phonemodel/api_headers.pri	Thu Jul 22 16:33:21 2010 +0100
@@ -17,7 +17,6 @@
 PHONEENGINE_API_HEADERS = ./inc/pevirtualengine.h \
                           ./inc/mpecallcontrolif.h \
                           ./inc/mpecallsettersif.h \
-                          ./inc/mpekeysequencerecognitionif.h \
                           ./inc/telinternalcrkeys.h \
                           ./inc/telinternalpskeys.h \
                           ./inc/telinternalpstypes.h \
Binary file phoneengine/phonemodel/conf/s60telephony.confml has changed
Binary file phoneengine/phonemodel/conf/s60telephony_102828B8.crml has changed
Binary file phoneengine/phonemodel/conf/s60telephony_102828F8.crml has changed
Binary file phoneengine/phonemodel/conf/s60telephony_2001B2E6.crml has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phonemodel/data/backup_registration.xml	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,6 @@
+<?xml version="1.0" standalone="yes"?>
+<!--  Backup registration file for Phone Engine cenrep keys  --> 
+<backup_registration version="1.0">
+    <proxy_data_manager sid = "0x10202BE9" />
+    <restore requires_reboot = "no"/>
+</backup_registration>
--- a/phoneengine/phonemodel/inc/cpeidlestatusmonitor.h	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,82 +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:  This file contains the header file for CPEIdleStatusMonitor class
-*
-*/
-
-
-#ifndef CPEIdleStatusMonitor_H
-#define CPEIdleStatusMonitor_H
-
-//INCLUDES
-#include <e32base.h>
-#include <e32property.h>
-
-// FORWARD DECLARATIONS
-class CPEPhoneModel;
-
-// CLASS DECLARATION
-
-/**
-*  CPEIdleStatusMonitor
-*  Monitors the idle status P&S key for changes
-*
-*  @since S60_5.0
-*/
-NONSHARABLE_CLASS( CPEIdleStatusMonitor ) : public CActive
-    {
-    public:
-        /**
-        * Two-phased constructor.
-        */
-        static CPEIdleStatusMonitor* NewL( 
-            CPEPhoneModel& aOwner );
-            
-        /**
-        * Destructor.
-        */
-        virtual ~CPEIdleStatusMonitor();     
-               
-    protected:
-        /**
-        * C++ default constructor.
-        */    
-        CPEIdleStatusMonitor( CPEPhoneModel& aOwner );
-
-        /**
-        * Second-phase constructor.
-        */
-        void ConstructL();    
-        
-    private: // From CActive
-
-        /**
-        * Implements cancellation of an outstanding request.
-        */
-        void DoCancel();
-
-        /**
-        * Handles request completion event.
-        */
-        void RunL();
-        
-    private:
-
-        // MPEPhoneModelInternal owns this object.
-        CPEPhoneModel& iOwner;
-        // The interface to Publish And Subscribe.
-        RProperty iProperty;
-    };
-
-#endif  //  CPEIdleStatusMonitor_H
--- a/phoneengine/phonemodel/inc/cpemessagehandler.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneengine/phonemodel/inc/cpemessagehandler.h	Thu Jul 22 16:33:21 2010 +0100
@@ -28,7 +28,6 @@
 
 #include "mpecallhandling.h"
 #include "mpecallcontrolif.h" 
-#include "mpekeysequencerecognitionif.h"
 
 // CONSTANTS
 const TInt KModeNormal = 0;  // Normal System mode  
@@ -40,21 +39,6 @@
 _LIT( KPEValidDTMFChars, "0123456789*#pwPW" );
 _LIT( KPEValidDTMFStringStopChars, "+pPwW" );
 
-// DTMF Speed dial substitution
-_LIT( KPEValidSpeedDialChars, "23456789" );
-const TInt KPEDtmfSpeedDialSubstitutionsMax = 2; // prevent infinite loop.
-const TInt KPESpeedDialIndexMin = 2;
-const TInt KPESpeedDialIndexMax = 9;
-
-// DTMF parsing status for Speed dial location
-enum TPESpeedDialSubstituionStatus
-    {
-    EPEDtmfSpeedDialOk,
-    EPEDtmfSpeedDialPromptUser,
-    EPEDtmfSpeedDialNotAssigned,
-    EPEDtmfSpeedDialInvalidSpeedDial
-    };
-
 // Invalid characters in an dialing string, these chars can be removed from dial string
 _LIT( KPECharsThatCanBeDelete, "\"/ ().-" );
 
@@ -109,8 +93,7 @@
 NONSHARABLE_CLASS( CPEMessageHandler ) 
     : 
         public CBase, 
-        public MPECallControlIF,
-        public MPEKeySequenceRecognitionIF
+        public MPECallControlIF
     {
     public:  // Destructor
 
@@ -253,12 +236,6 @@
                                            const TBool aCheckForDelete ) const;
 
         /**
-        * Handles lifetimer data from customa api -> engineinfo.
-        * @return TInt possible error code..
-        */
-        TInt HandleGetLifeTimerData() const;
-
-        /**
         * Handles EPEMessageDTMFSent message from call handling subsystem
         * @param ECCPErrorNone or KPEDontSendMessage
         */
@@ -282,12 +259,6 @@
         * @return error code.
         */
         static TInt CallBackHandleSendDtmf( TAny* aAny );
-
-        /**
-        * Handles plus (+) sign in a DTMF string.
-        * @param aDtmfString Current DTMF string to process.
-        */
-        void HandlePlusSignInDtmf( const TPEDtmfString& aDtmfString );
         
         /**
         * Called asyncronously from callback.
@@ -510,10 +481,11 @@
         TInt HandleServiceEnabled();
         
         /**
-         * Handles remote party information changed         
+         * Handles remote party information changed   
+         * @param aCallId is the identification number of the call.               
          * @since Series60_5.2         
          */
-        void HandleRemotePartyInfoChanged( );
+        void HandleRemotePartyInfoChanged( const TInt aCallId );
 
         /**
         * Handles swap message from the phone application 
@@ -599,16 +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 );
-    
-    public: // from MPEKeySequenceRecognitionIF
+        
         /**
-         * Executes provided key sequence if recognized.
-         */ 
-        TBool ExecuteKeySequenceL(const TDesC16 &aSequence);
+        * Returns a boolean to indicate whether network connection 
+        * is allowed or not.  
+        * @return Return a True or False. 
+        */
+        TBool IsNetworkConnectionAllowed() const;
     
     private: // New functions
         
@@ -655,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.
         */
@@ -774,7 +748,12 @@
         * @param aClientCall, Informs is the current call client originated or not.
         * @return Return possible error code.
         */
-        TInt HandleDialCallL( const TBool aClientCall );      
+        TInt HandleDialCallL( const TBool aClientCall );
+
+        /**
+        * Reset CCCECallParameters to prevent of use a previous call´s parameters
+        */
+        void ResetClientCallData();
 
         /**
         * Checks if there are any connected video calls
--- a/phoneengine/phonemodel/inc/cpeparsermanufacturerhandler.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneengine/phonemodel/inc/cpeparsermanufacturerhandler.h	Thu Jul 22 16:33:21 2010 +0100
@@ -81,27 +81,6 @@
         */
         void ProcessDebugL( const TDesC& aCode );
     
-    private:
-    
-        /**
-        * Gets phone model and sw version
-        * @param aSwVersion sw version
-        * return Error Code
-        */
-        TInt GetSwVersionAndPhoneModelL( TDes& aSwVersion );
-        
-        /**
-        * Add phone model to sw version
-        * @param aSwVersion sw version
-        */
-        void AppendPhoneModelL( TDes& aSwVersion );
-        
-        /**
-        * Remove needless line from string
-        * @param aSwVersion sw version
-        */
-        void RemoveLinesAfterThreeLines( TDes& aSwVersion );
-        
     private:    
         //MPEPhoneModelInternal is used to send message to the phone application
         MPEPhoneModelInternal& iModel;
--- a/phoneengine/phonemodel/inc/cpeparsermischandler.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneengine/phonemodel/inc/cpeparsermischandler.h	Thu Jul 22 16:33:21 2010 +0100
@@ -65,11 +65,6 @@
     public: // Functions from base classes
 
         /**
-        * Process IMEI display
-        */
-        void ProcessShowIMEIL();
-
-        /**
         * Process USSD request
         * @param aString, USSD string to be sent
         */
--- a/phoneengine/phonemodel/inc/cpeparsersshandler.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneengine/phonemodel/inc/cpeparsersshandler.h	Thu Jul 22 16:33:21 2010 +0100
@@ -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
--- a/phoneengine/phonemodel/inc/cpephonemodel.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneengine/phonemodel/inc/cpephonemodel.h	Thu Jul 22 16:33:21 2010 +0100
@@ -37,7 +37,6 @@
 class CPEExternalDataHandler;
 class CPEMessageHandler;
 class CPESimStateMonitor;
-class CPEIdleStatusMonitor;
 class MEngineMonitor;
 class MPEContactHandling;
 class MPECallHandling;
@@ -47,7 +46,6 @@
 class MPEServiceHandling;
 class CPERemotePartyInfoMediator;
 class PhoneServices;
-class ParserRecognizer;
 
 // CLASS DECLARATION
 
@@ -79,7 +77,6 @@
             EPEContactHandlingPhaseTwo,
             EPEMediatorCommandHandler,
             EPEPhoneServices,
-            EPEParserRecognizer,
             EPENetworkHandling
             };
 
@@ -274,6 +271,11 @@
         TBool DelayMessageSending( const MEngineMonitor::TPEMessagesFromPhoneEngine aMessage, 
                                    const TInt aCallId ); 
         
+       /**
+         * Gets call error from callinfo
+         */ 
+        void SetCallError( TInt aCallId );
+
 
     private:    //Data
 
@@ -302,8 +304,6 @@
         CPESimStateMonitor* iSimChangedMonitor;
         // SIM state monitor
         CPESimStateMonitor* iSimStatusMonitor;
-        // Idle status monitor
-        CPEIdleStatusMonitor* iIdleStatusMonitor;
         // DosServer connect error code.
         TInt iErrorCode;
         // Stepper counter
@@ -329,8 +329,9 @@
         
         // Phone Services offered via Qt Highway
         PhoneServices* iPhoneServices;
-        ParserRecognizer* iParserRecognizer;
-
+        
+        // Mobile call info.
+        RMobileCall::TMobileCallInfoV3* iCallInfo;
     };
 
 #endif // CPEPHONEMODEL_H  
--- a/phoneengine/phonemodel/inc/cpeprofilesettingmonitor.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneengine/phonemodel/inc/cpeprofilesettingmonitor.h	Thu Jul 22 16:33:21 2010 +0100
@@ -32,6 +32,7 @@
 #include <TProfileToneSettings.h>
 #include <MProfileChangeObserver.h>
 #include <CProfileChangeNotifyHandler.h>
+#include "cpecenrepmonitor.h"
 
 // FORWARD DECLARATIONS
 class MPEPhoneModelInternal;
@@ -46,7 +47,7 @@
 *  @lib Phoneenginebase.lib
 *  @since Series60_4.0
 */
-NONSHARABLE_CLASS( CPEProfileSettingMonitor ) : public CBase, public MProfileChangeObserver
+NONSHARABLE_CLASS( CPEProfileSettingMonitor ) : public CPECenRepMonitor, public MProfileChangeObserver
 {
 public:
     static CPEProfileSettingMonitor* NewL( MPEPhoneModelInternal& aModel );
@@ -57,6 +58,8 @@
     CPEProfileSettingMonitor( MPEPhoneModelInternal& aModel );
     void ConstructL();
     void GetProfileSettingsL();
+    // From CPECenRepMonitor
+    void UpdateL();
 private: // Not owned by this object
     MPEPhoneModelInternal& iModel; 
 private: // Owned by this object
--- a/phoneengine/phonemodel/inc/mpekeysequencerecognitionif.h	Tue Jun 15 14:14:38 2010 +0100
+++ /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:  This file contains the interface for key sequence recognition.
-*
-*/
-
-#ifndef MPEKEYSEQUENCERECOGNITIONIF_H
-#define MPEKEYSEQUENCERECOGNITIONIF_H
-
-#include <e32base.h>
-
-// CLASS DECLARATION
-
-/**
-*  Defines interface for key sequence recognition and execution. 
-* 
-*  @lib phoneengine.lib
-*  @since S60_10.1
-*/
-NONSHARABLE_CLASS( MPEKeySequenceRecognitionIF ) 
-{
-    public:    //New functions
-
-        /**
-         * Executes provided key sequence if the sequence is recognized.
-         * @param   aSequence   The key sequence.
-         * @return  ETrue if the key sequence was executed, EFalse otherwise.
-         */
-        virtual TBool ExecuteKeySequenceL(const TDesC16& aSequence) = 0;   
-    };
-
-#endif // MPEKEYSEQUENCERECOGNITIONIF_H
-
-// End of File
--- a/phoneengine/phonemodel/inc/pevirtualengine.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneengine/phonemodel/inc/pevirtualengine.h	Thu Jul 22 16:33:21 2010 +0100
@@ -96,13 +96,6 @@
 const TInt KPEMessagesFromPhoneEngineGsmLast = 12999;
 const TInt KPEMessagesFromPhoneEngineVariantFirst = KPEMessagesFromPhoneEngineGsmFirst;
 
-// Lifetimer data in hours and minutes
-NONSHARABLE_STRUCT( TPELifeTimeData )                      
-    {
-    TUint32 iHours;                         //range 0-999999 
-    TUint8 iMinutes;                        //range 0-59
-    };
-
 // Used when initializing number variables with non negative value range.
 const TInt KPENumberInitValue = -1; 
 //CallId not used in SendErrorMessageL
@@ -317,16 +310,6 @@
     TPEPhoneNumber iDTMFVMBXL2; // Line 2 DTMFVoiceMailBoxNumber
     };
 
-
-// Contains information of PhoneIdentity paramteres
-NONSHARABLE_STRUCT( TPEPhoneIdentityParameters )
-    {
-    TPEManufacturer iManufacturer;
-    TPEModel iModel;
-    TPERevision iRevision;
-    TPESerialNumber iSerialNumber;
-    };
-
 // Contains information of call audio route parameters
 NONSHARABLE_STRUCT( TPEPhoneAudioRouteParameters )
     {
@@ -395,17 +378,14 @@
         EPEMessageIncoming,
         EPEMessageInitiatedEmergencyCall,
         EPEMessageInitiatedEmergencyWhileActiveVideo,
-        EPEMessageInvalidSpeedDial,
         EPEMessageIssuingUSSDRequest,
         EPEMessageIssuedUSSDRequest,
         EPEMessagePacketNetworkDetached,   
-        EPEMessagePromptSpeedDial,
         EPEMessageRemoteBusy,
         EPEMessageRemoteTerminated,               
         EPEMessageSendingDTMF,
         EPEMessageSentDTMF,
         EPEMessageSentSSString,
-        EPEMessageSpeedDialNotAssigned,
         EPEMessageStoppedDTMF,
         EPEMessageSwapped,
         EPEMessageTransferDone,
@@ -420,6 +400,7 @@
         EPEMessageRemoteForwarding,
         EPEMessageMovedPermanently,        
         EPEMessageMultipleChoices,        
+        EPEMessageColpNumberAvailable,
 
         // Contact messages                   3000 - 3999
         EPEMessageThumbnailLoadingCompleted  = 3000,
@@ -447,14 +428,10 @@
         // Parser messages                    6000 - 6999
         EPEMessageActivateRfsDeep           = 6000,
         EPEMessageActivateRfsNormal,
-        EPEMessageActivateWarrantyMode,
         EPEMessageShowBTDeviceAddress,
         EPEMessageShowBTLoopback,
-        EPEMessageShowIMEI,
-        EPEMessageShowVersion,
         EPEMessageShowWlanMacAddress,
         EPEMessageSSRequestFailed,
-        EPEMessageBTDebugMode,
 
         // Security messages                  7000 - 7999
         EPEMessageBadBarringPasswordChange  = 7000,
@@ -485,7 +462,6 @@
         EPEMessageDoNotSendMe               = 10000,
         EPEMessageInValidEmergencyNumber,
         EPEMessageLogEventSaved, 
-        EPEMessagePhoneIdentityReady,
         EPEMessageStartATDialing,
         EPEMessageValidEmergencyNumber,
         EPEMessageMuteRingingTone,
@@ -512,6 +488,7 @@
         EPEMessageTempClirActivationUnsuccessful,
         EPEMessageShowIncCallGroupIndex,
         EPEMessageDataPortLoaned,
+        EPEMessageOutgoingCallBarred,
         // Contact messages                       11400 - 11599
 
         // Error messages                         11600 - 11799
--- a/phoneengine/phonemodel/inc/qtphonelog.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneengine/phonemodel/inc/qtphonelog.h	Thu Jul 22 16:33:21 2010 +0100
@@ -32,11 +32,20 @@
 #define PHONE_DEBUG3(A, B, C)            qDebug() <<A <<B <<C
 #define PHONE_DEBUG4(A, B, C, D)         qDebug() <<A <<B <<C <<D
 
+#ifdef Q_OS_SYMBIAN
 #define PHONE_TRACE                      qDebug() <<__PRETTY_FUNCTION__;
 #define PHONE_TRACE1(A)                  qDebug() <<__PRETTY_FUNCTION__ <<A;
 #define PHONE_TRACE2(A, B)               qDebug() <<__PRETTY_FUNCTION__ <<A <<B
 #define PHONE_TRACE3(A, B, C)            qDebug() <<__PRETTY_FUNCTION__ <<A <<B <<C
 #define PHONE_TRACE4(A, B, C, D)         qDebug() <<__PRETTY_FUNCTION__ <<A <<B <<C <<D
+#else //cannot use __PRETTY_FUNCTION__ in win32
+#define PHONE_TRACE
+#define PHONE_TRACE1(A)                  PHONE_DEBUG(A)
+#define PHONE_TRACE2(A, B)               PHONE_DEBUG(A, B)
+#define PHONE_TRACE3(A, B, C)            PHONE_DEBUG(A, B, C)
+#define PHONE_TRACE4(A, B, C, D)         PHONE_DEBUG(A, B, C, D)
+#endif //Q_OS_SYMBIAN
+
 #else
 #define PHONE_DEBUG(A)
 #define PHONE_DEBUG2(A, B)
@@ -48,7 +57,7 @@
 #define PHONE_TRACE2(A, B)
 #define PHONE_TRACE3(A, B, C)
 #define PHONE_TRACE4(A, B, C, D)
-#endif
+#endif //_DEBUG
 
 #endif
 
--- a/phoneengine/phonemodel/inc/telephonyvariant.hrh	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneengine/phonemodel/inc/telephonyvariant.hrh	Thu Jul 22 16:33:21 2010 +0100
@@ -148,6 +148,14 @@
 #define KTelephonyLVFlagOptionsChange 0x00400000
 
 /**
+* KTelephonyLVFlagForbiddenIcon defines if forbidden feature is enabled.
+* When flag is set, applications should show GSM, WCDMA, GSM/WCDMA 
+* and Forbiddeb icons in manual selection of network.
+* @since Series 60 5.0
+*/
+#define KTelephonyLVFlagForbiddenIcon 0x00800000
+
+/**
 * Ussd ( service command ) shows number of remaining characters 
 * Requirement RM-RIM TOOL ID 107-8820 
 * @since Series 60 3.0
--- a/phoneengine/phonemodel/phonemodel.pro	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneengine/phonemodel/phonemodel.pro	Thu Jul 22 16:33:21 2010 +0100
@@ -32,9 +32,8 @@
                    $$OS_LAYER_GLIB_SYSTEMINCLUDE
     INCLUDEPATH += ../../inc \
                    ../inc \
-                   ../phoneservices/inc \
-                   ../parserrecognizer/inc \
-                   
+                   ../phoneservices/inc 
+    
     engineDefFiles = \
         "$${LITERAL_HASH}ifdef WINSCW" \
         "DEFFILE bwins/phoneengine.def" \
@@ -74,11 +73,12 @@
             -lpeservicehandling \
             -lphoneservices \
             -lengineinfo \
-            -lparserrecognizer \
             -lmediatorclient \
             -lestor \
-	    -lxqservice \
-            -llibglib
+            -lxqservice \
+            -llibglib \
+            -lpsetwrapper \
+            -lpsuinotes
             
     TARGET.EPOCALLOWDLLDATA =1
     
@@ -95,7 +95,6 @@
 HEADERS += ./inc/cpeclientservices.h
 HEADERS += ./inc/cpedevicemodehandler.h
 HEADERS += ./inc/cpeexternaldatahandler.h
-HEADERS += ./inc/cpeidlestatusmonitor.h
 HEADERS += ./inc/cpemanualcallcontrolhandler.h
 HEADERS += ./inc/cpemessagehandler.h
 HEADERS += ./inc/cpemessagehandler.inl
@@ -150,7 +149,6 @@
 SOURCES += ./src/cpetimer.cpp
 SOURCES += ./src/pepanic.cpp
 SOURCES += ./src/cpemanualcallcontrolhandler.cpp
-SOURCES += ./src/cpeidlestatusmonitor.cpp
 SOURCES += ./src/cpeparsermanufacturerhandler.cpp
 SOURCES += ./src/cpeparsermischandler.cpp
 SOURCES += ./src/cpeparserphonenumberhandler.cpp
@@ -181,9 +179,18 @@
  "./rom/phonengengine.iby    CORE_APP_LAYER_IBY_EXPORT_PATH(phonengengine.iby)"
 BLD_INF_RULES.prj_exports += "./conf/s60telephony.confml APP_LAYER_CONFML(s60telephony.confml)"
 BLD_INF_RULES.prj_exports += "./conf/s60telephony_japan.confml CONFML_EXPORT_PATH(s60telephony_japan.confml,japan)"
-BLD_INF_RULES.prj_exports += "./conf/s60telephony_101F87E3.crml APP_LAYER_CRML(s60telephony_101F87E3.crml)"
-BLD_INF_RULES.prj_exports += "./conf/s60telephony_102828B1.crml APP_LAYER_CRML(s60telephony_102828B1.crml)"
-BLD_INF_RULES.prj_exports += "./conf/s60telephony_102828B2.crml APP_LAYER_CRML(s60telephony_102828B2.crml)"
-BLD_INF_RULES.prj_exports += "./conf/s60telephony_102828B8.crml APP_LAYER_CRML(s60telephony_102828B8.crml)"
-BLD_INF_RULES.prj_exports += "./conf/s60telephony_102828F8.crml APP_LAYER_CRML(s60telephony_102828F8.crml)"
-BLD_INF_RULES.prj_exports += "./conf/s60telephony_102830B6.crml APP_LAYER_CRML(s60telephony_102830B6.crml)"
+BLD_INF_RULES.prj_exports += "./conf/s60telephony_101f87e3.crml APP_LAYER_CRML(s60telephony_101f87e3.crml)"
+BLD_INF_RULES.prj_exports += "./conf/s60telephony_102828b1.crml APP_LAYER_CRML(s60telephony_102828b1.crml)"
+BLD_INF_RULES.prj_exports += "./conf/s60telephony_102828b2.crml APP_LAYER_CRML(s60telephony_102828b2.crml)"
+BLD_INF_RULES.prj_exports += "./conf/s60telephony_102828b8.crml APP_LAYER_CRML(s60telephony_102828b8.crml)"
+BLD_INF_RULES.prj_exports += "./conf/s60telephony_102828f8.crml APP_LAYER_CRML(s60telephony_102828f8.crml)"
+BLD_INF_RULES.prj_exports += "./conf/s60telephony_102830b6.crml APP_LAYER_CRML(s60telephony_102830b6.crml)"
+BLD_INF_RULES.prj_exports += "./conf/s60telephony_2001b2e6.crml APP_LAYER_CRML(s60telephony_2001b2e6.crml)"
+
+#Backup registration files
+BLD_INF_RULES.prj_exports += "./data/backup_registration.xml /epoc32/data/z/private/1000a86c/backup_registration.xml"
+BLD_INF_RULES.prj_exports += "./data/backup_registration.xml /epoc32/release/winscw/udeb/z/private/1000a86c/backup_registration.xml"
+BLD_INF_RULES.prj_exports += "./data/backup_registration.xml /epoc32/release/winscw/urel/z/private/1000a86c/backup_registration.xml"
+
+#Stub sis
+BLD_INF_RULES.prj_exports += "./data/phonemodel_stub.sis   \epoc32\data\z\system\install\phonemodel_stub.sis"
--- a/phoneengine/phonemodel/rom/phonengengine.iby	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneengine/phonemodel/rom/phonengengine.iby	Thu Jul 22 16:33:21 2010 +0100
@@ -46,8 +46,6 @@
 // <-- QT PHONE START --> 
 // Dial Service
 file=ABI_DIR\BUILD_DIR\phoneservices.dll      SHARED_LIB_DIR\phoneservices.dll
-// Parser recognizer
-file=ABI_DIR\BUILD_DIR\parserrecognizer.dll      SHARED_LIB_DIR\parserrecognizer.dll
 // <-- QT PHONE END--> 
 data=DATAZ_\private\1000A86C\backup_registration.xml  private\1000A86C\backup_registration.xml
 
--- a/phoneengine/phonemodel/src/cpeexternaldatahandler.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneengine/phonemodel/src/cpeexternaldatahandler.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -94,7 +94,7 @@
     iAccessorySettingsRepository = CRepository::NewL( KCRUidAccessorySettings );*/
     //iTelephonySettingsRepository = CRepository::NewL( KCRUidTelephonySettings );
     iTelephonyVariationRepository = CRepository::NewL( KCRUidTelVariation );
-    //iCoreApplicationRepository = CRepository::NewL( KCRUidCoreApplicationUIs ); 
+    iCoreApplicationRepository = CRepository::NewL( KCRUidCoreApplicationUIs ); 
    
     TEFLOGSTRING( KTAOBJECT, "PE CPEExternalDataHandler::BaseConstructL 2" );
     }
@@ -128,12 +128,19 @@
         errorCode = iCallDurationDisplay->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;
     }
--- a/phoneengine/phonemodel/src/cpeidlestatusmonitor.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,132 +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:  This module contains the implementation of CPEIdleStatusMonitor class 
-*
-*/
-
-
-// INCLUDES
-#include <talogger.h>
-#include "cpephonemodel.h"
-#include "cpeidlestatusmonitor.h"
-#include <activeidle2domainpskeys.h>
-
-
-// ================= MEMBER FUNCTIONS =======================
-
-// -----------------------------------------------------------------------------
-// CPEIdleStatusMonitor::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-CPEIdleStatusMonitor* CPEIdleStatusMonitor::NewL(
-        CPEPhoneModel& aOwner ) 
-    {
-    TEFLOGSTRING( KTAOBJECT, "PE CPEIdleStatusMonitor::NewL ");
-    CPEIdleStatusMonitor* self = new (ELeave) CPEIdleStatusMonitor( 
-        aOwner );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return( self );
-    }
-
-// Destructor
-CPEIdleStatusMonitor::~CPEIdleStatusMonitor()
-    {
-    TEFLOGSTRING( KTAOBJECT, "PE CPEIdleStatusMonitor::~CPEIdleStatusMonitor, start ");
-    Cancel();
-    iProperty.Close();
-    TEFLOGSTRING( KTAOBJECT, "PE CPEIdleStatusMonitor::~CPEIdleStatusMonitor, complete ");
-    }
-                                       
-// -----------------------------------------------------------------------------
-// CPEIdleStatusMonitor::CPEIdleStatusMonitor
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CPEIdleStatusMonitor::CPEIdleStatusMonitor(
-        CPEPhoneModel& aOwner
-        ): CActive( EPriorityStandard ),
-           iOwner( aOwner )
-    {
-    CActiveScheduler::Add( this );
-    }
-
-// -----------------------------------------------------------------------------
-// CPEIdleStatusMonitor::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CPEIdleStatusMonitor::ConstructL()
-    {
-    TEFLOGSTRING( KTAOBJECT, "PE CPEIdleStatusMonitor::ConstructL");
-    User::LeaveIfError( iProperty.Attach( KPSUidAiInformation, KActiveIdleState ) );
-       
-    TInt value;
-    iProperty.Get( KPSUidAiInformation, KActiveIdleState, value );
-    
-    if ( value == EPSAiForeground )
-        {
-        // Don't implement any new code that reserver anything after this.
-        iOwner.ConstructContactHandlingPhaseTwoL();
-        }
-    else
-        {
-        iProperty.Subscribe( iStatus );
-        SetActive();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPEIdleStatusMonitor::DoCancel
-// Callback method from CActive.
-// -----------------------------------------------------------------------------
-//
-void CPEIdleStatusMonitor::DoCancel()
-    {   
-    TEFLOGSTRING( KTAREQOUT, "PE CPEIdleStatusMonitor::DoCancel()" );
-    iProperty.Cancel();
-    }
-
-// -----------------------------------------------------------------------------
-// CPECenRepMonitor::RunL
-// -----------------------------------------------------------------------------
-//
-void CPEIdleStatusMonitor::RunL()
-    {
-    TEFLOGSTRING2( KTAREQEND, 
-        "PE CPEIdleStatusMonitor::RunL,iStatus: %d", iStatus.Int() );
-   
-    //  Now retrieve the value
-    TInt value;
-    iProperty.Get( KPSUidAiInformation, KActiveIdleState, value );
-        
-    if ( value == EPSAiForeground )
-        {
-        TEFLOGSTRING( KTAOBJECT, 
-            "PE CPEIdleStatusMonitor::RunL, starting contact handling creation");
-        // Don't implement any new code that reserver anything after this.
-        iOwner.ConstructContactHandlingPhaseTwoL();
-        TEFLOGSTRING( KTAOBJECT, 
-            "PE CPEIdleStatusMonitor::RunL, starting contact handling creation done ");
-        }
-    else
-        {
-        iProperty.Subscribe( iStatus );
-        SetActive();
-        }
-    }
-    
-// End of file
--- a/phoneengine/phonemodel/src/cpemessagehandler.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneengine/phonemodel/src/cpemessagehandler.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -453,12 +453,6 @@
         
         dtmfString = KNullDesC;
         }    
-    else if ( dtmfString[ 0 ] == KPEDtmfPlusChar ) // speed-dial substitution
-        {
-        TEFLOGSTRING( KTAMESINT, "PE CPEMessageHandler::HandleSendDtmf(), Processing +" );
-        HandlePlusSignInDtmf( dtmfString );
-        dtmfString = KNullDesC;
-        }
     else if ( dtmfString[ 0 ] == KPEDtmfPauseCharLowercase || 
               dtmfString[ 0 ] == KPEDtmfPauseCharUppercase ) // soft pause
         {
@@ -536,147 +530,6 @@
     }
 
 // -----------------------------------------------------------------------------
-// CPEMessageHandler::HandlePlusSignInDtmf
-// Handles plus (+) sign in a DTMF string.
-// -----------------------------------------------------------------------------
-//
-void CPEMessageHandler::HandlePlusSignInDtmf(const TPEDtmfString& aDtmfString )
-    {
-    TEFLOGSTRING2( KTAMESINT, "PE CPEMessageHandler::HandlePlusSignInDtmf(), aDtmfString: %S", &aDtmfString ); 
-          
-    // Find the SD index after the plus sign
-    TPtrC validManualDTMFChars( KPEValidSpeedDialChars );
-    TInt index = ECCPErrorNotFound;
-    for ( index = 1 ; index < aDtmfString.Length() ; index++ )
-        {
-        if ( validManualDTMFChars.Locate( aDtmfString[index] ) == ECCPErrorNotFound )
-            {
-            TEFLOGSTRING( KTAMESINT, "PE CPEMessageHandler::HandlePlusSignInDtmf(), Not Found" ); 
-            break; 
-            }
-        }
-    TPESpeedDialSubstituionStatus sdStatus = EPEDtmfSpeedDialOk;
-    
-    // Empty string after the plus sign
-    if ( index == 1 )
-        {
-        if ( aDtmfString.Length() > 1 )
-            {
-            // pw+ after the plus sign.
-            sdStatus = EPEDtmfSpeedDialInvalidSpeedDial;
-            }
-        else
-            {
-            // string ended with the plus sign.
-            sdStatus = EPEDtmfSpeedDialPromptUser;
-            }
-        // Clear DTMF string.
-        iDataStore.SetDtmfString( KNullDesC() );
-        }
-    // Else if the SD location ends the DTMF string, move the index to the
-    // last character instead of one over.
-    else if ( index == aDtmfString.Length() )
-        {
-        index--;
-        }
-    
-    // Check that the index is valid
-    TInt sdIndex = ECCPErrorNotFound; 
-    if ( sdStatus == EPEDtmfSpeedDialOk )
-        {
-        TLex lexer( aDtmfString.Mid( 1, index ) );
-        // convert it to a number
-        if ( lexer.Val(sdIndex) == ECCPErrorNone )
-            {
-            // Is it out of range
-            if ( sdIndex < KPESpeedDialIndexMin  ||
-                sdIndex > KPESpeedDialIndexMax )
-                {
-                sdStatus = EPEDtmfSpeedDialInvalidSpeedDial;
-                }
-            }
-        else
-            {
-            sdStatus = EPEDtmfSpeedDialInvalidSpeedDial;
-            }
-        }
-    
-    // Fetch the SD location
-    TPEPhoneNumber speedDialLocationString;
-    if ( sdStatus == EPEDtmfSpeedDialOk )
-        {
-        TEFLOGSTRING2( KTAMESINT, "PE CPEMessageHandler::HandlePlusSignInDtmf(), SD location %i", sdIndex ); 
-        if ( iContactHandling.GetSpeedDialLocation( 
-            sdIndex, speedDialLocationString ) == ECCPErrorNone )
-            {
-            // Is content found
-            if ( speedDialLocationString.Length() == 0)
-                {
-                sdStatus = EPEDtmfSpeedDialNotAssigned;
-                }
-            else if ( speedDialLocationString[0] == KPEDtmfPlusChar)  
-                {
-                // plus char must be removed from dtmf string before sending
-                RemovePlusPrefix( speedDialLocationString );
-                }
-            }
-        else
-            {
-            sdStatus = EPEDtmfSpeedDialInvalidSpeedDial;
-            }
-        }
-    
-    // Now interpret the sdStatus to the next action
-    switch ( sdStatus )
-        {
-        case EPEDtmfSpeedDialOk:
-            {
-            TEFLOGSTRING2( KTAMESINT, "PE CPEMessageHandler::HandlePlusSignInDtmf(), SD result: %S", &speedDialLocationString ); 
-            // Take the SD location string and use that as new DTMF string
-            iDataStore.SetDtmfStringCommand( speedDialLocationString );
-            
-            // Do recursion asyncronously                        
-            TCallBack callBack( CallBackHandleSendDtmf, this );
-            delete iAsyncCallBack;
-            iAsyncCallBack = NULL;
-            // Function does not allow to leave.
-            iAsyncCallBack = new CAsyncCallBack( callBack, CActive::EPriorityStandard );
-            if ( iAsyncCallBack )
-                {
-                iAsyncCallBack->CallBack();
-                }
-            else
-                {
-                iModel.SendMessage( MEngineMonitor::EPEMessageDTMFSendingAborted );
-                }
-            }
-            break;
-        case EPEDtmfSpeedDialPromptUser:
-            // Speed dial location not given.
-            iDataStore.SetDtmfString( KNullDesC() );
-            iModel.SendMessage( MEngineMonitor::EPEMessagePromptSpeedDial );
-            break;
-        case EPEDtmfSpeedDialNotAssigned:
-            // Speed dial location valid but not assigned
-            iDataStore.SetDtmfString( KNullDesC() );
-            iDataStore.SetDtmfStringCommand( KNullDesC() );
-            iModel.SendMessage( MEngineMonitor::EPEMessageDTMFSendingAborted);
-            iModel.SendMessage( MEngineMonitor::EPEMessageSpeedDialNotAssigned );
-            break;
-        case EPEDtmfSpeedDialInvalidSpeedDial:
-            // Speed dial location invalid
-            iDataStore.SetDtmfString( KNullDesC() );
-            iDataStore.SetDtmfStringCommand( KNullDesC() );
-            iModel.SendMessage( MEngineMonitor::EPEMessageDTMFSendingAborted);
-            iModel.SendMessage( MEngineMonitor::EPEMessageInvalidSpeedDial );
-            break;
-        default:
-            Panic( EPEPanicInvalidState );
-            break;
-        } // end switch
-    }
-
-// -----------------------------------------------------------------------------
 // CPEMessageHandler::CheckPrefix
 // Checks the status of phone number prefix change setting
 // and calls CPEMessageHandler::ChangePrefix for execution.
@@ -1082,34 +935,6 @@
     return returnValue;
     }
 
-
-// -----------------------------------------------------------------------------
-// CPEMessageHandler::HandleGetLifeTimerData
-// Reads lifetimerdata from custom api and stores it to engine info
-// -----------------------------------------------------------------------------
-//
-TInt CPEMessageHandler::HandleGetLifeTimerData() const
-    {
-    TCCPLifeTimeData lifeTimeData; 
-    TCCPLifeTimeDataPckg pckg( lifeTimeData );
-
-    if ( iCallHandling.GetLifeTime( pckg ) )
-        {
-        TEFLOGSTRING2( 
-            KTAGENERAL, 
-            "PE: CPEMessageHandler::HandleGetLifeTimerData, iHours = %d", 
-            lifeTimeData.iHours);
-        TEFLOGSTRING2( 
-            KTAGENERAL, 
-            "PE: CPEMessageHandler::HandleGetLifeTimerData, iMinutes = %d", 
-            lifeTimeData.iMinutes);
-            
-        iDataStore.SetLifeTimerData( pckg );
-        }
-    
-    return ECCPErrorNone;
-    }
-    
 // -----------------------------------------------------------------------------
 // CPEMessageHandler::CallbackSendMessageStoppedDTMF
 // -----------------------------------------------------------------------------
@@ -1512,16 +1337,7 @@
             RemovePreAndPostFix( number );
   
             iDataStore.SetRemotePhoneNumber( number, aCallId );
-            }
-        
-        // The Colp number is stored to remoteparty in connected state.
-        TPEPhoneNumber colpNumber = iCallInfo->iRemoteParty.iRemoteNumber.iTelNumber;
-        RemovePreAndPostFix( colpNumber );
-        iDataStore.SetRemoteColpNumber( colpNumber, aCallId ); 
-        TEFLOGSTRING3( 
-            KTAMESINT, 
-            "PE CPEMessageHandler::SetPhoneNumberForCallLogging, colp number: '%S', call id: %d", 
-            &colpNumber, aCallId );
+            }            
         }
     else if ( iDataStore.CallDirection( aCallId ) == RMobileCall::EMobileTerminated )
         {
@@ -1747,9 +1563,6 @@
     // logging works OK (see CPEMessageHandler::SetPhoneNumberForCallLogging).  
     iDataStore.SetPhoneNumber( KNullDesC() );
     
-    // COLP number is updated in connected state 
-    UpdateRemotePartyInfo();
-   
     return ECCPErrorNone;
     }
 
@@ -1863,6 +1676,7 @@
     else 
         {
         iDataStore.SetCallOriginCommand(EPECallOriginPhone);
+		ResetClientCallData();
         }
         
     //Get number of calls
@@ -1919,6 +1733,23 @@
     }
 
 // -----------------------------------------------------------------------------
+// CPEMessageHandler::ResetClientCallData
+// Reset CCCECallParameters to prevent of use a previous call´s parameters
+// -----------------------------------------------------------------------------
+//
+void CPEMessageHandler::ResetClientCallData()
+    {
+    TEFLOGSTRING( KTAINT, "PE CPEMessageHandler::ResetClientCallData()" );
+
+    CCCECallParameters& params = iDataStore.CallParameters();
+    params.SetLineType( CCCECallParameters::ECCELineTypePrimary );
+    params.SetUUSId( KNullDesC() );
+    params.SetBearer( KNullDesC8() );
+    params.SetSubAddress( KNullDesC() );
+    params.SetOrigin( CCCECallParameters::ECCECallOriginPhone );
+    }
+
+// -----------------------------------------------------------------------------
 // CPEMessageHandler::HandleSatCallRequestCompleted
 // Sends respond to SAT after dial request completion
 // -----------------------------------------------------------------------------
@@ -2573,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
@@ -2894,9 +2725,10 @@
 // CPEMessageHandler::HandleRemotePartyInfoChanged
 // -----------------------------------------------------------------------------
 //
-void CPEMessageHandler::HandleRemotePartyInfoChanged()
-    {
-    UpdateRemotePartyInfo();      
+void CPEMessageHandler::HandleRemotePartyInfoChanged( const TInt /*aCallId*/ )
+    {        
+    UpdateRemotePartyInfo(); 
+        
     }
 
 
@@ -2989,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
 // 
@@ -3004,30 +2874,4 @@
     return errorCode;
     }
 
-
-// -----------------------------------------------------------------------------
-// CPEMessageHandler::ExecuteKeySequenceL
-// Only sequences which are not issued with send-key are handled here. SS 
-// commands etc. are processed in HandleDialCallL().
-// -----------------------------------------------------------------------------
-//
-TBool CPEMessageHandler::ExecuteKeySequenceL( const TDesC16 &aSequence )
-{
-    TBool keySequenceProcessed( EFalse );
-    
-    iOptions->SetOptionStatus( KPhoneOptionInCall, 
-        ( iCallHandling.GetNumberOfCalls() > 0 ) );
-    iOptions->SetOptionStatus( KPhoneOptionSend, EFalse );
-    iOptions->SetOptionStatus( KPhoneOptionVoipCall, EFalse );
-    
-    if ( iParser->ParseL( aSequence, *iResult, *iOptions ) )
-        {
-        keySequenceProcessed = ETrue;
-        iGsmParserErrorCode = ECCPErrorNone;
-        iParserHandlerContainer->ProcessL( *iResult );
-        }
-    
-    return keySequenceProcessed;
-}
-
 //  End of File
--- a/phoneengine/phonemodel/src/cpeparsermanufacturerhandler.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneengine/phonemodel/src/cpeparsermanufacturerhandler.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -17,19 +17,11 @@
  
 
 //  ==================== INCLUDE FILES  ====================
-#include "cpeparsermanufacturerhandler.h"
-#include "mpephonemodelinternal.h"
 #include <mpecallhandling.h>
 #include <mpedatastore.h>
-#include <sysutil.h>
 #include <talogger.h>
-
-
-// CONSTANTS
-const TInt KPESwVersionLineCount = 3;
-const TInt KPEVersionLineFeed = '\n';
-const TInt KPESalesModelNameMaxLength = 20; 
-_LIT( KPESalesModelFileName, "Z:\\resource\\versions\\model.txt");
+#include "cpeparsermanufacturerhandler.h"
+#include "mpephonemodelinternal.h"
 
 // ================= MEMBER FUNCTIONS =======================
 
@@ -64,25 +56,6 @@
 
     switch ( aCommand )
         {
-        case EShowVersion: // *#0000#
-            {
-            TEFLOGSTRING( KTAINT, "PE CPEParserManufacturerHandler::ProcessCommandL, EShowVersion" );
-            
-            TPEPhoneIdentityParameters phoneIdentity;
-            phoneIdentity = iModel.DataStore()->PhoneIdentityParameters();
-            if ( GetSwVersionAndPhoneModelL( phoneIdentity.iRevision ) == KErrNone )
-                {
-                iModel.DataStore()->SetPhoneIdentityParameters( phoneIdentity );
-                iModel.SendMessage( MEngineMonitor::EPEMessageShowVersion );
-                }
-            else
-                {
-                iModel.SendMessage( MEngineMonitor::EPEMessageError );
-                TEFLOGSTRING( KTAERROR, 
-                    "PE CPEGSMPARSERMANUFACTURERHANDLER::PROCESSCOMMANDL: FAILED TO RETRIEVE SW VERSION" );
-                }
-            break;
-            }
         case EBadPinChange:    
             {
             iModel.SendMessage( MEngineMonitor::EPEMessageBadPin1Change );
@@ -113,13 +86,6 @@
             iModel.SendMessage( MEngineMonitor::EPEMessageActivateRfsDeep );
             break;
             }
-        case EActivateWarranty:
-            //lint -fallthrough
-        case ELifeTimer:
-            {
-            iModel.SendMessage( MEngineMonitor::EPEMessageActivateWarrantyMode );
-            break;
-            }
         case EShowBtAddress: // *#2820#
             {
             iModel.SendMessage( MEngineMonitor::EPEMessageShowBTDeviceAddress );
@@ -135,11 +101,6 @@
             iModel.SendMessage( MEngineMonitor::EPEMessageShowWlanMacAddress );
             break;
             }
-        case EBTDebugMode: // *#2873#
-            {
-            iModel.SendMessage( MEngineMonitor::EPEMessageBTDebugMode );
-            break;
-            }
         default:
             {
             TEFLOGSTRING( KTAERROR, "PE CPEGSMPARSERMANUFACTURERHANDLER::PROCESSCOMMANDL: UNEXPECTED COMMAND" );
@@ -204,91 +165,4 @@
         }
     }
 
-// -----------------------------------------------------------------------------
-// CPEParserManufacturerHandler::GetSwVersionAndPhoneModelL
-// Gets sw version from SysUtil::GetSwVersion and loads phone model information
-// from file. This information is set to aSwVersion.
-// -----------------------------------------------------------------------------
-//
-TInt CPEParserManufacturerHandler::GetSwVersionAndPhoneModelL( 
-    TDes& aSwVersion )
-    {
-    TEFLOGSTRING( KTAINT, "PE CPEParserManufacturerHandler::GetSwVersionAndPhoneModelL" );
-    
-    TInt errorCode = SysUtil::GetSWVersion( aSwVersion ) ;
-    
-    TEFLOGSTRING2( KTAINT,
-        "PE CPEParserManufacturerHandler::GetSwVersionAndPhoneModelL > SysUtil::GetSWVersion, error code: %d",
-        errorCode );
-
-    if ( errorCode == KErrNone )
-        {
-        // Remove needless lines
-        RemoveLinesAfterThreeLines( aSwVersion );
-        // Add phone model
-        AppendPhoneModelL( aSwVersion );
-        }
-        
-    return errorCode;  
-    }
-
-// -----------------------------------------------------------------------------
-// CPEParserManufacturerHandler::RemoveNeedlessLinesL
-// Removes lines after 3 end-of-line (\n) chars.
-// -----------------------------------------------------------------------------
-//
-void CPEParserManufacturerHandler::RemoveLinesAfterThreeLines( 
-    TDes& aSwVersion ) 
-    {
-    TEFLOGSTRING( KTAINT, "PE CPEParserManufacturerHandler::RemoveLinesAfterThreeLines" );
-    
-    TInt lineFeedCount = 0;
-    
-    const TInt swVersionLength( aSwVersion.Length() );
-    for( TInt i = 0; i < swVersionLength ; i++ )
-        {
-        if( aSwVersion[i] == KPEVersionLineFeed )
-            {
-            lineFeedCount++;
-            if( lineFeedCount == KPESwVersionLineCount )
-                {
-                const TInt charsToDelete( aSwVersion.Length() - i );
-                
-                // Dont delete the last line feed characted, thats why
-                // i + 1.
-                aSwVersion.Delete( i + 1, charsToDelete );
-                return;
-                }
-            }
-        }
-    }
-    
-// -----------------------------------------------------------------------------
-// CPEParserManufacturerHandler::AppendPhoneModelL
-// Reads phone model info from disk and appends it to aSwVersion.
-// -----------------------------------------------------------------------------
-//
-void CPEParserManufacturerHandler::AppendPhoneModelL(   
-    TDes& aSwVersion ) 
-    {   
-    RFile file;
-    User::LeaveIfError( file.Open( iFsSession, 
-                                   KPESalesModelFileName, 
-                                   EFileShareReadersOnly | EFileRead ) );
-    CleanupClosePushL( file );
-    
-    HBufC* model = HBufC::NewLC( KPESalesModelNameMaxLength );
-    TPtr ptr = model->Des();
-
-    // Read the data from file.
-    TFileText reader;
-    reader.Set( file );
-    User::LeaveIfError( reader.Read( ptr ) );
-
-    // Append the phone model to aSwVersion
-    aSwVersion.Append( *model );
-    
-    CleanupStack::PopAndDestroy( 2 ); // model, file
-    }
-
 // End of File
--- a/phoneengine/phonemodel/src/cpeparsermischandler.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneengine/phonemodel/src/cpeparsermischandler.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -43,16 +43,6 @@
     }
 
 // -----------------------------------------------------------------------------
-// CPEParserMiscHandler::ProcessShowIMEIL
-// Process IMEI display
-// -----------------------------------------------------------------------------
-//
-void CPEParserMiscHandler::ProcessShowIMEIL()
-    {
-    iCallHandling.UpdatePhoneIdentity( MEngineMonitor::EPEMessageShowIMEI );
-    }
-
-// -----------------------------------------------------------------------------
 // CPEParserMiscHandler::ProcessUssdL
 // Process USSD request
 // -----------------------------------------------------------------------------
--- a/phoneengine/phonemodel/src/cpeparserphonenumberhandler.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneengine/phonemodel/src/cpeparserphonenumberhandler.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -185,6 +185,7 @@
                 stripStart = i;
                 }
             }
+        input.Inc();
         }
     if ( stripStart != KErrNotFound )
         {
@@ -205,7 +206,7 @@
     TBool isPhoneOffline( EFalse );
 
     if( FeatureManager::FeatureSupported( KFeatureIdOfflineMode )
-        && ( iDataStore.ProfileId() == EProfileOffLineId ) )
+        && ( EFalse == iOwner.IsNetworkConnectionAllowed() ) )
         {
         isPhoneOffline = ETrue;
         }
--- a/phoneengine/phonemodel/src/cpeparsersshandler.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneengine/phonemodel/src/cpeparsersshandler.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -43,6 +43,11 @@
 #include <psuiwaitingobs.h>
 #include <talogger.h>
 
+#include <psetwrapper.h>
+#include <psuidivertnotehandler.h>
+#include <psetcalldivertingwrapper.h>
+#include <psuiwaitingnotehandler.h>
+#include <psetcallwaitingwrapper.h>
 
 // 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;
     }
 
 // -----------------------------------------------------------------------------
--- a/phoneengine/phonemodel/src/cpephonemodel.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneengine/phonemodel/src/cpephonemodel.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -20,7 +20,6 @@
 //  INCLUDE FILES
 #include "cpeactivestarter.h"
 #include "cpeexternaldatahandler.h"
-#include "cpeidlestatusmonitor.h"
 #include "cpemessagehandler.h"
 #include "cpephonemodel.h"
 #include "cpeservicehandling.h"
@@ -41,11 +40,11 @@
 #include <mpeloghandling.h>
 #include <xqservicerequest.h>
 #include "phoneservices.h"
-#include "parserrecognizer.h"
 
 // CONSTANTS
 const TInt KDriveProfile ( 6 );
 const TInt KPECallTimerOff = 0;
+const TInt KTimesToSplitValue = 16;
 
 // ==================== LOCAL FUNCTIONS ====================
 
@@ -99,6 +98,8 @@
     TEFLOGSTRING( KTAOBJECT, "CPEPhoneModel::ConstructL: 5" );
     iActiveStarter->StartUp();
     TEFLOGSTRING( KTAOBJECT, "CPEPhoneModel::ConstructL: 6" );
+    // Reserve needed callinfo and remoteinfo from heap.
+    iCallInfo = new ( ELeave ) RMobileCall::TMobileCallInfoV3;
     }// ConstructL
 
 // -----------------------------------------------------------------------------
@@ -148,6 +149,7 @@
     delete iCallHandling;
     delete iExternalDataHandler;
     delete iCallStackCutter;
+    delete iCallInfo;
 
     if ( iActiveStarter )
         {
@@ -158,12 +160,7 @@
     iFsSession.Close();
     delete iEngineInfo;
     delete iConvergedCallEngine;
-    if ( iIdleStatusMonitor )
-        {
-        delete iIdleStatusMonitor;
-        } 
     delete iPhoneServices;
-    delete iParserRecognizer;
     }// ~CPEPhoneModel
 
 // -----------------------------------------------------------------------------
@@ -461,16 +458,8 @@
             return MESSAGE("EPEMessageCallAdded");
         case MEngineMonitor::EPEMessageRemoteTerminated:
             return MESSAGE("EPEMessageRemoteTerminated");
-        case MEngineMonitor::EPEMessageShowIMEI:
-            return MESSAGE("EPEMessageShowIMEI");
         case MEngineMonitor::EPEMessageUnknown:
             return MESSAGE("EPEMessageUnknown");
-        case MEngineMonitor::EPEMessagePromptSpeedDial:
-            return MESSAGE("EPEMessagePromptSpeedDial");
-        case MEngineMonitor::EPEMessageSpeedDialNotAssigned:
-            return MESSAGE("EPEMessageSpeedDialNotAssigned");
-        case MEngineMonitor::EPEMessageInvalidSpeedDial:
-            return MESSAGE("EPEMessageInvalidSpeedDial"); 
         case MEngineMonitor::EPEMessageDataPortLoaned:
             return MESSAGE("EPEMessageDataPortLoaned");
             
@@ -562,8 +551,6 @@
             return MESSAGE("EPEMessageInValidEmergencyNumber");
         case MEngineMonitor::EPEMessageValidEmergencyNumber:
             return MESSAGE("EPEMessageValidEmergencyNumber");
-        case MEngineMonitor::EPEMessagePhoneIdentityReady:
-            return MESSAGE("EPEMessagePhoneIdentityReady");
         case MEngineMonitor::EPEMessageStartATDialing:
             return MESSAGE("EPEMessageStartATDialing");
         case MEngineMonitor::EPEMessageLogEventSaved:
@@ -608,13 +595,13 @@
             return MESSAGE("EPEMessageRemoteHeld");
         case MEngineMonitor::EPEMessageRemoteResumed:
             return MESSAGE("EPEMessageRemoteResumed");
-        case MEngineMonitor::EPEMessageShowVersion:
-            return MESSAGE("EPEMessageShowVersion");
         case MEngineMonitor::EPEMessageTempClirSuppressUnsuccessful:
             return MESSAGE("EPEMessageTempClirSuppressUnsuccessful");
         case MEngineMonitor::EPEMessageTempClirActivationUnsuccessful:
             return MESSAGE("EPEMessageTempClirActivationUnsuccessful");
-
+        case MEngineMonitor::EPEMessageOutgoingCallBarred:
+            return MESSAGE("EPEMessageOutgoingCallBarred");
+            
         // Contact messages                       11400 - 11599
 
         // Error messages                         11600 - 11799
@@ -634,8 +621,6 @@
             return MESSAGE("EPEMessageActivateRfsDeep");
         case MEngineMonitor::EPEMessageActivateRfsNormal:
             return MESSAGE("EPEMessageActivateRfsNormal");
-        case MEngineMonitor::EPEMessageActivateWarrantyMode:
-            return MESSAGE("EPEMessageActivateWarrantyMode");
         case MEngineMonitor::EPEMessageIssuedSSRequest:
             return MESSAGE("EPEMessageIssuedSSRequest");
         case MEngineMonitor::EPEMessageIssuingSSRequest:
@@ -931,6 +916,12 @@
             }
         }
 
+    if ( message == MEngineMonitor::EPEMessageOutgoingCallBarred )
+        {
+        iEngineInfo->SetOutgoingCallBarringActivated( ETrue );
+        message = KPEDontSendMessage;
+        }
+    
     if ( ( message == MEngineMonitor::EPEMessageIncoming ) )
         {
         if ( FeatureManager::FeatureSupported( KFeatureIdDriveMode ) )
@@ -968,6 +959,7 @@
             "PE cpephonemodel::sendmessage > iEngineMonitor.HandleError: messageName=%s, CallId=%d",
         messageName2.Ptr( ), aCallId );
         #endif
+        SetCallError( aCallId );
         TPEErrorInfo errorInfo;
         errorInfo.iErrorCode = errorCode;
         errorInfo.iCallId = aCallId;
@@ -980,16 +972,25 @@
             KTAERROR, 
             "PE cpephonemodel::sendmessage > iEngineMonitor.HandleError: messageName=EPEMessageCallHandlingError, CallId=%d"
         , aCallId );
-        TPEErrorInfo errorInfo = iEngineInfo->ErrorInfo();
-        errorInfo.iCallId = aCallId;
-        errorInfo.iErrorType = EPECcp;
-        iEngineMonitor.HandleError( errorInfo );
+        SetCallError( aCallId );
+	    TPEErrorInfo errorInfo = iEngineInfo->ErrorInfo();
+    	errorInfo.iCallId = aCallId;
+    	errorInfo.iErrorType = EPECcp;
+
+        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 )
         {
         TEFLOGSTRING( 
             KTAERROR, 
             "PE cpephonemodel::sendmessage > iEngineMonitor.HandleError: messageName=EPEMessageServiceHandlingError" );
+        SetCallError( aCallId );
         TPEErrorInfo errorInfo = iEngineInfo->ErrorInfo();
         errorInfo.iCallId = aCallId;
         errorInfo.iErrorType = EPECch;
@@ -1024,12 +1025,6 @@
             static_cast<MEngineMonitor::TPEMessagesFromPhoneEngine>( message ), 
             aCallId );
         }
-
-        if( iParserRecognizer )
-            {
-            iParserRecognizer->sendMessage( aMessage, aCallId );
-            }
-
     }// SendMessage( 2 params )
 
 // -----------------------------------------------------------------------------
@@ -1111,6 +1106,8 @@
                 {
                 errorCode = iMessageHandler->ContinueSwitchToCall( aCallId );
                 }
+            
+            iEngineInfo->SetOutgoingCallBarringActivated( EFalse );
             break;
 
         case MEngineMonitor::EPEMessageRemoteBusy:
@@ -1168,10 +1165,6 @@
             errorCode = iMessageHandler->HandleDtmfSent();
             break;
 
-        case MEngineMonitor::EPEMessageActivateWarrantyMode:
-            errorCode = iMessageHandler->HandleGetLifeTimerData( );
-            break;
-          
         case MEngineMonitor::EPEMessageStartATDialing:
             errorCode = iMessageHandler->HandleDialCall( EFalse );
             iMessageHandler->HandleATDialingStarted( errorCode ? EFalse : ETrue );
@@ -1214,7 +1207,7 @@
             break;
             
         case MEngineMonitor::EPEMessageRemotePartyInfoChanged:
-            iMessageHandler->HandleRemotePartyInfoChanged( );
+            iMessageHandler->HandleRemotePartyInfoChanged( aCallId );
             break;    
 
         default:
@@ -1236,24 +1229,41 @@
     TEFLOGSTRING( KTAOBJECT, "CPEPhoneModel::DelayMessageSending" );
         
     TBool sendingDelayed( EFalse );
-    
-    if ( MEngineMonitor::EPEMessageInitiatedEmergencyCall == aMessage )
+        
+    switch ( aMessage )
         {
-        iEngineInfo->SetIsSwitchToOperationOngoing( EFalse );
-        if ( iCallStackCutter )
+        case MEngineMonitor::EPEMessageInitiatedEmergencyCall:
             {
-            delete iCallStackCutter;
-            iCallStackCutter = NULL;
+            iEngineInfo->SetIsSwitchToOperationOngoing( EFalse );  
+            sendingDelayed = ETrue;            
+            }
+            break;
+        case MEngineMonitor::EPEMessageColpNumberAvailable:
+            {              
+            sendingDelayed = ETrue;            
             }
-        TRAPD( err, iCallStackCutter = CIdle::NewL( CActive::EPriorityHigh ) );
-        if ( !err )
-            {
-            iCallBackMessage = aMessage; 
-            iCallBackCallId  = aCallId;
-            iCallStackCutter->Start( TCallBack( CallBackMessageSend , this ) );
-            }
-        sendingDelayed = ETrue;        
+            break;
+        default:
+            // Other messages cause no action.
+            break;
         }
+    
+        if ( sendingDelayed )
+            {        
+            if ( iCallStackCutter )
+                {
+                delete iCallStackCutter;
+                iCallStackCutter = NULL;
+                }
+            TRAPD( err, iCallStackCutter = CIdle::NewL( CActive::EPriorityHigh ) );
+            if ( !err )
+                {
+                iCallBackMessage = aMessage; 
+                iCallBackCallId  = aCallId;
+                iCallStackCutter->Start( TCallBack( CallBackMessageSend , this ) );
+                }
+            }                
+        
     return sendingDelayed;
     }
 
@@ -1417,20 +1427,11 @@
             TEFLOGSTRING( KTAOBJECT, "CPEPhoneModel::StepL: 16.1" );
             __ASSERT_DEBUG( iMessageHandler, Panic( EPEPanicNullPointer ) );
             __ASSERT_DEBUG( iEngineInfo, Panic( EPEPanicNullPointer ) );
-            iPhoneServices = new PhoneServices(
-                *iMessageHandler, *iEngineInfo, *iMessageHandler);
+            iPhoneServices = new PhoneServices(*iMessageHandler, *iEngineInfo);
             TEFLOGSTRING( KTAOBJECT, "CPEPhoneModel::StepL: 16.2" );
             break;
             }
 
-        case CPEPhoneModel::EPEParserRecognizer:
-            {
-            TEFLOGSTRING( KTAOBJECT, "CPEPhoneModel::StepL: 17.1" );
-            iParserRecognizer = new ParserRecognizer;
-            TEFLOGSTRING( KTAOBJECT, "CPEPhoneModel::StepL: 17.2" );
-            break;
-            }
-            
         case CPEPhoneModel::EPENetworkHandling:
             {
             TEFLOGSTRING( KTAOBJECT, "CPEPhoneModel::StepL: 18.1" );
@@ -1493,9 +1494,6 @@
     TEFLOGSTRING( KTAOBJECT, 
         "PE CPEPhoneModel::ConstructContactHandlingPhaseTwo, complete" );
     SendMessage( MEngineMonitor::EPEMessagePEConstructionTwoPhaseReady );   
-    // not need any more
-    delete iIdleStatusMonitor; 
-    iIdleStatusMonitor = NULL; 
     }
 
 // -----------------------------------------------------------------------------
@@ -1514,4 +1512,23 @@
     return KErrNone;
     }
 
+// -----------------------------------------------------------------------------
+// SetCallError
+// -----------------------------------------------------------------------------
+//
+void CPEPhoneModel::SetCallError( TInt aCallId )
+    {
+    TInt callError = KErrNone;
+    if ( iCallHandling )
+        {
+        TInt err = iCallHandling->GetCallInfo( *iCallInfo, aCallId );
+        
+        if ( err == KErrNone && ( iCallInfo->iExitCode & 0xFFFF0000 ) ) 
+            {
+            callError = ( iCallInfo->iExitCode >> KTimesToSplitValue ); 
+            //Set protocol spesific error code to TPEErrorInfo
+            EngineInfo()->SetProtocolError( callError, aCallId );
+            }
+        }
+    }
 // End of File
--- a/phoneengine/phonemodel/src/cpeprofilesettingmonitor.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneengine/phonemodel/src/cpeprofilesettingmonitor.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -23,6 +23,7 @@
 #include <mpedatastore.h>
 #include <MProfileExtraTones.h>
 #include <talogger.h>
+#include <ProfileEngineInternalCRKeys.h>
 
 
 /////////////////////////////////////////////////////////////////////////
@@ -63,7 +64,8 @@
 //
 CPEProfileSettingMonitor::CPEProfileSettingMonitor(
         MPEPhoneModelInternal& aModel
-        ) : iModel( aModel )
+        ) : CPECenRepMonitor( KProEngSilenceMode ), 
+            iModel( aModel )
     {
     }
 
@@ -78,7 +80,8 @@
     iProfileEngine = CreateProfileEngineL();
     
     // Retrieve current profile settings    
-    GetProfileSettingsL();
+
+    BaseConstructL( KCRUidProfileEngine );
     
     iModel.SendMessage( MEngineMonitor::EPEMessageProfileChanged ); 
     
@@ -121,8 +124,18 @@
     const TProfileToneSettings& toneSettings = activeTones.ToneSettings();  
     
     // Get ringing type and volume and keypad volume
-    TProfileRingingType ringingType = toneSettings.iRingingType;    
-    iModel.DataStore()->SetRingingType( static_cast<TProfileRingingType>( ringingType ) );
+    TProfileRingingType ringingType = toneSettings.iRingingType;
+    
+    TInt silentVolume(0);
+    if ( KErrNone == Get(silentVolume) && silentVolume )
+        {
+        iModel.DataStore()->SetRingingType(EProfileRingingTypeSilent);
+        }
+    else 
+        {
+        iModel.DataStore()->SetRingingType( static_cast<TProfileRingingType>( ringingType ) );
+        }
+    
     iModel.DataStore()->SetRingingVolume( toneSettings.iRingingVolume );
     iModel.DataStore()->SetTextToSpeech( toneSettings.iTextToSpeech );
                   
@@ -150,6 +163,19 @@
     }
 
 // -----------------------------------------------------------------------------
+// CPEProfileSettingMonitor::UpdateL
+// Callback function - implements virtual function from CPECenRepMonitor
+// This is called whenever cr settings change
+// -----------------------------------------------------------------------------
+//
+void CPEProfileSettingMonitor::UpdateL()
+    {
+    TEFLOGSTRING( KTAINT, "PE CPEProfileSettingMonitor::UpdateL" );
+    GetProfileSettingsL();
+    iModel.SendMessage( MEngineMonitor::EPEMessageProfileChanged );
+    }
+
+// -----------------------------------------------------------------------------
 // CPEProfileSettingMonitor::HandleActiveProfileEventL
 // Callback function - implements virtual function from MProfileChangeObserver
 // This is called whenever profiles settings change
--- a/phoneengine/phoneservices/bwins/phoneservicesu.def	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneengine/phoneservices/bwins/phoneservicesu.def	Thu Jul 22 16:33:21 2010 +0100
@@ -1,8 +1,8 @@
 EXPORTS
 	??_EPhoneServices@@UAE@I@Z @ 1 NONAME ; PhoneServices::~PhoneServices(unsigned int)
 	?tr@PhoneServices@@SA?AVQString@@PBD0H@Z @ 2 NONAME ; class QString PhoneServices::tr(char const *, char const *, int)
-	??1PhoneServices@@UAE@XZ @ 3 NONAME ; PhoneServices::~PhoneServices(void)
-	??0PhoneServices@@QAE@AAVMPECallControlIF@@AAVMPECallSettersIF@@AAVMPEKeySequenceRecognitionIF@@PAVQObject@@@Z @ 4 NONAME ; PhoneServices::PhoneServices(class MPECallControlIF &, class MPECallSettersIF &, class MPEKeySequenceRecognitionIF &, class QObject *)
+	??0PhoneServices@@QAE@AAVMPECallControlIF@@AAVMPECallSettersIF@@PAVQObject@@@Z @ 3 NONAME ; PhoneServices::PhoneServices(class MPECallControlIF &, class MPECallSettersIF &, class QObject *)
+	??1PhoneServices@@UAE@XZ @ 4 NONAME ; PhoneServices::~PhoneServices(void)
 	?trUtf8@PhoneServices@@SA?AVQString@@PBD0H@Z @ 5 NONAME ; class QString PhoneServices::trUtf8(char const *, char const *, int)
 	?metaObject@PhoneServices@@UBEPBUQMetaObject@@XZ @ 6 NONAME ; struct QMetaObject const * PhoneServices::metaObject(void) const
 	?trUtf8@PhoneServices@@SA?AVQString@@PBD0@Z @ 7 NONAME ; class QString PhoneServices::trUtf8(char const *, char const *)
--- a/phoneengine/phoneservices/eabi/phoneservicesu.def	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneengine/phoneservices/eabi/phoneservicesu.def	Thu Jul 22 16:33:21 2010 +0100
@@ -3,8 +3,8 @@
 	_ZN13PhoneServices11qt_metacastEPKc @ 2 NONAME
 	_ZN13PhoneServices16staticMetaObjectE @ 3 NONAME DATA 16
 	_ZN13PhoneServices19getStaticMetaObjectEv @ 4 NONAME
-	_ZN13PhoneServicesC1ER16MPECallControlIFR16MPECallSettersIFR27MPEKeySequenceRecognitionIFP7QObject @ 5 NONAME
-	_ZN13PhoneServicesC2ER16MPECallControlIFR16MPECallSettersIFR27MPEKeySequenceRecognitionIFP7QObject @ 6 NONAME
+	_ZN13PhoneServicesC1ER16MPECallControlIFR16MPECallSettersIFP7QObject @ 5 NONAME
+	_ZN13PhoneServicesC2ER16MPECallControlIFR16MPECallSettersIFP7QObject @ 6 NONAME
 	_ZN13PhoneServicesD0Ev @ 7 NONAME
 	_ZN13PhoneServicesD1Ev @ 8 NONAME
 	_ZN13PhoneServicesD2Ev @ 9 NONAME
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phoneservices/inc/ctiurischemeparser.h	Thu Jul 22 16:33:21 2010 +0100
@@ -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 <QObject>
+#include <QString>
+#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
--- a/phoneengine/phoneservices/inc/dialservice.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneengine/phoneservices/inc/dialservice.h	Thu Jul 22 16:33:21 2010 +0100
@@ -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<XQAiwRequest> request(appManager.create(service, interface, operation, false));
+*            if (request == NULL) {
+*                //Service not found 
+*            }
+*            QList<QVariant> 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
--- a/phoneengine/phoneservices/inc/dtmfservice.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneengine/phoneservices/inc/dtmfservice.h	Thu Jul 22 16:33:21 2010 +0100
@@ -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<XQAiwRequest> request(appManager.create(service, interface, operation, false));
+*            if (request == NULL) {
+*                //Service not found 
+*            }
+*            QList<QVariant> 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);
 
--- a/phoneengine/phoneservices/inc/keysequencerecognitionservice.h	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,69 +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:  Provides key sequence recognition and execution services.
-*
-*/
-
-#ifndef KEYSEQUENCERECOGNITIONSERVICE_H
-#define KEYSEQUENCERECOGNITIONSERVICE_H
-
-#include <QObject>
-#include <QString>
-#include <xqserviceprovider.h>
-
-class MPEKeySequenceRecognitionIF;
-
-class KeySequenceRecognitionService : public XQServiceProvider
-{
-    Q_OBJECT
-
-public:
-
-    KeySequenceRecognitionService(
-        MPEKeySequenceRecognitionIF &keySequenceRecognizer,
-        QObject *parent = 0);
-    
-    ~KeySequenceRecognitionService();
-    
-public slots:
-    
-    /*!
-        \fn executeKeySequence(const QString& keySequence)
-        
-        Client can use this method to execute key sequence recognition.
-        Key sequence may contain for example product codes etc. that
-        may cause lower layers to do any specific things.
-
-        If sequence isn't recognized this method doesn't do anything.
-        If sequence is recognized then task related to the code is executed.
-        \param  keySequence          Key sequence to execute.
-        \return True if key sequence was processed, false otherwise.
-        
-        Usage example:
-        XQServiceRequest request(
-            "com.nokia.symbian.IDtmfPlay",
-            "executeKeySequence(QString)",
-            true);
-        request << "*#0000#";
-        QVariant keySequenceProcessed;
-        bool requestOk = request.send(keySequenceProcessed);
-    */
-    bool executeKeySequence(const QString &keySequence);
-    
-private:
-    
-    MPEKeySequenceRecognitionIF &m_keySequenceRecognizer;
-};
-
-#endif // KEYSEQUENCERECOGNITIONSERVICE_H
--- a/phoneengine/phoneservices/inc/keysequencerecognitionservicedepricated.h	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,71 +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:  Provides key sequence recognition and execution services.
-*               THIS IS DEPRICATED API - DO NOT USE!
-*               (use KeySequenceRecognitionService instead)
-*
-*/
-
-#ifndef KEYSEQUENCERECOGNITIONSERVICEDEPRICATED_H
-#define KEYSEQUENCERECOGNITIONSERVICEDEPRICATED_H
-
-#include <QObject>
-#include <QString>
-#include <xqserviceprovider.h>
-
-class MPEKeySequenceRecognitionIF;
-
-class KeySequenceRecognitionServiceDepricated : public XQServiceProvider
-{
-    Q_OBJECT
-
-public:
-
-    KeySequenceRecognitionServiceDepricated(
-        MPEKeySequenceRecognitionIF &keySequenceRecognizer,
-        QObject *parent = 0);
-    
-    ~KeySequenceRecognitionServiceDepricated();
-    
-public slots:
-    
-    /*!
-        \fn executeKeySequence(const QString& keySequence)
-        
-        Client can use this method to execute key sequence recognition.
-        Key sequence may contain for example product codes etc. that
-        may cause lower layers to do any specific things.
-
-        If sequence isn't recognized this method doesn't do anything.
-        If sequence is recognized then task related to the code is executed.
-        \param  keySequence          Key sequence to execute.
-        \return True if key sequence was processed, false otherwise.
-        
-        Usage example:
-        XQServiceRequest request(
-            "com.nokia.services.telephony",
-            "executeKeySequence(QString)",
-            true);
-        request << "*#0000#";
-        QVariant keySequenceProcessed;
-        bool requestOk = request.send(keySequenceProcessed);
-    */
-    bool executeKeySequence(const QString &keySequence);
-    
-private:
-    
-    MPEKeySequenceRecognitionIF &m_keySequenceRecognizer;
-};
-
-#endif // KEYSEQUENCERECOGNITIONSERVICEDEPRICATED_H
--- a/phoneengine/phoneservices/inc/phoneservices.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneengine/phoneservices/inc/phoneservices.h	Thu Jul 22 16:33:21 2010 +0100
@@ -24,13 +24,11 @@
 
 class DialService;
 class DTMFService;
-class MPEKeySequenceRecognitionIF;
-class KeySequenceRecognitionService;
+class UriSchemeHandlerService;
 
 // Depricated APIs
 class DialServiceDepricated;
 class DTMFServiceDepricated;
-class KeySequenceRecognitionServiceDepricated;
 
 #ifdef BUILD_PHONESERVICES
 #define PHONESERVICES_EXPORT Q_DECL_EXPORT
@@ -45,19 +43,17 @@
     PhoneServices(
         MPECallControlIF &call, 
         MPECallSettersIF &parameters,
-        MPEKeySequenceRecognitionIF &keySequenceRecognition,
         QObject *parent = 0);
     ~PhoneServices();    
     
 private:
     QScopedPointer<DialService> dialService;
     QScopedPointer<DTMFService> dtmfService;
-    QScopedPointer<KeySequenceRecognitionService> m_keySequenceRecognitionService;
-
+    QScopedPointer<UriSchemeHandlerService> uriSchemeHandlerService;
+    
     // Depricated
     QScopedPointer<DialServiceDepricated> dialServiceDepricated;
     QScopedPointer<DTMFServiceDepricated> dtmfServiceDepricated;
-    QScopedPointer<KeySequenceRecognitionServiceDepricated> m_keySequenceRecognitionServiceDepricated;
 };
 
 #endif // PHONESERVICES_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phoneservices/inc/telurischemeparser.h	Thu Jul 22 16:33:21 2010 +0100
@@ -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 <QObject>
+#include <QString>
+#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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phoneservices/inc/urischemehandlerservice.h	Thu Jul 22 16:33:21 2010 +0100
@@ -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 <QObject>
+#include <QString>
+#include <xqserviceprovider.h>
+
+class MPECallControlIF;
+class MPECallSettersIF;
+class UriSchemeParser;
+
+class UriSchemeHandlerService : public XQServiceProvider
+{
+    Q_OBJECT
+
+public:
+    UriSchemeHandlerService(
+        MPECallControlIF &call, 
+        MPECallSettersIF &parameters, 
+        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<XQAiwRequest> request(mAiwMgr.create(telUri));
+        if (request.isNull()) {
+            // no handlers for the URI
+            return;
+        }
+        
+        QList<QVariant> 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<UriSchemeParser*> m_parsers;
+};
+
+#endif // URISCHEMEHANDLERSERVICE_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phoneservices/inc/urischemeparser.h	Thu Jul 22 16:33:21 2010 +0100
@@ -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 <QObject>
+#include <QString>
+
+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
--- a/phoneengine/phoneservices/phoneservices.pri	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneengine/phoneservices/phoneservices.pri	Thu Jul 22 16:33:21 2010 +0100
@@ -18,19 +18,23 @@
     ./src/phoneservices.cpp \
     ./src/dialservice.cpp \
     ./src/dtmfservice.cpp \
-    ./src/keysequencerecognitionservice.cpp \
     ./src/dialservicedepricated.cpp \
     ./src/dtmfservicedepricated.cpp \
-    ./src/keysequencerecognitionservicedepricated.cpp
+    ./src/urischemehandlerservice.cpp \
+    ./src/urischemeparser.cpp \
+    ./src/telurischemeparser.cpp \
+    ./src/ctiurischemeparser.cpp
 
 HEADERS=\
     ./inc/phoneservices.h \
     ./inc/dialservice.h \
     ./inc/dtmfservice.h \
-    ./inc/keysequencerecognitionservice.h \
     ./inc/dialservicedepricated.h \
     ./inc/dtmfservicedepricated.h \
-    ./inc/keysequencerecognitionservicedepricated.h
+    ./inc/urischemehandlerservice.h \
+    ./inc/urischemeparser.h \
+    ./inc/telurischemeparser.h \
+    ./inc/ctiurischemeparser.h
     
 PHONESERVICES_API_HEADERS=\
 		./inc/phoneservices.h
--- a/phoneengine/phoneservices/phoneservices.pro	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneengine/phoneservices/phoneservices.pro	Thu Jul 22 16:33:21 2010 +0100
@@ -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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phoneservices/src/ctiurischemeparser.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -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 <QRegExp>
+#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);
+}
--- a/phoneengine/phoneservices/src/dialservice.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneengine/phoneservices/src/dialservice.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -18,14 +18,23 @@
 #include <xqserviceutil.h>
 #include <e32base.h>
 #include <qregexp.h>
+#include <featmgr.h>
+#include <settingsinternalcrkeys.h>
+#include <xqsettingsmanager.h>
 #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 &parameters, 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<const TUint16*>(simplifiedNumber.utf16()));
+    QString phoneNumber = modifyPhoneNumber(number);
+    TPtrC16 numberPtr(reinterpret_cast<const TUint16*>(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<const TUint16*>(simplifiedNumber.utf16()));
+    QString phoneNumber = modifyPhoneNumber(number);
+    TPtrC16 numberPtr (reinterpret_cast<const TUint16*>(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<const TUint16*>(simplifiedNumber.utf16()));
+    QString phoneNumber = modifyPhoneNumber(number);
+    TPtrC16 numberPtr(reinterpret_cast<const TUint16*>(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<const TUint16*>(simplifiedNumber.utf16()));
+    QString phoneNumber = modifyPhoneNumber(number);
+    TPtrC16 numberPtr (reinterpret_cast<const TUint16*>(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;
+}
--- a/phoneengine/phoneservices/src/keysequencerecognitionservice.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,60 +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:  Provides key sequence recognition and execution services.
-*
-*/
-
-#include <QDebug>
-#include <xqserviceutil.h>
-#include <e32base.h>
-#include "keysequencerecognitionservice.h"
-#include "mpekeysequencerecognitionif.h"
-
-/*!
-  KeySequenceRecognitionService::KeySequenceRecognitionService.
- */
-KeySequenceRecognitionService::KeySequenceRecognitionService(
-    MPEKeySequenceRecognitionIF &keySequenceRecognizer,
-    QObject* parent) 
-    : 
-    XQServiceProvider(
-        QLatin1String("com.nokia.symbian.IDtmfPlay"), parent),
-        m_keySequenceRecognizer(keySequenceRecognizer)
-{
-    publishAll();
-}
-
-
-/*!
-  KeySequenceRecognitionService::~KeySequenceRecognitionService.
- */
-KeySequenceRecognitionService::~KeySequenceRecognitionService()
-{
-}
-
-
-/*!
-  KeySequenceRecognitionService::executeKeySequence.
- */
-bool KeySequenceRecognitionService::executeKeySequence(
-    const QString &keySequence)
-{
-    TPtrC16 keySequencePtr(
-        reinterpret_cast<const TUint16*>(keySequence.utf16()));
-    bool sequenceProcessed = false;
-    TRAPD(leaveCode, sequenceProcessed = static_cast<bool>(
-        m_keySequenceRecognizer.ExecuteKeySequenceL(keySequencePtr)));
-    sequenceProcessed = (KErrNone == leaveCode) ? sequenceProcessed : false;
-    return sequenceProcessed;
-}
--- a/phoneengine/phoneservices/src/keysequencerecognitionservicedepricated.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,60 +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:  Provides key sequence recognition and execution services.
-*
-*/
-
-#include <QDebug>
-#include <xqserviceutil.h>
-#include <e32base.h>
-#include "keysequencerecognitionservicedepricated.h"
-#include "mpekeysequencerecognitionif.h"
-
-/*!
-  KeySequenceRecognitionServiceDepricated::KeySequenceRecognitionServiceDepricated.
- */
-KeySequenceRecognitionServiceDepricated::KeySequenceRecognitionServiceDepricated(
-    MPEKeySequenceRecognitionIF &keySequenceRecognizer,
-    QObject* parent) 
-    : 
-    XQServiceProvider(
-        QLatin1String("com.nokia.services.telephony"), parent),
-        m_keySequenceRecognizer(keySequenceRecognizer)
-{
-    publishAll();
-}
-
-
-/*!
-  KeySequenceRecognitionServiceDepricated::~KeySequenceRecognitionServiceDepricated.
- */
-KeySequenceRecognitionServiceDepricated::~KeySequenceRecognitionServiceDepricated()
-{
-}
-
-
-/*!
-  KeySequenceRecognitionServiceDepricated::executeKeySequence.
- */
-bool KeySequenceRecognitionServiceDepricated::executeKeySequence(
-    const QString &keySequence)
-{
-    TPtrC16 keySequencePtr(
-        reinterpret_cast<const TUint16*>(keySequence.utf16()));
-    bool sequenceProcessed = false;
-    TRAPD(leaveCode, sequenceProcessed = static_cast<bool>(
-        m_keySequenceRecognizer.ExecuteKeySequenceL(keySequencePtr)));
-    sequenceProcessed = (KErrNone == leaveCode) ? sequenceProcessed : false;
-    return sequenceProcessed;
-}
--- a/phoneengine/phoneservices/src/phoneservices.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneengine/phoneservices/src/phoneservices.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -18,41 +18,35 @@
 #include "phoneservices.h"
 #include "dialservice.h"
 #include "dtmfservice.h"
-#include "mpekeysequencerecognitionif.h"
-#include "keysequencerecognitionservice.h"
+#include "urischemehandlerservice.h"
 #include "qtphonelog.h"
 
 // Depricated APIs
 #include "dialservicedepricated.h"
 #include "dtmfservicedepricated.h"
-#include "keysequencerecognitionservicedepricated.h"
 
 PhoneServices::PhoneServices(
     MPECallControlIF &call, 
     MPECallSettersIF &parameters, 
-    MPEKeySequenceRecognitionIF &keySequenceRecognition,
     QObject* parent) 
     : 
     QObject(parent),
     dialService(0),
     dtmfService(0),
-    m_keySequenceRecognitionService(0)
+    uriSchemeHandlerService(0)
     // Depricated
     , dialServiceDepricated(0)
     , dtmfServiceDepricated(0)
-    , m_keySequenceRecognitionServiceDepricated(0)
 {
     PHONE_DEBUG("PhoneServices::PhoneServices");
     dialService.reset(new DialService(call, parameters));
     dtmfService.reset(new DTMFService(call, parameters));
-    m_keySequenceRecognitionService.reset( 
-        new KeySequenceRecognitionService(keySequenceRecognition));
-
+    uriSchemeHandlerService.reset(
+        new UriSchemeHandlerService(call, parameters));
+    
     // Depricated
     dialServiceDepricated.reset(new DialServiceDepricated(call, parameters));
     dtmfServiceDepricated.reset(new DTMFServiceDepricated(call, parameters));
-    m_keySequenceRecognitionServiceDepricated.reset( 
-        new KeySequenceRecognitionServiceDepricated(keySequenceRecognition));
 }
 
 PhoneServices::~PhoneServices()
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phoneservices/src/telurischemeparser.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -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 <QRegExp>
+#include <QStringList>
+#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);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phoneservices/src/urischemehandlerservice.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -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 <HbMessageBox>
+#include <HbDeviceMessageBox>
+#include <e32capability.h>
+#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 &parameters, QObject* parent)
+    : 
+    XQServiceProvider(
+        QLatin1String("phoneui.com.nokia.symbian.IUriView"), parent),
+    m_callControlIf(call),
+    m_callParameters(parameters)
+{
+    PHONE_DEBUG("UriSchemeHandlerService::UriSchemeHandlerService");
+    
+    publishAll();
+    
+    QScopedPointer<UriSchemeParser> telUriParser( 
+        new TelUriSchemeParser(this));
+    m_parsers.append(telUriParser.data());
+    telUriParser.take();
+    
+    QScopedPointer<UriSchemeParser> 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<UriSchemeParser*>::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<int> capabilities = requestInfo().clientCapabilities();
+    return (capabilities.contains(ECapabilityNetworkServices) &&
+            capabilities.contains(ECapabilityNetworkControl));
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phoneservices/src/urischemeparser.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -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 <QRegExp>
+#include <pevirtualengine.h>
+#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;
+}
--- a/phoneengine/phoneservices/tsrc/runtests.bat	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneengine/phoneservices/tsrc/runtests.bat	Thu Jul 22 16:33:21 2010 +0100
@@ -28,6 +28,14 @@
 \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_keysequencerecognitionservice.log
-\epoc32\release\winscw\udeb\ut_keysequencerecognitionservice.exe -o ut_keysequencerecognitionservice.log
-type \epoc32\winscw\c\private\E31F4ECF\ut_keysequencerecognitionservice.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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phoneservices/tsrc/shared/mock_ctiurischemeparser.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -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 <QDebug>
+#include <smcmockclassincludes.h>
+#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)
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phoneservices/tsrc/shared/mock_hbdevicemessagebox.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -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 <QDebug>
+#include <smcmockclassincludes.h>
+#include <hbdevicemessagebox.h>
+#include <QAction>
+
+// ============================ 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 )
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phoneservices/tsrc/shared/mock_mpecallcontrolif.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -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 <smcmockclassincludes.h>
+#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 )
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phoneservices/tsrc/shared/mock_mpecallcontrolif.h	Thu Jul 22 16:33:21 2010 +0100
@@ -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 <e32base.h>
+#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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phoneservices/tsrc/shared/mock_mpecallsettersif.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -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 <smcmockclassincludes.h>
+#include "mock_mpecallsettersif.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CPECallSettersIFMock::SetKeyCode
+// -----------------------------------------------------------------------------
+//
+void CPECallSettersIFMock::SetKeyCode( 
+        const TChar & aKeyCode )
+    {
+    SMC_MOCK_METHOD1( void, const TUint &, static_cast<TUint>(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 )
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phoneservices/tsrc/shared/mock_mpecallsettersif.h	Thu Jul 22 16:33:21 2010 +0100
@@ -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 <pevirtualengine.h>
+#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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phoneservices/tsrc/shared/mock_telurischemeparser.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -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 <QDebug>
+#include <smcmockclassincludes.h>
+#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)
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phoneservices/tsrc/shared/mock_urischemeparser.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -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 <QDebug>
+#include <smcmockclassincludes.h>
+#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)
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phoneservices/tsrc/shared/mock_xqrequestinfo.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -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 <QDebug>
+#include <QStringList>
+#include <QSet>
+#include <smcmockclassincludes.h>
+#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 <int > XQRequestInfo::clientCapabilities(  ) const
+    {
+    SMC_MOCK_METHOD0( QSet <int > )
+    }
+
+
+// -----------------------------------------------------------------------------
+// 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 )
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phoneservices/tsrc/shared/mock_xqserviceprovider.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -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 <QDebug>
+#include <smcmockclassincludes.h>
+#include <xqserviceprovider.h>
+#include <xqrequestinfo.h>
+
+// ============================ 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 )
+    }
+
+
--- a/phoneengine/phoneservices/tsrc/unit.pro	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneengine/phoneservices/tsrc/unit.pro	Thu Jul 22 16:33:21 2010 +0100
@@ -19,4 +19,6 @@
 SUBDIRS += ut_phoneservices
 SUBDIRS += ut_dialservice
 SUBDIRS += ut_dtmfservice
-SUBDIRS += ut_keysequencerecognitionservice
+SUBDIRS += ut_ctiurischemeparser
+SUBDIRS += ut_telurischemeparser
+SUBDIRS += ut_urischemehandlerservice
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phoneservices/tsrc/ut_ctiurischemeparser/unit_tests.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -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 <QtTest/QtTest>
+#include <mockservice.h>
+#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"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phoneservices/tsrc/ut_ctiurischemeparser/ut_ctiurischemeparser.pro	Thu Jul 22 16:33:21 2010 +0100
@@ -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
+}
--- a/phoneengine/phoneservices/tsrc/ut_dialservice/ut_dialservice.pro	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneengine/phoneservices/tsrc/ut_dialservice/ut_dialservice.pro	Thu Jul 22 16:33:21 2010 +0100
@@ -35,7 +35,9 @@
 
     LIBS += -lxqservice \
             -lxqserviceutil \
-            -lphoneuicontrol
+            -lphoneuicontrol \
+            -lfeatmgr \
+            -lxqsettingsmanager
 
     TARGET.CAPABILITY = ALL -TCB
 }
--- a/phoneengine/phoneservices/tsrc/ut_keysequencerecognitionservice/unit_tests.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,113 +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:  Unit tests for DialService.
-*
-*/
-
-#include <QtTest/QtTest>
-
-#include "mpekeysequencerecognitionif.h"
-#include "keysequencerecognitionservice.h"
-
-class UT_KeySequenceRecognitionService 
-    : 
-    public QObject, public MPEKeySequenceRecognitionIF
-{
-    Q_OBJECT
-    
-public:
-    UT_KeySequenceRecognitionService();
-    virtual ~UT_KeySequenceRecognitionService();
-
-public:
-    TBool ExecuteKeySequenceL(const TDesC16& aSequence);
-    
-private slots:
-    void init();
-    void cleanup();
-    void t_executeKeySequence();
-    void t_notRecognizedKeySequence();
-    void t_leaveDuringExecuteKeySequence();
-
-private:
-    KeySequenceRecognitionService *m_RecognitionService;
-    TBool m_keySequenceExecutionResult;
-    TPtrC16 m_keySequencePtr;
-    int m_leaveSimulationCode;
-};
-
-UT_KeySequenceRecognitionService::UT_KeySequenceRecognitionService()
-    :
-    m_RecognitionService(NULL),
-    m_keySequenceExecutionResult(ETrue), 
-    m_leaveSimulationCode(KErrNone)
-{
-}
-
-UT_KeySequenceRecognitionService::~UT_KeySequenceRecognitionService()
-{
-    delete m_RecognitionService;
-}
-
-TBool UT_KeySequenceRecognitionService::ExecuteKeySequenceL(
-    const TDesC16& aSequence)
-{
-    Q_UNUSED(aSequence)
-    User::LeaveIfError(m_leaveSimulationCode);
-    
-    m_keySequencePtr.Set(aSequence.Ptr());
-    return m_keySequenceExecutionResult;
-}
-
-void UT_KeySequenceRecognitionService::init()
-{
-    m_RecognitionService = new KeySequenceRecognitionService(*this);
-    m_keySequenceExecutionResult = ETrue;
-    m_keySequencePtr.Set(NULL, 0);
-    m_leaveSimulationCode = KErrNone;
-}
-
-void UT_KeySequenceRecognitionService::cleanup()
-{
-    delete m_RecognitionService;
-    m_RecognitionService = NULL;
-}
-
-void UT_KeySequenceRecognitionService::t_executeKeySequence()
-{
-    QString sequence("*#06#");
-    bool result = m_RecognitionService->executeKeySequence(sequence);
-    QCOMPARE(result, true);
-    QVERIFY(
-        m_keySequencePtr == TPtrC16(reinterpret_cast<const TUint16*>(sequence.utf16())));
-}
-
-void UT_KeySequenceRecognitionService::t_notRecognizedKeySequence()
-{
-    m_keySequenceExecutionResult = EFalse;
-    QString sequence("*#abc#");
-    bool result = m_RecognitionService->executeKeySequence(sequence);
-    QCOMPARE(result, false);
-}
-
-void UT_KeySequenceRecognitionService::t_leaveDuringExecuteKeySequence()
-{
-    m_leaveSimulationCode = KErrArgument;
-    QString sequence("abc");
-    bool result = m_RecognitionService->executeKeySequence(sequence);
-    QCOMPARE(result, false);
-}
-
-QTEST_MAIN(UT_KeySequenceRecognitionService)
-#include "unit_tests.moc"
--- a/phoneengine/phoneservices/tsrc/ut_keysequencerecognitionservice/ut_keysequencerecognitionservice.pro	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +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:
-#
-#
-
-TEMPLATE = app
-TARGET = 
-TARGET.UID3 = 0xE31F4ECF
-DEPENDPATH += .
-INCLUDEPATH += .
-CONFIG += qtestlib
-
-QT -= gui
-
-symbian {
-
-    INCLUDEPATH += \epoc32\include\platform \
-                   \epoc32\include\platform\mw \
-                   \epoc32\include\mw \
-                   ../../../../inc
-
-    LIBS += -lxqservice \
-            -lxqserviceutil
-
-    TARGET.CAPABILITY = ALL -TCB
-}
-
-# Input
-HEADERS += ../../inc/keysequencerecognitionservice.h
-SOURCES += ../../src/keysequencerecognitionservice.cpp
-SOURCES += unit_tests.cpp
--- a/phoneengine/phoneservices/tsrc/ut_phoneservices/unit_tests.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneengine/phoneservices/tsrc/ut_phoneservices/unit_tests.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -16,38 +16,34 @@
 */
 
 #include <QtTest/QtTest>
-
-//#include <hbglobal_p.h>
 #include "phoneservices.h"
 #include "dialservice.h"
 #include "dtmfservice.h"
-#include "keysequencerecognitionservice.h"
-#include "mpekeysequencerecognitionif.h"
+#include "urischemehandlerservice.h"
+
+bool g_dialServiceConstructed;
+MPECallControlIF* g_dialServiceCallPointer;
+MPECallSettersIF* g_dialServiceParameterPointer;
 
-bool m_dialServiceConstructed;
-bool m_dtmfServiceConstructed;
-bool g_keySequenceServiceConstructed;
-MPECallControlIF* m_dialServiceCallPointer;
-MPECallSettersIF* m_dialServiceParameterPointer;
-MPEKeySequenceRecognitionIF* g_keySequenceRecognizerParameterPointer;
-MPECallControlIF* m_dtmfServiceCallPointer;
-MPECallSettersIF* m_dtmfServiceParameterPointer;
+bool g_dtmfServiceConstructed;
+MPECallControlIF* g_dtmfServiceCallPointer;
+MPECallSettersIF* g_dtmfServiceParameterPointer;
+
+bool g_uriSchemeHandlerServiceConstructed;
+MPECallControlIF* g_uriSchemeServiceCallPointer;
+MPECallSettersIF* g_uriSchemeServiceParameterPointer;
 
 class TestPhoneServices 
     : 
     public QObject,
     public MPECallControlIF,
-    public MPECallSettersIF,
-    public MPEKeySequenceRecognitionIF
+    public MPECallSettersIF
 {
     Q_OBJECT
 public:
     TestPhoneServices();
     virtual ~TestPhoneServices();    
 
-public:
-    TBool ExecuteKeySequenceL(const TDesC16& aSequence);
-    
 public slots:
     void initTestCase ();
     void cleanupTestCase ();
@@ -86,9 +82,9 @@
 DialService::DialService(MPECallControlIF &call, MPECallSettersIF &parameters, QObject* parent) : 
     XQServiceProvider(QLatin1String("com.nokia.symbian.ICallDial"), parent), m_call (call), m_parameters (parameters)
 {
-    m_dialServiceConstructed = true;
-    m_dialServiceCallPointer = &call;
-    m_dialServiceParameterPointer = &parameters;
+    g_dialServiceConstructed = true;
+    g_dialServiceCallPointer = &call;
+    g_dialServiceParameterPointer = &parameters;
 }
 
 DialService::~DialService()
@@ -97,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 &parameters, QObject* parent) : 
     XQServiceProvider(QLatin1String("com.nokia.symbian.IDtmfPlay"), parent), m_call (call), m_parameters (parameters)
 {
-    m_dtmfServiceConstructed = true;
-    m_dtmfServiceCallPointer = &call;
-    m_dtmfServiceParameterPointer = &parameters;
+    g_dtmfServiceConstructed = true;
+    g_dtmfServiceCallPointer = &call;
+    g_dtmfServiceParameterPointer = &parameters;
 }
 
 DTMFService::~DTMFService()
@@ -158,34 +154,35 @@
 
 void DTMFService::playDTMFTone(const QChar& keyToPlay)
 {
-    Q_UNUSED(keyToPlay);
+    Q_UNUSED(keyToPlay)
 }
 
 void DTMFService::stopDTMFPlay()
 {
 }
 
-KeySequenceRecognitionService::KeySequenceRecognitionService(
-    MPEKeySequenceRecognitionIF &keySequenceRecognizer,
-    QObject* parent) 
+UriSchemeHandlerService::UriSchemeHandlerService(
+    MPECallControlIF &call, MPECallSettersIF &parameters, QObject* parent)
     : 
     XQServiceProvider(
-        QLatin1String("com.nokia.symbian.IDtmfPlay"), parent),
-        m_keySequenceRecognizer(keySequenceRecognizer)
+        QLatin1String("phoneui.com.nokia.symbian.IUriView"), parent),
+    m_callControlIf(call),
+    m_callParameters(parameters)
 {
-    g_keySequenceServiceConstructed = true;
-    g_keySequenceRecognizerParameterPointer = &keySequenceRecognizer;
+    g_uriSchemeHandlerServiceConstructed = true;
+    g_uriSchemeServiceCallPointer = &call;
+    g_uriSchemeServiceParameterPointer = &parameters;
 }
 
-bool KeySequenceRecognitionService::executeKeySequence(
-    const QString &keySequence)
+UriSchemeHandlerService::~UriSchemeHandlerService()
 {
-    Q_UNUSED(keySequence);
-    return true;
+    
 }
 
-KeySequenceRecognitionService::~KeySequenceRecognitionService()
+bool UriSchemeHandlerService::view(const QString &uri)
 {
+    Q_UNUSED(uri)
+    return true;
 }
 
 TestPhoneServices::TestPhoneServices ()
@@ -216,22 +213,26 @@
     m_handlePlayDTMFLCalled = false;
     m_setKeyCodeCalled = false;
     keyValue = -1;
-    m_dialServiceConstructed = false;
-    m_dtmfServiceConstructed = false;
-    g_keySequenceServiceConstructed = false;
+    g_dialServiceConstructed = false;
+    g_dtmfServiceConstructed = false;
     
-    m_phoneServices = new PhoneServices (*this, *this, *this, this);
+    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_keySequenceServiceConstructed == true);
-    QVERIFY(g_keySequenceRecognizerParameterPointer == this);
+    QVERIFY(g_uriSchemeHandlerServiceConstructed == true);
+    QVERIFY(g_uriSchemeServiceCallPointer == this);
+    QVERIFY(g_uriSchemeServiceParameterPointer == this);
 }
 
 void TestPhoneServices::cleanup ()
@@ -239,12 +240,6 @@
     delete m_phoneServices;
 }
 
-TBool TestPhoneServices::ExecuteKeySequenceL(const TDesC16& aSequence)
-{
-    Q_UNUSED(aSequence)
-    return ETrue;
-}
-
 void TestPhoneServices::SetKeyCode( const TChar& aKeyCode )
 {
     m_setKeyCodeCalled = true;
--- a/phoneengine/phoneservices/tsrc/ut_phoneservices/ut_phoneservices.pro	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneengine/phoneservices/tsrc/ut_phoneservices/ut_phoneservices.pro	Thu Jul 22 16:33:21 2010 +0100
@@ -45,12 +45,10 @@
 HEADERS += ../../inc/phoneservices.h
 HEADERS += ../../inc/dialservice.h
 HEADERS += ../../inc/dtmfservice.h
-HEADERS += ../../inc/keysequencerecognitionservice.h
 HEADERS += ../../inc/dialservicedepricated.h
 HEADERS += ../../inc/dtmfservicedepricated.h
-HEADERS += ../../inc/keysequencerecognitionservicedepricated.h
+HEADERS += ../../inc/urischemehandlerservice.h
 SOURCES += ../../src/phoneservices.cpp
 SOURCES += ../../src/dialservicedepricated.cpp
 SOURCES += ../../src/dtmfservicedepricated.cpp
-SOURCES += ../../src/keysequencerecognitionservicedepricated.cpp
 SOURCES += unit_tests.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phoneservices/tsrc/ut_telurischemeparser/unit_tests.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -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 <QtTest/QtTest>
+#include <mockservice.h>
+#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"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phoneservices/tsrc/ut_telurischemeparser/ut_telurischemeparser.pro	Thu Jul 22 16:33:21 2010 +0100
@@ -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
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phoneservices/tsrc/ut_urischemehandlerservice/unit_tests.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -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 <QtTest/QtTest>
+#include <mockservice.h>
+#include <xqrequestinfo.h>
+#include <HbDeviceMessageBox>
+#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<XQRequestInfo>::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<XQRequestInfo>::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<int> 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<int> 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<int> 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<int> 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<int> 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"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phoneservices/tsrc/ut_urischemehandlerservice/ut_urischemehandlerservice.pro	Thu Jul 22 16:33:21 2010 +0100
@@ -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
+}
--- a/phoneplugins/csplugin/inc/cspcall.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneplugins/csplugin/inc/cspcall.h	Thu Jul 22 16:33:21 2010 +0100
@@ -499,11 +499,13 @@
             
         /**
         * From MCSPCallObserver
-        * Notify that remote party info has changed.
-        * @param aRemoteParty new remote party information
+        * Notify that remote party info has changed.        
+        * @param aRemotePartyName new remote party name
+        * @param aRemotePartyNumber new remote party number
         */
-        virtual void NotifyRemotePartyInfoChanged( 
-            const TDesC& aRemoteParty);
+        virtual void NotifyRemotePartyInfoChanged(                
+            const TDesC& aRemotePartyName,
+            const TDesC& aRemotePartyNumber );
 
         /**
         * Open call handle.  
@@ -588,8 +590,14 @@
         * @return system wide error code 
         */
         int UpdateCallState();
+        
+        /**
+         * Sends a remote party info changed notification
+         * if the remote party number has changed. 
+         */
+        void NotifyRemotePartyNumberChanged();
 
-    private: 
+	private: 
 
         enum TCSPCallAudioStatus {
             ECSPCallAudioStatusInactive,
--- a/phoneplugins/csplugin/inc/mcspcallobserver.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneplugins/csplugin/inc/mcspcallobserver.h	Thu Jul 22 16:33:21 2010 +0100
@@ -90,11 +90,14 @@
         
         /**
         * Notify that remote party info has changed.
-        * @param aRemoteParty new remote party information
+        * @param aRemotePartyName new remote party name
+        * @param aRemotePartyNumber new remote party number
         * 
         */
         virtual void NotifyRemotePartyInfoChanged( 
-            const TDesC& aRemoteParty) = 0;
+            const TDesC& aRemotePartyName,
+            const TDesC& aRemotePartyNumber
+        ) = 0;
 
         
     };
--- a/phoneplugins/csplugin/src/cspcall.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneplugins/csplugin/src/cspcall.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -276,6 +276,10 @@
 
             iDontReportTerm = ETrue;
             NotifyCallStateChanged( MCCPCallObserver::ECCPStateConnected );
+            
+            // Agreement with TSY is that the
+            // COLP number is available in connected state.
+            NotifyRemotePartyNumberChanged();            
             break;
             }
         // Indicates that call is disconnecting. (Same as RCall::HangingUp)
@@ -1374,6 +1378,34 @@
     }
 
 // ---------------------------------------------------------------------------
+// CSPCall::NotifyRemotePartyNumberChanged
+//   
+// ---------------------------------------------------------------------------
+//
+void CSPCall::NotifyRemotePartyNumberChanged()
+    {
+    CSPLOGSTRING(CSPINT, "CSPCall::NotifyRemotePartyNumberChanged <");
+    // If COLP number is different from original dialled number
+    // it is available in connected state of a MO call.
+    // TSY does not send notification so number must be fetched.
+    if ( IsMobileOriginated() )
+        {
+        RMobileCall::TMobileCallInfoV3 callInfo;
+        RMobileCall::TMobileCallInfoV3Pckg callInfoPckg( callInfo );
+    
+        GetMobileCallInfo( callInfoPckg );    
+        callInfo = callInfoPckg();
+    
+        if ( callInfo.iRemoteParty.iRemoteNumber.iTelNumber.Length() )
+            {     
+            NotifyRemotePartyInfoChanged( KNullDesC(),
+                callInfo.iRemoteParty.iRemoteNumber.iTelNumber);        
+            }
+        }
+    }
+
+
+// ---------------------------------------------------------------------------
 // CSPCall::CreateCallHandlersL
 // Create call handlers for call related requests and call monitoring  
 // ---------------------------------------------------------------------------
@@ -1801,10 +1833,20 @@
 // CSPCall::NotifyRemotePartyInfoChanged
 // ---------------------------------------------------------------------------
 //
-void CSPCall::NotifyRemotePartyInfoChanged(const TDesC& aRemoteParty) 
+void CSPCall::NotifyRemotePartyInfoChanged( const TDesC& aRemotePartyName,
+                                            const TDesC& aRemotePartyNumber )
     {
     CSPLOGSTRING(CSPREQIN, "CSPCall::NotifyRemotePartyInfoChanged");
-    iRemotePartyName = aRemoteParty;
+    if ( aRemotePartyName.Length() )    
+        {
+        iRemotePartyName = aRemotePartyName;
+        }
+    
+    if ( aRemotePartyNumber.Length() )    
+        {
+        iRemotePartyNumber = aRemotePartyNumber;
+        }
+    
     NotifyCallEventOccurred( MCCPCallObserver::ECCPNotifyRemotePartyInfoChange );
     }
 
--- a/phoneplugins/csplugin/src/cspcallinfomonitor.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneplugins/csplugin/src/cspcallinfomonitor.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -102,7 +102,8 @@
             if ( idStatus == RMobileCall::ERemoteIdentityAvailable) 
                 {
                 iObserver.NotifyRemotePartyInfoChanged(
-                    iRemotePartyInfo.iCallingName);
+                    iRemotePartyInfo.iCallingName,
+                    KNullDesC());
                 }
             else
                 {
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/tsrc/automaticanswertest/automaticanswertest.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,72 @@
+
+#include <hbaction.h>
+#include <hbmenu.h>
+#include <hbpushbutton.h>
+#include <qgraphicslinearlayout.h>
+#include <QDebug>
+#include "etelincomingcallmonitor.h"
+#include "automaticanswertest.h"
+
+
+automaticanswertest::automaticanswertest(QGraphicsItem *parent)
+    : HbView(parent), m_incomingVoiceCallMonitor(NULL)
+{
+    qDebug () << "automaticanswertest::automaticanswertest<<";
+    setTitle(tr("automaticanswer"));
+
+    // Add menu item for automatic answer
+    /*   connect(
+           menu()->addAction("start automatic answer"), SIGNAL(triggered()), 
+           this, SLOT(answer()));*/
+
+    createContent();
+    qDebug () << "automaticanswertest::automaticanswertest>>";
+}
+
+automaticanswertest::~automaticanswertest()
+{
+    delete m_incomingVoiceCallMonitor;
+}
+
+void automaticanswertest::createContent()
+{
+    qDebug () << "automaticanswertest::createContent<<";
+    QGraphicsLinearLayout *mainLayout = new QGraphicsLinearLayout(Qt::Vertical);
+    
+    answering = new HbPushButton(tr("start autom. answer"), this); 
+    connect(answering, SIGNAL(clicked()), this, SLOT(answer()));
+    mainLayout->addItem(answering);
+    stopanswering = new HbPushButton(tr("stop autom. answer"), this); 
+    connect(stopanswering, SIGNAL(clicked()), this, SLOT(stopanswer()));
+    mainLayout->addItem(stopanswering);
+    stopanswering->setEnabled(false); 
+    setLayout(mainLayout);
+}
+
+void automaticanswertest::answer()
+    {
+    qDebug () << "automaticanswertest::answer()<<";
+    if (m_incomingVoiceCallMonitor == NULL)
+        {
+        // Create and start incoming voice call monitor for primary line
+        m_incomingVoiceCallMonitor = new CEtelIncomingCallMonitor();
+        m_incomingVoiceCallMonitor->StartMonitoring();
+        qDebug () << "automaticanswertest::answer()__etelmonitor__started";
+        }
+    else
+        {
+        m_incomingVoiceCallMonitor->StartMonitoring();
+        }
+    stopanswering->setEnabled(true);
+    answering->setEnabled(false);
+    }
+void automaticanswertest::stopanswer()
+    {
+    if (m_incomingVoiceCallMonitor)
+        {
+        m_incomingVoiceCallMonitor->Cancel();
+        }
+    stopanswering->setEnabled(false);
+    answering->setEnabled(true);    
+    }
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/tsrc/automaticanswertest/automaticanswertest.h	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,34 @@
+
+
+#ifndef AUTOMATICANSWERTEST_H
+#define AUTOMATICANSWERTEST_H
+
+
+#include <QGraphicsItem>
+#include <hbview.h>
+
+class CEtelIncomingCallMonitor;
+class HbPushButton;
+
+class automaticanswertest : public HbView
+{
+    Q_OBJECT
+
+public:
+	automaticanswertest(QGraphicsItem *parent = 0);
+    ~automaticanswertest();
+    
+private: 
+    void createContent();
+
+protected slots:
+    void answer();    
+    void stopanswer();
+    
+private:
+    HbPushButton *answering;
+    HbPushButton *stopanswering;
+    CEtelIncomingCallMonitor* m_incomingVoiceCallMonitor;
+};
+
+#endif // AUTOMATICANSWERTEST_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/tsrc/automaticanswertest/automaticanswertest.pkg	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,36 @@
+; automaticanswertest_template.pkg generated by qmake at 2010-05-31T09:51:06
+; This file is generated by qmake and should not be modified by the user
+;
+
+; Language
+&EN
+
+
+; SIS header: name, uid, version
+#{"automaticanswertest"},(0xE23CECCD),1,0,0
+
+; Localised Vendor name
+%{"Vendor"}
+
+; Unique Vendor name
+:"Vendor"
+
+
+; Manual PKG pre-rules from PRO files
+; Default dependency to Qt libraries
+(0x2001E61C), 4, 4, 3, {"Qt"}
+; Default HW/platform dependencies
+[0x101F7961],0,0,0,{"S60ProductID"}
+[0x102032BE],0,0,0,{"S60ProductID"}
+[0x102752AE],0,0,0,{"S60ProductID"}
+[0x1028315F],0,0,0,{"S60ProductID"}
+ 
+
+; Executable and default resource files
+"/epoc32/release/armv5/udeb/automaticanswertest.exe"    - "!:\sys\bin\automaticanswertest.exe"
+"/epoc32/data/z/resource/apps/automaticanswertest.r01"    - "!:\resource\apps\automaticanswertest.rsc"
+"/epoc32/data/z/private/10003a3f/import/apps/automaticanswertest_reg.rsc"    - "!:\private\10003a3f\import\apps\automaticanswertest_reg.rsc"
+
+"/epoc32/data/z/resource/qt/translations/automaticanswertest_en.qm" - "!:\resource\qt\translations\automaticanswertest_en.qm" 
+
+; Manual PKG post-rules from PRO files
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/tsrc/automaticanswertest/automaticanswertest.pro	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,30 @@
+TEMPLATE = app
+CONFIG += hb 
+
+TRANSLATIONS = automaticanswertest.ts
+
+symbian { 
+    TARGET = automaticanswertest
+    TARGET.UID3 = 0xE23CECCD
+    TARGET.CAPABILITY = ALL -TCB 
+        #-NetworkControl \
+        # -NetworkServices \
+        # -ReadDeviceData \
+        # -MultimediaDD
+    INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE \
+										/epoc32/include/platform \
+										/epoc32/include/ecom
+    LIBS+= -letelmm
+		LIBS+= -letel      
+    LIBS+= -leuser 
+    LIBS+= -lecom 										
+        }
+
+
+HEADERS += automaticanswertest.h \
+					 etelincomingcallmonitor.h
+SOURCES += main.cpp \
+           automaticanswertest.cpp \
+           etelincomingcallmonitor.cpp
+FORMS += 
+RESOURCES += 
Binary file phoneplugins/csplugin/tsrc/automaticanswertest/automaticanswertest.sis has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/tsrc/automaticanswertest/etelincomingcallmonitor.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,107 @@
+/*
+* 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:  Implements the class CEtelIncomingCallMonitor
+*
+*/
+
+#include "etelincomingcallmonitor.h"
+#include <etelmmcs.h>
+#include <QDebug>
+
+// ---------------------------------------------------------------------------
+// Destructs the object by canceling first ongoing monitoring.
+// ---------------------------------------------------------------------------
+//
+CEtelIncomingCallMonitor::~CEtelIncomingCallMonitor( )
+    {
+    Cancel();
+    iLine.Close();
+    iServer.Close();
+    }
+
+// ---------------------------------------------------------------------------
+// Starts the monitor.
+// ---------------------------------------------------------------------------
+//
+void CEtelIncomingCallMonitor::StartMonitoring()
+    {
+    if ( !IsActive() )
+        {
+        iCallName.Zero();
+        iLine.NotifyIncomingCall( iStatus, iCallName );
+        SetActive();
+        }
+
+    }
+// ---------------------------------------------------------------------------
+// From CActive.
+// Handles line status change notifying.
+// ---------------------------------------------------------------------------
+//
+void CEtelIncomingCallMonitor::RunL()
+    {
+    
+    qDebug () << "CEtelIncomingCallMonitor::RunL<<";
+    if ( iStatus == KErrNone )
+        {
+        RMobileCall mobilecall;
+        TInt ret = mobilecall.OpenExistingCall(iLine,iCallName);
+        qDebug() << "CEtelIncomingCallMonitor::RunL_OpenExistingCall_ret:" << ret;
+        ret = mobilecall.AnswerIncomingCall();
+        qDebug() << "CEtelIncomingCallMonitor::RunL_AnswerIncomingCall_ret:" << ret;
+        mobilecall.Close();
+        // Continue monitoring
+        StartMonitoring();        
+        }
+    qDebug () << "CEtelIncomingCallMonitor::RunL>>";
+    }
+
+// ---------------------------------------------------------------------------
+// From CActive
+// Canceling functionality.
+// ---------------------------------------------------------------------------
+//
+void CEtelIncomingCallMonitor::DoCancel()
+    {
+    if ( iStatus == KRequestPending )
+        {
+        iLine.NotifyIncomingCallCancel();
+        }
+    }
+
+// ---------------------------------------------------------------------------
+// Constructs the monitor.
+// ---------------------------------------------------------------------------
+//
+CEtelIncomingCallMonitor::CEtelIncomingCallMonitor(
+            /*RMobileLine& aLine,
+            TInt aLineId */) : 
+            CActive( EPriorityStandard + 2 )
+            
+    {
+    CActiveScheduler::Add( this );
+    const TInt KNbrOfMessageSlots = 128;
+    TInt phoneCount( 0 );
+    
+
+    int errorCode = iServer.Connect( KNbrOfMessageSlots );
+        
+    RMobilePhone mobilePhone;
+    errorCode = iServer.EnumeratePhones( phoneCount );
+    errorCode = iServer.GetPhoneInfo( phoneCount-1, iPhoneInfo );     
+    errorCode = mobilePhone.Open( iServer, iPhoneInfo.iName );
+    int error = iLine.Open( mobilePhone,_L("Voice1"));
+    }
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/tsrc/automaticanswertest/etelincomingcallmonitor.h	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,93 @@
+/*
+* 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:  Declarations for class CSPEtelIncomingCallMonitor
+*
+*/
+
+
+#ifndef ETELINCOMINGCALLMONITOR_H
+#define ETELINCOMINGCALLMONITOR_H
+
+#include <e32base.h>
+#include <etelmm.h>
+
+
+/**
+* Monitors single ETel RMobileLine for incoming calls.
+*
+*  This monitor is applied only for listening incoming calls, i.e.
+*  line capabilites are not monitored.
+*
+*/
+class CEtelIncomingCallMonitor: public CActive
+    {
+    
+    public: //Constructors and descructor
+
+        /**
+        * C++ default constructor
+        * @param aLine the line associated with the call
+        * @param aLineId line identifier
+        */
+        CEtelIncomingCallMonitor( /*RMobileLine& aLine,
+                                  TInt aLineId */);    
+        /**
+        * C++ default destructor
+        */
+        virtual ~CEtelIncomingCallMonitor( );
+
+        /**
+        * Start monitoring call events
+        * @since S60 3.2
+        */
+        void StartMonitoring();
+    
+    protected: // From CActive
+        /**
+        * From CActive
+        * RunL
+        * @since S60 3.2
+        */
+        void RunL();
+        
+        /**
+        * From CActive
+        * Cancels the monitor
+        * @since S60 3.2
+        */
+        void DoCancel();
+
+    private: // data
+
+        /**
+        * Incoming call name received from ETel.
+        */ 
+        TName iCallName;
+        
+        /**
+        * Line that is being observed for incoming call.
+        */
+        RMobileLine iLine;
+        
+        /**
+        * Line identifier / type.
+        */
+        TInt iLineId;
+        
+        RTelServer iServer;
+        
+        RTelServer::TPhoneInfo iPhoneInfo;
+    };
+    
+#endif // ETELINCOMINGCALLMONITOR_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/tsrc/automaticanswertest/main.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,20 @@
+
+#include "automaticanswertest.h"
+
+#include <QDebug>
+#include <QtGui>
+#include <QGraphicsWidget>
+#include <hbapplication.h>
+#include <hbmainwindow.h>
+
+int main(int argc, char *argv[])
+{
+    qDebug () << "AUTOMATICANSWER__main()<<";
+    HbApplication app (argc, argv);    
+    HbMainWindow mainWindow;
+    automaticanswertest* testview = new automaticanswertest ();
+    mainWindow.addView(testview);
+    mainWindow.setCurrentView(testview);
+    mainWindow.show();
+    return app.exec();
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/tsrc/automaticanswertest/ts_files/automaticanswertest_English-GB_(apac).ts	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,214 @@
+<?xml version="1.0" encoding="utf-8"?>
+<TS version="1.0" sourcelanguage="en" language="en">
+  <context>
+    <name>nString</name>
+    <message numerus="no" id="txt_phone_dpopinfo_no_network_coverage">
+      <source>No network coverage</source>
+      <translation variants="no">No network coverage</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_not_allowed">
+      <source>Not allowed</source>
+      <translation variants="no">Not allowed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_attempting">
+      <source>Attempting</source>
+      <translation variants="no">Attempting emergency call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_private_number">
+      <source>Private number</source>
+      <translation variants="no">Private number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_on_hold">
+      <source>On hold</source>
+      <translation variants="no">on hold</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_calling">
+      <source>Calling</source>
+      <translation variants="no">Calling</translation>
+    </message>
+    <message numerus="no" id="txt_long_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_transfer">
+      <source>Transfer</source>
+      <translation variants="no">Transfer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_title_telephone">
+      <source>Telephone</source>
+      <translation variants="yes">
+        <lengthvariant priority="1">Telephone</lengthvariant>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_waiting">
+      <source>Waiting</source>
+      <translation variants="no">waiting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_called_number_has_barred_incoming">
+      <source>Called number has barred incoming calls</source>
+      <translation variants="no">Unable to make video call. Incoming calls barred on other phone.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_not_in_use">
+      <source>Number not in use</source>
+      <translation variants="no">Number not in use</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_could_not_send_own_number">
+      <source>Could not send own number</source>
+      <translation variants="no">Could not send your caller ID</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_not_allowed_during_resto">
+      <source>Video call not allowed during restore</source>
+      <translation variants="no">Unable to make video call during restoring operation</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_life_timer">
+      <source>Life timer\n%L1</source>
+      <translation variants="no">Life timer:
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_call_failed">
+      <source>Emergency call failed</source>
+      <translation variants="no">Emergency call failed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_sending">
+      <source>Sending\n%L1</source>
+      <translation variants="no">Sending
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_remote_sim">
+      <source>Remote SIM</source>
+      <translation variants="no">Remote SIM</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_calls_only">
+      <source>Emergency calls only</source>
+      <translation variants="no">Emergency calls only</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_network_busy">
+      <source>Network busy</source>
+      <translation variants="no">Network busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_unable_to_make_video_call_not_supp">
+      <source>Unable to make video call. Not supported by other phone or network.</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dblist_ongoing_call">
+      <source>Ongoing call</source>
+      <translation variants="no">Ongoing call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_videocall_only_possible_under_3g">
+      <source>Videocall only possible under 3G coverage</source>
+      <translation variants="no">Video calls not supported outside of 3G network</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_serial_no">
+      <source>Serial No.\n%L1</source>
+      <translation variants="no">Serial number:
+%1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_connected_to_1">
+      <source>Connected to %L1</source>
+      <translation variants="no">Connected to %L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_send_string">
+      <source>Send string:\n%L1</source>
+      <translation variants="no">Send DTMF:
%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_all_incoming_calls_diver">
+      <source>Note:  all incoming calls diverted</source>
+      <translation variants="no">Note: all incoming calls diverted</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_you_have_active_barrings">
+      <source>Note: you have active barrings</source>
+      <translation variants="no">Note: active call barrings</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_emergency_call">
+      <source>Emergency call</source>
+      <translation variants="no">Emergency call</translation>
+    </message>
+    <message numerus="yes" id="txt_phone_dblist_ln_missed_calls">
+      <source>%Ln missed calls</source>
+      <translation>
+        <numerusform plurality="a">#%Ln missed calls</numerusform>
+        <numerusform plurality="b">en #MISSING</numerusform>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_barred">
+      <source>Number barred</source>
+      <translation variants="no">Number barred</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_busy">
+      <source>Number busy</source>
+      <translation variants="no">Number busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_unknown_number">
+      <source>Unknown number</source>
+      <translation variants="no">Unknown number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_incoming_call">
+      <source>Incoming call</source>
+      <translation variants="no">calling</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_error_in_connection">
+      <source>Error in connection</source>
+      <translation variants="no">Connection error</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_end_all_calls">
+      <source>End all calls</source>
+      <translation variants="no">End all calls</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_no_answer">
+      <source>No answer</source>
+      <translation variants="no">No answer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_disconnected">
+      <source>Disconnected</source>
+      <translation variants="no">disconnected</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_conference_call_active">
+      <source>Conference call active</source>
+      <translation variants="no">Conference call active</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_phone_switched_off_or_out_of_3g">
+      <source>Phone switched off or out of 3G coverage</source>
+      <translation variants="no">Unable to make video call. Other phone switched off or outside of 3G network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_diverting">
+      <source>Diverting</source>
+      <translation variants="no">Diverting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_network_services">
+      <source>Check network services</source>
+      <translation variants="no">Check network services</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_own_number_sending">
+      <source>Check own number sending</source>
+      <translation variants="no">Check my caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_activate_own_number_sending">
+      <source>Activate own number sending</source>
+      <translation variants="no">Activate caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_share_video">
+      <source>Share video</source>
+      <translation variants="no">Share video</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_conference_call">
+      <source>Conference call</source>
+      <translation variants="no">Conference call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_invalid_phone_number">
+      <source>Invalid phone number</source>
+      <translation variants="no">Invalid phone number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_call_not_allowed_fixed_dialling">
+      <source>Call not allowed, fixed dialling active</source>
+      <translation variants="no">Call not allowed. Fixed dialling active.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_didnt_succeed_to_called">
+      <source>Video call didn't succeed to called end</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_short_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+  </context>
+</TS>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/tsrc/automaticanswertest/ts_files/automaticanswertest_English-GB_(apaccn).ts	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,214 @@
+<?xml version="1.0" encoding="utf-8"?>
+<TS version="1.0" sourcelanguage="en" language="en">
+  <context>
+    <name>nString</name>
+    <message numerus="no" id="txt_phone_dpopinfo_no_network_coverage">
+      <source>No network coverage</source>
+      <translation variants="no">No network coverage</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_not_allowed">
+      <source>Not allowed</source>
+      <translation variants="no">Not allowed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_attempting">
+      <source>Attempting</source>
+      <translation variants="no">Attempting emergency call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_private_number">
+      <source>Private number</source>
+      <translation variants="no">Private number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_on_hold">
+      <source>On hold</source>
+      <translation variants="no">on hold</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_calling">
+      <source>Calling</source>
+      <translation variants="no">Calling</translation>
+    </message>
+    <message numerus="no" id="txt_long_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_transfer">
+      <source>Transfer</source>
+      <translation variants="no">Transfer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_title_telephone">
+      <source>Telephone</source>
+      <translation variants="yes">
+        <lengthvariant priority="1">Telephone</lengthvariant>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_waiting">
+      <source>Waiting</source>
+      <translation variants="no">waiting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_called_number_has_barred_incoming">
+      <source>Called number has barred incoming calls</source>
+      <translation variants="no">Unable to make video call. Incoming calls barred on other phone.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_not_in_use">
+      <source>Number not in use</source>
+      <translation variants="no">Number not in use</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_could_not_send_own_number">
+      <source>Could not send own number</source>
+      <translation variants="no">Could not send your caller ID</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_not_allowed_during_resto">
+      <source>Video call not allowed during restore</source>
+      <translation variants="no">Unable to make video call during restoring operation</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_life_timer">
+      <source>Life timer\n%L1</source>
+      <translation variants="no">Life timer:
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_call_failed">
+      <source>Emergency call failed</source>
+      <translation variants="no">Emergency call failed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_sending">
+      <source>Sending\n%L1</source>
+      <translation variants="no">Sending
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_remote_sim">
+      <source>Remote SIM</source>
+      <translation variants="no">Remote SIM</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_calls_only">
+      <source>Emergency calls only</source>
+      <translation variants="no">Emergency calls only</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_network_busy">
+      <source>Network busy</source>
+      <translation variants="no">Network busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_unable_to_make_video_call_not_supp">
+      <source>Unable to make video call. Not supported by other phone or network.</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dblist_ongoing_call">
+      <source>Ongoing call</source>
+      <translation variants="no">Ongoing call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_videocall_only_possible_under_3g">
+      <source>Videocall only possible under 3G coverage</source>
+      <translation variants="no">Video calls not supported outside of 3G network</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_serial_no">
+      <source>Serial No.\n%L1</source>
+      <translation variants="no">Serial number:
+%1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_connected_to_1">
+      <source>Connected to %L1</source>
+      <translation variants="no">Connected to %L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_send_string">
+      <source>Send string:\n%L1</source>
+      <translation variants="no">Send DTMF:
%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_all_incoming_calls_diver">
+      <source>Note:  all incoming calls diverted</source>
+      <translation variants="no">Note: all incoming calls diverted</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_you_have_active_barrings">
+      <source>Note: you have active barrings</source>
+      <translation variants="no">Note: active call barrings</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_emergency_call">
+      <source>Emergency call</source>
+      <translation variants="no">Emergency call</translation>
+    </message>
+    <message numerus="yes" id="txt_phone_dblist_ln_missed_calls">
+      <source>%Ln missed calls</source>
+      <translation>
+        <numerusform plurality="a">#%Ln missed calls</numerusform>
+        <numerusform plurality="b">en #MISSING</numerusform>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_barred">
+      <source>Number barred</source>
+      <translation variants="no">Number barred</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_busy">
+      <source>Number busy</source>
+      <translation variants="no">Number busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_unknown_number">
+      <source>Unknown number</source>
+      <translation variants="no">Unknown number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_incoming_call">
+      <source>Incoming call</source>
+      <translation variants="no">calling</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_error_in_connection">
+      <source>Error in connection</source>
+      <translation variants="no">Connection error</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_end_all_calls">
+      <source>End all calls</source>
+      <translation variants="no">End all calls</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_no_answer">
+      <source>No answer</source>
+      <translation variants="no">No answer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_disconnected">
+      <source>Disconnected</source>
+      <translation variants="no">disconnected</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_conference_call_active">
+      <source>Conference call active</source>
+      <translation variants="no">Conference call active</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_phone_switched_off_or_out_of_3g">
+      <source>Phone switched off or out of 3G coverage</source>
+      <translation variants="no">Unable to make video call. Other phone switched off or outside of 3G network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_diverting">
+      <source>Diverting</source>
+      <translation variants="no">Diverting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_network_services">
+      <source>Check network services</source>
+      <translation variants="no">Check network services</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_own_number_sending">
+      <source>Check own number sending</source>
+      <translation variants="no">Check my caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_activate_own_number_sending">
+      <source>Activate own number sending</source>
+      <translation variants="no">Activate caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_share_video">
+      <source>Share video</source>
+      <translation variants="no">Share video</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_conference_call">
+      <source>Conference call</source>
+      <translation variants="no">Conference call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_invalid_phone_number">
+      <source>Invalid phone number</source>
+      <translation variants="no">Invalid phone number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_call_not_allowed_fixed_dialling">
+      <source>Call not allowed, fixed dialling active</source>
+      <translation variants="no">Call not allowed. Fixed dialling active.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_didnt_succeed_to_called">
+      <source>Video call didn't succeed to called end</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_short_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+  </context>
+</TS>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/tsrc/automaticanswertest/ts_files/automaticanswertest_English-GB_(apachk).ts	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,214 @@
+<?xml version="1.0" encoding="utf-8"?>
+<TS version="1.0" sourcelanguage="en" language="en">
+  <context>
+    <name>nString</name>
+    <message numerus="no" id="txt_phone_dpopinfo_no_network_coverage">
+      <source>No network coverage</source>
+      <translation variants="no">No network coverage</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_not_allowed">
+      <source>Not allowed</source>
+      <translation variants="no">Not allowed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_attempting">
+      <source>Attempting</source>
+      <translation variants="no">Attempting emergency call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_private_number">
+      <source>Private number</source>
+      <translation variants="no">Private number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_on_hold">
+      <source>On hold</source>
+      <translation variants="no">on hold</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_calling">
+      <source>Calling</source>
+      <translation variants="no">Calling</translation>
+    </message>
+    <message numerus="no" id="txt_long_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_transfer">
+      <source>Transfer</source>
+      <translation variants="no">Transfer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_title_telephone">
+      <source>Telephone</source>
+      <translation variants="yes">
+        <lengthvariant priority="1">Telephone</lengthvariant>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_waiting">
+      <source>Waiting</source>
+      <translation variants="no">waiting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_called_number_has_barred_incoming">
+      <source>Called number has barred incoming calls</source>
+      <translation variants="no">Unable to make video call. Incoming calls barred on other phone.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_not_in_use">
+      <source>Number not in use</source>
+      <translation variants="no">Number not in use</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_could_not_send_own_number">
+      <source>Could not send own number</source>
+      <translation variants="no">Could not send your caller ID</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_not_allowed_during_resto">
+      <source>Video call not allowed during restore</source>
+      <translation variants="no">Unable to make video call during restoring operation</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_life_timer">
+      <source>Life timer\n%L1</source>
+      <translation variants="no">Life timer:
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_call_failed">
+      <source>Emergency call failed</source>
+      <translation variants="no">Emergency call failed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_sending">
+      <source>Sending\n%L1</source>
+      <translation variants="no">Sending
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_remote_sim">
+      <source>Remote SIM</source>
+      <translation variants="no">Remote SIM</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_calls_only">
+      <source>Emergency calls only</source>
+      <translation variants="no">Emergency calls only</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_network_busy">
+      <source>Network busy</source>
+      <translation variants="no">Network busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_unable_to_make_video_call_not_supp">
+      <source>Unable to make video call. Not supported by other phone or network.</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dblist_ongoing_call">
+      <source>Ongoing call</source>
+      <translation variants="no">Ongoing call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_videocall_only_possible_under_3g">
+      <source>Videocall only possible under 3G coverage</source>
+      <translation variants="no">Video calls not supported outside of 3G network</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_serial_no">
+      <source>Serial No.\n%L1</source>
+      <translation variants="no">Serial number:
+%1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_connected_to_1">
+      <source>Connected to %L1</source>
+      <translation variants="no">Connected to %L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_send_string">
+      <source>Send string:\n%L1</source>
+      <translation variants="no">Send DTMF:
%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_all_incoming_calls_diver">
+      <source>Note:  all incoming calls diverted</source>
+      <translation variants="no">Note: all incoming calls diverted</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_you_have_active_barrings">
+      <source>Note: you have active barrings</source>
+      <translation variants="no">Note: active call barrings</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_emergency_call">
+      <source>Emergency call</source>
+      <translation variants="no">Emergency call</translation>
+    </message>
+    <message numerus="yes" id="txt_phone_dblist_ln_missed_calls">
+      <source>%Ln missed calls</source>
+      <translation>
+        <numerusform plurality="a">#%Ln missed calls</numerusform>
+        <numerusform plurality="b">en #MISSING</numerusform>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_barred">
+      <source>Number barred</source>
+      <translation variants="no">Number barred</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_busy">
+      <source>Number busy</source>
+      <translation variants="no">Number busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_unknown_number">
+      <source>Unknown number</source>
+      <translation variants="no">Unknown number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_incoming_call">
+      <source>Incoming call</source>
+      <translation variants="no">calling</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_error_in_connection">
+      <source>Error in connection</source>
+      <translation variants="no">Connection error</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_end_all_calls">
+      <source>End all calls</source>
+      <translation variants="no">End all calls</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_no_answer">
+      <source>No answer</source>
+      <translation variants="no">No answer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_disconnected">
+      <source>Disconnected</source>
+      <translation variants="no">disconnected</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_conference_call_active">
+      <source>Conference call active</source>
+      <translation variants="no">Conference call active</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_phone_switched_off_or_out_of_3g">
+      <source>Phone switched off or out of 3G coverage</source>
+      <translation variants="no">Unable to make video call. Other phone switched off or outside of 3G network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_diverting">
+      <source>Diverting</source>
+      <translation variants="no">Diverting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_network_services">
+      <source>Check network services</source>
+      <translation variants="no">Check network services</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_own_number_sending">
+      <source>Check own number sending</source>
+      <translation variants="no">Check my caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_activate_own_number_sending">
+      <source>Activate own number sending</source>
+      <translation variants="no">Activate caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_share_video">
+      <source>Share video</source>
+      <translation variants="no">Share video</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_conference_call">
+      <source>Conference call</source>
+      <translation variants="no">Conference call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_invalid_phone_number">
+      <source>Invalid phone number</source>
+      <translation variants="no">Invalid phone number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_call_not_allowed_fixed_dialling">
+      <source>Call not allowed, fixed dialling active</source>
+      <translation variants="no">Call not allowed. Fixed dialling active.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_didnt_succeed_to_called">
+      <source>Video call didn't succeed to called end</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_short_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+  </context>
+</TS>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/tsrc/automaticanswertest/ts_files/automaticanswertest_English-GB_(apactw).ts	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,214 @@
+<?xml version="1.0" encoding="utf-8"?>
+<TS version="1.0" sourcelanguage="en" language="en">
+  <context>
+    <name>nString</name>
+    <message numerus="no" id="txt_phone_dpopinfo_no_network_coverage">
+      <source>No network coverage</source>
+      <translation variants="no">No network coverage</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_not_allowed">
+      <source>Not allowed</source>
+      <translation variants="no">Not allowed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_attempting">
+      <source>Attempting</source>
+      <translation variants="no">Attempting emergency call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_private_number">
+      <source>Private number</source>
+      <translation variants="no">Private number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_on_hold">
+      <source>On hold</source>
+      <translation variants="no">on hold</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_calling">
+      <source>Calling</source>
+      <translation variants="no">Calling</translation>
+    </message>
+    <message numerus="no" id="txt_long_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_transfer">
+      <source>Transfer</source>
+      <translation variants="no">Transfer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_title_telephone">
+      <source>Telephone</source>
+      <translation variants="yes">
+        <lengthvariant priority="1">Telephone</lengthvariant>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_waiting">
+      <source>Waiting</source>
+      <translation variants="no">waiting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_called_number_has_barred_incoming">
+      <source>Called number has barred incoming calls</source>
+      <translation variants="no">Unable to make video call. Incoming calls barred on other phone.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_not_in_use">
+      <source>Number not in use</source>
+      <translation variants="no">Number not in use</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_could_not_send_own_number">
+      <source>Could not send own number</source>
+      <translation variants="no">Could not send your caller ID</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_not_allowed_during_resto">
+      <source>Video call not allowed during restore</source>
+      <translation variants="no">Unable to make video call during restoring operation</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_life_timer">
+      <source>Life timer\n%L1</source>
+      <translation variants="no">Life timer:
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_call_failed">
+      <source>Emergency call failed</source>
+      <translation variants="no">Emergency call failed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_sending">
+      <source>Sending\n%L1</source>
+      <translation variants="no">Sending
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_remote_sim">
+      <source>Remote SIM</source>
+      <translation variants="no">Remote SIM</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_calls_only">
+      <source>Emergency calls only</source>
+      <translation variants="no">Emergency calls only</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_network_busy">
+      <source>Network busy</source>
+      <translation variants="no">Network busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_unable_to_make_video_call_not_supp">
+      <source>Unable to make video call. Not supported by other phone or network.</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dblist_ongoing_call">
+      <source>Ongoing call</source>
+      <translation variants="no">Ongoing call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_videocall_only_possible_under_3g">
+      <source>Videocall only possible under 3G coverage</source>
+      <translation variants="no">Video calls not supported outside of 3G network</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_serial_no">
+      <source>Serial No.\n%L1</source>
+      <translation variants="no">Serial number:
+%1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_connected_to_1">
+      <source>Connected to %L1</source>
+      <translation variants="no">Connected to %L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_send_string">
+      <source>Send string:\n%L1</source>
+      <translation variants="no">Send DTMF:
%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_all_incoming_calls_diver">
+      <source>Note:  all incoming calls diverted</source>
+      <translation variants="no">Note: all incoming calls diverted</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_you_have_active_barrings">
+      <source>Note: you have active barrings</source>
+      <translation variants="no">Note: active call barrings</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_emergency_call">
+      <source>Emergency call</source>
+      <translation variants="no">Emergency call</translation>
+    </message>
+    <message numerus="yes" id="txt_phone_dblist_ln_missed_calls">
+      <source>%Ln missed calls</source>
+      <translation>
+        <numerusform plurality="a">#%Ln missed calls</numerusform>
+        <numerusform plurality="b">en #MISSING</numerusform>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_barred">
+      <source>Number barred</source>
+      <translation variants="no">Number barred</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_busy">
+      <source>Number busy</source>
+      <translation variants="no">Number busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_unknown_number">
+      <source>Unknown number</source>
+      <translation variants="no">Unknown number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_incoming_call">
+      <source>Incoming call</source>
+      <translation variants="no">calling</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_error_in_connection">
+      <source>Error in connection</source>
+      <translation variants="no">Connection error</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_end_all_calls">
+      <source>End all calls</source>
+      <translation variants="no">End all calls</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_no_answer">
+      <source>No answer</source>
+      <translation variants="no">No answer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_disconnected">
+      <source>Disconnected</source>
+      <translation variants="no">disconnected</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_conference_call_active">
+      <source>Conference call active</source>
+      <translation variants="no">Conference call active</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_phone_switched_off_or_out_of_3g">
+      <source>Phone switched off or out of 3G coverage</source>
+      <translation variants="no">Unable to make video call. Other phone switched off or outside of 3G network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_diverting">
+      <source>Diverting</source>
+      <translation variants="no">Diverting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_network_services">
+      <source>Check network services</source>
+      <translation variants="no">Check network services</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_own_number_sending">
+      <source>Check own number sending</source>
+      <translation variants="no">Check my caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_activate_own_number_sending">
+      <source>Activate own number sending</source>
+      <translation variants="no">Activate caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_share_video">
+      <source>Share video</source>
+      <translation variants="no">Share video</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_conference_call">
+      <source>Conference call</source>
+      <translation variants="no">Conference call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_invalid_phone_number">
+      <source>Invalid phone number</source>
+      <translation variants="no">Invalid phone number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_call_not_allowed_fixed_dialling">
+      <source>Call not allowed, fixed dialling active</source>
+      <translation variants="no">Call not allowed. Fixed dialling active.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_didnt_succeed_to_called">
+      <source>Video call didn't succeed to called end</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_short_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+  </context>
+</TS>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/tsrc/automaticanswertest/ts_files/automaticanswertest_English-GB_Japanese.ts	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,214 @@
+<?xml version="1.0" encoding="utf-8"?>
+<TS version="1.0" sourcelanguage="en" language="en">
+  <context>
+    <name>nString</name>
+    <message numerus="no" id="txt_phone_dpopinfo_no_network_coverage">
+      <source>No network coverage</source>
+      <translation variants="no">No network coverage</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_not_allowed">
+      <source>Not allowed</source>
+      <translation variants="no">Not allowed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_attempting">
+      <source>Attempting</source>
+      <translation variants="no">Attempting emergency call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_private_number">
+      <source>Private number</source>
+      <translation variants="no">Private number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_on_hold">
+      <source>On hold</source>
+      <translation variants="no">on hold</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_calling">
+      <source>Calling</source>
+      <translation variants="no">Calling</translation>
+    </message>
+    <message numerus="no" id="txt_long_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_transfer">
+      <source>Transfer</source>
+      <translation variants="no">Transfer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_title_telephone">
+      <source>Telephone</source>
+      <translation variants="yes">
+        <lengthvariant priority="1">Telephone</lengthvariant>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_waiting">
+      <source>Waiting</source>
+      <translation variants="no">waiting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_called_number_has_barred_incoming">
+      <source>Called number has barred incoming calls</source>
+      <translation variants="no">Unable to make video call. Incoming calls barred on other phone.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_not_in_use">
+      <source>Number not in use</source>
+      <translation variants="no">Number not in use</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_could_not_send_own_number">
+      <source>Could not send own number</source>
+      <translation variants="no">Could not send your caller ID</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_not_allowed_during_resto">
+      <source>Video call not allowed during restore</source>
+      <translation variants="no">Unable to make video call during restoring operation</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_life_timer">
+      <source>Life timer\n%L1</source>
+      <translation variants="no">Life timer:
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_call_failed">
+      <source>Emergency call failed</source>
+      <translation variants="no">Emergency call failed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_sending">
+      <source>Sending\n%L1</source>
+      <translation variants="no">Sending
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_remote_sim">
+      <source>Remote SIM</source>
+      <translation variants="no">Remote SIM</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_calls_only">
+      <source>Emergency calls only</source>
+      <translation variants="no">Emergency calls only</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_network_busy">
+      <source>Network busy</source>
+      <translation variants="no">Network busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_unable_to_make_video_call_not_supp">
+      <source>Unable to make video call. Not supported by other phone or network.</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dblist_ongoing_call">
+      <source>Ongoing call</source>
+      <translation variants="no">Ongoing call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_videocall_only_possible_under_3g">
+      <source>Videocall only possible under 3G coverage</source>
+      <translation variants="no">Video calls not supported outside of 3G network</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_serial_no">
+      <source>Serial No.\n%L1</source>
+      <translation variants="no">Serial number:
+%1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_connected_to_1">
+      <source>Connected to %L1</source>
+      <translation variants="no">Connected to %L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_send_string">
+      <source>Send string:\n%L1</source>
+      <translation variants="no">Send DTMF:
%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_all_incoming_calls_diver">
+      <source>Note:  all incoming calls diverted</source>
+      <translation variants="no">Note: all incoming calls diverted</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_you_have_active_barrings">
+      <source>Note: you have active barrings</source>
+      <translation variants="no">Note: active call barrings</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_emergency_call">
+      <source>Emergency call</source>
+      <translation variants="no">Emergency call</translation>
+    </message>
+    <message numerus="yes" id="txt_phone_dblist_ln_missed_calls">
+      <source>%Ln missed calls</source>
+      <translation>
+        <numerusform plurality="a">#%Ln missed calls</numerusform>
+        <numerusform plurality="b">en #MISSING</numerusform>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_barred">
+      <source>Number barred</source>
+      <translation variants="no">Number barred</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_busy">
+      <source>Number busy</source>
+      <translation variants="no">Number busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_unknown_number">
+      <source>Unknown number</source>
+      <translation variants="no">Unknown number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_incoming_call">
+      <source>Incoming call</source>
+      <translation variants="no">calling</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_error_in_connection">
+      <source>Error in connection</source>
+      <translation variants="no">Connection error</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_end_all_calls">
+      <source>End all calls</source>
+      <translation variants="no">End all calls</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_no_answer">
+      <source>No answer</source>
+      <translation variants="no">No answer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_disconnected">
+      <source>Disconnected</source>
+      <translation variants="no">disconnected</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_conference_call_active">
+      <source>Conference call active</source>
+      <translation variants="no">Conference call active</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_phone_switched_off_or_out_of_3g">
+      <source>Phone switched off or out of 3G coverage</source>
+      <translation variants="no">Unable to make video call. Other phone switched off or outside of 3G network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_diverting">
+      <source>Diverting</source>
+      <translation variants="no">Diverting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_network_services">
+      <source>Check network services</source>
+      <translation variants="no">Check network services</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_own_number_sending">
+      <source>Check own number sending</source>
+      <translation variants="no">Check my caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_activate_own_number_sending">
+      <source>Activate own number sending</source>
+      <translation variants="no">Activate caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_share_video">
+      <source>Share video</source>
+      <translation variants="no">Share video</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_conference_call">
+      <source>Conference call</source>
+      <translation variants="no">Conference call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_invalid_phone_number">
+      <source>Invalid phone number</source>
+      <translation variants="no">Invalid phone number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_call_not_allowed_fixed_dialling">
+      <source>Call not allowed, fixed dialling active</source>
+      <translation variants="no">Call not allowed. Fixed dialling active.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_didnt_succeed_to_called">
+      <source>Video call didn't succeed to called end</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_short_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+  </context>
+</TS>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/tsrc/automaticanswertest/ts_files/automaticanswertest_English-GB_Thai.ts	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,214 @@
+<?xml version="1.0" encoding="utf-8"?>
+<TS version="1.0" sourcelanguage="en" language="en">
+  <context>
+    <name>nString</name>
+    <message numerus="no" id="txt_phone_dpopinfo_no_network_coverage">
+      <source>No network coverage</source>
+      <translation variants="no">No network coverage</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_not_allowed">
+      <source>Not allowed</source>
+      <translation variants="no">Not allowed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_attempting">
+      <source>Attempting</source>
+      <translation variants="no">Attempting emergency call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_private_number">
+      <source>Private number</source>
+      <translation variants="no">Private number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_on_hold">
+      <source>On hold</source>
+      <translation variants="no">on hold</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_calling">
+      <source>Calling</source>
+      <translation variants="no">Calling</translation>
+    </message>
+    <message numerus="no" id="txt_long_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_transfer">
+      <source>Transfer</source>
+      <translation variants="no">Transfer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_title_telephone">
+      <source>Telephone</source>
+      <translation variants="yes">
+        <lengthvariant priority="1">Telephone</lengthvariant>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_waiting">
+      <source>Waiting</source>
+      <translation variants="no">waiting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_called_number_has_barred_incoming">
+      <source>Called number has barred incoming calls</source>
+      <translation variants="no">Unable to make video call. Incoming calls barred on other phone.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_not_in_use">
+      <source>Number not in use</source>
+      <translation variants="no">Number not in use</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_could_not_send_own_number">
+      <source>Could not send own number</source>
+      <translation variants="no">Could not send your caller ID</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_not_allowed_during_resto">
+      <source>Video call not allowed during restore</source>
+      <translation variants="no">Unable to make video call during restoring operation</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_life_timer">
+      <source>Life timer\n%L1</source>
+      <translation variants="no">Life timer:
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_call_failed">
+      <source>Emergency call failed</source>
+      <translation variants="no">Emergency call failed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_sending">
+      <source>Sending\n%L1</source>
+      <translation variants="no">Sending
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_remote_sim">
+      <source>Remote SIM</source>
+      <translation variants="no">Remote SIM</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_calls_only">
+      <source>Emergency calls only</source>
+      <translation variants="no">Emergency calls only</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_network_busy">
+      <source>Network busy</source>
+      <translation variants="no">Network busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_unable_to_make_video_call_not_supp">
+      <source>Unable to make video call. Not supported by other phone or network.</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dblist_ongoing_call">
+      <source>Ongoing call</source>
+      <translation variants="no">Ongoing call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_videocall_only_possible_under_3g">
+      <source>Videocall only possible under 3G coverage</source>
+      <translation variants="no">Video calls not supported outside of 3G network</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_serial_no">
+      <source>Serial No.\n%L1</source>
+      <translation variants="no">Serial number:
+%1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_connected_to_1">
+      <source>Connected to %L1</source>
+      <translation variants="no">Connected to %L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_send_string">
+      <source>Send string:\n%L1</source>
+      <translation variants="no">Send DTMF:
%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_all_incoming_calls_diver">
+      <source>Note:  all incoming calls diverted</source>
+      <translation variants="no">Note: all incoming calls diverted</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_you_have_active_barrings">
+      <source>Note: you have active barrings</source>
+      <translation variants="no">Note: active call barrings</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_emergency_call">
+      <source>Emergency call</source>
+      <translation variants="no">Emergency call</translation>
+    </message>
+    <message numerus="yes" id="txt_phone_dblist_ln_missed_calls">
+      <source>%Ln missed calls</source>
+      <translation>
+        <numerusform plurality="a">#%Ln missed calls</numerusform>
+        <numerusform plurality="b">en #MISSING</numerusform>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_barred">
+      <source>Number barred</source>
+      <translation variants="no">Number barred</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_busy">
+      <source>Number busy</source>
+      <translation variants="no">Number busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_unknown_number">
+      <source>Unknown number</source>
+      <translation variants="no">Unknown number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_incoming_call">
+      <source>Incoming call</source>
+      <translation variants="no">calling</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_error_in_connection">
+      <source>Error in connection</source>
+      <translation variants="no">Connection error</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_end_all_calls">
+      <source>End all calls</source>
+      <translation variants="no">End all calls</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_no_answer">
+      <source>No answer</source>
+      <translation variants="no">No answer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_disconnected">
+      <source>Disconnected</source>
+      <translation variants="no">disconnected</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_conference_call_active">
+      <source>Conference call active</source>
+      <translation variants="no">Conference call active</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_phone_switched_off_or_out_of_3g">
+      <source>Phone switched off or out of 3G coverage</source>
+      <translation variants="no">Unable to make video call. Other phone switched off or outside of 3G network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_diverting">
+      <source>Diverting</source>
+      <translation variants="no">Diverting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_network_services">
+      <source>Check network services</source>
+      <translation variants="no">Check network services</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_own_number_sending">
+      <source>Check own number sending</source>
+      <translation variants="no">Check my caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_activate_own_number_sending">
+      <source>Activate own number sending</source>
+      <translation variants="no">Activate caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_share_video">
+      <source>Share video</source>
+      <translation variants="no">Share video</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_conference_call">
+      <source>Conference call</source>
+      <translation variants="no">Conference call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_invalid_phone_number">
+      <source>Invalid phone number</source>
+      <translation variants="no">Invalid phone number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_call_not_allowed_fixed_dialling">
+      <source>Call not allowed, fixed dialling active</source>
+      <translation variants="no">Call not allowed. Fixed dialling active.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_didnt_succeed_to_called">
+      <source>Video call didn't succeed to called end</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_short_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+  </context>
+</TS>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/tsrc/automaticanswertest/ts_files/automaticanswertest_Persian.ts	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,214 @@
+<?xml version="1.0" encoding="utf-8"?>
+<TS version="1.0" sourcelanguage="en" language="en">
+  <context>
+    <name>nString</name>
+    <message numerus="no" id="txt_phone_dpopinfo_no_network_coverage">
+      <source>No network coverage</source>
+      <translation variants="no">No network coverage</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_not_allowed">
+      <source>Not allowed</source>
+      <translation variants="no">Not allowed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_attempting">
+      <source>Attempting</source>
+      <translation variants="no">Attempting emergency call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_private_number">
+      <source>Private number</source>
+      <translation variants="no">Private number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_on_hold">
+      <source>On hold</source>
+      <translation variants="no">on hold</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_calling">
+      <source>Calling</source>
+      <translation variants="no">Calling</translation>
+    </message>
+    <message numerus="no" id="txt_long_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_transfer">
+      <source>Transfer</source>
+      <translation variants="no">Transfer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_title_telephone">
+      <source>Telephone</source>
+      <translation variants="yes">
+        <lengthvariant priority="1">Telephone</lengthvariant>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_waiting">
+      <source>Waiting</source>
+      <translation variants="no">waiting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_called_number_has_barred_incoming">
+      <source>Called number has barred incoming calls</source>
+      <translation variants="no">Unable to make video call. Incoming calls barred on other phone.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_not_in_use">
+      <source>Number not in use</source>
+      <translation variants="no">Number not in use</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_could_not_send_own_number">
+      <source>Could not send own number</source>
+      <translation variants="no">Could not send your caller ID</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_not_allowed_during_resto">
+      <source>Video call not allowed during restore</source>
+      <translation variants="no">Unable to make video call during restoring operation</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_life_timer">
+      <source>Life timer\n%L1</source>
+      <translation variants="no">Life timer:
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_call_failed">
+      <source>Emergency call failed</source>
+      <translation variants="no">Emergency call failed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_sending">
+      <source>Sending\n%L1</source>
+      <translation variants="no">Sending
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_remote_sim">
+      <source>Remote SIM</source>
+      <translation variants="no">Remote SIM</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_calls_only">
+      <source>Emergency calls only</source>
+      <translation variants="no">Emergency calls only</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_network_busy">
+      <source>Network busy</source>
+      <translation variants="no">Network busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_unable_to_make_video_call_not_supp">
+      <source>Unable to make video call. Not supported by other phone or network.</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dblist_ongoing_call">
+      <source>Ongoing call</source>
+      <translation variants="no">Ongoing call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_videocall_only_possible_under_3g">
+      <source>Videocall only possible under 3G coverage</source>
+      <translation variants="no">Video calls not supported outside of 3G network</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_serial_no">
+      <source>Serial No.\n%L1</source>
+      <translation variants="no">Serial number:
+%1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_connected_to_1">
+      <source>Connected to %L1</source>
+      <translation variants="no">Connected to %L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_send_string">
+      <source>Send string:\n%L1</source>
+      <translation variants="no">Send DTMF:
%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_all_incoming_calls_diver">
+      <source>Note:  all incoming calls diverted</source>
+      <translation variants="no">Note: all incoming calls diverted</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_you_have_active_barrings">
+      <source>Note: you have active barrings</source>
+      <translation variants="no">Note: active call barrings</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_emergency_call">
+      <source>Emergency call</source>
+      <translation variants="no">Emergency call</translation>
+    </message>
+    <message numerus="yes" id="txt_phone_dblist_ln_missed_calls">
+      <source>%Ln missed calls</source>
+      <translation>
+        <numerusform plurality="a">#%Ln missed calls</numerusform>
+        <numerusform plurality="b">en #MISSING</numerusform>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_barred">
+      <source>Number barred</source>
+      <translation variants="no">Number barred</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_busy">
+      <source>Number busy</source>
+      <translation variants="no">Number busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_unknown_number">
+      <source>Unknown number</source>
+      <translation variants="no">Unknown number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_incoming_call">
+      <source>Incoming call</source>
+      <translation variants="no">calling</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_error_in_connection">
+      <source>Error in connection</source>
+      <translation variants="no">Connection error</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_end_all_calls">
+      <source>End all calls</source>
+      <translation variants="no">End all calls</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_no_answer">
+      <source>No answer</source>
+      <translation variants="no">No answer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_disconnected">
+      <source>Disconnected</source>
+      <translation variants="no">disconnected</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_conference_call_active">
+      <source>Conference call active</source>
+      <translation variants="no">Conference call active</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_phone_switched_off_or_out_of_3g">
+      <source>Phone switched off or out of 3G coverage</source>
+      <translation variants="no">Unable to make video call. Other phone switched off or outside of 3G network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_diverting">
+      <source>Diverting</source>
+      <translation variants="no">Diverting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_network_services">
+      <source>Check network services</source>
+      <translation variants="no">Check network services</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_own_number_sending">
+      <source>Check own number sending</source>
+      <translation variants="no">Check my caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_activate_own_number_sending">
+      <source>Activate own number sending</source>
+      <translation variants="no">Activate caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_share_video">
+      <source>Share video</source>
+      <translation variants="no">Share video</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_conference_call">
+      <source>Conference call</source>
+      <translation variants="no">Conference call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_invalid_phone_number">
+      <source>Invalid phone number</source>
+      <translation variants="no">Invalid phone number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_call_not_allowed_fixed_dialling">
+      <source>Call not allowed, fixed dialling active</source>
+      <translation variants="no">Call not allowed. Fixed dialling active.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_didnt_succeed_to_called">
+      <source>Video call didn't succeed to called end</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_short_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+  </context>
+</TS>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/tsrc/automaticanswertest/ts_files/automaticanswertest_ar.ts	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,214 @@
+<?xml version="1.0" encoding="utf-8"?>
+<TS version="1.0" sourcelanguage="en" language="en">
+  <context>
+    <name>nString</name>
+    <message numerus="no" id="txt_phone_dpopinfo_no_network_coverage">
+      <source>No network coverage</source>
+      <translation variants="no">No network coverage</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_not_allowed">
+      <source>Not allowed</source>
+      <translation variants="no">Not allowed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_attempting">
+      <source>Attempting</source>
+      <translation variants="no">Attempting emergency call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_private_number">
+      <source>Private number</source>
+      <translation variants="no">Private number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_on_hold">
+      <source>On hold</source>
+      <translation variants="no">on hold</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_calling">
+      <source>Calling</source>
+      <translation variants="no">Calling</translation>
+    </message>
+    <message numerus="no" id="txt_long_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_transfer">
+      <source>Transfer</source>
+      <translation variants="no">Transfer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_title_telephone">
+      <source>Telephone</source>
+      <translation variants="yes">
+        <lengthvariant priority="1">Telephone</lengthvariant>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_waiting">
+      <source>Waiting</source>
+      <translation variants="no">waiting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_called_number_has_barred_incoming">
+      <source>Called number has barred incoming calls</source>
+      <translation variants="no">Unable to make video call. Incoming calls barred on other phone.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_not_in_use">
+      <source>Number not in use</source>
+      <translation variants="no">Number not in use</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_could_not_send_own_number">
+      <source>Could not send own number</source>
+      <translation variants="no">Could not send your caller ID</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_not_allowed_during_resto">
+      <source>Video call not allowed during restore</source>
+      <translation variants="no">Unable to make video call during restoring operation</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_life_timer">
+      <source>Life timer\n%L1</source>
+      <translation variants="no">Life timer:
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_call_failed">
+      <source>Emergency call failed</source>
+      <translation variants="no">Emergency call failed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_sending">
+      <source>Sending\n%L1</source>
+      <translation variants="no">Sending
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_remote_sim">
+      <source>Remote SIM</source>
+      <translation variants="no">Remote SIM</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_calls_only">
+      <source>Emergency calls only</source>
+      <translation variants="no">Emergency calls only</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_network_busy">
+      <source>Network busy</source>
+      <translation variants="no">Network busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_unable_to_make_video_call_not_supp">
+      <source>Unable to make video call. Not supported by other phone or network.</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dblist_ongoing_call">
+      <source>Ongoing call</source>
+      <translation variants="no">Ongoing call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_videocall_only_possible_under_3g">
+      <source>Videocall only possible under 3G coverage</source>
+      <translation variants="no">Video calls not supported outside of 3G network</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_serial_no">
+      <source>Serial No.\n%L1</source>
+      <translation variants="no">Serial number:
+%1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_connected_to_1">
+      <source>Connected to %L1</source>
+      <translation variants="no">Connected to %L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_send_string">
+      <source>Send string:\n%L1</source>
+      <translation variants="no">Send DTMF:
%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_all_incoming_calls_diver">
+      <source>Note:  all incoming calls diverted</source>
+      <translation variants="no">Note: all incoming calls diverted</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_you_have_active_barrings">
+      <source>Note: you have active barrings</source>
+      <translation variants="no">Note: active call barrings</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_emergency_call">
+      <source>Emergency call</source>
+      <translation variants="no">Emergency call</translation>
+    </message>
+    <message numerus="yes" id="txt_phone_dblist_ln_missed_calls">
+      <source>%Ln missed calls</source>
+      <translation>
+        <numerusform plurality="a">#%Ln missed calls</numerusform>
+        <numerusform plurality="b">en #MISSING</numerusform>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_barred">
+      <source>Number barred</source>
+      <translation variants="no">Number barred</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_busy">
+      <source>Number busy</source>
+      <translation variants="no">Number busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_unknown_number">
+      <source>Unknown number</source>
+      <translation variants="no">Unknown number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_incoming_call">
+      <source>Incoming call</source>
+      <translation variants="no">calling</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_error_in_connection">
+      <source>Error in connection</source>
+      <translation variants="no">Connection error</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_end_all_calls">
+      <source>End all calls</source>
+      <translation variants="no">End all calls</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_no_answer">
+      <source>No answer</source>
+      <translation variants="no">No answer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_disconnected">
+      <source>Disconnected</source>
+      <translation variants="no">disconnected</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_conference_call_active">
+      <source>Conference call active</source>
+      <translation variants="no">Conference call active</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_phone_switched_off_or_out_of_3g">
+      <source>Phone switched off or out of 3G coverage</source>
+      <translation variants="no">Unable to make video call. Other phone switched off or outside of 3G network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_diverting">
+      <source>Diverting</source>
+      <translation variants="no">Diverting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_network_services">
+      <source>Check network services</source>
+      <translation variants="no">Check network services</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_own_number_sending">
+      <source>Check own number sending</source>
+      <translation variants="no">Check my caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_activate_own_number_sending">
+      <source>Activate own number sending</source>
+      <translation variants="no">Activate caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_share_video">
+      <source>Share video</source>
+      <translation variants="no">Share video</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_conference_call">
+      <source>Conference call</source>
+      <translation variants="no">Conference call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_invalid_phone_number">
+      <source>Invalid phone number</source>
+      <translation variants="no">Invalid phone number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_call_not_allowed_fixed_dialling">
+      <source>Call not allowed, fixed dialling active</source>
+      <translation variants="no">Call not allowed. Fixed dialling active.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_didnt_succeed_to_called">
+      <source>Video call didn't succeed to called end</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_short_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+  </context>
+</TS>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/tsrc/automaticanswertest/ts_files/automaticanswertest_bg.ts	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,214 @@
+<?xml version="1.0" encoding="utf-8"?>
+<TS version="1.0" sourcelanguage="en" language="en">
+  <context>
+    <name>nString</name>
+    <message numerus="no" id="txt_phone_dpopinfo_no_network_coverage">
+      <source>No network coverage</source>
+      <translation variants="no">No network coverage</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_not_allowed">
+      <source>Not allowed</source>
+      <translation variants="no">Not allowed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_attempting">
+      <source>Attempting</source>
+      <translation variants="no">Attempting emergency call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_private_number">
+      <source>Private number</source>
+      <translation variants="no">Private number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_on_hold">
+      <source>On hold</source>
+      <translation variants="no">on hold</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_calling">
+      <source>Calling</source>
+      <translation variants="no">Calling</translation>
+    </message>
+    <message numerus="no" id="txt_long_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_transfer">
+      <source>Transfer</source>
+      <translation variants="no">Transfer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_title_telephone">
+      <source>Telephone</source>
+      <translation variants="yes">
+        <lengthvariant priority="1">Telephone</lengthvariant>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_waiting">
+      <source>Waiting</source>
+      <translation variants="no">waiting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_called_number_has_barred_incoming">
+      <source>Called number has barred incoming calls</source>
+      <translation variants="no">Unable to make video call. Incoming calls barred on other phone.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_not_in_use">
+      <source>Number not in use</source>
+      <translation variants="no">Number not in use</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_could_not_send_own_number">
+      <source>Could not send own number</source>
+      <translation variants="no">Could not send your caller ID</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_not_allowed_during_resto">
+      <source>Video call not allowed during restore</source>
+      <translation variants="no">Unable to make video call during restoring operation</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_life_timer">
+      <source>Life timer\n%L1</source>
+      <translation variants="no">Life timer:
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_call_failed">
+      <source>Emergency call failed</source>
+      <translation variants="no">Emergency call failed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_sending">
+      <source>Sending\n%L1</source>
+      <translation variants="no">Sending
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_remote_sim">
+      <source>Remote SIM</source>
+      <translation variants="no">Remote SIM</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_calls_only">
+      <source>Emergency calls only</source>
+      <translation variants="no">Emergency calls only</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_network_busy">
+      <source>Network busy</source>
+      <translation variants="no">Network busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_unable_to_make_video_call_not_supp">
+      <source>Unable to make video call. Not supported by other phone or network.</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dblist_ongoing_call">
+      <source>Ongoing call</source>
+      <translation variants="no">Ongoing call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_videocall_only_possible_under_3g">
+      <source>Videocall only possible under 3G coverage</source>
+      <translation variants="no">Video calls not supported outside of 3G network</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_serial_no">
+      <source>Serial No.\n%L1</source>
+      <translation variants="no">Serial number:
+%1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_connected_to_1">
+      <source>Connected to %L1</source>
+      <translation variants="no">Connected to %L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_send_string">
+      <source>Send string:\n%L1</source>
+      <translation variants="no">Send DTMF:
%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_all_incoming_calls_diver">
+      <source>Note:  all incoming calls diverted</source>
+      <translation variants="no">Note: all incoming calls diverted</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_you_have_active_barrings">
+      <source>Note: you have active barrings</source>
+      <translation variants="no">Note: active call barrings</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_emergency_call">
+      <source>Emergency call</source>
+      <translation variants="no">Emergency call</translation>
+    </message>
+    <message numerus="yes" id="txt_phone_dblist_ln_missed_calls">
+      <source>%Ln missed calls</source>
+      <translation>
+        <numerusform plurality="a">#%Ln missed calls</numerusform>
+        <numerusform plurality="b">en #MISSING</numerusform>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_barred">
+      <source>Number barred</source>
+      <translation variants="no">Number barred</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_busy">
+      <source>Number busy</source>
+      <translation variants="no">Number busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_unknown_number">
+      <source>Unknown number</source>
+      <translation variants="no">Unknown number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_incoming_call">
+      <source>Incoming call</source>
+      <translation variants="no">calling</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_error_in_connection">
+      <source>Error in connection</source>
+      <translation variants="no">Connection error</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_end_all_calls">
+      <source>End all calls</source>
+      <translation variants="no">End all calls</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_no_answer">
+      <source>No answer</source>
+      <translation variants="no">No answer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_disconnected">
+      <source>Disconnected</source>
+      <translation variants="no">disconnected</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_conference_call_active">
+      <source>Conference call active</source>
+      <translation variants="no">Conference call active</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_phone_switched_off_or_out_of_3g">
+      <source>Phone switched off or out of 3G coverage</source>
+      <translation variants="no">Unable to make video call. Other phone switched off or outside of 3G network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_diverting">
+      <source>Diverting</source>
+      <translation variants="no">Diverting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_network_services">
+      <source>Check network services</source>
+      <translation variants="no">Check network services</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_own_number_sending">
+      <source>Check own number sending</source>
+      <translation variants="no">Check my caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_activate_own_number_sending">
+      <source>Activate own number sending</source>
+      <translation variants="no">Activate caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_share_video">
+      <source>Share video</source>
+      <translation variants="no">Share video</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_conference_call">
+      <source>Conference call</source>
+      <translation variants="no">Conference call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_invalid_phone_number">
+      <source>Invalid phone number</source>
+      <translation variants="no">Invalid phone number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_call_not_allowed_fixed_dialling">
+      <source>Call not allowed, fixed dialling active</source>
+      <translation variants="no">Call not allowed. Fixed dialling active.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_didnt_succeed_to_called">
+      <source>Video call didn't succeed to called end</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_short_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+  </context>
+</TS>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/tsrc/automaticanswertest/ts_files/automaticanswertest_ca.ts	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,214 @@
+<?xml version="1.0" encoding="utf-8"?>
+<TS version="1.0" sourcelanguage="en" language="en">
+  <context>
+    <name>nString</name>
+    <message numerus="no" id="txt_phone_dpopinfo_no_network_coverage">
+      <source>No network coverage</source>
+      <translation variants="no">No network coverage</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_not_allowed">
+      <source>Not allowed</source>
+      <translation variants="no">Not allowed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_attempting">
+      <source>Attempting</source>
+      <translation variants="no">Attempting emergency call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_private_number">
+      <source>Private number</source>
+      <translation variants="no">Private number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_on_hold">
+      <source>On hold</source>
+      <translation variants="no">on hold</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_calling">
+      <source>Calling</source>
+      <translation variants="no">Calling</translation>
+    </message>
+    <message numerus="no" id="txt_long_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_transfer">
+      <source>Transfer</source>
+      <translation variants="no">Transfer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_title_telephone">
+      <source>Telephone</source>
+      <translation variants="yes">
+        <lengthvariant priority="1">Telephone</lengthvariant>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_waiting">
+      <source>Waiting</source>
+      <translation variants="no">waiting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_called_number_has_barred_incoming">
+      <source>Called number has barred incoming calls</source>
+      <translation variants="no">Unable to make video call. Incoming calls barred on other phone.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_not_in_use">
+      <source>Number not in use</source>
+      <translation variants="no">Number not in use</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_could_not_send_own_number">
+      <source>Could not send own number</source>
+      <translation variants="no">Could not send your caller ID</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_not_allowed_during_resto">
+      <source>Video call not allowed during restore</source>
+      <translation variants="no">Unable to make video call during restoring operation</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_life_timer">
+      <source>Life timer\n%L1</source>
+      <translation variants="no">Life timer:
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_call_failed">
+      <source>Emergency call failed</source>
+      <translation variants="no">Emergency call failed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_sending">
+      <source>Sending\n%L1</source>
+      <translation variants="no">Sending
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_remote_sim">
+      <source>Remote SIM</source>
+      <translation variants="no">Remote SIM</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_calls_only">
+      <source>Emergency calls only</source>
+      <translation variants="no">Emergency calls only</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_network_busy">
+      <source>Network busy</source>
+      <translation variants="no">Network busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_unable_to_make_video_call_not_supp">
+      <source>Unable to make video call. Not supported by other phone or network.</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dblist_ongoing_call">
+      <source>Ongoing call</source>
+      <translation variants="no">Ongoing call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_videocall_only_possible_under_3g">
+      <source>Videocall only possible under 3G coverage</source>
+      <translation variants="no">Video calls not supported outside of 3G network</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_serial_no">
+      <source>Serial No.\n%L1</source>
+      <translation variants="no">Serial number:
+%1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_connected_to_1">
+      <source>Connected to %L1</source>
+      <translation variants="no">Connected to %L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_send_string">
+      <source>Send string:\n%L1</source>
+      <translation variants="no">Send DTMF:
%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_all_incoming_calls_diver">
+      <source>Note:  all incoming calls diverted</source>
+      <translation variants="no">Note: all incoming calls diverted</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_you_have_active_barrings">
+      <source>Note: you have active barrings</source>
+      <translation variants="no">Note: active call barrings</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_emergency_call">
+      <source>Emergency call</source>
+      <translation variants="no">Emergency call</translation>
+    </message>
+    <message numerus="yes" id="txt_phone_dblist_ln_missed_calls">
+      <source>%Ln missed calls</source>
+      <translation>
+        <numerusform plurality="a">#%Ln missed calls</numerusform>
+        <numerusform plurality="b">en #MISSING</numerusform>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_barred">
+      <source>Number barred</source>
+      <translation variants="no">Number barred</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_busy">
+      <source>Number busy</source>
+      <translation variants="no">Number busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_unknown_number">
+      <source>Unknown number</source>
+      <translation variants="no">Unknown number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_incoming_call">
+      <source>Incoming call</source>
+      <translation variants="no">calling</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_error_in_connection">
+      <source>Error in connection</source>
+      <translation variants="no">Connection error</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_end_all_calls">
+      <source>End all calls</source>
+      <translation variants="no">End all calls</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_no_answer">
+      <source>No answer</source>
+      <translation variants="no">No answer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_disconnected">
+      <source>Disconnected</source>
+      <translation variants="no">disconnected</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_conference_call_active">
+      <source>Conference call active</source>
+      <translation variants="no">Conference call active</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_phone_switched_off_or_out_of_3g">
+      <source>Phone switched off or out of 3G coverage</source>
+      <translation variants="no">Unable to make video call. Other phone switched off or outside of 3G network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_diverting">
+      <source>Diverting</source>
+      <translation variants="no">Diverting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_network_services">
+      <source>Check network services</source>
+      <translation variants="no">Check network services</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_own_number_sending">
+      <source>Check own number sending</source>
+      <translation variants="no">Check my caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_activate_own_number_sending">
+      <source>Activate own number sending</source>
+      <translation variants="no">Activate caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_share_video">
+      <source>Share video</source>
+      <translation variants="no">Share video</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_conference_call">
+      <source>Conference call</source>
+      <translation variants="no">Conference call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_invalid_phone_number">
+      <source>Invalid phone number</source>
+      <translation variants="no">Invalid phone number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_call_not_allowed_fixed_dialling">
+      <source>Call not allowed, fixed dialling active</source>
+      <translation variants="no">Call not allowed. Fixed dialling active.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_didnt_succeed_to_called">
+      <source>Video call didn't succeed to called end</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_short_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+  </context>
+</TS>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/tsrc/automaticanswertest/ts_files/automaticanswertest_cs.ts	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,214 @@
+<?xml version="1.0" encoding="utf-8"?>
+<TS version="1.0" sourcelanguage="en" language="en">
+  <context>
+    <name>nString</name>
+    <message numerus="no" id="txt_phone_dpopinfo_no_network_coverage">
+      <source>No network coverage</source>
+      <translation variants="no">No network coverage</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_not_allowed">
+      <source>Not allowed</source>
+      <translation variants="no">Not allowed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_attempting">
+      <source>Attempting</source>
+      <translation variants="no">Attempting emergency call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_private_number">
+      <source>Private number</source>
+      <translation variants="no">Private number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_on_hold">
+      <source>On hold</source>
+      <translation variants="no">on hold</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_calling">
+      <source>Calling</source>
+      <translation variants="no">Calling</translation>
+    </message>
+    <message numerus="no" id="txt_long_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_transfer">
+      <source>Transfer</source>
+      <translation variants="no">Transfer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_title_telephone">
+      <source>Telephone</source>
+      <translation variants="yes">
+        <lengthvariant priority="1">Telephone</lengthvariant>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_waiting">
+      <source>Waiting</source>
+      <translation variants="no">waiting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_called_number_has_barred_incoming">
+      <source>Called number has barred incoming calls</source>
+      <translation variants="no">Unable to make video call. Incoming calls barred on other phone.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_not_in_use">
+      <source>Number not in use</source>
+      <translation variants="no">Number not in use</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_could_not_send_own_number">
+      <source>Could not send own number</source>
+      <translation variants="no">Could not send your caller ID</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_not_allowed_during_resto">
+      <source>Video call not allowed during restore</source>
+      <translation variants="no">Unable to make video call during restoring operation</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_life_timer">
+      <source>Life timer\n%L1</source>
+      <translation variants="no">Life timer:
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_call_failed">
+      <source>Emergency call failed</source>
+      <translation variants="no">Emergency call failed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_sending">
+      <source>Sending\n%L1</source>
+      <translation variants="no">Sending
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_remote_sim">
+      <source>Remote SIM</source>
+      <translation variants="no">Remote SIM</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_calls_only">
+      <source>Emergency calls only</source>
+      <translation variants="no">Emergency calls only</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_network_busy">
+      <source>Network busy</source>
+      <translation variants="no">Network busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_unable_to_make_video_call_not_supp">
+      <source>Unable to make video call. Not supported by other phone or network.</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dblist_ongoing_call">
+      <source>Ongoing call</source>
+      <translation variants="no">Ongoing call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_videocall_only_possible_under_3g">
+      <source>Videocall only possible under 3G coverage</source>
+      <translation variants="no">Video calls not supported outside of 3G network</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_serial_no">
+      <source>Serial No.\n%L1</source>
+      <translation variants="no">Serial number:
+%1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_connected_to_1">
+      <source>Connected to %L1</source>
+      <translation variants="no">Connected to %L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_send_string">
+      <source>Send string:\n%L1</source>
+      <translation variants="no">Send DTMF:
%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_all_incoming_calls_diver">
+      <source>Note:  all incoming calls diverted</source>
+      <translation variants="no">Note: all incoming calls diverted</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_you_have_active_barrings">
+      <source>Note: you have active barrings</source>
+      <translation variants="no">Note: active call barrings</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_emergency_call">
+      <source>Emergency call</source>
+      <translation variants="no">Emergency call</translation>
+    </message>
+    <message numerus="yes" id="txt_phone_dblist_ln_missed_calls">
+      <source>%Ln missed calls</source>
+      <translation>
+        <numerusform plurality="a">#%Ln missed calls</numerusform>
+        <numerusform plurality="b">en #MISSING</numerusform>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_barred">
+      <source>Number barred</source>
+      <translation variants="no">Number barred</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_busy">
+      <source>Number busy</source>
+      <translation variants="no">Number busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_unknown_number">
+      <source>Unknown number</source>
+      <translation variants="no">Unknown number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_incoming_call">
+      <source>Incoming call</source>
+      <translation variants="no">calling</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_error_in_connection">
+      <source>Error in connection</source>
+      <translation variants="no">Connection error</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_end_all_calls">
+      <source>End all calls</source>
+      <translation variants="no">End all calls</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_no_answer">
+      <source>No answer</source>
+      <translation variants="no">No answer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_disconnected">
+      <source>Disconnected</source>
+      <translation variants="no">disconnected</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_conference_call_active">
+      <source>Conference call active</source>
+      <translation variants="no">Conference call active</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_phone_switched_off_or_out_of_3g">
+      <source>Phone switched off or out of 3G coverage</source>
+      <translation variants="no">Unable to make video call. Other phone switched off or outside of 3G network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_diverting">
+      <source>Diverting</source>
+      <translation variants="no">Diverting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_network_services">
+      <source>Check network services</source>
+      <translation variants="no">Check network services</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_own_number_sending">
+      <source>Check own number sending</source>
+      <translation variants="no">Check my caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_activate_own_number_sending">
+      <source>Activate own number sending</source>
+      <translation variants="no">Activate caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_share_video">
+      <source>Share video</source>
+      <translation variants="no">Share video</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_conference_call">
+      <source>Conference call</source>
+      <translation variants="no">Conference call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_invalid_phone_number">
+      <source>Invalid phone number</source>
+      <translation variants="no">Invalid phone number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_call_not_allowed_fixed_dialling">
+      <source>Call not allowed, fixed dialling active</source>
+      <translation variants="no">Call not allowed. Fixed dialling active.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_didnt_succeed_to_called">
+      <source>Video call didn't succeed to called end</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_short_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+  </context>
+</TS>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/tsrc/automaticanswertest/ts_files/automaticanswertest_da.ts	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,214 @@
+<?xml version="1.0" encoding="utf-8"?>
+<TS version="1.0" sourcelanguage="en" language="en">
+  <context>
+    <name>nString</name>
+    <message numerus="no" id="txt_phone_dpopinfo_no_network_coverage">
+      <source>No network coverage</source>
+      <translation variants="no">No network coverage</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_not_allowed">
+      <source>Not allowed</source>
+      <translation variants="no">Not allowed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_attempting">
+      <source>Attempting</source>
+      <translation variants="no">Attempting emergency call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_private_number">
+      <source>Private number</source>
+      <translation variants="no">Private number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_on_hold">
+      <source>On hold</source>
+      <translation variants="no">on hold</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_calling">
+      <source>Calling</source>
+      <translation variants="no">Calling</translation>
+    </message>
+    <message numerus="no" id="txt_long_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_transfer">
+      <source>Transfer</source>
+      <translation variants="no">Transfer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_title_telephone">
+      <source>Telephone</source>
+      <translation variants="yes">
+        <lengthvariant priority="1">Telephone</lengthvariant>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_waiting">
+      <source>Waiting</source>
+      <translation variants="no">waiting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_called_number_has_barred_incoming">
+      <source>Called number has barred incoming calls</source>
+      <translation variants="no">Unable to make video call. Incoming calls barred on other phone.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_not_in_use">
+      <source>Number not in use</source>
+      <translation variants="no">Number not in use</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_could_not_send_own_number">
+      <source>Could not send own number</source>
+      <translation variants="no">Could not send your caller ID</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_not_allowed_during_resto">
+      <source>Video call not allowed during restore</source>
+      <translation variants="no">Unable to make video call during restoring operation</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_life_timer">
+      <source>Life timer\n%L1</source>
+      <translation variants="no">Life timer:
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_call_failed">
+      <source>Emergency call failed</source>
+      <translation variants="no">Emergency call failed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_sending">
+      <source>Sending\n%L1</source>
+      <translation variants="no">Sending
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_remote_sim">
+      <source>Remote SIM</source>
+      <translation variants="no">Remote SIM</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_calls_only">
+      <source>Emergency calls only</source>
+      <translation variants="no">Emergency calls only</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_network_busy">
+      <source>Network busy</source>
+      <translation variants="no">Network busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_unable_to_make_video_call_not_supp">
+      <source>Unable to make video call. Not supported by other phone or network.</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dblist_ongoing_call">
+      <source>Ongoing call</source>
+      <translation variants="no">Ongoing call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_videocall_only_possible_under_3g">
+      <source>Videocall only possible under 3G coverage</source>
+      <translation variants="no">Video calls not supported outside of 3G network</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_serial_no">
+      <source>Serial No.\n%L1</source>
+      <translation variants="no">Serial number:
+%1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_connected_to_1">
+      <source>Connected to %L1</source>
+      <translation variants="no">Connected to %L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_send_string">
+      <source>Send string:\n%L1</source>
+      <translation variants="no">Send DTMF:
%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_all_incoming_calls_diver">
+      <source>Note:  all incoming calls diverted</source>
+      <translation variants="no">Note: all incoming calls diverted</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_you_have_active_barrings">
+      <source>Note: you have active barrings</source>
+      <translation variants="no">Note: active call barrings</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_emergency_call">
+      <source>Emergency call</source>
+      <translation variants="no">Emergency call</translation>
+    </message>
+    <message numerus="yes" id="txt_phone_dblist_ln_missed_calls">
+      <source>%Ln missed calls</source>
+      <translation>
+        <numerusform plurality="a">#%Ln missed calls</numerusform>
+        <numerusform plurality="b">en #MISSING</numerusform>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_barred">
+      <source>Number barred</source>
+      <translation variants="no">Number barred</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_busy">
+      <source>Number busy</source>
+      <translation variants="no">Number busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_unknown_number">
+      <source>Unknown number</source>
+      <translation variants="no">Unknown number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_incoming_call">
+      <source>Incoming call</source>
+      <translation variants="no">calling</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_error_in_connection">
+      <source>Error in connection</source>
+      <translation variants="no">Connection error</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_end_all_calls">
+      <source>End all calls</source>
+      <translation variants="no">End all calls</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_no_answer">
+      <source>No answer</source>
+      <translation variants="no">No answer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_disconnected">
+      <source>Disconnected</source>
+      <translation variants="no">disconnected</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_conference_call_active">
+      <source>Conference call active</source>
+      <translation variants="no">Conference call active</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_phone_switched_off_or_out_of_3g">
+      <source>Phone switched off or out of 3G coverage</source>
+      <translation variants="no">Unable to make video call. Other phone switched off or outside of 3G network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_diverting">
+      <source>Diverting</source>
+      <translation variants="no">Diverting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_network_services">
+      <source>Check network services</source>
+      <translation variants="no">Check network services</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_own_number_sending">
+      <source>Check own number sending</source>
+      <translation variants="no">Check my caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_activate_own_number_sending">
+      <source>Activate own number sending</source>
+      <translation variants="no">Activate caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_share_video">
+      <source>Share video</source>
+      <translation variants="no">Share video</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_conference_call">
+      <source>Conference call</source>
+      <translation variants="no">Conference call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_invalid_phone_number">
+      <source>Invalid phone number</source>
+      <translation variants="no">Invalid phone number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_call_not_allowed_fixed_dialling">
+      <source>Call not allowed, fixed dialling active</source>
+      <translation variants="no">Call not allowed. Fixed dialling active.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_didnt_succeed_to_called">
+      <source>Video call didn't succeed to called end</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_short_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+  </context>
+</TS>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/tsrc/automaticanswertest/ts_files/automaticanswertest_de.ts	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,214 @@
+<?xml version="1.0" encoding="utf-8"?>
+<TS version="1.0" sourcelanguage="en" language="en">
+  <context>
+    <name>nString</name>
+    <message numerus="no" id="txt_phone_dpopinfo_no_network_coverage">
+      <source>No network coverage</source>
+      <translation variants="no">No network coverage</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_not_allowed">
+      <source>Not allowed</source>
+      <translation variants="no">Not allowed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_attempting">
+      <source>Attempting</source>
+      <translation variants="no">Attempting emergency call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_private_number">
+      <source>Private number</source>
+      <translation variants="no">Private number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_on_hold">
+      <source>On hold</source>
+      <translation variants="no">on hold</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_calling">
+      <source>Calling</source>
+      <translation variants="no">Calling</translation>
+    </message>
+    <message numerus="no" id="txt_long_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_transfer">
+      <source>Transfer</source>
+      <translation variants="no">Transfer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_title_telephone">
+      <source>Telephone</source>
+      <translation variants="yes">
+        <lengthvariant priority="1">Telephone</lengthvariant>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_waiting">
+      <source>Waiting</source>
+      <translation variants="no">waiting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_called_number_has_barred_incoming">
+      <source>Called number has barred incoming calls</source>
+      <translation variants="no">Unable to make video call. Incoming calls barred on other phone.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_not_in_use">
+      <source>Number not in use</source>
+      <translation variants="no">Number not in use</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_could_not_send_own_number">
+      <source>Could not send own number</source>
+      <translation variants="no">Could not send your caller ID</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_not_allowed_during_resto">
+      <source>Video call not allowed during restore</source>
+      <translation variants="no">Unable to make video call during restoring operation</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_life_timer">
+      <source>Life timer\n%L1</source>
+      <translation variants="no">Life timer:
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_call_failed">
+      <source>Emergency call failed</source>
+      <translation variants="no">Emergency call failed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_sending">
+      <source>Sending\n%L1</source>
+      <translation variants="no">Sending
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_remote_sim">
+      <source>Remote SIM</source>
+      <translation variants="no">Remote SIM</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_calls_only">
+      <source>Emergency calls only</source>
+      <translation variants="no">Emergency calls only</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_network_busy">
+      <source>Network busy</source>
+      <translation variants="no">Network busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_unable_to_make_video_call_not_supp">
+      <source>Unable to make video call. Not supported by other phone or network.</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dblist_ongoing_call">
+      <source>Ongoing call</source>
+      <translation variants="no">Ongoing call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_videocall_only_possible_under_3g">
+      <source>Videocall only possible under 3G coverage</source>
+      <translation variants="no">Video calls not supported outside of 3G network</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_serial_no">
+      <source>Serial No.\n%L1</source>
+      <translation variants="no">Serial number:
+%1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_connected_to_1">
+      <source>Connected to %L1</source>
+      <translation variants="no">Connected to %L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_send_string">
+      <source>Send string:\n%L1</source>
+      <translation variants="no">Send DTMF:
%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_all_incoming_calls_diver">
+      <source>Note:  all incoming calls diverted</source>
+      <translation variants="no">Note: all incoming calls diverted</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_you_have_active_barrings">
+      <source>Note: you have active barrings</source>
+      <translation variants="no">Note: active call barrings</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_emergency_call">
+      <source>Emergency call</source>
+      <translation variants="no">Emergency call</translation>
+    </message>
+    <message numerus="yes" id="txt_phone_dblist_ln_missed_calls">
+      <source>%Ln missed calls</source>
+      <translation>
+        <numerusform plurality="a">#%Ln missed calls</numerusform>
+        <numerusform plurality="b">en #MISSING</numerusform>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_barred">
+      <source>Number barred</source>
+      <translation variants="no">Number barred</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_busy">
+      <source>Number busy</source>
+      <translation variants="no">Number busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_unknown_number">
+      <source>Unknown number</source>
+      <translation variants="no">Unknown number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_incoming_call">
+      <source>Incoming call</source>
+      <translation variants="no">calling</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_error_in_connection">
+      <source>Error in connection</source>
+      <translation variants="no">Connection error</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_end_all_calls">
+      <source>End all calls</source>
+      <translation variants="no">End all calls</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_no_answer">
+      <source>No answer</source>
+      <translation variants="no">No answer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_disconnected">
+      <source>Disconnected</source>
+      <translation variants="no">disconnected</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_conference_call_active">
+      <source>Conference call active</source>
+      <translation variants="no">Conference call active</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_phone_switched_off_or_out_of_3g">
+      <source>Phone switched off or out of 3G coverage</source>
+      <translation variants="no">Unable to make video call. Other phone switched off or outside of 3G network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_diverting">
+      <source>Diverting</source>
+      <translation variants="no">Diverting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_network_services">
+      <source>Check network services</source>
+      <translation variants="no">Check network services</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_own_number_sending">
+      <source>Check own number sending</source>
+      <translation variants="no">Check my caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_activate_own_number_sending">
+      <source>Activate own number sending</source>
+      <translation variants="no">Activate caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_share_video">
+      <source>Share video</source>
+      <translation variants="no">Share video</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_conference_call">
+      <source>Conference call</source>
+      <translation variants="no">Conference call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_invalid_phone_number">
+      <source>Invalid phone number</source>
+      <translation variants="no">Invalid phone number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_call_not_allowed_fixed_dialling">
+      <source>Call not allowed, fixed dialling active</source>
+      <translation variants="no">Call not allowed. Fixed dialling active.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_didnt_succeed_to_called">
+      <source>Video call didn't succeed to called end</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_short_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+  </context>
+</TS>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/tsrc/automaticanswertest/ts_files/automaticanswertest_el.ts	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,214 @@
+<?xml version="1.0" encoding="utf-8"?>
+<TS version="1.0" sourcelanguage="en" language="en">
+  <context>
+    <name>nString</name>
+    <message numerus="no" id="txt_phone_dpopinfo_no_network_coverage">
+      <source>No network coverage</source>
+      <translation variants="no">No network coverage</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_not_allowed">
+      <source>Not allowed</source>
+      <translation variants="no">Not allowed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_attempting">
+      <source>Attempting</source>
+      <translation variants="no">Attempting emergency call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_private_number">
+      <source>Private number</source>
+      <translation variants="no">Private number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_on_hold">
+      <source>On hold</source>
+      <translation variants="no">on hold</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_calling">
+      <source>Calling</source>
+      <translation variants="no">Calling</translation>
+    </message>
+    <message numerus="no" id="txt_long_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_transfer">
+      <source>Transfer</source>
+      <translation variants="no">Transfer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_title_telephone">
+      <source>Telephone</source>
+      <translation variants="yes">
+        <lengthvariant priority="1">Telephone</lengthvariant>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_waiting">
+      <source>Waiting</source>
+      <translation variants="no">waiting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_called_number_has_barred_incoming">
+      <source>Called number has barred incoming calls</source>
+      <translation variants="no">Unable to make video call. Incoming calls barred on other phone.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_not_in_use">
+      <source>Number not in use</source>
+      <translation variants="no">Number not in use</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_could_not_send_own_number">
+      <source>Could not send own number</source>
+      <translation variants="no">Could not send your caller ID</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_not_allowed_during_resto">
+      <source>Video call not allowed during restore</source>
+      <translation variants="no">Unable to make video call during restoring operation</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_life_timer">
+      <source>Life timer\n%L1</source>
+      <translation variants="no">Life timer:
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_call_failed">
+      <source>Emergency call failed</source>
+      <translation variants="no">Emergency call failed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_sending">
+      <source>Sending\n%L1</source>
+      <translation variants="no">Sending
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_remote_sim">
+      <source>Remote SIM</source>
+      <translation variants="no">Remote SIM</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_calls_only">
+      <source>Emergency calls only</source>
+      <translation variants="no">Emergency calls only</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_network_busy">
+      <source>Network busy</source>
+      <translation variants="no">Network busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_unable_to_make_video_call_not_supp">
+      <source>Unable to make video call. Not supported by other phone or network.</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dblist_ongoing_call">
+      <source>Ongoing call</source>
+      <translation variants="no">Ongoing call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_videocall_only_possible_under_3g">
+      <source>Videocall only possible under 3G coverage</source>
+      <translation variants="no">Video calls not supported outside of 3G network</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_serial_no">
+      <source>Serial No.\n%L1</source>
+      <translation variants="no">Serial number:
+%1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_connected_to_1">
+      <source>Connected to %L1</source>
+      <translation variants="no">Connected to %L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_send_string">
+      <source>Send string:\n%L1</source>
+      <translation variants="no">Send DTMF:
%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_all_incoming_calls_diver">
+      <source>Note:  all incoming calls diverted</source>
+      <translation variants="no">Note: all incoming calls diverted</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_you_have_active_barrings">
+      <source>Note: you have active barrings</source>
+      <translation variants="no">Note: active call barrings</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_emergency_call">
+      <source>Emergency call</source>
+      <translation variants="no">Emergency call</translation>
+    </message>
+    <message numerus="yes" id="txt_phone_dblist_ln_missed_calls">
+      <source>%Ln missed calls</source>
+      <translation>
+        <numerusform plurality="a">#%Ln missed calls</numerusform>
+        <numerusform plurality="b">en #MISSING</numerusform>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_barred">
+      <source>Number barred</source>
+      <translation variants="no">Number barred</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_busy">
+      <source>Number busy</source>
+      <translation variants="no">Number busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_unknown_number">
+      <source>Unknown number</source>
+      <translation variants="no">Unknown number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_incoming_call">
+      <source>Incoming call</source>
+      <translation variants="no">calling</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_error_in_connection">
+      <source>Error in connection</source>
+      <translation variants="no">Connection error</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_end_all_calls">
+      <source>End all calls</source>
+      <translation variants="no">End all calls</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_no_answer">
+      <source>No answer</source>
+      <translation variants="no">No answer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_disconnected">
+      <source>Disconnected</source>
+      <translation variants="no">disconnected</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_conference_call_active">
+      <source>Conference call active</source>
+      <translation variants="no">Conference call active</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_phone_switched_off_or_out_of_3g">
+      <source>Phone switched off or out of 3G coverage</source>
+      <translation variants="no">Unable to make video call. Other phone switched off or outside of 3G network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_diverting">
+      <source>Diverting</source>
+      <translation variants="no">Diverting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_network_services">
+      <source>Check network services</source>
+      <translation variants="no">Check network services</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_own_number_sending">
+      <source>Check own number sending</source>
+      <translation variants="no">Check my caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_activate_own_number_sending">
+      <source>Activate own number sending</source>
+      <translation variants="no">Activate caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_share_video">
+      <source>Share video</source>
+      <translation variants="no">Share video</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_conference_call">
+      <source>Conference call</source>
+      <translation variants="no">Conference call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_invalid_phone_number">
+      <source>Invalid phone number</source>
+      <translation variants="no">Invalid phone number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_call_not_allowed_fixed_dialling">
+      <source>Call not allowed, fixed dialling active</source>
+      <translation variants="no">Call not allowed. Fixed dialling active.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_didnt_succeed_to_called">
+      <source>Video call didn't succeed to called end</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_short_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+  </context>
+</TS>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/tsrc/automaticanswertest/ts_files/automaticanswertest_en.ts	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,214 @@
+<?xml version="1.0" encoding="utf-8"?>
+<TS version="1.0" sourcelanguage="en" language="en">
+  <context>
+    <name>nString</name>
+    <message numerus="no" id="txt_phone_dpopinfo_no_network_coverage">
+      <source>No network coverage</source>
+      <translation variants="no">No network coverage</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_not_allowed">
+      <source>Not allowed</source>
+      <translation variants="no">Not allowed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_attempting">
+      <source>Attempting</source>
+      <translation variants="no">Attempting emergency call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_private_number">
+      <source>Private number</source>
+      <translation variants="no">Private number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_on_hold">
+      <source>On hold</source>
+      <translation variants="no">on hold</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_calling">
+      <source>Calling</source>
+      <translation variants="no">Calling</translation>
+    </message>
+    <message numerus="no" id="txt_long_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_transfer">
+      <source>Transfer</source>
+      <translation variants="no">Transfer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_title_telephone">
+      <source>Telephone</source>
+      <translation variants="yes">
+        <lengthvariant priority="1">Telephone</lengthvariant>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_waiting">
+      <source>Waiting</source>
+      <translation variants="no">waiting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_called_number_has_barred_incoming">
+      <source>Called number has barred incoming calls</source>
+      <translation variants="no">Unable to make video call. Incoming calls barred on other phone.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_not_in_use">
+      <source>Number not in use</source>
+      <translation variants="no">Number not in use</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_could_not_send_own_number">
+      <source>Could not send own number</source>
+      <translation variants="no">Could not send your caller ID</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_not_allowed_during_resto">
+      <source>Video call not allowed during restore</source>
+      <translation variants="no">Unable to make video call during restoring operation</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_life_timer">
+      <source>Life timer\n%L1</source>
+      <translation variants="no">Life timer:
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_call_failed">
+      <source>Emergency call failed</source>
+      <translation variants="no">Emergency call failed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_sending">
+      <source>Sending\n%L1</source>
+      <translation variants="no">Sending
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_remote_sim">
+      <source>Remote SIM</source>
+      <translation variants="no">Remote SIM</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_calls_only">
+      <source>Emergency calls only</source>
+      <translation variants="no">Emergency calls only</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_network_busy">
+      <source>Network busy</source>
+      <translation variants="no">Network busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_unable_to_make_video_call_not_supp">
+      <source>Unable to make video call. Not supported by other phone or network.</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dblist_ongoing_call">
+      <source>Ongoing call</source>
+      <translation variants="no">Ongoing call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_videocall_only_possible_under_3g">
+      <source>Videocall only possible under 3G coverage</source>
+      <translation variants="no">Video calls not supported outside of 3G network</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_serial_no">
+      <source>Serial No.\n%L1</source>
+      <translation variants="no">Serial number:
+%1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_connected_to_1">
+      <source>Connected to %L1</source>
+      <translation variants="no">Connected to %L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_send_string">
+      <source>Send string:\n%L1</source>
+      <translation variants="no">Send DTMF:
%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_all_incoming_calls_diver">
+      <source>Note:  all incoming calls diverted</source>
+      <translation variants="no">Note: all incoming calls diverted</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_you_have_active_barrings">
+      <source>Note: you have active barrings</source>
+      <translation variants="no">Note: active call barrings</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_emergency_call">
+      <source>Emergency call</source>
+      <translation variants="no">Emergency call</translation>
+    </message>
+    <message numerus="yes" id="txt_phone_dblist_ln_missed_calls">
+      <source>%Ln missed calls</source>
+      <translation>
+        <numerusform plurality="a">#%Ln missed calls</numerusform>
+        <numerusform plurality="b">en #MISSING</numerusform>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_barred">
+      <source>Number barred</source>
+      <translation variants="no">Number barred</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_busy">
+      <source>Number busy</source>
+      <translation variants="no">Number busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_unknown_number">
+      <source>Unknown number</source>
+      <translation variants="no">Unknown number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_incoming_call">
+      <source>Incoming call</source>
+      <translation variants="no">calling</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_error_in_connection">
+      <source>Error in connection</source>
+      <translation variants="no">Connection error</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_end_all_calls">
+      <source>End all calls</source>
+      <translation variants="no">End all calls</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_no_answer">
+      <source>No answer</source>
+      <translation variants="no">No answer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_disconnected">
+      <source>Disconnected</source>
+      <translation variants="no">disconnected</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_conference_call_active">
+      <source>Conference call active</source>
+      <translation variants="no">Conference call active</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_phone_switched_off_or_out_of_3g">
+      <source>Phone switched off or out of 3G coverage</source>
+      <translation variants="no">Unable to make video call. Other phone switched off or outside of 3G network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_diverting">
+      <source>Diverting</source>
+      <translation variants="no">Diverting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_network_services">
+      <source>Check network services</source>
+      <translation variants="no">Check network services</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_own_number_sending">
+      <source>Check own number sending</source>
+      <translation variants="no">Check my caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_activate_own_number_sending">
+      <source>Activate own number sending</source>
+      <translation variants="no">Activate caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_share_video">
+      <source>Share video</source>
+      <translation variants="no">Share video</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_conference_call">
+      <source>Conference call</source>
+      <translation variants="no">Conference call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_invalid_phone_number">
+      <source>Invalid phone number</source>
+      <translation variants="no">Invalid phone number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_call_not_allowed_fixed_dialling">
+      <source>Call not allowed, fixed dialling active</source>
+      <translation variants="no">Call not allowed. Fixed dialling active.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_didnt_succeed_to_called">
+      <source>Video call didn't succeed to called end</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_short_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+  </context>
+</TS>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/tsrc/automaticanswertest/ts_files/automaticanswertest_en_us.ts	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,214 @@
+<?xml version="1.0" encoding="utf-8"?>
+<TS version="1.0" sourcelanguage="en" language="en">
+  <context>
+    <name>nString</name>
+    <message numerus="no" id="txt_phone_dpopinfo_no_network_coverage">
+      <source>No network coverage</source>
+      <translation variants="no">No network coverage</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_not_allowed">
+      <source>Not allowed</source>
+      <translation variants="no">Not allowed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_attempting">
+      <source>Attempting</source>
+      <translation variants="no">Attempting emergency call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_private_number">
+      <source>Private number</source>
+      <translation variants="no">Private number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_on_hold">
+      <source>On hold</source>
+      <translation variants="no">on hold</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_calling">
+      <source>Calling</source>
+      <translation variants="no">Calling</translation>
+    </message>
+    <message numerus="no" id="txt_long_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_transfer">
+      <source>Transfer</source>
+      <translation variants="no">Transfer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_title_telephone">
+      <source>Telephone</source>
+      <translation variants="yes">
+        <lengthvariant priority="1">Telephone</lengthvariant>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_waiting">
+      <source>Waiting</source>
+      <translation variants="no">waiting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_called_number_has_barred_incoming">
+      <source>Called number has barred incoming calls</source>
+      <translation variants="no">Unable to make video call. Incoming calls barred on other phone.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_not_in_use">
+      <source>Number not in use</source>
+      <translation variants="no">Number not in use</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_could_not_send_own_number">
+      <source>Could not send own number</source>
+      <translation variants="no">Could not send your caller ID</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_not_allowed_during_resto">
+      <source>Video call not allowed during restore</source>
+      <translation variants="no">Unable to make video call during restoring operation</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_life_timer">
+      <source>Life timer\n%L1</source>
+      <translation variants="no">Life timer:
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_call_failed">
+      <source>Emergency call failed</source>
+      <translation variants="no">Emergency call failed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_sending">
+      <source>Sending\n%L1</source>
+      <translation variants="no">Sending
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_remote_sim">
+      <source>Remote SIM</source>
+      <translation variants="no">Remote SIM</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_calls_only">
+      <source>Emergency calls only</source>
+      <translation variants="no">Emergency calls only</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_network_busy">
+      <source>Network busy</source>
+      <translation variants="no">Network busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_unable_to_make_video_call_not_supp">
+      <source>Unable to make video call. Not supported by other phone or network.</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dblist_ongoing_call">
+      <source>Ongoing call</source>
+      <translation variants="no">Ongoing call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_videocall_only_possible_under_3g">
+      <source>Videocall only possible under 3G coverage</source>
+      <translation variants="no">Video calls not supported outside of 3G network</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_serial_no">
+      <source>Serial No.\n%L1</source>
+      <translation variants="no">Serial number:
+%1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_connected_to_1">
+      <source>Connected to %L1</source>
+      <translation variants="no">Connected to %L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_send_string">
+      <source>Send string:\n%L1</source>
+      <translation variants="no">Send DTMF:
%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_all_incoming_calls_diver">
+      <source>Note:  all incoming calls diverted</source>
+      <translation variants="no">Note: all incoming calls diverted</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_you_have_active_barrings">
+      <source>Note: you have active barrings</source>
+      <translation variants="no">Note: active call barrings</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_emergency_call">
+      <source>Emergency call</source>
+      <translation variants="no">Emergency call</translation>
+    </message>
+    <message numerus="yes" id="txt_phone_dblist_ln_missed_calls">
+      <source>%Ln missed calls</source>
+      <translation>
+        <numerusform plurality="a">#%Ln missed calls</numerusform>
+        <numerusform plurality="b">en #MISSING</numerusform>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_barred">
+      <source>Number barred</source>
+      <translation variants="no">Number barred</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_busy">
+      <source>Number busy</source>
+      <translation variants="no">Number busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_unknown_number">
+      <source>Unknown number</source>
+      <translation variants="no">Unknown number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_incoming_call">
+      <source>Incoming call</source>
+      <translation variants="no">calling</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_error_in_connection">
+      <source>Error in connection</source>
+      <translation variants="no">Connection error</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_end_all_calls">
+      <source>End all calls</source>
+      <translation variants="no">End all calls</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_no_answer">
+      <source>No answer</source>
+      <translation variants="no">No answer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_disconnected">
+      <source>Disconnected</source>
+      <translation variants="no">disconnected</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_conference_call_active">
+      <source>Conference call active</source>
+      <translation variants="no">Conference call active</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_phone_switched_off_or_out_of_3g">
+      <source>Phone switched off or out of 3G coverage</source>
+      <translation variants="no">Unable to make video call. Other phone switched off or outside of 3G network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_diverting">
+      <source>Diverting</source>
+      <translation variants="no">Diverting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_network_services">
+      <source>Check network services</source>
+      <translation variants="no">Check network services</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_own_number_sending">
+      <source>Check own number sending</source>
+      <translation variants="no">Check my caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_activate_own_number_sending">
+      <source>Activate own number sending</source>
+      <translation variants="no">Activate caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_share_video">
+      <source>Share video</source>
+      <translation variants="no">Share video</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_conference_call">
+      <source>Conference call</source>
+      <translation variants="no">Conference call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_invalid_phone_number">
+      <source>Invalid phone number</source>
+      <translation variants="no">Invalid phone number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_call_not_allowed_fixed_dialling">
+      <source>Call not allowed, fixed dialling active</source>
+      <translation variants="no">Call not allowed. Fixed dialling active.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_didnt_succeed_to_called">
+      <source>Video call didn't succeed to called end</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_short_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+  </context>
+</TS>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/tsrc/automaticanswertest/ts_files/automaticanswertest_es.ts	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,214 @@
+<?xml version="1.0" encoding="utf-8"?>
+<TS version="1.0" sourcelanguage="en" language="en">
+  <context>
+    <name>nString</name>
+    <message numerus="no" id="txt_phone_dpopinfo_no_network_coverage">
+      <source>No network coverage</source>
+      <translation variants="no">No network coverage</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_not_allowed">
+      <source>Not allowed</source>
+      <translation variants="no">Not allowed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_attempting">
+      <source>Attempting</source>
+      <translation variants="no">Attempting emergency call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_private_number">
+      <source>Private number</source>
+      <translation variants="no">Private number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_on_hold">
+      <source>On hold</source>
+      <translation variants="no">on hold</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_calling">
+      <source>Calling</source>
+      <translation variants="no">Calling</translation>
+    </message>
+    <message numerus="no" id="txt_long_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_transfer">
+      <source>Transfer</source>
+      <translation variants="no">Transfer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_title_telephone">
+      <source>Telephone</source>
+      <translation variants="yes">
+        <lengthvariant priority="1">Telephone</lengthvariant>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_waiting">
+      <source>Waiting</source>
+      <translation variants="no">waiting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_called_number_has_barred_incoming">
+      <source>Called number has barred incoming calls</source>
+      <translation variants="no">Unable to make video call. Incoming calls barred on other phone.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_not_in_use">
+      <source>Number not in use</source>
+      <translation variants="no">Number not in use</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_could_not_send_own_number">
+      <source>Could not send own number</source>
+      <translation variants="no">Could not send your caller ID</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_not_allowed_during_resto">
+      <source>Video call not allowed during restore</source>
+      <translation variants="no">Unable to make video call during restoring operation</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_life_timer">
+      <source>Life timer\n%L1</source>
+      <translation variants="no">Life timer:
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_call_failed">
+      <source>Emergency call failed</source>
+      <translation variants="no">Emergency call failed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_sending">
+      <source>Sending\n%L1</source>
+      <translation variants="no">Sending
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_remote_sim">
+      <source>Remote SIM</source>
+      <translation variants="no">Remote SIM</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_calls_only">
+      <source>Emergency calls only</source>
+      <translation variants="no">Emergency calls only</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_network_busy">
+      <source>Network busy</source>
+      <translation variants="no">Network busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_unable_to_make_video_call_not_supp">
+      <source>Unable to make video call. Not supported by other phone or network.</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dblist_ongoing_call">
+      <source>Ongoing call</source>
+      <translation variants="no">Ongoing call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_videocall_only_possible_under_3g">
+      <source>Videocall only possible under 3G coverage</source>
+      <translation variants="no">Video calls not supported outside of 3G network</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_serial_no">
+      <source>Serial No.\n%L1</source>
+      <translation variants="no">Serial number:
+%1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_connected_to_1">
+      <source>Connected to %L1</source>
+      <translation variants="no">Connected to %L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_send_string">
+      <source>Send string:\n%L1</source>
+      <translation variants="no">Send DTMF:
%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_all_incoming_calls_diver">
+      <source>Note:  all incoming calls diverted</source>
+      <translation variants="no">Note: all incoming calls diverted</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_you_have_active_barrings">
+      <source>Note: you have active barrings</source>
+      <translation variants="no">Note: active call barrings</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_emergency_call">
+      <source>Emergency call</source>
+      <translation variants="no">Emergency call</translation>
+    </message>
+    <message numerus="yes" id="txt_phone_dblist_ln_missed_calls">
+      <source>%Ln missed calls</source>
+      <translation>
+        <numerusform plurality="a">#%Ln missed calls</numerusform>
+        <numerusform plurality="b">en #MISSING</numerusform>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_barred">
+      <source>Number barred</source>
+      <translation variants="no">Number barred</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_busy">
+      <source>Number busy</source>
+      <translation variants="no">Number busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_unknown_number">
+      <source>Unknown number</source>
+      <translation variants="no">Unknown number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_incoming_call">
+      <source>Incoming call</source>
+      <translation variants="no">calling</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_error_in_connection">
+      <source>Error in connection</source>
+      <translation variants="no">Connection error</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_end_all_calls">
+      <source>End all calls</source>
+      <translation variants="no">End all calls</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_no_answer">
+      <source>No answer</source>
+      <translation variants="no">No answer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_disconnected">
+      <source>Disconnected</source>
+      <translation variants="no">disconnected</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_conference_call_active">
+      <source>Conference call active</source>
+      <translation variants="no">Conference call active</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_phone_switched_off_or_out_of_3g">
+      <source>Phone switched off or out of 3G coverage</source>
+      <translation variants="no">Unable to make video call. Other phone switched off or outside of 3G network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_diverting">
+      <source>Diverting</source>
+      <translation variants="no">Diverting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_network_services">
+      <source>Check network services</source>
+      <translation variants="no">Check network services</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_own_number_sending">
+      <source>Check own number sending</source>
+      <translation variants="no">Check my caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_activate_own_number_sending">
+      <source>Activate own number sending</source>
+      <translation variants="no">Activate caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_share_video">
+      <source>Share video</source>
+      <translation variants="no">Share video</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_conference_call">
+      <source>Conference call</source>
+      <translation variants="no">Conference call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_invalid_phone_number">
+      <source>Invalid phone number</source>
+      <translation variants="no">Invalid phone number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_call_not_allowed_fixed_dialling">
+      <source>Call not allowed, fixed dialling active</source>
+      <translation variants="no">Call not allowed. Fixed dialling active.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_didnt_succeed_to_called">
+      <source>Video call didn't succeed to called end</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_short_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+  </context>
+</TS>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/tsrc/automaticanswertest/ts_files/automaticanswertest_es_419.ts	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,214 @@
+<?xml version="1.0" encoding="utf-8"?>
+<TS version="1.0" sourcelanguage="en" language="en">
+  <context>
+    <name>nString</name>
+    <message numerus="no" id="txt_phone_dpopinfo_no_network_coverage">
+      <source>No network coverage</source>
+      <translation variants="no">No network coverage</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_not_allowed">
+      <source>Not allowed</source>
+      <translation variants="no">Not allowed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_attempting">
+      <source>Attempting</source>
+      <translation variants="no">Attempting emergency call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_private_number">
+      <source>Private number</source>
+      <translation variants="no">Private number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_on_hold">
+      <source>On hold</source>
+      <translation variants="no">on hold</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_calling">
+      <source>Calling</source>
+      <translation variants="no">Calling</translation>
+    </message>
+    <message numerus="no" id="txt_long_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_transfer">
+      <source>Transfer</source>
+      <translation variants="no">Transfer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_title_telephone">
+      <source>Telephone</source>
+      <translation variants="yes">
+        <lengthvariant priority="1">Telephone</lengthvariant>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_waiting">
+      <source>Waiting</source>
+      <translation variants="no">waiting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_called_number_has_barred_incoming">
+      <source>Called number has barred incoming calls</source>
+      <translation variants="no">Unable to make video call. Incoming calls barred on other phone.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_not_in_use">
+      <source>Number not in use</source>
+      <translation variants="no">Number not in use</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_could_not_send_own_number">
+      <source>Could not send own number</source>
+      <translation variants="no">Could not send your caller ID</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_not_allowed_during_resto">
+      <source>Video call not allowed during restore</source>
+      <translation variants="no">Unable to make video call during restoring operation</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_life_timer">
+      <source>Life timer\n%L1</source>
+      <translation variants="no">Life timer:
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_call_failed">
+      <source>Emergency call failed</source>
+      <translation variants="no">Emergency call failed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_sending">
+      <source>Sending\n%L1</source>
+      <translation variants="no">Sending
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_remote_sim">
+      <source>Remote SIM</source>
+      <translation variants="no">Remote SIM</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_calls_only">
+      <source>Emergency calls only</source>
+      <translation variants="no">Emergency calls only</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_network_busy">
+      <source>Network busy</source>
+      <translation variants="no">Network busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_unable_to_make_video_call_not_supp">
+      <source>Unable to make video call. Not supported by other phone or network.</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dblist_ongoing_call">
+      <source>Ongoing call</source>
+      <translation variants="no">Ongoing call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_videocall_only_possible_under_3g">
+      <source>Videocall only possible under 3G coverage</source>
+      <translation variants="no">Video calls not supported outside of 3G network</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_serial_no">
+      <source>Serial No.\n%L1</source>
+      <translation variants="no">Serial number:
+%1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_connected_to_1">
+      <source>Connected to %L1</source>
+      <translation variants="no">Connected to %L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_send_string">
+      <source>Send string:\n%L1</source>
+      <translation variants="no">Send DTMF:
%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_all_incoming_calls_diver">
+      <source>Note:  all incoming calls diverted</source>
+      <translation variants="no">Note: all incoming calls diverted</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_you_have_active_barrings">
+      <source>Note: you have active barrings</source>
+      <translation variants="no">Note: active call barrings</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_emergency_call">
+      <source>Emergency call</source>
+      <translation variants="no">Emergency call</translation>
+    </message>
+    <message numerus="yes" id="txt_phone_dblist_ln_missed_calls">
+      <source>%Ln missed calls</source>
+      <translation>
+        <numerusform plurality="a">#%Ln missed calls</numerusform>
+        <numerusform plurality="b">en #MISSING</numerusform>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_barred">
+      <source>Number barred</source>
+      <translation variants="no">Number barred</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_busy">
+      <source>Number busy</source>
+      <translation variants="no">Number busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_unknown_number">
+      <source>Unknown number</source>
+      <translation variants="no">Unknown number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_incoming_call">
+      <source>Incoming call</source>
+      <translation variants="no">calling</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_error_in_connection">
+      <source>Error in connection</source>
+      <translation variants="no">Connection error</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_end_all_calls">
+      <source>End all calls</source>
+      <translation variants="no">End all calls</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_no_answer">
+      <source>No answer</source>
+      <translation variants="no">No answer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_disconnected">
+      <source>Disconnected</source>
+      <translation variants="no">disconnected</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_conference_call_active">
+      <source>Conference call active</source>
+      <translation variants="no">Conference call active</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_phone_switched_off_or_out_of_3g">
+      <source>Phone switched off or out of 3G coverage</source>
+      <translation variants="no">Unable to make video call. Other phone switched off or outside of 3G network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_diverting">
+      <source>Diverting</source>
+      <translation variants="no">Diverting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_network_services">
+      <source>Check network services</source>
+      <translation variants="no">Check network services</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_own_number_sending">
+      <source>Check own number sending</source>
+      <translation variants="no">Check my caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_activate_own_number_sending">
+      <source>Activate own number sending</source>
+      <translation variants="no">Activate caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_share_video">
+      <source>Share video</source>
+      <translation variants="no">Share video</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_conference_call">
+      <source>Conference call</source>
+      <translation variants="no">Conference call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_invalid_phone_number">
+      <source>Invalid phone number</source>
+      <translation variants="no">Invalid phone number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_call_not_allowed_fixed_dialling">
+      <source>Call not allowed, fixed dialling active</source>
+      <translation variants="no">Call not allowed. Fixed dialling active.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_didnt_succeed_to_called">
+      <source>Video call didn't succeed to called end</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_short_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+  </context>
+</TS>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/tsrc/automaticanswertest/ts_files/automaticanswertest_et.ts	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,214 @@
+<?xml version="1.0" encoding="utf-8"?>
+<TS version="1.0" sourcelanguage="en" language="en">
+  <context>
+    <name>nString</name>
+    <message numerus="no" id="txt_phone_dpopinfo_no_network_coverage">
+      <source>No network coverage</source>
+      <translation variants="no">No network coverage</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_not_allowed">
+      <source>Not allowed</source>
+      <translation variants="no">Not allowed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_attempting">
+      <source>Attempting</source>
+      <translation variants="no">Attempting emergency call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_private_number">
+      <source>Private number</source>
+      <translation variants="no">Private number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_on_hold">
+      <source>On hold</source>
+      <translation variants="no">on hold</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_calling">
+      <source>Calling</source>
+      <translation variants="no">Calling</translation>
+    </message>
+    <message numerus="no" id="txt_long_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_transfer">
+      <source>Transfer</source>
+      <translation variants="no">Transfer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_title_telephone">
+      <source>Telephone</source>
+      <translation variants="yes">
+        <lengthvariant priority="1">Telephone</lengthvariant>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_waiting">
+      <source>Waiting</source>
+      <translation variants="no">waiting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_called_number_has_barred_incoming">
+      <source>Called number has barred incoming calls</source>
+      <translation variants="no">Unable to make video call. Incoming calls barred on other phone.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_not_in_use">
+      <source>Number not in use</source>
+      <translation variants="no">Number not in use</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_could_not_send_own_number">
+      <source>Could not send own number</source>
+      <translation variants="no">Could not send your caller ID</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_not_allowed_during_resto">
+      <source>Video call not allowed during restore</source>
+      <translation variants="no">Unable to make video call during restoring operation</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_life_timer">
+      <source>Life timer\n%L1</source>
+      <translation variants="no">Life timer:
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_call_failed">
+      <source>Emergency call failed</source>
+      <translation variants="no">Emergency call failed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_sending">
+      <source>Sending\n%L1</source>
+      <translation variants="no">Sending
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_remote_sim">
+      <source>Remote SIM</source>
+      <translation variants="no">Remote SIM</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_calls_only">
+      <source>Emergency calls only</source>
+      <translation variants="no">Emergency calls only</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_network_busy">
+      <source>Network busy</source>
+      <translation variants="no">Network busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_unable_to_make_video_call_not_supp">
+      <source>Unable to make video call. Not supported by other phone or network.</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dblist_ongoing_call">
+      <source>Ongoing call</source>
+      <translation variants="no">Ongoing call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_videocall_only_possible_under_3g">
+      <source>Videocall only possible under 3G coverage</source>
+      <translation variants="no">Video calls not supported outside of 3G network</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_serial_no">
+      <source>Serial No.\n%L1</source>
+      <translation variants="no">Serial number:
+%1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_connected_to_1">
+      <source>Connected to %L1</source>
+      <translation variants="no">Connected to %L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_send_string">
+      <source>Send string:\n%L1</source>
+      <translation variants="no">Send DTMF:
%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_all_incoming_calls_diver">
+      <source>Note:  all incoming calls diverted</source>
+      <translation variants="no">Note: all incoming calls diverted</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_you_have_active_barrings">
+      <source>Note: you have active barrings</source>
+      <translation variants="no">Note: active call barrings</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_emergency_call">
+      <source>Emergency call</source>
+      <translation variants="no">Emergency call</translation>
+    </message>
+    <message numerus="yes" id="txt_phone_dblist_ln_missed_calls">
+      <source>%Ln missed calls</source>
+      <translation>
+        <numerusform plurality="a">#%Ln missed calls</numerusform>
+        <numerusform plurality="b">en #MISSING</numerusform>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_barred">
+      <source>Number barred</source>
+      <translation variants="no">Number barred</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_busy">
+      <source>Number busy</source>
+      <translation variants="no">Number busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_unknown_number">
+      <source>Unknown number</source>
+      <translation variants="no">Unknown number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_incoming_call">
+      <source>Incoming call</source>
+      <translation variants="no">calling</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_error_in_connection">
+      <source>Error in connection</source>
+      <translation variants="no">Connection error</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_end_all_calls">
+      <source>End all calls</source>
+      <translation variants="no">End all calls</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_no_answer">
+      <source>No answer</source>
+      <translation variants="no">No answer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_disconnected">
+      <source>Disconnected</source>
+      <translation variants="no">disconnected</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_conference_call_active">
+      <source>Conference call active</source>
+      <translation variants="no">Conference call active</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_phone_switched_off_or_out_of_3g">
+      <source>Phone switched off or out of 3G coverage</source>
+      <translation variants="no">Unable to make video call. Other phone switched off or outside of 3G network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_diverting">
+      <source>Diverting</source>
+      <translation variants="no">Diverting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_network_services">
+      <source>Check network services</source>
+      <translation variants="no">Check network services</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_own_number_sending">
+      <source>Check own number sending</source>
+      <translation variants="no">Check my caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_activate_own_number_sending">
+      <source>Activate own number sending</source>
+      <translation variants="no">Activate caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_share_video">
+      <source>Share video</source>
+      <translation variants="no">Share video</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_conference_call">
+      <source>Conference call</source>
+      <translation variants="no">Conference call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_invalid_phone_number">
+      <source>Invalid phone number</source>
+      <translation variants="no">Invalid phone number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_call_not_allowed_fixed_dialling">
+      <source>Call not allowed, fixed dialling active</source>
+      <translation variants="no">Call not allowed. Fixed dialling active.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_didnt_succeed_to_called">
+      <source>Video call didn't succeed to called end</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_short_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+  </context>
+</TS>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/tsrc/automaticanswertest/ts_files/automaticanswertest_eu.ts	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,214 @@
+<?xml version="1.0" encoding="utf-8"?>
+<TS version="1.0" sourcelanguage="en" language="en">
+  <context>
+    <name>nString</name>
+    <message numerus="no" id="txt_phone_dpopinfo_no_network_coverage">
+      <source>No network coverage</source>
+      <translation variants="no">No network coverage</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_not_allowed">
+      <source>Not allowed</source>
+      <translation variants="no">Not allowed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_attempting">
+      <source>Attempting</source>
+      <translation variants="no">Attempting emergency call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_private_number">
+      <source>Private number</source>
+      <translation variants="no">Private number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_on_hold">
+      <source>On hold</source>
+      <translation variants="no">on hold</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_calling">
+      <source>Calling</source>
+      <translation variants="no">Calling</translation>
+    </message>
+    <message numerus="no" id="txt_long_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_transfer">
+      <source>Transfer</source>
+      <translation variants="no">Transfer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_title_telephone">
+      <source>Telephone</source>
+      <translation variants="yes">
+        <lengthvariant priority="1">Telephone</lengthvariant>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_waiting">
+      <source>Waiting</source>
+      <translation variants="no">waiting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_called_number_has_barred_incoming">
+      <source>Called number has barred incoming calls</source>
+      <translation variants="no">Unable to make video call. Incoming calls barred on other phone.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_not_in_use">
+      <source>Number not in use</source>
+      <translation variants="no">Number not in use</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_could_not_send_own_number">
+      <source>Could not send own number</source>
+      <translation variants="no">Could not send your caller ID</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_not_allowed_during_resto">
+      <source>Video call not allowed during restore</source>
+      <translation variants="no">Unable to make video call during restoring operation</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_life_timer">
+      <source>Life timer\n%L1</source>
+      <translation variants="no">Life timer:
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_call_failed">
+      <source>Emergency call failed</source>
+      <translation variants="no">Emergency call failed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_sending">
+      <source>Sending\n%L1</source>
+      <translation variants="no">Sending
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_remote_sim">
+      <source>Remote SIM</source>
+      <translation variants="no">Remote SIM</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_calls_only">
+      <source>Emergency calls only</source>
+      <translation variants="no">Emergency calls only</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_network_busy">
+      <source>Network busy</source>
+      <translation variants="no">Network busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_unable_to_make_video_call_not_supp">
+      <source>Unable to make video call. Not supported by other phone or network.</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dblist_ongoing_call">
+      <source>Ongoing call</source>
+      <translation variants="no">Ongoing call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_videocall_only_possible_under_3g">
+      <source>Videocall only possible under 3G coverage</source>
+      <translation variants="no">Video calls not supported outside of 3G network</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_serial_no">
+      <source>Serial No.\n%L1</source>
+      <translation variants="no">Serial number:
+%1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_connected_to_1">
+      <source>Connected to %L1</source>
+      <translation variants="no">Connected to %L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_send_string">
+      <source>Send string:\n%L1</source>
+      <translation variants="no">Send DTMF:
%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_all_incoming_calls_diver">
+      <source>Note:  all incoming calls diverted</source>
+      <translation variants="no">Note: all incoming calls diverted</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_you_have_active_barrings">
+      <source>Note: you have active barrings</source>
+      <translation variants="no">Note: active call barrings</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_emergency_call">
+      <source>Emergency call</source>
+      <translation variants="no">Emergency call</translation>
+    </message>
+    <message numerus="yes" id="txt_phone_dblist_ln_missed_calls">
+      <source>%Ln missed calls</source>
+      <translation>
+        <numerusform plurality="a">#%Ln missed calls</numerusform>
+        <numerusform plurality="b">en #MISSING</numerusform>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_barred">
+      <source>Number barred</source>
+      <translation variants="no">Number barred</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_busy">
+      <source>Number busy</source>
+      <translation variants="no">Number busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_unknown_number">
+      <source>Unknown number</source>
+      <translation variants="no">Unknown number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_incoming_call">
+      <source>Incoming call</source>
+      <translation variants="no">calling</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_error_in_connection">
+      <source>Error in connection</source>
+      <translation variants="no">Connection error</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_end_all_calls">
+      <source>End all calls</source>
+      <translation variants="no">End all calls</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_no_answer">
+      <source>No answer</source>
+      <translation variants="no">No answer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_disconnected">
+      <source>Disconnected</source>
+      <translation variants="no">disconnected</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_conference_call_active">
+      <source>Conference call active</source>
+      <translation variants="no">Conference call active</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_phone_switched_off_or_out_of_3g">
+      <source>Phone switched off or out of 3G coverage</source>
+      <translation variants="no">Unable to make video call. Other phone switched off or outside of 3G network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_diverting">
+      <source>Diverting</source>
+      <translation variants="no">Diverting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_network_services">
+      <source>Check network services</source>
+      <translation variants="no">Check network services</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_own_number_sending">
+      <source>Check own number sending</source>
+      <translation variants="no">Check my caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_activate_own_number_sending">
+      <source>Activate own number sending</source>
+      <translation variants="no">Activate caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_share_video">
+      <source>Share video</source>
+      <translation variants="no">Share video</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_conference_call">
+      <source>Conference call</source>
+      <translation variants="no">Conference call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_invalid_phone_number">
+      <source>Invalid phone number</source>
+      <translation variants="no">Invalid phone number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_call_not_allowed_fixed_dialling">
+      <source>Call not allowed, fixed dialling active</source>
+      <translation variants="no">Call not allowed. Fixed dialling active.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_didnt_succeed_to_called">
+      <source>Video call didn't succeed to called end</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_short_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+  </context>
+</TS>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/tsrc/automaticanswertest/ts_files/automaticanswertest_fi.ts	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,214 @@
+<?xml version="1.0" encoding="utf-8"?>
+<TS version="1.0" sourcelanguage="en" language="en">
+  <context>
+    <name>nString</name>
+    <message numerus="no" id="txt_phone_dpopinfo_no_network_coverage">
+      <source>No network coverage</source>
+      <translation variants="no">No network coverage</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_not_allowed">
+      <source>Not allowed</source>
+      <translation variants="no">Not allowed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_attempting">
+      <source>Attempting</source>
+      <translation variants="no">Attempting emergency call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_private_number">
+      <source>Private number</source>
+      <translation variants="no">Private number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_on_hold">
+      <source>On hold</source>
+      <translation variants="no">on hold</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_calling">
+      <source>Calling</source>
+      <translation variants="no">Calling</translation>
+    </message>
+    <message numerus="no" id="txt_long_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_transfer">
+      <source>Transfer</source>
+      <translation variants="no">Transfer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_title_telephone">
+      <source>Telephone</source>
+      <translation variants="yes">
+        <lengthvariant priority="1">Telephone</lengthvariant>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_waiting">
+      <source>Waiting</source>
+      <translation variants="no">waiting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_called_number_has_barred_incoming">
+      <source>Called number has barred incoming calls</source>
+      <translation variants="no">Unable to make video call. Incoming calls barred on other phone.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_not_in_use">
+      <source>Number not in use</source>
+      <translation variants="no">Number not in use</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_could_not_send_own_number">
+      <source>Could not send own number</source>
+      <translation variants="no">Could not send your caller ID</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_not_allowed_during_resto">
+      <source>Video call not allowed during restore</source>
+      <translation variants="no">Unable to make video call during restoring operation</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_life_timer">
+      <source>Life timer\n%L1</source>
+      <translation variants="no">Life timer:
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_call_failed">
+      <source>Emergency call failed</source>
+      <translation variants="no">Emergency call failed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_sending">
+      <source>Sending\n%L1</source>
+      <translation variants="no">Sending
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_remote_sim">
+      <source>Remote SIM</source>
+      <translation variants="no">Remote SIM</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_calls_only">
+      <source>Emergency calls only</source>
+      <translation variants="no">Emergency calls only</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_network_busy">
+      <source>Network busy</source>
+      <translation variants="no">Network busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_unable_to_make_video_call_not_supp">
+      <source>Unable to make video call. Not supported by other phone or network.</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dblist_ongoing_call">
+      <source>Ongoing call</source>
+      <translation variants="no">Ongoing call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_videocall_only_possible_under_3g">
+      <source>Videocall only possible under 3G coverage</source>
+      <translation variants="no">Video calls not supported outside of 3G network</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_serial_no">
+      <source>Serial No.\n%L1</source>
+      <translation variants="no">Serial number:
+%1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_connected_to_1">
+      <source>Connected to %L1</source>
+      <translation variants="no">Connected to %L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_send_string">
+      <source>Send string:\n%L1</source>
+      <translation variants="no">Send DTMF:
%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_all_incoming_calls_diver">
+      <source>Note:  all incoming calls diverted</source>
+      <translation variants="no">Note: all incoming calls diverted</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_you_have_active_barrings">
+      <source>Note: you have active barrings</source>
+      <translation variants="no">Note: active call barrings</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_emergency_call">
+      <source>Emergency call</source>
+      <translation variants="no">Emergency call</translation>
+    </message>
+    <message numerus="yes" id="txt_phone_dblist_ln_missed_calls">
+      <source>%Ln missed calls</source>
+      <translation>
+        <numerusform plurality="a">#%Ln missed calls</numerusform>
+        <numerusform plurality="b">en #MISSING</numerusform>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_barred">
+      <source>Number barred</source>
+      <translation variants="no">Number barred</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_busy">
+      <source>Number busy</source>
+      <translation variants="no">Number busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_unknown_number">
+      <source>Unknown number</source>
+      <translation variants="no">Unknown number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_incoming_call">
+      <source>Incoming call</source>
+      <translation variants="no">calling</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_error_in_connection">
+      <source>Error in connection</source>
+      <translation variants="no">Connection error</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_end_all_calls">
+      <source>End all calls</source>
+      <translation variants="no">End all calls</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_no_answer">
+      <source>No answer</source>
+      <translation variants="no">No answer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_disconnected">
+      <source>Disconnected</source>
+      <translation variants="no">disconnected</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_conference_call_active">
+      <source>Conference call active</source>
+      <translation variants="no">Conference call active</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_phone_switched_off_or_out_of_3g">
+      <source>Phone switched off or out of 3G coverage</source>
+      <translation variants="no">Unable to make video call. Other phone switched off or outside of 3G network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_diverting">
+      <source>Diverting</source>
+      <translation variants="no">Diverting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_network_services">
+      <source>Check network services</source>
+      <translation variants="no">Check network services</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_own_number_sending">
+      <source>Check own number sending</source>
+      <translation variants="no">Check my caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_activate_own_number_sending">
+      <source>Activate own number sending</source>
+      <translation variants="no">Activate caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_share_video">
+      <source>Share video</source>
+      <translation variants="no">Share video</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_conference_call">
+      <source>Conference call</source>
+      <translation variants="no">Conference call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_invalid_phone_number">
+      <source>Invalid phone number</source>
+      <translation variants="no">Invalid phone number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_call_not_allowed_fixed_dialling">
+      <source>Call not allowed, fixed dialling active</source>
+      <translation variants="no">Call not allowed. Fixed dialling active.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_didnt_succeed_to_called">
+      <source>Video call didn't succeed to called end</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_short_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+  </context>
+</TS>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/tsrc/automaticanswertest/ts_files/automaticanswertest_fr.ts	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,214 @@
+<?xml version="1.0" encoding="utf-8"?>
+<TS version="1.0" sourcelanguage="en" language="en">
+  <context>
+    <name>nString</name>
+    <message numerus="no" id="txt_phone_dpopinfo_no_network_coverage">
+      <source>No network coverage</source>
+      <translation variants="no">No network coverage</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_not_allowed">
+      <source>Not allowed</source>
+      <translation variants="no">Not allowed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_attempting">
+      <source>Attempting</source>
+      <translation variants="no">Attempting emergency call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_private_number">
+      <source>Private number</source>
+      <translation variants="no">Private number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_on_hold">
+      <source>On hold</source>
+      <translation variants="no">on hold</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_calling">
+      <source>Calling</source>
+      <translation variants="no">Calling</translation>
+    </message>
+    <message numerus="no" id="txt_long_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_transfer">
+      <source>Transfer</source>
+      <translation variants="no">Transfer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_title_telephone">
+      <source>Telephone</source>
+      <translation variants="yes">
+        <lengthvariant priority="1">Telephone</lengthvariant>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_waiting">
+      <source>Waiting</source>
+      <translation variants="no">waiting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_called_number_has_barred_incoming">
+      <source>Called number has barred incoming calls</source>
+      <translation variants="no">Unable to make video call. Incoming calls barred on other phone.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_not_in_use">
+      <source>Number not in use</source>
+      <translation variants="no">Number not in use</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_could_not_send_own_number">
+      <source>Could not send own number</source>
+      <translation variants="no">Could not send your caller ID</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_not_allowed_during_resto">
+      <source>Video call not allowed during restore</source>
+      <translation variants="no">Unable to make video call during restoring operation</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_life_timer">
+      <source>Life timer\n%L1</source>
+      <translation variants="no">Life timer:
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_call_failed">
+      <source>Emergency call failed</source>
+      <translation variants="no">Emergency call failed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_sending">
+      <source>Sending\n%L1</source>
+      <translation variants="no">Sending
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_remote_sim">
+      <source>Remote SIM</source>
+      <translation variants="no">Remote SIM</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_calls_only">
+      <source>Emergency calls only</source>
+      <translation variants="no">Emergency calls only</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_network_busy">
+      <source>Network busy</source>
+      <translation variants="no">Network busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_unable_to_make_video_call_not_supp">
+      <source>Unable to make video call. Not supported by other phone or network.</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dblist_ongoing_call">
+      <source>Ongoing call</source>
+      <translation variants="no">Ongoing call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_videocall_only_possible_under_3g">
+      <source>Videocall only possible under 3G coverage</source>
+      <translation variants="no">Video calls not supported outside of 3G network</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_serial_no">
+      <source>Serial No.\n%L1</source>
+      <translation variants="no">Serial number:
+%1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_connected_to_1">
+      <source>Connected to %L1</source>
+      <translation variants="no">Connected to %L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_send_string">
+      <source>Send string:\n%L1</source>
+      <translation variants="no">Send DTMF:
%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_all_incoming_calls_diver">
+      <source>Note:  all incoming calls diverted</source>
+      <translation variants="no">Note: all incoming calls diverted</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_you_have_active_barrings">
+      <source>Note: you have active barrings</source>
+      <translation variants="no">Note: active call barrings</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_emergency_call">
+      <source>Emergency call</source>
+      <translation variants="no">Emergency call</translation>
+    </message>
+    <message numerus="yes" id="txt_phone_dblist_ln_missed_calls">
+      <source>%Ln missed calls</source>
+      <translation>
+        <numerusform plurality="a">#%Ln missed calls</numerusform>
+        <numerusform plurality="b">en #MISSING</numerusform>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_barred">
+      <source>Number barred</source>
+      <translation variants="no">Number barred</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_busy">
+      <source>Number busy</source>
+      <translation variants="no">Number busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_unknown_number">
+      <source>Unknown number</source>
+      <translation variants="no">Unknown number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_incoming_call">
+      <source>Incoming call</source>
+      <translation variants="no">calling</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_error_in_connection">
+      <source>Error in connection</source>
+      <translation variants="no">Connection error</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_end_all_calls">
+      <source>End all calls</source>
+      <translation variants="no">End all calls</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_no_answer">
+      <source>No answer</source>
+      <translation variants="no">No answer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_disconnected">
+      <source>Disconnected</source>
+      <translation variants="no">disconnected</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_conference_call_active">
+      <source>Conference call active</source>
+      <translation variants="no">Conference call active</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_phone_switched_off_or_out_of_3g">
+      <source>Phone switched off or out of 3G coverage</source>
+      <translation variants="no">Unable to make video call. Other phone switched off or outside of 3G network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_diverting">
+      <source>Diverting</source>
+      <translation variants="no">Diverting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_network_services">
+      <source>Check network services</source>
+      <translation variants="no">Check network services</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_own_number_sending">
+      <source>Check own number sending</source>
+      <translation variants="no">Check my caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_activate_own_number_sending">
+      <source>Activate own number sending</source>
+      <translation variants="no">Activate caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_share_video">
+      <source>Share video</source>
+      <translation variants="no">Share video</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_conference_call">
+      <source>Conference call</source>
+      <translation variants="no">Conference call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_invalid_phone_number">
+      <source>Invalid phone number</source>
+      <translation variants="no">Invalid phone number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_call_not_allowed_fixed_dialling">
+      <source>Call not allowed, fixed dialling active</source>
+      <translation variants="no">Call not allowed. Fixed dialling active.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_didnt_succeed_to_called">
+      <source>Video call didn't succeed to called end</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_short_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+  </context>
+</TS>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/tsrc/automaticanswertest/ts_files/automaticanswertest_fr_ca.ts	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,214 @@
+<?xml version="1.0" encoding="utf-8"?>
+<TS version="1.0" sourcelanguage="en" language="en">
+  <context>
+    <name>nString</name>
+    <message numerus="no" id="txt_phone_dpopinfo_no_network_coverage">
+      <source>No network coverage</source>
+      <translation variants="no">No network coverage</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_not_allowed">
+      <source>Not allowed</source>
+      <translation variants="no">Not allowed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_attempting">
+      <source>Attempting</source>
+      <translation variants="no">Attempting emergency call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_private_number">
+      <source>Private number</source>
+      <translation variants="no">Private number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_on_hold">
+      <source>On hold</source>
+      <translation variants="no">on hold</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_calling">
+      <source>Calling</source>
+      <translation variants="no">Calling</translation>
+    </message>
+    <message numerus="no" id="txt_long_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_transfer">
+      <source>Transfer</source>
+      <translation variants="no">Transfer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_title_telephone">
+      <source>Telephone</source>
+      <translation variants="yes">
+        <lengthvariant priority="1">Telephone</lengthvariant>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_waiting">
+      <source>Waiting</source>
+      <translation variants="no">waiting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_called_number_has_barred_incoming">
+      <source>Called number has barred incoming calls</source>
+      <translation variants="no">Unable to make video call. Incoming calls barred on other phone.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_not_in_use">
+      <source>Number not in use</source>
+      <translation variants="no">Number not in use</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_could_not_send_own_number">
+      <source>Could not send own number</source>
+      <translation variants="no">Could not send your caller ID</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_not_allowed_during_resto">
+      <source>Video call not allowed during restore</source>
+      <translation variants="no">Unable to make video call during restoring operation</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_life_timer">
+      <source>Life timer\n%L1</source>
+      <translation variants="no">Life timer:
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_call_failed">
+      <source>Emergency call failed</source>
+      <translation variants="no">Emergency call failed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_sending">
+      <source>Sending\n%L1</source>
+      <translation variants="no">Sending
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_remote_sim">
+      <source>Remote SIM</source>
+      <translation variants="no">Remote SIM</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_calls_only">
+      <source>Emergency calls only</source>
+      <translation variants="no">Emergency calls only</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_network_busy">
+      <source>Network busy</source>
+      <translation variants="no">Network busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_unable_to_make_video_call_not_supp">
+      <source>Unable to make video call. Not supported by other phone or network.</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dblist_ongoing_call">
+      <source>Ongoing call</source>
+      <translation variants="no">Ongoing call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_videocall_only_possible_under_3g">
+      <source>Videocall only possible under 3G coverage</source>
+      <translation variants="no">Video calls not supported outside of 3G network</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_serial_no">
+      <source>Serial No.\n%L1</source>
+      <translation variants="no">Serial number:
+%1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_connected_to_1">
+      <source>Connected to %L1</source>
+      <translation variants="no">Connected to %L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_send_string">
+      <source>Send string:\n%L1</source>
+      <translation variants="no">Send DTMF:
%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_all_incoming_calls_diver">
+      <source>Note:  all incoming calls diverted</source>
+      <translation variants="no">Note: all incoming calls diverted</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_you_have_active_barrings">
+      <source>Note: you have active barrings</source>
+      <translation variants="no">Note: active call barrings</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_emergency_call">
+      <source>Emergency call</source>
+      <translation variants="no">Emergency call</translation>
+    </message>
+    <message numerus="yes" id="txt_phone_dblist_ln_missed_calls">
+      <source>%Ln missed calls</source>
+      <translation>
+        <numerusform plurality="a">#%Ln missed calls</numerusform>
+        <numerusform plurality="b">en #MISSING</numerusform>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_barred">
+      <source>Number barred</source>
+      <translation variants="no">Number barred</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_busy">
+      <source>Number busy</source>
+      <translation variants="no">Number busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_unknown_number">
+      <source>Unknown number</source>
+      <translation variants="no">Unknown number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_incoming_call">
+      <source>Incoming call</source>
+      <translation variants="no">calling</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_error_in_connection">
+      <source>Error in connection</source>
+      <translation variants="no">Connection error</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_end_all_calls">
+      <source>End all calls</source>
+      <translation variants="no">End all calls</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_no_answer">
+      <source>No answer</source>
+      <translation variants="no">No answer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_disconnected">
+      <source>Disconnected</source>
+      <translation variants="no">disconnected</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_conference_call_active">
+      <source>Conference call active</source>
+      <translation variants="no">Conference call active</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_phone_switched_off_or_out_of_3g">
+      <source>Phone switched off or out of 3G coverage</source>
+      <translation variants="no">Unable to make video call. Other phone switched off or outside of 3G network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_diverting">
+      <source>Diverting</source>
+      <translation variants="no">Diverting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_network_services">
+      <source>Check network services</source>
+      <translation variants="no">Check network services</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_own_number_sending">
+      <source>Check own number sending</source>
+      <translation variants="no">Check my caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_activate_own_number_sending">
+      <source>Activate own number sending</source>
+      <translation variants="no">Activate caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_share_video">
+      <source>Share video</source>
+      <translation variants="no">Share video</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_conference_call">
+      <source>Conference call</source>
+      <translation variants="no">Conference call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_invalid_phone_number">
+      <source>Invalid phone number</source>
+      <translation variants="no">Invalid phone number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_call_not_allowed_fixed_dialling">
+      <source>Call not allowed, fixed dialling active</source>
+      <translation variants="no">Call not allowed. Fixed dialling active.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_didnt_succeed_to_called">
+      <source>Video call didn't succeed to called end</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_short_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+  </context>
+</TS>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/tsrc/automaticanswertest/ts_files/automaticanswertest_gl.ts	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,214 @@
+<?xml version="1.0" encoding="utf-8"?>
+<TS version="1.0" sourcelanguage="en" language="en">
+  <context>
+    <name>nString</name>
+    <message numerus="no" id="txt_phone_dpopinfo_no_network_coverage">
+      <source>No network coverage</source>
+      <translation variants="no">No network coverage</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_not_allowed">
+      <source>Not allowed</source>
+      <translation variants="no">Not allowed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_attempting">
+      <source>Attempting</source>
+      <translation variants="no">Attempting emergency call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_private_number">
+      <source>Private number</source>
+      <translation variants="no">Private number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_on_hold">
+      <source>On hold</source>
+      <translation variants="no">on hold</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_calling">
+      <source>Calling</source>
+      <translation variants="no">Calling</translation>
+    </message>
+    <message numerus="no" id="txt_long_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_transfer">
+      <source>Transfer</source>
+      <translation variants="no">Transfer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_title_telephone">
+      <source>Telephone</source>
+      <translation variants="yes">
+        <lengthvariant priority="1">Telephone</lengthvariant>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_waiting">
+      <source>Waiting</source>
+      <translation variants="no">waiting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_called_number_has_barred_incoming">
+      <source>Called number has barred incoming calls</source>
+      <translation variants="no">Unable to make video call. Incoming calls barred on other phone.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_not_in_use">
+      <source>Number not in use</source>
+      <translation variants="no">Number not in use</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_could_not_send_own_number">
+      <source>Could not send own number</source>
+      <translation variants="no">Could not send your caller ID</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_not_allowed_during_resto">
+      <source>Video call not allowed during restore</source>
+      <translation variants="no">Unable to make video call during restoring operation</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_life_timer">
+      <source>Life timer\n%L1</source>
+      <translation variants="no">Life timer:
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_call_failed">
+      <source>Emergency call failed</source>
+      <translation variants="no">Emergency call failed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_sending">
+      <source>Sending\n%L1</source>
+      <translation variants="no">Sending
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_remote_sim">
+      <source>Remote SIM</source>
+      <translation variants="no">Remote SIM</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_calls_only">
+      <source>Emergency calls only</source>
+      <translation variants="no">Emergency calls only</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_network_busy">
+      <source>Network busy</source>
+      <translation variants="no">Network busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_unable_to_make_video_call_not_supp">
+      <source>Unable to make video call. Not supported by other phone or network.</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dblist_ongoing_call">
+      <source>Ongoing call</source>
+      <translation variants="no">Ongoing call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_videocall_only_possible_under_3g">
+      <source>Videocall only possible under 3G coverage</source>
+      <translation variants="no">Video calls not supported outside of 3G network</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_serial_no">
+      <source>Serial No.\n%L1</source>
+      <translation variants="no">Serial number:
+%1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_connected_to_1">
+      <source>Connected to %L1</source>
+      <translation variants="no">Connected to %L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_send_string">
+      <source>Send string:\n%L1</source>
+      <translation variants="no">Send DTMF:
%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_all_incoming_calls_diver">
+      <source>Note:  all incoming calls diverted</source>
+      <translation variants="no">Note: all incoming calls diverted</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_you_have_active_barrings">
+      <source>Note: you have active barrings</source>
+      <translation variants="no">Note: active call barrings</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_emergency_call">
+      <source>Emergency call</source>
+      <translation variants="no">Emergency call</translation>
+    </message>
+    <message numerus="yes" id="txt_phone_dblist_ln_missed_calls">
+      <source>%Ln missed calls</source>
+      <translation>
+        <numerusform plurality="a">#%Ln missed calls</numerusform>
+        <numerusform plurality="b">en #MISSING</numerusform>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_barred">
+      <source>Number barred</source>
+      <translation variants="no">Number barred</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_busy">
+      <source>Number busy</source>
+      <translation variants="no">Number busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_unknown_number">
+      <source>Unknown number</source>
+      <translation variants="no">Unknown number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_incoming_call">
+      <source>Incoming call</source>
+      <translation variants="no">calling</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_error_in_connection">
+      <source>Error in connection</source>
+      <translation variants="no">Connection error</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_end_all_calls">
+      <source>End all calls</source>
+      <translation variants="no">End all calls</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_no_answer">
+      <source>No answer</source>
+      <translation variants="no">No answer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_disconnected">
+      <source>Disconnected</source>
+      <translation variants="no">disconnected</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_conference_call_active">
+      <source>Conference call active</source>
+      <translation variants="no">Conference call active</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_phone_switched_off_or_out_of_3g">
+      <source>Phone switched off or out of 3G coverage</source>
+      <translation variants="no">Unable to make video call. Other phone switched off or outside of 3G network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_diverting">
+      <source>Diverting</source>
+      <translation variants="no">Diverting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_network_services">
+      <source>Check network services</source>
+      <translation variants="no">Check network services</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_own_number_sending">
+      <source>Check own number sending</source>
+      <translation variants="no">Check my caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_activate_own_number_sending">
+      <source>Activate own number sending</source>
+      <translation variants="no">Activate caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_share_video">
+      <source>Share video</source>
+      <translation variants="no">Share video</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_conference_call">
+      <source>Conference call</source>
+      <translation variants="no">Conference call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_invalid_phone_number">
+      <source>Invalid phone number</source>
+      <translation variants="no">Invalid phone number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_call_not_allowed_fixed_dialling">
+      <source>Call not allowed, fixed dialling active</source>
+      <translation variants="no">Call not allowed. Fixed dialling active.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_didnt_succeed_to_called">
+      <source>Video call didn't succeed to called end</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_short_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+  </context>
+</TS>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/tsrc/automaticanswertest/ts_files/automaticanswertest_he.ts	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,214 @@
+<?xml version="1.0" encoding="utf-8"?>
+<TS version="1.0" sourcelanguage="en" language="en">
+  <context>
+    <name>nString</name>
+    <message numerus="no" id="txt_phone_dpopinfo_no_network_coverage">
+      <source>No network coverage</source>
+      <translation variants="no">No network coverage</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_not_allowed">
+      <source>Not allowed</source>
+      <translation variants="no">Not allowed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_attempting">
+      <source>Attempting</source>
+      <translation variants="no">Attempting emergency call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_private_number">
+      <source>Private number</source>
+      <translation variants="no">Private number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_on_hold">
+      <source>On hold</source>
+      <translation variants="no">on hold</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_calling">
+      <source>Calling</source>
+      <translation variants="no">Calling</translation>
+    </message>
+    <message numerus="no" id="txt_long_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_transfer">
+      <source>Transfer</source>
+      <translation variants="no">Transfer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_title_telephone">
+      <source>Telephone</source>
+      <translation variants="yes">
+        <lengthvariant priority="1">Telephone</lengthvariant>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_waiting">
+      <source>Waiting</source>
+      <translation variants="no">waiting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_called_number_has_barred_incoming">
+      <source>Called number has barred incoming calls</source>
+      <translation variants="no">Unable to make video call. Incoming calls barred on other phone.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_not_in_use">
+      <source>Number not in use</source>
+      <translation variants="no">Number not in use</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_could_not_send_own_number">
+      <source>Could not send own number</source>
+      <translation variants="no">Could not send your caller ID</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_not_allowed_during_resto">
+      <source>Video call not allowed during restore</source>
+      <translation variants="no">Unable to make video call during restoring operation</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_life_timer">
+      <source>Life timer\n%L1</source>
+      <translation variants="no">Life timer:
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_call_failed">
+      <source>Emergency call failed</source>
+      <translation variants="no">Emergency call failed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_sending">
+      <source>Sending\n%L1</source>
+      <translation variants="no">Sending
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_remote_sim">
+      <source>Remote SIM</source>
+      <translation variants="no">Remote SIM</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_calls_only">
+      <source>Emergency calls only</source>
+      <translation variants="no">Emergency calls only</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_network_busy">
+      <source>Network busy</source>
+      <translation variants="no">Network busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_unable_to_make_video_call_not_supp">
+      <source>Unable to make video call. Not supported by other phone or network.</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dblist_ongoing_call">
+      <source>Ongoing call</source>
+      <translation variants="no">Ongoing call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_videocall_only_possible_under_3g">
+      <source>Videocall only possible under 3G coverage</source>
+      <translation variants="no">Video calls not supported outside of 3G network</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_serial_no">
+      <source>Serial No.\n%L1</source>
+      <translation variants="no">Serial number:
+%1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_connected_to_1">
+      <source>Connected to %L1</source>
+      <translation variants="no">Connected to %L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_send_string">
+      <source>Send string:\n%L1</source>
+      <translation variants="no">Send DTMF:
%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_all_incoming_calls_diver">
+      <source>Note:  all incoming calls diverted</source>
+      <translation variants="no">Note: all incoming calls diverted</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_you_have_active_barrings">
+      <source>Note: you have active barrings</source>
+      <translation variants="no">Note: active call barrings</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_emergency_call">
+      <source>Emergency call</source>
+      <translation variants="no">Emergency call</translation>
+    </message>
+    <message numerus="yes" id="txt_phone_dblist_ln_missed_calls">
+      <source>%Ln missed calls</source>
+      <translation>
+        <numerusform plurality="a">#%Ln missed calls</numerusform>
+        <numerusform plurality="b">en #MISSING</numerusform>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_barred">
+      <source>Number barred</source>
+      <translation variants="no">Number barred</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_busy">
+      <source>Number busy</source>
+      <translation variants="no">Number busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_unknown_number">
+      <source>Unknown number</source>
+      <translation variants="no">Unknown number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_incoming_call">
+      <source>Incoming call</source>
+      <translation variants="no">calling</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_error_in_connection">
+      <source>Error in connection</source>
+      <translation variants="no">Connection error</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_end_all_calls">
+      <source>End all calls</source>
+      <translation variants="no">End all calls</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_no_answer">
+      <source>No answer</source>
+      <translation variants="no">No answer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_disconnected">
+      <source>Disconnected</source>
+      <translation variants="no">disconnected</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_conference_call_active">
+      <source>Conference call active</source>
+      <translation variants="no">Conference call active</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_phone_switched_off_or_out_of_3g">
+      <source>Phone switched off or out of 3G coverage</source>
+      <translation variants="no">Unable to make video call. Other phone switched off or outside of 3G network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_diverting">
+      <source>Diverting</source>
+      <translation variants="no">Diverting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_network_services">
+      <source>Check network services</source>
+      <translation variants="no">Check network services</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_own_number_sending">
+      <source>Check own number sending</source>
+      <translation variants="no">Check my caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_activate_own_number_sending">
+      <source>Activate own number sending</source>
+      <translation variants="no">Activate caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_share_video">
+      <source>Share video</source>
+      <translation variants="no">Share video</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_conference_call">
+      <source>Conference call</source>
+      <translation variants="no">Conference call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_invalid_phone_number">
+      <source>Invalid phone number</source>
+      <translation variants="no">Invalid phone number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_call_not_allowed_fixed_dialling">
+      <source>Call not allowed, fixed dialling active</source>
+      <translation variants="no">Call not allowed. Fixed dialling active.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_didnt_succeed_to_called">
+      <source>Video call didn't succeed to called end</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_short_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+  </context>
+</TS>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/tsrc/automaticanswertest/ts_files/automaticanswertest_hi.ts	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,214 @@
+<?xml version="1.0" encoding="utf-8"?>
+<TS version="1.0" sourcelanguage="en" language="en">
+  <context>
+    <name>nString</name>
+    <message numerus="no" id="txt_phone_dpopinfo_no_network_coverage">
+      <source>No network coverage</source>
+      <translation variants="no">No network coverage</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_not_allowed">
+      <source>Not allowed</source>
+      <translation variants="no">Not allowed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_attempting">
+      <source>Attempting</source>
+      <translation variants="no">Attempting emergency call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_private_number">
+      <source>Private number</source>
+      <translation variants="no">Private number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_on_hold">
+      <source>On hold</source>
+      <translation variants="no">on hold</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_calling">
+      <source>Calling</source>
+      <translation variants="no">Calling</translation>
+    </message>
+    <message numerus="no" id="txt_long_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_transfer">
+      <source>Transfer</source>
+      <translation variants="no">Transfer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_title_telephone">
+      <source>Telephone</source>
+      <translation variants="yes">
+        <lengthvariant priority="1">Telephone</lengthvariant>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_waiting">
+      <source>Waiting</source>
+      <translation variants="no">waiting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_called_number_has_barred_incoming">
+      <source>Called number has barred incoming calls</source>
+      <translation variants="no">Unable to make video call. Incoming calls barred on other phone.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_not_in_use">
+      <source>Number not in use</source>
+      <translation variants="no">Number not in use</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_could_not_send_own_number">
+      <source>Could not send own number</source>
+      <translation variants="no">Could not send your caller ID</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_not_allowed_during_resto">
+      <source>Video call not allowed during restore</source>
+      <translation variants="no">Unable to make video call during restoring operation</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_life_timer">
+      <source>Life timer\n%L1</source>
+      <translation variants="no">Life timer:
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_call_failed">
+      <source>Emergency call failed</source>
+      <translation variants="no">Emergency call failed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_sending">
+      <source>Sending\n%L1</source>
+      <translation variants="no">Sending
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_remote_sim">
+      <source>Remote SIM</source>
+      <translation variants="no">Remote SIM</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_calls_only">
+      <source>Emergency calls only</source>
+      <translation variants="no">Emergency calls only</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_network_busy">
+      <source>Network busy</source>
+      <translation variants="no">Network busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_unable_to_make_video_call_not_supp">
+      <source>Unable to make video call. Not supported by other phone or network.</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dblist_ongoing_call">
+      <source>Ongoing call</source>
+      <translation variants="no">Ongoing call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_videocall_only_possible_under_3g">
+      <source>Videocall only possible under 3G coverage</source>
+      <translation variants="no">Video calls not supported outside of 3G network</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_serial_no">
+      <source>Serial No.\n%L1</source>
+      <translation variants="no">Serial number:
+%1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_connected_to_1">
+      <source>Connected to %L1</source>
+      <translation variants="no">Connected to %L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_send_string">
+      <source>Send string:\n%L1</source>
+      <translation variants="no">Send DTMF:
%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_all_incoming_calls_diver">
+      <source>Note:  all incoming calls diverted</source>
+      <translation variants="no">Note: all incoming calls diverted</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_you_have_active_barrings">
+      <source>Note: you have active barrings</source>
+      <translation variants="no">Note: active call barrings</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_emergency_call">
+      <source>Emergency call</source>
+      <translation variants="no">Emergency call</translation>
+    </message>
+    <message numerus="yes" id="txt_phone_dblist_ln_missed_calls">
+      <source>%Ln missed calls</source>
+      <translation>
+        <numerusform plurality="a">#%Ln missed calls</numerusform>
+        <numerusform plurality="b">en #MISSING</numerusform>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_barred">
+      <source>Number barred</source>
+      <translation variants="no">Number barred</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_busy">
+      <source>Number busy</source>
+      <translation variants="no">Number busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_unknown_number">
+      <source>Unknown number</source>
+      <translation variants="no">Unknown number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_incoming_call">
+      <source>Incoming call</source>
+      <translation variants="no">calling</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_error_in_connection">
+      <source>Error in connection</source>
+      <translation variants="no">Connection error</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_end_all_calls">
+      <source>End all calls</source>
+      <translation variants="no">End all calls</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_no_answer">
+      <source>No answer</source>
+      <translation variants="no">No answer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_disconnected">
+      <source>Disconnected</source>
+      <translation variants="no">disconnected</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_conference_call_active">
+      <source>Conference call active</source>
+      <translation variants="no">Conference call active</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_phone_switched_off_or_out_of_3g">
+      <source>Phone switched off or out of 3G coverage</source>
+      <translation variants="no">Unable to make video call. Other phone switched off or outside of 3G network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_diverting">
+      <source>Diverting</source>
+      <translation variants="no">Diverting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_network_services">
+      <source>Check network services</source>
+      <translation variants="no">Check network services</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_own_number_sending">
+      <source>Check own number sending</source>
+      <translation variants="no">Check my caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_activate_own_number_sending">
+      <source>Activate own number sending</source>
+      <translation variants="no">Activate caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_share_video">
+      <source>Share video</source>
+      <translation variants="no">Share video</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_conference_call">
+      <source>Conference call</source>
+      <translation variants="no">Conference call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_invalid_phone_number">
+      <source>Invalid phone number</source>
+      <translation variants="no">Invalid phone number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_call_not_allowed_fixed_dialling">
+      <source>Call not allowed, fixed dialling active</source>
+      <translation variants="no">Call not allowed. Fixed dialling active.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_didnt_succeed_to_called">
+      <source>Video call didn't succeed to called end</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_short_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+  </context>
+</TS>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/tsrc/automaticanswertest/ts_files/automaticanswertest_hr.ts	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,214 @@
+<?xml version="1.0" encoding="utf-8"?>
+<TS version="1.0" sourcelanguage="en" language="en">
+  <context>
+    <name>nString</name>
+    <message numerus="no" id="txt_phone_dpopinfo_no_network_coverage">
+      <source>No network coverage</source>
+      <translation variants="no">No network coverage</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_not_allowed">
+      <source>Not allowed</source>
+      <translation variants="no">Not allowed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_attempting">
+      <source>Attempting</source>
+      <translation variants="no">Attempting emergency call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_private_number">
+      <source>Private number</source>
+      <translation variants="no">Private number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_on_hold">
+      <source>On hold</source>
+      <translation variants="no">on hold</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_calling">
+      <source>Calling</source>
+      <translation variants="no">Calling</translation>
+    </message>
+    <message numerus="no" id="txt_long_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_transfer">
+      <source>Transfer</source>
+      <translation variants="no">Transfer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_title_telephone">
+      <source>Telephone</source>
+      <translation variants="yes">
+        <lengthvariant priority="1">Telephone</lengthvariant>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_waiting">
+      <source>Waiting</source>
+      <translation variants="no">waiting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_called_number_has_barred_incoming">
+      <source>Called number has barred incoming calls</source>
+      <translation variants="no">Unable to make video call. Incoming calls barred on other phone.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_not_in_use">
+      <source>Number not in use</source>
+      <translation variants="no">Number not in use</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_could_not_send_own_number">
+      <source>Could not send own number</source>
+      <translation variants="no">Could not send your caller ID</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_not_allowed_during_resto">
+      <source>Video call not allowed during restore</source>
+      <translation variants="no">Unable to make video call during restoring operation</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_life_timer">
+      <source>Life timer\n%L1</source>
+      <translation variants="no">Life timer:
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_call_failed">
+      <source>Emergency call failed</source>
+      <translation variants="no">Emergency call failed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_sending">
+      <source>Sending\n%L1</source>
+      <translation variants="no">Sending
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_remote_sim">
+      <source>Remote SIM</source>
+      <translation variants="no">Remote SIM</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_calls_only">
+      <source>Emergency calls only</source>
+      <translation variants="no">Emergency calls only</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_network_busy">
+      <source>Network busy</source>
+      <translation variants="no">Network busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_unable_to_make_video_call_not_supp">
+      <source>Unable to make video call. Not supported by other phone or network.</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dblist_ongoing_call">
+      <source>Ongoing call</source>
+      <translation variants="no">Ongoing call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_videocall_only_possible_under_3g">
+      <source>Videocall only possible under 3G coverage</source>
+      <translation variants="no">Video calls not supported outside of 3G network</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_serial_no">
+      <source>Serial No.\n%L1</source>
+      <translation variants="no">Serial number:
+%1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_connected_to_1">
+      <source>Connected to %L1</source>
+      <translation variants="no">Connected to %L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_send_string">
+      <source>Send string:\n%L1</source>
+      <translation variants="no">Send DTMF:
%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_all_incoming_calls_diver">
+      <source>Note:  all incoming calls diverted</source>
+      <translation variants="no">Note: all incoming calls diverted</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_you_have_active_barrings">
+      <source>Note: you have active barrings</source>
+      <translation variants="no">Note: active call barrings</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_emergency_call">
+      <source>Emergency call</source>
+      <translation variants="no">Emergency call</translation>
+    </message>
+    <message numerus="yes" id="txt_phone_dblist_ln_missed_calls">
+      <source>%Ln missed calls</source>
+      <translation>
+        <numerusform plurality="a">#%Ln missed calls</numerusform>
+        <numerusform plurality="b">en #MISSING</numerusform>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_barred">
+      <source>Number barred</source>
+      <translation variants="no">Number barred</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_busy">
+      <source>Number busy</source>
+      <translation variants="no">Number busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_unknown_number">
+      <source>Unknown number</source>
+      <translation variants="no">Unknown number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_incoming_call">
+      <source>Incoming call</source>
+      <translation variants="no">calling</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_error_in_connection">
+      <source>Error in connection</source>
+      <translation variants="no">Connection error</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_end_all_calls">
+      <source>End all calls</source>
+      <translation variants="no">End all calls</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_no_answer">
+      <source>No answer</source>
+      <translation variants="no">No answer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_disconnected">
+      <source>Disconnected</source>
+      <translation variants="no">disconnected</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_conference_call_active">
+      <source>Conference call active</source>
+      <translation variants="no">Conference call active</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_phone_switched_off_or_out_of_3g">
+      <source>Phone switched off or out of 3G coverage</source>
+      <translation variants="no">Unable to make video call. Other phone switched off or outside of 3G network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_diverting">
+      <source>Diverting</source>
+      <translation variants="no">Diverting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_network_services">
+      <source>Check network services</source>
+      <translation variants="no">Check network services</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_own_number_sending">
+      <source>Check own number sending</source>
+      <translation variants="no">Check my caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_activate_own_number_sending">
+      <source>Activate own number sending</source>
+      <translation variants="no">Activate caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_share_video">
+      <source>Share video</source>
+      <translation variants="no">Share video</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_conference_call">
+      <source>Conference call</source>
+      <translation variants="no">Conference call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_invalid_phone_number">
+      <source>Invalid phone number</source>
+      <translation variants="no">Invalid phone number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_call_not_allowed_fixed_dialling">
+      <source>Call not allowed, fixed dialling active</source>
+      <translation variants="no">Call not allowed. Fixed dialling active.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_didnt_succeed_to_called">
+      <source>Video call didn't succeed to called end</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_short_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+  </context>
+</TS>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/tsrc/automaticanswertest/ts_files/automaticanswertest_hu.ts	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,214 @@
+<?xml version="1.0" encoding="utf-8"?>
+<TS version="1.0" sourcelanguage="en" language="en">
+  <context>
+    <name>nString</name>
+    <message numerus="no" id="txt_phone_dpopinfo_no_network_coverage">
+      <source>No network coverage</source>
+      <translation variants="no">No network coverage</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_not_allowed">
+      <source>Not allowed</source>
+      <translation variants="no">Not allowed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_attempting">
+      <source>Attempting</source>
+      <translation variants="no">Attempting emergency call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_private_number">
+      <source>Private number</source>
+      <translation variants="no">Private number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_on_hold">
+      <source>On hold</source>
+      <translation variants="no">on hold</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_calling">
+      <source>Calling</source>
+      <translation variants="no">Calling</translation>
+    </message>
+    <message numerus="no" id="txt_long_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_transfer">
+      <source>Transfer</source>
+      <translation variants="no">Transfer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_title_telephone">
+      <source>Telephone</source>
+      <translation variants="yes">
+        <lengthvariant priority="1">Telephone</lengthvariant>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_waiting">
+      <source>Waiting</source>
+      <translation variants="no">waiting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_called_number_has_barred_incoming">
+      <source>Called number has barred incoming calls</source>
+      <translation variants="no">Unable to make video call. Incoming calls barred on other phone.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_not_in_use">
+      <source>Number not in use</source>
+      <translation variants="no">Number not in use</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_could_not_send_own_number">
+      <source>Could not send own number</source>
+      <translation variants="no">Could not send your caller ID</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_not_allowed_during_resto">
+      <source>Video call not allowed during restore</source>
+      <translation variants="no">Unable to make video call during restoring operation</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_life_timer">
+      <source>Life timer\n%L1</source>
+      <translation variants="no">Life timer:
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_call_failed">
+      <source>Emergency call failed</source>
+      <translation variants="no">Emergency call failed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_sending">
+      <source>Sending\n%L1</source>
+      <translation variants="no">Sending
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_remote_sim">
+      <source>Remote SIM</source>
+      <translation variants="no">Remote SIM</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_calls_only">
+      <source>Emergency calls only</source>
+      <translation variants="no">Emergency calls only</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_network_busy">
+      <source>Network busy</source>
+      <translation variants="no">Network busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_unable_to_make_video_call_not_supp">
+      <source>Unable to make video call. Not supported by other phone or network.</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dblist_ongoing_call">
+      <source>Ongoing call</source>
+      <translation variants="no">Ongoing call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_videocall_only_possible_under_3g">
+      <source>Videocall only possible under 3G coverage</source>
+      <translation variants="no">Video calls not supported outside of 3G network</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_serial_no">
+      <source>Serial No.\n%L1</source>
+      <translation variants="no">Serial number:
+%1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_connected_to_1">
+      <source>Connected to %L1</source>
+      <translation variants="no">Connected to %L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_send_string">
+      <source>Send string:\n%L1</source>
+      <translation variants="no">Send DTMF:
%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_all_incoming_calls_diver">
+      <source>Note:  all incoming calls diverted</source>
+      <translation variants="no">Note: all incoming calls diverted</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_you_have_active_barrings">
+      <source>Note: you have active barrings</source>
+      <translation variants="no">Note: active call barrings</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_emergency_call">
+      <source>Emergency call</source>
+      <translation variants="no">Emergency call</translation>
+    </message>
+    <message numerus="yes" id="txt_phone_dblist_ln_missed_calls">
+      <source>%Ln missed calls</source>
+      <translation>
+        <numerusform plurality="a">#%Ln missed calls</numerusform>
+        <numerusform plurality="b">en #MISSING</numerusform>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_barred">
+      <source>Number barred</source>
+      <translation variants="no">Number barred</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_busy">
+      <source>Number busy</source>
+      <translation variants="no">Number busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_unknown_number">
+      <source>Unknown number</source>
+      <translation variants="no">Unknown number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_incoming_call">
+      <source>Incoming call</source>
+      <translation variants="no">calling</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_error_in_connection">
+      <source>Error in connection</source>
+      <translation variants="no">Connection error</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_end_all_calls">
+      <source>End all calls</source>
+      <translation variants="no">End all calls</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_no_answer">
+      <source>No answer</source>
+      <translation variants="no">No answer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_disconnected">
+      <source>Disconnected</source>
+      <translation variants="no">disconnected</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_conference_call_active">
+      <source>Conference call active</source>
+      <translation variants="no">Conference call active</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_phone_switched_off_or_out_of_3g">
+      <source>Phone switched off or out of 3G coverage</source>
+      <translation variants="no">Unable to make video call. Other phone switched off or outside of 3G network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_diverting">
+      <source>Diverting</source>
+      <translation variants="no">Diverting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_network_services">
+      <source>Check network services</source>
+      <translation variants="no">Check network services</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_own_number_sending">
+      <source>Check own number sending</source>
+      <translation variants="no">Check my caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_activate_own_number_sending">
+      <source>Activate own number sending</source>
+      <translation variants="no">Activate caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_share_video">
+      <source>Share video</source>
+      <translation variants="no">Share video</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_conference_call">
+      <source>Conference call</source>
+      <translation variants="no">Conference call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_invalid_phone_number">
+      <source>Invalid phone number</source>
+      <translation variants="no">Invalid phone number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_call_not_allowed_fixed_dialling">
+      <source>Call not allowed, fixed dialling active</source>
+      <translation variants="no">Call not allowed. Fixed dialling active.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_didnt_succeed_to_called">
+      <source>Video call didn't succeed to called end</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_short_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+  </context>
+</TS>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/tsrc/automaticanswertest/ts_files/automaticanswertest_id.ts	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,214 @@
+<?xml version="1.0" encoding="utf-8"?>
+<TS version="1.0" sourcelanguage="en" language="en">
+  <context>
+    <name>nString</name>
+    <message numerus="no" id="txt_phone_dpopinfo_no_network_coverage">
+      <source>No network coverage</source>
+      <translation variants="no">No network coverage</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_not_allowed">
+      <source>Not allowed</source>
+      <translation variants="no">Not allowed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_attempting">
+      <source>Attempting</source>
+      <translation variants="no">Attempting emergency call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_private_number">
+      <source>Private number</source>
+      <translation variants="no">Private number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_on_hold">
+      <source>On hold</source>
+      <translation variants="no">on hold</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_calling">
+      <source>Calling</source>
+      <translation variants="no">Calling</translation>
+    </message>
+    <message numerus="no" id="txt_long_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_transfer">
+      <source>Transfer</source>
+      <translation variants="no">Transfer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_title_telephone">
+      <source>Telephone</source>
+      <translation variants="yes">
+        <lengthvariant priority="1">Telephone</lengthvariant>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_waiting">
+      <source>Waiting</source>
+      <translation variants="no">waiting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_called_number_has_barred_incoming">
+      <source>Called number has barred incoming calls</source>
+      <translation variants="no">Unable to make video call. Incoming calls barred on other phone.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_not_in_use">
+      <source>Number not in use</source>
+      <translation variants="no">Number not in use</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_could_not_send_own_number">
+      <source>Could not send own number</source>
+      <translation variants="no">Could not send your caller ID</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_not_allowed_during_resto">
+      <source>Video call not allowed during restore</source>
+      <translation variants="no">Unable to make video call during restoring operation</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_life_timer">
+      <source>Life timer\n%L1</source>
+      <translation variants="no">Life timer:
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_call_failed">
+      <source>Emergency call failed</source>
+      <translation variants="no">Emergency call failed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_sending">
+      <source>Sending\n%L1</source>
+      <translation variants="no">Sending
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_remote_sim">
+      <source>Remote SIM</source>
+      <translation variants="no">Remote SIM</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_calls_only">
+      <source>Emergency calls only</source>
+      <translation variants="no">Emergency calls only</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_network_busy">
+      <source>Network busy</source>
+      <translation variants="no">Network busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_unable_to_make_video_call_not_supp">
+      <source>Unable to make video call. Not supported by other phone or network.</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dblist_ongoing_call">
+      <source>Ongoing call</source>
+      <translation variants="no">Ongoing call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_videocall_only_possible_under_3g">
+      <source>Videocall only possible under 3G coverage</source>
+      <translation variants="no">Video calls not supported outside of 3G network</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_serial_no">
+      <source>Serial No.\n%L1</source>
+      <translation variants="no">Serial number:
+%1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_connected_to_1">
+      <source>Connected to %L1</source>
+      <translation variants="no">Connected to %L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_send_string">
+      <source>Send string:\n%L1</source>
+      <translation variants="no">Send DTMF:
%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_all_incoming_calls_diver">
+      <source>Note:  all incoming calls diverted</source>
+      <translation variants="no">Note: all incoming calls diverted</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_you_have_active_barrings">
+      <source>Note: you have active barrings</source>
+      <translation variants="no">Note: active call barrings</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_emergency_call">
+      <source>Emergency call</source>
+      <translation variants="no">Emergency call</translation>
+    </message>
+    <message numerus="yes" id="txt_phone_dblist_ln_missed_calls">
+      <source>%Ln missed calls</source>
+      <translation>
+        <numerusform plurality="a">#%Ln missed calls</numerusform>
+        <numerusform plurality="b">en #MISSING</numerusform>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_barred">
+      <source>Number barred</source>
+      <translation variants="no">Number barred</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_busy">
+      <source>Number busy</source>
+      <translation variants="no">Number busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_unknown_number">
+      <source>Unknown number</source>
+      <translation variants="no">Unknown number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_incoming_call">
+      <source>Incoming call</source>
+      <translation variants="no">calling</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_error_in_connection">
+      <source>Error in connection</source>
+      <translation variants="no">Connection error</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_end_all_calls">
+      <source>End all calls</source>
+      <translation variants="no">End all calls</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_no_answer">
+      <source>No answer</source>
+      <translation variants="no">No answer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_disconnected">
+      <source>Disconnected</source>
+      <translation variants="no">disconnected</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_conference_call_active">
+      <source>Conference call active</source>
+      <translation variants="no">Conference call active</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_phone_switched_off_or_out_of_3g">
+      <source>Phone switched off or out of 3G coverage</source>
+      <translation variants="no">Unable to make video call. Other phone switched off or outside of 3G network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_diverting">
+      <source>Diverting</source>
+      <translation variants="no">Diverting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_network_services">
+      <source>Check network services</source>
+      <translation variants="no">Check network services</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_own_number_sending">
+      <source>Check own number sending</source>
+      <translation variants="no">Check my caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_activate_own_number_sending">
+      <source>Activate own number sending</source>
+      <translation variants="no">Activate caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_share_video">
+      <source>Share video</source>
+      <translation variants="no">Share video</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_conference_call">
+      <source>Conference call</source>
+      <translation variants="no">Conference call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_invalid_phone_number">
+      <source>Invalid phone number</source>
+      <translation variants="no">Invalid phone number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_call_not_allowed_fixed_dialling">
+      <source>Call not allowed, fixed dialling active</source>
+      <translation variants="no">Call not allowed. Fixed dialling active.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_didnt_succeed_to_called">
+      <source>Video call didn't succeed to called end</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_short_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+  </context>
+</TS>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/tsrc/automaticanswertest/ts_files/automaticanswertest_is.ts	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,214 @@
+<?xml version="1.0" encoding="utf-8"?>
+<TS version="1.0" sourcelanguage="en" language="en">
+  <context>
+    <name>nString</name>
+    <message numerus="no" id="txt_phone_dpopinfo_no_network_coverage">
+      <source>No network coverage</source>
+      <translation variants="no">No network coverage</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_not_allowed">
+      <source>Not allowed</source>
+      <translation variants="no">Not allowed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_attempting">
+      <source>Attempting</source>
+      <translation variants="no">Attempting emergency call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_private_number">
+      <source>Private number</source>
+      <translation variants="no">Private number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_on_hold">
+      <source>On hold</source>
+      <translation variants="no">on hold</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_calling">
+      <source>Calling</source>
+      <translation variants="no">Calling</translation>
+    </message>
+    <message numerus="no" id="txt_long_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_transfer">
+      <source>Transfer</source>
+      <translation variants="no">Transfer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_title_telephone">
+      <source>Telephone</source>
+      <translation variants="yes">
+        <lengthvariant priority="1">Telephone</lengthvariant>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_waiting">
+      <source>Waiting</source>
+      <translation variants="no">waiting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_called_number_has_barred_incoming">
+      <source>Called number has barred incoming calls</source>
+      <translation variants="no">Unable to make video call. Incoming calls barred on other phone.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_not_in_use">
+      <source>Number not in use</source>
+      <translation variants="no">Number not in use</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_could_not_send_own_number">
+      <source>Could not send own number</source>
+      <translation variants="no">Could not send your caller ID</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_not_allowed_during_resto">
+      <source>Video call not allowed during restore</source>
+      <translation variants="no">Unable to make video call during restoring operation</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_life_timer">
+      <source>Life timer\n%L1</source>
+      <translation variants="no">Life timer:
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_call_failed">
+      <source>Emergency call failed</source>
+      <translation variants="no">Emergency call failed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_sending">
+      <source>Sending\n%L1</source>
+      <translation variants="no">Sending
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_remote_sim">
+      <source>Remote SIM</source>
+      <translation variants="no">Remote SIM</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_calls_only">
+      <source>Emergency calls only</source>
+      <translation variants="no">Emergency calls only</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_network_busy">
+      <source>Network busy</source>
+      <translation variants="no">Network busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_unable_to_make_video_call_not_supp">
+      <source>Unable to make video call. Not supported by other phone or network.</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dblist_ongoing_call">
+      <source>Ongoing call</source>
+      <translation variants="no">Ongoing call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_videocall_only_possible_under_3g">
+      <source>Videocall only possible under 3G coverage</source>
+      <translation variants="no">Video calls not supported outside of 3G network</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_serial_no">
+      <source>Serial No.\n%L1</source>
+      <translation variants="no">Serial number:
+%1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_connected_to_1">
+      <source>Connected to %L1</source>
+      <translation variants="no">Connected to %L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_send_string">
+      <source>Send string:\n%L1</source>
+      <translation variants="no">Send DTMF:
%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_all_incoming_calls_diver">
+      <source>Note:  all incoming calls diverted</source>
+      <translation variants="no">Note: all incoming calls diverted</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_you_have_active_barrings">
+      <source>Note: you have active barrings</source>
+      <translation variants="no">Note: active call barrings</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_emergency_call">
+      <source>Emergency call</source>
+      <translation variants="no">Emergency call</translation>
+    </message>
+    <message numerus="yes" id="txt_phone_dblist_ln_missed_calls">
+      <source>%Ln missed calls</source>
+      <translation>
+        <numerusform plurality="a">#%Ln missed calls</numerusform>
+        <numerusform plurality="b">en #MISSING</numerusform>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_barred">
+      <source>Number barred</source>
+      <translation variants="no">Number barred</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_busy">
+      <source>Number busy</source>
+      <translation variants="no">Number busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_unknown_number">
+      <source>Unknown number</source>
+      <translation variants="no">Unknown number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_incoming_call">
+      <source>Incoming call</source>
+      <translation variants="no">calling</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_error_in_connection">
+      <source>Error in connection</source>
+      <translation variants="no">Connection error</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_end_all_calls">
+      <source>End all calls</source>
+      <translation variants="no">End all calls</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_no_answer">
+      <source>No answer</source>
+      <translation variants="no">No answer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_disconnected">
+      <source>Disconnected</source>
+      <translation variants="no">disconnected</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_conference_call_active">
+      <source>Conference call active</source>
+      <translation variants="no">Conference call active</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_phone_switched_off_or_out_of_3g">
+      <source>Phone switched off or out of 3G coverage</source>
+      <translation variants="no">Unable to make video call. Other phone switched off or outside of 3G network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_diverting">
+      <source>Diverting</source>
+      <translation variants="no">Diverting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_network_services">
+      <source>Check network services</source>
+      <translation variants="no">Check network services</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_own_number_sending">
+      <source>Check own number sending</source>
+      <translation variants="no">Check my caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_activate_own_number_sending">
+      <source>Activate own number sending</source>
+      <translation variants="no">Activate caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_share_video">
+      <source>Share video</source>
+      <translation variants="no">Share video</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_conference_call">
+      <source>Conference call</source>
+      <translation variants="no">Conference call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_invalid_phone_number">
+      <source>Invalid phone number</source>
+      <translation variants="no">Invalid phone number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_call_not_allowed_fixed_dialling">
+      <source>Call not allowed, fixed dialling active</source>
+      <translation variants="no">Call not allowed. Fixed dialling active.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_didnt_succeed_to_called">
+      <source>Video call didn't succeed to called end</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_short_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+  </context>
+</TS>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/tsrc/automaticanswertest/ts_files/automaticanswertest_it.ts	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,214 @@
+<?xml version="1.0" encoding="utf-8"?>
+<TS version="1.0" sourcelanguage="en" language="en">
+  <context>
+    <name>nString</name>
+    <message numerus="no" id="txt_phone_dpopinfo_no_network_coverage">
+      <source>No network coverage</source>
+      <translation variants="no">No network coverage</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_not_allowed">
+      <source>Not allowed</source>
+      <translation variants="no">Not allowed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_attempting">
+      <source>Attempting</source>
+      <translation variants="no">Attempting emergency call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_private_number">
+      <source>Private number</source>
+      <translation variants="no">Private number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_on_hold">
+      <source>On hold</source>
+      <translation variants="no">on hold</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_calling">
+      <source>Calling</source>
+      <translation variants="no">Calling</translation>
+    </message>
+    <message numerus="no" id="txt_long_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_transfer">
+      <source>Transfer</source>
+      <translation variants="no">Transfer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_title_telephone">
+      <source>Telephone</source>
+      <translation variants="yes">
+        <lengthvariant priority="1">Telephone</lengthvariant>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_waiting">
+      <source>Waiting</source>
+      <translation variants="no">waiting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_called_number_has_barred_incoming">
+      <source>Called number has barred incoming calls</source>
+      <translation variants="no">Unable to make video call. Incoming calls barred on other phone.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_not_in_use">
+      <source>Number not in use</source>
+      <translation variants="no">Number not in use</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_could_not_send_own_number">
+      <source>Could not send own number</source>
+      <translation variants="no">Could not send your caller ID</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_not_allowed_during_resto">
+      <source>Video call not allowed during restore</source>
+      <translation variants="no">Unable to make video call during restoring operation</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_life_timer">
+      <source>Life timer\n%L1</source>
+      <translation variants="no">Life timer:
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_call_failed">
+      <source>Emergency call failed</source>
+      <translation variants="no">Emergency call failed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_sending">
+      <source>Sending\n%L1</source>
+      <translation variants="no">Sending
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_remote_sim">
+      <source>Remote SIM</source>
+      <translation variants="no">Remote SIM</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_calls_only">
+      <source>Emergency calls only</source>
+      <translation variants="no">Emergency calls only</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_network_busy">
+      <source>Network busy</source>
+      <translation variants="no">Network busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_unable_to_make_video_call_not_supp">
+      <source>Unable to make video call. Not supported by other phone or network.</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dblist_ongoing_call">
+      <source>Ongoing call</source>
+      <translation variants="no">Ongoing call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_videocall_only_possible_under_3g">
+      <source>Videocall only possible under 3G coverage</source>
+      <translation variants="no">Video calls not supported outside of 3G network</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_serial_no">
+      <source>Serial No.\n%L1</source>
+      <translation variants="no">Serial number:
+%1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_connected_to_1">
+      <source>Connected to %L1</source>
+      <translation variants="no">Connected to %L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_send_string">
+      <source>Send string:\n%L1</source>
+      <translation variants="no">Send DTMF:
%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_all_incoming_calls_diver">
+      <source>Note:  all incoming calls diverted</source>
+      <translation variants="no">Note: all incoming calls diverted</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_you_have_active_barrings">
+      <source>Note: you have active barrings</source>
+      <translation variants="no">Note: active call barrings</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_emergency_call">
+      <source>Emergency call</source>
+      <translation variants="no">Emergency call</translation>
+    </message>
+    <message numerus="yes" id="txt_phone_dblist_ln_missed_calls">
+      <source>%Ln missed calls</source>
+      <translation>
+        <numerusform plurality="a">#%Ln missed calls</numerusform>
+        <numerusform plurality="b">en #MISSING</numerusform>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_barred">
+      <source>Number barred</source>
+      <translation variants="no">Number barred</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_busy">
+      <source>Number busy</source>
+      <translation variants="no">Number busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_unknown_number">
+      <source>Unknown number</source>
+      <translation variants="no">Unknown number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_incoming_call">
+      <source>Incoming call</source>
+      <translation variants="no">calling</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_error_in_connection">
+      <source>Error in connection</source>
+      <translation variants="no">Connection error</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_end_all_calls">
+      <source>End all calls</source>
+      <translation variants="no">End all calls</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_no_answer">
+      <source>No answer</source>
+      <translation variants="no">No answer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_disconnected">
+      <source>Disconnected</source>
+      <translation variants="no">disconnected</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_conference_call_active">
+      <source>Conference call active</source>
+      <translation variants="no">Conference call active</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_phone_switched_off_or_out_of_3g">
+      <source>Phone switched off or out of 3G coverage</source>
+      <translation variants="no">Unable to make video call. Other phone switched off or outside of 3G network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_diverting">
+      <source>Diverting</source>
+      <translation variants="no">Diverting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_network_services">
+      <source>Check network services</source>
+      <translation variants="no">Check network services</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_own_number_sending">
+      <source>Check own number sending</source>
+      <translation variants="no">Check my caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_activate_own_number_sending">
+      <source>Activate own number sending</source>
+      <translation variants="no">Activate caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_share_video">
+      <source>Share video</source>
+      <translation variants="no">Share video</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_conference_call">
+      <source>Conference call</source>
+      <translation variants="no">Conference call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_invalid_phone_number">
+      <source>Invalid phone number</source>
+      <translation variants="no">Invalid phone number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_call_not_allowed_fixed_dialling">
+      <source>Call not allowed, fixed dialling active</source>
+      <translation variants="no">Call not allowed. Fixed dialling active.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_didnt_succeed_to_called">
+      <source>Video call didn't succeed to called end</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_short_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+  </context>
+</TS>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/tsrc/automaticanswertest/ts_files/automaticanswertest_ja.ts	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,214 @@
+<?xml version="1.0" encoding="utf-8"?>
+<TS version="1.0" sourcelanguage="en" language="en">
+  <context>
+    <name>nString</name>
+    <message numerus="no" id="txt_phone_dpopinfo_no_network_coverage">
+      <source>No network coverage</source>
+      <translation variants="no">No network coverage</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_not_allowed">
+      <source>Not allowed</source>
+      <translation variants="no">Not allowed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_attempting">
+      <source>Attempting</source>
+      <translation variants="no">Attempting emergency call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_private_number">
+      <source>Private number</source>
+      <translation variants="no">Private number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_on_hold">
+      <source>On hold</source>
+      <translation variants="no">on hold</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_calling">
+      <source>Calling</source>
+      <translation variants="no">Calling</translation>
+    </message>
+    <message numerus="no" id="txt_long_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_transfer">
+      <source>Transfer</source>
+      <translation variants="no">Transfer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_title_telephone">
+      <source>Telephone</source>
+      <translation variants="yes">
+        <lengthvariant priority="1">Telephone</lengthvariant>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_waiting">
+      <source>Waiting</source>
+      <translation variants="no">waiting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_called_number_has_barred_incoming">
+      <source>Called number has barred incoming calls</source>
+      <translation variants="no">Unable to make video call. Incoming calls barred on other phone.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_not_in_use">
+      <source>Number not in use</source>
+      <translation variants="no">Number not in use</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_could_not_send_own_number">
+      <source>Could not send own number</source>
+      <translation variants="no">Could not send your caller ID</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_not_allowed_during_resto">
+      <source>Video call not allowed during restore</source>
+      <translation variants="no">Unable to make video call during restoring operation</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_life_timer">
+      <source>Life timer\n%L1</source>
+      <translation variants="no">Life timer:
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_call_failed">
+      <source>Emergency call failed</source>
+      <translation variants="no">Emergency call failed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_sending">
+      <source>Sending\n%L1</source>
+      <translation variants="no">Sending
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_remote_sim">
+      <source>Remote SIM</source>
+      <translation variants="no">Remote SIM</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_calls_only">
+      <source>Emergency calls only</source>
+      <translation variants="no">Emergency calls only</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_network_busy">
+      <source>Network busy</source>
+      <translation variants="no">Network busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_unable_to_make_video_call_not_supp">
+      <source>Unable to make video call. Not supported by other phone or network.</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dblist_ongoing_call">
+      <source>Ongoing call</source>
+      <translation variants="no">Ongoing call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_videocall_only_possible_under_3g">
+      <source>Videocall only possible under 3G coverage</source>
+      <translation variants="no">Video calls not supported outside of 3G network</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_serial_no">
+      <source>Serial No.\n%L1</source>
+      <translation variants="no">Serial number:
+%1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_connected_to_1">
+      <source>Connected to %L1</source>
+      <translation variants="no">Connected to %L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_send_string">
+      <source>Send string:\n%L1</source>
+      <translation variants="no">Send DTMF:
%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_all_incoming_calls_diver">
+      <source>Note:  all incoming calls diverted</source>
+      <translation variants="no">Note: all incoming calls diverted</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_you_have_active_barrings">
+      <source>Note: you have active barrings</source>
+      <translation variants="no">Note: active call barrings</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_emergency_call">
+      <source>Emergency call</source>
+      <translation variants="no">Emergency call</translation>
+    </message>
+    <message numerus="yes" id="txt_phone_dblist_ln_missed_calls">
+      <source>%Ln missed calls</source>
+      <translation>
+        <numerusform plurality="a">#%Ln missed calls</numerusform>
+        <numerusform plurality="b">en #MISSING</numerusform>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_barred">
+      <source>Number barred</source>
+      <translation variants="no">Number barred</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_busy">
+      <source>Number busy</source>
+      <translation variants="no">Number busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_unknown_number">
+      <source>Unknown number</source>
+      <translation variants="no">Unknown number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_incoming_call">
+      <source>Incoming call</source>
+      <translation variants="no">calling</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_error_in_connection">
+      <source>Error in connection</source>
+      <translation variants="no">Connection error</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_end_all_calls">
+      <source>End all calls</source>
+      <translation variants="no">End all calls</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_no_answer">
+      <source>No answer</source>
+      <translation variants="no">No answer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_disconnected">
+      <source>Disconnected</source>
+      <translation variants="no">disconnected</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_conference_call_active">
+      <source>Conference call active</source>
+      <translation variants="no">Conference call active</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_phone_switched_off_or_out_of_3g">
+      <source>Phone switched off or out of 3G coverage</source>
+      <translation variants="no">Unable to make video call. Other phone switched off or outside of 3G network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_diverting">
+      <source>Diverting</source>
+      <translation variants="no">Diverting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_network_services">
+      <source>Check network services</source>
+      <translation variants="no">Check network services</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_own_number_sending">
+      <source>Check own number sending</source>
+      <translation variants="no">Check my caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_activate_own_number_sending">
+      <source>Activate own number sending</source>
+      <translation variants="no">Activate caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_share_video">
+      <source>Share video</source>
+      <translation variants="no">Share video</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_conference_call">
+      <source>Conference call</source>
+      <translation variants="no">Conference call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_invalid_phone_number">
+      <source>Invalid phone number</source>
+      <translation variants="no">Invalid phone number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_call_not_allowed_fixed_dialling">
+      <source>Call not allowed, fixed dialling active</source>
+      <translation variants="no">Call not allowed. Fixed dialling active.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_didnt_succeed_to_called">
+      <source>Video call didn't succeed to called end</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_short_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+  </context>
+</TS>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/tsrc/automaticanswertest/ts_files/automaticanswertest_ko.ts	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,214 @@
+<?xml version="1.0" encoding="utf-8"?>
+<TS version="1.0" sourcelanguage="en" language="en">
+  <context>
+    <name>nString</name>
+    <message numerus="no" id="txt_phone_dpopinfo_no_network_coverage">
+      <source>No network coverage</source>
+      <translation variants="no">No network coverage</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_not_allowed">
+      <source>Not allowed</source>
+      <translation variants="no">Not allowed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_attempting">
+      <source>Attempting</source>
+      <translation variants="no">Attempting emergency call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_private_number">
+      <source>Private number</source>
+      <translation variants="no">Private number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_on_hold">
+      <source>On hold</source>
+      <translation variants="no">on hold</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_calling">
+      <source>Calling</source>
+      <translation variants="no">Calling</translation>
+    </message>
+    <message numerus="no" id="txt_long_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_transfer">
+      <source>Transfer</source>
+      <translation variants="no">Transfer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_title_telephone">
+      <source>Telephone</source>
+      <translation variants="yes">
+        <lengthvariant priority="1">Telephone</lengthvariant>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_waiting">
+      <source>Waiting</source>
+      <translation variants="no">waiting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_called_number_has_barred_incoming">
+      <source>Called number has barred incoming calls</source>
+      <translation variants="no">Unable to make video call. Incoming calls barred on other phone.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_not_in_use">
+      <source>Number not in use</source>
+      <translation variants="no">Number not in use</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_could_not_send_own_number">
+      <source>Could not send own number</source>
+      <translation variants="no">Could not send your caller ID</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_not_allowed_during_resto">
+      <source>Video call not allowed during restore</source>
+      <translation variants="no">Unable to make video call during restoring operation</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_life_timer">
+      <source>Life timer\n%L1</source>
+      <translation variants="no">Life timer:
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_call_failed">
+      <source>Emergency call failed</source>
+      <translation variants="no">Emergency call failed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_sending">
+      <source>Sending\n%L1</source>
+      <translation variants="no">Sending
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_remote_sim">
+      <source>Remote SIM</source>
+      <translation variants="no">Remote SIM</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_calls_only">
+      <source>Emergency calls only</source>
+      <translation variants="no">Emergency calls only</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_network_busy">
+      <source>Network busy</source>
+      <translation variants="no">Network busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_unable_to_make_video_call_not_supp">
+      <source>Unable to make video call. Not supported by other phone or network.</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dblist_ongoing_call">
+      <source>Ongoing call</source>
+      <translation variants="no">Ongoing call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_videocall_only_possible_under_3g">
+      <source>Videocall only possible under 3G coverage</source>
+      <translation variants="no">Video calls not supported outside of 3G network</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_serial_no">
+      <source>Serial No.\n%L1</source>
+      <translation variants="no">Serial number:
+%1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_connected_to_1">
+      <source>Connected to %L1</source>
+      <translation variants="no">Connected to %L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_send_string">
+      <source>Send string:\n%L1</source>
+      <translation variants="no">Send DTMF:
%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_all_incoming_calls_diver">
+      <source>Note:  all incoming calls diverted</source>
+      <translation variants="no">Note: all incoming calls diverted</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_you_have_active_barrings">
+      <source>Note: you have active barrings</source>
+      <translation variants="no">Note: active call barrings</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_emergency_call">
+      <source>Emergency call</source>
+      <translation variants="no">Emergency call</translation>
+    </message>
+    <message numerus="yes" id="txt_phone_dblist_ln_missed_calls">
+      <source>%Ln missed calls</source>
+      <translation>
+        <numerusform plurality="a">#%Ln missed calls</numerusform>
+        <numerusform plurality="b">en #MISSING</numerusform>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_barred">
+      <source>Number barred</source>
+      <translation variants="no">Number barred</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_busy">
+      <source>Number busy</source>
+      <translation variants="no">Number busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_unknown_number">
+      <source>Unknown number</source>
+      <translation variants="no">Unknown number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_incoming_call">
+      <source>Incoming call</source>
+      <translation variants="no">calling</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_error_in_connection">
+      <source>Error in connection</source>
+      <translation variants="no">Connection error</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_end_all_calls">
+      <source>End all calls</source>
+      <translation variants="no">End all calls</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_no_answer">
+      <source>No answer</source>
+      <translation variants="no">No answer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_disconnected">
+      <source>Disconnected</source>
+      <translation variants="no">disconnected</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_conference_call_active">
+      <source>Conference call active</source>
+      <translation variants="no">Conference call active</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_phone_switched_off_or_out_of_3g">
+      <source>Phone switched off or out of 3G coverage</source>
+      <translation variants="no">Unable to make video call. Other phone switched off or outside of 3G network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_diverting">
+      <source>Diverting</source>
+      <translation variants="no">Diverting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_network_services">
+      <source>Check network services</source>
+      <translation variants="no">Check network services</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_own_number_sending">
+      <source>Check own number sending</source>
+      <translation variants="no">Check my caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_activate_own_number_sending">
+      <source>Activate own number sending</source>
+      <translation variants="no">Activate caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_share_video">
+      <source>Share video</source>
+      <translation variants="no">Share video</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_conference_call">
+      <source>Conference call</source>
+      <translation variants="no">Conference call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_invalid_phone_number">
+      <source>Invalid phone number</source>
+      <translation variants="no">Invalid phone number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_call_not_allowed_fixed_dialling">
+      <source>Call not allowed, fixed dialling active</source>
+      <translation variants="no">Call not allowed. Fixed dialling active.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_didnt_succeed_to_called">
+      <source>Video call didn't succeed to called end</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_short_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+  </context>
+</TS>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/tsrc/automaticanswertest/ts_files/automaticanswertest_lt.ts	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,214 @@
+<?xml version="1.0" encoding="utf-8"?>
+<TS version="1.0" sourcelanguage="en" language="en">
+  <context>
+    <name>nString</name>
+    <message numerus="no" id="txt_phone_dpopinfo_no_network_coverage">
+      <source>No network coverage</source>
+      <translation variants="no">No network coverage</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_not_allowed">
+      <source>Not allowed</source>
+      <translation variants="no">Not allowed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_attempting">
+      <source>Attempting</source>
+      <translation variants="no">Attempting emergency call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_private_number">
+      <source>Private number</source>
+      <translation variants="no">Private number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_on_hold">
+      <source>On hold</source>
+      <translation variants="no">on hold</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_calling">
+      <source>Calling</source>
+      <translation variants="no">Calling</translation>
+    </message>
+    <message numerus="no" id="txt_long_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_transfer">
+      <source>Transfer</source>
+      <translation variants="no">Transfer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_title_telephone">
+      <source>Telephone</source>
+      <translation variants="yes">
+        <lengthvariant priority="1">Telephone</lengthvariant>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_waiting">
+      <source>Waiting</source>
+      <translation variants="no">waiting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_called_number_has_barred_incoming">
+      <source>Called number has barred incoming calls</source>
+      <translation variants="no">Unable to make video call. Incoming calls barred on other phone.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_not_in_use">
+      <source>Number not in use</source>
+      <translation variants="no">Number not in use</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_could_not_send_own_number">
+      <source>Could not send own number</source>
+      <translation variants="no">Could not send your caller ID</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_not_allowed_during_resto">
+      <source>Video call not allowed during restore</source>
+      <translation variants="no">Unable to make video call during restoring operation</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_life_timer">
+      <source>Life timer\n%L1</source>
+      <translation variants="no">Life timer:
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_call_failed">
+      <source>Emergency call failed</source>
+      <translation variants="no">Emergency call failed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_sending">
+      <source>Sending\n%L1</source>
+      <translation variants="no">Sending
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_remote_sim">
+      <source>Remote SIM</source>
+      <translation variants="no">Remote SIM</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_calls_only">
+      <source>Emergency calls only</source>
+      <translation variants="no">Emergency calls only</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_network_busy">
+      <source>Network busy</source>
+      <translation variants="no">Network busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_unable_to_make_video_call_not_supp">
+      <source>Unable to make video call. Not supported by other phone or network.</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dblist_ongoing_call">
+      <source>Ongoing call</source>
+      <translation variants="no">Ongoing call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_videocall_only_possible_under_3g">
+      <source>Videocall only possible under 3G coverage</source>
+      <translation variants="no">Video calls not supported outside of 3G network</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_serial_no">
+      <source>Serial No.\n%L1</source>
+      <translation variants="no">Serial number:
+%1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_connected_to_1">
+      <source>Connected to %L1</source>
+      <translation variants="no">Connected to %L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_send_string">
+      <source>Send string:\n%L1</source>
+      <translation variants="no">Send DTMF:
%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_all_incoming_calls_diver">
+      <source>Note:  all incoming calls diverted</source>
+      <translation variants="no">Note: all incoming calls diverted</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_you_have_active_barrings">
+      <source>Note: you have active barrings</source>
+      <translation variants="no">Note: active call barrings</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_emergency_call">
+      <source>Emergency call</source>
+      <translation variants="no">Emergency call</translation>
+    </message>
+    <message numerus="yes" id="txt_phone_dblist_ln_missed_calls">
+      <source>%Ln missed calls</source>
+      <translation>
+        <numerusform plurality="a">#%Ln missed calls</numerusform>
+        <numerusform plurality="b">en #MISSING</numerusform>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_barred">
+      <source>Number barred</source>
+      <translation variants="no">Number barred</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_busy">
+      <source>Number busy</source>
+      <translation variants="no">Number busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_unknown_number">
+      <source>Unknown number</source>
+      <translation variants="no">Unknown number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_incoming_call">
+      <source>Incoming call</source>
+      <translation variants="no">calling</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_error_in_connection">
+      <source>Error in connection</source>
+      <translation variants="no">Connection error</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_end_all_calls">
+      <source>End all calls</source>
+      <translation variants="no">End all calls</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_no_answer">
+      <source>No answer</source>
+      <translation variants="no">No answer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_disconnected">
+      <source>Disconnected</source>
+      <translation variants="no">disconnected</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_conference_call_active">
+      <source>Conference call active</source>
+      <translation variants="no">Conference call active</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_phone_switched_off_or_out_of_3g">
+      <source>Phone switched off or out of 3G coverage</source>
+      <translation variants="no">Unable to make video call. Other phone switched off or outside of 3G network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_diverting">
+      <source>Diverting</source>
+      <translation variants="no">Diverting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_network_services">
+      <source>Check network services</source>
+      <translation variants="no">Check network services</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_own_number_sending">
+      <source>Check own number sending</source>
+      <translation variants="no">Check my caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_activate_own_number_sending">
+      <source>Activate own number sending</source>
+      <translation variants="no">Activate caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_share_video">
+      <source>Share video</source>
+      <translation variants="no">Share video</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_conference_call">
+      <source>Conference call</source>
+      <translation variants="no">Conference call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_invalid_phone_number">
+      <source>Invalid phone number</source>
+      <translation variants="no">Invalid phone number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_call_not_allowed_fixed_dialling">
+      <source>Call not allowed, fixed dialling active</source>
+      <translation variants="no">Call not allowed. Fixed dialling active.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_didnt_succeed_to_called">
+      <source>Video call didn't succeed to called end</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_short_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+  </context>
+</TS>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/tsrc/automaticanswertest/ts_files/automaticanswertest_lv.ts	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,214 @@
+<?xml version="1.0" encoding="utf-8"?>
+<TS version="1.0" sourcelanguage="en" language="en">
+  <context>
+    <name>nString</name>
+    <message numerus="no" id="txt_phone_dpopinfo_no_network_coverage">
+      <source>No network coverage</source>
+      <translation variants="no">No network coverage</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_not_allowed">
+      <source>Not allowed</source>
+      <translation variants="no">Not allowed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_attempting">
+      <source>Attempting</source>
+      <translation variants="no">Attempting emergency call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_private_number">
+      <source>Private number</source>
+      <translation variants="no">Private number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_on_hold">
+      <source>On hold</source>
+      <translation variants="no">on hold</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_calling">
+      <source>Calling</source>
+      <translation variants="no">Calling</translation>
+    </message>
+    <message numerus="no" id="txt_long_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_transfer">
+      <source>Transfer</source>
+      <translation variants="no">Transfer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_title_telephone">
+      <source>Telephone</source>
+      <translation variants="yes">
+        <lengthvariant priority="1">Telephone</lengthvariant>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_waiting">
+      <source>Waiting</source>
+      <translation variants="no">waiting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_called_number_has_barred_incoming">
+      <source>Called number has barred incoming calls</source>
+      <translation variants="no">Unable to make video call. Incoming calls barred on other phone.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_not_in_use">
+      <source>Number not in use</source>
+      <translation variants="no">Number not in use</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_could_not_send_own_number">
+      <source>Could not send own number</source>
+      <translation variants="no">Could not send your caller ID</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_not_allowed_during_resto">
+      <source>Video call not allowed during restore</source>
+      <translation variants="no">Unable to make video call during restoring operation</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_life_timer">
+      <source>Life timer\n%L1</source>
+      <translation variants="no">Life timer:
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_call_failed">
+      <source>Emergency call failed</source>
+      <translation variants="no">Emergency call failed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_sending">
+      <source>Sending\n%L1</source>
+      <translation variants="no">Sending
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_remote_sim">
+      <source>Remote SIM</source>
+      <translation variants="no">Remote SIM</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_calls_only">
+      <source>Emergency calls only</source>
+      <translation variants="no">Emergency calls only</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_network_busy">
+      <source>Network busy</source>
+      <translation variants="no">Network busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_unable_to_make_video_call_not_supp">
+      <source>Unable to make video call. Not supported by other phone or network.</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dblist_ongoing_call">
+      <source>Ongoing call</source>
+      <translation variants="no">Ongoing call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_videocall_only_possible_under_3g">
+      <source>Videocall only possible under 3G coverage</source>
+      <translation variants="no">Video calls not supported outside of 3G network</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_serial_no">
+      <source>Serial No.\n%L1</source>
+      <translation variants="no">Serial number:
+%1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_connected_to_1">
+      <source>Connected to %L1</source>
+      <translation variants="no">Connected to %L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_send_string">
+      <source>Send string:\n%L1</source>
+      <translation variants="no">Send DTMF:
%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_all_incoming_calls_diver">
+      <source>Note:  all incoming calls diverted</source>
+      <translation variants="no">Note: all incoming calls diverted</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_you_have_active_barrings">
+      <source>Note: you have active barrings</source>
+      <translation variants="no">Note: active call barrings</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_emergency_call">
+      <source>Emergency call</source>
+      <translation variants="no">Emergency call</translation>
+    </message>
+    <message numerus="yes" id="txt_phone_dblist_ln_missed_calls">
+      <source>%Ln missed calls</source>
+      <translation>
+        <numerusform plurality="a">#%Ln missed calls</numerusform>
+        <numerusform plurality="b">en #MISSING</numerusform>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_barred">
+      <source>Number barred</source>
+      <translation variants="no">Number barred</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_busy">
+      <source>Number busy</source>
+      <translation variants="no">Number busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_unknown_number">
+      <source>Unknown number</source>
+      <translation variants="no">Unknown number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_incoming_call">
+      <source>Incoming call</source>
+      <translation variants="no">calling</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_error_in_connection">
+      <source>Error in connection</source>
+      <translation variants="no">Connection error</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_end_all_calls">
+      <source>End all calls</source>
+      <translation variants="no">End all calls</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_no_answer">
+      <source>No answer</source>
+      <translation variants="no">No answer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_disconnected">
+      <source>Disconnected</source>
+      <translation variants="no">disconnected</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_conference_call_active">
+      <source>Conference call active</source>
+      <translation variants="no">Conference call active</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_phone_switched_off_or_out_of_3g">
+      <source>Phone switched off or out of 3G coverage</source>
+      <translation variants="no">Unable to make video call. Other phone switched off or outside of 3G network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_diverting">
+      <source>Diverting</source>
+      <translation variants="no">Diverting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_network_services">
+      <source>Check network services</source>
+      <translation variants="no">Check network services</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_own_number_sending">
+      <source>Check own number sending</source>
+      <translation variants="no">Check my caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_activate_own_number_sending">
+      <source>Activate own number sending</source>
+      <translation variants="no">Activate caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_share_video">
+      <source>Share video</source>
+      <translation variants="no">Share video</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_conference_call">
+      <source>Conference call</source>
+      <translation variants="no">Conference call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_invalid_phone_number">
+      <source>Invalid phone number</source>
+      <translation variants="no">Invalid phone number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_call_not_allowed_fixed_dialling">
+      <source>Call not allowed, fixed dialling active</source>
+      <translation variants="no">Call not allowed. Fixed dialling active.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_didnt_succeed_to_called">
+      <source>Video call didn't succeed to called end</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_short_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+  </context>
+</TS>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/tsrc/automaticanswertest/ts_files/automaticanswertest_mr.ts	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,214 @@
+<?xml version="1.0" encoding="utf-8"?>
+<TS version="1.0" sourcelanguage="en" language="en">
+  <context>
+    <name>nString</name>
+    <message numerus="no" id="txt_phone_dpopinfo_no_network_coverage">
+      <source>No network coverage</source>
+      <translation variants="no">No network coverage</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_not_allowed">
+      <source>Not allowed</source>
+      <translation variants="no">Not allowed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_attempting">
+      <source>Attempting</source>
+      <translation variants="no">Attempting emergency call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_private_number">
+      <source>Private number</source>
+      <translation variants="no">Private number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_on_hold">
+      <source>On hold</source>
+      <translation variants="no">on hold</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_calling">
+      <source>Calling</source>
+      <translation variants="no">Calling</translation>
+    </message>
+    <message numerus="no" id="txt_long_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_transfer">
+      <source>Transfer</source>
+      <translation variants="no">Transfer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_title_telephone">
+      <source>Telephone</source>
+      <translation variants="yes">
+        <lengthvariant priority="1">Telephone</lengthvariant>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_waiting">
+      <source>Waiting</source>
+      <translation variants="no">waiting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_called_number_has_barred_incoming">
+      <source>Called number has barred incoming calls</source>
+      <translation variants="no">Unable to make video call. Incoming calls barred on other phone.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_not_in_use">
+      <source>Number not in use</source>
+      <translation variants="no">Number not in use</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_could_not_send_own_number">
+      <source>Could not send own number</source>
+      <translation variants="no">Could not send your caller ID</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_not_allowed_during_resto">
+      <source>Video call not allowed during restore</source>
+      <translation variants="no">Unable to make video call during restoring operation</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_life_timer">
+      <source>Life timer\n%L1</source>
+      <translation variants="no">Life timer:
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_call_failed">
+      <source>Emergency call failed</source>
+      <translation variants="no">Emergency call failed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_sending">
+      <source>Sending\n%L1</source>
+      <translation variants="no">Sending
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_remote_sim">
+      <source>Remote SIM</source>
+      <translation variants="no">Remote SIM</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_calls_only">
+      <source>Emergency calls only</source>
+      <translation variants="no">Emergency calls only</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_network_busy">
+      <source>Network busy</source>
+      <translation variants="no">Network busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_unable_to_make_video_call_not_supp">
+      <source>Unable to make video call. Not supported by other phone or network.</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dblist_ongoing_call">
+      <source>Ongoing call</source>
+      <translation variants="no">Ongoing call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_videocall_only_possible_under_3g">
+      <source>Videocall only possible under 3G coverage</source>
+      <translation variants="no">Video calls not supported outside of 3G network</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_serial_no">
+      <source>Serial No.\n%L1</source>
+      <translation variants="no">Serial number:
+%1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_connected_to_1">
+      <source>Connected to %L1</source>
+      <translation variants="no">Connected to %L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_send_string">
+      <source>Send string:\n%L1</source>
+      <translation variants="no">Send DTMF:
%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_all_incoming_calls_diver">
+      <source>Note:  all incoming calls diverted</source>
+      <translation variants="no">Note: all incoming calls diverted</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_you_have_active_barrings">
+      <source>Note: you have active barrings</source>
+      <translation variants="no">Note: active call barrings</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_emergency_call">
+      <source>Emergency call</source>
+      <translation variants="no">Emergency call</translation>
+    </message>
+    <message numerus="yes" id="txt_phone_dblist_ln_missed_calls">
+      <source>%Ln missed calls</source>
+      <translation>
+        <numerusform plurality="a">#%Ln missed calls</numerusform>
+        <numerusform plurality="b">en #MISSING</numerusform>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_barred">
+      <source>Number barred</source>
+      <translation variants="no">Number barred</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_busy">
+      <source>Number busy</source>
+      <translation variants="no">Number busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_unknown_number">
+      <source>Unknown number</source>
+      <translation variants="no">Unknown number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_incoming_call">
+      <source>Incoming call</source>
+      <translation variants="no">calling</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_error_in_connection">
+      <source>Error in connection</source>
+      <translation variants="no">Connection error</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_end_all_calls">
+      <source>End all calls</source>
+      <translation variants="no">End all calls</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_no_answer">
+      <source>No answer</source>
+      <translation variants="no">No answer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_disconnected">
+      <source>Disconnected</source>
+      <translation variants="no">disconnected</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_conference_call_active">
+      <source>Conference call active</source>
+      <translation variants="no">Conference call active</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_phone_switched_off_or_out_of_3g">
+      <source>Phone switched off or out of 3G coverage</source>
+      <translation variants="no">Unable to make video call. Other phone switched off or outside of 3G network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_diverting">
+      <source>Diverting</source>
+      <translation variants="no">Diverting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_network_services">
+      <source>Check network services</source>
+      <translation variants="no">Check network services</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_own_number_sending">
+      <source>Check own number sending</source>
+      <translation variants="no">Check my caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_activate_own_number_sending">
+      <source>Activate own number sending</source>
+      <translation variants="no">Activate caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_share_video">
+      <source>Share video</source>
+      <translation variants="no">Share video</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_conference_call">
+      <source>Conference call</source>
+      <translation variants="no">Conference call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_invalid_phone_number">
+      <source>Invalid phone number</source>
+      <translation variants="no">Invalid phone number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_call_not_allowed_fixed_dialling">
+      <source>Call not allowed, fixed dialling active</source>
+      <translation variants="no">Call not allowed. Fixed dialling active.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_didnt_succeed_to_called">
+      <source>Video call didn't succeed to called end</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_short_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+  </context>
+</TS>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/tsrc/automaticanswertest/ts_files/automaticanswertest_ms.ts	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,214 @@
+<?xml version="1.0" encoding="utf-8"?>
+<TS version="1.0" sourcelanguage="en" language="en">
+  <context>
+    <name>nString</name>
+    <message numerus="no" id="txt_phone_dpopinfo_no_network_coverage">
+      <source>No network coverage</source>
+      <translation variants="no">No network coverage</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_not_allowed">
+      <source>Not allowed</source>
+      <translation variants="no">Not allowed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_attempting">
+      <source>Attempting</source>
+      <translation variants="no">Attempting emergency call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_private_number">
+      <source>Private number</source>
+      <translation variants="no">Private number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_on_hold">
+      <source>On hold</source>
+      <translation variants="no">on hold</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_calling">
+      <source>Calling</source>
+      <translation variants="no">Calling</translation>
+    </message>
+    <message numerus="no" id="txt_long_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_transfer">
+      <source>Transfer</source>
+      <translation variants="no">Transfer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_title_telephone">
+      <source>Telephone</source>
+      <translation variants="yes">
+        <lengthvariant priority="1">Telephone</lengthvariant>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_waiting">
+      <source>Waiting</source>
+      <translation variants="no">waiting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_called_number_has_barred_incoming">
+      <source>Called number has barred incoming calls</source>
+      <translation variants="no">Unable to make video call. Incoming calls barred on other phone.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_not_in_use">
+      <source>Number not in use</source>
+      <translation variants="no">Number not in use</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_could_not_send_own_number">
+      <source>Could not send own number</source>
+      <translation variants="no">Could not send your caller ID</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_not_allowed_during_resto">
+      <source>Video call not allowed during restore</source>
+      <translation variants="no">Unable to make video call during restoring operation</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_life_timer">
+      <source>Life timer\n%L1</source>
+      <translation variants="no">Life timer:
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_call_failed">
+      <source>Emergency call failed</source>
+      <translation variants="no">Emergency call failed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_sending">
+      <source>Sending\n%L1</source>
+      <translation variants="no">Sending
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_remote_sim">
+      <source>Remote SIM</source>
+      <translation variants="no">Remote SIM</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_calls_only">
+      <source>Emergency calls only</source>
+      <translation variants="no">Emergency calls only</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_network_busy">
+      <source>Network busy</source>
+      <translation variants="no">Network busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_unable_to_make_video_call_not_supp">
+      <source>Unable to make video call. Not supported by other phone or network.</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dblist_ongoing_call">
+      <source>Ongoing call</source>
+      <translation variants="no">Ongoing call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_videocall_only_possible_under_3g">
+      <source>Videocall only possible under 3G coverage</source>
+      <translation variants="no">Video calls not supported outside of 3G network</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_serial_no">
+      <source>Serial No.\n%L1</source>
+      <translation variants="no">Serial number:
+%1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_connected_to_1">
+      <source>Connected to %L1</source>
+      <translation variants="no">Connected to %L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_send_string">
+      <source>Send string:\n%L1</source>
+      <translation variants="no">Send DTMF:
%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_all_incoming_calls_diver">
+      <source>Note:  all incoming calls diverted</source>
+      <translation variants="no">Note: all incoming calls diverted</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_you_have_active_barrings">
+      <source>Note: you have active barrings</source>
+      <translation variants="no">Note: active call barrings</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_emergency_call">
+      <source>Emergency call</source>
+      <translation variants="no">Emergency call</translation>
+    </message>
+    <message numerus="yes" id="txt_phone_dblist_ln_missed_calls">
+      <source>%Ln missed calls</source>
+      <translation>
+        <numerusform plurality="a">#%Ln missed calls</numerusform>
+        <numerusform plurality="b">en #MISSING</numerusform>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_barred">
+      <source>Number barred</source>
+      <translation variants="no">Number barred</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_busy">
+      <source>Number busy</source>
+      <translation variants="no">Number busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_unknown_number">
+      <source>Unknown number</source>
+      <translation variants="no">Unknown number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_incoming_call">
+      <source>Incoming call</source>
+      <translation variants="no">calling</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_error_in_connection">
+      <source>Error in connection</source>
+      <translation variants="no">Connection error</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_end_all_calls">
+      <source>End all calls</source>
+      <translation variants="no">End all calls</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_no_answer">
+      <source>No answer</source>
+      <translation variants="no">No answer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_disconnected">
+      <source>Disconnected</source>
+      <translation variants="no">disconnected</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_conference_call_active">
+      <source>Conference call active</source>
+      <translation variants="no">Conference call active</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_phone_switched_off_or_out_of_3g">
+      <source>Phone switched off or out of 3G coverage</source>
+      <translation variants="no">Unable to make video call. Other phone switched off or outside of 3G network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_diverting">
+      <source>Diverting</source>
+      <translation variants="no">Diverting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_network_services">
+      <source>Check network services</source>
+      <translation variants="no">Check network services</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_own_number_sending">
+      <source>Check own number sending</source>
+      <translation variants="no">Check my caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_activate_own_number_sending">
+      <source>Activate own number sending</source>
+      <translation variants="no">Activate caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_share_video">
+      <source>Share video</source>
+      <translation variants="no">Share video</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_conference_call">
+      <source>Conference call</source>
+      <translation variants="no">Conference call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_invalid_phone_number">
+      <source>Invalid phone number</source>
+      <translation variants="no">Invalid phone number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_call_not_allowed_fixed_dialling">
+      <source>Call not allowed, fixed dialling active</source>
+      <translation variants="no">Call not allowed. Fixed dialling active.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_didnt_succeed_to_called">
+      <source>Video call didn't succeed to called end</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_short_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+  </context>
+</TS>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/tsrc/automaticanswertest/ts_files/automaticanswertest_nl.ts	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,214 @@
+<?xml version="1.0" encoding="utf-8"?>
+<TS version="1.0" sourcelanguage="en" language="en">
+  <context>
+    <name>nString</name>
+    <message numerus="no" id="txt_phone_dpopinfo_no_network_coverage">
+      <source>No network coverage</source>
+      <translation variants="no">No network coverage</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_not_allowed">
+      <source>Not allowed</source>
+      <translation variants="no">Not allowed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_attempting">
+      <source>Attempting</source>
+      <translation variants="no">Attempting emergency call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_private_number">
+      <source>Private number</source>
+      <translation variants="no">Private number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_on_hold">
+      <source>On hold</source>
+      <translation variants="no">on hold</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_calling">
+      <source>Calling</source>
+      <translation variants="no">Calling</translation>
+    </message>
+    <message numerus="no" id="txt_long_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_transfer">
+      <source>Transfer</source>
+      <translation variants="no">Transfer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_title_telephone">
+      <source>Telephone</source>
+      <translation variants="yes">
+        <lengthvariant priority="1">Telephone</lengthvariant>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_waiting">
+      <source>Waiting</source>
+      <translation variants="no">waiting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_called_number_has_barred_incoming">
+      <source>Called number has barred incoming calls</source>
+      <translation variants="no">Unable to make video call. Incoming calls barred on other phone.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_not_in_use">
+      <source>Number not in use</source>
+      <translation variants="no">Number not in use</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_could_not_send_own_number">
+      <source>Could not send own number</source>
+      <translation variants="no">Could not send your caller ID</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_not_allowed_during_resto">
+      <source>Video call not allowed during restore</source>
+      <translation variants="no">Unable to make video call during restoring operation</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_life_timer">
+      <source>Life timer\n%L1</source>
+      <translation variants="no">Life timer:
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_call_failed">
+      <source>Emergency call failed</source>
+      <translation variants="no">Emergency call failed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_sending">
+      <source>Sending\n%L1</source>
+      <translation variants="no">Sending
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_remote_sim">
+      <source>Remote SIM</source>
+      <translation variants="no">Remote SIM</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_calls_only">
+      <source>Emergency calls only</source>
+      <translation variants="no">Emergency calls only</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_network_busy">
+      <source>Network busy</source>
+      <translation variants="no">Network busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_unable_to_make_video_call_not_supp">
+      <source>Unable to make video call. Not supported by other phone or network.</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dblist_ongoing_call">
+      <source>Ongoing call</source>
+      <translation variants="no">Ongoing call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_videocall_only_possible_under_3g">
+      <source>Videocall only possible under 3G coverage</source>
+      <translation variants="no">Video calls not supported outside of 3G network</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_serial_no">
+      <source>Serial No.\n%L1</source>
+      <translation variants="no">Serial number:
+%1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_connected_to_1">
+      <source>Connected to %L1</source>
+      <translation variants="no">Connected to %L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_send_string">
+      <source>Send string:\n%L1</source>
+      <translation variants="no">Send DTMF:
%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_all_incoming_calls_diver">
+      <source>Note:  all incoming calls diverted</source>
+      <translation variants="no">Note: all incoming calls diverted</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_you_have_active_barrings">
+      <source>Note: you have active barrings</source>
+      <translation variants="no">Note: active call barrings</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_emergency_call">
+      <source>Emergency call</source>
+      <translation variants="no">Emergency call</translation>
+    </message>
+    <message numerus="yes" id="txt_phone_dblist_ln_missed_calls">
+      <source>%Ln missed calls</source>
+      <translation>
+        <numerusform plurality="a">#%Ln missed calls</numerusform>
+        <numerusform plurality="b">en #MISSING</numerusform>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_barred">
+      <source>Number barred</source>
+      <translation variants="no">Number barred</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_busy">
+      <source>Number busy</source>
+      <translation variants="no">Number busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_unknown_number">
+      <source>Unknown number</source>
+      <translation variants="no">Unknown number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_incoming_call">
+      <source>Incoming call</source>
+      <translation variants="no">calling</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_error_in_connection">
+      <source>Error in connection</source>
+      <translation variants="no">Connection error</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_end_all_calls">
+      <source>End all calls</source>
+      <translation variants="no">End all calls</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_no_answer">
+      <source>No answer</source>
+      <translation variants="no">No answer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_disconnected">
+      <source>Disconnected</source>
+      <translation variants="no">disconnected</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_conference_call_active">
+      <source>Conference call active</source>
+      <translation variants="no">Conference call active</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_phone_switched_off_or_out_of_3g">
+      <source>Phone switched off or out of 3G coverage</source>
+      <translation variants="no">Unable to make video call. Other phone switched off or outside of 3G network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_diverting">
+      <source>Diverting</source>
+      <translation variants="no">Diverting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_network_services">
+      <source>Check network services</source>
+      <translation variants="no">Check network services</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_own_number_sending">
+      <source>Check own number sending</source>
+      <translation variants="no">Check my caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_activate_own_number_sending">
+      <source>Activate own number sending</source>
+      <translation variants="no">Activate caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_share_video">
+      <source>Share video</source>
+      <translation variants="no">Share video</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_conference_call">
+      <source>Conference call</source>
+      <translation variants="no">Conference call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_invalid_phone_number">
+      <source>Invalid phone number</source>
+      <translation variants="no">Invalid phone number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_call_not_allowed_fixed_dialling">
+      <source>Call not allowed, fixed dialling active</source>
+      <translation variants="no">Call not allowed. Fixed dialling active.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_didnt_succeed_to_called">
+      <source>Video call didn't succeed to called end</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_short_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+  </context>
+</TS>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/tsrc/automaticanswertest/ts_files/automaticanswertest_no.ts	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,214 @@
+<?xml version="1.0" encoding="utf-8"?>
+<TS version="1.0" sourcelanguage="en" language="en">
+  <context>
+    <name>nString</name>
+    <message numerus="no" id="txt_phone_dpopinfo_no_network_coverage">
+      <source>No network coverage</source>
+      <translation variants="no">No network coverage</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_not_allowed">
+      <source>Not allowed</source>
+      <translation variants="no">Not allowed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_attempting">
+      <source>Attempting</source>
+      <translation variants="no">Attempting emergency call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_private_number">
+      <source>Private number</source>
+      <translation variants="no">Private number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_on_hold">
+      <source>On hold</source>
+      <translation variants="no">on hold</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_calling">
+      <source>Calling</source>
+      <translation variants="no">Calling</translation>
+    </message>
+    <message numerus="no" id="txt_long_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_transfer">
+      <source>Transfer</source>
+      <translation variants="no">Transfer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_title_telephone">
+      <source>Telephone</source>
+      <translation variants="yes">
+        <lengthvariant priority="1">Telephone</lengthvariant>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_waiting">
+      <source>Waiting</source>
+      <translation variants="no">waiting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_called_number_has_barred_incoming">
+      <source>Called number has barred incoming calls</source>
+      <translation variants="no">Unable to make video call. Incoming calls barred on other phone.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_not_in_use">
+      <source>Number not in use</source>
+      <translation variants="no">Number not in use</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_could_not_send_own_number">
+      <source>Could not send own number</source>
+      <translation variants="no">Could not send your caller ID</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_not_allowed_during_resto">
+      <source>Video call not allowed during restore</source>
+      <translation variants="no">Unable to make video call during restoring operation</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_life_timer">
+      <source>Life timer\n%L1</source>
+      <translation variants="no">Life timer:
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_call_failed">
+      <source>Emergency call failed</source>
+      <translation variants="no">Emergency call failed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_sending">
+      <source>Sending\n%L1</source>
+      <translation variants="no">Sending
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_remote_sim">
+      <source>Remote SIM</source>
+      <translation variants="no">Remote SIM</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_calls_only">
+      <source>Emergency calls only</source>
+      <translation variants="no">Emergency calls only</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_network_busy">
+      <source>Network busy</source>
+      <translation variants="no">Network busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_unable_to_make_video_call_not_supp">
+      <source>Unable to make video call. Not supported by other phone or network.</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dblist_ongoing_call">
+      <source>Ongoing call</source>
+      <translation variants="no">Ongoing call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_videocall_only_possible_under_3g">
+      <source>Videocall only possible under 3G coverage</source>
+      <translation variants="no">Video calls not supported outside of 3G network</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_serial_no">
+      <source>Serial No.\n%L1</source>
+      <translation variants="no">Serial number:
+%1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_connected_to_1">
+      <source>Connected to %L1</source>
+      <translation variants="no">Connected to %L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_send_string">
+      <source>Send string:\n%L1</source>
+      <translation variants="no">Send DTMF:
%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_all_incoming_calls_diver">
+      <source>Note:  all incoming calls diverted</source>
+      <translation variants="no">Note: all incoming calls diverted</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_you_have_active_barrings">
+      <source>Note: you have active barrings</source>
+      <translation variants="no">Note: active call barrings</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_emergency_call">
+      <source>Emergency call</source>
+      <translation variants="no">Emergency call</translation>
+    </message>
+    <message numerus="yes" id="txt_phone_dblist_ln_missed_calls">
+      <source>%Ln missed calls</source>
+      <translation>
+        <numerusform plurality="a">#%Ln missed calls</numerusform>
+        <numerusform plurality="b">en #MISSING</numerusform>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_barred">
+      <source>Number barred</source>
+      <translation variants="no">Number barred</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_busy">
+      <source>Number busy</source>
+      <translation variants="no">Number busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_unknown_number">
+      <source>Unknown number</source>
+      <translation variants="no">Unknown number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_incoming_call">
+      <source>Incoming call</source>
+      <translation variants="no">calling</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_error_in_connection">
+      <source>Error in connection</source>
+      <translation variants="no">Connection error</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_end_all_calls">
+      <source>End all calls</source>
+      <translation variants="no">End all calls</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_no_answer">
+      <source>No answer</source>
+      <translation variants="no">No answer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_disconnected">
+      <source>Disconnected</source>
+      <translation variants="no">disconnected</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_conference_call_active">
+      <source>Conference call active</source>
+      <translation variants="no">Conference call active</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_phone_switched_off_or_out_of_3g">
+      <source>Phone switched off or out of 3G coverage</source>
+      <translation variants="no">Unable to make video call. Other phone switched off or outside of 3G network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_diverting">
+      <source>Diverting</source>
+      <translation variants="no">Diverting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_network_services">
+      <source>Check network services</source>
+      <translation variants="no">Check network services</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_own_number_sending">
+      <source>Check own number sending</source>
+      <translation variants="no">Check my caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_activate_own_number_sending">
+      <source>Activate own number sending</source>
+      <translation variants="no">Activate caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_share_video">
+      <source>Share video</source>
+      <translation variants="no">Share video</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_conference_call">
+      <source>Conference call</source>
+      <translation variants="no">Conference call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_invalid_phone_number">
+      <source>Invalid phone number</source>
+      <translation variants="no">Invalid phone number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_call_not_allowed_fixed_dialling">
+      <source>Call not allowed, fixed dialling active</source>
+      <translation variants="no">Call not allowed. Fixed dialling active.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_didnt_succeed_to_called">
+      <source>Video call didn't succeed to called end</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_short_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+  </context>
+</TS>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/tsrc/automaticanswertest/ts_files/automaticanswertest_pl.ts	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,214 @@
+<?xml version="1.0" encoding="utf-8"?>
+<TS version="1.0" sourcelanguage="en" language="en">
+  <context>
+    <name>nString</name>
+    <message numerus="no" id="txt_phone_dpopinfo_no_network_coverage">
+      <source>No network coverage</source>
+      <translation variants="no">No network coverage</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_not_allowed">
+      <source>Not allowed</source>
+      <translation variants="no">Not allowed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_attempting">
+      <source>Attempting</source>
+      <translation variants="no">Attempting emergency call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_private_number">
+      <source>Private number</source>
+      <translation variants="no">Private number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_on_hold">
+      <source>On hold</source>
+      <translation variants="no">on hold</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_calling">
+      <source>Calling</source>
+      <translation variants="no">Calling</translation>
+    </message>
+    <message numerus="no" id="txt_long_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_transfer">
+      <source>Transfer</source>
+      <translation variants="no">Transfer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_title_telephone">
+      <source>Telephone</source>
+      <translation variants="yes">
+        <lengthvariant priority="1">Telephone</lengthvariant>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_waiting">
+      <source>Waiting</source>
+      <translation variants="no">waiting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_called_number_has_barred_incoming">
+      <source>Called number has barred incoming calls</source>
+      <translation variants="no">Unable to make video call. Incoming calls barred on other phone.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_not_in_use">
+      <source>Number not in use</source>
+      <translation variants="no">Number not in use</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_could_not_send_own_number">
+      <source>Could not send own number</source>
+      <translation variants="no">Could not send your caller ID</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_not_allowed_during_resto">
+      <source>Video call not allowed during restore</source>
+      <translation variants="no">Unable to make video call during restoring operation</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_life_timer">
+      <source>Life timer\n%L1</source>
+      <translation variants="no">Life timer:
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_call_failed">
+      <source>Emergency call failed</source>
+      <translation variants="no">Emergency call failed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_sending">
+      <source>Sending\n%L1</source>
+      <translation variants="no">Sending
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_remote_sim">
+      <source>Remote SIM</source>
+      <translation variants="no">Remote SIM</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_calls_only">
+      <source>Emergency calls only</source>
+      <translation variants="no">Emergency calls only</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_network_busy">
+      <source>Network busy</source>
+      <translation variants="no">Network busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_unable_to_make_video_call_not_supp">
+      <source>Unable to make video call. Not supported by other phone or network.</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dblist_ongoing_call">
+      <source>Ongoing call</source>
+      <translation variants="no">Ongoing call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_videocall_only_possible_under_3g">
+      <source>Videocall only possible under 3G coverage</source>
+      <translation variants="no">Video calls not supported outside of 3G network</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_serial_no">
+      <source>Serial No.\n%L1</source>
+      <translation variants="no">Serial number:
+%1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_connected_to_1">
+      <source>Connected to %L1</source>
+      <translation variants="no">Connected to %L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_send_string">
+      <source>Send string:\n%L1</source>
+      <translation variants="no">Send DTMF:
%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_all_incoming_calls_diver">
+      <source>Note:  all incoming calls diverted</source>
+      <translation variants="no">Note: all incoming calls diverted</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_you_have_active_barrings">
+      <source>Note: you have active barrings</source>
+      <translation variants="no">Note: active call barrings</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_emergency_call">
+      <source>Emergency call</source>
+      <translation variants="no">Emergency call</translation>
+    </message>
+    <message numerus="yes" id="txt_phone_dblist_ln_missed_calls">
+      <source>%Ln missed calls</source>
+      <translation>
+        <numerusform plurality="a">#%Ln missed calls</numerusform>
+        <numerusform plurality="b">en #MISSING</numerusform>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_barred">
+      <source>Number barred</source>
+      <translation variants="no">Number barred</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_busy">
+      <source>Number busy</source>
+      <translation variants="no">Number busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_unknown_number">
+      <source>Unknown number</source>
+      <translation variants="no">Unknown number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_incoming_call">
+      <source>Incoming call</source>
+      <translation variants="no">calling</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_error_in_connection">
+      <source>Error in connection</source>
+      <translation variants="no">Connection error</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_end_all_calls">
+      <source>End all calls</source>
+      <translation variants="no">End all calls</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_no_answer">
+      <source>No answer</source>
+      <translation variants="no">No answer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_disconnected">
+      <source>Disconnected</source>
+      <translation variants="no">disconnected</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_conference_call_active">
+      <source>Conference call active</source>
+      <translation variants="no">Conference call active</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_phone_switched_off_or_out_of_3g">
+      <source>Phone switched off or out of 3G coverage</source>
+      <translation variants="no">Unable to make video call. Other phone switched off or outside of 3G network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_diverting">
+      <source>Diverting</source>
+      <translation variants="no">Diverting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_network_services">
+      <source>Check network services</source>
+      <translation variants="no">Check network services</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_own_number_sending">
+      <source>Check own number sending</source>
+      <translation variants="no">Check my caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_activate_own_number_sending">
+      <source>Activate own number sending</source>
+      <translation variants="no">Activate caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_share_video">
+      <source>Share video</source>
+      <translation variants="no">Share video</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_conference_call">
+      <source>Conference call</source>
+      <translation variants="no">Conference call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_invalid_phone_number">
+      <source>Invalid phone number</source>
+      <translation variants="no">Invalid phone number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_call_not_allowed_fixed_dialling">
+      <source>Call not allowed, fixed dialling active</source>
+      <translation variants="no">Call not allowed. Fixed dialling active.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_didnt_succeed_to_called">
+      <source>Video call didn't succeed to called end</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_short_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+  </context>
+</TS>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/tsrc/automaticanswertest/ts_files/automaticanswertest_pt.ts	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,214 @@
+<?xml version="1.0" encoding="utf-8"?>
+<TS version="1.0" sourcelanguage="en" language="en">
+  <context>
+    <name>nString</name>
+    <message numerus="no" id="txt_phone_dpopinfo_no_network_coverage">
+      <source>No network coverage</source>
+      <translation variants="no">No network coverage</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_not_allowed">
+      <source>Not allowed</source>
+      <translation variants="no">Not allowed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_attempting">
+      <source>Attempting</source>
+      <translation variants="no">Attempting emergency call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_private_number">
+      <source>Private number</source>
+      <translation variants="no">Private number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_on_hold">
+      <source>On hold</source>
+      <translation variants="no">on hold</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_calling">
+      <source>Calling</source>
+      <translation variants="no">Calling</translation>
+    </message>
+    <message numerus="no" id="txt_long_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_transfer">
+      <source>Transfer</source>
+      <translation variants="no">Transfer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_title_telephone">
+      <source>Telephone</source>
+      <translation variants="yes">
+        <lengthvariant priority="1">Telephone</lengthvariant>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_waiting">
+      <source>Waiting</source>
+      <translation variants="no">waiting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_called_number_has_barred_incoming">
+      <source>Called number has barred incoming calls</source>
+      <translation variants="no">Unable to make video call. Incoming calls barred on other phone.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_not_in_use">
+      <source>Number not in use</source>
+      <translation variants="no">Number not in use</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_could_not_send_own_number">
+      <source>Could not send own number</source>
+      <translation variants="no">Could not send your caller ID</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_not_allowed_during_resto">
+      <source>Video call not allowed during restore</source>
+      <translation variants="no">Unable to make video call during restoring operation</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_life_timer">
+      <source>Life timer\n%L1</source>
+      <translation variants="no">Life timer:
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_call_failed">
+      <source>Emergency call failed</source>
+      <translation variants="no">Emergency call failed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_sending">
+      <source>Sending\n%L1</source>
+      <translation variants="no">Sending
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_remote_sim">
+      <source>Remote SIM</source>
+      <translation variants="no">Remote SIM</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_calls_only">
+      <source>Emergency calls only</source>
+      <translation variants="no">Emergency calls only</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_network_busy">
+      <source>Network busy</source>
+      <translation variants="no">Network busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_unable_to_make_video_call_not_supp">
+      <source>Unable to make video call. Not supported by other phone or network.</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dblist_ongoing_call">
+      <source>Ongoing call</source>
+      <translation variants="no">Ongoing call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_videocall_only_possible_under_3g">
+      <source>Videocall only possible under 3G coverage</source>
+      <translation variants="no">Video calls not supported outside of 3G network</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_serial_no">
+      <source>Serial No.\n%L1</source>
+      <translation variants="no">Serial number:
+%1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_connected_to_1">
+      <source>Connected to %L1</source>
+      <translation variants="no">Connected to %L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_send_string">
+      <source>Send string:\n%L1</source>
+      <translation variants="no">Send DTMF:
%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_all_incoming_calls_diver">
+      <source>Note:  all incoming calls diverted</source>
+      <translation variants="no">Note: all incoming calls diverted</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_you_have_active_barrings">
+      <source>Note: you have active barrings</source>
+      <translation variants="no">Note: active call barrings</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_emergency_call">
+      <source>Emergency call</source>
+      <translation variants="no">Emergency call</translation>
+    </message>
+    <message numerus="yes" id="txt_phone_dblist_ln_missed_calls">
+      <source>%Ln missed calls</source>
+      <translation>
+        <numerusform plurality="a">#%Ln missed calls</numerusform>
+        <numerusform plurality="b">en #MISSING</numerusform>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_barred">
+      <source>Number barred</source>
+      <translation variants="no">Number barred</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_busy">
+      <source>Number busy</source>
+      <translation variants="no">Number busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_unknown_number">
+      <source>Unknown number</source>
+      <translation variants="no">Unknown number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_incoming_call">
+      <source>Incoming call</source>
+      <translation variants="no">calling</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_error_in_connection">
+      <source>Error in connection</source>
+      <translation variants="no">Connection error</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_end_all_calls">
+      <source>End all calls</source>
+      <translation variants="no">End all calls</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_no_answer">
+      <source>No answer</source>
+      <translation variants="no">No answer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_disconnected">
+      <source>Disconnected</source>
+      <translation variants="no">disconnected</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_conference_call_active">
+      <source>Conference call active</source>
+      <translation variants="no">Conference call active</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_phone_switched_off_or_out_of_3g">
+      <source>Phone switched off or out of 3G coverage</source>
+      <translation variants="no">Unable to make video call. Other phone switched off or outside of 3G network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_diverting">
+      <source>Diverting</source>
+      <translation variants="no">Diverting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_network_services">
+      <source>Check network services</source>
+      <translation variants="no">Check network services</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_own_number_sending">
+      <source>Check own number sending</source>
+      <translation variants="no">Check my caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_activate_own_number_sending">
+      <source>Activate own number sending</source>
+      <translation variants="no">Activate caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_share_video">
+      <source>Share video</source>
+      <translation variants="no">Share video</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_conference_call">
+      <source>Conference call</source>
+      <translation variants="no">Conference call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_invalid_phone_number">
+      <source>Invalid phone number</source>
+      <translation variants="no">Invalid phone number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_call_not_allowed_fixed_dialling">
+      <source>Call not allowed, fixed dialling active</source>
+      <translation variants="no">Call not allowed. Fixed dialling active.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_didnt_succeed_to_called">
+      <source>Video call didn't succeed to called end</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_short_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+  </context>
+</TS>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/tsrc/automaticanswertest/ts_files/automaticanswertest_pt_br.ts	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,214 @@
+<?xml version="1.0" encoding="utf-8"?>
+<TS version="1.0" sourcelanguage="en" language="en">
+  <context>
+    <name>nString</name>
+    <message numerus="no" id="txt_phone_dpopinfo_no_network_coverage">
+      <source>No network coverage</source>
+      <translation variants="no">No network coverage</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_not_allowed">
+      <source>Not allowed</source>
+      <translation variants="no">Not allowed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_attempting">
+      <source>Attempting</source>
+      <translation variants="no">Attempting emergency call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_private_number">
+      <source>Private number</source>
+      <translation variants="no">Private number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_on_hold">
+      <source>On hold</source>
+      <translation variants="no">on hold</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_calling">
+      <source>Calling</source>
+      <translation variants="no">Calling</translation>
+    </message>
+    <message numerus="no" id="txt_long_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_transfer">
+      <source>Transfer</source>
+      <translation variants="no">Transfer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_title_telephone">
+      <source>Telephone</source>
+      <translation variants="yes">
+        <lengthvariant priority="1">Telephone</lengthvariant>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_waiting">
+      <source>Waiting</source>
+      <translation variants="no">waiting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_called_number_has_barred_incoming">
+      <source>Called number has barred incoming calls</source>
+      <translation variants="no">Unable to make video call. Incoming calls barred on other phone.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_not_in_use">
+      <source>Number not in use</source>
+      <translation variants="no">Number not in use</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_could_not_send_own_number">
+      <source>Could not send own number</source>
+      <translation variants="no">Could not send your caller ID</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_not_allowed_during_resto">
+      <source>Video call not allowed during restore</source>
+      <translation variants="no">Unable to make video call during restoring operation</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_life_timer">
+      <source>Life timer\n%L1</source>
+      <translation variants="no">Life timer:
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_call_failed">
+      <source>Emergency call failed</source>
+      <translation variants="no">Emergency call failed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_sending">
+      <source>Sending\n%L1</source>
+      <translation variants="no">Sending
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_remote_sim">
+      <source>Remote SIM</source>
+      <translation variants="no">Remote SIM</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_calls_only">
+      <source>Emergency calls only</source>
+      <translation variants="no">Emergency calls only</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_network_busy">
+      <source>Network busy</source>
+      <translation variants="no">Network busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_unable_to_make_video_call_not_supp">
+      <source>Unable to make video call. Not supported by other phone or network.</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dblist_ongoing_call">
+      <source>Ongoing call</source>
+      <translation variants="no">Ongoing call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_videocall_only_possible_under_3g">
+      <source>Videocall only possible under 3G coverage</source>
+      <translation variants="no">Video calls not supported outside of 3G network</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_serial_no">
+      <source>Serial No.\n%L1</source>
+      <translation variants="no">Serial number:
+%1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_connected_to_1">
+      <source>Connected to %L1</source>
+      <translation variants="no">Connected to %L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_send_string">
+      <source>Send string:\n%L1</source>
+      <translation variants="no">Send DTMF:
%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_all_incoming_calls_diver">
+      <source>Note:  all incoming calls diverted</source>
+      <translation variants="no">Note: all incoming calls diverted</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_you_have_active_barrings">
+      <source>Note: you have active barrings</source>
+      <translation variants="no">Note: active call barrings</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_emergency_call">
+      <source>Emergency call</source>
+      <translation variants="no">Emergency call</translation>
+    </message>
+    <message numerus="yes" id="txt_phone_dblist_ln_missed_calls">
+      <source>%Ln missed calls</source>
+      <translation>
+        <numerusform plurality="a">#%Ln missed calls</numerusform>
+        <numerusform plurality="b">en #MISSING</numerusform>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_barred">
+      <source>Number barred</source>
+      <translation variants="no">Number barred</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_busy">
+      <source>Number busy</source>
+      <translation variants="no">Number busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_unknown_number">
+      <source>Unknown number</source>
+      <translation variants="no">Unknown number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_incoming_call">
+      <source>Incoming call</source>
+      <translation variants="no">calling</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_error_in_connection">
+      <source>Error in connection</source>
+      <translation variants="no">Connection error</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_end_all_calls">
+      <source>End all calls</source>
+      <translation variants="no">End all calls</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_no_answer">
+      <source>No answer</source>
+      <translation variants="no">No answer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_disconnected">
+      <source>Disconnected</source>
+      <translation variants="no">disconnected</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_conference_call_active">
+      <source>Conference call active</source>
+      <translation variants="no">Conference call active</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_phone_switched_off_or_out_of_3g">
+      <source>Phone switched off or out of 3G coverage</source>
+      <translation variants="no">Unable to make video call. Other phone switched off or outside of 3G network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_diverting">
+      <source>Diverting</source>
+      <translation variants="no">Diverting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_network_services">
+      <source>Check network services</source>
+      <translation variants="no">Check network services</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_own_number_sending">
+      <source>Check own number sending</source>
+      <translation variants="no">Check my caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_activate_own_number_sending">
+      <source>Activate own number sending</source>
+      <translation variants="no">Activate caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_share_video">
+      <source>Share video</source>
+      <translation variants="no">Share video</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_conference_call">
+      <source>Conference call</source>
+      <translation variants="no">Conference call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_invalid_phone_number">
+      <source>Invalid phone number</source>
+      <translation variants="no">Invalid phone number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_call_not_allowed_fixed_dialling">
+      <source>Call not allowed, fixed dialling active</source>
+      <translation variants="no">Call not allowed. Fixed dialling active.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_didnt_succeed_to_called">
+      <source>Video call didn't succeed to called end</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_short_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+  </context>
+</TS>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/tsrc/automaticanswertest/ts_files/automaticanswertest_ro.ts	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,214 @@
+<?xml version="1.0" encoding="utf-8"?>
+<TS version="1.0" sourcelanguage="en" language="en">
+  <context>
+    <name>nString</name>
+    <message numerus="no" id="txt_phone_dpopinfo_no_network_coverage">
+      <source>No network coverage</source>
+      <translation variants="no">No network coverage</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_not_allowed">
+      <source>Not allowed</source>
+      <translation variants="no">Not allowed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_attempting">
+      <source>Attempting</source>
+      <translation variants="no">Attempting emergency call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_private_number">
+      <source>Private number</source>
+      <translation variants="no">Private number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_on_hold">
+      <source>On hold</source>
+      <translation variants="no">on hold</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_calling">
+      <source>Calling</source>
+      <translation variants="no">Calling</translation>
+    </message>
+    <message numerus="no" id="txt_long_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_transfer">
+      <source>Transfer</source>
+      <translation variants="no">Transfer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_title_telephone">
+      <source>Telephone</source>
+      <translation variants="yes">
+        <lengthvariant priority="1">Telephone</lengthvariant>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_waiting">
+      <source>Waiting</source>
+      <translation variants="no">waiting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_called_number_has_barred_incoming">
+      <source>Called number has barred incoming calls</source>
+      <translation variants="no">Unable to make video call. Incoming calls barred on other phone.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_not_in_use">
+      <source>Number not in use</source>
+      <translation variants="no">Number not in use</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_could_not_send_own_number">
+      <source>Could not send own number</source>
+      <translation variants="no">Could not send your caller ID</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_not_allowed_during_resto">
+      <source>Video call not allowed during restore</source>
+      <translation variants="no">Unable to make video call during restoring operation</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_life_timer">
+      <source>Life timer\n%L1</source>
+      <translation variants="no">Life timer:
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_call_failed">
+      <source>Emergency call failed</source>
+      <translation variants="no">Emergency call failed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_sending">
+      <source>Sending\n%L1</source>
+      <translation variants="no">Sending
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_remote_sim">
+      <source>Remote SIM</source>
+      <translation variants="no">Remote SIM</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_calls_only">
+      <source>Emergency calls only</source>
+      <translation variants="no">Emergency calls only</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_network_busy">
+      <source>Network busy</source>
+      <translation variants="no">Network busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_unable_to_make_video_call_not_supp">
+      <source>Unable to make video call. Not supported by other phone or network.</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dblist_ongoing_call">
+      <source>Ongoing call</source>
+      <translation variants="no">Ongoing call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_videocall_only_possible_under_3g">
+      <source>Videocall only possible under 3G coverage</source>
+      <translation variants="no">Video calls not supported outside of 3G network</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_serial_no">
+      <source>Serial No.\n%L1</source>
+      <translation variants="no">Serial number:
+%1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_connected_to_1">
+      <source>Connected to %L1</source>
+      <translation variants="no">Connected to %L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_send_string">
+      <source>Send string:\n%L1</source>
+      <translation variants="no">Send DTMF:
%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_all_incoming_calls_diver">
+      <source>Note:  all incoming calls diverted</source>
+      <translation variants="no">Note: all incoming calls diverted</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_you_have_active_barrings">
+      <source>Note: you have active barrings</source>
+      <translation variants="no">Note: active call barrings</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_emergency_call">
+      <source>Emergency call</source>
+      <translation variants="no">Emergency call</translation>
+    </message>
+    <message numerus="yes" id="txt_phone_dblist_ln_missed_calls">
+      <source>%Ln missed calls</source>
+      <translation>
+        <numerusform plurality="a">#%Ln missed calls</numerusform>
+        <numerusform plurality="b">en #MISSING</numerusform>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_barred">
+      <source>Number barred</source>
+      <translation variants="no">Number barred</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_busy">
+      <source>Number busy</source>
+      <translation variants="no">Number busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_unknown_number">
+      <source>Unknown number</source>
+      <translation variants="no">Unknown number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_incoming_call">
+      <source>Incoming call</source>
+      <translation variants="no">calling</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_error_in_connection">
+      <source>Error in connection</source>
+      <translation variants="no">Connection error</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_end_all_calls">
+      <source>End all calls</source>
+      <translation variants="no">End all calls</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_no_answer">
+      <source>No answer</source>
+      <translation variants="no">No answer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_disconnected">
+      <source>Disconnected</source>
+      <translation variants="no">disconnected</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_conference_call_active">
+      <source>Conference call active</source>
+      <translation variants="no">Conference call active</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_phone_switched_off_or_out_of_3g">
+      <source>Phone switched off or out of 3G coverage</source>
+      <translation variants="no">Unable to make video call. Other phone switched off or outside of 3G network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_diverting">
+      <source>Diverting</source>
+      <translation variants="no">Diverting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_network_services">
+      <source>Check network services</source>
+      <translation variants="no">Check network services</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_own_number_sending">
+      <source>Check own number sending</source>
+      <translation variants="no">Check my caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_activate_own_number_sending">
+      <source>Activate own number sending</source>
+      <translation variants="no">Activate caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_share_video">
+      <source>Share video</source>
+      <translation variants="no">Share video</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_conference_call">
+      <source>Conference call</source>
+      <translation variants="no">Conference call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_invalid_phone_number">
+      <source>Invalid phone number</source>
+      <translation variants="no">Invalid phone number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_call_not_allowed_fixed_dialling">
+      <source>Call not allowed, fixed dialling active</source>
+      <translation variants="no">Call not allowed. Fixed dialling active.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_didnt_succeed_to_called">
+      <source>Video call didn't succeed to called end</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_short_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+  </context>
+</TS>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/tsrc/automaticanswertest/ts_files/automaticanswertest_ru.ts	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,214 @@
+<?xml version="1.0" encoding="utf-8"?>
+<TS version="1.0" sourcelanguage="en" language="en">
+  <context>
+    <name>nString</name>
+    <message numerus="no" id="txt_phone_dpopinfo_no_network_coverage">
+      <source>No network coverage</source>
+      <translation variants="no">No network coverage</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_not_allowed">
+      <source>Not allowed</source>
+      <translation variants="no">Not allowed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_attempting">
+      <source>Attempting</source>
+      <translation variants="no">Attempting emergency call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_private_number">
+      <source>Private number</source>
+      <translation variants="no">Private number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_on_hold">
+      <source>On hold</source>
+      <translation variants="no">on hold</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_calling">
+      <source>Calling</source>
+      <translation variants="no">Calling</translation>
+    </message>
+    <message numerus="no" id="txt_long_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_transfer">
+      <source>Transfer</source>
+      <translation variants="no">Transfer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_title_telephone">
+      <source>Telephone</source>
+      <translation variants="yes">
+        <lengthvariant priority="1">Telephone</lengthvariant>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_waiting">
+      <source>Waiting</source>
+      <translation variants="no">waiting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_called_number_has_barred_incoming">
+      <source>Called number has barred incoming calls</source>
+      <translation variants="no">Unable to make video call. Incoming calls barred on other phone.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_not_in_use">
+      <source>Number not in use</source>
+      <translation variants="no">Number not in use</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_could_not_send_own_number">
+      <source>Could not send own number</source>
+      <translation variants="no">Could not send your caller ID</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_not_allowed_during_resto">
+      <source>Video call not allowed during restore</source>
+      <translation variants="no">Unable to make video call during restoring operation</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_life_timer">
+      <source>Life timer\n%L1</source>
+      <translation variants="no">Life timer:
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_call_failed">
+      <source>Emergency call failed</source>
+      <translation variants="no">Emergency call failed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_sending">
+      <source>Sending\n%L1</source>
+      <translation variants="no">Sending
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_remote_sim">
+      <source>Remote SIM</source>
+      <translation variants="no">Remote SIM</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_calls_only">
+      <source>Emergency calls only</source>
+      <translation variants="no">Emergency calls only</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_network_busy">
+      <source>Network busy</source>
+      <translation variants="no">Network busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_unable_to_make_video_call_not_supp">
+      <source>Unable to make video call. Not supported by other phone or network.</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dblist_ongoing_call">
+      <source>Ongoing call</source>
+      <translation variants="no">Ongoing call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_videocall_only_possible_under_3g">
+      <source>Videocall only possible under 3G coverage</source>
+      <translation variants="no">Video calls not supported outside of 3G network</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_serial_no">
+      <source>Serial No.\n%L1</source>
+      <translation variants="no">Serial number:
+%1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_connected_to_1">
+      <source>Connected to %L1</source>
+      <translation variants="no">Connected to %L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_send_string">
+      <source>Send string:\n%L1</source>
+      <translation variants="no">Send DTMF:
%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_all_incoming_calls_diver">
+      <source>Note:  all incoming calls diverted</source>
+      <translation variants="no">Note: all incoming calls diverted</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_you_have_active_barrings">
+      <source>Note: you have active barrings</source>
+      <translation variants="no">Note: active call barrings</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_emergency_call">
+      <source>Emergency call</source>
+      <translation variants="no">Emergency call</translation>
+    </message>
+    <message numerus="yes" id="txt_phone_dblist_ln_missed_calls">
+      <source>%Ln missed calls</source>
+      <translation>
+        <numerusform plurality="a">#%Ln missed calls</numerusform>
+        <numerusform plurality="b">en #MISSING</numerusform>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_barred">
+      <source>Number barred</source>
+      <translation variants="no">Number barred</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_busy">
+      <source>Number busy</source>
+      <translation variants="no">Number busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_unknown_number">
+      <source>Unknown number</source>
+      <translation variants="no">Unknown number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_incoming_call">
+      <source>Incoming call</source>
+      <translation variants="no">calling</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_error_in_connection">
+      <source>Error in connection</source>
+      <translation variants="no">Connection error</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_end_all_calls">
+      <source>End all calls</source>
+      <translation variants="no">End all calls</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_no_answer">
+      <source>No answer</source>
+      <translation variants="no">No answer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_disconnected">
+      <source>Disconnected</source>
+      <translation variants="no">disconnected</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_conference_call_active">
+      <source>Conference call active</source>
+      <translation variants="no">Conference call active</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_phone_switched_off_or_out_of_3g">
+      <source>Phone switched off or out of 3G coverage</source>
+      <translation variants="no">Unable to make video call. Other phone switched off or outside of 3G network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_diverting">
+      <source>Diverting</source>
+      <translation variants="no">Diverting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_network_services">
+      <source>Check network services</source>
+      <translation variants="no">Check network services</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_own_number_sending">
+      <source>Check own number sending</source>
+      <translation variants="no">Check my caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_activate_own_number_sending">
+      <source>Activate own number sending</source>
+      <translation variants="no">Activate caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_share_video">
+      <source>Share video</source>
+      <translation variants="no">Share video</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_conference_call">
+      <source>Conference call</source>
+      <translation variants="no">Conference call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_invalid_phone_number">
+      <source>Invalid phone number</source>
+      <translation variants="no">Invalid phone number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_call_not_allowed_fixed_dialling">
+      <source>Call not allowed, fixed dialling active</source>
+      <translation variants="no">Call not allowed. Fixed dialling active.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_didnt_succeed_to_called">
+      <source>Video call didn't succeed to called end</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_short_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+  </context>
+</TS>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/tsrc/automaticanswertest/ts_files/automaticanswertest_sk.ts	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,214 @@
+<?xml version="1.0" encoding="utf-8"?>
+<TS version="1.0" sourcelanguage="en" language="en">
+  <context>
+    <name>nString</name>
+    <message numerus="no" id="txt_phone_dpopinfo_no_network_coverage">
+      <source>No network coverage</source>
+      <translation variants="no">No network coverage</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_not_allowed">
+      <source>Not allowed</source>
+      <translation variants="no">Not allowed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_attempting">
+      <source>Attempting</source>
+      <translation variants="no">Attempting emergency call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_private_number">
+      <source>Private number</source>
+      <translation variants="no">Private number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_on_hold">
+      <source>On hold</source>
+      <translation variants="no">on hold</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_calling">
+      <source>Calling</source>
+      <translation variants="no">Calling</translation>
+    </message>
+    <message numerus="no" id="txt_long_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_transfer">
+      <source>Transfer</source>
+      <translation variants="no">Transfer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_title_telephone">
+      <source>Telephone</source>
+      <translation variants="yes">
+        <lengthvariant priority="1">Telephone</lengthvariant>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_waiting">
+      <source>Waiting</source>
+      <translation variants="no">waiting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_called_number_has_barred_incoming">
+      <source>Called number has barred incoming calls</source>
+      <translation variants="no">Unable to make video call. Incoming calls barred on other phone.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_not_in_use">
+      <source>Number not in use</source>
+      <translation variants="no">Number not in use</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_could_not_send_own_number">
+      <source>Could not send own number</source>
+      <translation variants="no">Could not send your caller ID</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_not_allowed_during_resto">
+      <source>Video call not allowed during restore</source>
+      <translation variants="no">Unable to make video call during restoring operation</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_life_timer">
+      <source>Life timer\n%L1</source>
+      <translation variants="no">Life timer:
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_call_failed">
+      <source>Emergency call failed</source>
+      <translation variants="no">Emergency call failed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_sending">
+      <source>Sending\n%L1</source>
+      <translation variants="no">Sending
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_remote_sim">
+      <source>Remote SIM</source>
+      <translation variants="no">Remote SIM</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_calls_only">
+      <source>Emergency calls only</source>
+      <translation variants="no">Emergency calls only</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_network_busy">
+      <source>Network busy</source>
+      <translation variants="no">Network busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_unable_to_make_video_call_not_supp">
+      <source>Unable to make video call. Not supported by other phone or network.</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dblist_ongoing_call">
+      <source>Ongoing call</source>
+      <translation variants="no">Ongoing call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_videocall_only_possible_under_3g">
+      <source>Videocall only possible under 3G coverage</source>
+      <translation variants="no">Video calls not supported outside of 3G network</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_serial_no">
+      <source>Serial No.\n%L1</source>
+      <translation variants="no">Serial number:
+%1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_connected_to_1">
+      <source>Connected to %L1</source>
+      <translation variants="no">Connected to %L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_send_string">
+      <source>Send string:\n%L1</source>
+      <translation variants="no">Send DTMF:
%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_all_incoming_calls_diver">
+      <source>Note:  all incoming calls diverted</source>
+      <translation variants="no">Note: all incoming calls diverted</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_you_have_active_barrings">
+      <source>Note: you have active barrings</source>
+      <translation variants="no">Note: active call barrings</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_emergency_call">
+      <source>Emergency call</source>
+      <translation variants="no">Emergency call</translation>
+    </message>
+    <message numerus="yes" id="txt_phone_dblist_ln_missed_calls">
+      <source>%Ln missed calls</source>
+      <translation>
+        <numerusform plurality="a">#%Ln missed calls</numerusform>
+        <numerusform plurality="b">en #MISSING</numerusform>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_barred">
+      <source>Number barred</source>
+      <translation variants="no">Number barred</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_busy">
+      <source>Number busy</source>
+      <translation variants="no">Number busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_unknown_number">
+      <source>Unknown number</source>
+      <translation variants="no">Unknown number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_incoming_call">
+      <source>Incoming call</source>
+      <translation variants="no">calling</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_error_in_connection">
+      <source>Error in connection</source>
+      <translation variants="no">Connection error</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_end_all_calls">
+      <source>End all calls</source>
+      <translation variants="no">End all calls</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_no_answer">
+      <source>No answer</source>
+      <translation variants="no">No answer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_disconnected">
+      <source>Disconnected</source>
+      <translation variants="no">disconnected</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_conference_call_active">
+      <source>Conference call active</source>
+      <translation variants="no">Conference call active</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_phone_switched_off_or_out_of_3g">
+      <source>Phone switched off or out of 3G coverage</source>
+      <translation variants="no">Unable to make video call. Other phone switched off or outside of 3G network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_diverting">
+      <source>Diverting</source>
+      <translation variants="no">Diverting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_network_services">
+      <source>Check network services</source>
+      <translation variants="no">Check network services</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_own_number_sending">
+      <source>Check own number sending</source>
+      <translation variants="no">Check my caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_activate_own_number_sending">
+      <source>Activate own number sending</source>
+      <translation variants="no">Activate caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_share_video">
+      <source>Share video</source>
+      <translation variants="no">Share video</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_conference_call">
+      <source>Conference call</source>
+      <translation variants="no">Conference call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_invalid_phone_number">
+      <source>Invalid phone number</source>
+      <translation variants="no">Invalid phone number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_call_not_allowed_fixed_dialling">
+      <source>Call not allowed, fixed dialling active</source>
+      <translation variants="no">Call not allowed. Fixed dialling active.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_didnt_succeed_to_called">
+      <source>Video call didn't succeed to called end</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_short_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+  </context>
+</TS>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/tsrc/automaticanswertest/ts_files/automaticanswertest_sl.ts	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,214 @@
+<?xml version="1.0" encoding="utf-8"?>
+<TS version="1.0" sourcelanguage="en" language="en">
+  <context>
+    <name>nString</name>
+    <message numerus="no" id="txt_phone_dpopinfo_no_network_coverage">
+      <source>No network coverage</source>
+      <translation variants="no">No network coverage</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_not_allowed">
+      <source>Not allowed</source>
+      <translation variants="no">Not allowed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_attempting">
+      <source>Attempting</source>
+      <translation variants="no">Attempting emergency call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_private_number">
+      <source>Private number</source>
+      <translation variants="no">Private number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_on_hold">
+      <source>On hold</source>
+      <translation variants="no">on hold</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_calling">
+      <source>Calling</source>
+      <translation variants="no">Calling</translation>
+    </message>
+    <message numerus="no" id="txt_long_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_transfer">
+      <source>Transfer</source>
+      <translation variants="no">Transfer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_title_telephone">
+      <source>Telephone</source>
+      <translation variants="yes">
+        <lengthvariant priority="1">Telephone</lengthvariant>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_waiting">
+      <source>Waiting</source>
+      <translation variants="no">waiting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_called_number_has_barred_incoming">
+      <source>Called number has barred incoming calls</source>
+      <translation variants="no">Unable to make video call. Incoming calls barred on other phone.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_not_in_use">
+      <source>Number not in use</source>
+      <translation variants="no">Number not in use</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_could_not_send_own_number">
+      <source>Could not send own number</source>
+      <translation variants="no">Could not send your caller ID</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_not_allowed_during_resto">
+      <source>Video call not allowed during restore</source>
+      <translation variants="no">Unable to make video call during restoring operation</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_life_timer">
+      <source>Life timer\n%L1</source>
+      <translation variants="no">Life timer:
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_call_failed">
+      <source>Emergency call failed</source>
+      <translation variants="no">Emergency call failed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_sending">
+      <source>Sending\n%L1</source>
+      <translation variants="no">Sending
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_remote_sim">
+      <source>Remote SIM</source>
+      <translation variants="no">Remote SIM</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_calls_only">
+      <source>Emergency calls only</source>
+      <translation variants="no">Emergency calls only</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_network_busy">
+      <source>Network busy</source>
+      <translation variants="no">Network busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_unable_to_make_video_call_not_supp">
+      <source>Unable to make video call. Not supported by other phone or network.</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dblist_ongoing_call">
+      <source>Ongoing call</source>
+      <translation variants="no">Ongoing call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_videocall_only_possible_under_3g">
+      <source>Videocall only possible under 3G coverage</source>
+      <translation variants="no">Video calls not supported outside of 3G network</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_serial_no">
+      <source>Serial No.\n%L1</source>
+      <translation variants="no">Serial number:
+%1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_connected_to_1">
+      <source>Connected to %L1</source>
+      <translation variants="no">Connected to %L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_send_string">
+      <source>Send string:\n%L1</source>
+      <translation variants="no">Send DTMF:
%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_all_incoming_calls_diver">
+      <source>Note:  all incoming calls diverted</source>
+      <translation variants="no">Note: all incoming calls diverted</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_you_have_active_barrings">
+      <source>Note: you have active barrings</source>
+      <translation variants="no">Note: active call barrings</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_emergency_call">
+      <source>Emergency call</source>
+      <translation variants="no">Emergency call</translation>
+    </message>
+    <message numerus="yes" id="txt_phone_dblist_ln_missed_calls">
+      <source>%Ln missed calls</source>
+      <translation>
+        <numerusform plurality="a">#%Ln missed calls</numerusform>
+        <numerusform plurality="b">en #MISSING</numerusform>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_barred">
+      <source>Number barred</source>
+      <translation variants="no">Number barred</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_busy">
+      <source>Number busy</source>
+      <translation variants="no">Number busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_unknown_number">
+      <source>Unknown number</source>
+      <translation variants="no">Unknown number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_incoming_call">
+      <source>Incoming call</source>
+      <translation variants="no">calling</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_error_in_connection">
+      <source>Error in connection</source>
+      <translation variants="no">Connection error</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_end_all_calls">
+      <source>End all calls</source>
+      <translation variants="no">End all calls</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_no_answer">
+      <source>No answer</source>
+      <translation variants="no">No answer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_disconnected">
+      <source>Disconnected</source>
+      <translation variants="no">disconnected</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_conference_call_active">
+      <source>Conference call active</source>
+      <translation variants="no">Conference call active</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_phone_switched_off_or_out_of_3g">
+      <source>Phone switched off or out of 3G coverage</source>
+      <translation variants="no">Unable to make video call. Other phone switched off or outside of 3G network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_diverting">
+      <source>Diverting</source>
+      <translation variants="no">Diverting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_network_services">
+      <source>Check network services</source>
+      <translation variants="no">Check network services</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_own_number_sending">
+      <source>Check own number sending</source>
+      <translation variants="no">Check my caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_activate_own_number_sending">
+      <source>Activate own number sending</source>
+      <translation variants="no">Activate caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_share_video">
+      <source>Share video</source>
+      <translation variants="no">Share video</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_conference_call">
+      <source>Conference call</source>
+      <translation variants="no">Conference call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_invalid_phone_number">
+      <source>Invalid phone number</source>
+      <translation variants="no">Invalid phone number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_call_not_allowed_fixed_dialling">
+      <source>Call not allowed, fixed dialling active</source>
+      <translation variants="no">Call not allowed. Fixed dialling active.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_didnt_succeed_to_called">
+      <source>Video call didn't succeed to called end</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_short_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+  </context>
+</TS>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/tsrc/automaticanswertest/ts_files/automaticanswertest_sr.ts	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,214 @@
+<?xml version="1.0" encoding="utf-8"?>
+<TS version="1.0" sourcelanguage="en" language="en">
+  <context>
+    <name>nString</name>
+    <message numerus="no" id="txt_phone_dpopinfo_no_network_coverage">
+      <source>No network coverage</source>
+      <translation variants="no">No network coverage</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_not_allowed">
+      <source>Not allowed</source>
+      <translation variants="no">Not allowed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_attempting">
+      <source>Attempting</source>
+      <translation variants="no">Attempting emergency call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_private_number">
+      <source>Private number</source>
+      <translation variants="no">Private number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_on_hold">
+      <source>On hold</source>
+      <translation variants="no">on hold</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_calling">
+      <source>Calling</source>
+      <translation variants="no">Calling</translation>
+    </message>
+    <message numerus="no" id="txt_long_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_transfer">
+      <source>Transfer</source>
+      <translation variants="no">Transfer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_title_telephone">
+      <source>Telephone</source>
+      <translation variants="yes">
+        <lengthvariant priority="1">Telephone</lengthvariant>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_waiting">
+      <source>Waiting</source>
+      <translation variants="no">waiting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_called_number_has_barred_incoming">
+      <source>Called number has barred incoming calls</source>
+      <translation variants="no">Unable to make video call. Incoming calls barred on other phone.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_not_in_use">
+      <source>Number not in use</source>
+      <translation variants="no">Number not in use</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_could_not_send_own_number">
+      <source>Could not send own number</source>
+      <translation variants="no">Could not send your caller ID</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_not_allowed_during_resto">
+      <source>Video call not allowed during restore</source>
+      <translation variants="no">Unable to make video call during restoring operation</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_life_timer">
+      <source>Life timer\n%L1</source>
+      <translation variants="no">Life timer:
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_call_failed">
+      <source>Emergency call failed</source>
+      <translation variants="no">Emergency call failed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_sending">
+      <source>Sending\n%L1</source>
+      <translation variants="no">Sending
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_remote_sim">
+      <source>Remote SIM</source>
+      <translation variants="no">Remote SIM</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_calls_only">
+      <source>Emergency calls only</source>
+      <translation variants="no">Emergency calls only</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_network_busy">
+      <source>Network busy</source>
+      <translation variants="no">Network busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_unable_to_make_video_call_not_supp">
+      <source>Unable to make video call. Not supported by other phone or network.</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dblist_ongoing_call">
+      <source>Ongoing call</source>
+      <translation variants="no">Ongoing call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_videocall_only_possible_under_3g">
+      <source>Videocall only possible under 3G coverage</source>
+      <translation variants="no">Video calls not supported outside of 3G network</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_serial_no">
+      <source>Serial No.\n%L1</source>
+      <translation variants="no">Serial number:
+%1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_connected_to_1">
+      <source>Connected to %L1</source>
+      <translation variants="no">Connected to %L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_send_string">
+      <source>Send string:\n%L1</source>
+      <translation variants="no">Send DTMF:
%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_all_incoming_calls_diver">
+      <source>Note:  all incoming calls diverted</source>
+      <translation variants="no">Note: all incoming calls diverted</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_you_have_active_barrings">
+      <source>Note: you have active barrings</source>
+      <translation variants="no">Note: active call barrings</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_emergency_call">
+      <source>Emergency call</source>
+      <translation variants="no">Emergency call</translation>
+    </message>
+    <message numerus="yes" id="txt_phone_dblist_ln_missed_calls">
+      <source>%Ln missed calls</source>
+      <translation>
+        <numerusform plurality="a">#%Ln missed calls</numerusform>
+        <numerusform plurality="b">en #MISSING</numerusform>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_barred">
+      <source>Number barred</source>
+      <translation variants="no">Number barred</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_busy">
+      <source>Number busy</source>
+      <translation variants="no">Number busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_unknown_number">
+      <source>Unknown number</source>
+      <translation variants="no">Unknown number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_incoming_call">
+      <source>Incoming call</source>
+      <translation variants="no">calling</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_error_in_connection">
+      <source>Error in connection</source>
+      <translation variants="no">Connection error</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_end_all_calls">
+      <source>End all calls</source>
+      <translation variants="no">End all calls</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_no_answer">
+      <source>No answer</source>
+      <translation variants="no">No answer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_disconnected">
+      <source>Disconnected</source>
+      <translation variants="no">disconnected</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_conference_call_active">
+      <source>Conference call active</source>
+      <translation variants="no">Conference call active</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_phone_switched_off_or_out_of_3g">
+      <source>Phone switched off or out of 3G coverage</source>
+      <translation variants="no">Unable to make video call. Other phone switched off or outside of 3G network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_diverting">
+      <source>Diverting</source>
+      <translation variants="no">Diverting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_network_services">
+      <source>Check network services</source>
+      <translation variants="no">Check network services</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_own_number_sending">
+      <source>Check own number sending</source>
+      <translation variants="no">Check my caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_activate_own_number_sending">
+      <source>Activate own number sending</source>
+      <translation variants="no">Activate caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_share_video">
+      <source>Share video</source>
+      <translation variants="no">Share video</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_conference_call">
+      <source>Conference call</source>
+      <translation variants="no">Conference call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_invalid_phone_number">
+      <source>Invalid phone number</source>
+      <translation variants="no">Invalid phone number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_call_not_allowed_fixed_dialling">
+      <source>Call not allowed, fixed dialling active</source>
+      <translation variants="no">Call not allowed. Fixed dialling active.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_didnt_succeed_to_called">
+      <source>Video call didn't succeed to called end</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_short_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+  </context>
+</TS>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/tsrc/automaticanswertest/ts_files/automaticanswertest_sv.ts	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,214 @@
+<?xml version="1.0" encoding="utf-8"?>
+<TS version="1.0" sourcelanguage="en" language="en">
+  <context>
+    <name>nString</name>
+    <message numerus="no" id="txt_phone_dpopinfo_no_network_coverage">
+      <source>No network coverage</source>
+      <translation variants="no">No network coverage</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_not_allowed">
+      <source>Not allowed</source>
+      <translation variants="no">Not allowed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_attempting">
+      <source>Attempting</source>
+      <translation variants="no">Attempting emergency call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_private_number">
+      <source>Private number</source>
+      <translation variants="no">Private number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_on_hold">
+      <source>On hold</source>
+      <translation variants="no">on hold</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_calling">
+      <source>Calling</source>
+      <translation variants="no">Calling</translation>
+    </message>
+    <message numerus="no" id="txt_long_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_transfer">
+      <source>Transfer</source>
+      <translation variants="no">Transfer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_title_telephone">
+      <source>Telephone</source>
+      <translation variants="yes">
+        <lengthvariant priority="1">Telephone</lengthvariant>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_waiting">
+      <source>Waiting</source>
+      <translation variants="no">waiting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_called_number_has_barred_incoming">
+      <source>Called number has barred incoming calls</source>
+      <translation variants="no">Unable to make video call. Incoming calls barred on other phone.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_not_in_use">
+      <source>Number not in use</source>
+      <translation variants="no">Number not in use</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_could_not_send_own_number">
+      <source>Could not send own number</source>
+      <translation variants="no">Could not send your caller ID</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_not_allowed_during_resto">
+      <source>Video call not allowed during restore</source>
+      <translation variants="no">Unable to make video call during restoring operation</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_life_timer">
+      <source>Life timer\n%L1</source>
+      <translation variants="no">Life timer:
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_call_failed">
+      <source>Emergency call failed</source>
+      <translation variants="no">Emergency call failed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_sending">
+      <source>Sending\n%L1</source>
+      <translation variants="no">Sending
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_remote_sim">
+      <source>Remote SIM</source>
+      <translation variants="no">Remote SIM</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_calls_only">
+      <source>Emergency calls only</source>
+      <translation variants="no">Emergency calls only</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_network_busy">
+      <source>Network busy</source>
+      <translation variants="no">Network busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_unable_to_make_video_call_not_supp">
+      <source>Unable to make video call. Not supported by other phone or network.</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dblist_ongoing_call">
+      <source>Ongoing call</source>
+      <translation variants="no">Ongoing call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_videocall_only_possible_under_3g">
+      <source>Videocall only possible under 3G coverage</source>
+      <translation variants="no">Video calls not supported outside of 3G network</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_serial_no">
+      <source>Serial No.\n%L1</source>
+      <translation variants="no">Serial number:
+%1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_connected_to_1">
+      <source>Connected to %L1</source>
+      <translation variants="no">Connected to %L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_send_string">
+      <source>Send string:\n%L1</source>
+      <translation variants="no">Send DTMF:
%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_all_incoming_calls_diver">
+      <source>Note:  all incoming calls diverted</source>
+      <translation variants="no">Note: all incoming calls diverted</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_you_have_active_barrings">
+      <source>Note: you have active barrings</source>
+      <translation variants="no">Note: active call barrings</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_emergency_call">
+      <source>Emergency call</source>
+      <translation variants="no">Emergency call</translation>
+    </message>
+    <message numerus="yes" id="txt_phone_dblist_ln_missed_calls">
+      <source>%Ln missed calls</source>
+      <translation>
+        <numerusform plurality="a">#%Ln missed calls</numerusform>
+        <numerusform plurality="b">en #MISSING</numerusform>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_barred">
+      <source>Number barred</source>
+      <translation variants="no">Number barred</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_busy">
+      <source>Number busy</source>
+      <translation variants="no">Number busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_unknown_number">
+      <source>Unknown number</source>
+      <translation variants="no">Unknown number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_incoming_call">
+      <source>Incoming call</source>
+      <translation variants="no">calling</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_error_in_connection">
+      <source>Error in connection</source>
+      <translation variants="no">Connection error</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_end_all_calls">
+      <source>End all calls</source>
+      <translation variants="no">End all calls</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_no_answer">
+      <source>No answer</source>
+      <translation variants="no">No answer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_disconnected">
+      <source>Disconnected</source>
+      <translation variants="no">disconnected</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_conference_call_active">
+      <source>Conference call active</source>
+      <translation variants="no">Conference call active</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_phone_switched_off_or_out_of_3g">
+      <source>Phone switched off or out of 3G coverage</source>
+      <translation variants="no">Unable to make video call. Other phone switched off or outside of 3G network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_diverting">
+      <source>Diverting</source>
+      <translation variants="no">Diverting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_network_services">
+      <source>Check network services</source>
+      <translation variants="no">Check network services</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_own_number_sending">
+      <source>Check own number sending</source>
+      <translation variants="no">Check my caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_activate_own_number_sending">
+      <source>Activate own number sending</source>
+      <translation variants="no">Activate caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_share_video">
+      <source>Share video</source>
+      <translation variants="no">Share video</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_conference_call">
+      <source>Conference call</source>
+      <translation variants="no">Conference call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_invalid_phone_number">
+      <source>Invalid phone number</source>
+      <translation variants="no">Invalid phone number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_call_not_allowed_fixed_dialling">
+      <source>Call not allowed, fixed dialling active</source>
+      <translation variants="no">Call not allowed. Fixed dialling active.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_didnt_succeed_to_called">
+      <source>Video call didn't succeed to called end</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_short_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+  </context>
+</TS>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/tsrc/automaticanswertest/ts_files/automaticanswertest_th.ts	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,214 @@
+<?xml version="1.0" encoding="utf-8"?>
+<TS version="1.0" sourcelanguage="en" language="en">
+  <context>
+    <name>nString</name>
+    <message numerus="no" id="txt_phone_dpopinfo_no_network_coverage">
+      <source>No network coverage</source>
+      <translation variants="no">No network coverage</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_not_allowed">
+      <source>Not allowed</source>
+      <translation variants="no">Not allowed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_attempting">
+      <source>Attempting</source>
+      <translation variants="no">Attempting emergency call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_private_number">
+      <source>Private number</source>
+      <translation variants="no">Private number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_on_hold">
+      <source>On hold</source>
+      <translation variants="no">on hold</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_calling">
+      <source>Calling</source>
+      <translation variants="no">Calling</translation>
+    </message>
+    <message numerus="no" id="txt_long_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_transfer">
+      <source>Transfer</source>
+      <translation variants="no">Transfer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_title_telephone">
+      <source>Telephone</source>
+      <translation variants="yes">
+        <lengthvariant priority="1">Telephone</lengthvariant>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_waiting">
+      <source>Waiting</source>
+      <translation variants="no">waiting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_called_number_has_barred_incoming">
+      <source>Called number has barred incoming calls</source>
+      <translation variants="no">Unable to make video call. Incoming calls barred on other phone.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_not_in_use">
+      <source>Number not in use</source>
+      <translation variants="no">Number not in use</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_could_not_send_own_number">
+      <source>Could not send own number</source>
+      <translation variants="no">Could not send your caller ID</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_not_allowed_during_resto">
+      <source>Video call not allowed during restore</source>
+      <translation variants="no">Unable to make video call during restoring operation</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_life_timer">
+      <source>Life timer\n%L1</source>
+      <translation variants="no">Life timer:
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_call_failed">
+      <source>Emergency call failed</source>
+      <translation variants="no">Emergency call failed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_sending">
+      <source>Sending\n%L1</source>
+      <translation variants="no">Sending
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_remote_sim">
+      <source>Remote SIM</source>
+      <translation variants="no">Remote SIM</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_calls_only">
+      <source>Emergency calls only</source>
+      <translation variants="no">Emergency calls only</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_network_busy">
+      <source>Network busy</source>
+      <translation variants="no">Network busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_unable_to_make_video_call_not_supp">
+      <source>Unable to make video call. Not supported by other phone or network.</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dblist_ongoing_call">
+      <source>Ongoing call</source>
+      <translation variants="no">Ongoing call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_videocall_only_possible_under_3g">
+      <source>Videocall only possible under 3G coverage</source>
+      <translation variants="no">Video calls not supported outside of 3G network</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_serial_no">
+      <source>Serial No.\n%L1</source>
+      <translation variants="no">Serial number:
+%1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_connected_to_1">
+      <source>Connected to %L1</source>
+      <translation variants="no">Connected to %L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_send_string">
+      <source>Send string:\n%L1</source>
+      <translation variants="no">Send DTMF:
%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_all_incoming_calls_diver">
+      <source>Note:  all incoming calls diverted</source>
+      <translation variants="no">Note: all incoming calls diverted</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_you_have_active_barrings">
+      <source>Note: you have active barrings</source>
+      <translation variants="no">Note: active call barrings</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_emergency_call">
+      <source>Emergency call</source>
+      <translation variants="no">Emergency call</translation>
+    </message>
+    <message numerus="yes" id="txt_phone_dblist_ln_missed_calls">
+      <source>%Ln missed calls</source>
+      <translation>
+        <numerusform plurality="a">#%Ln missed calls</numerusform>
+        <numerusform plurality="b">en #MISSING</numerusform>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_barred">
+      <source>Number barred</source>
+      <translation variants="no">Number barred</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_busy">
+      <source>Number busy</source>
+      <translation variants="no">Number busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_unknown_number">
+      <source>Unknown number</source>
+      <translation variants="no">Unknown number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_incoming_call">
+      <source>Incoming call</source>
+      <translation variants="no">calling</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_error_in_connection">
+      <source>Error in connection</source>
+      <translation variants="no">Connection error</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_end_all_calls">
+      <source>End all calls</source>
+      <translation variants="no">End all calls</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_no_answer">
+      <source>No answer</source>
+      <translation variants="no">No answer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_disconnected">
+      <source>Disconnected</source>
+      <translation variants="no">disconnected</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_conference_call_active">
+      <source>Conference call active</source>
+      <translation variants="no">Conference call active</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_phone_switched_off_or_out_of_3g">
+      <source>Phone switched off or out of 3G coverage</source>
+      <translation variants="no">Unable to make video call. Other phone switched off or outside of 3G network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_diverting">
+      <source>Diverting</source>
+      <translation variants="no">Diverting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_network_services">
+      <source>Check network services</source>
+      <translation variants="no">Check network services</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_own_number_sending">
+      <source>Check own number sending</source>
+      <translation variants="no">Check my caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_activate_own_number_sending">
+      <source>Activate own number sending</source>
+      <translation variants="no">Activate caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_share_video">
+      <source>Share video</source>
+      <translation variants="no">Share video</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_conference_call">
+      <source>Conference call</source>
+      <translation variants="no">Conference call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_invalid_phone_number">
+      <source>Invalid phone number</source>
+      <translation variants="no">Invalid phone number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_call_not_allowed_fixed_dialling">
+      <source>Call not allowed, fixed dialling active</source>
+      <translation variants="no">Call not allowed. Fixed dialling active.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_didnt_succeed_to_called">
+      <source>Video call didn't succeed to called end</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_short_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+  </context>
+</TS>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/tsrc/automaticanswertest/ts_files/automaticanswertest_tl.ts	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,214 @@
+<?xml version="1.0" encoding="utf-8"?>
+<TS version="1.0" sourcelanguage="en" language="en">
+  <context>
+    <name>nString</name>
+    <message numerus="no" id="txt_phone_dpopinfo_no_network_coverage">
+      <source>No network coverage</source>
+      <translation variants="no">No network coverage</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_not_allowed">
+      <source>Not allowed</source>
+      <translation variants="no">Not allowed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_attempting">
+      <source>Attempting</source>
+      <translation variants="no">Attempting emergency call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_private_number">
+      <source>Private number</source>
+      <translation variants="no">Private number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_on_hold">
+      <source>On hold</source>
+      <translation variants="no">on hold</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_calling">
+      <source>Calling</source>
+      <translation variants="no">Calling</translation>
+    </message>
+    <message numerus="no" id="txt_long_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_transfer">
+      <source>Transfer</source>
+      <translation variants="no">Transfer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_title_telephone">
+      <source>Telephone</source>
+      <translation variants="yes">
+        <lengthvariant priority="1">Telephone</lengthvariant>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_waiting">
+      <source>Waiting</source>
+      <translation variants="no">waiting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_called_number_has_barred_incoming">
+      <source>Called number has barred incoming calls</source>
+      <translation variants="no">Unable to make video call. Incoming calls barred on other phone.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_not_in_use">
+      <source>Number not in use</source>
+      <translation variants="no">Number not in use</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_could_not_send_own_number">
+      <source>Could not send own number</source>
+      <translation variants="no">Could not send your caller ID</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_not_allowed_during_resto">
+      <source>Video call not allowed during restore</source>
+      <translation variants="no">Unable to make video call during restoring operation</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_life_timer">
+      <source>Life timer\n%L1</source>
+      <translation variants="no">Life timer:
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_call_failed">
+      <source>Emergency call failed</source>
+      <translation variants="no">Emergency call failed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_sending">
+      <source>Sending\n%L1</source>
+      <translation variants="no">Sending
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_remote_sim">
+      <source>Remote SIM</source>
+      <translation variants="no">Remote SIM</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_calls_only">
+      <source>Emergency calls only</source>
+      <translation variants="no">Emergency calls only</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_network_busy">
+      <source>Network busy</source>
+      <translation variants="no">Network busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_unable_to_make_video_call_not_supp">
+      <source>Unable to make video call. Not supported by other phone or network.</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dblist_ongoing_call">
+      <source>Ongoing call</source>
+      <translation variants="no">Ongoing call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_videocall_only_possible_under_3g">
+      <source>Videocall only possible under 3G coverage</source>
+      <translation variants="no">Video calls not supported outside of 3G network</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_serial_no">
+      <source>Serial No.\n%L1</source>
+      <translation variants="no">Serial number:
+%1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_connected_to_1">
+      <source>Connected to %L1</source>
+      <translation variants="no">Connected to %L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_send_string">
+      <source>Send string:\n%L1</source>
+      <translation variants="no">Send DTMF:
%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_all_incoming_calls_diver">
+      <source>Note:  all incoming calls diverted</source>
+      <translation variants="no">Note: all incoming calls diverted</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_you_have_active_barrings">
+      <source>Note: you have active barrings</source>
+      <translation variants="no">Note: active call barrings</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_emergency_call">
+      <source>Emergency call</source>
+      <translation variants="no">Emergency call</translation>
+    </message>
+    <message numerus="yes" id="txt_phone_dblist_ln_missed_calls">
+      <source>%Ln missed calls</source>
+      <translation>
+        <numerusform plurality="a">#%Ln missed calls</numerusform>
+        <numerusform plurality="b">en #MISSING</numerusform>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_barred">
+      <source>Number barred</source>
+      <translation variants="no">Number barred</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_busy">
+      <source>Number busy</source>
+      <translation variants="no">Number busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_unknown_number">
+      <source>Unknown number</source>
+      <translation variants="no">Unknown number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_incoming_call">
+      <source>Incoming call</source>
+      <translation variants="no">calling</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_error_in_connection">
+      <source>Error in connection</source>
+      <translation variants="no">Connection error</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_end_all_calls">
+      <source>End all calls</source>
+      <translation variants="no">End all calls</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_no_answer">
+      <source>No answer</source>
+      <translation variants="no">No answer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_disconnected">
+      <source>Disconnected</source>
+      <translation variants="no">disconnected</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_conference_call_active">
+      <source>Conference call active</source>
+      <translation variants="no">Conference call active</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_phone_switched_off_or_out_of_3g">
+      <source>Phone switched off or out of 3G coverage</source>
+      <translation variants="no">Unable to make video call. Other phone switched off or outside of 3G network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_diverting">
+      <source>Diverting</source>
+      <translation variants="no">Diverting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_network_services">
+      <source>Check network services</source>
+      <translation variants="no">Check network services</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_own_number_sending">
+      <source>Check own number sending</source>
+      <translation variants="no">Check my caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_activate_own_number_sending">
+      <source>Activate own number sending</source>
+      <translation variants="no">Activate caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_share_video">
+      <source>Share video</source>
+      <translation variants="no">Share video</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_conference_call">
+      <source>Conference call</source>
+      <translation variants="no">Conference call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_invalid_phone_number">
+      <source>Invalid phone number</source>
+      <translation variants="no">Invalid phone number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_call_not_allowed_fixed_dialling">
+      <source>Call not allowed, fixed dialling active</source>
+      <translation variants="no">Call not allowed. Fixed dialling active.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_didnt_succeed_to_called">
+      <source>Video call didn't succeed to called end</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_short_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+  </context>
+</TS>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/tsrc/automaticanswertest/ts_files/automaticanswertest_tr.ts	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,214 @@
+<?xml version="1.0" encoding="utf-8"?>
+<TS version="1.0" sourcelanguage="en" language="en">
+  <context>
+    <name>nString</name>
+    <message numerus="no" id="txt_phone_dpopinfo_no_network_coverage">
+      <source>No network coverage</source>
+      <translation variants="no">No network coverage</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_not_allowed">
+      <source>Not allowed</source>
+      <translation variants="no">Not allowed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_attempting">
+      <source>Attempting</source>
+      <translation variants="no">Attempting emergency call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_private_number">
+      <source>Private number</source>
+      <translation variants="no">Private number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_on_hold">
+      <source>On hold</source>
+      <translation variants="no">on hold</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_calling">
+      <source>Calling</source>
+      <translation variants="no">Calling</translation>
+    </message>
+    <message numerus="no" id="txt_long_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_transfer">
+      <source>Transfer</source>
+      <translation variants="no">Transfer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_title_telephone">
+      <source>Telephone</source>
+      <translation variants="yes">
+        <lengthvariant priority="1">Telephone</lengthvariant>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_waiting">
+      <source>Waiting</source>
+      <translation variants="no">waiting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_called_number_has_barred_incoming">
+      <source>Called number has barred incoming calls</source>
+      <translation variants="no">Unable to make video call. Incoming calls barred on other phone.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_not_in_use">
+      <source>Number not in use</source>
+      <translation variants="no">Number not in use</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_could_not_send_own_number">
+      <source>Could not send own number</source>
+      <translation variants="no">Could not send your caller ID</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_not_allowed_during_resto">
+      <source>Video call not allowed during restore</source>
+      <translation variants="no">Unable to make video call during restoring operation</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_life_timer">
+      <source>Life timer\n%L1</source>
+      <translation variants="no">Life timer:
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_call_failed">
+      <source>Emergency call failed</source>
+      <translation variants="no">Emergency call failed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_sending">
+      <source>Sending\n%L1</source>
+      <translation variants="no">Sending
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_remote_sim">
+      <source>Remote SIM</source>
+      <translation variants="no">Remote SIM</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_calls_only">
+      <source>Emergency calls only</source>
+      <translation variants="no">Emergency calls only</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_network_busy">
+      <source>Network busy</source>
+      <translation variants="no">Network busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_unable_to_make_video_call_not_supp">
+      <source>Unable to make video call. Not supported by other phone or network.</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dblist_ongoing_call">
+      <source>Ongoing call</source>
+      <translation variants="no">Ongoing call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_videocall_only_possible_under_3g">
+      <source>Videocall only possible under 3G coverage</source>
+      <translation variants="no">Video calls not supported outside of 3G network</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_serial_no">
+      <source>Serial No.\n%L1</source>
+      <translation variants="no">Serial number:
+%1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_connected_to_1">
+      <source>Connected to %L1</source>
+      <translation variants="no">Connected to %L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_send_string">
+      <source>Send string:\n%L1</source>
+      <translation variants="no">Send DTMF:
%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_all_incoming_calls_diver">
+      <source>Note:  all incoming calls diverted</source>
+      <translation variants="no">Note: all incoming calls diverted</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_you_have_active_barrings">
+      <source>Note: you have active barrings</source>
+      <translation variants="no">Note: active call barrings</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_emergency_call">
+      <source>Emergency call</source>
+      <translation variants="no">Emergency call</translation>
+    </message>
+    <message numerus="yes" id="txt_phone_dblist_ln_missed_calls">
+      <source>%Ln missed calls</source>
+      <translation>
+        <numerusform plurality="a">#%Ln missed calls</numerusform>
+        <numerusform plurality="b">en #MISSING</numerusform>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_barred">
+      <source>Number barred</source>
+      <translation variants="no">Number barred</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_busy">
+      <source>Number busy</source>
+      <translation variants="no">Number busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_unknown_number">
+      <source>Unknown number</source>
+      <translation variants="no">Unknown number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_incoming_call">
+      <source>Incoming call</source>
+      <translation variants="no">calling</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_error_in_connection">
+      <source>Error in connection</source>
+      <translation variants="no">Connection error</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_end_all_calls">
+      <source>End all calls</source>
+      <translation variants="no">End all calls</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_no_answer">
+      <source>No answer</source>
+      <translation variants="no">No answer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_disconnected">
+      <source>Disconnected</source>
+      <translation variants="no">disconnected</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_conference_call_active">
+      <source>Conference call active</source>
+      <translation variants="no">Conference call active</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_phone_switched_off_or_out_of_3g">
+      <source>Phone switched off or out of 3G coverage</source>
+      <translation variants="no">Unable to make video call. Other phone switched off or outside of 3G network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_diverting">
+      <source>Diverting</source>
+      <translation variants="no">Diverting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_network_services">
+      <source>Check network services</source>
+      <translation variants="no">Check network services</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_own_number_sending">
+      <source>Check own number sending</source>
+      <translation variants="no">Check my caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_activate_own_number_sending">
+      <source>Activate own number sending</source>
+      <translation variants="no">Activate caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_share_video">
+      <source>Share video</source>
+      <translation variants="no">Share video</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_conference_call">
+      <source>Conference call</source>
+      <translation variants="no">Conference call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_invalid_phone_number">
+      <source>Invalid phone number</source>
+      <translation variants="no">Invalid phone number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_call_not_allowed_fixed_dialling">
+      <source>Call not allowed, fixed dialling active</source>
+      <translation variants="no">Call not allowed. Fixed dialling active.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_didnt_succeed_to_called">
+      <source>Video call didn't succeed to called end</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_short_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+  </context>
+</TS>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/tsrc/automaticanswertest/ts_files/automaticanswertest_uk.ts	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,214 @@
+<?xml version="1.0" encoding="utf-8"?>
+<TS version="1.0" sourcelanguage="en" language="en">
+  <context>
+    <name>nString</name>
+    <message numerus="no" id="txt_phone_dpopinfo_no_network_coverage">
+      <source>No network coverage</source>
+      <translation variants="no">No network coverage</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_not_allowed">
+      <source>Not allowed</source>
+      <translation variants="no">Not allowed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_attempting">
+      <source>Attempting</source>
+      <translation variants="no">Attempting emergency call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_private_number">
+      <source>Private number</source>
+      <translation variants="no">Private number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_on_hold">
+      <source>On hold</source>
+      <translation variants="no">on hold</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_calling">
+      <source>Calling</source>
+      <translation variants="no">Calling</translation>
+    </message>
+    <message numerus="no" id="txt_long_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_transfer">
+      <source>Transfer</source>
+      <translation variants="no">Transfer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_title_telephone">
+      <source>Telephone</source>
+      <translation variants="yes">
+        <lengthvariant priority="1">Telephone</lengthvariant>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_waiting">
+      <source>Waiting</source>
+      <translation variants="no">waiting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_called_number_has_barred_incoming">
+      <source>Called number has barred incoming calls</source>
+      <translation variants="no">Unable to make video call. Incoming calls barred on other phone.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_not_in_use">
+      <source>Number not in use</source>
+      <translation variants="no">Number not in use</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_could_not_send_own_number">
+      <source>Could not send own number</source>
+      <translation variants="no">Could not send your caller ID</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_not_allowed_during_resto">
+      <source>Video call not allowed during restore</source>
+      <translation variants="no">Unable to make video call during restoring operation</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_life_timer">
+      <source>Life timer\n%L1</source>
+      <translation variants="no">Life timer:
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_call_failed">
+      <source>Emergency call failed</source>
+      <translation variants="no">Emergency call failed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_sending">
+      <source>Sending\n%L1</source>
+      <translation variants="no">Sending
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_remote_sim">
+      <source>Remote SIM</source>
+      <translation variants="no">Remote SIM</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_calls_only">
+      <source>Emergency calls only</source>
+      <translation variants="no">Emergency calls only</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_network_busy">
+      <source>Network busy</source>
+      <translation variants="no">Network busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_unable_to_make_video_call_not_supp">
+      <source>Unable to make video call. Not supported by other phone or network.</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dblist_ongoing_call">
+      <source>Ongoing call</source>
+      <translation variants="no">Ongoing call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_videocall_only_possible_under_3g">
+      <source>Videocall only possible under 3G coverage</source>
+      <translation variants="no">Video calls not supported outside of 3G network</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_serial_no">
+      <source>Serial No.\n%L1</source>
+      <translation variants="no">Serial number:
+%1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_connected_to_1">
+      <source>Connected to %L1</source>
+      <translation variants="no">Connected to %L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_send_string">
+      <source>Send string:\n%L1</source>
+      <translation variants="no">Send DTMF:
%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_all_incoming_calls_diver">
+      <source>Note:  all incoming calls diverted</source>
+      <translation variants="no">Note: all incoming calls diverted</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_you_have_active_barrings">
+      <source>Note: you have active barrings</source>
+      <translation variants="no">Note: active call barrings</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_emergency_call">
+      <source>Emergency call</source>
+      <translation variants="no">Emergency call</translation>
+    </message>
+    <message numerus="yes" id="txt_phone_dblist_ln_missed_calls">
+      <source>%Ln missed calls</source>
+      <translation>
+        <numerusform plurality="a">#%Ln missed calls</numerusform>
+        <numerusform plurality="b">en #MISSING</numerusform>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_barred">
+      <source>Number barred</source>
+      <translation variants="no">Number barred</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_busy">
+      <source>Number busy</source>
+      <translation variants="no">Number busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_unknown_number">
+      <source>Unknown number</source>
+      <translation variants="no">Unknown number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_incoming_call">
+      <source>Incoming call</source>
+      <translation variants="no">calling</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_error_in_connection">
+      <source>Error in connection</source>
+      <translation variants="no">Connection error</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_end_all_calls">
+      <source>End all calls</source>
+      <translation variants="no">End all calls</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_no_answer">
+      <source>No answer</source>
+      <translation variants="no">No answer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_disconnected">
+      <source>Disconnected</source>
+      <translation variants="no">disconnected</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_conference_call_active">
+      <source>Conference call active</source>
+      <translation variants="no">Conference call active</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_phone_switched_off_or_out_of_3g">
+      <source>Phone switched off or out of 3G coverage</source>
+      <translation variants="no">Unable to make video call. Other phone switched off or outside of 3G network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_diverting">
+      <source>Diverting</source>
+      <translation variants="no">Diverting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_network_services">
+      <source>Check network services</source>
+      <translation variants="no">Check network services</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_own_number_sending">
+      <source>Check own number sending</source>
+      <translation variants="no">Check my caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_activate_own_number_sending">
+      <source>Activate own number sending</source>
+      <translation variants="no">Activate caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_share_video">
+      <source>Share video</source>
+      <translation variants="no">Share video</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_conference_call">
+      <source>Conference call</source>
+      <translation variants="no">Conference call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_invalid_phone_number">
+      <source>Invalid phone number</source>
+      <translation variants="no">Invalid phone number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_call_not_allowed_fixed_dialling">
+      <source>Call not allowed, fixed dialling active</source>
+      <translation variants="no">Call not allowed. Fixed dialling active.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_didnt_succeed_to_called">
+      <source>Video call didn't succeed to called end</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_short_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+  </context>
+</TS>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/tsrc/automaticanswertest/ts_files/automaticanswertest_ur.ts	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,214 @@
+<?xml version="1.0" encoding="utf-8"?>
+<TS version="1.0" sourcelanguage="en" language="en">
+  <context>
+    <name>nString</name>
+    <message numerus="no" id="txt_phone_dpopinfo_no_network_coverage">
+      <source>No network coverage</source>
+      <translation variants="no">No network coverage</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_not_allowed">
+      <source>Not allowed</source>
+      <translation variants="no">Not allowed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_attempting">
+      <source>Attempting</source>
+      <translation variants="no">Attempting emergency call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_private_number">
+      <source>Private number</source>
+      <translation variants="no">Private number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_on_hold">
+      <source>On hold</source>
+      <translation variants="no">on hold</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_calling">
+      <source>Calling</source>
+      <translation variants="no">Calling</translation>
+    </message>
+    <message numerus="no" id="txt_long_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_transfer">
+      <source>Transfer</source>
+      <translation variants="no">Transfer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_title_telephone">
+      <source>Telephone</source>
+      <translation variants="yes">
+        <lengthvariant priority="1">Telephone</lengthvariant>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_waiting">
+      <source>Waiting</source>
+      <translation variants="no">waiting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_called_number_has_barred_incoming">
+      <source>Called number has barred incoming calls</source>
+      <translation variants="no">Unable to make video call. Incoming calls barred on other phone.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_not_in_use">
+      <source>Number not in use</source>
+      <translation variants="no">Number not in use</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_could_not_send_own_number">
+      <source>Could not send own number</source>
+      <translation variants="no">Could not send your caller ID</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_not_allowed_during_resto">
+      <source>Video call not allowed during restore</source>
+      <translation variants="no">Unable to make video call during restoring operation</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_life_timer">
+      <source>Life timer\n%L1</source>
+      <translation variants="no">Life timer:
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_call_failed">
+      <source>Emergency call failed</source>
+      <translation variants="no">Emergency call failed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_sending">
+      <source>Sending\n%L1</source>
+      <translation variants="no">Sending
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_remote_sim">
+      <source>Remote SIM</source>
+      <translation variants="no">Remote SIM</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_calls_only">
+      <source>Emergency calls only</source>
+      <translation variants="no">Emergency calls only</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_network_busy">
+      <source>Network busy</source>
+      <translation variants="no">Network busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_unable_to_make_video_call_not_supp">
+      <source>Unable to make video call. Not supported by other phone or network.</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dblist_ongoing_call">
+      <source>Ongoing call</source>
+      <translation variants="no">Ongoing call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_videocall_only_possible_under_3g">
+      <source>Videocall only possible under 3G coverage</source>
+      <translation variants="no">Video calls not supported outside of 3G network</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_serial_no">
+      <source>Serial No.\n%L1</source>
+      <translation variants="no">Serial number:
+%1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_connected_to_1">
+      <source>Connected to %L1</source>
+      <translation variants="no">Connected to %L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_send_string">
+      <source>Send string:\n%L1</source>
+      <translation variants="no">Send DTMF:
%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_all_incoming_calls_diver">
+      <source>Note:  all incoming calls diverted</source>
+      <translation variants="no">Note: all incoming calls diverted</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_you_have_active_barrings">
+      <source>Note: you have active barrings</source>
+      <translation variants="no">Note: active call barrings</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_emergency_call">
+      <source>Emergency call</source>
+      <translation variants="no">Emergency call</translation>
+    </message>
+    <message numerus="yes" id="txt_phone_dblist_ln_missed_calls">
+      <source>%Ln missed calls</source>
+      <translation>
+        <numerusform plurality="a">#%Ln missed calls</numerusform>
+        <numerusform plurality="b">en #MISSING</numerusform>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_barred">
+      <source>Number barred</source>
+      <translation variants="no">Number barred</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_busy">
+      <source>Number busy</source>
+      <translation variants="no">Number busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_unknown_number">
+      <source>Unknown number</source>
+      <translation variants="no">Unknown number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_incoming_call">
+      <source>Incoming call</source>
+      <translation variants="no">calling</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_error_in_connection">
+      <source>Error in connection</source>
+      <translation variants="no">Connection error</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_end_all_calls">
+      <source>End all calls</source>
+      <translation variants="no">End all calls</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_no_answer">
+      <source>No answer</source>
+      <translation variants="no">No answer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_disconnected">
+      <source>Disconnected</source>
+      <translation variants="no">disconnected</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_conference_call_active">
+      <source>Conference call active</source>
+      <translation variants="no">Conference call active</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_phone_switched_off_or_out_of_3g">
+      <source>Phone switched off or out of 3G coverage</source>
+      <translation variants="no">Unable to make video call. Other phone switched off or outside of 3G network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_diverting">
+      <source>Diverting</source>
+      <translation variants="no">Diverting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_network_services">
+      <source>Check network services</source>
+      <translation variants="no">Check network services</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_own_number_sending">
+      <source>Check own number sending</source>
+      <translation variants="no">Check my caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_activate_own_number_sending">
+      <source>Activate own number sending</source>
+      <translation variants="no">Activate caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_share_video">
+      <source>Share video</source>
+      <translation variants="no">Share video</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_conference_call">
+      <source>Conference call</source>
+      <translation variants="no">Conference call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_invalid_phone_number">
+      <source>Invalid phone number</source>
+      <translation variants="no">Invalid phone number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_call_not_allowed_fixed_dialling">
+      <source>Call not allowed, fixed dialling active</source>
+      <translation variants="no">Call not allowed. Fixed dialling active.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_didnt_succeed_to_called">
+      <source>Video call didn't succeed to called end</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_short_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+  </context>
+</TS>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/tsrc/automaticanswertest/ts_files/automaticanswertest_vi.ts	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,214 @@
+<?xml version="1.0" encoding="utf-8"?>
+<TS version="1.0" sourcelanguage="en" language="en">
+  <context>
+    <name>nString</name>
+    <message numerus="no" id="txt_phone_dpopinfo_no_network_coverage">
+      <source>No network coverage</source>
+      <translation variants="no">No network coverage</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_not_allowed">
+      <source>Not allowed</source>
+      <translation variants="no">Not allowed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_attempting">
+      <source>Attempting</source>
+      <translation variants="no">Attempting emergency call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_private_number">
+      <source>Private number</source>
+      <translation variants="no">Private number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_on_hold">
+      <source>On hold</source>
+      <translation variants="no">on hold</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_calling">
+      <source>Calling</source>
+      <translation variants="no">Calling</translation>
+    </message>
+    <message numerus="no" id="txt_long_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_transfer">
+      <source>Transfer</source>
+      <translation variants="no">Transfer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_title_telephone">
+      <source>Telephone</source>
+      <translation variants="yes">
+        <lengthvariant priority="1">Telephone</lengthvariant>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_waiting">
+      <source>Waiting</source>
+      <translation variants="no">waiting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_called_number_has_barred_incoming">
+      <source>Called number has barred incoming calls</source>
+      <translation variants="no">Unable to make video call. Incoming calls barred on other phone.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_not_in_use">
+      <source>Number not in use</source>
+      <translation variants="no">Number not in use</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_could_not_send_own_number">
+      <source>Could not send own number</source>
+      <translation variants="no">Could not send your caller ID</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_not_allowed_during_resto">
+      <source>Video call not allowed during restore</source>
+      <translation variants="no">Unable to make video call during restoring operation</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_life_timer">
+      <source>Life timer\n%L1</source>
+      <translation variants="no">Life timer:
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_call_failed">
+      <source>Emergency call failed</source>
+      <translation variants="no">Emergency call failed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_sending">
+      <source>Sending\n%L1</source>
+      <translation variants="no">Sending
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_remote_sim">
+      <source>Remote SIM</source>
+      <translation variants="no">Remote SIM</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_calls_only">
+      <source>Emergency calls only</source>
+      <translation variants="no">Emergency calls only</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_network_busy">
+      <source>Network busy</source>
+      <translation variants="no">Network busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_unable_to_make_video_call_not_supp">
+      <source>Unable to make video call. Not supported by other phone or network.</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dblist_ongoing_call">
+      <source>Ongoing call</source>
+      <translation variants="no">Ongoing call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_videocall_only_possible_under_3g">
+      <source>Videocall only possible under 3G coverage</source>
+      <translation variants="no">Video calls not supported outside of 3G network</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_serial_no">
+      <source>Serial No.\n%L1</source>
+      <translation variants="no">Serial number:
+%1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_connected_to_1">
+      <source>Connected to %L1</source>
+      <translation variants="no">Connected to %L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_send_string">
+      <source>Send string:\n%L1</source>
+      <translation variants="no">Send DTMF:
%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_all_incoming_calls_diver">
+      <source>Note:  all incoming calls diverted</source>
+      <translation variants="no">Note: all incoming calls diverted</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_you_have_active_barrings">
+      <source>Note: you have active barrings</source>
+      <translation variants="no">Note: active call barrings</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_emergency_call">
+      <source>Emergency call</source>
+      <translation variants="no">Emergency call</translation>
+    </message>
+    <message numerus="yes" id="txt_phone_dblist_ln_missed_calls">
+      <source>%Ln missed calls</source>
+      <translation>
+        <numerusform plurality="a">#%Ln missed calls</numerusform>
+        <numerusform plurality="b">en #MISSING</numerusform>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_barred">
+      <source>Number barred</source>
+      <translation variants="no">Number barred</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_busy">
+      <source>Number busy</source>
+      <translation variants="no">Number busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_unknown_number">
+      <source>Unknown number</source>
+      <translation variants="no">Unknown number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_incoming_call">
+      <source>Incoming call</source>
+      <translation variants="no">calling</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_error_in_connection">
+      <source>Error in connection</source>
+      <translation variants="no">Connection error</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_end_all_calls">
+      <source>End all calls</source>
+      <translation variants="no">End all calls</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_no_answer">
+      <source>No answer</source>
+      <translation variants="no">No answer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_disconnected">
+      <source>Disconnected</source>
+      <translation variants="no">disconnected</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_conference_call_active">
+      <source>Conference call active</source>
+      <translation variants="no">Conference call active</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_phone_switched_off_or_out_of_3g">
+      <source>Phone switched off or out of 3G coverage</source>
+      <translation variants="no">Unable to make video call. Other phone switched off or outside of 3G network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_diverting">
+      <source>Diverting</source>
+      <translation variants="no">Diverting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_network_services">
+      <source>Check network services</source>
+      <translation variants="no">Check network services</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_own_number_sending">
+      <source>Check own number sending</source>
+      <translation variants="no">Check my caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_activate_own_number_sending">
+      <source>Activate own number sending</source>
+      <translation variants="no">Activate caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_share_video">
+      <source>Share video</source>
+      <translation variants="no">Share video</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_conference_call">
+      <source>Conference call</source>
+      <translation variants="no">Conference call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_invalid_phone_number">
+      <source>Invalid phone number</source>
+      <translation variants="no">Invalid phone number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_call_not_allowed_fixed_dialling">
+      <source>Call not allowed, fixed dialling active</source>
+      <translation variants="no">Call not allowed. Fixed dialling active.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_didnt_succeed_to_called">
+      <source>Video call didn't succeed to called end</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_short_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+  </context>
+</TS>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/tsrc/automaticanswertest/ts_files/automaticanswertest_zh.ts	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,214 @@
+<?xml version="1.0" encoding="utf-8"?>
+<TS version="1.0" sourcelanguage="en" language="en">
+  <context>
+    <name>nString</name>
+    <message numerus="no" id="txt_phone_dpopinfo_no_network_coverage">
+      <source>No network coverage</source>
+      <translation variants="no">No network coverage</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_not_allowed">
+      <source>Not allowed</source>
+      <translation variants="no">Not allowed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_attempting">
+      <source>Attempting</source>
+      <translation variants="no">Attempting emergency call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_private_number">
+      <source>Private number</source>
+      <translation variants="no">Private number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_on_hold">
+      <source>On hold</source>
+      <translation variants="no">on hold</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_calling">
+      <source>Calling</source>
+      <translation variants="no">Calling</translation>
+    </message>
+    <message numerus="no" id="txt_long_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_transfer">
+      <source>Transfer</source>
+      <translation variants="no">Transfer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_title_telephone">
+      <source>Telephone</source>
+      <translation variants="yes">
+        <lengthvariant priority="1">Telephone</lengthvariant>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_waiting">
+      <source>Waiting</source>
+      <translation variants="no">waiting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_called_number_has_barred_incoming">
+      <source>Called number has barred incoming calls</source>
+      <translation variants="no">Unable to make video call. Incoming calls barred on other phone.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_not_in_use">
+      <source>Number not in use</source>
+      <translation variants="no">Number not in use</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_could_not_send_own_number">
+      <source>Could not send own number</source>
+      <translation variants="no">Could not send your caller ID</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_not_allowed_during_resto">
+      <source>Video call not allowed during restore</source>
+      <translation variants="no">Unable to make video call during restoring operation</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_life_timer">
+      <source>Life timer\n%L1</source>
+      <translation variants="no">Life timer:
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_call_failed">
+      <source>Emergency call failed</source>
+      <translation variants="no">Emergency call failed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_sending">
+      <source>Sending\n%L1</source>
+      <translation variants="no">Sending
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_remote_sim">
+      <source>Remote SIM</source>
+      <translation variants="no">Remote SIM</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_calls_only">
+      <source>Emergency calls only</source>
+      <translation variants="no">Emergency calls only</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_network_busy">
+      <source>Network busy</source>
+      <translation variants="no">Network busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_unable_to_make_video_call_not_supp">
+      <source>Unable to make video call. Not supported by other phone or network.</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dblist_ongoing_call">
+      <source>Ongoing call</source>
+      <translation variants="no">Ongoing call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_videocall_only_possible_under_3g">
+      <source>Videocall only possible under 3G coverage</source>
+      <translation variants="no">Video calls not supported outside of 3G network</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_serial_no">
+      <source>Serial No.\n%L1</source>
+      <translation variants="no">Serial number:
+%1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_connected_to_1">
+      <source>Connected to %L1</source>
+      <translation variants="no">Connected to %L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_send_string">
+      <source>Send string:\n%L1</source>
+      <translation variants="no">Send DTMF:
%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_all_incoming_calls_diver">
+      <source>Note:  all incoming calls diverted</source>
+      <translation variants="no">Note: all incoming calls diverted</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_you_have_active_barrings">
+      <source>Note: you have active barrings</source>
+      <translation variants="no">Note: active call barrings</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_emergency_call">
+      <source>Emergency call</source>
+      <translation variants="no">Emergency call</translation>
+    </message>
+    <message numerus="yes" id="txt_phone_dblist_ln_missed_calls">
+      <source>%Ln missed calls</source>
+      <translation>
+        <numerusform plurality="a">#%Ln missed calls</numerusform>
+        <numerusform plurality="b">en #MISSING</numerusform>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_barred">
+      <source>Number barred</source>
+      <translation variants="no">Number barred</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_busy">
+      <source>Number busy</source>
+      <translation variants="no">Number busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_unknown_number">
+      <source>Unknown number</source>
+      <translation variants="no">Unknown number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_incoming_call">
+      <source>Incoming call</source>
+      <translation variants="no">calling</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_error_in_connection">
+      <source>Error in connection</source>
+      <translation variants="no">Connection error</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_end_all_calls">
+      <source>End all calls</source>
+      <translation variants="no">End all calls</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_no_answer">
+      <source>No answer</source>
+      <translation variants="no">No answer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_disconnected">
+      <source>Disconnected</source>
+      <translation variants="no">disconnected</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_conference_call_active">
+      <source>Conference call active</source>
+      <translation variants="no">Conference call active</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_phone_switched_off_or_out_of_3g">
+      <source>Phone switched off or out of 3G coverage</source>
+      <translation variants="no">Unable to make video call. Other phone switched off or outside of 3G network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_diverting">
+      <source>Diverting</source>
+      <translation variants="no">Diverting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_network_services">
+      <source>Check network services</source>
+      <translation variants="no">Check network services</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_own_number_sending">
+      <source>Check own number sending</source>
+      <translation variants="no">Check my caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_activate_own_number_sending">
+      <source>Activate own number sending</source>
+      <translation variants="no">Activate caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_share_video">
+      <source>Share video</source>
+      <translation variants="no">Share video</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_conference_call">
+      <source>Conference call</source>
+      <translation variants="no">Conference call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_invalid_phone_number">
+      <source>Invalid phone number</source>
+      <translation variants="no">Invalid phone number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_call_not_allowed_fixed_dialling">
+      <source>Call not allowed, fixed dialling active</source>
+      <translation variants="no">Call not allowed. Fixed dialling active.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_didnt_succeed_to_called">
+      <source>Video call didn't succeed to called end</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_short_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+  </context>
+</TS>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/tsrc/automaticanswertest/ts_files/automaticanswertest_zh_hk.ts	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,214 @@
+<?xml version="1.0" encoding="utf-8"?>
+<TS version="1.0" sourcelanguage="en" language="en">
+  <context>
+    <name>nString</name>
+    <message numerus="no" id="txt_phone_dpopinfo_no_network_coverage">
+      <source>No network coverage</source>
+      <translation variants="no">No network coverage</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_not_allowed">
+      <source>Not allowed</source>
+      <translation variants="no">Not allowed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_attempting">
+      <source>Attempting</source>
+      <translation variants="no">Attempting emergency call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_private_number">
+      <source>Private number</source>
+      <translation variants="no">Private number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_on_hold">
+      <source>On hold</source>
+      <translation variants="no">on hold</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_calling">
+      <source>Calling</source>
+      <translation variants="no">Calling</translation>
+    </message>
+    <message numerus="no" id="txt_long_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_transfer">
+      <source>Transfer</source>
+      <translation variants="no">Transfer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_title_telephone">
+      <source>Telephone</source>
+      <translation variants="yes">
+        <lengthvariant priority="1">Telephone</lengthvariant>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_waiting">
+      <source>Waiting</source>
+      <translation variants="no">waiting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_called_number_has_barred_incoming">
+      <source>Called number has barred incoming calls</source>
+      <translation variants="no">Unable to make video call. Incoming calls barred on other phone.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_not_in_use">
+      <source>Number not in use</source>
+      <translation variants="no">Number not in use</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_could_not_send_own_number">
+      <source>Could not send own number</source>
+      <translation variants="no">Could not send your caller ID</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_not_allowed_during_resto">
+      <source>Video call not allowed during restore</source>
+      <translation variants="no">Unable to make video call during restoring operation</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_life_timer">
+      <source>Life timer\n%L1</source>
+      <translation variants="no">Life timer:
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_call_failed">
+      <source>Emergency call failed</source>
+      <translation variants="no">Emergency call failed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_sending">
+      <source>Sending\n%L1</source>
+      <translation variants="no">Sending
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_remote_sim">
+      <source>Remote SIM</source>
+      <translation variants="no">Remote SIM</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_calls_only">
+      <source>Emergency calls only</source>
+      <translation variants="no">Emergency calls only</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_network_busy">
+      <source>Network busy</source>
+      <translation variants="no">Network busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_unable_to_make_video_call_not_supp">
+      <source>Unable to make video call. Not supported by other phone or network.</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dblist_ongoing_call">
+      <source>Ongoing call</source>
+      <translation variants="no">Ongoing call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_videocall_only_possible_under_3g">
+      <source>Videocall only possible under 3G coverage</source>
+      <translation variants="no">Video calls not supported outside of 3G network</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_serial_no">
+      <source>Serial No.\n%L1</source>
+      <translation variants="no">Serial number:
+%1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_connected_to_1">
+      <source>Connected to %L1</source>
+      <translation variants="no">Connected to %L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_send_string">
+      <source>Send string:\n%L1</source>
+      <translation variants="no">Send DTMF:
%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_all_incoming_calls_diver">
+      <source>Note:  all incoming calls diverted</source>
+      <translation variants="no">Note: all incoming calls diverted</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_you_have_active_barrings">
+      <source>Note: you have active barrings</source>
+      <translation variants="no">Note: active call barrings</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_emergency_call">
+      <source>Emergency call</source>
+      <translation variants="no">Emergency call</translation>
+    </message>
+    <message numerus="yes" id="txt_phone_dblist_ln_missed_calls">
+      <source>%Ln missed calls</source>
+      <translation>
+        <numerusform plurality="a">#%Ln missed calls</numerusform>
+        <numerusform plurality="b">en #MISSING</numerusform>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_barred">
+      <source>Number barred</source>
+      <translation variants="no">Number barred</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_busy">
+      <source>Number busy</source>
+      <translation variants="no">Number busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_unknown_number">
+      <source>Unknown number</source>
+      <translation variants="no">Unknown number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_incoming_call">
+      <source>Incoming call</source>
+      <translation variants="no">calling</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_error_in_connection">
+      <source>Error in connection</source>
+      <translation variants="no">Connection error</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_end_all_calls">
+      <source>End all calls</source>
+      <translation variants="no">End all calls</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_no_answer">
+      <source>No answer</source>
+      <translation variants="no">No answer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_disconnected">
+      <source>Disconnected</source>
+      <translation variants="no">disconnected</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_conference_call_active">
+      <source>Conference call active</source>
+      <translation variants="no">Conference call active</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_phone_switched_off_or_out_of_3g">
+      <source>Phone switched off or out of 3G coverage</source>
+      <translation variants="no">Unable to make video call. Other phone switched off or outside of 3G network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_diverting">
+      <source>Diverting</source>
+      <translation variants="no">Diverting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_network_services">
+      <source>Check network services</source>
+      <translation variants="no">Check network services</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_own_number_sending">
+      <source>Check own number sending</source>
+      <translation variants="no">Check my caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_activate_own_number_sending">
+      <source>Activate own number sending</source>
+      <translation variants="no">Activate caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_share_video">
+      <source>Share video</source>
+      <translation variants="no">Share video</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_conference_call">
+      <source>Conference call</source>
+      <translation variants="no">Conference call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_invalid_phone_number">
+      <source>Invalid phone number</source>
+      <translation variants="no">Invalid phone number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_call_not_allowed_fixed_dialling">
+      <source>Call not allowed, fixed dialling active</source>
+      <translation variants="no">Call not allowed. Fixed dialling active.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_didnt_succeed_to_called">
+      <source>Video call didn't succeed to called end</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_short_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+  </context>
+</TS>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/tsrc/automaticanswertest/ts_files/automaticanswertest_zh_tw.ts	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,214 @@
+<?xml version="1.0" encoding="utf-8"?>
+<TS version="1.0" sourcelanguage="en" language="en">
+  <context>
+    <name>nString</name>
+    <message numerus="no" id="txt_phone_dpopinfo_no_network_coverage">
+      <source>No network coverage</source>
+      <translation variants="no">No network coverage</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_not_allowed">
+      <source>Not allowed</source>
+      <translation variants="no">Not allowed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_attempting">
+      <source>Attempting</source>
+      <translation variants="no">Attempting emergency call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_private_number">
+      <source>Private number</source>
+      <translation variants="no">Private number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_on_hold">
+      <source>On hold</source>
+      <translation variants="no">on hold</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_calling">
+      <source>Calling</source>
+      <translation variants="no">Calling</translation>
+    </message>
+    <message numerus="no" id="txt_long_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_transfer">
+      <source>Transfer</source>
+      <translation variants="no">Transfer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_title_telephone">
+      <source>Telephone</source>
+      <translation variants="yes">
+        <lengthvariant priority="1">Telephone</lengthvariant>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_waiting">
+      <source>Waiting</source>
+      <translation variants="no">waiting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_called_number_has_barred_incoming">
+      <source>Called number has barred incoming calls</source>
+      <translation variants="no">Unable to make video call. Incoming calls barred on other phone.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_not_in_use">
+      <source>Number not in use</source>
+      <translation variants="no">Number not in use</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_could_not_send_own_number">
+      <source>Could not send own number</source>
+      <translation variants="no">Could not send your caller ID</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_not_allowed_during_resto">
+      <source>Video call not allowed during restore</source>
+      <translation variants="no">Unable to make video call during restoring operation</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_life_timer">
+      <source>Life timer\n%L1</source>
+      <translation variants="no">Life timer:
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_call_failed">
+      <source>Emergency call failed</source>
+      <translation variants="no">Emergency call failed</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_sending">
+      <source>Sending\n%L1</source>
+      <translation variants="no">Sending
+%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_remote_sim">
+      <source>Remote SIM</source>
+      <translation variants="no">Remote SIM</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_emergency_calls_only">
+      <source>Emergency calls only</source>
+      <translation variants="no">Emergency calls only</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_network_busy">
+      <source>Network busy</source>
+      <translation variants="no">Network busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_unable_to_make_video_call_not_supp">
+      <source>Unable to make video call. Not supported by other phone or network.</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dblist_ongoing_call">
+      <source>Ongoing call</source>
+      <translation variants="no">Ongoing call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_videocall_only_possible_under_3g">
+      <source>Videocall only possible under 3G coverage</source>
+      <translation variants="no">Video calls not supported outside of 3G network</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_serial_no">
+      <source>Serial No.\n%L1</source>
+      <translation variants="no">Serial number:
+%1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_connected_to_1">
+      <source>Connected to %L1</source>
+      <translation variants="no">Connected to %L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_send_string">
+      <source>Send string:\n%L1</source>
+      <translation variants="no">Send DTMF:
%L1</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_all_incoming_calls_diver">
+      <source>Note:  all incoming calls diverted</source>
+      <translation variants="no">Note: all incoming calls diverted</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_note_you_have_active_barrings">
+      <source>Note: you have active barrings</source>
+      <translation variants="no">Note: active call barrings</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_emergency_call">
+      <source>Emergency call</source>
+      <translation variants="no">Emergency call</translation>
+    </message>
+    <message numerus="yes" id="txt_phone_dblist_ln_missed_calls">
+      <source>%Ln missed calls</source>
+      <translation>
+        <numerusform plurality="a">#%Ln missed calls</numerusform>
+        <numerusform plurality="b">en #MISSING</numerusform>
+      </translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_barred">
+      <source>Number barred</source>
+      <translation variants="no">Number barred</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_number_busy">
+      <source>Number busy</source>
+      <translation variants="no">Number busy</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_unknown_number">
+      <source>Unknown number</source>
+      <translation variants="no">Unknown number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_incoming_call">
+      <source>Incoming call</source>
+      <translation variants="no">calling</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_error_in_connection">
+      <source>Error in connection</source>
+      <translation variants="no">Connection error</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_end_all_calls">
+      <source>End all calls</source>
+      <translation variants="no">End all calls</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_no_answer">
+      <source>No answer</source>
+      <translation variants="no">No answer</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_disconnected">
+      <source>Disconnected</source>
+      <translation variants="no">disconnected</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_conference_call_active">
+      <source>Conference call active</source>
+      <translation variants="no">Conference call active</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_phone_switched_off_or_out_of_3g">
+      <source>Phone switched off or out of 3G coverage</source>
+      <translation variants="no">Unable to make video call. Other phone switched off or outside of 3G network.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_dpopinfo_diverting">
+      <source>Diverting</source>
+      <translation variants="no">Diverting</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_network_services">
+      <source>Check network services</source>
+      <translation variants="no">Check network services</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_check_own_number_sending">
+      <source>Check own number sending</source>
+      <translation variants="no">Check my caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_activate_own_number_sending">
+      <source>Activate own number sending</source>
+      <translation variants="no">Activate caller ID sending</translation>
+    </message>
+    <message numerus="no" id="txt_phone_opt_share_video">
+      <source>Share video</source>
+      <translation variants="no">Share video</translation>
+    </message>
+    <message numerus="no" id="txt_phone_other_conference_call">
+      <source>Conference call</source>
+      <translation variants="no">Conference call</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_invalid_phone_number">
+      <source>Invalid phone number</source>
+      <translation variants="no">Invalid phone number</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_call_not_allowed_fixed_dialling">
+      <source>Call not allowed, fixed dialling active</source>
+      <translation variants="no">Call not allowed. Fixed dialling active.</translation>
+    </message>
+    <message numerus="no" id="txt_phone_info_video_call_didnt_succeed_to_called">
+      <source>Video call didn't succeed to called end</source>
+      <translation variants="no">Unable to make video call. Not supported by other phone or network.</translation>
+    </message>
+    <message numerus="no" id="txt_short_caption_automaticanswertest">
+      <source>AutomaticAnswer</source>
+      <translation variants="no">AutomaticAnswer</translation>
+    </message>
+  </context>
+</TS>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/dialerwidgetplugin/dialerwidgetplugin.pri	Thu Jul 22 16:33:21 2010 +0100
@@ -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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/dialerwidgetplugin/dialerwidgetplugin.pro	Thu Jul 22 16:33:21 2010 +0100
@@ -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 <platform_paths.hrh>" \
+     "./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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/dialerwidgetplugin/dialerwidgetpluging.qrc	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,13 @@
+<RCC>
+    <qresource prefix="/icons">
+        <file>resource/qtg_fr_shortcut_badge_bg_r.png</file>
+        <file>resource/qtg_fr_shortcut_badge_bg_c.png</file>
+        <file>resource/qtg_fr_shortcut_badge_bg_l.png</file>
+        <file>resource/qtg_graf_hs_dialer.svg</file>
+    </qresource>
+    <qresource prefix="/data">
+    	<file>resource/dialerwidget.widgetml</file>
+    	<file>resource/dialerwidget.css</file>
+    </qresource>
+    
+</RCC>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/dialerwidgetplugin/inc/dialerwidget.h	Thu Jul 22 16:33:21 2010 +0100
@@ -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 <hswidget.h>
+
+
+#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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/dialerwidgetplugin/inc/dialerwidgetengine.h	Thu Jul 22 16:33:21 2010 +0100
@@ -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 <QObject>
+#include <xqsettingsmanager.h>
+
+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_ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/dialerwidgetplugin/inc/dialerwidgetplugin.h	Thu Jul 22 16:33:21 2010 +0100
@@ -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 <QObject>
+#include <qserviceplugininterface.h>
+
+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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/dialerwidgetplugin/resource/dialerwidget.css	Thu Jul 22 16:33:21 2010 +0100
@@ -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;
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/dialerwidgetplugin/resource/dialerwidget.widgetml	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbwidget type="DialerWidget" version="0.1">
+    <layout name="default" type="mesh">
+    		<meshitem dst="" dstEdge="TOP" src="background" srcEdge="TOP"/>
+    		<meshitem dst="" dstEdge="RIGHT" src="background" srcEdge="RIGHT"/>
+        <meshitem dst="badgeBackground" dstEdge="RIGHT" src="background" srcEdge="LEFT"/>
+        <meshitem dst="" dstEdge="LEFT" src="text" srcEdge="LEFT"/>
+        <meshitem dst="" dstEdge="TOP" src="text" srcEdge="TOP"/>
+        <meshitem dst="" dstEdge="LEFT" src="touch_area" srcEdge="LEFT"/>
+        <meshitem dst="" dstEdge="RIGHT" src="touch_area" srcEdge="RIGHT"/>
+        <meshitem dst="background" dstEdge="BOTTOM" src="touch_area" srcEdge="TOP"/>
+    </layout>
+    <metadata>
+        <items>
+            <item name="background" type="HbWidget"/>
+            <item name="badgeBackground" type="HbWidget"/>
+            <item name="text" text="0" type="HbTextItem"/>
+            <item name="touch_area" type="HbTouchArea"/>
+        </items>
+    </metadata>
+</hbwidget>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/dialerwidgetplugin/resource/dialerwidgetplugin.manifest	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<widgetprovider>
+    <widget library="dialerwidgetplugin"
+            uri="dialerwidgetplugin"
+            title="txt_long_caption_dialer"
+            iconuri="qtg_graf_hs_dialer.svg"
+            description="txt_dial_dblist_val_dialer_enable_access_to_recent"/>
+</widgetprovider>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/dialerwidgetplugin/resource/dialerwidgetplugin.s60xml	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<service>
+    <name>dialerwidgetplugin</name>
+    <filepath>dialerwidgetplugin</filepath>
+    <description>Dialer widget</description>
+    <interface>
+        <name>com.nokia.symbian.IHomeScreenWidget</name>
+        <version>1.0</version>
+        <description>The dialer widget displays dialing menu</description>
+        <capabilities></capabilities>
+        <customproperty key="iconuri">qtg_graf_hs_dialer.svg</customproperty>
+        <customproperty key="title">Dialer</customproperty>
+    </interface>
+</service>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/dialerwidgetplugin/resource/dialerwidgetplugin.xml	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<service>
+    <name>dialerwidgetplugin</name>
+    <filepath>dialerwidgetplugin</filepath>
+    <description>Dialer widget</description>
+    <interface>
+        <name>com.nokia.symbian.IHomeScreenWidget</name>
+        <version>1.0</version>
+        <description>The dialer widget displays dialing menu</description>
+        <capabilities></capabilities>
+        <customproperty key="iconuri">qtg_graf_hs_dialer.svg</customproperty>
+        <customproperty key="title">Dialer</customproperty>
+    </interface>
+</service>
Binary file phoneplugins/dialerwidgetplugin/resource/qtg_fr_shortcut_badge_bg_c.png has changed
Binary file phoneplugins/dialerwidgetplugin/resource/qtg_fr_shortcut_badge_bg_l.png has changed
Binary file phoneplugins/dialerwidgetplugin/resource/qtg_fr_shortcut_badge_bg_r.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/dialerwidgetplugin/resource/qtg_graf_hs_dialer.svg	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
+<svg baseProfile="tiny" height="81px" version="1.1" viewBox="0 0 81 81" width="81px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
+<path d="M81,75c0,3.3-2.699,6-6,6H6c-3.3,0-6-2.7-6-6V6c0-3.3,2.7-6,6-6h69c3.301,0,6,2.7,6,6  V75z" fill="url(#SVGID_1_)" fill-opacity="0.92" stroke-opacity="0.92"/>
+<path d="M75,0.5c3.033,0,5.5,2.467,5.5,5.5v69c0,3.033-2.467,5.5-5.5,5.5H6c-3.033,0-5.5-2.467-5.5-5.5V6  c0-3.033,2.467-5.5,5.5-5.5H75 M75,0H6C2.7,0,0,2.7,0,6v69c0,3.3,2.7,6,6,6h69c3.301,0,6-2.7,6-6V6C81,2.7,78.301,0,75,0L75,0z" fill="#999999"/>
+<g>
+<g>
+<path d="M28.548,20.202c0,1.813-1.471,3.284-3.284,3.284h-7.116c-1.813,0-3.284-1.471-3.284-3.284V16.37    c0-1.814,1.471-3.284,3.284-3.284h7.116c1.813,0,3.284,1.47,3.284,3.284V20.202z" fill="#3C3C3C"/>
+<path d="M47.343,20.202c0,1.813-1.471,3.284-3.285,3.284h-7.115c-1.815,0-3.284-1.471-3.284-3.284V16.37    c0-1.814,1.469-3.284,3.284-3.284h7.115c1.814,0,3.285,1.47,3.285,3.284V20.202z" fill="#3C3C3C"/>
+<path d="M66.136,20.202c0,1.813-1.471,3.284-3.285,3.284h-7.115c-1.813,0-3.283-1.471-3.283-3.284V16.37    c0-1.814,1.471-3.284,3.283-3.284h7.115c1.814,0,3.285,1.47,3.285,3.284V20.202z" fill="#3C3C3C"/>
+<path d="M28.548,35.255c0,1.813-1.471,3.284-3.284,3.284h-7.116c-1.813,0-3.284-1.471-3.284-3.284v-3.831    c0-1.815,1.471-3.284,3.284-3.284h7.116c1.813,0,3.284,1.469,3.284,3.284V35.255z" fill="#3C3C3C"/>
+<path d="M47.343,35.255c0,1.813-1.471,3.284-3.285,3.284h-7.115c-1.815,0-3.284-1.471-3.284-3.284v-3.831    c0-1.815,1.469-3.284,3.284-3.284h7.115c1.814,0,3.285,1.469,3.285,3.284V35.255z" fill="#3C3C3C"/>
+<path d="M66.136,35.255c0,1.813-1.471,3.284-3.285,3.284h-7.115c-1.813,0-3.283-1.471-3.283-3.284v-3.831    c0-1.815,1.471-3.284,3.283-3.284h7.115c1.814,0,3.285,1.469,3.285,3.284V35.255z" fill="#3C3C3C"/>
+<path d="M28.548,50.034c0,1.813-1.471,3.284-3.284,3.284h-7.116c-1.813,0-3.284-1.471-3.284-3.284v-3.831    c0-1.815,1.471-3.284,3.284-3.284h7.116c1.813,0,3.284,1.469,3.284,3.284V50.034z" fill="#3C3C3C"/>
+<path d="M47.343,50.034c0,1.813-1.471,3.284-3.285,3.284h-7.115c-1.815,0-3.284-1.471-3.284-3.284v-3.831    c0-1.815,1.469-3.284,3.284-3.284h7.115c1.814,0,3.285,1.469,3.285,3.284V50.034z" fill="#3C3C3C"/>
+<path d="M47.343,64.63c0,1.815-1.471,3.284-3.285,3.284h-7.115c-1.815,0-3.284-1.469-3.284-3.284v-3.831    c0-1.813,1.469-3.284,3.284-3.284h7.115c1.814,0,3.285,1.471,3.285,3.284V64.63z" fill="#3C3C3C"/>
+<path d="M66.136,50.034c0,1.813-1.471,3.284-3.285,3.284h-7.115c-1.813,0-3.283-1.471-3.283-3.284v-3.831    c0-1.815,1.471-3.284,3.283-3.284h7.115c1.814,0,3.285,1.469,3.285,3.284V50.034z" fill="#3C3C3C"/>
+</g>
+</g>
+<rect fill="none" height="81" width="81"/>
+<defs>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_1_" x1="40.5005" x2="40.5005" y1="81.3467" y2="41.859">
+<stop offset="0" style="stop-color:#F2F2F2"/>
+<stop offset="1" style="stop-color:#FFFFFF"/>
+</linearGradient>
+</defs>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/dialerwidgetplugin/resource/qtg_graf_hs_dialer_pressed.svg	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
+<svg baseProfile="tiny" height="81px" version="1.1" viewBox="0 0 81 81" width="81px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
+<path d="M81,75c0,3.3-2.699,6-6,6H6c-3.3,0-6-2.7-6-6V6c0-3.3,2.7-6,6-6h69c3.301,0,6,2.7,6,6V75z" fill="url(#SVGID_1_)"/>
+<path d="M75,0.5c3.033,0,5.5,2.467,5.5,5.5v69c0,3.033-2.467,5.5-5.5,5.5H6  c-3.033,0-5.5-2.467-5.5-5.5V6c0-3.033,2.467-5.5,5.5-5.5H75 M75,0H6C2.7,0,0,2.7,0,6v69c0,3.3,2.7,6,6,6h69c3.301,0,6-2.7,6-6V6  C81,2.7,78.301,0,75,0L75,0z" display="none" fill="#999999"/>
+<g>
+<g>
+<path d="M28.548,20.202c0,1.813-1.471,3.284-3.284,3.284h-7.116c-1.813,0-3.284-1.471-3.284-3.284V16.37    c0-1.814,1.471-3.284,3.284-3.284h7.116c1.813,0,3.284,1.47,3.284,3.284V20.202z" fill="#FFFFFF"/>
+<path d="M47.343,20.202c0,1.813-1.471,3.284-3.285,3.284h-7.115c-1.815,0-3.284-1.471-3.284-3.284V16.37    c0-1.814,1.469-3.284,3.284-3.284h7.115c1.814,0,3.285,1.47,3.285,3.284V20.202z" fill="#FFFFFF"/>
+<path d="M66.136,20.202c0,1.813-1.471,3.284-3.285,3.284h-7.115c-1.813,0-3.283-1.471-3.283-3.284V16.37    c0-1.814,1.471-3.284,3.283-3.284h7.115c1.814,0,3.285,1.47,3.285,3.284V20.202z" fill="#FFFFFF"/>
+<path d="M28.548,35.255c0,1.813-1.471,3.284-3.284,3.284h-7.116c-1.813,0-3.284-1.471-3.284-3.284v-3.831    c0-1.815,1.471-3.284,3.284-3.284h7.116c1.813,0,3.284,1.469,3.284,3.284V35.255z" fill="#FFFFFF"/>
+<path d="M47.343,35.255c0,1.813-1.471,3.284-3.285,3.284h-7.115c-1.815,0-3.284-1.471-3.284-3.284v-3.831    c0-1.815,1.469-3.284,3.284-3.284h7.115c1.814,0,3.285,1.469,3.285,3.284V35.255z" fill="#FFFFFF"/>
+<path d="M66.136,35.255c0,1.813-1.471,3.284-3.285,3.284h-7.115c-1.813,0-3.283-1.471-3.283-3.284v-3.831    c0-1.815,1.471-3.284,3.283-3.284h7.115c1.814,0,3.285,1.469,3.285,3.284V35.255z" fill="#FFFFFF"/>
+<path d="M28.548,50.034c0,1.813-1.471,3.284-3.284,3.284h-7.116c-1.813,0-3.284-1.471-3.284-3.284v-3.831    c0-1.815,1.471-3.284,3.284-3.284h7.116c1.813,0,3.284,1.469,3.284,3.284V50.034z" fill="#FFFFFF"/>
+<path d="M47.343,50.034c0,1.813-1.471,3.284-3.285,3.284h-7.115c-1.815,0-3.284-1.471-3.284-3.284v-3.831    c0-1.815,1.469-3.284,3.284-3.284h7.115c1.814,0,3.285,1.469,3.285,3.284V50.034z" fill="#FFFFFF"/>
+<path d="M47.343,64.63c0,1.815-1.471,3.284-3.285,3.284h-7.115c-1.815,0-3.284-1.469-3.284-3.284v-3.831    c0-1.813,1.469-3.284,3.284-3.284h7.115c1.814,0,3.285,1.471,3.285,3.284V64.63z" fill="#FFFFFF"/>
+<path d="M66.136,50.034c0,1.813-1.471,3.284-3.285,3.284h-7.115c-1.813,0-3.283-1.471-3.283-3.284v-3.831    c0-1.815,1.471-3.284,3.283-3.284h7.115c1.814,0,3.285,1.469,3.285,3.284V50.034z" fill="#FFFFFF"/>
+</g>
+</g>
+<rect fill="none" height="81" width="81"/>
+<defs>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_1_" x1="40.4995" x2="40.4995" y1="79.9482" y2="102.8848">
+<stop offset="0" style="stop-color:#8CE0FF"/>
+<stop offset="0.2432" style="stop-color:#83DEFD"/>
+<stop offset="0.6383" style="stop-color:#6BD8F7"/>
+<stop offset="1" style="stop-color:#4FD1F0"/>
+</linearGradient>
+</defs>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/dialerwidgetplugin/rom/dialerwidgetplugin.iby	Thu Jul 22 16:33:21 2010 +0100
@@ -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__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/dialerwidgetplugin/src/dialerwidget.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -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 <HbStyle>
+#include <HbStyleLoader>
+#include <HbFrameItem>
+#include <HbFrameDrawer>
+#include <HbIconItem>
+#include <HbTextItem>
+#include <HbTouchArea>
+#include "dialerwidgetengine.h"
+#include "dialerwidget.h"
+#include "qtphonelog.h"
+
+#ifdef Q_OS_SYMBIAN
+#include "qtphonelog.h"
+#include <xqappmgr.h>
+#include <xqservicerequest.h>
+#include <xqcallinfo.h>
+#include <xqpublishandsubscribeutils.h>
+#include <logsservices.h>
+#include <xqrequestinfo.h>
+#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<CallInfo> calls;
+    QScopedPointer<XQCallInfo> callInfo(XQCallInfo::create());
+    callInfo->getCalls(calls);
+    QList<QVariant> 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<XQAiwRequest> 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);
+    }
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/dialerwidgetplugin/src/dialerwidgetengine.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -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 <logsdomaincrkeys.h>
+#include <logsservices.h>
+
+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;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/dialerwidgetplugin/src/dialerwidgetplugin.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -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 <qserviceinterfacedescriptor.h>
+#include <qabstractsecuritysession.h>
+#include <qservicecontext.h>
+
+#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
--- a/phoneplugins/hsdialerwidgetplugin/hsdialerwidgetplugin.pri	Tue Jun 15 14:14:38 2010 +0100
+++ /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
--- a/phoneplugins/hsdialerwidgetplugin/hsdialerwidgetplugin.pro	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +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 \
-        -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 <platform_paths.hrh>" \
-     "./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
--- a/phoneplugins/hsdialerwidgetplugin/hsdialerwidgetpluging.qrc	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-<RCC>
-    <qresource prefix="/icons">
-        <file>resource/qtg_fr_shortcut_badge_bg_r.png</file>
-        <file>resource/qtg_fr_shortcut_badge_bg_c.png</file>
-        <file>resource/qtg_fr_shortcut_badge_bg_l.png</file>
-        <file>resource/qtg_graf_hs_dialer.svg</file>
-    </qresource>
-</RCC>
--- a/phoneplugins/hsdialerwidgetplugin/inc/hsdialerwidget.h	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,76 +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 <HbWidget>
-#ifdef Q_OS_SYMBIAN
-#include <xqsettingsmanager.h>
-#else
-class XQSettingsManager;
-class XQSettingsKey;
-#endif
-
-#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 HbFrameItem;
-class HsDialerWidget : public HbWidget
-{
-    Q_OBJECT
-
-public:
-    HsDialerWidget(QGraphicsItem* parent = 0, Qt::WindowFlags flags = 0);
-    ~HsDialerWidget();
-    
-    void paint ( QPainter * painter, const QStyleOptionGraphicsItem * option, QWidget * widget = 0 );
-
-private:
-    void setItemPositions();
-    
-public slots:
-    void startDialer();
-    void updateMissedCallBadge(const XQSettingsKey &key, const QVariant &value);
-
-    void onShow();
-    void onHide();
-
-protected:
-    void mousePressEvent(QGraphicsSceneMouseEvent *event) { Q_UNUSED(event) }
-    void mouseReleaseEvent(QGraphicsSceneMouseEvent *event);
-    
-
-
-private:
-    XQCallInfo *mXQCallInfo;
-    HbFrameItem *m_shortcutBadge;
-    HbFrameItem *m_backgroud;
-    XQSettingsManager * m_setManager;
-    int m_missedCalls;
-    HOMESCREEN_TEST_FRIEND_CLASS(TestDialerWidgetPlugin)
-};
-
-#endif
--- a/phoneplugins/hsdialerwidgetplugin/inc/hsdialerwidgetplugin.h	Tue Jun 15 14:14:38 2010 +0100
+++ /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 <QObject>
-#include <qserviceplugininterface.h>
-
-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
--- a/phoneplugins/hsdialerwidgetplugin/resource/hsdialerwidgetplugin.manifest	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<widgetprovider>
-    <widget library="hsdialerwidgetplugin"
-            uri="hsdialerwidgetplugin"
-            title="Dialer"
-            iconuri="qtg_graf_hs_dialer.svg"
-            description="The dialer is used to make phone calls."/>
-</widgetprovider>
--- a/phoneplugins/hsdialerwidgetplugin/resource/hsdialerwidgetplugin.s60xml	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<service>
-    <name>hsdialerwidgetplugin</name>
-    <filepath>hsdialerwidgetplugin</filepath>
-    <description>Dialer widget</description>
-    <interface>
-        <name>com.nokia.symbian.IHomeScreenWidget</name>
-        <version>1.0</version>
-        <description>The dialer widget displays dialing menu</description>
-        <capabilities></capabilities>
-        <customproperty key="iconuri">qtg_graf_hs_dialer.svg</customproperty>
-        <customproperty key="title">Dialer</customproperty>
-    </interface>
-</service>
--- a/phoneplugins/hsdialerwidgetplugin/resource/hsdialerwidgetplugin.xml	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<service>
-    <name>hsdialerwidgetplugin</name>
-    <filepath>hsdialerwidgetplugin</filepath>
-    <description>Dialer widget</description>
-    <interface>
-        <name>com.nokia.symbian.IHomeScreenWidget</name>
-        <version>1.0</version>
-        <description>The dialer widget displays dialing menu</description>
-        <capabilities></capabilities>
-        <customproperty key="iconuri">qtg_graf_hs_dialer.svg</customproperty>
-        <customproperty key="title">Dialer</customproperty>
-    </interface>
-</service>
Binary file phoneplugins/hsdialerwidgetplugin/resource/qtg_fr_shortcut_badge_bg_c.png has changed
Binary file phoneplugins/hsdialerwidgetplugin/resource/qtg_fr_shortcut_badge_bg_l.png has changed
Binary file phoneplugins/hsdialerwidgetplugin/resource/qtg_fr_shortcut_badge_bg_r.png has changed
--- a/phoneplugins/hsdialerwidgetplugin/resource/qtg_graf_hs_dialer.svg	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg baseProfile="tiny" height="81px" version="1.1" viewBox="0 0 81 81" width="81px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
-<path d="M81,75c0,3.3-2.699,6-6,6H6c-3.3,0-6-2.7-6-6V6c0-3.3,2.7-6,6-6h69c3.301,0,6,2.7,6,6  V75z" fill="url(#SVGID_1_)" fill-opacity="0.92" stroke-opacity="0.92"/>
-<path d="M75,0.5c3.033,0,5.5,2.467,5.5,5.5v69c0,3.033-2.467,5.5-5.5,5.5H6c-3.033,0-5.5-2.467-5.5-5.5V6  c0-3.033,2.467-5.5,5.5-5.5H75 M75,0H6C2.7,0,0,2.7,0,6v69c0,3.3,2.7,6,6,6h69c3.301,0,6-2.7,6-6V6C81,2.7,78.301,0,75,0L75,0z" fill="#999999"/>
-<g>
-<g>
-<path d="M28.548,20.202c0,1.813-1.471,3.284-3.284,3.284h-7.116c-1.813,0-3.284-1.471-3.284-3.284V16.37    c0-1.814,1.471-3.284,3.284-3.284h7.116c1.813,0,3.284,1.47,3.284,3.284V20.202z" fill="#3C3C3C"/>
-<path d="M47.343,20.202c0,1.813-1.471,3.284-3.285,3.284h-7.115c-1.815,0-3.284-1.471-3.284-3.284V16.37    c0-1.814,1.469-3.284,3.284-3.284h7.115c1.814,0,3.285,1.47,3.285,3.284V20.202z" fill="#3C3C3C"/>
-<path d="M66.136,20.202c0,1.813-1.471,3.284-3.285,3.284h-7.115c-1.813,0-3.283-1.471-3.283-3.284V16.37    c0-1.814,1.471-3.284,3.283-3.284h7.115c1.814,0,3.285,1.47,3.285,3.284V20.202z" fill="#3C3C3C"/>
-<path d="M28.548,35.255c0,1.813-1.471,3.284-3.284,3.284h-7.116c-1.813,0-3.284-1.471-3.284-3.284v-3.831    c0-1.815,1.471-3.284,3.284-3.284h7.116c1.813,0,3.284,1.469,3.284,3.284V35.255z" fill="#3C3C3C"/>
-<path d="M47.343,35.255c0,1.813-1.471,3.284-3.285,3.284h-7.115c-1.815,0-3.284-1.471-3.284-3.284v-3.831    c0-1.815,1.469-3.284,3.284-3.284h7.115c1.814,0,3.285,1.469,3.285,3.284V35.255z" fill="#3C3C3C"/>
-<path d="M66.136,35.255c0,1.813-1.471,3.284-3.285,3.284h-7.115c-1.813,0-3.283-1.471-3.283-3.284v-3.831    c0-1.815,1.471-3.284,3.283-3.284h7.115c1.814,0,3.285,1.469,3.285,3.284V35.255z" fill="#3C3C3C"/>
-<path d="M28.548,50.034c0,1.813-1.471,3.284-3.284,3.284h-7.116c-1.813,0-3.284-1.471-3.284-3.284v-3.831    c0-1.815,1.471-3.284,3.284-3.284h7.116c1.813,0,3.284,1.469,3.284,3.284V50.034z" fill="#3C3C3C"/>
-<path d="M47.343,50.034c0,1.813-1.471,3.284-3.285,3.284h-7.115c-1.815,0-3.284-1.471-3.284-3.284v-3.831    c0-1.815,1.469-3.284,3.284-3.284h7.115c1.814,0,3.285,1.469,3.285,3.284V50.034z" fill="#3C3C3C"/>
-<path d="M47.343,64.63c0,1.815-1.471,3.284-3.285,3.284h-7.115c-1.815,0-3.284-1.469-3.284-3.284v-3.831    c0-1.813,1.469-3.284,3.284-3.284h7.115c1.814,0,3.285,1.471,3.285,3.284V64.63z" fill="#3C3C3C"/>
-<path d="M66.136,50.034c0,1.813-1.471,3.284-3.285,3.284h-7.115c-1.813,0-3.283-1.471-3.283-3.284v-3.831    c0-1.815,1.471-3.284,3.283-3.284h7.115c1.814,0,3.285,1.469,3.285,3.284V50.034z" fill="#3C3C3C"/>
-</g>
-</g>
-<rect fill="none" height="81" width="81"/>
-<defs>
-<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_1_" x1="40.5005" x2="40.5005" y1="81.3467" y2="41.859">
-<stop offset="0" style="stop-color:#F2F2F2"/>
-<stop offset="1" style="stop-color:#FFFFFF"/>
-</linearGradient>
-</defs>
-</svg>
--- a/phoneplugins/hsdialerwidgetplugin/resource/qtg_graf_hs_dialer_pressed.svg	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg baseProfile="tiny" height="81px" version="1.1" viewBox="0 0 81 81" width="81px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
-<path d="M81,75c0,3.3-2.699,6-6,6H6c-3.3,0-6-2.7-6-6V6c0-3.3,2.7-6,6-6h69c3.301,0,6,2.7,6,6V75z" fill="url(#SVGID_1_)"/>
-<path d="M75,0.5c3.033,0,5.5,2.467,5.5,5.5v69c0,3.033-2.467,5.5-5.5,5.5H6  c-3.033,0-5.5-2.467-5.5-5.5V6c0-3.033,2.467-5.5,5.5-5.5H75 M75,0H6C2.7,0,0,2.7,0,6v69c0,3.3,2.7,6,6,6h69c3.301,0,6-2.7,6-6V6  C81,2.7,78.301,0,75,0L75,0z" display="none" fill="#999999"/>
-<g>
-<g>
-<path d="M28.548,20.202c0,1.813-1.471,3.284-3.284,3.284h-7.116c-1.813,0-3.284-1.471-3.284-3.284V16.37    c0-1.814,1.471-3.284,3.284-3.284h7.116c1.813,0,3.284,1.47,3.284,3.284V20.202z" fill="#FFFFFF"/>
-<path d="M47.343,20.202c0,1.813-1.471,3.284-3.285,3.284h-7.115c-1.815,0-3.284-1.471-3.284-3.284V16.37    c0-1.814,1.469-3.284,3.284-3.284h7.115c1.814,0,3.285,1.47,3.285,3.284V20.202z" fill="#FFFFFF"/>
-<path d="M66.136,20.202c0,1.813-1.471,3.284-3.285,3.284h-7.115c-1.813,0-3.283-1.471-3.283-3.284V16.37    c0-1.814,1.471-3.284,3.283-3.284h7.115c1.814,0,3.285,1.47,3.285,3.284V20.202z" fill="#FFFFFF"/>
-<path d="M28.548,35.255c0,1.813-1.471,3.284-3.284,3.284h-7.116c-1.813,0-3.284-1.471-3.284-3.284v-3.831    c0-1.815,1.471-3.284,3.284-3.284h7.116c1.813,0,3.284,1.469,3.284,3.284V35.255z" fill="#FFFFFF"/>
-<path d="M47.343,35.255c0,1.813-1.471,3.284-3.285,3.284h-7.115c-1.815,0-3.284-1.471-3.284-3.284v-3.831    c0-1.815,1.469-3.284,3.284-3.284h7.115c1.814,0,3.285,1.469,3.285,3.284V35.255z" fill="#FFFFFF"/>
-<path d="M66.136,35.255c0,1.813-1.471,3.284-3.285,3.284h-7.115c-1.813,0-3.283-1.471-3.283-3.284v-3.831    c0-1.815,1.471-3.284,3.283-3.284h7.115c1.814,0,3.285,1.469,3.285,3.284V35.255z" fill="#FFFFFF"/>
-<path d="M28.548,50.034c0,1.813-1.471,3.284-3.284,3.284h-7.116c-1.813,0-3.284-1.471-3.284-3.284v-3.831    c0-1.815,1.471-3.284,3.284-3.284h7.116c1.813,0,3.284,1.469,3.284,3.284V50.034z" fill="#FFFFFF"/>
-<path d="M47.343,50.034c0,1.813-1.471,3.284-3.285,3.284h-7.115c-1.815,0-3.284-1.471-3.284-3.284v-3.831    c0-1.815,1.469-3.284,3.284-3.284h7.115c1.814,0,3.285,1.469,3.285,3.284V50.034z" fill="#FFFFFF"/>
-<path d="M47.343,64.63c0,1.815-1.471,3.284-3.285,3.284h-7.115c-1.815,0-3.284-1.469-3.284-3.284v-3.831    c0-1.813,1.469-3.284,3.284-3.284h7.115c1.814,0,3.285,1.471,3.285,3.284V64.63z" fill="#FFFFFF"/>
-<path d="M66.136,50.034c0,1.813-1.471,3.284-3.285,3.284h-7.115c-1.813,0-3.283-1.471-3.283-3.284v-3.831    c0-1.815,1.471-3.284,3.283-3.284h7.115c1.814,0,3.285,1.469,3.285,3.284V50.034z" fill="#FFFFFF"/>
-</g>
-</g>
-<rect fill="none" height="81" width="81"/>
-<defs>
-<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_1_" x1="40.4995" x2="40.4995" y1="79.9482" y2="102.8848">
-<stop offset="0" style="stop-color:#8CE0FF"/>
-<stop offset="0.2432" style="stop-color:#83DEFD"/>
-<stop offset="0.6383" style="stop-color:#6BD8F7"/>
-<stop offset="1" style="stop-color:#4FD1F0"/>
-</linearGradient>
-</defs>
-</svg>
--- a/phoneplugins/hsdialerwidgetplugin/rom/hsdialerwidgetplugin.iby	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +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\hsdialerwidgetplugin.xml         private\20022f35\import\widgetregistry\20022F44\hsdialerwidgetplugin.xml
-
-#endif //__HSDIALERWIDETPLUGIN_IBY__
--- a/phoneplugins/hsdialerwidgetplugin/src/hsdialerwidget.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,243 +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 <QPainter>
-#include <hbframedrawer.h>
-#include <hbframeitem.h>
-#include <hbtextitem.h>
-#include <QLocale>
-#ifdef Q_OS_SYMBIAN
-#include <logsdomaincrkeys.h>
-#include "qtphonelog.h"
-#include <xqservicerequest.h>
-#include <xqcallinfo.h>
-#include <xqpublishandsubscribeutils.h>
-#include <ctsydomainpskeys.h>
-#include <logsservices.h>
-#endif
-
-#include "hsdialerwidget.h"
-
-namespace
-{
-    const char KDialerWidgetIcon[] = ":/icons/resource/qtg_graf_hs_dialer";
-    const char KMissedCallShortcutBadge[] = ":/icons/resource/qtg_fr_shortcut_badge_bg";
-}
-
-/*!
-    \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)
-  : HbWidget(parent, flags),
-    mXQCallInfo(0)
-{
-#ifdef Q_OS_SYMBIAN
-    m_setManager = new XQSettingsManager(this);
-
-    XQSettingsKey settingsKey( XQSettingsKey::TargetCentralRepository,
-            KCRUidLogs.iUid, KLogsNewMissedCalls );
-
-    bool ok = connect( m_setManager,
-            SIGNAL( valueChanged(const XQSettingsKey & ,const QVariant &)),
-                this, SLOT(updateMissedCallBadge(XQSettingsKey,
-                        QVariant)));
-    ASSERT( ok );
-    ok = false;
-    ok = m_setManager->startMonitoring( settingsKey );
-    ASSERT(ok);
-
-#endif
-
-    HbFrameDrawer *drawer = new HbFrameDrawer(
-            KDialerWidgetIcon, HbFrameDrawer::OnePiece);
-    m_backgroud = new HbFrameItem(drawer, this);
-    m_backgroud->setZValue(1);
-
-    drawer = new HbFrameDrawer(KMissedCallShortcutBadge,
-            HbFrameDrawer::ThreePiecesHorizontal );
-
-    m_shortcutBadge = new HbFrameItem(drawer, this);
-    m_shortcutBadge->setZValue(2);
-    m_shortcutBadge->setVisible(false);
-    m_missedCalls=0;
-    setItemPositions();
-    resize(preferredSize());
-}
-
-/*!
-    Destructor.
-*/
-HsDialerWidget::~HsDialerWidget()
-{
-}
-
-void HsDialerWidget::paint(
-        QPainter *painter,
-        const QStyleOptionGraphicsItem *option,
-        QWidget *widget)
-{
-    Q_UNUSED(option);
-    Q_UNUSED(widget);
-    painter->setPen(QPen( Qt::transparent ) );
-
-    QRectF rect(m_backgroud->boundingRect());
-    painter->drawRect((int)m_backgroud->pos().x(),
-                      (int)m_backgroud->pos().y(),
-                      rect.toRect().width(),
-                      rect.toRect().height());
-
-    if ( m_shortcutBadge->isVisible())
-        {
-        rect = m_shortcutBadge->boundingRect();
-        HbTextItem *text = new HbTextItem( m_shortcutBadge->graphicsItem());
-        
-        QFont badgefont = font();
-#ifdef Q_OS_SYMBIAN
-        badgefont.setPointSize( 4 );
-#else
-        badgefont.setPointSize( 8 );
-#endif
-        text->setFont(badgefont);
-        text->setText(QLocale::system().toString(m_missedCalls));
-        text->setZValue(3);
-        text->setTextColor(Qt::white);
-       
-        text->setX( ( rect.toRect().width() / 2 ) - 2);
-        text->setY( ( rect.toRect().height() / 5 ) - 1);
-
-        painter->drawRect( (int)m_shortcutBadge->pos().x(),
-                           (int)m_shortcutBadge->pos().y(),
-                           rect.toRect().width(),
-                           rect.toRect().height() );
-    }
-}
-
-/*!
-    \fn void HsDialerWidget::startDialer()
-
-    Starts dialer widget via view activation service.
-*/
-void HsDialerWidget::startDialer()
-{
-#ifdef Q_OS_SYMBIAN
-    PHONE_DEBUG("HsDialerWidget::startDialer");
-    
-    if (!mXQCallInfo) {
-        mXQCallInfo = XQCallInfo::create();
-        mXQCallInfo->setParent(this);
-    }
-    
-    QList<CallInfo> 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);
-        snd << (int)LogsServices::ViewAll;
-        snd << true;
-        int retValue;
-        snd.send(retValue);
-
-        //LogsServices::start(LogsServices::ViewAll, true);
-    }
-#endif
-}
-
-void HsDialerWidget::updateMissedCallBadge(
-        const XQSettingsKey &key, const QVariant &value)
-{
-#ifdef Q_OS_SYMBIAN
-    if ( key.key() == (quint32)KLogsNewMissedCalls ){
-        m_missedCalls = value.toInt();
-        m_shortcutBadge->setVisible(value.toBool());
-        setItemPositions();
-        m_backgroud->update();
-    }
-#else
-   Q_UNUSED(key);
-   Q_UNUSED(value);
-#endif
-}
-
-/*!
-    \fn void HsDialerWidget::onShow()
-
-    Shows the widget
-*/
-void HsDialerWidget::onShow()
-{
-}
-
-/*!
-    \fn void HsDialerWidget::onHide()
-
-    Hides the widget
-*/
-void HsDialerWidget::onHide()
-{
-}
-
-/*!
-    \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();
-}
-
-void HsDialerWidget::setItemPositions()
-{
-    HbIcon icon(KDialerWidgetIcon);
-    setPreferredWidth(icon.width());
-    int badgeSize = 20;
-    if ( m_shortcutBadge->isVisible()){
-        m_backgroud->setGeometry(QRectF(QPointF(0,badgeSize / 2 ), 
-                QSizeF(icon.width(),icon.height())));
-        m_shortcutBadge->setGeometry(QRectF(
-                QPointF(m_backgroud->boundingRect().width() - (badgeSize / 2),0 ),
-                QSizeF(badgeSize, badgeSize)));
-        setPreferredHeight(icon.height()+(badgeSize / 2));
-    } else {
-        m_backgroud->setGeometry(QRectF(QPointF(0,0), 
-                QSizeF(icon.width(),icon.height())));
-        setPreferredHeight(icon.height());
-    }
-}
--- a/phoneplugins/hsdialerwidgetplugin/src/hsdialerwidgetplugin.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ /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 <qserviceinterfacedescriptor.h>
-#include <qabstractsecuritysession.h>
-#include <qservicecontext.h>
-
-#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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/inc/infowidgetlogging.h	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,75 @@
+/*
+ * 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 INFOWIDGETLOGGING_H
+#define INFOWIDGETLOGGING_H
+
+#include <QDebug>
+
+
+/*!
+  Define MSG_OUTPUT_RDEBUG 
+  for enabling RDebug prints in development tracing. 
+  Shouldn't be used in release code.
+  */
+#undef MSG_OUTPUT_RDEBUG
+
+
+#ifdef MSG_OUTPUT_RDEBUG
+#ifdef Q_OS_SYMBIAN
+#include <e32debug.h>
+
+static void infoWidgetMsgOutput(QtMsgType type, const char *msg)
+{
+    switch (type) {
+        
+    case QtDebugMsg:
+        RDebug::Printf("InfoWidget Debug: %s\n", msg);
+        break;
+    case QtWarningMsg:
+        RDebug::Printf("InfoWidget Warning: %s\n", msg);
+        break;
+    case QtCriticalMsg:
+        RDebug::Printf("InfoWidget Critical: %s\n", msg);
+        break;
+    case QtFatalMsg:
+        RDebug::Printf("InfoWidget Fatal: %s\n", msg);
+        abort();
+    }
+}
+
+    #define INSTALL_TRACE_MSG_HANDLER qInstallMsgHandler(infoWidgetMsgOutput)
+    #define UNINSTALL_TRACE_MSG_HANDLER qInstallMsgHandler(0)
+#endif //Q_OS_SYMBIAN
+#else 
+    #define INSTALL_TRACE_MSG_HANDLER 
+    #define UNINSTALL_TRACE_MSG_HANDLER 
+#endif //MSG_OUTPUT_RDEBUG
+
+/*!
+  Debug macros
+  */
+#if _DEBUG 
+#define DPRINT qDebug() << __PRETTY_FUNCTION__
+#else
+#define DPRINT if(0) qDebug()
+#endif 
+#define DWARNING qWarning() << __PRETTY_FUNCTION__
+#define DCRITICAL qCritical() << __PRETTY_FUNCTION__
+
+#endif // INFOWIDGETLOGGING
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/inc/infowidgetplugin.h	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,38 @@
+/*
+ * 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 INFOWIDGETPLUGIN_H
+#define INFOWIDGETPLUGIN_H
+
+#include <QObject>
+#include <qserviceplugininterface.h>
+
+QTM_USE_NAMESPACE
+
+class InfoWidgetPlugin : public QObject, public QServicePluginInterface
+{
+    Q_OBJECT
+    Q_INTERFACES(QtMobility::QServicePluginInterface)
+
+public:
+    QObject *createInstance(const QServiceInterfaceDescriptor &descriptor,
+                            QServiceContext *context,
+                            QAbstractSecuritySession *session);
+
+};
+
+#endif // INFOWIDGETPLUGIN_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/infowidget/inc/infowidget.h	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,170 @@
+/*
+ * 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 INFOWIDGET_H
+#define INFOWIDGET_H
+
+#include <hbwidget.h>
+#include <QList>
+#include <QFlags>
+#include "infowidgetlayoutmanager.h"
+#include "infowidgetengine.h"
+#include "infowidgetpreferences.h"
+
+// Forward declarations 
+class QGraphicsSceneMouseEvent;
+class QGraphicsLinearLayout;
+class QTranslator; 
+class HbDialog;
+class HbIconItem; 
+class HbMarqueeItem;
+class HbLabel; 
+class HbCheckBox; 
+class HbPushButton;
+class HbFrameItem;
+class HbAction; 
+class InfoWidgetEngine; 
+class InfoWidgetPreferences;
+ 
+// Class declaration
+class InfoWidget : public HbWidget
+{
+    Q_OBJECT
+
+public: 
+
+    // State for animation
+    enum AnimationState {
+        AnimationIdle, 
+        AnimationStarting,
+        AnimationOngoing
+    } m_animationState; 
+    
+public:    
+    InfoWidget(QGraphicsItem *parent = 0, Qt::WindowFlags flags = 0);
+    ~InfoWidget();
+
+public: // From QGraphicsItem.
+    QRectF boundingRect() const;
+    QSizeF sizeHint(Qt::SizeHint which, const QSizeF & constraint) const;  
+    QSizePolicy sizePolicy () const;  
+
+public: // Property definitions
+    Q_PROPERTY(QString homeZoneDisplay READ homeZoneDisplay WRITE setHomeZoneDisplay)
+    Q_PROPERTY(QString mcnDisplay READ mcnDisplay WRITE setMcnDisplay)
+    Q_PROPERTY(QString activeLineDisplay READ activeLineDisplay WRITE setActiveLineDisplay)
+    Q_PROPERTY(QString satDisplay READ satDisplay WRITE setSatDisplay)
+    Q_PROPERTY(QString spnDisplay READ spnDisplay WRITE setSpnDisplay)
+    QString homeZoneDisplay();
+    void setHomeZoneDisplay(QString value);
+    QString mcnDisplay();
+    void setMcnDisplay(QString value);
+    QString activeLineDisplay();
+    void setActiveLineDisplay(QString value);
+    QString satDisplay();
+    void setSatDisplay(QString value);
+    QString spnDisplay();
+    void setSpnDisplay(QString value);
+    
+protected:
+    void mousePressEvent(QGraphicsSceneMouseEvent *event);
+    void mouseReleaseEvent(QGraphicsSceneMouseEvent *event); 
+    void mouseMoveEvent(QGraphicsSceneMouseEvent *event); 
+    void changeEvent(QEvent *event);
+    void timerEvent(QTimerEvent *event);
+    
+    void updateInfoDisplay();
+    bool readPersistentPreferences();
+    void initializeCheckBoxStates(); 
+    bool installTranslator(QString translationFile); 
+    void removeTranslators(); 
+     
+private: 
+    void updateItemsVisibility();
+    void layoutInfoDisplay(); 
+    void updateInfoDisplayItem(
+            InfoWidgetLayoutManager::LayoutItemRole itemRole, 
+            QString text); 
+    void layoutSettingsDialog();
+    void initializeSettingsDialogItems();
+    void startChanges(); 
+    void endChanges(); 
+
+public slots: 
+    // Slots for Homescreen FW callbacks
+    void onInitialize();
+    void onUninitialize();
+    void onShow();
+    void onHide();
+
+    // Info widget specific slots 
+    void readModel(); 
+    void handleModelError(int operation,int errorCode);  
+    void spnDisplaySettingChanged(int state);
+    void mcnDisplaySettingChanged(int state);
+    void satDisplaySettingChanged(int state);
+
+    void settingsEditingFinished();
+    void settingsEditingCancelled();
+    void settingsValidationFailed(); 
+    void settingsDialogClosed(HbAction* action); 
+    
+    bool startMarquees();
+    void stopMarquees(); 
+    void marqueeNext(); 
+    
+signals: 
+    void setPreferences(const QStringList &names);
+
+private:
+    Q_DISABLE_COPY(InfoWidget)
+    
+    // Engine for widget, owned
+    QScopedPointer<InfoWidgetEngine> m_engine;
+    
+    // Widget preference store, owned   
+    QScopedPointer<InfoWidgetPreferences> m_preferences;
+
+    // Layout manager for widget, owned 
+    QScopedPointer<InfoWidgetLayoutManager> m_layoutManager;
+    
+    // Translators, owned
+    QList<QTranslator *> m_translators;
+
+    // Current widget layout, not owned 
+    QGraphicsLinearLayout *m_layout;
+    
+    // Currently animating item(s), not owned 
+    HbMarqueeItem *m_animatingItem; 
+    QList<HbMarqueeItem *> m_animatingItems; 
+    
+    // Background frame drawer, not owned
+    HbFrameItem *m_backgroundFrameItem;
+    
+    // Id of active timer 
+    int m_timerId; 
+    
+    // Flags 
+    bool m_layoutChanging;
+    bool m_dragEvent; 
+    bool m_initialized;
+
+};
+
+
+#endif // INFOWIDGET_H
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/infowidget/inc/infowidgetengine.h	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,121 @@
+/*
+ * 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 INFOWIDGETENGINE_H_
+#define INFOWIDGETENGINE_H_
+
+#include <QObject>
+#include <QString>
+#include "infowidgetpreferences.h"
+
+// Forward declarations 
+class InfoWidgetNetworkHandler;
+class InfoWidgetSatHandler;
+class InfoWidgetLineHandler;
+
+// Class declaration
+class InfoWidgetEngine : public QObject 
+    {
+    Q_OBJECT
+    
+public:     
+    
+    enum HandlerEntity {
+        NotDefined = 0, 
+        NetworkHandler, 
+        SatHandler, 
+        LineHandler
+    };
+    
+    class ModelData {    
+    public: 
+        int mcnIndicatorType() const { return m_mcnIndicatorType; }; 
+        void setMcnIndicatorType(const int type){ m_mcnIndicatorType = type; };
+        
+        int homeZoneIndicatorType() const { return m_homeZoneIndicatorType; }; 
+        void setHomeZoneIndicatorType(const int type){ m_homeZoneIndicatorType = type; };
+
+        int activeLine() const { return m_activeLine; }; 
+        void setActiveLine(const int line){ m_activeLine = line; };
+
+        const QString& mcnName() const { return m_mcnName; };
+        void setMcnName(const QString& name){ m_mcnName = name; };
+
+        const QString& serviceProviderName() const { return m_serviceProviderName; };
+        void setServiceProviderName(const QString& name){ m_serviceProviderName = name; };
+        
+        bool serviceProviderNameDisplayRequired() const { 
+            return m_serviceProviderNameDisplayRequired; };
+        void setServiceProviderNameDisplayRequired(bool required){ 
+            m_serviceProviderNameDisplayRequired = required; };
+        
+        const QString& homeZoneTextTag() const { return m_homeZoneTextTag; };
+        void setHomeZoneTextTag(const QString& tag){ m_homeZoneTextTag = tag; };
+
+        const QString& satDisplayText() const { return m_satDisplayText; };
+        void setSatDisplayText(const QString& text){ m_satDisplayText = text; };
+        
+    private: 
+        int m_mcnIndicatorType; 
+        int m_homeZoneIndicatorType;
+        int m_activeLine; 
+        bool m_serviceProviderNameDisplayRequired; 
+        
+        QString m_mcnName;
+        QString m_serviceProviderName;
+        QString m_homeZoneTextTag;
+        QString m_satDisplayText;
+    }; 
+    
+public:
+    InfoWidgetEngine(QObject *parent = NULL);
+    ~InfoWidgetEngine();
+    
+    const InfoWidgetEngine::ModelData &modelData() const;  
+    
+signals:
+    void modelError(int operation, int errorCode);
+    void modelChanged(); 
+    
+public slots: 
+    void updateNetworkDataToModel();
+    void updateSatDataToModel();
+    void updateLineDataToModel();
+
+    void handleNetworkError(
+            int operation, 
+            int errorCode); 
+    void handleSatError(int operation, int errorCode); 
+    void handleLineError(int operation, int errorCode);
+    
+    void suspend(); 
+    void resume();
+    
+    void handlePreferencesChanged(
+            InfoWidgetPreferences::Options options);
+    
+private: 
+    ModelData m_modelData;
+    
+    // Own
+    QScopedPointer<InfoWidgetNetworkHandler> m_networkHandler;
+    QScopedPointer<InfoWidgetSatHandler> m_satHandler;
+    }; 
+
+#endif /* INFOWIDGETENGINE_H_ */
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/infowidget/inc/infowidgetlayoutmanager.h	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,143 @@
+/*
+ * 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 INFOWIDGETLAYOUTMANAGER_H
+#define INFOWIDGETLAYOUTMANAGER_H
+
+#include <QObject>
+#include <QList>
+#include <QSizeF>
+#include <QRectF>
+#include <QString>
+#include <QFont>
+#include <QMap>
+#include <hbdocumentloader.h>
+
+class QGraphicsLayout; 
+class QGraphicsWidget;
+class HbLabel;
+class HbIconItem;
+class HbPushButton;
+class HbMarqueeItem;
+class HbCheckBox; 
+
+// Class declaration
+class InfoWidgetDocumentLoader : public HbDocumentLoader
+{
+public:
+    virtual QObject *createObject(const QString& type,
+                                  const QString &name);
+};
+
+// Class declaration
+class InfoWidgetLayoutManager : public QObject
+{
+    Q_OBJECT
+    
+public: 
+    
+    enum LayoutItemRole {
+        RoleUndefined = 0,
+        // Content widget, the main widget from document 
+        RoleContent,
+        // Marquee items
+        RoleSpnMarqueeItem,
+        RoleMcnMarqueeItem,
+        RoleSatMarqueeItem,
+        // Icons
+        RoleSpnIcon, 
+        RoleMcnIcon, 
+        RoleSatTextIcon, 
+        // Check boxes 
+        RoleSpnCheckBox,
+        RoleMcnCheckBox, 
+        RoleSatTextCheckBox,
+        // Dialogs
+        RoleSettingsDialog,         
+        // Actions
+        RoleOkAction,
+        RoleCancelAction,
+        // List widgets 
+        RoleSettingsList,
+        // Layout containers
+        RoleContainer, 
+        RoleSettingsContainer, 
+        // Must be the last enumeration,
+        RoleLastEnum
+        }; 
+    
+    enum DisplayRole {
+        InfoDisplay,
+        SettingsDialog
+        }; 
+    
+    InfoWidgetLayoutManager(QObject *parent = 0);
+    ~InfoWidgetLayoutManager();
+    
+    DisplayRole currentDisplayRole(); 
+    QList<LayoutItemRole> currentWidgetRoles(); 
+    
+    QGraphicsLayout* layoutInfoDisplay();
+    QGraphicsLayout* layoutSettingsDialog();
+    
+    const QList<InfoWidgetLayoutManager::LayoutItemRole> widgetRoles(
+            DisplayRole displayRole) const; 
+
+    bool loadWidgets(const DisplayRole displayRole, 
+            const QList<LayoutItemRole> &displayWidgets,
+            QMap<LayoutItemRole, QGraphicsWidget *> &widgetMap);
+    bool reloadWidgets(const DisplayRole displayRole);
+    
+    QGraphicsWidget* loadWidget(InfoWidgetDocumentLoader &loader, 
+            DisplayRole displayRole, 
+            LayoutItemRole widgetRole);
+    QGraphicsWidget* getWidget(LayoutItemRole itemRole);
+
+    QObject* loadObject(InfoWidgetDocumentLoader &loader, 
+            DisplayRole displayRole, 
+            LayoutItemRole objectRole);
+    QObject* getObject(LayoutItemRole itemRole);
+    
+    QGraphicsWidget* contentWidget();
+    QList<HbMarqueeItem *> marqueeItems(); 
+    
+    void removeWidget(LayoutItemRole itemRole, 
+            bool deleteLater = false);
+    void destroyWidgets();
+    
+    int layoutRows() const; 
+    void setLayoutRows(int rows);
+    
+    qreal layoutRowHeight();
+    bool textFitsToRect(QString text, QFont font, QRectF rect) const;  
+    
+private:
+    QMap<LayoutItemRole, QGraphicsWidget *> m_widgets;
+    QMap<LayoutItemRole, QGraphicsWidget *> m_infoDisplayWidgets; 
+    QMap<LayoutItemRole, QGraphicsWidget *> m_settingsDialogWidgets;
+    QMap<LayoutItemRole, QObject *> m_objects;
+
+    InfoWidgetDocumentLoader *m_documentLoader;
+    DisplayRole m_displayRole; 
+    int m_layoutRows;
+    qreal m_cachedLayoutRowHeight; 
+    
+};
+
+
+#endif // INFOWIDGETLAYOUTMANAGER_H
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/infowidget/inc/infowidgetlinehandler.h	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,45 @@
+/*
+ * 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 INFOWIDGETLINEHANDLER_H_
+#define INFOWIDGETLINEHANDLER_H_
+
+#include <QObject>
+
+// Class declaration
+class InfoWidgetLineHandler: public QObject 
+    {
+    Q_OBJECT
+    
+public:    
+    InfoWidgetLineHandler(QObject *parent = NULL);
+    ~InfoWidgetLineHandler();    
+
+    int activeLine() const; 
+    
+signals: 
+    void handleMessage(int message);
+    void handleError(int operation, int errorCode);
+    
+private: 
+    int m_activeLine;
+    
+    }; 
+
+#endif /* INFOWIDGETLINEHANDLER_H_ */
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/infowidget/inc/infowidgetnetworkhandler.h	Thu Jul 22 16:33:21 2010 +0100
@@ -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:  
+ *
+ */
+
+#ifndef INFOWIDGETNETWORKHANDLER_H_
+#define INFOWIDGETNETWORKHANDLER_H_
+
+#include <QObject>
+#include <nwhandlingengine.h>
+#include <cnwsession.h> 
+
+// Class declaration
+class InfoWidgetNetworkHandler : public QObject, public MNWMessageObserver 
+    {
+    Q_OBJECT
+    
+public:
+    InfoWidgetNetworkHandler(QObject *parent = NULL);
+    ~InfoWidgetNetworkHandler();    
+
+    bool createSession(); 
+    
+    QString serviceProviderName() const;
+    bool serviceProviderNameDisplayRequired() const; 
+    QString homeZoneTextTag() const; 
+    int homeZoneIndicatorType() const; 
+    QString mcnName() const; 
+    int mcnIndicatorType() const; 
+    int networkRegistrationStatus() const;  
+    bool isOnline() const;
+
+public: // From MNWMessageObserver
+    void HandleNetworkMessage(const TNWMessages aMessage);
+    void HandleNetworkError(const TNWOperation aOperation, TInt aErrorCode);
+
+public slots: 
+    void suspend(); 
+    void resume();
+    void enableMcn(); 
+    void disableMcn(); 
+    
+protected:     
+    void writeMcnDisplayState(bool enabled);
+    bool readMcnDisplayState(); 
+    
+signals: 
+    void networkDataChanged();
+    void networkError(int operation, int errorCode);
+    
+private:
+    TNWInfo m_nwInfo;
+    QScopedPointer<CNWSession> m_nwSession;
+    }; 
+
+#endif /* INFOWIDGETNETWORKHANDLER_H_ */
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/infowidget/inc/infowidgetpreferences.h	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,78 @@
+/*
+ * 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 INFOWIDGETPREFERENCES_H
+#define INFOWIDGETPREFERENCES_H
+
+#include <QObject>
+#include <QStringList>
+#include <QFlags>
+
+// Preference string values
+const char DISPLAY_SETTING_ON[]    = "On";
+const char DISPLAY_SETTING_OFF[]     = "Off";
+
+// Class declaration
+class InfoWidgetPreferences : public QObject
+{
+    Q_OBJECT
+
+public: 
+    enum DisplaySetting {
+        DisplayOff = 0, 
+        DisplayOn    
+    }; 
+    
+    enum Option {
+        DisplayHomeZone = 0x1,
+        DisplayMcn = 0x2,
+        DisplayActiveLine = 0x4, 
+        DisplaySatText = 0x8,
+        DisplaySpn = 0x10
+    };
+    Q_DECLARE_FLAGS(Options, Option)
+
+public:
+    InfoWidgetPreferences(QObject *parent = NULL);
+    ~InfoWidgetPreferences();
+
+    bool storePreferences();
+    void restorePreferences();
+    QStringList preferenceNames();
+            
+    bool isPreferenceSet(Option preferenceId) const;
+    QString preference(Option preferenceId) const;
+    InfoWidgetPreferences::Options preferences() const;
+    void setPreference(Option preferenceId, const QString &preferenceString);
+     
+    bool validate(); 
+    int visibleItemCount();
+
+signals:
+    void preferencesChanged(InfoWidgetPreferences::Options options);  
+		
+private:
+    Q_DISABLE_COPY(InfoWidgetPreferences)
+
+    InfoWidgetPreferences::Options m_options; 
+    InfoWidgetPreferences::Options m_validatedOptions;
+};
+
+Q_DECLARE_OPERATORS_FOR_FLAGS(InfoWidgetPreferences::Options)
+
+#endif // INFOWIDGETPREFERENCES_H
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/infowidget/inc/infowidgetsathandler.h	Thu Jul 22 16:33:21 2010 +0100
@@ -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:  
+ *
+ */
+
+#ifndef INFOWIDGETSATHANDLER_H_
+#define INFOWIDGETSATHANDLER_H_
+
+#include <QObject>
+#include <QScopedPointer>
+#include <rsatservice.h>
+#include "infowidgetsathandler_p.h"
+
+// Class declaration
+class InfoWidgetSatHandler: public QObject
+    {
+    Q_OBJECT
+    
+public:    
+    InfoWidgetSatHandler(QObject *parent = NULL);
+    ~InfoWidgetSatHandler();    
+    
+    void connect(bool connect);
+    
+    const QString& satDisplayText() const; 
+    void setSatDisplayText(const QString& displayText);
+
+    void handleIdleModeTxtMessage(int idleResult);
+    void handleSatError(int operation, int errorCode);
+
+signals: 
+    void handleMessage(int message);
+    void handleError(int operation, int errorCode);
+    
+private: 
+    QScopedPointer<InfoWidgetSatHandlerPrivate> m_satHandlerPrivate;
+    RSatService m_satService;
+    QString m_displayText;
+    
+    bool m_connected;
+    }; 
+
+#endif /* INFOWIDGETSATHANDLER_H_ */
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/infowidget/inc/infowidgetsathandler_p.h	Thu Jul 22 16:33:21 2010 +0100
@@ -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 <rsatservice.h>
+#include <rsatsession.h>
+#include <QString>
+
+// 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_
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/infowidget/src/infowidget.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,1025 @@
+/*
+ * 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 "infowidget.h"
+#include <hbiconitem.h>
+#include <hbmarqueeitem.h>
+#include <hbfontspec.h>
+#include <hbaction.h>
+#include <hbcheckbox.h>
+#include <hbevent.h>
+#include <hbcolorscheme.h>
+#include <hbdialog.h>
+#include <hbmessagebox.h>
+#include <hbframedrawer.h>
+#include <hbframeitem.h>
+#include <QPainter>
+#include <QPainterPath>
+#include <QBrush>
+#include <QGraphicsLinearLayout>
+#include <QApplication>
+#include <QLocale>
+#include <QTranslator>
+#include <QScopedPointer>
+#include "infowidgetlogging.h"
+#include "infowidgetengine.h"
+#include "infowidgetlayoutmanager.h"
+#include "infowidgetpreferences.h"
+
+/*!
+  \class InfoWidget
+  \brief Operator info widget main class. 
+
+   Implements HomeScreen specific slots and 
+   graphical representation of the 
+   Operator Info widget. 
+
+   Derived from HbWidget.
+    
+*/
+
+// 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"; 
+
+/*!
+    Constructor.  
+*/
+InfoWidget::InfoWidget(QGraphicsItem* parent, Qt::WindowFlags flags)
+    : HbWidget(parent, flags),
+    m_animationState(AnimationIdle), 
+    m_engine(NULL), 
+    m_preferences(NULL),
+    m_layoutManager(NULL),
+    m_layout(NULL),
+    m_backgroundFrameItem(NULL),
+    m_timerId(0),
+    m_layoutChanging(false),
+    m_dragEvent(false), 
+    m_initialized(false)
+{
+    INSTALL_TRACE_MSG_HANDLER; 
+    DPRINT;
+    
+    // Localization file loading
+    installTranslator(TS_FILE_OPERATOR_WIDGET);
+    installTranslator(TS_FILE_COMMON);
+
+    // Create layout & child-widget manager 
+    m_layoutManager.reset(new InfoWidgetLayoutManager);
+    
+    // Create widget engine 
+    m_engine.reset(new InfoWidgetEngine);
+    
+    // Create preference store and start listening signal(s) 
+    m_preferences.reset(new InfoWidgetPreferences);
+    QObject::connect(m_preferences.data(), 
+            SIGNAL(preferencesChanged(InfoWidgetPreferences::Options)),
+                m_engine.data(), 
+            SLOT(handlePreferencesChanged(
+                InfoWidgetPreferences::Options)));
+
+    // Setup widget main layout 
+    m_layout = new QGraphicsLinearLayout;    
+    m_layout->setSpacing(0); 
+    m_layout->setContentsMargins(0,0,0,0); 
+    setLayout(m_layout);
+  
+    // Create and set background frame drawer
+    QScopedPointer<HbFrameDrawer> backgroundFrameDrawer(
+            new HbFrameDrawer(
+                    BACKGROUND_FRAME_NAME, 
+                    HbFrameDrawer::NinePieces));
+    Q_ASSERT(!backgroundFrameDrawer.isNull()); 
+    
+    // Set widget initial size
+    resize(INFOWIDGET_DEFAULT_WIDTH,
+           INFOWIDGET_DEFAULT_HEIGHT); 
+
+    // Ownership of frame drawer is 
+    // transferred for frame item
+    m_backgroundFrameItem = new HbFrameItem(
+            backgroundFrameDrawer.take(), this);  
+    
+    setBackgroundItem(m_backgroundFrameItem); 
+}
+
+/*!
+    Destructor.  
+*/
+InfoWidget::~InfoWidget()
+{
+    DPRINT;
+    // Force layout manager to delete widgets 
+    // before InfoWidget is destroyed   
+    m_layoutManager->destroyWidgets(); 
+    
+    // Remove and delete language translators 
+    removeTranslators(); 
+    UNINSTALL_TRACE_MSG_HANDLER;
+}
+
+/*!
+    Called by HS framework, saved preference data
+    is available when onInitialize() is called and 
+    meta-object data reading should be done here.       
+*/
+void InfoWidget::onInitialize()
+{
+    DPRINT; 
+    m_initialized = true; 
+    // Initialize preferences from meta-object data
+    if (!readPersistentPreferences()) {
+
+        // Reading failed, initialize default values  
+        m_preferences->setPreference(InfoWidgetPreferences::DisplaySpn, 
+                DISPLAY_SETTING_ON);
+        m_preferences->setPreference(InfoWidgetPreferences::DisplayMcn, 
+                DISPLAY_SETTING_ON);
+        m_preferences->setPreference(InfoWidgetPreferences::DisplaySatText, 
+                DISPLAY_SETTING_ON);
+    } 
+    m_preferences->storePreferences(); 
+    
+    // Layout components 
+    layoutInfoDisplay();
+    
+    // Update background frame size  
+    m_backgroundFrameItem->resize(size());
+    
+    // Listen for model changes 
+    QObject::connect(m_engine.data(), SIGNAL(modelChanged()), 
+            this, SLOT(readModel()), Qt::UniqueConnection); 
+}
+
+/*!
+    This slot is called by HomeScreen framework 
+    when the widget is uninstalled.    
+*/
+void InfoWidget::onUninitialize()
+{
+    DPRINT;
+    stopMarquees();
+    m_initialized = false; 
+    m_engine->suspend();
+}
+
+/*!
+    This slot is called by HomeScreen framework 
+    when the widget visibility is gained.    
+*/
+void InfoWidget::onShow()
+{
+    DPRINT;
+    if (m_initialized) { 
+        m_engine->resume();
+        updateInfoDisplay(); 
+    }
+}
+
+/*!
+    This slot is called by HomeScreen framework 
+    when the widget visibility is lost.    
+*/
+void InfoWidget::onHide()
+{
+    DPRINT;
+    if (m_initialized) { 
+        m_engine->suspend();
+        stopMarquees(); 
+    }
+}
+
+/*!
+    Handles timer events.  
+*/
+void InfoWidget::timerEvent(QTimerEvent *event)
+{
+    Q_UNUSED(event); 
+    
+    if (m_animationState == AnimationStarting) {
+        // Execute delayed start of marquee animation 
+        if (m_animatingItem) {
+            m_animationState = AnimationOngoing;
+            m_animatingItem->startAnimation(); 
+        } 
+    }
+    
+    if (m_timerId) {
+        killTimer(m_timerId);
+        m_timerId = 0;
+    }
+}
+
+/*!
+    Install widget translator for given translation file.  
+*/
+bool InfoWidget::installTranslator(QString translationFile)
+{
+    DPRINT;
+    QString lang = QLocale::system().name();
+    QString path = "z:/resource/qt/translations/";
+    bool translatorLoaded(false);  
+    
+    QScopedPointer<QTranslator> widgetTranslator; 
+    widgetTranslator.reset(new QTranslator);
+    translatorLoaded = widgetTranslator->load(
+            path + translationFile + "_" + lang);
+    if (translatorLoaded) {
+        qApp->installTranslator(widgetTranslator.data());
+        m_translators.append(widgetTranslator.take()); 
+        DPRINT << ": translator installed: " << translationFile; 
+    }
+    return translatorLoaded;
+}
+
+/*!
+    Remove translators. No need to call 
+    QApplication::removeTranslator, 
+    QTranslator object removes itself before deletion.  
+*/
+void InfoWidget::removeTranslators()
+{
+    DPRINT;
+    qDeleteAll(m_translators);
+    m_translators.clear();
+}
+
+/*!
+    Returns bounding rect. 
+*/
+QRectF InfoWidget::boundingRect() const
+{   
+    return rect();
+}
+
+/*!
+    Calculate widget size hint based on visible row count.  
+*/
+QSizeF InfoWidget::sizeHint(Qt::SizeHint which, const QSizeF & constraint) const   
+{
+    Q_UNUSED(which);
+    Q_UNUSED(constraint); 
+    
+    QSizeF requiredSize(
+            INFOWIDGET_DEFAULT_WIDTH,
+            INFOWIDGET_DEFAULT_HEIGHT);
+    
+    if (m_initialized) { 
+        // Read size hint from docml content
+        requiredSize = m_layoutManager->contentWidget()->minimumSize();
+        // Height according number of rows, if 0 or 1 row use minimum size
+        int rowCount = m_preferences->visibleItemCount();
+        if (1 < rowCount) {
+                requiredSize.rheight() += (rowCount-1)*
+                        m_layoutManager->layoutRowHeight();
+        }
+        
+        // Update background frame size 
+        // if widget size is changing
+        if (size() != requiredSize) {
+            m_backgroundFrameItem->resize(requiredSize);
+        }
+    }
+    
+    DPRINT << ": returning size: " << requiredSize;
+    return requiredSize; 
+}
+
+/*!
+    Returns size polizy for the widget.   
+*/
+QSizePolicy InfoWidget::sizePolicy () const 
+{
+    DPRINT;
+    return QSizePolicy(
+            QSizePolicy::Fixed, 
+            QSizePolicy::Fixed); 
+}
+
+/*!
+    Update item visibility based on display preferences.   
+*/
+void InfoWidget::updateItemsVisibility()
+{
+    DPRINT; 
+    int layoutRows = 0; 
+    
+    // Update layout according to item visibility settings
+    if (m_preferences->preference(InfoWidgetPreferences::DisplaySpn).compare(
+            DISPLAY_SETTING_ON) == 0) {
+        layoutRows++;
+    } else {
+        m_layoutManager->removeWidget(InfoWidgetLayoutManager::RoleSpnMarqueeItem); 
+        m_layoutManager->removeWidget(InfoWidgetLayoutManager::RoleSpnIcon); 
+    }
+
+    if (m_preferences->preference(InfoWidgetPreferences::DisplayMcn).compare(
+            DISPLAY_SETTING_ON) == 0) {
+        layoutRows++;
+    } else {
+        m_layoutManager->removeWidget(InfoWidgetLayoutManager::RoleMcnMarqueeItem); 
+        m_layoutManager->removeWidget(InfoWidgetLayoutManager::RoleMcnIcon); 
+    }
+    
+    if (m_preferences->preference(InfoWidgetPreferences::DisplaySatText).compare(
+            DISPLAY_SETTING_ON) == 0) {
+        layoutRows++;
+    } else {
+        m_layoutManager->removeWidget(InfoWidgetLayoutManager::RoleSatMarqueeItem); 
+        m_layoutManager->removeWidget(InfoWidgetLayoutManager::RoleSatTextIcon); 
+    }
+    
+    if (m_animatingItems.count() == 0) {
+        m_animatingItem = NULL; 
+    }
+    
+    m_layoutManager->setLayoutRows(layoutRows);
+}
+
+/*!
+    Layout info display.    
+*/
+void InfoWidget::layoutInfoDisplay()
+{  
+    DPRINT;
+    QGraphicsLayout *infoDisplayLayout = 
+        m_layoutManager->layoutInfoDisplay(); 
+    
+    if (!m_layout->count()) {
+        QGraphicsWidget *contentWidget = 
+                m_layoutManager->contentWidget();
+        if (contentWidget) {
+            // Add content widget to main layout 
+            m_layout->addItem(contentWidget);
+        }
+    }
+    updateItemsVisibility(); 
+    endChanges();
+}
+
+/*!
+    Layout and display settings dialog.    
+*/
+void InfoWidget::layoutSettingsDialog()
+{  
+    DPRINT;
+    startChanges();
+    
+    m_layoutManager->reloadWidgets(InfoWidgetLayoutManager::SettingsDialog); 
+    QGraphicsLayout *settingDialogLayout =
+            m_layoutManager->layoutSettingsDialog(); 
+    
+    if (settingDialogLayout) {
+        HbDialog *settingsDialog = qobject_cast<HbDialog *>(
+                m_layoutManager->getWidget(InfoWidgetLayoutManager::
+                RoleSettingsDialog)); 
+
+        if (settingsDialog) {
+            initializeSettingsDialogItems();
+            settingsDialog->setDismissPolicy(HbDialog::NoDismiss); 
+            settingsDialog->setTimeout(HbDialog::NoTimeout);
+            settingsDialog->open(this, 
+                    SLOT(settingsDialogClosed(HbAction *))); 
+            }
+    }    
+}
+
+/*!
+    Set up initial check box states 
+    and connect signals to local slots.  
+*/
+void InfoWidget::initializeSettingsDialogItems()
+{  
+    DPRINT;
+    // Connect display setting check boxes
+    HbCheckBox *spnCheckBox = 
+            qobject_cast<HbCheckBox *>(m_layoutManager->getWidget(
+                    InfoWidgetLayoutManager::RoleSpnCheckBox));
+    if (spnCheckBox) {
+        spnCheckBox->setChecked(m_preferences->isPreferenceSet(
+                InfoWidgetPreferences::DisplaySpn));
+        
+        QObject::connect(spnCheckBox, SIGNAL(stateChanged(int)), 
+                this, SLOT(spnDisplaySettingChanged(int)), 
+                Qt::UniqueConnection); 
+    }
+    
+    HbCheckBox *mcnCheckBox = 
+            qobject_cast<HbCheckBox *>(m_layoutManager->getWidget(
+                    InfoWidgetLayoutManager::RoleMcnCheckBox));
+    if (mcnCheckBox) {
+        mcnCheckBox->setChecked(m_preferences->isPreferenceSet(
+                InfoWidgetPreferences::DisplayMcn));
+        
+        QObject::connect(mcnCheckBox, SIGNAL(stateChanged(int)), 
+                this, SLOT(mcnDisplaySettingChanged(int)), 
+                Qt::UniqueConnection); 
+    }
+    
+    HbCheckBox *satTextCheckBox = 
+            qobject_cast<HbCheckBox *>(m_layoutManager->getWidget(
+                    InfoWidgetLayoutManager::RoleSatTextCheckBox));
+    if (satTextCheckBox) {
+        satTextCheckBox->setChecked(m_preferences->isPreferenceSet(
+                InfoWidgetPreferences::DisplaySatText));
+        
+        QObject::connect(satTextCheckBox, SIGNAL(stateChanged(int)), 
+                this, SLOT(satDisplaySettingChanged(int)), 
+                Qt::UniqueConnection); 
+    }
+}
+
+/*!
+    Fetch widget based on item role and update 
+    item specific data. 
+*/
+void InfoWidget::updateInfoDisplayItem(
+        InfoWidgetLayoutManager::LayoutItemRole itemRole, 
+        QString text)
+{
+    DPRINT; 
+    HbMarqueeItem *marqueeItem = qobject_cast<HbMarqueeItem *>(
+            m_layoutManager->getWidget(itemRole));
+    
+    if (marqueeItem) {
+        marqueeItem->setText(text);
+        marqueeItem->setTextColor( HbColorScheme::color(
+                "qtc_hs_list_item_title_normal"));
+        
+        // Update widget effective size
+        marqueeItem->adjustSize();
+        if (!m_layoutManager->textFitsToRect(
+                text,
+                marqueeItem->font(), 
+                marqueeItem->rect())) {
+            DPRINT << ": enable marquee animation";
+            m_animatingItems.append(marqueeItem);
+        }
+    }
+}
+
+/*!
+    Model or visibility data has changed, 
+    update info display widgets accordingly. 
+*/
+void InfoWidget::updateInfoDisplay()
+{
+    DPRINT; 
+    if (m_initialized) {
+        stopMarquees();
+        
+        if (m_layoutManager->currentDisplayRole() == 
+                InfoWidgetLayoutManager::InfoDisplay) {
+            
+            InfoWidgetEngine::ModelData modelData = m_engine->modelData(); 
+        
+            // Update service provider name item
+            QString text = modelData.serviceProviderName();
+            updateInfoDisplayItem(
+                    InfoWidgetLayoutManager::RoleSpnMarqueeItem, text); 
+
+            // Update MCN name item
+            text = modelData.mcnName();
+            updateInfoDisplayItem(
+                    InfoWidgetLayoutManager::RoleMcnMarqueeItem, text); 
+            
+            // Update SAT display text item
+            text = modelData.satDisplayText();
+            updateInfoDisplayItem(
+                    InfoWidgetLayoutManager::RoleSatMarqueeItem, text); 
+        }
+        
+        if (m_animatingItems.count() > 0) {
+            startMarquees(); 
+        }
+    }
+}
+
+/*!
+    Read model data. 
+    Model's modelChanged - signal is connected to this slot.  
+*/
+void InfoWidget::readModel()
+{
+    DPRINT; 
+    if (m_layoutManager->currentDisplayRole() == 
+            InfoWidgetLayoutManager::InfoDisplay) { 
+        updateInfoDisplay(); 
+    }
+}
+
+/*!
+    Model error signal is connected to this slot. 
+*/
+void InfoWidget::handleModelError(int operation,int errorCode)
+{
+    DWARNING << ": operation: " << operation << 
+                " error: " << errorCode; 
+}
+
+/*!
+    Mouse press handler. 
+*/
+void InfoWidget::mousePressEvent(QGraphicsSceneMouseEvent *event)
+{
+    Q_UNUSED(event);
+    // Clear flag 
+    m_dragEvent = false; 
+}
+
+/*!
+    Mouse release handler.  
+*/
+void InfoWidget::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
+{
+    Q_UNUSED(event);
+    // If widget wasn't dragged 
+    // layout and open settings dialog
+    if ((!m_dragEvent) && 
+          m_layoutManager->currentDisplayRole() == 
+                  InfoWidgetLayoutManager::InfoDisplay) {
+        DPRINT << ": layout and display settings dialog";
+        layoutSettingsDialog();
+    } 
+    
+    // Clear flag 
+    m_dragEvent = false; 
+}
+
+/*!
+    Mouse move handler.  
+*/
+void InfoWidget::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
+{
+    Q_UNUSED(event);
+    // Mouse is moving 
+    // after mouse press event
+    m_dragEvent = true; 
+}
+
+/*!
+    Slot for handling Spn display setting change.  
+*/
+void InfoWidget::spnDisplaySettingChanged(int state)
+{
+    DPRINT << ": state: " << state;
+    if (state == Qt::Checked){
+        m_preferences->setPreference(
+                InfoWidgetPreferences::DisplaySpn, DISPLAY_SETTING_ON);
+    } else {
+        m_preferences->setPreference(
+                InfoWidgetPreferences::DisplaySpn, DISPLAY_SETTING_OFF);
+    }
+}
+
+/*!
+    Slot for handling Mcn display setting change. 
+*/
+void InfoWidget::mcnDisplaySettingChanged(int state)
+{
+    DPRINT << ": state: " << state; 
+    if (state == Qt::Checked){
+        m_preferences->setPreference(
+                InfoWidgetPreferences::DisplayMcn, DISPLAY_SETTING_ON);
+    } else {
+        m_preferences->setPreference(
+                InfoWidgetPreferences::DisplayMcn, DISPLAY_SETTING_OFF);
+    }
+}
+
+/*!
+    Slot for handling SAT display setting change. 
+*/
+void InfoWidget::satDisplaySettingChanged(int state)
+{
+    DPRINT << ": state: " << state; 
+    if (state == Qt::Checked){
+        m_preferences->setPreference(
+                InfoWidgetPreferences::DisplaySatText, DISPLAY_SETTING_ON);
+    } else {
+        m_preferences->setPreference(
+                InfoWidgetPreferences::DisplaySatText, DISPLAY_SETTING_OFF);
+    }
+}
+
+/*!
+    Getter function for Meta-object property "mcnDisplay"
+*/
+QString InfoWidget::mcnDisplay()
+{
+    DPRINT; 
+    return m_preferences->preference(
+            InfoWidgetPreferences::DisplayMcn); 
+}
+
+/*!
+    Setter function for Meta-object property "mcnDisplay"
+*/
+void InfoWidget::setMcnDisplay(QString value)
+{
+    DPRINT;
+    m_preferences->setPreference(
+            InfoWidgetPreferences::DisplayMcn, value);
+    }
+
+/*!
+    Getter function for Meta-object property "homeZoneDisplay"
+*/
+QString InfoWidget::homeZoneDisplay()
+{
+    DPRINT; 
+    return m_preferences->preference(
+            InfoWidgetPreferences::DisplayHomeZone); 
+}
+
+/*!
+    Setter function for Meta-object property "homeZoneDisplay" 
+*/
+void InfoWidget::setHomeZoneDisplay(QString value)
+{
+    DPRINT; 
+    m_preferences->setPreference(
+            InfoWidgetPreferences::DisplayHomeZone, value);
+}
+
+/*!
+    Getter function for Meta-object property "activeLineDisplay"
+*/
+QString InfoWidget::activeLineDisplay()
+{
+    DPRINT; 
+    return m_preferences->preference(
+            InfoWidgetPreferences::DisplayActiveLine);
+}
+
+/*!
+    Setter function for Meta-object property "activeLineDisplay"
+*/
+void InfoWidget::setActiveLineDisplay(QString value)
+{
+    DPRINT; 
+    m_preferences->setPreference(
+            InfoWidgetPreferences::DisplayActiveLine, value);
+}
+
+/*!
+    InfoWidget::satDisplay()
+    
+    Getter function for Meta-object property "satDisplay" 
+*/
+QString InfoWidget::satDisplay()
+{
+    DPRINT; 
+    return m_preferences->preference(
+            InfoWidgetPreferences::DisplaySatText);
+}
+
+/*!
+    Setter function for Meta-object property "satDisplay" 
+*/
+void InfoWidget::setSatDisplay(QString value)
+{
+    DPRINT;
+    m_preferences->setPreference(
+            InfoWidgetPreferences::DisplaySatText, value);
+}
+
+/*!
+    Getter function for Meta-object property "spnDisplay" 
+*/
+QString InfoWidget::spnDisplay()
+{
+    DPRINT; 
+    return m_preferences->preference(
+            InfoWidgetPreferences::DisplaySpn);
+}
+
+/*!
+    Setter function for Meta-object property "spnDisplay" 
+*/
+void InfoWidget::setSpnDisplay(QString value)
+{
+    DPRINT;
+    m_preferences->setPreference(
+            InfoWidgetPreferences::DisplaySpn, value);
+}
+
+/*!
+    Read Meta-object properties and store to preference handler. 
+    Restores preferences from previous session.   
+*/
+bool InfoWidget::readPersistentPreferences()
+{
+    DPRINT;
+    bool changed(false);
+
+    QString propertyValue = QObject::property("homeZoneDisplay").toString();
+    m_preferences->setPreference(InfoWidgetPreferences::DisplayHomeZone, 
+            propertyValue);
+    
+    propertyValue = QObject::property("mcnDisplay").toString();
+    m_preferences->setPreference(InfoWidgetPreferences::DisplayMcn, 
+            propertyValue);
+    
+    propertyValue = QObject::property("activeLineDisplay").toString();
+    m_preferences->setPreference(InfoWidgetPreferences::DisplayActiveLine, 
+            propertyValue);
+    
+    propertyValue = QObject::property("satDisplay").toString();
+    m_preferences->setPreference(InfoWidgetPreferences::DisplaySatText, 
+            propertyValue);
+
+    propertyValue = QObject::property("spnDisplay").toString();
+    m_preferences->setPreference(InfoWidgetPreferences::DisplaySpn, 
+            propertyValue);
+
+    // Check that at least one item is set visible and  
+    // store preferences if true 
+    if (m_preferences->validate()) {
+        changed = m_preferences->storePreferences(); 
+    } 
+        
+    return changed; 
+}
+
+/*!
+    Read display settings from preference store 
+    and set check box initial states accordingly. 
+*/
+void InfoWidget::initializeCheckBoxStates()
+{
+    DPRINT;
+    HbCheckBox *spnCheckBox = qobject_cast<HbCheckBox *>(m_layoutManager->getWidget(
+            InfoWidgetLayoutManager::RoleSpnCheckBox));
+    if (spnCheckBox) {
+        spnCheckBox->setChecked(m_preferences->isPreferenceSet(
+                InfoWidgetPreferences::DisplaySpn));
+    }
+    
+    HbCheckBox *mcnCheckBox = qobject_cast<HbCheckBox *>(m_layoutManager->getWidget(
+            InfoWidgetLayoutManager::RoleMcnCheckBox));
+    if (mcnCheckBox) {
+        mcnCheckBox->setChecked(m_preferences->isPreferenceSet(
+                InfoWidgetPreferences::DisplayMcn));
+    }
+    
+    HbCheckBox *satTextCheckBox = qobject_cast<HbCheckBox *>(m_layoutManager->getWidget(
+            InfoWidgetLayoutManager::RoleSatTextCheckBox));
+    if (satTextCheckBox) {
+        satTextCheckBox->setChecked(m_preferences->isPreferenceSet(
+                InfoWidgetPreferences::DisplaySatText));
+    }
+}
+
+/*!
+    Handles settings validating and storing
+    when the settings dialog is closed with Ok action.   
+*/
+void InfoWidget::settingsEditingFinished()
+{
+    DPRINT;
+     
+    if (m_preferences->validate()) {
+
+        // Signal HS framework to store Meta-object 
+        // preferences if preferences have changed. 
+        if (m_preferences->storePreferences()) {
+            emit setPreferences(
+                    m_preferences->preferenceNames());
+            }
+        
+        // Visible item configuration changed, reload 
+        // widgets. Restores deleted items.  
+        m_layoutManager->reloadWidgets(
+                InfoWidgetLayoutManager::InfoDisplay);
+        m_layoutManager->removeWidget(
+                InfoWidgetLayoutManager::RoleSettingsDialog,
+                true);
+        
+    } else {
+        // Cancel edit mode 
+        settingsEditingCancelled();
+        
+        // Display warning note
+        settingsValidationFailed();
+    }
+}
+
+/*!
+    Slot to be called when settings editing 
+    shouldn't cause change set of visible items. 
+    Restores previous state.  
+*/
+void InfoWidget::settingsEditingCancelled()
+{
+    DPRINT;
+    m_preferences->restorePreferences(); 
+    
+    m_layoutManager->reloadWidgets(
+            InfoWidgetLayoutManager::InfoDisplay);
+    m_layoutManager->removeWidget(
+            InfoWidgetLayoutManager::RoleSettingsDialog,
+            true); 
+}
+
+/*!
+    Slot to be called when settings dialog is about to close. 
+*/
+void InfoWidget::settingsDialogClosed(HbAction* action)
+{
+    DPRINT;
+    if (action) {
+        if (action->text() == hbTrId("txt_common_button_ok")) {
+            settingsEditingFinished(); 
+        } else if (action->text() == hbTrId("txt_common_button_cancel")) {
+            settingsEditingCancelled(); 
+        }       
+    } else {
+        settingsEditingCancelled(); 
+    }
+     
+    // Switch to info display 
+    layoutInfoDisplay();
+}
+
+/*!
+    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(); 
+    }
+}
+
+/*!
+    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;
+}
+
+/*!
+   \reimp
+*/
+void InfoWidget::changeEvent(QEvent *event)
+{
+   DPRINT;
+   if (event->type() == HbEvent::ThemeChanged) {
+       DPRINT << ": HbEvent::ThemeChanged";
+       updateInfoDisplay(); 
+   }
+   HbWidget::changeEvent(event);
+}
+
+/*!
+   Slot to be called when preference validation has failed. 
+*/
+void InfoWidget::settingsValidationFailed()
+{
+   DPRINT;
+   if (m_initialized) {
+       HbMessageBox::warning(
+               hbTrId("txt_operatorwidget_info_select_one"));
+   }
+}
+
+/*!
+   Start marquee animations. 
+   First find existing marquee items and 
+   enable marquee sequence. 
+*/
+bool InfoWidget::startMarquees()
+{  
+    DPRINT;
+    bool started(true); 
+    
+    if (m_animationState == AnimationOngoing || 
+        m_animationState == AnimationStarting) {
+        return false; 
+        }
+      
+    int animatingItemsCount = m_animatingItems.count();  
+    if (animatingItemsCount > 0) {
+        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();
+        m_animationState = AnimationStarting;
+        m_timerId = startTimer(INFOWIDGET_MARQUEE_START_DELAY);
+    } else {
+        DPRINT << ": not started, no animating items";
+        m_animatingItem = NULL; 
+        started = false;
+    }
+    return started; 
+}
+
+/*!
+   Stop all marquee animations and reset 
+   animation state. 
+*/
+void InfoWidget::stopMarquees()
+{  
+    DPRINT;
+    if (m_animationState != AnimationIdle && 
+        m_animatingItems.count() > 0) {
+        foreach (HbMarqueeItem *marqueeItem, m_animatingItems) {
+            if (marqueeItem) {
+                QObject::disconnect(
+                    marqueeItem, SIGNAL(animationStopped()),
+                    this, SLOT(marqueeNext()));
+                
+                if (marqueeItem->isAnimating()) {
+                    marqueeItem->stopAnimation();
+                }
+            }
+        }
+    }
+    
+    // Stop timer 
+    if (m_timerId) {
+        killTimer(m_timerId); 
+        m_timerId = 0; 
+    }
+    
+    m_animationState = AnimationIdle;
+    m_animatingItems.clear();
+    m_animatingItem = NULL; 
+}
+
+/*!
+   Starts marquee animation for 
+   next item in sequence.  
+*/
+void InfoWidget::marqueeNext()
+{  
+    DPRINT;
+    if (m_animationState == AnimationOngoing) {
+        QListIterator<HbMarqueeItem *> i(m_animatingItems);
+        if (i.findNext(m_animatingItem)) {
+            if (i.hasNext()) {
+                m_animatingItem = i.peekNext();
+            } else {
+                // Was last item, loop back to first item
+                i.toFront();
+                m_animatingItem = i.peekNext();  
+            }
+        } else {
+            DWARNING << ": animating item not found from list"; 
+            m_animatingItem = NULL; 
+        }
+          
+        if (m_animatingItem) {
+            if (!m_animatingItem->isAnimating()) {
+                m_animatingItem->setLoopCount(1); 
+                m_animatingItem->startAnimation();
+            }
+        }
+    }
+}
+
+// End of File. 
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/infowidget/src/infowidgetengine.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,220 @@
+/*
+ * 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 <networkhandlingproxy.h>
+#include "infowidgetengine.h"
+#include "infowidgetnetworkhandler.h"
+#include "infowidgetsathandler.h"
+#include "infowidgetlogging.h"
+#include "infowidgetpreferences.h"
+
+/*!
+  \class InfoWidgetEngine
+  \brief Engine functionality of 
+         Operator info widget
+*/
+
+
+/*!
+   InfoWidgetEngine::InfoWidgetEngine
+ */
+InfoWidgetEngine::InfoWidgetEngine(QObject *parent): 
+    QObject(parent),
+    m_networkHandler(new InfoWidgetNetworkHandler),
+    m_satHandler(new InfoWidgetSatHandler)
+{
+    DPRINT << ": IN";
+    
+    // Connect network handler signals 
+    QObject::connect(
+        m_networkHandler.data(), SIGNAL(networkError(int, int)),
+        this, SLOT(handleNetworkError(int, int))); 
+    QObject::connect(
+        m_networkHandler.data(), SIGNAL(networkDataChanged()),
+        this, SLOT(updateNetworkDataToModel()));
+
+    // Connect SAT handler signals 
+    QObject::connect(m_satHandler.data(), 
+            SIGNAL(handleError(int, int)),
+                this, SLOT(handleSatError(int, int))); 
+    QObject::connect(m_satHandler.data(), 
+            SIGNAL(handleMessage(int)),
+                this, SLOT(updateSatDataToModel())); 
+
+    // Update initial model data
+    updateNetworkDataToModel();
+    updateSatDataToModel();
+    
+    DPRINT << ": OUT";
+}
+
+/*!
+   InfoWidgetEngine::~InfoWidgetEngine
+ */
+InfoWidgetEngine::~InfoWidgetEngine()
+{
+    DPRINT;
+}    
+
+/*!
+   InfoWidgetEngine::modelData
+   
+   Getter for model data. 
+ */
+const InfoWidgetEngine::ModelData& InfoWidgetEngine::modelData() const
+{
+    DPRINT;
+    return m_modelData; 
+}
+
+/*!
+   InfoWidgetEngine::updateNetworkDataToModel
+   
+   Updates Network Handler's network data to model. 
+ */
+void InfoWidgetEngine::updateNetworkDataToModel()
+{
+    if (m_networkHandler->isOnline()) {
+        DPRINT << ": online, update data";
+        m_modelData.setServiceProviderName(
+                m_networkHandler->serviceProviderName());
+
+        m_modelData.setServiceProviderNameDisplayRequired(
+                m_networkHandler->serviceProviderNameDisplayRequired());
+    
+        m_modelData.setMcnName(m_networkHandler->mcnName()); 
+        m_modelData.setMcnIndicatorType(
+                m_networkHandler->mcnIndicatorType());
+        
+        m_modelData.setHomeZoneIndicatorType(
+            m_networkHandler->homeZoneIndicatorType());
+        m_modelData.setHomeZoneTextTag(
+                m_networkHandler->homeZoneTextTag());
+    } else {
+        DPRINT << ": offline, clear data";
+        m_modelData.setServiceProviderName("");
+        m_modelData.setMcnName("");
+        m_modelData.setHomeZoneTextTag(""); 
+    }
+        
+    emit modelChanged();
+    
+    DPRINT << ": OUT";
+}
+
+/*!
+   InfoWidgetEngine::updateSatDataToModel
+   
+   Updates SAT handler's SAT data to model.
+ */
+void InfoWidgetEngine::updateSatDataToModel()
+{
+    DPRINT;
+    if (m_satHandler) {
+        m_modelData.setSatDisplayText(
+                m_satHandler->satDisplayText());
+        
+        emit modelChanged(); 
+    } 
+}
+
+/*!
+   InfoWidgetEngine::updateLineDataToModel
+ */
+void InfoWidgetEngine::updateLineDataToModel()
+{
+    DPRINT;
+}
+
+/*!
+   InfoWidgetEngine::handleNetworkError
+ */
+void InfoWidgetEngine::handleNetworkError(
+        int operation, int errorCode)
+{
+    DWARNING << ": operation: " << operation << 
+            " error code: " << errorCode; 
+}
+
+/*!
+   InfoWidgetEngine::handleSatError
+ */
+void InfoWidgetEngine::handleSatError(
+        int operation, int errorCode)
+{
+    DWARNING << ": operation: " << operation << 
+            " error code: " << errorCode; 
+}
+
+/*!
+   InfoWidgetEngine::handleLineError
+ */
+void InfoWidgetEngine::handleLineError(
+        int operation, int errorCode)
+{
+    DWARNING << ": operation: " << 
+            operation << " error code: " << errorCode; 
+}
+
+/*!
+   InfoWidgetEngine::handlePreferencesChanged
+ */
+void InfoWidgetEngine::handlePreferencesChanged(
+        InfoWidgetPreferences::Options options)
+{
+    DPRINT; 
+    if (options.testFlag(InfoWidgetPreferences::DisplayMcn)){
+            m_networkHandler->enableMcn(); 
+        } else {
+            m_networkHandler->disableMcn();
+        }
+
+    if (options.testFlag(InfoWidgetPreferences::DisplaySatText)){
+            m_satHandler->connect(true);
+        } else {
+            m_satHandler->connect(false);
+        }
+}
+
+/*!
+   InfoWidgetEngine::suspend
+   
+   Called when widget is deactivated 
+   and widget should suspend all 
+   possible activities 
+ */
+void InfoWidgetEngine::suspend() 
+{
+    DPRINT;
+    m_networkHandler->suspend(); 
+}
+
+/*!
+   InfoWidgetEngine::preferenceChanged
+   
+   Called when widget is activated 
+   and widget can resume activities
+ */
+void InfoWidgetEngine::resume()
+{
+    DPRINT;
+    m_networkHandler->resume(); 
+}
+
+
+// End of File. 
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/infowidget/src/infowidgetengine_s.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,133 @@
+/*
+ * 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 "infowidgetengine.h"
+#include "infowidgetlogging.h"
+
+/*!
+  Stubbed class implementation for testing  
+  Widget on windows/other environment.  
+*/
+
+
+/*!
+   InfoWidgetEngine::InfoWidgetEngine
+ */
+InfoWidgetEngine::InfoWidgetEngine(QObject *parent): 
+    QObject(parent),
+    m_networkHandler(NULL),
+    m_satHandler(NULL)
+{
+    DPRINT << ": STUBBED";
+}
+
+/*!
+   InfoWidgetEngine::~InfoWidgetEngine
+ */
+InfoWidgetEngine::~InfoWidgetEngine()
+{
+    DPRINT << ": STUBBED";
+}    
+
+/*!
+   InfoWidgetEngine::modelData
+ */
+const InfoWidgetEngine::ModelData& InfoWidgetEngine::modelData() const
+{
+    DPRINT << ": STUBBED";
+    return m_modelData; 
+}
+
+/*!
+   InfoWidgetEngine::updateNetworkDataToModel() 
+ */
+void InfoWidgetEngine::updateNetworkDataToModel()
+{
+    DPRINT << ": STUBBED"; 
+}
+
+/*!
+   InfoWidgetEngine::updateSatDataToModel
+ */
+void InfoWidgetEngine::updateSatDataToModel()
+{
+    DPRINT << ": STUBBED";
+}
+
+/*!
+   InfoWidgetEngine::updateLineDataToModel
+ */
+void InfoWidgetEngine::updateLineDataToModel()
+{
+    DPRINT << ": STUBBED";
+}
+
+/*!
+   InfoWidgetEngine::handleNetworkError
+ */
+void InfoWidgetEngine::handleNetworkError(
+        int operation, int errorCode)
+{
+    DPRINT << ": STUBBED"; 
+}
+
+/*!
+   InfoWidgetEngine::handleSatError
+ */
+void InfoWidgetEngine::handleSatError(
+        int operation, int errorCode)
+{
+    DPRINT << ": STUBBED"; 
+}
+
+/*!
+   InfoWidgetEngine::handleLineError
+ */
+void InfoWidgetEngine::handleLineError(
+        int operation, int errorCode)
+{
+    DPRINT << ": STUBBED"; 
+}
+
+/*!
+   InfoWidgetEngine::handlePreferencesChanged
+ */
+void InfoWidgetEngine::handlePreferencesChanged(
+        InfoWidgetPreferences::Options options)
+{
+    DPRINT << ": STUBBED";
+}
+
+/*!
+   InfoWidgetEngine::suspend
+ */
+void InfoWidgetEngine::suspend() 
+{
+    DPRINT << ": STUBBED";
+}
+
+/*!
+   InfoWidgetEngine::preferenceChanged
+ */
+void InfoWidgetEngine::resume()
+{
+    DPRINT << ": STUBBED"; 
+}
+
+
+// End of File. 
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/infowidget/src/infowidgetlayoutmanager.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,565 @@
+/*
+ * 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 <QtGlobal>
+#include <QObject>
+#include <QGraphicsWidget>
+#include <hbdocumentloader.h>
+#include <hblabel.h>
+#include <hbaction.h>
+#include <hbmarqueeitem.h>
+#include <hbiconitem.h> 
+#include <hbpushbutton.h>
+#include <hbinstance.h>
+#include "infowidgetlayoutmanager.h"
+#include "infowidgetlogging.h"
+
+/*!
+  \class InfoWidgetDocumentLoader
+  \brief Custom document loader for Operator info widget  
+
+   Derived from HbDocumentLoader.
+    
+*/
+
+/*!
+  \class InfoWidgetLayoutManager
+  \brief Layout manager class for Operator info widget.   
+
+   Handles layout document loading and accessing the loaded 
+   widgets.   
+    
+*/
+
+// Local constants 
+const char INFOWIDGET_DOCML_FILE[] = ":/resource/infowidget.docml";
+const char SETTINGS_DIALOG_DOCML_FILE[] = ":/resource/settingsdialog.docml";
+
+const char LAYOUT_PREFIX_INFO_DISPLAY[] = "id:";
+const char LAYOUT_PREFIX_SETTINGS_DIALOG[] = "sd:";
+const char LAYOUT_NAME_CONTENT[] = "content";
+const char LAYOUT_NAME_MCNMARQUEEITEM[] = "mcnMarqueeItem";
+const char LAYOUT_NAME_SPNMARQUEEITEM[] = "spnMarqueeItem";
+const char LAYOUT_NAME_SATMARQUEEITEM[] = "satMarqueeItem";
+const char LAYOUT_NAME_SPNICON[] = "spnIcon";
+const char LAYOUT_NAME_MCNICON[] = "mcnIcon";
+const char LAYOUT_NAME_SATTEXTICON[] = "satTextIcon";
+const char LAYOUT_NAME_SPNCHECKBOX[] = "spnCheckBox";
+const char LAYOUT_NAME_MCNCHECKBOX[] = "mcnCheckBox";
+const char LAYOUT_NAME_SATTEXTCHECKBOX[] = "satTextCheckBox";
+const char LAYOUT_NAME_OKACTION[] = "okAction";
+const char LAYOUT_NAME_CANCELACTION[] = "cancelAction";
+const char LAYOUT_NAME_SETTINGSDIALOG[] = "settingsDialog"; 
+const char LAYOUT_NAME_SETTINGSCONTAINER[] = "settingsContainer";
+const char LAYOUT_NAME_CONTAINER[] = "container";
+
+/*!
+  Create object from document. 
+ */
+QObject *InfoWidgetDocumentLoader::createObject(
+    const QString &type,
+    const QString &name)
+{
+    DPRINT;
+    if ( type == HbMarqueeItem::staticMetaObject.className() ) {
+        QObject *object = new HbMarqueeItem;
+        object->setObjectName(name);
+        return object;
+    }
+    return HbDocumentLoader::createObject(type, name);
+}
+
+/*!
+   Constructor. 
+*/
+InfoWidgetLayoutManager::InfoWidgetLayoutManager(QObject *parent) 
+: QObject(parent), 
+  m_documentLoader(NULL), 
+  m_displayRole(InfoDisplay),
+  m_layoutRows(0),
+  m_cachedLayoutRowHeight(0.0)
+{
+    DPRINT; 
+    // Fill supported layout item roles for info display
+    QList<LayoutItemRole> displayWidgetRoles = widgetRoles(InfoDisplay);
+    
+    // Try to load all widgets in list by widget role 
+    bool loadResult = loadWidgets(InfoDisplay, 
+            displayWidgetRoles,
+            m_infoDisplayWidgets); 
+    
+    // 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); 
+}
+
+/*!
+   Destructor. 
+*/
+InfoWidgetLayoutManager::~InfoWidgetLayoutManager()
+{
+    DPRINT;
+    if (m_documentLoader) { 
+        delete m_documentLoader;
+    }
+}
+
+/*!
+   Destroy all widgets. 
+   Deletes parent widgets of each display 
+   causing deletion of child items. 
+*/
+void InfoWidgetLayoutManager::destroyWidgets()
+{
+    DPRINT;
+    // Destroy parent items 
+    removeWidget(RoleContent); 
+    removeWidget(RoleSettingsDialog); 
+}
+
+/*!
+   InfoWidgetLayoutManager::currentDisplayRole()
+*/
+InfoWidgetLayoutManager::DisplayRole InfoWidgetLayoutManager::currentDisplayRole() 
+{
+    DPRINT; 
+    return m_displayRole;
+} 
+
+/*!
+   InfoWidgetLayoutManager::currentWidgetRoles()
+*/
+QList<InfoWidgetLayoutManager::LayoutItemRole> InfoWidgetLayoutManager::currentWidgetRoles() 
+{
+    DPRINT; 
+    return m_widgets.keys(); 
+} 
+
+/*!
+   Returns count of layout rows. 
+*/
+int InfoWidgetLayoutManager::layoutRows() const 
+{
+    DPRINT; 
+    return m_layoutRows;
+} 
+
+/*!
+   Set count of layout rows.  
+*/
+void InfoWidgetLayoutManager::setLayoutRows(int rows) 
+{
+    DPRINT; 
+    m_layoutRows = rows; 
+} 
+
+/*!
+   Read row height from style. 
+*/
+qreal InfoWidgetLayoutManager::layoutRowHeight()
+{
+    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!!";
+        }
+    }
+    return m_cachedLayoutRowHeight;
+}
+
+/*!
+   Check if text fits to given rect width.  
+*/
+bool InfoWidgetLayoutManager::textFitsToRect(QString text, 
+        QFont font, QRectF rect) const 
+{
+    bool fits(true);
+    if (!rect.isEmpty()) { 
+        QFontMetricsF metrics(font);
+        qreal width = metrics.boundingRect(text).width();
+        if (width > rect.width() ) {
+            fits = false; 
+        }
+    }
+    return fits; 
+}
+
+/*!
+   Returns content widget.  
+   The content widget is layout main widget and parent for 
+   sub-widgets in current display.     
+*/
+QGraphicsWidget* InfoWidgetLayoutManager::contentWidget()
+{
+    DPRINT; 
+    return getWidget(RoleContent); 
+}
+
+/*!
+   Returns list of marquee items.  
+*/
+QList<HbMarqueeItem *> InfoWidgetLayoutManager::marqueeItems() 
+{
+    DPRINT;
+    QList<HbMarqueeItem *> items;
+    
+    QList<LayoutItemRole> marqueeItemRoles; 
+    marqueeItemRoles.append(RoleSpnMarqueeItem);
+    marqueeItemRoles.append(RoleMcnMarqueeItem);
+    marqueeItemRoles.append(RoleSatMarqueeItem);
+    
+    foreach (LayoutItemRole role, marqueeItemRoles) {
+        QGraphicsWidget *widget = getWidget(role); 
+        if (widget) {
+            HbMarqueeItem *item = 
+                    qobject_cast<HbMarqueeItem*>(widget); 
+            if (item) {
+                items.append(item); 
+                item = NULL; 
+            }
+        }
+    }
+    return items; 
+}
+
+/*!
+   Get widget with given item role. 
+*/
+QGraphicsWidget* InfoWidgetLayoutManager::getWidget(LayoutItemRole itemRole)
+{
+    QGraphicsWidget *widget = m_widgets.value(itemRole); 
+    return widget; 
+}
+
+/*!
+   Get object with given item role. 
+*/
+QObject* InfoWidgetLayoutManager::getObject(LayoutItemRole itemRole)
+{
+    QObject *object = m_objects.value(itemRole); 
+    return object; 
+}
+
+/*!
+   Remove widget with given item role. 
+*/
+void InfoWidgetLayoutManager::removeWidget(LayoutItemRole itemRole, 
+        bool deleteLater)
+{
+    DPRINT;
+    QGraphicsWidget *widget = m_widgets.value(itemRole); 
+    if (widget) {
+        if (!deleteLater) {
+            delete widget;
+        } else {
+            widget->deleteLater(); 
+        }
+    }
+    
+    m_widgets.remove(itemRole);
+    m_infoDisplayWidgets.remove(itemRole);
+    m_settingsDialogWidgets.remove(itemRole);
+}
+
+/*!
+    Returns info display layout.  
+*/
+QGraphicsLayout* InfoWidgetLayoutManager::layoutInfoDisplay()
+{   
+    DPRINT;
+    m_displayRole = InfoDisplay;
+    m_widgets = m_infoDisplayWidgets; 
+           
+    QGraphicsLayout *activeLayout(NULL); 
+    QGraphicsWidget *content = getWidget(RoleContent); 
+    if (content) {
+        DPRINT << ": content found, getting layout";
+        activeLayout = content->layout(); 
+    }
+    return activeLayout; 
+}
+
+/*!
+    Returns settings dialog layout. 
+*/
+QGraphicsLayout* InfoWidgetLayoutManager::layoutSettingsDialog()
+{   
+    DPRINT;
+    m_displayRole = SettingsDialog;
+    m_widgets = m_settingsDialogWidgets; 
+    
+    QGraphicsLayout *activeLayout(NULL); 
+    QGraphicsWidget *dialog = getWidget(RoleSettingsDialog); 
+    if (dialog) {
+        activeLayout = dialog->layout(); 
+
+        HbAction *okAction = qobject_cast<HbAction *>(
+                getObject(RoleOkAction));
+        if (okAction) {
+            dialog->addAction(okAction); 
+        }
+        
+        HbAction *cancelAction = qobject_cast<HbAction *>(
+                getObject(RoleCancelAction));
+        if (cancelAction) {
+            dialog->addAction(cancelAction);
+        }
+    }
+    return activeLayout;    
+}
+
+/*!
+    Load widgets from document for given display role.
+*/
+bool InfoWidgetLayoutManager::loadWidgets(const DisplayRole displayRole, 
+        const QList<LayoutItemRole> &displayWidgets,
+        QMap<LayoutItemRole, QGraphicsWidget *> &widgetMap)
+{
+    DPRINT;
+    bool loadResult(true); 
+
+    // Cleanup previously loaded content in case of any data  
+    widgetMap.clear(); 
+    
+    if (!m_documentLoader) {
+        m_documentLoader = new InfoWidgetDocumentLoader;
+    }
+    Q_ASSERT(m_documentLoader); 
+    
+    bool loaded = true;
+    if (displayRole != SettingsDialog) {
+        m_documentLoader->load(INFOWIDGET_DOCML_FILE, &loaded);
+    } else {
+        m_documentLoader->load(SETTINGS_DIALOG_DOCML_FILE, &loaded);
+    }
+    
+    Q_ASSERT_X(loaded, 
+            "InfoWidgetLayoutManager", 
+            "Invalid docml file");    
+    
+    
+    foreach (LayoutItemRole role, displayWidgets) {
+        QGraphicsWidget *widget = 
+                loadWidget(*m_documentLoader, displayRole, role);
+           if (widget) {
+               widgetMap.insert(role, widget);
+               widget = NULL;
+           } 
+    }
+    
+    if (widgetMap.count() == displayWidgets.count()) {
+        loadResult = true;
+        } else {
+            DWARNING << ": all widgets were not loaded!";
+            loadResult = false;
+        }        
+
+    m_objects.clear();
+    if (displayRole == SettingsDialog) {
+        QObject *okAction = 
+                loadObject(*m_documentLoader, 
+                        displayRole, 
+                        RoleOkAction);
+                m_objects.insert(RoleOkAction, okAction); 
+        QObject *cancelAction = 
+                loadObject(*m_documentLoader, 
+                        displayRole, 
+                        RoleCancelAction); 
+                m_objects.insert(RoleCancelAction, cancelAction); 
+    } 
+
+    return loadResult; 
+}
+
+/*!
+    Restores widgets from layout document. 
+    Called when layout items have been deleted  
+    and items should be shown again. 
+*/
+bool InfoWidgetLayoutManager::reloadWidgets(const DisplayRole displayRole)
+{
+    QList<LayoutItemRole> displayWidgetRoles = widgetRoles(displayRole); 
+    bool loadResult(false); 
+    
+    switch (displayRole) {
+        case InfoDisplay:
+            loadResult = loadWidgets(displayRole, 
+                        displayWidgetRoles,
+                        m_infoDisplayWidgets); 
+            break; 
+        case SettingsDialog:  
+            loadResult = loadWidgets(displayRole, 
+                        displayWidgetRoles,
+                        m_settingsDialogWidgets); 
+            break;
+        default: 
+            break; 
+    }
+    return loadResult; 
+}
+
+/*!
+    Loads widget by given widget role id.
+*/
+QGraphicsWidget* InfoWidgetLayoutManager::loadWidget(InfoWidgetDocumentLoader &loader, 
+        DisplayRole displayRole, 
+        LayoutItemRole widgetRole)
+{
+    DPRINT;
+    QString widgetPrefix; 
+    if (displayRole == InfoDisplay) {
+        widgetPrefix = LAYOUT_PREFIX_INFO_DISPLAY;
+    } else if (displayRole == SettingsDialog) {
+        widgetPrefix = LAYOUT_PREFIX_SETTINGS_DIALOG;
+    }
+        
+    QString widgetName = widgetPrefix;
+    switch (widgetRole) 
+        {
+        case RoleContent: 
+            widgetName.append(LAYOUT_NAME_CONTENT);
+        break;     
+        case RoleMcnMarqueeItem: 
+            widgetName.append(LAYOUT_NAME_MCNMARQUEEITEM);
+        break; 
+        case RoleSpnMarqueeItem: 
+            widgetName.append(LAYOUT_NAME_SPNMARQUEEITEM);
+        break;
+        case RoleSatMarqueeItem: 
+            widgetName.append(LAYOUT_NAME_SATMARQUEEITEM);
+        break; 
+        case RoleSpnIcon: 
+            widgetName.append(LAYOUT_NAME_SPNICON);
+        break; 
+        case RoleMcnIcon: 
+            widgetName.append(LAYOUT_NAME_MCNICON);
+        break; 
+        case RoleSatTextIcon: 
+            widgetName.append(LAYOUT_NAME_SATTEXTICON);
+        break;
+        case RoleSpnCheckBox: 
+            widgetName.append(LAYOUT_NAME_SPNCHECKBOX);
+        break; 
+        case RoleMcnCheckBox: 
+            widgetName.append(LAYOUT_NAME_MCNCHECKBOX);
+        break; 
+        case RoleSatTextCheckBox: 
+            widgetName.append(LAYOUT_NAME_SATTEXTCHECKBOX);
+        break; 
+        case RoleSettingsDialog: 
+            widgetName.append(LAYOUT_NAME_SETTINGSDIALOG);
+        break;
+        case RoleContainer: 
+            widgetName.append(LAYOUT_NAME_CONTAINER);
+        break;        
+        case RoleSettingsContainer: 
+            widgetName.append(LAYOUT_NAME_SETTINGSCONTAINER);
+        break; 
+        
+        case RoleUndefined: // Fall through 
+        default: 
+            break; 
+        }
+    
+    QGraphicsWidget *widget = qobject_cast<QGraphicsWidget *>(
+            loader.findWidget(widgetName));
+    return widget; 
+}
+
+/*!
+    Loads object by given object role id. 
+*/
+QObject* InfoWidgetLayoutManager::loadObject(InfoWidgetDocumentLoader &loader, 
+        DisplayRole displayRole, 
+        LayoutItemRole objectRole)
+{
+    DPRINT;
+    QString objectPrefix; 
+    if (displayRole == InfoDisplay) {
+        objectPrefix = LAYOUT_PREFIX_INFO_DISPLAY;
+    } else if (displayRole == SettingsDialog) {
+        objectPrefix = LAYOUT_PREFIX_SETTINGS_DIALOG;
+    }
+        
+    QString objectName = objectPrefix;
+    switch (objectRole) 
+        {
+        case RoleOkAction: 
+            objectName.append(LAYOUT_NAME_OKACTION);
+        break;
+        case RoleCancelAction: 
+            objectName.append(LAYOUT_NAME_CANCELACTION);
+        break;
+
+        case RoleUndefined: // Fall through 
+        default: 
+            break; 
+        }
+
+    QObject *object = qobject_cast<QObject *>(loader.findObject(objectName));
+    if (!object) {
+        DWARNING << ": ERROR, object not found!";
+    }
+           
+    return object; 
+}
+
+/*!
+    Returns supported widget roles for specific display.
+*/
+const QList<InfoWidgetLayoutManager::LayoutItemRole> InfoWidgetLayoutManager::widgetRoles(
+        DisplayRole displayRole) const
+{
+    QList<LayoutItemRole> widgetRoles; 
+    switch (displayRole) {
+        case InfoDisplay: 
+            // Fill supported layout item roles for info display
+            widgetRoles.append(RoleContent);
+            widgetRoles.append(RoleSpnIcon);
+            widgetRoles.append(RoleSpnMarqueeItem);
+            widgetRoles.append(RoleMcnIcon);
+            widgetRoles.append(RoleMcnMarqueeItem);
+            widgetRoles.append(RoleSatTextIcon);
+            widgetRoles.append(RoleSatMarqueeItem);
+            break;
+        case SettingsDialog: 
+            // Fill supported layout item roles for settings display
+            widgetRoles.append(RoleSettingsDialog);
+            widgetRoles.append(RoleSettingsContainer);
+            widgetRoles.append(RoleSpnCheckBox);
+            widgetRoles.append(RoleMcnCheckBox);
+            widgetRoles.append(RoleSatTextCheckBox);
+            break;
+            
+        default: 
+            break; 
+    }
+    
+    return widgetRoles; 
+}    
+    
+// End of File. 
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/infowidget/src/infowidgetlinehandler.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,49 @@
+/*
+ * 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 "infowidgetlinehandler.h"
+#include "infowidgetlogging.h"
+
+
+/*! 
+ */
+InfoWidgetLineHandler::InfoWidgetLineHandler(QObject *parent):
+    QObject(parent), 
+    m_activeLine(1)
+{
+    DPRINT; 
+}
+
+/*!
+ */
+InfoWidgetLineHandler::~InfoWidgetLineHandler()
+{
+    DPRINT; 
+}    
+
+/*!
+ */
+int InfoWidgetLineHandler::activeLine() const
+{
+    DPRINT << ": active line: " << m_activeLine;
+    return m_activeLine; 
+}
+    
+
+// End of File. 
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/infowidget/src/infowidgetnetworkhandler.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,339 @@
+/*
+ * 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 <networkhandlingproxy.h>
+#include <cnwsession.h>
+#include <xqsettingsmanager.h>
+#include <xqsettingskey.h>
+#include <settingsinternalcrkeys.h>
+#include "infowidgetnetworkhandler.h"
+#include "infowidgetlogging.h"
+
+/*!
+  \class InfoWidgetNetworkHandler
+  \brief Handles network specific functionality of 
+         Operator info widget
+*/
+
+// Local constants 
+const int KMcnValueOff = 0;  
+const int KMcnValueOn = 1; 
+
+/*!
+    InfoWidgetNetworkHandler::InfoWidgetNetworkHandler()
+*/
+InfoWidgetNetworkHandler::InfoWidgetNetworkHandler(QObject *parent) 
+    :QObject(parent), 
+    m_nwSession(NULL) 
+{
+    DPRINT;
+    if (!createSession()) {
+        DCRITICAL << ": session creation failed!"; 
+    } 
+}
+
+/*!
+    InfoWidgetNetworkHandler::~InfoWidgetNetworkHandler()
+*/
+InfoWidgetNetworkHandler::~InfoWidgetNetworkHandler()
+{
+    DPRINT;
+    // Disable MCN setting, 
+    // display client is being deleted 
+    disableMcn(); 
+}    
+
+/*!
+    InfoWidgetNetworkHandler::createSession()
+*/
+bool InfoWidgetNetworkHandler::createSession()
+{
+    DPRINT;
+    bool success(false);
+    if (!m_nwSession) {
+        try {
+            QT_TRAP_THROWING(m_nwSession.reset(
+                    CreateL(*this, m_nwInfo)));
+        } catch (const std::exception& ex) {
+            DCRITICAL << ": exception " << ex.what(); 
+        }
+        
+        if (!m_nwSession.isNull()) {
+            DPRINT << ": session created"; 
+            success = true;
+        }
+    } else {
+        DWARNING << ": session already created!"; 
+    }
+    
+    return success; 
+}
+
+/*!
+    InfoWidgetNetworkHandler::suspend()
+*/
+void InfoWidgetNetworkHandler::suspend()
+{
+    DPRINT;
+}
+
+/*!
+    InfoWidgetNetworkHandler::resume()
+*/
+void InfoWidgetNetworkHandler::resume()
+{
+    DPRINT;
+}
+
+/*!
+    InfoWidgetNetworkHandler::serviceProviderName()
+*/
+QString InfoWidgetNetworkHandler::serviceProviderName() const 
+{
+    QString qBuf;
+    qBuf = QString((QChar*)m_nwInfo.iSPName.Ptr(), 
+        m_nwInfo.iSPName.Length());
+    DPRINT << ": serviceProviderName: " << qBuf;
+    
+    return qBuf; 
+}
+
+/*!
+    InfoWidgetNetworkHandler::serviceProviderNameDisplayRequired()
+*/
+bool InfoWidgetNetworkHandler::serviceProviderNameDisplayRequired() const 
+{
+    bool displayRequired(true); 
+    if (m_nwInfo.iServiceProviderNameDisplayReq == 
+            RMobilePhone::KDisplaySPNNotRequired) {
+        displayRequired = false; 
+    } 
+    return displayRequired; 
+}
+
+/*!
+    InfoWidgetNetworkHandler::homeZoneTextTag()
+*/
+QString InfoWidgetNetworkHandler::homeZoneTextTag() const 
+{
+    QString qBuf;
+    qBuf = QString((QChar*)m_nwInfo.iViagTextTag.Ptr(), 
+        m_nwInfo.iViagTextTag.Length());
+    return qBuf; 
+}
+
+/*!
+    InfoWidgetNetworkHandler::homeZoneIndicatorType()
+*/
+int InfoWidgetNetworkHandler::homeZoneIndicatorType() const 
+{
+    int indicatorType = m_nwInfo.iViagIndicatorType;
+    return indicatorType; 
+}
+
+/*!
+    InfoWidgetNetworkHandler::enableMcn()
+*/
+void InfoWidgetNetworkHandler::enableMcn() 
+{
+    DPRINT;
+    if (!readMcnDisplayState()) {
+        DPRINT << ": enabling mcn display cenrep";
+        writeMcnDisplayState(true); 
+    }
+}
+
+/*!
+    InfoWidgetNetworkHandler::disableMcn()
+*/
+void InfoWidgetNetworkHandler::disableMcn()
+{
+    DPRINT;
+    if (readMcnDisplayState()) {
+        DPRINT << ": disabling mcn display cenrep";
+        writeMcnDisplayState(false); 
+    }
+}
+
+/*!
+    InfoWidgetNetworkHandler::mcnName()
+*/
+QString InfoWidgetNetworkHandler::mcnName() const 
+{
+    QString qBuf;
+    qBuf = QString((QChar*)m_nwInfo.iMCNName.Ptr(),
+        m_nwInfo.iMCNName.Length());
+    DPRINT << ": mcnName: " << qBuf;
+    return qBuf; 
+}
+
+/*!
+    InfoWidgetNetworkHandler::mcnIndicatorType()
+*/
+int InfoWidgetNetworkHandler::mcnIndicatorType() const 
+{
+    DPRINT << ": mcnIndicatorType: " << m_nwInfo.iMCNIndicatorType;
+    return m_nwInfo.iMCNIndicatorType;  
+}
+
+/*!
+    InfoWidgetNetworkHandler::networkRegistrationStatus()
+*/
+int InfoWidgetNetworkHandler::networkRegistrationStatus() const 
+{
+    DPRINT << ": networkRegistrationStatus: " 
+            << static_cast<int>(m_nwInfo.iRegistrationStatus);
+    return static_cast<int>(m_nwInfo.iRegistrationStatus); 
+}
+
+/*!
+    InfoWidgetNetworkHandler::isOnline()
+    
+    Check if network registration status is registered and 
+    return status accordingly 
+*/
+bool InfoWidgetNetworkHandler::isOnline() const
+{
+    bool online(false); 
+
+    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; 
+}
+
+/*!
+    InfoWidgetNetworkHandler::HandleNetworkMessage()
+    
+    Implementation for MNWMessageObserver callback
+    function 
+*/
+void InfoWidgetNetworkHandler::HandleNetworkMessage( 
+    const TNWMessages aMessage )
+{   
+    DPRINT << ": message: " << aMessage;
+    
+    bool acceptedMessage = false;
+    switch (aMessage) {
+        case ENWMessageCurrentCellInfoMessage: // Fall through 
+        case ENWMessageServiceProviderNameChange: // Fall through
+        case ENWMessageNetworkRegistrationStatusChange: // Fall through
+            acceptedMessage = true;
+            break;
+        default:
+            // not interesting message, filter out
+            DPRINT << ": message filtered out";
+            acceptedMessage = false;
+    }
+    
+    if (acceptedMessage) {
+        int result = 0;
+        QT_TRYCATCH_ERROR(result, emit networkDataChanged());
+        if (0 != result) {
+            DPRINT << ": Exception occured while emitting signal:" << result;
+        }
+    }
+}
+
+/*!
+    InfoWidgetNetworkHandler::HandleNetworkError()
+    
+    Implementation for MNWMessageObserver callback
+    function 
+*/
+void InfoWidgetNetworkHandler::HandleNetworkError( 
+    const TNWOperation aOperation, 
+    TInt aErrorCode )
+{
+    DPRINT << ": operation: " << aOperation <<  
+        " error code: " << aErrorCode;
+    
+    // Reset invalid data  
+    switch (aOperation) {
+        case MNWMessageObserver::ENWGetServiceProviderName:
+            m_nwInfo.iServiceProviderNameDisplayReq = 
+                    RMobilePhone::KDisplaySPNNotRequired;
+            m_nwInfo.iSPName.Zero();
+        break;
+        default: 
+            break; 
+    }
+    
+    // Emit error signal 
+    int result = 0;
+    QT_TRYCATCH_ERROR(result, emit networkError( 
+        static_cast<int>(aOperation), static_cast<int>(aErrorCode)));
+    if (0 != result) {
+        DPRINT << ": Exception occured while emitting signal:" << result;
+    }
+}
+
+/*!
+    InfoWidgetNetworkHandler::writeMcnDisplayState()
+    
+    Handler for cenrep key writing   
+*/
+void InfoWidgetNetworkHandler::writeMcnDisplayState(bool enabled)
+{
+    QScopedPointer<XQSettingsManager> settingsManager(new XQSettingsManager); 
+    XQSettingsKey settingsKey(XQSettingsKey::TargetCentralRepository, 
+        KCRUidNetworkSettings.iUid, KSettingsMcnDisplay);
+    int value; 
+    if (enabled) {
+        value = KMcnValueOn; 
+    } else {
+        value = KMcnValueOff; 
+    }
+
+    bool result = settingsManager->writeItemValue(settingsKey, value);
+    DPRINT << ": write success: " << result << " mcn enabled: " << enabled;
+     
+}
+
+/*!
+    InfoWidgetNetworkHandler::readMcnDisplayState()
+*/
+bool InfoWidgetNetworkHandler::readMcnDisplayState()
+{
+    QScopedPointer<XQSettingsManager> settingsManager(new XQSettingsManager); 
+    XQSettingsKey settingsKey(XQSettingsKey::TargetCentralRepository, 
+        KCRUidNetworkSettings.iUid, KSettingsMcnDisplay); 
+    bool success(false); 
+    int value = settingsManager->readItemValue(
+            settingsKey,
+            XQSettingsManager::TypeInt).toInt(&success);
+
+    bool mcnEnabled(false); 
+    if (success && value == KMcnValueOn) {
+        mcnEnabled = true; 
+    }
+        
+    DPRINT << ": read success: " << success << " mcn enabled: " << mcnEnabled;
+    return mcnEnabled; 
+}
+
+
+// End of File. 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/infowidget/src/infowidgetpreferences.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,184 @@
+/*
+ * 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 "infowidgetpreferences.h"
+#include "infowidgetlogging.h"
+
+/*!
+  \class InfoWidgetPreferences
+  \brief Preference store for widget  
+         display etc. options   
+*/
+
+
+/*!
+    InfoWidgetPreferences::InfoWidgetPreferences() 
+*/
+InfoWidgetPreferences::InfoWidgetPreferences(QObject *parent): 
+    QObject(parent)
+{
+    DPRINT;
+}
+
+/*!
+    InfoWidgetPreferences::~InfoWidgetPreferences() 
+*/
+InfoWidgetPreferences::~InfoWidgetPreferences()
+{
+    DPRINT;
+}
+
+/*!
+    InfoWidgetPreferences::storePreferences()
+    
+    Store acceptable preference set  
+*/
+bool InfoWidgetPreferences::storePreferences()
+{
+    DPRINT;
+    bool changed(false); 
+    
+    if (validate() && 
+        m_validatedOptions != m_options){
+            m_validatedOptions = m_options;
+            changed = true;
+            emit preferencesChanged(m_validatedOptions);
+        }
+    else if (visibleItemCount() <= 0) { 
+        DPRINT << ": invalid options, restoring initial options";
+        restorePreferences();
+    }
+
+    return changed; 
+}
+
+/*!
+    InfoWidgetPreferences::restorePreferences()
+    
+    Restores last acceptable preference set 
+*/
+void InfoWidgetPreferences::restorePreferences()
+{
+    DPRINT;
+    m_options = m_validatedOptions; 
+}
+
+/*!
+    InfoWidgetPreferences::preference() 
+*/
+QString InfoWidgetPreferences::preference(Option preferenceId) const
+{
+    DPRINT << ": preference id: " << static_cast<int>(preferenceId); 
+    
+    QString preferenceString;
+    if (m_options.testFlag(preferenceId)) {
+        preferenceString = DISPLAY_SETTING_ON; 
+    } else {
+        preferenceString = DISPLAY_SETTING_OFF;  
+    } 
+    
+    return preferenceString;
+}
+
+/*!
+    InfoWidgetPreferences::isPreferenceSet()
+*/
+bool InfoWidgetPreferences::isPreferenceSet(Option preferenceId) const
+{
+    DPRINT << ": preference id: " << static_cast<int>(preferenceId); 
+    return m_options.testFlag(preferenceId); 
+}
+
+/*!
+    InfoWidgetPreferences::preferences()
+*/
+InfoWidgetPreferences::Options InfoWidgetPreferences::preferences() const
+{
+    return m_options; 
+}
+
+/*!
+    InfoWidgetPreferences::setPreference() 
+*/
+void InfoWidgetPreferences::setPreference(Option preferenceId, 
+    const QString& preferenceString)
+{
+    DPRINT << ": preference id: " << static_cast<int>(preferenceId);
+    DPRINT << ": preference string: " << preferenceString; 
+    DPRINT << ": initial options: " << m_options;
+    
+    if (preferenceString.compare(DISPLAY_SETTING_ON) == 0) {
+        m_options |= preferenceId; 
+    } else {
+        m_options &= ~preferenceId;
+    }
+    
+    DPRINT << ": modified options: " << m_options;
+}
+
+/*!
+    InfoWidgetPreferences::visibleItemCount() 
+*/
+int InfoWidgetPreferences::visibleItemCount() 
+{
+    DPRINT << ": IN";
+    
+    int visibleItems = 0;
+    if (m_options.testFlag(DisplayHomeZone)){
+        visibleItems++; 
+    }
+    if (m_options.testFlag(DisplayMcn)){
+        visibleItems++; 
+    }
+    if (m_options.testFlag(DisplayActiveLine)){
+        visibleItems++; 
+    }
+    if (m_options.testFlag(DisplaySatText)){
+        visibleItems++; 
+    }
+    if (m_options.testFlag(DisplaySpn)){
+        visibleItems++; 
+    }
+    
+    DPRINT << ": visible item count: " << visibleItems;
+    return visibleItems; 
+}
+
+/*!
+    InfoWidgetPreferences::validate() 
+*/
+bool InfoWidgetPreferences::validate() 
+{
+    return visibleItemCount() > 0; 
+}
+
+/*!
+   InfoWidgetPreferences::preferenceNames()
+   
+   Convenience function for getting all preference names
+*/
+QStringList InfoWidgetPreferences::preferenceNames()
+{
+    QStringList preferenceList; 
+    preferenceList << "spnDisplay" << "homeZoneDisplay" << 
+            "activeLineDisplay" << "satDisplay" << "mcnDisplay";
+    return preferenceList; 
+}
+
+
+// End of File. 
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/infowidget/src/infowidgetpreferences_s.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,100 @@
+/*
+ * 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 "infowidgetpreferences.h"
+#include "infowidgetlogging.h"
+
+/*!
+    InfoWidgetPreferences::InfoWidgetPreferences() 
+*/
+InfoWidgetPreferences::InfoWidgetPreferences(IHsWidgetPreferenceService &preferenceService, 
+    QObject* parent)
+    : QObject(parent)
+{
+    DPRINT << "DUMMY IMPLEMENTATION";
+
+    m_options = InfoWidgetPreferences::DisplayActiveLine|
+            InfoWidgetPreferences::DisplayMcn|
+            InfoWidgetPreferences::DisplaySatText|
+            InfoWidgetPreferences::DisplayHomeZone;
+}
+
+/*!
+    InfoWidgetPreferences::~InfoWidgetPreferences() 
+*/
+InfoWidgetPreferences::~InfoWidgetPreferences()
+{
+    DPRINT << "DUMMY IMPLEMENTATION";
+}
+
+/*!
+    InfoWidgetPreferences::loadPreferences() 
+*/
+void InfoWidgetPreferences::loadPreferences()
+{
+    DPRINT << "DUMMY IMPLEMENTATION";
+}
+
+/*!
+    InfoWidgetPreferences::storePreferences() 
+*/
+void InfoWidgetPreferences::storePreferences()
+{
+    DPRINT << "DUMMY IMPLEMENTATION";
+}
+
+/*!
+    InfoWidgetPreferences::preference() 
+*/
+QString InfoWidgetPreferences::preference(Option preferenceId)
+{
+    DPRINT << "DUMMY IMPLEMENTATION";
+    DPRINT << ": preference id: " << static_cast<int>(preferenceId); 
+    
+    QString preferenceString;
+    if (m_options.testFlag(preferenceId)) {
+        preferenceString = DISPLAY_SETTING_ON; 
+    } else {
+        preferenceString = DISPLAY_SETTING_OFF;  
+    } 
+    
+    return preferenceString; 
+}
+
+/*!
+    InfoWidgetPreferences::setPreference() 
+*/
+void InfoWidgetPreferences::setPreference(Option preferenceId, 
+        QString preferenceString)
+{
+    DPRINT << "DUMMY IMPLEMENTATION";
+    DPRINT << ": preference id: " << static_cast<int>(preferenceId);
+    DPRINT << ": preference string: " << preferenceString; 
+
+    DPRINT << ": initial options: " << m_options;
+    
+    if (preferenceString.compare(DISPLAY_SETTING_ON) == 0) {
+        m_options |= preferenceId; 
+    } else {
+        m_options &= ~preferenceId; 
+    }
+    
+    DPRINT << ": modified options: " << m_options;
+}
+
+// End of File.
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/infowidget/src/infowidgetsathandler.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,122 @@
+/*
+ * 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 "infowidgetsathandler.h"
+#include "infowidgetlogging.h"
+#include <rsatservice.h>
+
+/*!
+  \class InfoWidgetSatHandler
+  \brief Handles SIM Application Toolkit specific functionality of 
+         Operator info widget
+*/
+
+/*!
+   InfoWidgetSatHandler::InfoWidgetSatHandler
+ */
+InfoWidgetSatHandler::InfoWidgetSatHandler(QObject *parent):
+    QObject(parent),
+    m_satHandlerPrivate(NULL), 
+    m_connected(false)
+{
+    DPRINT << ": IN";
+    m_satHandlerPrivate.reset(
+            new InfoWidgetSatHandlerPrivate(this, m_satService));
+    DPRINT << ": OUT";
+}
+
+/*!
+   InfoWidgetSatHandler::~InfoWidgetSatHandler
+ */
+InfoWidgetSatHandler::~InfoWidgetSatHandler()
+{
+    DPRINT; 
+}
+
+/*!
+   InfoWidgetSatHandler::connect
+ */
+void InfoWidgetSatHandler::connect(bool connect)
+{
+    DPRINT; 
+    if (connect && !m_connected) {
+        DPRINT << "connect and startObserving() ";
+        m_connected = m_satHandlerPrivate->connect();
+        if (m_connected) {
+            m_satHandlerPrivate->startObserving();
+        }
+    } else if (!connect && m_connected) {
+        DPRINT << "disconnect and stopObserving() ";
+        m_satHandlerPrivate->disconnect();
+        m_connected = false; 
+    }
+    DPRINT << ": connected = " << m_connected;
+}
+
+/*!
+   InfoWidgetSatHandler::satDisplayText
+ */
+const QString& InfoWidgetSatHandler::satDisplayText() const
+{
+    DPRINT << ": text: " << m_displayText; 
+    return m_displayText;
+}
+
+/*!
+   InfoWidgetSatHandler::setSatDisplayText
+ */
+void InfoWidgetSatHandler::setSatDisplayText(
+        const QString& displayText)
+{
+    DPRINT << ": display text: " << displayText;
+    m_displayText = displayText;
+}
+
+/*!
+   InfoWidgetSatHandler::handleIdleModeTxtMessage
+ */
+void InfoWidgetSatHandler::handleIdleModeTxtMessage(int idleResult)
+{
+    DPRINT << ": handleIdleModeTxtMessage: " << idleResult;
+    if (m_connected) {
+        m_satService.SetIdleModeTextResponse(
+                static_cast<RSatService::TSATIdleResult>(idleResult));
+    } else {
+        m_satService.SetIdleModeTextResponse( 
+                RSatService::ESATIdleCmdBeyondMeCapabilities );
+    }
+ 
+    // Emit the result
+    emit handleMessage(idleResult);
+}
+
+/*!
+   InfoWidgetSatHandler::handleSatError
+ */
+void InfoWidgetSatHandler::handleSatError(
+        int operation, int errorCode)
+{
+    DWARNING << ": satError : operation: " << 
+            operation << ": errorCode: "<<errorCode;
+    m_satService.SetIdleModeTextResponse( 
+            RSatService::ESATIdleMeUnableToProcessCmd);
+    emit handleError(operation, errorCode);
+}
+
+// End of File. 
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/infowidget/src/infowidgetsathandler_p.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,192 @@
+/*
+ * 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 <fbs.h>
+#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. 
+    
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/infowidgetplugin.pri	Thu Jul 22 16:33:21 2010 +0100
@@ -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/infowidgetplugin.h \
+    ./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/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 
+    
+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
+    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)"
+}
--- a/phoneplugins/infowidgetplugin/infowidgetplugin.pro	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneplugins/infowidgetplugin/infowidgetplugin.pro	Thu Jul 22 16:33:21 2010 +0100
@@ -10,14 +10,64 @@
 # Nokia Corporation - initial contribution.
 #
 # Contributors:
-# 
-# Description: Project file for building Phone components
+#
+# Description:
 #
 #
+ 
 
-TEMPLATE = subdirs
-CONFIG += ordered
+TEMPLATE = lib
+CONFIG += plugin hb svg mobility
+MOBILITY = serviceframework
+
+TRANSLATIONS = operator_widget.ts
+
+MOC_DIR = moc
+RCC_DIR = rcc
 
-SUBDIRS = infowidgetprovider infowidgetproviderinstaller
+symbian: {
+LIBS += -lhswidgetmodel \
+    -lxqsettingsmanager \
+    -lnetworkhandling \
+    -lsatclient
+}
+   
+INCLUDEPATH += ./inc \
+    ./infowidget/inc 
+    
+symbian: { 
+    load(data_caging_paths)
+    INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
+    TARGET.UID3 = 0x20029F28
+    TARGET.EPOCALLOWDLLDATA = 1
+    TARGET.CAPABILITY = ALL \
+        -TCB
+    deploy.path = c:
+    
+    DEPLOYMENT += exportheaders  
+        
+    BLD_INF_RULES.prj_exports +=  \
+     "$${LITERAL_HASH}include <platform_paths.hrh>" \
+     "./rom/infowidgetplugin.iby    CORE_APP_LAYER_IBY_EXPORT_PATH(infowidgetplugin.iby)" \
+	 "./rom/infowidgetplugin_resources.iby LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(infowidgetplugin_resources.iby)" 
+}
 
-          
\ No newline at end of file
+RESOURCES = infowidgetplugin.qrc
+
+symbian: PLUGIN_SUBDIR = /private/20022F35/import/widgetregistry/20029F28
+OUTPUT_DIR = ./bin
+SOURCE_DIR = ./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(infowidgetplugin.pri)
+
+exportResources(./resource/*.manifest, $$PLUGIN_SUBDIR)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/infowidgetplugin.qrc	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RCC>
+    <qresource prefix="/">
+        <file>resource/infowidget.docml</file>
+        <file>resource/settingsdialog.docml</file>        
+    </qresource>
+</RCC>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/infowidgetplugin_hw.pkg	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,45 @@
+;
+; 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:
+;
+
+; Language
+&EN
+
+; SIS header: name, uid, version
+#{"infowidgetplugin"},(0x20029F28),1,0,0
+
+; Localised Vendor name
+%{"Vendor"}
+
+; Unique Vendor name
+:"Vendor"
+
+; Manual PKG pre-rules from PRO files
+; Default HW/platform dependencies
+[0x101F7961],0,0,0,{"S60ProductID"}
+[0x102032BE],0,0,0,{"S60ProductID"}
+[0x102752AE],0,0,0,{"S60ProductID"}
+[0x1028315F],0,0,0,{"S60ProductID"}
+
+;UNINSTALL
+"/epoc32/data/z/private/20022F35/import/widgetregistry/20029F28/infowidgetplugin.manifest" - "!:/private/20022F35/import/widgetregistry/20029F28/infowidgetplugin.manifest",FM,"application/hs-widget-uninstall+xml",RR,RW
+
+; DEPLOYMENT
+"/epoc32/release/armv5/urel/infowidgetplugin.dll"    - "c:\sys\bin\infowidgetplugin.dll"
+"/epoc32/data/z/private/20022F35/import/widgetregistry/20029F28/infowidgetplugin.qtplugin"  - "c:/private/20022F35/import/widgetregistry/20029F28/infowidgetplugin.qtplugin"
+"/epoc32/data/z/private/20022F35/import/widgetregistry/20029F28/infowidgetplugin.manifest"  - "c:/private/20022F35/import/widgetregistry/20029F28/infowidgetplugin.manifest"
+
+
+; Manual PKG post-rules from PRO files
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/inc/infowidgetlogging.h	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,71 +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 INFOWIDGETLOGGING_H
-#define INFOWIDGETLOGGING_H
-
-#include <QDebug>
-
-
-/*!
-  Define MSG_OUTPUT_RDEBUG 
-  for enabling RDebug prints in development tracing. 
-  Shouldn't be used in release code.
-  */
-#undef MSG_OUTPUT_RDEBUG
-
-
-#ifdef MSG_OUTPUT_RDEBUG
-#ifdef Q_OS_SYMBIAN
-#include <e32debug.h>
-
-static void infoWidgetMsgOutput(QtMsgType type, const char *msg)
-{
-    switch (type) {
-        
-    case QtDebugMsg:
-        RDebug::Printf("InfoWidget Debug: %s\n", msg);
-        break;
-    case QtWarningMsg:
-        RDebug::Printf("InfoWidget Warning: %s\n", msg);
-        break;
-    case QtCriticalMsg:
-        RDebug::Printf("InfoWidget Critical: %s\n", msg);
-        break;
-    case QtFatalMsg:
-        RDebug::Printf("InfoWidget Fatal: %s\n", msg);
-        abort();
-    }
-}
-
-    #define INSTALL_TRACE_MSG_HANDLER qInstallMsgHandler(infoWidgetMsgOutput)
-    #define UNINSTALL_TRACE_MSG_HANDLER qInstallMsgHandler(0)
-#endif //Q_OS_SYMBIAN
-#else 
-    #define INSTALL_TRACE_MSG_HANDLER 
-    #define UNINSTALL_TRACE_MSG_HANDLER 
-#endif //MSG_OUTPUT_RDEBUG
-
-/*!
-  Debug macros
-  */
-#define DPRINT qDebug() << __PRETTY_FUNCTION__
-#define DWARNING qWarning() << __PRETTY_FUNCTION__
-#define DCRITICAL qCritical() << __PRETTY_FUNCTION__
-
-#endif // INFOWIDGETLOGGING
-
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/inc/infowidgetprovider.h	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +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 INFOWIDGETPROVIDER_H
-#define INFOWIDGETPROVIDER_H
-
-#include <QObject>
-#include <qserviceplugininterface.h>
-
-QTM_USE_NAMESPACE
-
-class InfoWidgetProvider : public QObject, public QServicePluginInterface
-{
-    Q_OBJECT
-    Q_INTERFACES(QtMobility::QServicePluginInterface)
-
-public:
-    QObject *createInstance(const QServiceInterfaceDescriptor &descriptor,
-                            QServiceContext *context,
-                            QAbstractSecuritySession *session);
-
-};
-
-#endif // INFOWIDGETPROVIDER_H
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/infowidget/inc/infowidget.h	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,136 +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 INFOWIDGET_H
-#define INFOWIDGET_H
-
-#include <hbwidget.h>
-#include <QGraphicsSceneMouseEvent>
-#include <QList>
-#include <QFlags>
-#include "infowidgetlayoutmanager.h"
-
-class QLabel;
-class QGraphicsLinearLayout;
-class QTranslator; 
-class HbDialog;
-class HbIconItem; 
-class HbMarqueeItem;
-class HbLabel; 
-class HbCheckBox; 
-class HbPushButton;
-class HbFrameDrawer;
-class InfoWidgetEngine; 
-class InfoWidgetPreferences;
- 
-
-class InfoWidget : public HbWidget
-{
-    Q_OBJECT
-
-public:    
-    InfoWidget(QGraphicsItem *parent = 0, Qt::WindowFlags flags = 0);
-    ~InfoWidget();
-
-public: // From QGraphicsItem.
-    QRectF boundingRect() const;
-    QPainterPath shape() const; 
-    QSizeF sizeHint(Qt::SizeHint which, const QSizeF & constraint) const;  
-    QSizePolicy sizePolicy () const;  
-    
-public: // Property definitions
-    Q_PROPERTY(QString homeZoneDisplay READ homeZoneDisplay WRITE setHomeZoneDisplay)
-    Q_PROPERTY(QString mcnDisplay READ mcnDisplay WRITE setMcnDisplay)
-    Q_PROPERTY(QString activeLineDisplay READ activeLineDisplay WRITE setActiveLineDisplay)
-    Q_PROPERTY(QString satDisplay READ satDisplay WRITE setSatDisplay)
-    Q_PROPERTY(QString spnDisplay READ spnDisplay WRITE setSpnDisplay)
-    QString homeZoneDisplay();
-    void setHomeZoneDisplay(QString value);
-    QString mcnDisplay();
-    void setMcnDisplay(QString value);
-    QString activeLineDisplay();
-    void setActiveLineDisplay(QString value);
-    QString satDisplay();
-    void setSatDisplay(QString value);
-    QString spnDisplay();
-    void setSpnDisplay(QString value);
-    
-protected:
-    void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0); 
-    void mousePressEvent(QGraphicsSceneMouseEvent *event);
-    void mouseReleaseEvent(QGraphicsSceneMouseEvent *event); 
-    void mouseMoveEvent(QGraphicsSceneMouseEvent *event); 
-    
-    void updateInfoDisplay();
-    bool readPersistentPreferences();
-    void initializeCheckBoxStates(); 
-    void changeEvent(QEvent *event);
-    bool installTranslator(QString translationFile); 
-    void removeTranslators(); 
-    
-private: 
-    void updateItemsVisibility();
-    void layoutInfoDisplay(); 
-    void layoutSettingsDisplay(); 
-    void initializeInfoDisplayItems(); 
-    void initializeSettingsDisplayItems();
-    void startChanges(); 
-    void endChanges(); 
-
-public slots: 
-    // Slots from HsWidget
-    void onInitialize();
-    void onUninitialize();
-    void onShow();
-    void onHide();
-
-    // Info widget specific slots 
-    void readModel(); 
-    void handleModelError(int operation,int errorCode);  
-    void spnDisplaySettingChanged(int state);
-    void mcnDisplaySettingChanged(int state);
-    void satDisplaySettingChanged(int state);
-    void settingsEditingFinished();
-    void settingsValidationFailed(); 
-    
-signals: 
-    void setPreferences(const QStringList &names);
-
-private:
-    Q_DISABLE_COPY(InfoWidget)
-    
-    // Engine for widget      
-    InfoWidgetEngine *m_engine;
-    
-    // Widget preference store  
-    InfoWidgetPreferences *m_preferences;
-
-    // Layout manager for widget
-    InfoWidgetLayoutManager *m_layoutManager;
-    
-    QGraphicsLinearLayout *m_layout; 
-    QList<QTranslator *> m_translators;
-    QColor m_backGroundColor; 
-    HbFrameDrawer *m_frameDrawer;
-    bool m_layoutChanging;
-    bool m_dragEvent; 
-    bool m_initialized;
-};
-
-
-#endif // INFOWIDGET_H
-
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/infowidget/inc/infowidgetengine.h	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,118 +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 INFOWIDGETENGINE_H_
-#define INFOWIDGETENGINE_H_
-
-
-#include <QObject>
-#include <QString>
-
-class InfoWidgetNetworkHandler;
-class InfoWidgetSatHandler;
-class InfoWidgetLineHandler;
-
-class InfoWidgetEngine : public QObject 
-    {
-    Q_OBJECT
-    
-public:     
-    
-    enum HandlerEntity {
-        NotDefined = 0, 
-        NetworkHandler, 
-        SatHandler, 
-        LineHandler
-    };
-    
-    class ModelData {    
-    public: 
-        int mcnIndicatorType() const { return m_mcnIndicatorType; }; 
-        void setMcnIndicatorType(const int type){ m_mcnIndicatorType = type; };
-        
-        int homeZoneIndicatorType() const { return m_homeZoneIndicatorType; }; 
-        void setHomeZoneIndicatorType(const int type){ m_homeZoneIndicatorType = type; };
-
-        int activeLine() const { return m_activeLine; }; 
-        void setActiveLine(const int line){ m_activeLine = line; };
-
-        const QString& mcnName() const { return m_mcnName; };
-        void setMcnName(const QString& name){ m_mcnName = name; };
-
-        const QString& serviceProviderName() const { return m_serviceProviderName; };
-        void setServiceProviderName(const QString& name){ m_serviceProviderName = name; };
-        
-        bool serviceProviderNameDisplayRequired() const { 
-            return m_serviceProviderNameDisplayRequired; };
-        void setServiceProviderNameDisplayRequired(bool required){ 
-            m_serviceProviderNameDisplayRequired = required; };
-        
-        const QString& homeZoneTextTag() const { return m_homeZoneTextTag; };
-        void setHomeZoneTextTag(const QString& tag){ m_homeZoneTextTag = tag; };
-
-        const QString& satDisplayText() const { return m_satDisplayText; };
-        void setSatDisplayText(const QString& text){ m_satDisplayText = text; };
-        
-    private: 
-        int m_mcnIndicatorType; 
-        int m_homeZoneIndicatorType;
-        int m_activeLine; 
-        bool m_serviceProviderNameDisplayRequired; 
-        
-        QString m_mcnName;
-        QString m_serviceProviderName;
-        QString m_homeZoneTextTag;
-        QString m_satDisplayText;
-    }; 
-    
-public:
-    InfoWidgetEngine(QObject *parent = 0);
-    ~InfoWidgetEngine();    
-    
-    const InfoWidgetEngine::ModelData &modelData() const;  
-    
-    void logModelData();
-    
-signals:
-    void modelError(int operation, int errorCode);
-    void modelChanged(); 
-    
-public slots: 
-    void updateNetworkDataToModel();
-    void updateSatDataToModel();
-    void updateLineDataToModel();
-
-    void handleNetworkError(int operation, int errorCode); 
-    void handleSatError(int operation, int errorCode); 
-    void handleLineError(int operation, int errorCode);
-    
-    void suspend(); 
-    void resume();
-    
-    void preferenceChanged(int option, int displaySetting);
-    
-private: 
-    ModelData m_modelData;
-    
-    // Own
-    QScopedPointer<InfoWidgetNetworkHandler> m_networkHandler;
-    QScopedPointer<InfoWidgetSatHandler> m_satHandler;
-    }; 
-
-#endif /* INFOWIDGETENGINE_H_ */
-
-
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/infowidget/inc/infowidgetlayoutmanager.h	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,134 +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 INFOWIDGETLAYOUTMANAGER_H
-#define INFOWIDGETLAYOUTMANAGER_H
-
-#include <QObject>
-#include <QList>
-#include <QSizeF>
-#include <QRectF>
-#include <QMap>
-#include <hbdocumentloader.h>
-
-class QGraphicsLayout; 
-class QGraphicsWidget;
-class HbLabel;
-class HbIconItem;
-class HbPushButton;
-class HbMarqueeItem;
-class HbCheckBox; 
-
-/*!
- */
-class InfoWidgetDocumentLoader : public HbDocumentLoader
-{
-public:
-    InfoWidgetDocumentLoader();
-    virtual QObject *createObject(const QString& type,
-                                  const QString &name);
-};
-
-class InfoWidgetLayoutManager : public QObject
-{
-    Q_OBJECT
-    
-public: 
-    
-    enum LayoutItemRole {
-        RoleUndefined = 0,
-        // Content widget, the main widget from document 
-        RoleContent,
-        // Marquee items 
-        RoleMcnMarqueeItem,
-        RoleSatMarqueeItem,
-        // Labels 
-        RoleSpnLabel,
-        RoleMcnLabel, 
-        RoleSatTextLabel,
-        // Icons
-        RoleSpnIcon, 
-        RoleMcnIcon, 
-        RoleSatTextIcon, 
-        // Check boxes 
-        RoleSpnCheckBox,
-        RoleMcnCheckBox, 
-        RoleSatTextCheckBox,
-        // Buttons 
-        RoleOkButton,
-        // Layout containers
-        RoleContainer, 
-        RoleSettingsContainer, 
-        // Must be the last enumeration        
-        RoleLastEnum
-        }; 
-    
-    enum DisplayRole {
-        InfoDisplay,
-        SettingsDisplay
-        }; 
-    
-    InfoWidgetLayoutManager(QObject *parent = 0);
-    ~InfoWidgetLayoutManager();
-    
-    void destroyObjects(); 
-    
-    DisplayRole currentDisplayRole(); 
-    QList<LayoutItemRole> currentWidgetRoles(); 
-    
-    int layoutRows() const; 
-    void setLayoutRows(int rows);
-    qreal rowHeight() const; 
-    
-    QGraphicsLayout* layoutInfoDisplay();
-    QGraphicsLayout* layoutSettingsDisplay(); 
-    
-    const QList<InfoWidgetLayoutManager::LayoutItemRole> widgetRoles(
-            DisplayRole displayRole) const; 
-
-    bool loadWidgets(const DisplayRole displayRole, 
-            const QList<LayoutItemRole> &displayWidgets,
-            QMap<LayoutItemRole, QGraphicsWidget *> &widgetMap);
-    bool reloadWidgets(const DisplayRole displayRole);
-    
-    QGraphicsWidget* loadWidget(InfoWidgetDocumentLoader &loader, 
-            DisplayRole displayRole, 
-            LayoutItemRole widgetRole);
-    
-    QGraphicsWidget* getWidget(LayoutItemRole itemRole);
-    QGraphicsWidget* contentWidget();
-    
-    void removeWidget(LayoutItemRole itemRole);
-    void hideWidget(LayoutItemRole itemRole);
-    void hideAll();
-    void showAll();
-    
-    
-private:
-    QMap<LayoutItemRole, QGraphicsWidget *> m_widgets; 
-    QMap<LayoutItemRole, QGraphicsWidget *> m_infoDisplayWidgets; 
-    QMap<LayoutItemRole, QGraphicsWidget *> m_settingsDisplayWidgets; 
-
-    InfoWidgetDocumentLoader *m_documentLoader;
-    DisplayRole m_displayRole; 
-    int m_layoutRows;
-    
-};
-
-
-#endif // INFOWIDGETLAYOUTMANAGER_H
-
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/infowidget/inc/infowidgetlinehandler.h	Tue Jun 15 14:14:38 2010 +0100
+++ /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:  
- *
- */
-
-#ifndef INFOWIDGETLINEHANDLER_H_
-#define INFOWIDGETLINEHANDLER_H_
-
-
-#include <QObject>
-
-class InfoWidgetLineHandler: public QObject 
-    {
-    Q_OBJECT
-    
-public:    
-    InfoWidgetLineHandler(QObject *parent = NULL);
-    ~InfoWidgetLineHandler();    
-
-    void logCurrentInfo(); 
-
-    int activeLine() const; 
-    void setActiveLine(int line);
-    
-signals: 
-    void handleMessage( int message );
-    void handleError( int operation, int errorCode );
-    
-private: 
-    int m_activeLine; 
-    }; 
-
-#endif /* INFOWIDGETLINEHANDLER_H_ */
-
-
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/infowidget/inc/infowidgetnetworkhandler.h	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,72 +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 INFOWIDGETNETWORKHANDLER_H_
-#define INFOWIDGETNETWORKHANDLER_H_
-
-
-#include <QObject>
-#include <nwhandlingengine.h>
-
-class CNWSession; 
-
-class InfoWidgetNetworkHandler : public QObject, public MNWMessageObserver 
-    {
-    Q_OBJECT
-    
-public:
-    InfoWidgetNetworkHandler(QObject *parent = NULL);
-    ~InfoWidgetNetworkHandler();    
-
-    QString serviceProviderName() const;
-    bool serviceProviderNameDisplayRequired() const; 
-    QString homeZoneTextTag() const; 
-    int homeZoneIndicatorType() const; 
-    QString mcnName() const; 
-    int mcnIndicatorType() const; 
-    int networkRegistrationStatus() const;  
-    bool isOnline() const;
-    
-    void logCurrentInfo(); 
-
-public: // From MNWMessageObserver
-    void HandleNetworkMessage(const TNWMessages aMessage);
-    void HandleNetworkError(const TNWOperation aOperation, TInt aErrorCode);
-
-public slots: 
-    void suspend(); 
-    void resume();
-    
-    void enableMcn(); 
-    void disableMcn(); 
-    
-protected:     
-    void writeMcnDisplayState(bool enabled);
-    bool readMcnDisplayState(); 
-    
-signals: 
-    void networkDataChanged();
-    void networkError(int operation, int errorCode);
-    
-private:
-    TNWInfo m_nwInfo;
-    QScopedPointer<CNWSession> m_nwSession;
-    }; 
-
-#endif /* INFOWIDGETNETWORKHANDLER_H_ */
-
-
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/infowidget/inc/infowidgetpreferences.h	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,77 +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 INFOWIDGETPREFERENCES_H
-#define INFOWIDGETPREFERENCES_H
-
-#include <QObject>
-#include <QStringList>
-#include <QFlags>
-
-// Preference string values
-const char DISPLAY_SETTING_ON[]    = "On";
-const char DISPLAY_SETTING_OFF[]     = "Off";
-
-class InfoWidgetPreferences : public QObject
-{
-    Q_OBJECT
-
-public: 
-    enum DisplaySetting {
-        DisplayOff = 0, 
-        DisplayOn    
-    }; 
-    
-    enum Option {
-        DisplayHomeZone = 0x1,
-        DisplayMcn = 0x2,
-        DisplayActiveLine = 0x4, 
-        DisplaySatText = 0x8,
-        DisplaySpn = 0x10
-    };
-    Q_DECLARE_FLAGS(Options, Option)
-
-public:
-    InfoWidgetPreferences(QObject *parent = NULL);
-    ~InfoWidgetPreferences();
-
-    bool storePreferences();
-    void restorePreferences();
-    QStringList preferenceNames();
-            
-    bool isPreferenceSet(Option preferenceId) const;
-    QString preference(Option preferenceId) const;
-    InfoWidgetPreferences::Options preferences() const;
-    void setPreference(Option preferenceId, const QString &preferenceString);
-     
-    bool validate(); 
-    int visibleItemCount();
-
-signals:
-    void prefChanged(int option,int displaySetting);
-		
-private:
-    Q_DISABLE_COPY(InfoWidgetPreferences)
-
-    InfoWidgetPreferences::Options m_options; 
-    InfoWidgetPreferences::Options m_validatedOptions;
-};
-
-Q_DECLARE_OPERATORS_FOR_FLAGS(InfoWidgetPreferences::Options)
-
-#endif // INFOWIDGETPREFERENCES_H
-
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/infowidget/inc/infowidgetsathandler.h	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,62 +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 INFOWIDGETSATHANDLER_H_
-#define INFOWIDGETSATHANDLER_H_
-
-#include <QObject>
-#include <rsatservice.h>
-
-
-class InfoWidgetSatHandlerPrivate;
-
-class InfoWidgetSatHandler: public QObject
-    {
-    Q_OBJECT
-    
-public:    
-    InfoWidgetSatHandler(QObject *parent = NULL);
-    ~InfoWidgetSatHandler();    
-    
-    void connect(bool connect);
-        
-    const QString& satDisplayText() const; 
-    void setSatDisplayText(const QString& displayText);
-
-    void logCurrentInfo(); 
-    
-    void handleIdleModeTxtMessage( int idleResult );
-    void handleSatError( int operation, int errorCode );
-
-signals: 
-    void handleMessage( int message );
-    void handleError( int operation, int errorCode );
-
-    
-private: 
-    QString m_displayText;
-    
-    int m_connected;
-    
-    InfoWidgetSatHandlerPrivate *d_ptr;
-    RSatService m_satService;
-    
-    }; 
-
-#endif /* INFOWIDGETSATHANDLER_H_ */
-
-
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/infowidget/inc/infowidgetsathandlerprivate.h	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +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 <rsatservice.h>
-#include <rsatsession.h>
-#include <QString>
-
-class InfoWidgetSatHandler;
-
-class InfoWidgetSatHandlerPrivate: public CActive
-{
-public:  
-    
-    InfoWidgetSatHandlerPrivate(InfoWidgetSatHandler *iwSatHandler, RSatService& iSatService);
-    ~InfoWidgetSatHandlerPrivate();
- 
-    void startObserving();
-    
-    int 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;
-};
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/infowidget/src/infowidget.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,993 +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 "infowidget.h"
-
-#include <hbanchorlayout.h>
-#include <hbiconitem.h>
-#include <hbmarqueeitem.h>
-#include <hbfontspec.h>
-#include <hbdialog.h>
-#include <hblabel.h>
-#include <hbaction.h>
-#include <hbcheckbox.h>
-#include <hbpushbutton.h>
-#include <hbevent.h>
-#include <hbcolorscheme.h>
-#include <hbmessagebox.h>
-#include <hbframedrawer.h>
-#include <QPainter>
-#include <QPainterPath>
-#include <QBrush>
-#include <QGraphicsLinearLayout>
-#include <QApplication>
-#include <QLocale>
-#include <QTranslator>
-#include "infowidgetlogging.h"
-#include "infowidgetengine.h"
-#include "infowidgetlayoutmanager.h"
-#include "infowidgetpreferences.h"
-
-const int INFOWIDGET_ROUNDING = 15;
-const int INFOWIDGET_DEFAULT_HEIGHT = 100;
-const int INFOWIDGET_DEFAULT_WIDTH = 100;
-const char *TS_FILE_OPERATOR_WIDGET = "operator_widget"; 
-const char *TS_FILE_COMMON = "common";
-const char *BACKGROUND_COLOR_GROUP_ID = "qtc_default_popup_normal"; 
-const char *BACKGROUND_FRAME_NAME = "qtg_fr_hswidget_normal"; 
-
-/*!
-  \class InfoWidget
-  \brief Operator info widget main class. 
-
-   Implements HomeScreen specific slots and 
-   graphical representation of the 
-   Operator Info widget. 
-
-   Derived from HbWidget.
-    
-*/
-
-/*!
-    InfoWidget::InfoWidget() 
-*/
-InfoWidget::InfoWidget(QGraphicsItem* parent, Qt::WindowFlags flags)
-    : HbWidget(parent, flags),
-    m_engine(NULL), 
-    m_preferences(NULL),
-    m_layoutManager(NULL),
-    m_layout(NULL),
-    m_frameDrawer(NULL),
-    m_layoutChanging(false),
-    m_dragEvent(false), 
-    m_initialized(false)
-{
-    INSTALL_TRACE_MSG_HANDLER; 
-    
-    DPRINT << ": IN";
-    
-    // Localization file loading
-    installTranslator(TS_FILE_OPERATOR_WIDGET);
-    installTranslator(TS_FILE_COMMON);
-    
-    m_layoutManager = new InfoWidgetLayoutManager(this);
-    Q_ASSERT(m_layoutManager); 
-    
-    m_engine = new InfoWidgetEngine(this); 
-    Q_ASSERT(m_engine);
-    
-    m_preferences = new InfoWidgetPreferences(this);
-    Q_ASSERT(m_preferences);
-    
-    QObject::connect( m_preferences, SIGNAL(prefChanged(int,int)),
-                    m_engine, SLOT(preferenceChanged(int,int)));
-    
-    // Setup widget main layout 
-    m_layout = new QGraphicsLinearLayout;    
-    m_layout->setSpacing(0); 
-    m_layout->setContentsMargins(0,0,0,0); 
-    setLayout(m_layout);
-
-    // Read color definitions 
-    m_backGroundColor = HbColorScheme::color(
-            BACKGROUND_COLOR_GROUP_ID);
-    if (!m_backGroundColor.isValid()) {
-        m_backGroundColor = Qt::black; 
-    }
-    
-    // Create background frame drawer 
-    m_frameDrawer = new HbFrameDrawer(
-            BACKGROUND_FRAME_NAME, 
-            HbFrameDrawer::NinePieces);
-    Q_ASSERT(m_frameDrawer); 
-    
-    // Set widget initial size
-    resize(INFOWIDGET_DEFAULT_WIDTH,
-           INFOWIDGET_DEFAULT_HEIGHT); 
-    
-    DPRINT << ": OUT";
-}
-
-/*!
-    InfoWidget::~InfoWidget() 
-*/
-InfoWidget::~InfoWidget()
-{
-    DPRINT << ": IN"; 
-    
-    // Layout manager item cleanup
-    m_layoutManager->destroyObjects(); 
-    
-    if (m_frameDrawer) {
-        delete m_frameDrawer;
-        m_frameDrawer = NULL; 
-    }
-    
-    // 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      
-*/
-void InfoWidget::onInitialize()
-{
-    DPRINT << ": IN";
-    
-    m_initialized = true; 
-    
-    // Initialize preferences from meta-object data
-    if (!readPersistentPreferences()) {
-
-        // Reading failed, initialize default values  
-        m_preferences->setPreference(InfoWidgetPreferences::DisplaySpn, 
-                DISPLAY_SETTING_ON);
-        m_preferences->setPreference(InfoWidgetPreferences::DisplayMcn, 
-                DISPLAY_SETTING_ON);
-        m_preferences->setPreference(InfoWidgetPreferences::DisplaySatText, 
-                DISPLAY_SETTING_ON);
-    } 
-    m_preferences->storePreferences(); 
-    
-    // Layout components 
-    layoutInfoDisplay();
-    m_layout->activate(); 
-    
-    // Read initial data from model
-    updateInfoDisplay(); 
-    
-    // Listen for model changes 
-    QObject::connect(m_engine, SIGNAL(modelChanged()), 
-            this, SLOT(readModel())); 
-
-    DPRINT << ": OUT";
-}
-
-/*!
-    InfoWidget::onUninitialize() 
-*/
-void InfoWidget::onUninitialize()
-{
-    DPRINT;
-    m_initialized = false; 
-    m_engine->suspend(); 
-}
-
-/*!
-    InfoWidget::onShow() 
-*/
-void InfoWidget::onShow()
-{
-    DPRINT;
-    m_engine->resume(); 
-}
-
-/*!
-    InfoWidget::onHide() 
-*/
-void InfoWidget::onHide()
-{
-    DPRINT;
-    m_engine->suspend(); 
-}
-
-/*!
-    InfoWidget::installTranslator() const
-*/
-bool InfoWidget::installTranslator(QString translationFile)
-{
-    DPRINT << ": IN";
-
-    QString lang = QLocale::system().name();
-    QString path = "z:/resource/qt/translations/";
-    bool translatorLoaded(false);  
-    
-    QTranslator* widgetTranslator = new QTranslator;
-    translatorLoaded = widgetTranslator->load(
-            path + translationFile + "_" + lang);
-    if (translatorLoaded) {
-        qApp->installTranslator(widgetTranslator);
-        m_translators.append(widgetTranslator); 
-        DPRINT << ": translator installed: " << translationFile; 
-    } else {
-        delete widgetTranslator; 
-        widgetTranslator = NULL; 
-    }
-    
-    DPRINT << ": OUT";
-    return translatorLoaded;
-}
-
-/*!
-    InfoWidget::removeTranslators() const
-*/
-void InfoWidget::removeTranslators()
-{
-    DPRINT << ": IN";
-
-    foreach (QTranslator *translator, m_translators) {
-        qApp->removeTranslator(translator);
-    }    
-    qDeleteAll(m_translators);
-    m_translators.clear();
-    
-    DPRINT << ": OUT";
-}
-
-/*!
-    InfoWidget::boundingRect() const
-*/
-QRectF InfoWidget::boundingRect() const
-{   
-    return rect();
-}
-
-/*!
-    InfoWidget::shape() const
-    
-    Return Operator widget's shape 
-    according to currect display 
-*/
-QPainterPath InfoWidget::shape() const
-{
-    DPRINT;    
-    
-    QPainterPath path;
-    if (m_layoutManager->currentDisplayRole() == 
-                    InfoWidgetLayoutManager::InfoDisplay) {
-        path.addRoundRect(boundingRect(), 
-                INFOWIDGET_ROUNDING, 
-                INFOWIDGET_ROUNDING);
-    } else {
-        path.addRect(boundingRect()); 
-    }
-    return path;
-}
-
-/*!
-    InfoWidget::sizeHint() 
-*/
-QSizeF InfoWidget::sizeHint(Qt::SizeHint which, const QSizeF & constraint) const   
-{
-    Q_UNUSED(which);
-    Q_UNUSED(constraint); 
-    
-    QSizeF requiredSize(
-            INFOWIDGET_DEFAULT_WIDTH,
-            INFOWIDGET_DEFAULT_HEIGHT);
-    
-    if (m_initialized) { 
-        // Read size hint from docml content
-        if (m_layoutManager->currentDisplayRole() == 
-                    InfoWidgetLayoutManager::InfoDisplay) {
-            if (m_layoutManager->contentWidget()) {
-                requiredSize = m_layoutManager->contentWidget()->minimumSize();
-                // Height according number of rows, if 0 or 1 row use minimum size
-                int rowCount = m_preferences->visibleItemCount();
-                if (1 < rowCount) {
-                        requiredSize.rheight() += (rowCount-1)*
-                                m_layoutManager->rowHeight();
-                }
-            }
-        }
-        else if (m_layoutManager->currentDisplayRole() == 
-                InfoWidgetLayoutManager::SettingsDisplay) {
-            if (m_layoutManager->contentWidget()) {
-                requiredSize= m_layoutManager->contentWidget()->size();
-                }
-        } 
-    } 
-    
-    DPRINT << ": returning size: " << requiredSize;
-    return requiredSize; 
-}
-
-/*!
-    InfoWidget::sizePolicy() 
-*/
-QSizePolicy InfoWidget::sizePolicy () const 
-{
-    DPRINT;
-    return QSizePolicy(
-            QSizePolicy::Fixed, 
-            QSizePolicy::Fixed); 
-}
-
-/*!
-    InfoWidget::updateItemsVisibility() 
-*/
-void InfoWidget::updateItemsVisibility()
-{
-    DPRINT <<": IN"; 
-    int layoutRows = 0; 
-    QList<QGraphicsWidget *> widgetsToHide; 
-    
-    // Update layout according to item visibility settings
-    if (m_preferences->preference(InfoWidgetPreferences::DisplaySpn).compare(
-            DISPLAY_SETTING_ON) == 0) {
-        layoutRows++;
-    } else if (m_layoutManager->currentDisplayRole() != InfoWidgetLayoutManager::SettingsDisplay) {
-        m_layoutManager->removeWidget(InfoWidgetLayoutManager::RoleSpnLabel); 
-        m_layoutManager->removeWidget(InfoWidgetLayoutManager::RoleSpnIcon); 
-    }
-
-    if (m_preferences->preference(InfoWidgetPreferences::DisplayMcn).compare(
-            DISPLAY_SETTING_ON) == 0) {
-        layoutRows++;
-    } else if (m_layoutManager->currentDisplayRole() != InfoWidgetLayoutManager::SettingsDisplay) {
-        m_layoutManager->removeWidget(InfoWidgetLayoutManager::RoleMcnMarqueeItem); 
-        m_layoutManager->removeWidget(InfoWidgetLayoutManager::RoleMcnIcon); 
-    }
-    
-    if (m_preferences->preference(InfoWidgetPreferences::DisplaySatText).compare(
-            DISPLAY_SETTING_ON) == 0) {
-        layoutRows++;
-    } else if (m_layoutManager->currentDisplayRole() != InfoWidgetLayoutManager::SettingsDisplay) {
-        m_layoutManager->removeWidget(InfoWidgetLayoutManager::RoleSatMarqueeItem); 
-        m_layoutManager->removeWidget(InfoWidgetLayoutManager::RoleSatTextIcon); 
-    }
-    
-    DPRINT << ": visible layout rows count: " << layoutRows;
-    m_layoutManager->setLayoutRows(layoutRows);
-}
-
-/*!
-    InfoWidget::layoutInfoDisplay()
-    
-    Layout info display    
-*/
-void InfoWidget::layoutInfoDisplay()
-{  
-    startChanges(); 
-    
-    QGraphicsLayout *infoDisplayLayout = 
-        m_layoutManager->layoutInfoDisplay(); 
-    
-    DPRINT << ": IN";
-    if (infoDisplayLayout) {
-        DPRINT << ": infoDisplayLayout has been returned from layout manager";
-
-        QGraphicsWidget *contentWidget = m_layoutManager->contentWidget();
-        if (contentWidget) {
-            DPRINT << ": contentWidget has been returned from layout manager";
-            
-            // Remove old data from layout. 
-            for (int i=0; i < m_layout->count(); i++) {
-                DPRINT << ": item(" << i << ") removed from layout";
-                m_layout->removeAt(i);
-                } 
-            
-            // Add content widget to main layout 
-            m_layout->addItem(contentWidget);
-        }       
-    }
-    
-    m_layoutManager->showAll(); 
-    updateItemsVisibility(); 
-    m_layout->activate(); 
-
-    endChanges(); 
-    
-    DPRINT << ": OUT";
-}
-
-/*!
-    InfoWidget::layoutSettingsDisplay()
-    
-    Switch to settings display layout   
-*/
-void InfoWidget::layoutSettingsDisplay()
-{  
-    startChanges(); 
-    
-    QGraphicsLayout *settingDisplayLayout = 
-        m_layoutManager->layoutSettingsDisplay(); 
-    
-    DPRINT << ": IN";
-    if (settingDisplayLayout) {
-        DPRINT << ": settingDisplayLayout has been returned from layout manager";
-
-        QGraphicsWidget *contentWidget = m_layoutManager->contentWidget();
-        if (contentWidget) {
-            DPRINT << ": contentWidget has been returned from layout manager";
-                
-            // Remove old data from layout. 
-            for (int i=0; i < m_layout->count(); i++) {
-                DPRINT << ": item(" << i << ") removed from layout";
-                m_layout->removeAt(i);
-                } 
-            
-            // Add content widget to main layout 
-            m_layout->addItem(contentWidget); 
-        }
-        
-        // Connect settings display widget signals 
-        initializeSettingsDisplayItems(); 
-    }
-     
-    m_layoutManager->showAll(); 
-    endChanges(); 
-    
-    DPRINT << ": OUT";
-}
-
-/*!
-    InfoWidget::initializeInfoDisplayItems()
-*/
-void InfoWidget::initializeInfoDisplayItems()
-{  
-    DPRINT;
-}
-
-/*!
-    InfoWidget::initializeSettingsDisplayItems()
-    
-    Set up initial check box states, lock check boxes 
-    if needed and connect signals to local slots  
-*/
-void InfoWidget::initializeSettingsDisplayItems()
-{  
-    DPRINT << ": IN";
-    
-    HbPushButton *okButton = qobject_cast<HbPushButton *>(m_layoutManager->getWidget(
-            InfoWidgetLayoutManager::RoleOkButton));
-    if (okButton) {
-        QObject::connect(okButton, SIGNAL(clicked()), 
-                this, SLOT(settingsEditingFinished()), Qt::UniqueConnection); 
-    }
-
-    // Connect display setting check boxes
-    HbCheckBox *spnCheckBox = qobject_cast<HbCheckBox *>(m_layoutManager->getWidget(
-            InfoWidgetLayoutManager::RoleSpnCheckBox));
-    if (spnCheckBox) {
-        spnCheckBox->setChecked(m_preferences->isPreferenceSet(
-                InfoWidgetPreferences::DisplaySpn));
-        
-        QObject::connect(spnCheckBox, SIGNAL(stateChanged(int)), 
-                this, SLOT(spnDisplaySettingChanged(int)), Qt::UniqueConnection); 
-    }
-    
-    HbCheckBox *mcnCheckBox = qobject_cast<HbCheckBox *>(m_layoutManager->getWidget(
-            InfoWidgetLayoutManager::RoleMcnCheckBox));
-    if (mcnCheckBox) {
-        mcnCheckBox->setChecked(m_preferences->isPreferenceSet(
-                InfoWidgetPreferences::DisplayMcn));
-        
-        QObject::connect(mcnCheckBox, SIGNAL(stateChanged(int)), 
-                this, SLOT(mcnDisplaySettingChanged(int)), Qt::UniqueConnection); 
-    }
-    
-    HbCheckBox *satTextCheckBox = qobject_cast<HbCheckBox *>(m_layoutManager->getWidget(
-            InfoWidgetLayoutManager::RoleSatTextCheckBox));
-    if (satTextCheckBox) {
-        satTextCheckBox->setChecked(m_preferences->isPreferenceSet(
-                InfoWidgetPreferences::DisplaySatText));
-        
-        QObject::connect(satTextCheckBox, SIGNAL(stateChanged(int)), 
-                this, SLOT(satDisplaySettingChanged(int)), Qt::UniqueConnection); 
-    }
-    
-    DPRINT << ": OUT";
-}
-
-/*!
-    InfoWidget::updateInfoDisplay() 
-*/
-void InfoWidget::updateInfoDisplay()
-{
-    DPRINT << ": IN"; 
-    
-    if (m_layoutManager->currentDisplayRole() == 
-            InfoWidgetLayoutManager::InfoDisplay )
-        {
-        QString text;
-        InfoWidgetEngine::ModelData modelData = m_engine->modelData(); 
-    
-        HbLabel *spnLabel = qobject_cast<HbLabel *>(m_layoutManager->getWidget(
-                InfoWidgetLayoutManager::RoleSpnLabel));
-        if (spnLabel) {
-            if (m_engine->modelData().serviceProviderNameDisplayRequired()) {
-                text = modelData.serviceProviderName();  
-                spnLabel->setPlainText(text);
-            }
-        }        
-        
-        HbMarqueeItem *mcnMarqueeItem = qobject_cast<HbMarqueeItem *>(m_layoutManager->getWidget(
-                InfoWidgetLayoutManager::RoleMcnMarqueeItem));
-        if (mcnMarqueeItem) {
-            text = modelData.mcnName(); 
-            mcnMarqueeItem->setText(text);
-            
-            // Set marquee animation looping mode to infinite
-            mcnMarqueeItem->setLoopCount(-1); 
-                
-            // Finally, start marquee animation
-            DPRINT << ": mcnMarqueeItem->isAnimating()"; 
-            if (!mcnMarqueeItem->isAnimating()) {
-                DPRINT << ": mcnMarqueeItem->startAnimation()";   
-                mcnMarqueeItem->startAnimation();
-            }
-        }
-    
-        HbMarqueeItem *satMarqueeItem = qobject_cast<HbMarqueeItem *>(m_layoutManager->getWidget(
-                InfoWidgetLayoutManager::RoleSatMarqueeItem));
-        if (satMarqueeItem) {
-            text = modelData.satDisplayText(); 
-    
-            satMarqueeItem->setText(text);
-            
-            // Set marquee animation looping mode to infinite
-            satMarqueeItem->setLoopCount(-1); 
-                        
-            // Finally, start marquee animation
-            DPRINT << ": satMarqueeItem->isAnimating()"; 
-            if (!satMarqueeItem->isAnimating()) {
-                DPRINT << ": mcnMarqueeItem->startAnimation()";   
-                satMarqueeItem->startAnimation();
-            }
-        }
-    }
-}
-
-/*!
-    InfoWidget::readModel() 
-    
-    Read model data. Model's modelChanged - signal is connected to this slot.  
-*/
-void InfoWidget::readModel()
-{
-    DPRINT << ": IN"; 
-
-    if (m_layoutManager->currentDisplayRole() == 
-            InfoWidgetLayoutManager::InfoDisplay) { 
-        updateInfoDisplay(); 
-    }
-    DPRINT << ": OUT";
-}
-
-/*!
-    InfoWidget::handleModelError() 
-    
-    Model error signal is connected to this slot 
-*/
-void InfoWidget::handleModelError(int operation,int errorCode)
-{
-    Q_UNUSED(operation); 
-    Q_UNUSED(errorCode); 
-    DPRINT;
-}
-
-/*!
-    InfoWidget::paint() 
-*/
-void InfoWidget::paint(QPainter *painter, 
-        const QStyleOptionGraphicsItem *option, 
-        QWidget *widget)
-{
-    Q_UNUSED(option); 
-    Q_UNUSED(widget);
-    DPRINT;
-
-    if (!m_layoutChanging) {
-        painter->save();
-        
-        if (m_layoutManager->currentDisplayRole() == 
-                InfoWidgetLayoutManager::InfoDisplay) { 
-            if (m_frameDrawer) {
-                m_frameDrawer->paint(painter,boundingRect());
-            }
-        } else {            
-            QBrush brush(Qt::black); 
-            QPainterPath path;
-            path.addRoundRect(boundingRect(), 
-                    INFOWIDGET_ROUNDING, 
-                    INFOWIDGET_ROUNDING);
-            painter->fillPath(path, brush);
-        }
-        
-        painter->restore();
-    }
-}
-
-/*!
-    InfoWidget::mousePressEvent() 
-*/
-void InfoWidget::mousePressEvent(QGraphicsSceneMouseEvent *event)
-{
-    Q_UNUSED(event);
-    
-    // Clear flag 
-    m_dragEvent = false; 
-}
-
-/*!
-    InfoWidget::mouseReleaseEvent() 
-*/
-void InfoWidget::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
-{
-    Q_UNUSED(event);
-
-    // If in info display and widget wasn't dragged 
-    // change to settings display
-    if ((!m_dragEvent) && 
-          m_layoutManager->currentDisplayRole() == 
-                  InfoWidgetLayoutManager::InfoDisplay) {
-        DPRINT << ": layout settings display";
-        layoutSettingsDisplay(); 
-    }
-    
-    // Clear flag 
-    m_dragEvent = false; 
-}
-
-/*!
-    InfoWidget::mouseMoveEvent() 
-*/
-void InfoWidget::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
-{
-    Q_UNUSED(event);
-    
-    // Mouse is moving 
-    // after mouse press event
-    m_dragEvent = true; 
-}
-
-/*!
-    InfoWidget::spnDisplaySettingChanged() 
-*/
-void InfoWidget::spnDisplaySettingChanged(int state)
-{
-    DPRINT << ": state: " << state;
-    if (state == Qt::Checked){
-        m_preferences->setPreference(InfoWidgetPreferences::DisplaySpn, DISPLAY_SETTING_ON);
-    } else {
-        m_preferences->setPreference(InfoWidgetPreferences::DisplaySpn, DISPLAY_SETTING_OFF);
-    }
-}
-
-/*!
-    InfoWidget::mcnDisplaySettingChanged() 
-*/
-void InfoWidget::mcnDisplaySettingChanged(int state)
-{
-    DPRINT << ": state: " << state; 
-    if (state == Qt::Checked){
-        m_preferences->setPreference(InfoWidgetPreferences::DisplayMcn, DISPLAY_SETTING_ON);
-    } else {
-        m_preferences->setPreference(InfoWidgetPreferences::DisplayMcn, DISPLAY_SETTING_OFF);
-    }
-}
-
-/*!
-    InfoWidget::satDisplaySettingChanged() 
-*/
-void InfoWidget::satDisplaySettingChanged(int state)
-{
-    DPRINT << ": state: " << state; 
-    if (state == Qt::Checked){
-        m_preferences->setPreference(InfoWidgetPreferences::DisplaySatText, DISPLAY_SETTING_ON);
-    } else {
-        m_preferences->setPreference(InfoWidgetPreferences::DisplaySatText, DISPLAY_SETTING_OFF);
-    }
-}
-
-/*!
-    InfoWidget::mcnDisplay() 
-    
-    Getter function for Meta-object property "mcnDisplay"
-*/
-QString InfoWidget::mcnDisplay()
-{
-    DPRINT; 
-    return m_preferences->preference(InfoWidgetPreferences::DisplayMcn); 
-}
-
-/*!
-    InfoWidget::setMcnDisplay() 
-    
-    Setter function for Meta-object property "mcnDisplay"
-*/
-void InfoWidget::setMcnDisplay(QString value)
-{
-    DPRINT;
-    m_preferences->setPreference(InfoWidgetPreferences::DisplayMcn, value);
-    }
-
-/*!
-    InfoWidget::homeZoneDisplay() 
-    
-    Getter function for Meta-object property "homeZoneDisplay"
-*/
-QString InfoWidget::homeZoneDisplay()
-{
-    DPRINT; 
-    return m_preferences->preference(InfoWidgetPreferences::DisplayHomeZone); 
-}
-
-/*!
-    InfoWidget::setHomeZoneDisplay()
-    
-    Setter function for Meta-object property "homeZoneDisplay" 
-*/
-void InfoWidget::setHomeZoneDisplay(QString value)
-{
-    DPRINT; 
-    m_preferences->setPreference(InfoWidgetPreferences::DisplayHomeZone, value);
-}
-
-/*!
-    InfoWidget::activeLineDisplay() 
-    
-    Getter function for Meta-object property "activeLineDisplay"
-*/
-QString InfoWidget::activeLineDisplay()
-{
-    DPRINT; 
-    return m_preferences->preference(InfoWidgetPreferences::DisplayActiveLine);
-}
-
-/*!
-    InfoWidget::setActiveLineDisplay() 
-    
-    Setter function for Meta-object property "activeLineDisplay"
-*/
-void InfoWidget::setActiveLineDisplay(QString value)
-{
-    DPRINT; 
-    m_preferences->setPreference(InfoWidgetPreferences::DisplayActiveLine, value);
-}
-
-/*!
-    InfoWidget::satDisplay()
-    
-    Getter function for Meta-object property "satDisplay" 
-*/
-QString InfoWidget::satDisplay()
-{
-    DPRINT; 
-    return m_preferences->preference(InfoWidgetPreferences::DisplaySatText);
-}
-
-/*!
-    InfoWidget::setSatDisplay()
-    
-    Setter function for Meta-object property "satDisplay" 
-*/
-void InfoWidget::setSatDisplay(QString value)
-{
-    DPRINT;
-    m_preferences->setPreference(InfoWidgetPreferences::DisplaySatText, value);
-}
-
-/*!
-    InfoWidget::spnDisplay()
-    
-    Getter function for Meta-object property "spnDisplay" 
-*/
-QString InfoWidget::spnDisplay()
-{
-    DPRINT; 
-    return m_preferences->preference(InfoWidgetPreferences::DisplaySpn);
-}
-
-/*!
-    InfoWidget::setSpnDisplay()
-    
-    Setter function for Meta-object property "spnDisplay" 
-*/
-void InfoWidget::setSpnDisplay(QString value)
-{
-    DPRINT;
-    m_preferences->setPreference(InfoWidgetPreferences::DisplaySpn, value);
-}
-
-/*!
-    InfoWidget::readPersistentPreferences()
-    
-    Read Meta-object properties and store to preference handler. 
-    Restores preferences from previous session.   
-*/
-bool InfoWidget::readPersistentPreferences()
-{
-    DPRINT << ": IN";
-    bool changed(false); 
-    
-    QString propertyValue;
-    
-    propertyValue = QObject::property("homeZoneDisplay").toString();
-    m_preferences->setPreference(InfoWidgetPreferences::DisplayHomeZone, 
-            propertyValue);
-    
-    propertyValue = QObject::property("mcnDisplay").toString();
-    m_preferences->setPreference(InfoWidgetPreferences::DisplayMcn, 
-            propertyValue);
-    
-    propertyValue = QObject::property("activeLineDisplay").toString();
-    m_preferences->setPreference(InfoWidgetPreferences::DisplayActiveLine, 
-            propertyValue);
-    
-    propertyValue = QObject::property("satDisplay").toString();
-    m_preferences->setPreference(InfoWidgetPreferences::DisplaySatText, 
-            propertyValue);
-
-    propertyValue = QObject::property("spnDisplay").toString();
-    m_preferences->setPreference(InfoWidgetPreferences::DisplaySpn, 
-            propertyValue);
-
-    // Check that at least one item is set visible and  
-    // store preferences if true 
-    if (m_preferences->validate()) {
-        changed = m_preferences->storePreferences(); 
-    } 
-        
-    DPRINT << ": OUT";
-    return changed; 
-}
-
-/*!
-    InfoWidget::initializeCheckBoxStates()
-*/
-void InfoWidget::initializeCheckBoxStates()
-{
-    DPRINT << ": IN";
-
-    HbCheckBox *spnCheckBox = qobject_cast<HbCheckBox *>(m_layoutManager->getWidget(
-            InfoWidgetLayoutManager::RoleSpnCheckBox));
-    if (spnCheckBox) {
-    spnCheckBox->setChecked(m_preferences->isPreferenceSet(
-                InfoWidgetPreferences::DisplaySpn));
-    }
-    
-    HbCheckBox *mcnCheckBox = qobject_cast<HbCheckBox *>(m_layoutManager->getWidget(
-            InfoWidgetLayoutManager::RoleMcnCheckBox));
-    if (mcnCheckBox) {
-        mcnCheckBox->setChecked(m_preferences->isPreferenceSet(
-                InfoWidgetPreferences::DisplayMcn));
-    }
-    
-    HbCheckBox *satTextCheckBox = qobject_cast<HbCheckBox *>(m_layoutManager->getWidget(
-            InfoWidgetLayoutManager::RoleSatTextCheckBox));
-    if (satTextCheckBox) {
-        satTextCheckBox->setChecked(m_preferences->isPreferenceSet(
-                InfoWidgetPreferences::DisplaySatText));
-    }
-        
-    DPRINT << ": OUT"; 
-}
-
-/*!
-    InfoWidget::settingsEditingFinished()
-*/
-void InfoWidget::settingsEditingFinished()
-{
-    DPRINT << ": IN";
-    
-    // Save settings data if validation succeeds 
-    if (m_preferences->validate()) {
-        DPRINT << ": switching to info display";
-        
-        // Store preferences if changed 
-        if (m_preferences->storePreferences()) {
-            // Signal Homescreen FW   
-            emit setPreferences(
-                    m_preferences->preferenceNames());
-            }
-        
-        // ToDo: do only if settings have really changed 
-        m_layoutManager->reloadWidgets(
-                InfoWidgetLayoutManager::InfoDisplay);
-
-        // Switch to info display 
-        layoutInfoDisplay();
-        updateInfoDisplay();
-        
-    } else {
-        DPRINT << ": staying in settings display";    
-        // Display warning note
-        settingsValidationFailed(); 
-        
-        // Restore check box states 
-        initializeCheckBoxStates(); 
-    }
-    
-    DPRINT << ": OUT";
-}
-
-/*!
-    InfoWidget::startChanges()
-*/
-void InfoWidget::startChanges()
-{
-    DPRINT;
-    m_layoutChanging = true; 
-}
-
-/*!
-    InfoWidget::endChanges()
-*/
-void InfoWidget::endChanges()
-{
-    DPRINT;
-    m_layoutChanging = false; 
-}
-
-/*!
-   \reimp
-*/
-void InfoWidget::changeEvent(QEvent *event)
-{
-   DPRINT << ": IN";
-   
-   if (event->type() == HbEvent::ThemeChanged) {
-       DPRINT << ": HbEvent::ThemeChanged";
-       m_backGroundColor = HbColorScheme::color(
-               BACKGROUND_COLOR_GROUP_ID);
-       if (!m_backGroundColor.isValid()) {
-           m_backGroundColor = Qt::black; 
-       }
-   }
-   HbWidget::changeEvent(event);
-   
-   DPRINT << ": OUT";
-}
-
-/*!
-   InfoWidget::settingsValidationFailed()
-*/
-void InfoWidget::settingsValidationFailed()
-{
-   DPRINT << ": IN";
-   
-   if (m_layoutManager->currentDisplayRole() == 
-                  InfoWidgetLayoutManager::SettingsDisplay) {
-       HbMessageBox::warning(
-               hbTrId("txt_operatorwidget_info_select_one"));
-   }
-
-   DPRINT << ": OUT";
-}
-
-
-// End of File. 
-
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/infowidget/src/infowidgetengine.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,249 +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 "infowidgetengine.h"
-#include "infowidgetnetworkhandler.h"
-#include "infowidgetsathandler.h"
-#include <networkhandlingproxy.h>
-#include "infowidgetlogging.h"
-#include "infowidgetpreferences.h"
-
-/*!
-  \class InfoWidgetEngine
-  \brief Engine functionality of 
-         Operator info widget
-*/
-
-
-/*!
-   InfoWidgetEngine::InfoWidgetEngine
- */
-InfoWidgetEngine::InfoWidgetEngine(QObject *parent): 
-    QObject(parent),
-    m_networkHandler(new InfoWidgetNetworkHandler),
-    m_satHandler(new InfoWidgetSatHandler)
-{
-    DPRINT << ": IN";
-    
-    QObject::connect(
-        m_networkHandler.data(), SIGNAL(networkError(int, int)),
-        this, SLOT(handleNetworkError(int, int))); 
-    
-    QObject::connect(
-        m_networkHandler.data(), SIGNAL(networkDataChanged()),
-        this, SLOT(updateNetworkDataToModel()));
-
-    QObject::connect(m_satHandler.data(), 
-            SIGNAL(handleError(int, int)),
-            this, SLOT(handleSatError(int, int))); 
-    
-    QObject::connect(m_satHandler.data(), 
-                SIGNAL(handleMessage(int)),
-                this, SLOT(updateSatDataToModel())); 
-
-    updateNetworkDataToModel();
-    updateSatDataToModel();
-    
-    DPRINT << ": OUT";
-}
-
-/*!
-   InfoWidgetEngine::~InfoWidgetEngine
- */
-InfoWidgetEngine::~InfoWidgetEngine()
-{
-    DPRINT;
-}    
-
-/*!
-   InfoWidgetEngine::logModelData
-   
-   Utility function for logging model data
- */
-void InfoWidgetEngine::logModelData()
-{
-    DPRINT << ": mcn name: " << m_modelData.mcnName();
-    DPRINT << ": mcn type: " << m_modelData.mcnIndicatorType();
-    DPRINT << ": service provider name: " << 
-            m_modelData.serviceProviderName();
-    DPRINT << ": service provider display required: " << 
-            m_modelData.serviceProviderNameDisplayRequired(); 
-
-    DPRINT << ": homezone text tag: " << 
-            m_modelData.homeZoneTextTag();
-    DPRINT << ": homezone indicator type: " << 
-            m_modelData.homeZoneIndicatorType(); 
-    DPRINT << ": active line: " << 
-            m_modelData.activeLine(); 
-} 
-
-/*!
-   InfoWidgetEngine::modelData
-   
-   Getter for model data. 
- */
-const InfoWidgetEngine::ModelData& InfoWidgetEngine::modelData() const
-{
-    DPRINT;
-    return m_modelData; 
-}
-
-/*!
-   InfoWidgetEngine::updateNetworkDataToModel
- */
-void InfoWidgetEngine::updateNetworkDataToModel()
-{
-    DPRINT << ": IN"; 
-    
-    m_networkHandler->logCurrentInfo();
-    
-    if (m_networkHandler->isOnline()) {
-        // Read network handler data to model data
-        m_modelData.setServiceProviderName(
-                m_networkHandler->serviceProviderName());
-        m_modelData.setServiceProviderNameDisplayRequired(
-                m_networkHandler->serviceProviderNameDisplayRequired());
-    
-        m_modelData.setMcnName(m_networkHandler->mcnName()); 
-        m_modelData.setMcnIndicatorType(
-                m_networkHandler->mcnIndicatorType());
-        
-        m_modelData.setHomeZoneIndicatorType(
-            m_networkHandler->homeZoneIndicatorType());
-        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("")); 
-    }
-        
-    emit modelChanged();
-    
-    DPRINT << ": OUT";
-}
-
-/*!
-   InfoWidgetEngine::updateSatDataToModel
- */
-void InfoWidgetEngine::updateSatDataToModel()
-{
-    DPRINT << ": IN";
-    
-    if (m_satHandler) {
-        // Log current network data 
-        m_satHandler->logCurrentInfo();
-        // Read SAT handler data to model data
-        m_modelData.setSatDisplayText(
-                m_satHandler->satDisplayText());
-        
-        emit modelChanged(); 
-    } 
-     
-    DPRINT << ": OUT";
-}
-
-/*!
-   InfoWidgetEngine::updateLineDataToModel
- */
-void InfoWidgetEngine::updateLineDataToModel()
-{
-    DPRINT;
-}
-
-/*!
-   InfoWidgetEngine::handleNetworkError
- */
-void InfoWidgetEngine::handleNetworkError(
-        int operation, int errorCode)
-{
-    DPRINT << ": operation: " << operation << 
-            " error code: " << errorCode; 
-}
-
-/*!
-   InfoWidgetEngine::handleSatError
- */
-void InfoWidgetEngine::handleSatError(
-        int operation, int errorCode)
-{
-    DPRINT << ": operation: " << operation << 
-            " error code: " << errorCode; 
-}
-
-/*!
-   InfoWidgetEngine::handleLineError
- */
-void InfoWidgetEngine::handleLineError(
-        int operation, int errorCode)
-{
-    DPRINT << ": operation: " << operation << " error code: " << errorCode; 
-}
-
-/*!
-   InfoWidgetEngine::preferenceChanged
- */
-void InfoWidgetEngine::preferenceChanged(
-        int option, int displaySetting)
-{
-    DPRINT << "option: " << option << " displaySetting: " << displaySetting;
-    switch(option){
-    case InfoWidgetPreferences::DisplayMcn:
-        if (displaySetting == InfoWidgetPreferences::DisplayOn) {
-            m_networkHandler->enableMcn();
-        } else {
-            m_networkHandler->disableMcn();
-        }   
-        break; 
-    case InfoWidgetPreferences::DisplaySatText:
-        m_satHandler->connect(displaySetting);
-        break;
-    default:
-        break;
-    }
-    DPRINT << ": OUT";
-}
-
-/*!
-   InfoWidgetEngine::suspend
-   
-   Called when widget is deactivated 
-   and widget should suspend all 
-   possible activities 
- */
-void InfoWidgetEngine::suspend() 
-{
-    DPRINT;
-    m_networkHandler->suspend(); 
-}
-
-/*!
-   InfoWidgetEngine::preferenceChanged
-   
-   Called when widget is activated 
-   and widget can resume activities
- */
-void InfoWidgetEngine::resume()
-{
-    DPRINT;
-    m_networkHandler->resume(); 
-}
-
-
-// End of File. 
-
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/infowidget/src/infowidgetengine_s.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,125 +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 "infowidgetengine.h"
-#include "infowidgetlogging.h"
-
-/*!
-   InfoWidgetEngine::InfoWidgetEngine
- */
-InfoWidgetEngine::InfoWidgetEngine(QObject *parent): 
-    QObject(parent)
-{
-    DPRINT;
-}
-
-/*!
-   InfoWidgetEngine::~InfoWidgetEngine
- */
-InfoWidgetEngine::~InfoWidgetEngine()
-{
-    DPRINT;
-}    
-
-/*!
-   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;
-    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
- */
-void InfoWidgetEngine::updateNetworkDataToModel()
-{
-    DPRINT;
-}
-
-/*!
-   InfoWidgetEngine::updateSatDataToModel
- */
-void InfoWidgetEngine::updateSatDataToModel()
-{
-    DPRINT;
-}
-
-/*!
-   InfoWidgetEngine::updateLineDataToModel
- */
-void InfoWidgetEngine::updateLineDataToModel()
-{
-    DPRINT;
-}
-
-/*!
-   InfoWidgetEngine::handleNetworkError
- */
-void InfoWidgetEngine::handleNetworkError(int operation, int errorCode)
-{
-    DPRINT << ": operation: " << operation << " error code: " << errorCode; 
-}
-
-/*!
-   InfoWidgetEngine::handleSatError
- */
-void InfoWidgetEngine::handleSatError(int operation, int errorCode)
-{
-    DPRINT << ": operation: " << operation << " error code: " << errorCode; 
-}
-
-/*!
-   InfoWidgetEngine::handleLineError
- */
-void InfoWidgetEngine::handleLineError(int operation, int errorCode)
-{
-    DPRINT << ": operation: " << operation << " error code: " << errorCode; 
-}
-
-// End of File. 
-
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/infowidget/src/infowidgetlayoutmanager.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,564 +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 "infowidgetlayoutmanager.h"
-#include <QtGlobal>
-#include <QObject>
-#include <QGraphicsWidget>
-#include <hbdocumentloader.h>
-#include <hblabel.h>
-#include <hbmarqueeitem.h>
-#include <hbiconitem.h> 
-#include <hbpushbutton.h>
-#include "infowidgetlogging.h"
-
-
-const char INFOWIDGET_DOCML_FILE[] = ":/resource/infowidget.docml";
-
-// Docml widget name mappings 
-const char LAYOUT_PREFIX_INFO_DISPLAY[] = "id:";
-const char LAYOUT_PREFIX_SETTINGS_DISPLAY[] = "sd:";
-const char LAYOUT_NAME_CONTENT[] = "content";
-const char LAYOUT_NAME_MCNMARQUEEITEM[] = "mcnMarqueeItem";
-const char LAYOUT_NAME_SPNLABEL[] = "spnLabel";
-const char LAYOUT_NAME_SATMARQUEEITEM[] = "satMarqueeItem";
-const char LAYOUT_NAME_SPNICON[] = "spnIcon";
-const char LAYOUT_NAME_MCNICON[] = "mcnIcon";
-const char LAYOUT_NAME_SATTEXTICON[] = "satTextIcon";
-const char LAYOUT_NAME_SPNCHECKBOX[] = "spnCheckBox";
-const char LAYOUT_NAME_MCNCHECKBOX[] = "mcnCheckBox";
-const char LAYOUT_NAME_SATTEXTCHECKBOX[] = "satTextCheckBox";
-const char LAYOUT_NAME_OKBUTTON[] = "okButton";
-const char LAYOUT_NAME_CONTAINER[] = "container";
-const char LAYOUT_NAME_SETTINGSCONTAINER[] = "settingsContainer";
-
-
-/*!
-  \class InfoWidgetDocumentLoader
-  \brief Custom document loader for Operator info widget  
-
-   Derived from HbDocumentLoader.
-    
-*/
-
-/*!
-  InfoWidgetDocumentLoader::InfoWidgetDocumentLoader()
- */
-InfoWidgetDocumentLoader::InfoWidgetDocumentLoader()
-{
-}
-
-/*!
-  InfoWidgetDocumentLoader::createObject()
- */
-QObject *InfoWidgetDocumentLoader::createObject(
-    const QString &type,
-    const QString &name)
-{
-    DPRINT << ": IN";
-    
-    DPRINT << ": type: "<< type;
-    DPRINT << ": name: "<< name;
-    
-    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);
-}
-
-
-/*!
-  \class InfoWidgetLayoutManager
-  \brief Layout manager class for Operator info widget.   
-
-   Handles layout document loading and accessing the loaded 
-   widgets.   
-    
-*/
-
-/*!
-   InfoWidgetLayoutManager::InfoWidgetLayoutManager()
-*/
-InfoWidgetLayoutManager::InfoWidgetLayoutManager(QObject *parent) 
-: QObject(parent), 
-  m_documentLoader(NULL), 
-  m_displayRole(InfoDisplay),
-  m_layoutRows(0)
-{
-    DPRINT << ": IN"; 
-    
-    // Fill supported layout item roles for info display
-    QList<LayoutItemRole> displayWidgetRoles = widgetRoles(InfoDisplay);
-    
-    // Try to load all widgets in list by widget role 
-    bool loadResult = loadWidgets(InfoDisplay, 
-            displayWidgetRoles,
-            m_infoDisplayWidgets); 
-    DPRINT << ": info display widget load result: " << loadResult;
-  
-    // Fill supported layout item roles for settings display
-    displayWidgetRoles = widgetRoles(SettingsDisplay);
-  
-    // Try to load all widgets in list by widget role 
-    loadResult = loadWidgets(SettingsDisplay, 
-            displayWidgetRoles,
-            m_settingsDisplayWidgets); 
-    DPRINT << ": settings display widget load result: " << loadResult;
-
-    DPRINT << ": OUT";
-}
-
-/*!
-   InfoWidgetLayoutManager::~InfoWidgetLayoutManager()
-*/
-InfoWidgetLayoutManager::~InfoWidgetLayoutManager()
-{
-    DPRINT << ": IN";
-    
-    if (m_documentLoader) { 
-        delete m_documentLoader;
-    }
-
-    DPRINT << ": OUT";
-}
-
-/*!
-   InfoWidgetLayoutManager::destroyObjects()
-   
-   Call on destruction for freeing  
-   loaded objects. Parent items are deleted 
-   causing deletion of corresponding object tree 
-*/
-void InfoWidgetLayoutManager::destroyObjects()
-{
-    DPRINT << ": IN";
-    
-    // Destroy parent items 
-    QGraphicsWidget *contentInfoDisplay =  
-            m_infoDisplayWidgets.value(RoleContent); 
-    if (contentInfoDisplay) {
-        delete contentInfoDisplay;
-        m_infoDisplayWidgets.clear(); 
-    }
-    
-    QGraphicsWidget *contentSettingsDisplay=  
-            m_settingsDisplayWidgets.value(RoleContent); 
-    if (contentSettingsDisplay) {
-        delete contentSettingsDisplay;
-        m_settingsDisplayWidgets.clear(); 
-    }
-
-    DPRINT << ": OUT";    
-}
-
-
-/*!
-   InfoWidgetLayoutManager::currentDisplayRole()
-*/
-InfoWidgetLayoutManager::DisplayRole InfoWidgetLayoutManager::currentDisplayRole() 
-{
-    DPRINT; 
-    return m_displayRole;
-} 
-
-/*!
-   InfoWidgetLayoutManager::currentWidgetRoles()
-*/
-QList<InfoWidgetLayoutManager::LayoutItemRole> InfoWidgetLayoutManager::currentWidgetRoles() 
-{
-    DPRINT; 
-    return m_widgets.keys(); 
-} 
-
-/*!
-   InfoWidgetLayoutManager::layoutRows()
-*/
-int InfoWidgetLayoutManager::layoutRows() const 
-{
-    DPRINT; 
-    return m_layoutRows;
-} 
-
-/*!
-   InfoWidgetLayoutManager::setLayoutRows()
-*/
-void InfoWidgetLayoutManager::setLayoutRows(int rows) 
-{
-    DPRINT; 
-    m_layoutRows = rows; 
-} 
-
-/*!
-   InfoWidgetLayoutManager::rowHeight()
-*/
-qreal InfoWidgetLayoutManager::rowHeight() const
-{
-    DPRINT; 
-    HbStyle style; 
-    qreal rowHeight;
-
-    bool ok = style.parameter("hb-param-graphic-size-primary-small", 
-            rowHeight);
-    if (!ok) {
-        DPRINT << ": ERROR! Paremeters reading failed!! Using default";
-        rowHeight = 26.8;
-    }
-    
-    DPRINT << ": rowHeight: " << rowHeight;
-    return rowHeight; 
-}
-
-/*!
-   InfoWidgetLayoutManager::contentWidget()
-*/
-QGraphicsWidget* InfoWidgetLayoutManager::contentWidget()
-{
-    DPRINT; 
-    return getWidget(RoleContent); 
-}
-
-/*!
-   InfoWidgetLayoutManager::getWidget();
-*/
-QGraphicsWidget* InfoWidgetLayoutManager::getWidget(LayoutItemRole itemRole)
-{
-    DPRINT << ": item role: " << itemRole;
-    
-    QGraphicsWidget *widget = m_widgets.value(itemRole); 
-    if (widget) {
-        DPRINT << ": widget: " << widget;
-    }
-    
-    return widget; 
-}
-
-/*!
-   InfoWidgetLayoutManager::removeWidget();
-*/
-void InfoWidgetLayoutManager::removeWidget(LayoutItemRole itemRole)
-{
-    DPRINT << ": item role: " << itemRole;
-    
-    QGraphicsWidget *widget = m_widgets.value(itemRole); 
-    if (widget) {
-        DPRINT << ": removing widget: " << widget;        
-        m_widgets.remove(itemRole);
-        delete widget;
-    }
-}
-
-/*!
-   InfoWidgetLayoutManager::hideWidget();
-*/
-void InfoWidgetLayoutManager::hideWidget(LayoutItemRole itemRole)
-{
-    DPRINT << ": item role: " << itemRole;
-    
-    QGraphicsWidget *widget = m_widgets.value(itemRole); 
-    if (widget) {
-        DPRINT << ": hiding widget: " << widget;
-        widget->hide();
-    }
-}
-
-/*!
-   InfoWidgetLayoutManager::hideAll();
-*/
-void InfoWidgetLayoutManager::hideAll()
-{
-    DPRINT << ": IN";
-    
-    QMapIterator<LayoutItemRole, QGraphicsWidget *> iterator(m_widgets);
-    while (iterator.hasNext()) {
-        iterator.next();
-        QGraphicsWidget *widget = iterator.value(); 
-        if (widget) {
-            widget->hide();
-        }
-    }
-    
-    DPRINT << ": OUT";
-}
-
-/*!
-   InfoWidgetLayoutManager::showAll();
-*/
-void InfoWidgetLayoutManager::showAll()
-{
-    DPRINT << ": IN";
-    
-    QMapIterator<LayoutItemRole, QGraphicsWidget *> iterator(m_widgets);
-    while (iterator.hasNext()) {
-        iterator.next();
-        QGraphicsWidget *widget = iterator.value(); 
-        if (widget) {
-            widget->show(); 
-        }
-    }
-    
-    DPRINT << ": OUT";
-}
-
-/*!
-    InfoWidgetLayoutManager::layoutInfoDisplay()
-*/
-QGraphicsLayout* InfoWidgetLayoutManager::layoutInfoDisplay()
-{   
-    DPRINT << ": IN";
-
-    hideAll(); 
-
-    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::layoutSettingsDisplay()
-*/
-QGraphicsLayout* InfoWidgetLayoutManager::layoutSettingsDisplay()
-{   
-    DPRINT << ": IN";
-    
-    hideAll(); 
-    
-    m_displayRole = SettingsDisplay;
-    m_widgets = m_settingsDisplayWidgets; 
-    
-    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::loadWidgets()
-*/
-bool InfoWidgetLayoutManager::loadWidgets(const DisplayRole displayRole, 
-        const QList<LayoutItemRole> &displayWidgets,
-        QMap<LayoutItemRole, QGraphicsWidget *> &widgetMap)
-{
-    DPRINT << ": IN";
-    bool loadResult(false); 
-
-    // Cleanup previously loaded content in case of any data  
-    widgetMap.clear(); 
-    
-    if (!m_documentLoader) {
-        m_documentLoader = new InfoWidgetDocumentLoader;
-    }    
-    Q_ASSERT(m_documentLoader); 
-    
-    bool loaded = false;
-    m_documentLoader->load(INFOWIDGET_DOCML_FILE, &loaded);
-    
-    Q_ASSERT_X(loaded, 
-            "InfoWidgetLayoutManager", 
-            "Invalid docml file");    
-    
-    DPRINT << ": document " << INFOWIDGET_DOCML_FILE << " loaded successfully"; 
-    
-    QGraphicsWidget *widget(NULL);
-    LayoutItemRole currentWidgetRole;
-    
-    foreach (currentWidgetRole, displayWidgets) {
-        DPRINT << ": iterating displayWidgets, current role: " << static_cast<int>(currentWidgetRole);
-    
-        widget = loadWidget(*m_documentLoader, displayRole, currentWidgetRole);
-        if (widget) {
-            DPRINT << ": widget found, inserting to widget map";
-            widgetMap.insert(currentWidgetRole, widget);
-            widget = NULL;
-        } else {
-            DCRITICAL << ": ERROR, widget not found!";
-        }
-    }
-    
-    if (widgetMap.count() == displayWidgets.count()) {
-        DPRINT << ": all widgets loaded";
-        loadResult = true;
-    } else {
-        DCRITICAL << ": error, all widgets were not loaded";
-    }        
-    
-    DPRINT << ": OUT";
-    return loadResult; 
-}
-
-/*!
-    InfoWidgetLayoutManager::reloadWidgets()
-*/
-bool InfoWidgetLayoutManager::reloadWidgets(const DisplayRole displayRole)
-{
-    QList<LayoutItemRole> displayWidgetRoles = widgetRoles(displayRole); 
-    bool loadResult(false); 
-    
-    switch (displayRole) {
-        case InfoDisplay:
-            loadResult = loadWidgets(displayRole, 
-                        displayWidgetRoles,
-                        m_infoDisplayWidgets); 
-            break; 
-        case SettingsDisplay: // Fall through 
-        default: 
-            break; 
-    }
-    return loadResult; 
-}
-
-/*!
-    InfoWidgetLayoutManager::loadWidget()
-    
-    Initialize loader with corresponding document file before calling this single widget loader utility   
-*/
-QGraphicsWidget* InfoWidgetLayoutManager::loadWidget(InfoWidgetDocumentLoader &loader, 
-        DisplayRole displayRole, 
-        LayoutItemRole widgetRole)
-{
-    DPRINT << ": IN";
-     
-    QString widgetPrefix; 
-    if (displayRole == InfoDisplay) {
-        widgetPrefix = LAYOUT_PREFIX_INFO_DISPLAY;
-    } else if (displayRole == SettingsDisplay) {
-        widgetPrefix = LAYOUT_PREFIX_SETTINGS_DISPLAY;
-    }
-        
-    QGraphicsWidget *widget(NULL);
-    QString widgetName = widgetPrefix;
-    
-    switch (widgetRole) 
-        {
-        case RoleContent: 
-            widgetName.append(LAYOUT_NAME_CONTENT);
-        break;     
-        case RoleMcnMarqueeItem: 
-            widgetName.append(LAYOUT_NAME_MCNMARQUEEITEM);
-        break; 
-        case RoleSpnLabel: 
-            widgetName.append(LAYOUT_NAME_SPNLABEL);
-        break;
-        case RoleSatMarqueeItem: 
-            widgetName.append(LAYOUT_NAME_SATMARQUEEITEM);
-        break; 
-        case RoleSpnIcon: 
-            widgetName.append(LAYOUT_NAME_SPNICON);
-        break; 
-        case RoleMcnIcon: 
-            widgetName.append(LAYOUT_NAME_MCNICON);
-        break; 
-        case RoleSatTextIcon: 
-            widgetName.append(LAYOUT_NAME_SATTEXTICON);
-        break;
-        case RoleSpnCheckBox: 
-            widgetName.append(LAYOUT_NAME_SPNCHECKBOX);
-        break; 
-        case RoleMcnCheckBox: 
-            widgetName.append(LAYOUT_NAME_MCNCHECKBOX);
-        break; 
-        case RoleSatTextCheckBox: 
-            widgetName.append(LAYOUT_NAME_SATTEXTCHECKBOX);
-        break; 
-        case RoleOkButton: 
-            widgetName.append(LAYOUT_NAME_OKBUTTON);
-        break; 
-        case RoleContainer: 
-            widgetName.append(LAYOUT_NAME_CONTAINER);
-        break; 
-        case RoleSettingsContainer: 
-            widgetName.append(LAYOUT_NAME_SETTINGSCONTAINER);
-        break; 
-
-        case RoleUndefined: // Fall through 
-        default: 
-            break; 
-        }
-    
-    widget = qobject_cast<QGraphicsWidget *>(loader.findWidget(widgetName));
-    if (!widget) {
-        DCRITICAL << ": ERROR, widget " << widgetName << " not found!";
-    }
-           
-    DPRINT << ": OUT";
-    return widget; 
-}
-
-/*!
-    InfoWidgetLayoutManager::widgetRoles()
-    
-    Returns supported widget roles for specific display
-*/
-const QList<InfoWidgetLayoutManager::LayoutItemRole> InfoWidgetLayoutManager::widgetRoles(
-        DisplayRole displayRole) const
-{
-    DPRINT << ": IN";
-    
-    QList<LayoutItemRole> widgetRoles; 
-    
-    // Fill supported layout item roles for specific display
-    switch (displayRole) {
-        case SettingsDisplay: 
-            widgetRoles.append(RoleContent); 
-            widgetRoles.append(RoleSpnCheckBox);
-            widgetRoles.append(RoleMcnCheckBox);
-            widgetRoles.append(RoleSatTextCheckBox);
-            widgetRoles.append(RoleOkButton);
-            widgetRoles.append(RoleSettingsContainer); 
-            break;
-        case InfoDisplay: 
-            widgetRoles.append(RoleContent);
-            widgetRoles.append(RoleSpnIcon);
-            widgetRoles.append(RoleSpnLabel);
-            widgetRoles.append(RoleMcnIcon);
-            widgetRoles.append(RoleMcnMarqueeItem);
-            widgetRoles.append(RoleSatTextIcon);
-            widgetRoles.append(RoleSatMarqueeItem);
-            break;
-        default: 
-            break; 
-    }
-    
-    DPRINT << ": widgetRoles.count() : " << widgetRoles.count();
-    DPRINT << ": OUT";
-    return widgetRoles; 
-}    
-    
-// End of File. 
-
-
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/infowidget/src/infowidgetlinehandler.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,63 +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 "infowidgetlinehandler.h"
-#include "infowidgetlogging.h"
-
-
-/*! 
- */
-InfoWidgetLineHandler::InfoWidgetLineHandler(QObject *parent):
-    QObject(parent), 
-    m_activeLine(1)
-{
-    DPRINT; 
-}
-
-/*!
- */
-InfoWidgetLineHandler::~InfoWidgetLineHandler()
-{
-    DPRINT; 
-}    
-
-/*!
- */
-void InfoWidgetLineHandler::logCurrentInfo()
-{
-    DPRINT; 
-} 
-
-/*!
- */
-int InfoWidgetLineHandler::activeLine() const
-{
-    DPRINT << ": active line: " << m_activeLine;
-    return m_activeLine; 
-}
-    
-/*!
- */
-void InfoWidgetLineHandler::setActiveLine(int line)
-{
-    DPRINT << ": active line: " << line; 
-    m_activeLine = line; 
-}
-
-// End of File. 
-
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/infowidget/src/infowidgetnetworkhandler.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,364 +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 <networkhandlingproxy.h>
-#include <cnwsession.h>
-#include <xqsettingsmanager.h>
-#include <xqsettingskey.h>
-#include <settingsinternalcrkeys.h>
-#include "infowidgetnetworkhandler.h"
-#include "infowidgetlogging.h"
-
-
-/*!
-  \class InfoWidgetNetworkHandler
-  \brief Handles network specific functionality of 
-         Operator info widget
-*/
-
-/*!
-    InfoWidgetNetworkHandler::InfoWidgetNetworkHandler()
-*/
-InfoWidgetNetworkHandler::InfoWidgetNetworkHandler(QObject *parent) 
-    : 
-    QObject(parent), 
-    m_nwSession(0)
-{
-    DPRINT << ": IN";
-    
-    // Initialize key
-    // ToDo: need to check if preference is ON initially
-    enableMcn(); 
-    
-    CNWSession *session = 0;
-    QT_TRAP_THROWING(session = CreateL(*this, m_nwInfo));
-    m_nwSession.reset(session);
-    
-    DPRINT << ": OUT";
-}
-
-/*!
-    InfoWidgetNetworkHandler::~InfoWidgetNetworkHandler()
-*/
-InfoWidgetNetworkHandler::~InfoWidgetNetworkHandler()
-{
-    DPRINT;
-
-    // Disable MCN setting, 
-    // no display client
-    disableMcn(); 
-}    
-
-/*!
-    InfoWidgetNetworkHandler::suspend()
-*/
-void InfoWidgetNetworkHandler::suspend()
-{
-    DPRINT;
-    disableMcn(); 
-}
-
-/*!
-    InfoWidgetNetworkHandler::suspend()
-*/
-void InfoWidgetNetworkHandler::resume()
-{
-    DPRINT;
-    enableMcn(); 
-}
-
-/*!
-    InfoWidgetNetworkHandler::serviceProviderName()
-*/
-QString InfoWidgetNetworkHandler::serviceProviderName() const 
-{
-    DPRINT;
-    QString qBuf;
-    qBuf = QString((QChar*)m_nwInfo.iSPName.Ptr(), 
-        m_nwInfo.iSPName.Length());
-    DPRINT << ": serviceProviderName: " << qBuf;
-    
-    return qBuf; 
-}
-
-/*!
-    InfoWidgetNetworkHandler::serviceProviderNameDisplayRequired()
-*/
-bool InfoWidgetNetworkHandler::serviceProviderNameDisplayRequired() const 
-{
-    DPRINT;
-    bool displayRequired(true); 
-    
-    if (m_nwInfo.iServiceProviderNameDisplayReq == 
-            RMobilePhone::KDisplaySPNNotRequired) {
-        displayRequired = false; 
-    } 
-    DPRINT << ": serviceProviderNameDisplayRequired: " <<
-            displayRequired;
-    
-    return displayRequired; 
-}
-
-/*!
-    InfoWidgetNetworkHandler::homeZoneTextTag()
-*/
-QString InfoWidgetNetworkHandler::homeZoneTextTag() const 
-{
-    DPRINT;
-    QString qBuf;
-    qBuf = QString((QChar*)m_nwInfo.iViagTextTag.Ptr(), 
-        m_nwInfo.iViagTextTag.Length());
-    DPRINT << ": homeZoneTextTag: " << qBuf;
-    
-    return qBuf; 
-}
-
-/*!
-    InfoWidgetNetworkHandler::homeZoneIndicatorType()
-*/
-int InfoWidgetNetworkHandler::homeZoneIndicatorType() const 
-{
-    DPRINT;
-    int indicatorType = m_nwInfo.iViagIndicatorType;
-    DPRINT << ": homeZoneIndicatorType: " << indicatorType;
-    
-    return indicatorType; 
-}
-
-/*!
-    InfoWidgetNetworkHandler::enableMcn()
-*/
-void InfoWidgetNetworkHandler::enableMcn() 
-{
-    DPRINT;
-    if (!readMcnDisplayState()) {
-        DPRINT << ": enabling mcn display cenrep";
-        writeMcnDisplayState(true); 
-    }
-}
-
-/*!
-    InfoWidgetNetworkHandler::disableMcn()
-*/
-void InfoWidgetNetworkHandler::disableMcn()
-{
-    DPRINT;
-    if (readMcnDisplayState()) {
-        DPRINT << ": disabling mcn display cenrep";
-        writeMcnDisplayState(false); 
-    }
-}
-
-/*!
-    InfoWidgetNetworkHandler::mcnName()
-*/
-QString InfoWidgetNetworkHandler::mcnName() const 
-{
-    DPRINT;
-    QString qBuf;
-    qBuf = QString((QChar*)m_nwInfo.iMCNName.Ptr(),
-        m_nwInfo.iMCNName.Length());
-    DPRINT << ": mcnName: " << qBuf;
-    
-    return qBuf; 
-}
-
-/*!
-    InfoWidgetNetworkHandler::mcnIndicatorType()
-*/
-int InfoWidgetNetworkHandler::mcnIndicatorType() const 
-{
-    DPRINT;
-    int indicatorType = m_nwInfo.iMCNIndicatorType;
-    DPRINT << ": mcnIndicatorType: " << indicatorType;
-    
-    return indicatorType; 
-}
-
-
-/*!
-    InfoWidgetNetworkHandler::networkRegistrationStatus()
-*/
-int InfoWidgetNetworkHandler::networkRegistrationStatus() const 
-{
-    DPRINT << ": registration status: " <<
-            static_cast<int>(m_nwInfo.iRegistrationStatus);
-    
-    return static_cast<int>(m_nwInfo.iRegistrationStatus); 
-}
-
-/*!
-    InfoWidgetNetworkHandler::isOnline()
-    
-    Check if network registration status is registered and 
-    return status accordingly 
-*/
-bool InfoWidgetNetworkHandler::isOnline() const
-{
-    bool online(false); 
-    
-    switch (networkRegistrationStatus()) {
-        case ENWRegisteredBusy: // Fall through
-        case ENWRegisteredOnHomeNetwork: // Fall through
-        case ENWRegisteredRoaming: 
-            online = true;
-            break; 
-        default: 
-            break; 
-    }
-    
-    DPRINT << ": online: " << online;
-    return online; 
-}
-
-/*!
-    InfoWidgetNetworkHandler::logCurrentInfo()
-*/
-void InfoWidgetNetworkHandler::logCurrentInfo()
-{
-    DPRINT << ": IN"; 
-    
-    QString qBuf; 
-    DPRINT << "iMCNIndicatorType " << m_nwInfo.iMCNIndicatorType;  
-    qBuf = QString((QChar*)m_nwInfo.iMCNName.Ptr(),
-        m_nwInfo.iMCNName.Length());
-    DPRINT << "iMCNName " << qBuf;
-    
-    qBuf = QString((QChar*)m_nwInfo.iSPName.Ptr(),m_nwInfo.iSPName.Length());
-    DPRINT << "iSPName " << qBuf;
-    DPRINT << "iServiceProviderNameDisplayReq " 
-        << m_nwInfo.iServiceProviderNameDisplayReq;
-    
-    DPRINT << "iViagIndicatorType " << m_nwInfo.iViagIndicatorType; 
-    qBuf = QString((QChar*)m_nwInfo.iViagTextTag.Ptr(),
-        m_nwInfo.iViagTextTag.Length());
-    DPRINT << "iViagTextTag " << qBuf;
-    
-    DPRINT << ": OUT";
-} 
-
-/*!
-    InfoWidgetNetworkHandler::HandleNetworkMessage()
-*/
-void InfoWidgetNetworkHandler::HandleNetworkMessage( 
-    const TNWMessages aMessage )
-{   
-    DPRINT << ": message: " << aMessage;
-    
-    bool acceptedMessage = false;
-    switch (aMessage) {
-        case ENWMessageCurrentCellInfoMessage: // Fall through 
-        case ENWMessageServiceProviderNameChange: // Fall through
-        case ENWMessageNetworkRegistrationStatusChange: // Fall through
-            acceptedMessage = true;
-            break;
-        default:
-            // not interesting message, filter out
-            DPRINT << ": message filtered out";
-            acceptedMessage = false;
-    }
-    
-    if (acceptedMessage) {
-        int result = 0;
-        QT_TRYCATCH_ERROR(result, emit networkDataChanged());
-        if (0 != result) {
-            DPRINT << ": Exception occured while emitting signal:" << result;
-        }
-    }
-}
-
-/*!
-    InfoWidgetNetworkHandler::HandleNetworkError()
-*/
-void InfoWidgetNetworkHandler::HandleNetworkError( 
-    const TNWOperation aOperation, 
-    TInt aErrorCode )
-{
-    DPRINT << ": operation: " << aOperation <<  
-        " error code: " << aErrorCode;
-    
-    // Reset invalid data  
-    switch (aOperation) {
-        case MNWMessageObserver::ENWGetServiceProviderName:
-            m_nwInfo.iServiceProviderNameDisplayReq = 
-                    RMobilePhone::KDisplaySPNNotRequired;
-            m_nwInfo.iSPName.Zero();
-        break;
-        default: 
-            break; 
-    }
-    
-    // Emit error signal 
-    int result = 0;
-    QT_TRYCATCH_ERROR(result, emit networkError( 
-        static_cast<int>(aOperation), static_cast<int>(aErrorCode)));
-    if (0 != result) {
-        DPRINT << ": Exception occured while emitting signal:" << result;
-    }
-}
-
-/*!
-    InfoWidgetNetworkHandler::writeMcnDisplayState()
-    
-    Handler for cenrep key writing   
-*/
-void InfoWidgetNetworkHandler::writeMcnDisplayState(bool enabled)
-{
-    DPRINT << ": IN";
-    
-    XQSettingsManager *settingsManager = new XQSettingsManager(0); 
-    XQSettingsKey settingsKey(XQSettingsKey::TargetCentralRepository, 
-        KCRUidNetworkSettings.iUid, KSettingsMcnDisplay);
-    int value; 
-    if (enabled) {
-        value = 1; 
-    } else {
-        value = 0; 
-    }
-    bool result = settingsManager->writeItemValue(settingsKey, value );
-    delete settingsManager;
-    
-    DPRINT << ": OUT"; 
-}
-
-/*!
-    InfoWidgetNetworkHandler::readMcnDisplayState()
-*/
-bool InfoWidgetNetworkHandler::readMcnDisplayState()
-{
-    DPRINT << ": IN";
-    bool mcnDisplayKeyOn(false); 
-    
-    XQSettingsManager *settingsManager = new XQSettingsManager(0); 
-    XQSettingsKey settingsKey(XQSettingsKey::TargetCentralRepository, 
-        KCRUidNetworkSettings.iUid, KSettingsMcnDisplay); 
-    bool conversionOk(false); 
-    int value = settingsManager->readItemValue(
-            settingsKey,
-            XQSettingsManager::TypeInt).toInt(&conversionOk);
-    
-    if (conversionOk && value == 1) {
-        mcnDisplayKeyOn = true; 
-    }
-    delete settingsManager;
-        
-    DPRINT << ": OUT";
-    return mcnDisplayKeyOn; 
-}
-
-
-// End of File. 
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/infowidget/src/infowidgetpreferences.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,186 +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 "infowidgetpreferences.h"
-#include "infowidgetlogging.h"
-
-/*!
-  \class InfoWidgetPreferences
-  \brief Preference store for widget  
-         display etc. options   
-*/
-
-
-/*!
-    InfoWidgetPreferences::InfoWidgetPreferences() 
-*/
-InfoWidgetPreferences::InfoWidgetPreferences(QObject *parent): 
-    QObject(parent)
-{
-    DPRINT;
-}
-
-/*!
-    InfoWidgetPreferences::~InfoWidgetPreferences() 
-*/
-InfoWidgetPreferences::~InfoWidgetPreferences()
-{
-    DPRINT;
-}
-
-/*!
-    InfoWidgetPreferences::storePreferences()
-    
-    Store acceptable preference set  
-*/
-bool InfoWidgetPreferences::storePreferences()
-{
-    DPRINT;
-    bool changed(false); 
-    
-    if (validate() && 
-        m_validatedOptions != m_options){
-            DPRINT << ": preferences differ";
-            changed = true; 
-            m_validatedOptions = m_options;
-        }
-    else if (visibleItemCount() <= 0) { 
-        DPRINT << ": invalid options, restoring initial options";
-        restorePreferences();
-    }
-
-    return changed; 
-}
-
-/*!
-    InfoWidgetPreferences::restorePreferences()
-    
-    Restores last acceptable preference set 
-*/
-void InfoWidgetPreferences::restorePreferences()
-{
-    DPRINT;
-    m_options = m_validatedOptions; 
-}
-
-/*!
-    InfoWidgetPreferences::preference() 
-*/
-QString InfoWidgetPreferences::preference(Option preferenceId) const
-{
-    DPRINT << ": preference id: " << static_cast<int>(preferenceId); 
-    
-    QString preferenceString;
-    if (m_options.testFlag(preferenceId)) {
-        preferenceString = DISPLAY_SETTING_ON; 
-    } else {
-        preferenceString = DISPLAY_SETTING_OFF;  
-    } 
-    
-    return preferenceString;
-}
-
-/*!
-    InfoWidgetPreferences::isPreferenceSet()
-*/
-bool InfoWidgetPreferences::isPreferenceSet(Option preferenceId) const
-{
-    DPRINT << ": preference id: " << static_cast<int>(preferenceId); 
-    return m_options.testFlag(preferenceId); 
-}
-
-/*!
-    InfoWidgetPreferences::preferences()
-*/
-InfoWidgetPreferences::Options InfoWidgetPreferences::preferences() const
-{
-    return m_options; 
-}
-
-/*!
-    InfoWidgetPreferences::setPreference() 
-*/
-void InfoWidgetPreferences::setPreference(Option preferenceId, 
-    const QString& preferenceString)
-{
-    DPRINT << ": preference id: " << static_cast<int>(preferenceId);
-    DPRINT << ": preference string: " << preferenceString; 
-    DPRINT << ": initial options: " << m_options;
-    
-    if (preferenceString.compare(DISPLAY_SETTING_ON) == 0) {
-        m_options |= preferenceId; 
-        emit prefChanged(preferenceId,DisplayOn);
-    } else {
-        m_options &= ~preferenceId;
-        emit prefChanged(preferenceId,DisplayOff);
-    }
-    
-    DPRINT << ": modified options: " << m_options;
-}
-
-/*!
-    InfoWidgetPreferences::visibleItemCount() 
-*/
-int InfoWidgetPreferences::visibleItemCount() 
-{
-    DPRINT << ": IN";
-    
-    int visibleItems = 0;
-    if (m_options.testFlag(DisplayHomeZone)){
-        visibleItems++; 
-    }
-    if (m_options.testFlag(DisplayMcn)){
-        visibleItems++; 
-    }
-    if (m_options.testFlag(DisplayActiveLine)){
-        visibleItems++; 
-    }
-    if (m_options.testFlag(DisplaySatText)){
-        visibleItems++; 
-    }
-    if (m_options.testFlag(DisplaySpn)){
-        visibleItems++; 
-    }
-    
-    DPRINT << ": visible item count: " << visibleItems;
-    return visibleItems; 
-}
-
-/*!
-    InfoWidgetPreferences::validate() 
-*/
-bool InfoWidgetPreferences::validate() 
-{
-    return visibleItemCount() > 0; 
-}
-
-/*!
-   InfoWidgetPreferences::preferenceNames()
-   
-   Convenience function for getting all preference names
-*/
-QStringList InfoWidgetPreferences::preferenceNames()
-{
-    QStringList preferenceList; 
-    preferenceList << "spnDisplay" << "homeZoneDisplay" << 
-            "activeLineDisplay" << "satDisplay" << "mcnDisplay";
-    return preferenceList; 
-}
-
-
-// End of File. 
-
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/infowidget/src/infowidgetpreferences_s.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,101 +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 "infowidgetpreferences.h"
-#include "infowidgetlogging.h"
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-InfoWidgetPreferences::InfoWidgetPreferences(IHsWidgetPreferenceService &preferenceService, 
-    QObject* parent)
-    : QObject(parent)
-{
-    DPRINT << "DUMMY IMPLEMENTATION";
-
-    m_options = InfoWidgetPreferences::DisplayActiveLine|
-            InfoWidgetPreferences::DisplayMcn|
-            InfoWidgetPreferences::DisplaySatText|
-            InfoWidgetPreferences::DisplayHomeZone;
-}
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-InfoWidgetPreferences::~InfoWidgetPreferences()
-{
-    DPRINT << "DUMMY IMPLEMENTATION";
-}
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void InfoWidgetPreferences::loadPreferences()
-{
-    DPRINT << "DUMMY IMPLEMENTATION";
-}
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void InfoWidgetPreferences::storePreferences()
-{
-    DPRINT << "DUMMY IMPLEMENTATION";
-}
-
-
-/*!
-    InfoWidgetPreferences::preference() 
-*/
-QString InfoWidgetPreferences::preference(Option preferenceId)
-{
-    DPRINT << "DUMMY IMPLEMENTATION";
-    DPRINT << ": preference id: " << static_cast<int>(preferenceId); 
-    
-    QString preferenceString;
-    if (m_options.testFlag(preferenceId)) {
-        preferenceString = DISPLAY_SETTING_ON; 
-    } else {
-        preferenceString = DISPLAY_SETTING_OFF;  
-    } 
-    
-    return preferenceString; 
-}
-
-/*!
-    InfoWidgetPreferences::setPreference() 
-*/
-void InfoWidgetPreferences::setPreference(Option preferenceId, 
-        QString preferenceString)
-{
-    DPRINT << "DUMMY IMPLEMENTATION";
-    DPRINT << ": preference id: " << static_cast<int>(preferenceId);
-    DPRINT << ": preference string: " << preferenceString; 
-
-    DPRINT << ": initial options: " << m_options;
-    
-    if (preferenceString.compare(DISPLAY_SETTING_ON) == 0) {
-        m_options |= preferenceId; 
-    } else {
-        m_options &= ~preferenceId; 
-    }
-    
-    DPRINT << ": modified options: " << m_options;
-}
-
-// End of File.
-
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/infowidget/src/infowidgetsathandler.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,127 +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 "infowidgetsathandler.h"
-#include "infowidgetsathandlerprivate.h"
-#include "infowidgetlogging.h"
-#include <rsatservice.h>
-
-/*!
-  \class InfoWidgetSatHandler
-  \brief Handles SIM Application Toolkit specific functionality of 
-         Operator info widget
-*/
-
-/*!
- */
-InfoWidgetSatHandler::InfoWidgetSatHandler(QObject *parent):
-    QObject(parent) , m_connected(false)
-{
-    DPRINT << ": IN";
-   
-    d_ptr = new InfoWidgetSatHandlerPrivate(this, m_satService);
-    
-    DPRINT << ": OUT";
-}
-
-/*!
- */
-InfoWidgetSatHandler::~InfoWidgetSatHandler()
-{
-    DPRINT << ": IN";
-    delete d_ptr;
-    DPRINT << ": OUT";
-} 
-
-/*!
-   InfoWidgetSatHandler::connect
- */
-void InfoWidgetSatHandler::connect(bool connect)
-{
-    DPRINT << ": IN : connected = " << m_connected << " : connect = " << connect;
-    if(connect && !m_connected){
-        DPRINT << "connect and startObserving() ";
-        m_connected = d_ptr->connect();
-        if(m_connected){
-            d_ptr->startObserving();
-        }
-    }else if (!connect && m_connected){
-        DPRINT << "disconnect and stopObserving() ";
-        m_connected = d_ptr->disconnect();
-    }
-    DPRINT << ": OUT : connected = " << m_connected;
-}
-
-/*!
-   InfoWidgetSatHandler::logCurrentInfo
- */
-void InfoWidgetSatHandler::logCurrentInfo()
-{
-    DPRINT << ": IN"; 
-    DPRINT << "SAT IdleModeText: " << m_displayText;
-    DPRINT << ": OUT";    
-} 
-
-/*!
-   InfoWidgetSatHandler::satDisplayText
- */
-const QString& InfoWidgetSatHandler::satDisplayText() const
-{
-    DPRINT << ": text: " << m_displayText; 
-    return m_displayText;
-}
-
-/*!
-   InfoWidgetSatHandler::setSatDisplayText
- */
-void InfoWidgetSatHandler::setSatDisplayText(const QString& displayText)
-{
-    DPRINT << ": display text: " << displayText;
-    m_displayText = displayText;
-}
-
-/*!
-   InfoWidgetSatHandler::handleIdleModeTxtMessage
- */
-void InfoWidgetSatHandler::handleIdleModeTxtMessage( int idleResult )
-{
-    DPRINT << ": handleIdleModeTxtMessage: " << idleResult;
-    if(m_connected){
-        m_satService.SetIdleModeTextResponse((RSatService::TSATIdleResult)idleResult);
-    }
-    else{
-        //TODO: What's correct response if widget isn't visible? For now it's permanen problem
-        m_satService.SetIdleModeTextResponse( RSatService::ESATIdleCmdBeyondMeCapabilities );
-    }
- 
-    //Pass the result
-    emit handleMessage(idleResult);
-}
-
-/*!
-   InfoWidgetSatHandler::handleSatError
- */
-void InfoWidgetSatHandler::handleSatError( int operation, int errorCode )
-{
-    DPRINT << ": satError : operation: " << operation << ": errorCode: "<<errorCode;
-    m_satService.SetIdleModeTextResponse( RSatService::ESATIdleMeUnableToProcessCmd );
-    emit handleError(operation, errorCode);
-}
-
-// End of File. 
-
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/infowidget/src/infowidgetsathandlerprivate.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,182 +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 <FBS.H>
-
-#include "InfoWidgetSatHandlerPrivate.h"
-#include "InfoWidgetSatHandler.h"
-#include "infowidgetlogging.h"
-
-/*!
-   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
- */
-int InfoWidgetSatHandlerPrivate::connect()
-{
-    TInt result( KErrGeneral  );
-    TRAP(result, m_satSession.ConnectL());
-    if (0 != result) {
-        DPRINT << ": Exception occured while connecting SatSession:" << result;
-    }
-    else{
-        TRAP(result, m_satService.OpenL(m_satSession));
-        if (0 != result) {
-            DPRINT << ": Exception occured while opening SatService:" << result;
-        }
-    }
-    return !result;
-}
-/*! 
-   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";
-}
-
-
-    
-
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/infowidgetprovider.pri	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,69 +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/infowidgetprovider.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 \
-    ./src/infowidgetprovider.cpp \
-    ./infowidget/src/infowidget.cpp \
-    ./infowidget/src/infowidgetlayoutmanager.cpp \
-    ./infowidget/src/infowidgetengine.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)
-    }
-}
-
-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}.s60xml z:$$qtplugins.path/$${TARGET}.xml"
-    
-    for(qtplugin, qtplugins.sources):BLD_INF_RULES.prj_exports += "./$$qtplugin z:$$qtplugins.path/$$basename(qtplugin)"
-}
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/infowidgetprovider.pro	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,80 +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 svg mobility
-MOBILITY = serviceframework
-
-TRANSLATIONS = operator_widget.ts
-
-MOC_DIR = moc
-RCC_DIR = rcc
-
-symbian: {
-LIBS += -lhswidgetmodel \
-    -lnetworkhandling \
-    -lcbsclient \
-    -lcbsmcnclient \
-    -lxqsettingsmanager \
-    -lsatclient
-}
-   
-INCLUDEPATH += ./inc \
-    ./infowidget/inc 
-    
-symbian: { 
-    load(data_caging_paths)
-    INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
-    TARGET.UID3 = 0x20029F28
-    TARGET.EPOCALLOWDLLDATA = 1
-    TARGET.CAPABILITY = ALL \
-        -TCB
-    deploy.path = c:
-    
-    DEPLOYMENT += exportheaders  
-        
-    BLD_INF_RULES.prj_exports +=  \
-     "$${LITERAL_HASH}include <platform_paths.hrh>" \
-     "./rom/infowidgetprovider.iby    CORE_APP_LAYER_IBY_EXPORT_PATH(infowidgetprovider.iby)" \
-	 "./rom/infowidgetprovider_resources.iby LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(infowidgetprovider_resources.iby)" 
-}
-win32: { 
-    INCLUDEPATH += ../../../../homescreensrv/homescreensrv_plat/hswidgetmodel_api
-    include(infowidgetprovider_installs_win32.pri)
-}
-RESOURCES = infowidgetprovider.qrc
-
-symbian: PLUGIN_SUBDIR = /private/20022F35/import/widgetregistry/20029F28
-win32: PLUGIN_SUBDIR = /hsresources/import/widgetregistry/20029F28
-OUTPUT_DIR = ./bin
-SOURCE_DIR = ./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(infowidgetprovider.pri)
-
-exportResources(./resource/*.manifest, $$PLUGIN_SUBDIR)
-exportResources(./resource/*.png, $$PLUGIN_SUBDIR)
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/infowidgetprovider.qrc	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<RCC>
-    <qresource prefix="/">
-        <file>resource/infowidget.png</file>
-        <file>resource/infowidget.docml</file>
-    </qresource>
-</RCC>
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/infowidgetprovider_hw.pkg	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,42 +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:
-;
-
-; Language
-&EN
-
-; SIS header: name, uid, version
-#{"infowidgetprovider"},(0x20029F28),1,0,0
-
-; Localised Vendor name
-%{"Vendor"}
-
-; Unique Vendor name
-:"Vendor"
-
-; Manual PKG pre-rules from PRO files
-; Default HW/platform dependencies
-[0x101F7961],0,0,0,{"S60ProductID"}
-[0x102032BE],0,0,0,{"S60ProductID"}
-[0x102752AE],0,0,0,{"S60ProductID"}
-[0x1028315F],0,0,0,{"S60ProductID"}
-
-; DEPLOYMENT
-"/epoc32/release/armv5/urel/infowidgetprovider.dll"    - "c:\sys\bin\infowidgetprovider.dll"
-"/epoc32/data/z/private/20022F35/import/widgetregistry/20029F28/infowidgetprovider.qtplugin"  - "c:/private/20022F35/import/widgetregistry/20029F28/infowidgetprovider.qtplugin"
-"/epoc32/data/z/private/20022F35/import/widgetregistry/20029F28/infowidgetprovider.manifest"  - "c:/private/20022F35/import/widgetregistry/20029F28/infowidgetprovider.manifest"
-"/epoc32/data/z/private/20022F35/import/widgetregistry/20029F28/infowidget.png"       - "c:/private/20022F35/import/widgetregistry/20029F28/infowidget.png"
-
-; Manual PKG post-rules from PRO files
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/infowidgetprovider_installs_win32.pri	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +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: 
-#
-
-#
-# Release
-#
-
-r01.path = ../../../bin/release/hsresources/import/widgetregistry/20029F28
-r01.files = ./release/*.dll \
-            ./resource/*.manifest \
-            ./resource/*.png
-
-INSTALLS += r01
-
-#
-# Debug
-#
-
-d01.path = ../../../../bin/debug/hsresources/import/widgetregistry/20029F28
-d01.files = ./debug/*.dll \
-            ./resource/*.manifest \
-            ./resource/*.png
-
-INSTALLS += d01
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/resource/infowidget.docml	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,145 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<hbdocument version="1.0">
-    <widget name="id:content" type="HbWidget">
-        <widget name="id:container" type="HbWidget">
-            <widget name="id:settingsContainer" type="HbWidget">
-                <widget name="id:spnIcon" type="HbLabel">
-                    <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
-                    <icon iconName="qtg_large_network.svg" name="icon"/>
-                    <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
-                    <sizehint height="var(hb-param-graphic-size-primary-small)" type="FIXED" width="var(hb-param-graphic-size-primary-small)"/>
-                </widget>
-                <widget name="id:mcnIcon" type="HbLabel">
-                    <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
-                    <icon iconName="qtg_large_cellinfo.svg" name="icon"/>
-                    <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
-                    <sizehint height="var(hb-param-graphic-size-primary-small)" type="FIXED" width="var(hb-param-graphic-size-primary-small)"/>
-                </widget>
-                <widget name="id:satTextIcon" type="HbLabel">
-                    <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
-                    <icon iconName="qtg_large_sat" name="icon"/>
-                    <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
-                    <sizehint height="var(hb-param-graphic-size-primary-small)" type="FIXED" width="var(hb-param-graphic-size-primary-small)"/>
-                </widget>
-                <widget name="id:spnLabel" type="HbLabel">
-                    <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
-                    <sizehint height="var(hb-param-text-height-tiny)" type="FIXED" width="22.8806un"/>
-                    <fontspec name="fontSpec" role="Secondary" textheight="var(hb-param-text-height-tiny)"/>
-                </widget>
-                <widget name="id:mcnMarqueeItem" type="HbMarqueeItem">
-                    <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
-                    <sizehint type="FIXED" width="22.8806un"/>
-                    <fontspec name="fontSpec" role="Secondary" textheight="var(hb-param-text-height-tiny)"/>
-                </widget>
-                <widget name="id:satMarqueeItem" type="HbMarqueeItem">
-                    <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
-                    <sizehint type="FIXED" width="22.8806un"/>
-                    <fontspec name="fontSpec" role="Secondary" textheight="var(hb-param-text-height-tiny)"/>
-                </widget>
-                <real name="z" value="0"/>
-                <layout spacing="0px" type="grid">
-                    <contentsmargins bottom="var(hb-param-margin-gene-bottom)" left="var(hb-param-margin-gene-left)" right="var(hb-param-margin-gene-right)" top="var(hb-param-margin-gene-top)"/>
-                    <griditem column="0" itemname="id:spnIcon" row="0"/>
-                    <griditem column="1" itemname="id:spnLabel" row="0"/>
-                    <griditem column="0" itemname="id:mcnIcon" row="1"/>
-                    <griditem column="1" itemname="id:mcnMarqueeItem" row="1"/>
-                    <griditem column="0" itemname="id:satTextIcon" row="2"/>
-                    <griditem column="1" itemname="id:satMarqueeItem" row="2"/>
-                </layout>
-            </widget>
-        </widget>
-        <rect height="10un" name="geometry" width="34un" x="14.77612un" y="41.64179un"/>
-        <sizepolicy horizontalPolicy="Preferred" horizontalStretch="0" verticalPolicy="Preferred" verticalStretch="0"/>
-        <sizehint height="9un" type="PREFERRED" width="34un"/>
-        <sizehint height="9un" type="MINIMUM" width="34un"/>
-        <sizehint height="31un" type="MAXIMUM" width="34un"/>
-        <layout type="anchor">
-            <anchoritem dst="id:container" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
-            <anchoritem dst="id:container" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
-            <anchoritem dst="id:container" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
-            <anchoritem dst="id:container" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
-        </layout>
-    </widget>
-    <widget name="sd:content" type="HbWidget">
-        <widget name="sd:title" type="HbLabel">
-            <contentsmargins bottom="0un" left="var(hb-param-margin-gene-left)" right="var(hb-param-margin-gene-right)" top="0un"/>
-            <string locid="txt_operator_widget_title_select_info" name="plainText" value="Select info"/>
-            <fontspec name="fontSpec" role="Title" textheight="var(hb-param-text-height-title)"/>
-        </widget>
-        <widget name="sd:settingsContainer" type="HbWidget">
-            <widget name="sd:spnCheckBox" type="HbCheckBox">
-                <sizepolicy horizontalPolicy="Preferred" horizontalStretch="0" verticalPolicy="Preferred" verticalStretch="0"/>
-                <sizehint height="var(hb-param-touch-area-gene-primary-small)" type="PREFERRED"/>
-                <sizehint height="var(hb-param-touch-area-gene-primary-small)" type="MINIMUM" width="32un"/>
-                <sizehint height="var(hb-param-touch-area-gene-primary-medium)" type="MAXIMUM" width="var(hb-param-widget-dialog-width)"/>
-                <string locid="txt_operatorwidget_list_spn" name="text"/>
-                <fontspec name="fontSpec" role="Secondary" textheight="var(hb-param-text-height-tiny)"/>
-            </widget>
-            <widget name="sd:mcnCheckBox" type="HbCheckBox">
-                <sizepolicy horizontalPolicy="Preferred" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
-                <sizehint height="var(hb-param-touch-area-gene-primary-small)" type="PREFERRED" width="32un"/>
-                <sizehint height="var(hb-param-touch-area-gene-primary-small)" type="MINIMUM" width="32un"/>
-                <sizehint height="var(hb-param-touch-area-gene-primary-medium)" type="MAXIMUM" width="var(hb-param-widget-dialog-width)"/>
-                <string locid="txt_operatorwidget_list_cell_information" name="text"/>
-                <fontspec name="fontSpec" role="Secondary" textheight="var(hb-param-text-height-tiny)"/>
-            </widget>
-            <widget name="sd:satTextCheckBox" type="HbCheckBox">
-                <sizepolicy horizontalPolicy="Preferred" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
-                <sizehint height="var(hb-param-touch-area-gene-primary-small)" type="PREFERRED"/>
-                <sizehint height="var(hb-param-touch-area-gene-primary-small)" type="MINIMUM" width="32un"/>
-                <sizehint height="var(hb-param-touch-area-gene-primary-medium)" type="MAXIMUM" width="var(hb-param-widget-dialog-width)"/>
-                <string locid="txt_operatorwidget_list_sat_idle_mode_text" name="text"/>
-                <fontspec name="fontSpec" role="Secondary" textheight="var(hb-param-text-height-tiny)"/>
-            </widget>
-            <widget name="sd:separator1" type="HbLabel">
-                <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
-                <icon iconName="qtg_graf_divider_h_thin.svg" name="icon"/>
-                <real name="z" value="1"/>
-                <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
-                <sizehint height="0.29851un" type="FIXED"/>
-                <sizehint height="0.29851un" type="MINIMUM"/>
-                <contentsmargins bottom="0un" left="0.29851un" right="0.29851un" top="0un"/>
-            </widget>
-            <widget name="sd:separator2" type="HbLabel">
-                <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
-                <icon iconName="qtg_graf_divider_h_thin.svg" name="icon"/>
-                <real name="z" value="1"/>
-                <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
-                <sizehint height="0.29851un" type="FIXED"/>
-                <sizehint height="0.29851un" type="MINIMUM"/>
-                <contentsmargins bottom="0un" left="0.29851un" right="0.29851un" top="0un"/>
-            </widget>
-            <sizehint type="PREFERRED" width="var(hb-param-widget-dialog-width)"/>
-            <sizehint type="MAXIMUM" width="var(hb-param-widget-dialog-width)"/>
-            <layout orientation="Vertical" spacing="var(hb-param-margin-gene-middle-vertical)" type="linear">
-                <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
-                <linearitem itemname="sd:spnCheckBox" spacing="0.75un"/>
-                <linearitem itemname="sd:separator1" spacing="0.75un"/>
-                <linearitem itemname="sd:mcnCheckBox"/>
-                <linearitem itemname="sd:separator2"/>
-                <linearitem itemname="sd:satTextCheckBox" spacing="0un"/>
-            </layout>
-        </widget>
-        <widget name="sd:okButton" type="HbPushButton">
-            <sizepolicy horizontalPolicy="Preferred" horizontalStretch="0" verticalPolicy="Preferred" verticalStretch="0"/>
-            <sizehint height="var(hb-param-touch-area-gene-primary-large)" type="PREFERRED"/>
-            <contentsmargins bottom="0un" left="0un" right="0un" top="var(hb-param-margin-gene-middle-vertical)"/>
-            <sizehint height="var(hb-param-touch-area-gene-primary-large)" type="MAXIMUM"/>
-            <string locid="txt_common_button_ok" name="text" value="OK"/>
-            <string name="state" value="normal"/>
-        </widget>
-        <sizehint type="PREFERRED" width="var(hb-param-widget-dialog-width)"/>
-        <sizehint type="MINIMUM" width="var(hb-param-widget-dialog-width)"/>
-        <contentsmargins bottom="0un" left="0un" right="0un" top="var(hb-param-margin-gene-top)"/>
-        <sizehint height="35un" type="MAXIMUM" width="var(hb-param-widget-dialog-width)"/>
-        <layout orientation="Vertical" spacing="0un" type="linear">
-            <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
-            <linearitem itemname="sd:title"/>
-            <linearitem itemname="sd:settingsContainer"/>
-            <linearitem itemname="sd:okButton" spacing="0un"/>
-        </layout>
-    </widget>
-    <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
-        <uistate name="Common ui state" sections="#common"/>
-    </metadata>
-</hbdocument>
Binary file phoneplugins/infowidgetplugin/infowidgetprovider/resource/infowidget.png has changed
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/resource/infowidgetprovider.manifest	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<widgetprovider>
-    <widget library="infowidgetprovider"
-            uri="infowidgetprovider"
-            title="Operator info"
-            description=""/>
-</widgetprovider>
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/resource/infowidgetprovider.s60xml	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<service>
-    <name>infowidgetprovider</name>
-    <filepath>infowidgetprovider</filepath>
-    <description>Operator widget</description>
-    <interface>
-        <name>com.nokia.symbian.IHomeScreenWidget</name>
-        <version>1.0</version>
-        <description></description>
-        <capabilities></capabilities>
-        <customproperty key="title">Operator</customproperty>
-    </interface>
-</service>
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/resource/infowidgetprovider.xml	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<service>
-    <name>infowidgetprovider</name>
-    <filepath>infowidgetprovider</filepath>
-    <description>Operator widget</description>
-    <interface>
-        <name>com.nokia.symbian.IHomeScreenWidget</name>
-        <version>1.0</version>
-        <description></description>
-        <capabilities></capabilities>
-        <customproperty key="title">Operator</customproperty>
-    </interface>
-</service>
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/resource/qgn_prop_network_2g.svg	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg baseProfile="tiny" height="16px" version="1.1" viewBox="0 0 16 16" width="16px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
-<polygon fill="#030303" fill-opacity="0.7" points="6.248,15.004 6.248,8.396 1.02,3.418 0.998,0 15,0   15,3.418 9.752,8.396 9.752,15.004 " stroke-opacity="0.7"/>
-<path d="M2.006,1v1.479l5.25,5.502L7.25,14h1.5l0.006-6.02l5.25-5.48V1H2.006z M7.256,5.85L4.053,2.5h3.203  V5.85z M8.756,5.85V2.5h3.303L8.756,5.85z" fill="url(#SVGID_1_)"/>
-<rect fill="none" height="16" width="16"/>
-<defs>
-<linearGradient gradientTransform="matrix(1 0 0 -1 0.1377 14.834)" gradientUnits="userSpaceOnUse" id="SVGID_1_" x1="7.8682" x2="7.8682" y1="17.3789" y2="-1.5303">
-<stop offset="0" style="stop-color:#FFFFFF"/>
-<stop offset="1" style="stop-color:#B2B2B2"/>
-</linearGradient>
-</defs>
-</svg>
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/resource/qgn_prop_pb_call.svg	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg baseProfile="tiny" height="16px" version="1.1" viewBox="0 0 16 16" width="16px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
-<rect fill="none" height="16" width="16"/>
-<path d="M9.402,0.102C5.703,2.756,3.136,5.486,0.096,9.423  c-0.053,0.323-0.581,2.854,1.544,5.083c0.422,0.32,1.041,0.957,2.242-0.053c0.42-0.573,1.636-2.156,2-2.666  c0.767-1.167,0.22-1.678-0.597-2.764C5.977,8.334,8.338,5.97,9.027,5.279c0.859,0.607,1.642,1.518,2.734,0.62  c0,0,2.547-1.925,2.775-2.089c1.062-1.219-0.043-2.187,0.025-2.125C12.234-0.574,9.521,0.086,9.402,0.102z" fill="#030303" fill-opacity="0.7" stroke-opacity="0.7"/>
-<path d="M13.271,1.917C12.3,1.238,11.16,0.859,9.811,1.051L9.809,1.053c-3.475,2.65-6.211,5.209-8.75,8.753  L1.057,9.809c-0.208,1.717,0.474,2.99,1.085,3.756c0.362,0.434,0.645,0.558,0.933,0.281l2.021-2.689  c0.139-0.174,0.273-0.401,0-0.674c0,0-0.671-0.674-1.008-1.684L8.8,4.082c1.013,0.335,1.685,1.009,1.685,1.009  c0.272,0.274,0.502,0.139,0.674,0c0,0,2.561-1.896,2.691-2.02C14.176,2.756,14.125,2.533,13.271,1.917z" fill="url(#SVGID_1_)"/>
-<defs>
-<linearGradient gradientTransform="matrix(1 0 0 -1 0.1377 14.834)" gradientUnits="userSpaceOnUse" id="SVGID_1_" x1="7.3892" x2="7.3892" y1="9.834" y2="-13.1661">
-<stop offset="0" style="stop-color:#3687FF"/>
-<stop offset="1" style="stop-color:#051F7D"/>
-</linearGradient>
-</defs>
-</svg>
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/resource/qgn_prop_pb_sim.svg	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg baseProfile="tiny" height="16px" version="1.1" viewBox="0 0 16 16" width="16px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
-<polygon fill="#030303" fill-opacity="0.7" points="16,14 0,14 0,5.588 3.586,2 16,2 " stroke-opacity="0.7"/>
-<polygon fill="none" points="16,16 0.008,16 0,0 15.992,0 "/>
-<linearGradient gradientTransform="matrix(1 0 0 -1 0.1377 14.834)" gradientUnits="userSpaceOnUse" id="SVGID_1_" x1="7.8623" x2="7.8623" y1="9.4336" y2="0.2336">
-<stop offset="0" style="stop-color:#B2B2B2"/>
-<stop offset="1" style="stop-color:#666666"/>
-</linearGradient>
-<polygon fill="url(#SVGID_1_)" points="4,3 1,6.001 1,13 15,13 15,3 "/>
-<linearGradient gradientTransform="matrix(1 0 0 -1 0.1377 14.834)" gradientUnits="userSpaceOnUse" id="SVGID_2_" x1="9.0293" x2="9.0293" y1="9.1592" y2="0.4069">
-<stop offset="0" style="stop-color:#FFE23D"/>
-<stop offset="0.2239" style="stop-color:#FAD337"/>
-<stop offset="0.6537" style="stop-color:#EFAB26"/>
-<stop offset="1" style="stop-color:#E48717"/>
-</linearGradient>
-<path d="M9.459,9.676h3.791V8.159H9.459V9.676z M12.666,6.001H9.459v1.575h3.791V6.584  C13.25,6.262,12.988,6.001,12.666,6.001z M5.084,6.584v0.992h3.791V6.001H5.667C5.344,6.001,5.084,6.262,5.084,6.584z M5.084,9.676  h3.791V8.159H5.084V9.676z M9.459,11.834h3.207c0.322,0,0.584-0.262,0.584-0.584v-0.991H9.459V11.834z M5.084,11.25  c0,0.322,0.26,0.584,0.582,0.584h3.209v-1.575H5.084V11.25z" fill="url(#SVGID_2_)"/>
-</svg>
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/resource/qgn_stat_zone_home_uni.svg	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg baseProfile="tiny" height="8" version="1.1" viewBox="0 0 12 8" width="12" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-<path d="M6.364,0.764L0.648,3.34l0.016,0.008L0.658,3.35h0.001L0.648,4.221l0.974-0.24v3.25c0.849,0.013,1.593,0,2.442,0V5.143  h2.342V7.23c1.601,0,3.124,0,4.62,0V3.994l0.973,0.246V3.367H12L6.364,0.764z"/>
-<rect fill="none" height="8" width="12"/>
-</svg>
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/rom/infowidgetprovider.iby	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +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 __INFOWIDGETPROVIDER_IBY__
-#define __INFOWIDGETPROVIDER_IBY__
-
-file=ABI_DIR\BUILD_DIR\infowidgetprovider.dll                                               SHARED_LIB_DIR\infowidgetprovider.dll
-data=ZPRIVATE\20022f35\import\widgetregistry\20029F28\infowidgetprovider.qtplugin           private\20022f35\import\widgetregistry\20029F28\infowidgetprovider.qtplugin
-data=ZPRIVATE\20022f35\import\widgetregistry\20029F28\infowidgetprovider.manifest           private\20022f35\import\widgetregistry\20029F28\infowidgetprovider.manifest
-data=ZPRIVATE\20022f35\import\widgetregistry\20029F28\infowidget.png                        private\20022f35\import\widgetregistry\20029F28\infowidget.png
-data=ZPRIVATE\20022f35\import\widgetregistry\20029F28\infowidgetprovider.xml                private\20022f35\import\widgetregistry\20029F28\infowidgetprovider.xml
-
-
-#endif //__INFOWIDGETPROVIDER_IBY__
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/rom/infowidgetprovider_resources.iby	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +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 __INFOWIDGETPROVIDER_RESOURCE_IBY__
-#define __INFOWIDGETPROVIDER_RESOURCE_IBY__
-
-#include <data_caging_paths_for_iby.hrh>
-
-data=DATAZ_\QT_TRANSLATIONS_DIR\operator_widget.qm QT_TRANSLATIONS_DIR\operator_widget.qm 
-
-#endif 
\ No newline at end of file
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/src/infowidgetprovider.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +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 <qserviceinterfacedescriptor.h>
-#include <qabstractsecuritysession.h>
-#include <qservicecontext.h>
-
-#include "infowidgetprovider.h"
-#include "infowidget.h"
-
-
-/*!
-  \class InfoWidgetProvider
-  
-  \brief Homescreen Widget for providing operator information   
-*/
-QObject *InfoWidgetProvider::createInstance(const QServiceInterfaceDescriptor &descriptor,
-                                             QServiceContext *context,
-                                             QAbstractSecuritySession *session)
-{
-    Q_UNUSED(context);
-    Q_UNUSED(session);
-
-    if (descriptor.interfaceName() == QLatin1String("com.nokia.symbian.IHomeScreenWidget")) {
-        return new InfoWidget();
-    } else {
-        return 0;
-    }
-}
-
-
-Q_EXPORT_PLUGIN2(infowidgetprovider, InfoWidgetProvider)
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/common/qtestmains60.h	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +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 QTESTMAINS60
-#define QTESTMAINS60
-
-#define QTEST_MAIN_S60(TestObject) \
-int main(int argc, char *argv[]) \
-{ \
-char *new_argv[3]; \
-QCoreApplication app(argc, argv); \
-\
-QString str = "C:\\data\\" + QFileInfo(QCoreApplication::applicationFilePath()).baseName() + ".log"; \
-QByteArray   bytes  = str.toAscii(); \
-\
-char arg1[] = "-o"; \
-\
-new_argv[0] = argv[0]; \
-new_argv[1] = arg1; \
-new_argv[2] = bytes.data(); \
-\
-TestObject tc; \
-return QTest::qExec(&tc, 3, new_argv); \
-}
-
-#endif
\ No newline at end of file
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/mocks/mock_RSatSession.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +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 <QDebug>
-#include <smcmockclassincludes.h>
-#include "RSatSession.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// RSatSession::RSatSession
-// -----------------------------------------------------------------------------
-//
-RSatSession::RSatSession(  )
-    {
-    
-    }
-
-
-// -----------------------------------------------------------------------------
-// RSatSession::ConnectL
-// -----------------------------------------------------------------------------
-//
-void RSatSession::ConnectL(  )
-    {
-    SMC_MOCK_METHOD0( void )
-    }
-
-
-// -----------------------------------------------------------------------------
-// RSatSession::Version
-// -----------------------------------------------------------------------------
-//
-TVersion RSatSession::Version(  ) const
-    {
-    SMC_MOCK_METHOD0( TVersion )
-    }
-
-
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/mocks/mock_hbcolorscheme.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +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 <QDebug>
-#include <smcmockclassincludes.h>
-#include <hbcolorscheme.h>
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// QString::color
-// -----------------------------------------------------------------------------
-//
-QColor HbColorScheme::color( 
-        const QString & colorRole )
-    {
-    SMC_MOCK_METHOD1( QColor, const QString &, colorRole )
-    }
-
-
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/mocks/mock_hbdocumentloader.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,182 +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 <QDebug>
-#include <smcmockclassincludes.h>
-#include <hbmainwindow.h>
-#include <QString>
-#include <QGraphicsWidget>
-#include <QFile>
-
-#include "hbdocumentloader.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// HbDocumentLoader::HbDocumentLoader
-// -----------------------------------------------------------------------------
-//
-HbDocumentLoader::HbDocumentLoader(  )
-    : d_ptr(0)
-    {
-    
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbDocumentLoader::HbDocumentLoader
-// -----------------------------------------------------------------------------
-//
-HbDocumentLoader::HbDocumentLoader( 
-        const HbMainWindow * window )
-    : d_ptr(0)    
-    {
-    
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbDocumentLoader::~HbDocumentLoader
-// -----------------------------------------------------------------------------
-//
-HbDocumentLoader::~HbDocumentLoader(  )
-    {
-    
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbDocumentLoader::load
-// -----------------------------------------------------------------------------
-//
-QObjectList HbDocumentLoader::load( 
-        const QString & fileName,
-        const QString & section,
-        bool * ok )
-    {
-    SMC_MOCK_METHOD3( QObjectList, const QString &, fileName, 
-        const QString &, section, 
-        bool *, ok )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbDocumentLoader::load
-// -----------------------------------------------------------------------------
-//
-QObjectList HbDocumentLoader::load( 
-        QIODevice * device,
-        const QString & section,
-        bool * ok )
-    {
-    SMC_MOCK_METHOD3( QObjectList, QIODevice *, device, 
-        const QString &, section, 
-        bool *, ok )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbDocumentLoader::load
-// -----------------------------------------------------------------------------
-//
-QObjectList HbDocumentLoader::load( 
-        const QString & fileName,
-        bool * ok )
-    {
-    SMC_MOCK_METHOD2( QObjectList, const QString &, fileName, 
-        bool *, ok )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbDocumentLoader::load
-// -----------------------------------------------------------------------------
-//
-QObjectList HbDocumentLoader::load( 
-        QIODevice * device,
-        bool * ok )
-    {
-    SMC_MOCK_METHOD2( QObjectList, QIODevice *, device, 
-        bool *, ok )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbDocumentLoader::findWidget
-// -----------------------------------------------------------------------------
-//
-QGraphicsWidget * HbDocumentLoader::findWidget( 
-        const QString & name ) const
-    {
-    SMC_MOCK_METHOD1( QGraphicsWidget *, const QString &, name )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbDocumentLoader::findObject
-// -----------------------------------------------------------------------------
-//
-QObject * HbDocumentLoader::findObject( 
-        const QString & name ) const
-    {
-    SMC_MOCK_METHOD1( QObject *, const QString &, name )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbDocumentLoader::setObjectTree
-// -----------------------------------------------------------------------------
-//
-bool HbDocumentLoader::setObjectTree( 
-        QObjectList roots )
-    {
-    SMC_MOCK_METHOD1( bool, QObjectList, roots )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbDocumentLoader::reset
-// -----------------------------------------------------------------------------
-//
-void HbDocumentLoader::reset(  )
-    {
-    SMC_MOCK_METHOD0( void )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbDocumentLoader::version
-// -----------------------------------------------------------------------------
-//
-QString HbDocumentLoader::version(  )
-    {
-    SMC_MOCK_METHOD0( QString )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbDocumentLoader::createObject
-// -----------------------------------------------------------------------------
-//
-QObject * HbDocumentLoader::createObject( 
-        const QString & type,
-        const QString & name )
-    {
-    SMC_MOCK_METHOD2( QObject *, const QString &, type, 
-        const QString &, name )
-    }
-
-
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/mocks/mock_hbframedrawer.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,347 +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 <QDebug>
-#include <QBitmap>
-#include <QPainter>
-#include <QGraphicsItem>
-#include <smcmockclassincludes.h>
-#include <hbframedrawer.h>
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// HbFrameDrawer::HbFrameDrawer
-// -----------------------------------------------------------------------------
-//
-HbFrameDrawer::HbFrameDrawer( 
-        bool cacheFlag )
-    {
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbFrameDrawer::HbFrameDrawer
-// -----------------------------------------------------------------------------
-//
-HbFrameDrawer::HbFrameDrawer( 
-        const QString & frameGraphicsName,
-        FrameType type,
-        bool cacheFlag )
-    {
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbFrameDrawer::~HbFrameDrawer
-// -----------------------------------------------------------------------------
-//
-HbFrameDrawer::~HbFrameDrawer(  )
-    {
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbFrameDrawer::isNull
-// -----------------------------------------------------------------------------
-//
-bool HbFrameDrawer::isNull(  ) const
-    {
-    SMC_MOCK_METHOD0( bool )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbFrameDrawer::frameGraphicsName
-// -----------------------------------------------------------------------------
-//
-QString HbFrameDrawer::frameGraphicsName(  ) const
-    {
-    SMC_MOCK_METHOD0( QString )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbFrameDrawer::setFrameGraphicsName
-// -----------------------------------------------------------------------------
-//
-void HbFrameDrawer::setFrameGraphicsName( 
-        const QString & frameGraphicsName )
-    {
-    SMC_MOCK_METHOD1( void, const QString &, frameGraphicsName )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbFrameDrawer::frameType
-// -----------------------------------------------------------------------------
-//
-HbFrameDrawer::FrameType HbFrameDrawer::frameType() const
-    {
-    SMC_MOCK_METHOD0( FrameType )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbFrameDrawer::setFrameType
-// -----------------------------------------------------------------------------
-//
-void HbFrameDrawer::setFrameType( 
-        HbFrameDrawer::FrameType type )
-    {
-    SMC_MOCK_METHOD1( void, FrameType, type )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbFrameDrawer::borderWidths
-// -----------------------------------------------------------------------------
-//
-void HbFrameDrawer::borderWidths( 
-        qreal & left,
-        qreal & top,
-        qreal & right,
-        qreal & bottom ) const
-    {
-    SMC_MOCK_METHOD4( void, qreal &, left, 
-        qreal &, top, 
-        qreal &, right, 
-        qreal &, bottom )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbFrameDrawer::setBorderWidths
-// -----------------------------------------------------------------------------
-//
-void HbFrameDrawer::setBorderWidths( 
-        const qreal left,
-        const qreal top,
-        const qreal right,
-        const qreal bottom )
-    {
-    SMC_MOCK_METHOD4( void, const qreal, left, 
-        const qreal, top, 
-        const qreal, right, 
-        const qreal, bottom )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbFrameDrawer::setBorderWidths
-// -----------------------------------------------------------------------------
-//
-void HbFrameDrawer::setBorderWidths( 
-        const qreal horizontal,
-        const qreal vertical )
-    {
-    SMC_MOCK_METHOD2( void, const qreal, horizontal, 
-        const qreal, vertical )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbFrameDrawer::setBorderWidth
-// -----------------------------------------------------------------------------
-//
-void HbFrameDrawer::setBorderWidth( 
-        const qreal width )
-    {
-    SMC_MOCK_METHOD1( void, const qreal, width )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbFrameDrawer::fillWholeRect
-// -----------------------------------------------------------------------------
-//
-bool HbFrameDrawer::fillWholeRect(  ) const
-    {
-    SMC_MOCK_METHOD0( bool )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbFrameDrawer::setFillWholeRect
-// -----------------------------------------------------------------------------
-//
-void HbFrameDrawer::setFillWholeRect( 
-        bool fill )
-    {
-    SMC_MOCK_METHOD1( void, bool, fill )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbFrameDrawer::mirroringMode
-// -----------------------------------------------------------------------------
-//
-HbIcon::MirroringMode HbFrameDrawer::mirroringMode(  ) const
-    {
-    SMC_MOCK_METHOD0( HbIcon::MirroringMode )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbFrameDrawer::setMirroringMode
-// -----------------------------------------------------------------------------
-//
-void HbFrameDrawer::setMirroringMode( 
-        HbIcon::MirroringMode mode )
-    {
-    SMC_MOCK_METHOD1( void, HbIcon::MirroringMode, mode )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbFrameDrawer::fileNameSuffixList
-// -----------------------------------------------------------------------------
-//
-QStringList HbFrameDrawer::fileNameSuffixList(  ) const
-    {
-    SMC_MOCK_METHOD0( QStringList )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbFrameDrawer::setFileNameSuffixList
-// -----------------------------------------------------------------------------
-//
-void HbFrameDrawer::setFileNameSuffixList( 
-        const QStringList & list )
-    {
-    SMC_MOCK_METHOD1( void, const QStringList &, list )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbFrameDrawer::setMask
-// -----------------------------------------------------------------------------
-//
-void HbFrameDrawer::setMask( 
-        const QPixmap & mask )
-    {
-    SMC_MOCK_METHOD1( void, const QPixmap &, mask )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbFrameDrawer::setMask
-// -----------------------------------------------------------------------------
-//
-void HbFrameDrawer::setMask( 
-        const QBitmap & mask )
-    {
-    SMC_MOCK_METHOD1( void, const QBitmap &, mask )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbFrameDrawer::mask
-// -----------------------------------------------------------------------------
-//
-QPixmap HbFrameDrawer::mask(  ) const
-    {
-    SMC_MOCK_METHOD0( QPixmap )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbFrameDrawer::maskBitmap
-// -----------------------------------------------------------------------------
-//
-QBitmap HbFrameDrawer::maskBitmap(  ) const
-    {
-    SMC_MOCK_METHOD0( QBitmap )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbFrameDrawer::frameSize
-// -----------------------------------------------------------------------------
-//
-QSize HbFrameDrawer::frameSize(  ) const
-    {
-    SMC_MOCK_METHOD0( QSize )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbFrameDrawer::themeChanged
-// -----------------------------------------------------------------------------
-//
-void HbFrameDrawer::themeChanged(  )
-    {
-    SMC_MOCK_METHOD0( void )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbFrameDrawer::setLayoutDirection
-// -----------------------------------------------------------------------------
-//
-void HbFrameDrawer::setLayoutDirection( 
-        Qt::LayoutDirection direction )
-    {
-    SMC_MOCK_METHOD1( void, Qt::LayoutDirection, direction )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbFrameDrawer::setGraphicsItem
-// -----------------------------------------------------------------------------
-//
-void HbFrameDrawer::setGraphicsItem( 
-        QGraphicsItem * item )
-    {
-    SMC_MOCK_METHOD1( void, QGraphicsItem *, item )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbFrameDrawer::paint
-// -----------------------------------------------------------------------------
-//
-void HbFrameDrawer::paint( 
-        QPainter * painter,
-        const QRectF & rect ) const
-    {
-    SMC_MOCK_METHOD2( void, QPainter *, painter, 
-        const QRectF &, rect )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbFrameDrawer::rect
-// -----------------------------------------------------------------------------
-//
-QRectF HbFrameDrawer::rect(  ) const
-    {
-    SMC_MOCK_METHOD0( QRectF )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbFrameDrawer::setRect
-// -----------------------------------------------------------------------------
-//
-void HbFrameDrawer::setRect( 
-        const QRectF & rect )
-    {
-    SMC_MOCK_METHOD1( void, const QRectF &, rect )
-    }
-
-
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/mocks/mock_hblabel.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,327 +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 <QDebug>
-#include <smcmockclassincludes.h>
-#include <hbstyleoptionlabel.h>
-#include <hblabel.h>
-
-
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// HbLabel::Q_PROPERTY
-// -----------------------------------------------------------------------------
-//
-//void HbLabel::Q_PROPERTY( 
-//        QString plainText READ plainText WRITE setPlainText ) Q_PROPERTY ( QString html READ html WRITE setHtml ) Q_PROPERTY ( Qt::Alignment alignment READ alignment WRITE setAlignment ) Q_PROPERTY ( Qt::TextElideMode elideMode READ elideMode WRITE setElideMode ) Q_PROPERTY ( Hb::TextWrapping textWrapping READ textWrapping WRITE setTextWrapping ) Q_PROPERTY ( QColor textColor READ textColor WRITE setTextColor ) Q_PROPERTY ( HbIcon icon READ icon WRITE setIcon ) Q_PROPERTY ( Qt::AspectRatioMode aspectRatioMode READ aspectRatioMode WRITE setAspectRatioMode ):HbLabel ( QGraphicsItem * parent )
-//    {
-//    SMC_MOCK_METHOD1( void, QString plainText READ plainText WRITE setPlainText ) Q_PROPERTY ( QString html READ html WRITE setHtml ) Q_PROPERTY ( Qt::Alignment alignment READ alignment WRITE setAlignment ) Q_PROPERTY ( Qt::TextElideMode elideMode READ elideMode WRITE setElideMode ) Q_PROPERTY ( Hb::TextWrapping textWrapping READ textWrapping WRITE setTextWrapping ) Q_PROPERTY ( QColor textColor READ textColor WRITE setTextColor ) Q_PROPERTY ( HbIcon icon READ icon WRITE setIcon ) Q_PROPERTY ( Qt::AspectRatioMode aspectRatioMode READ aspectRatioMode WRITE setAspectRatioMode ):HbLabel ( QGraphicsItem *, parent )
-//    }
-
-
-// -----------------------------------------------------------------------------
-// HbLabel::HbLabel
-// -----------------------------------------------------------------------------
-//
-HbLabel::HbLabel( 
-        const QString & displayText,
-        QGraphicsItem * parent )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// HbLabel::HbLabel
-// -----------------------------------------------------------------------------
-//
-HbLabel::HbLabel(QGraphicsItem *parent)
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// HbLabel::~HbLabel
-// -----------------------------------------------------------------------------
-//
-HbLabel::~HbLabel(  )
-    {
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbLabel::plainText
-// -----------------------------------------------------------------------------
-//
-QString HbLabel::plainText(  ) const
-    {
-    SMC_MOCK_METHOD0( QString )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbLabel::html
-// -----------------------------------------------------------------------------
-//
-QString HbLabel::html(  ) const
-    {
-    SMC_MOCK_METHOD0( QString )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbLabel::setElideMode
-// -----------------------------------------------------------------------------
-//
-void HbLabel::setElideMode( 
-        Qt::TextElideMode elideMode )
-    {
-    SMC_MOCK_METHOD1( void, Qt::TextElideMode, elideMode )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbLabel::elideMode
-// -----------------------------------------------------------------------------
-//
-Qt::TextElideMode HbLabel::elideMode(  ) const
-    {
-    SMC_MOCK_METHOD0( Qt::TextElideMode )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbLabel::setTextWrapping
-// -----------------------------------------------------------------------------
-//
-void HbLabel::setTextWrapping( 
-        Hb::TextWrapping mode )
-    {
-    SMC_MOCK_METHOD1( void, Hb::TextWrapping, mode )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbLabel::textWrapping
-// -----------------------------------------------------------------------------
-//
-Hb::TextWrapping HbLabel::textWrapping(  ) const
-    {
-    SMC_MOCK_METHOD0( Hb::TextWrapping )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbLabel::setIcon
-// -----------------------------------------------------------------------------
-//
-void HbLabel::setIcon( 
-        const HbIcon & icon )
-    {
-    SMC_MOCK_METHOD1( void, const HbIcon &, icon )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbLabel::icon
-// -----------------------------------------------------------------------------
-//
-HbIcon HbLabel::icon(  ) const
-    {
-    SMC_MOCK_METHOD0( HbIcon )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbLabel::setAspectRatioMode
-// -----------------------------------------------------------------------------
-//
-void HbLabel::setAspectRatioMode( 
-        Qt::AspectRatioMode mode )
-    {
-    SMC_MOCK_METHOD1( void, Qt::AspectRatioMode, mode )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbLabel::aspectRatioMode
-// -----------------------------------------------------------------------------
-//
-Qt::AspectRatioMode HbLabel::aspectRatioMode(  ) const
-    {
-    SMC_MOCK_METHOD0( Qt::AspectRatioMode )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbLabel::setAlignment
-// -----------------------------------------------------------------------------
-//
-void HbLabel::setAlignment( 
-        Qt::Alignment alignment )
-    {
-    //SMC_MOCK_METHOD1( void, Qt::Alignment, alignment )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbLabel::alignment
-// -----------------------------------------------------------------------------
-//
-Qt::Alignment HbLabel::alignment(  ) const
-    {
-    //SMC_MOCK_METHOD0( Qt::Alignment )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbLabel::setTextColor
-// -----------------------------------------------------------------------------
-//
-void HbLabel::setTextColor( 
-        const QColor & textColor )
-    {
-    SMC_MOCK_METHOD1( void, const QColor &, textColor )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbLabel::textColor
-// -----------------------------------------------------------------------------
-//
-QColor HbLabel::textColor(  ) const
-    {
-    SMC_MOCK_METHOD0( QColor )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbLabel::isEmpty
-// -----------------------------------------------------------------------------
-//
-bool HbLabel::isEmpty(  ) const
-    {
-    SMC_MOCK_METHOD0( bool )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbLabel::primitive
-// -----------------------------------------------------------------------------
-//
-QGraphicsItem * HbLabel::primitive( 
-        HbStyle::Primitive primitive ) const
-    {
-    SMC_MOCK_METHOD1( QGraphicsItem *, HbStyle::Primitive, primitive )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbLabel::type
-// -----------------------------------------------------------------------------
-//
-int HbLabel::type(  ) const
-    {
-    SMC_MOCK_METHOD0( int )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbLabel::setPlainText
-// -----------------------------------------------------------------------------
-//
-void HbLabel::setPlainText( 
-        const QString & text )
-    {
-    SMC_MOCK_METHOD1( void, const QString &, text )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbLabel::setHtml
-// -----------------------------------------------------------------------------
-//
-void HbLabel::setHtml( 
-        const QString & text )
-    {
-    SMC_MOCK_METHOD1( void, const QString &, text )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbLabel::setNumber
-// -----------------------------------------------------------------------------
-//
-void HbLabel::setNumber( 
-        int number )
-    {
-    SMC_MOCK_METHOD1( void, int, number )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbLabel::setNumber
-// -----------------------------------------------------------------------------
-//
-void HbLabel::setNumber( 
-        qreal number )
-    {
-    SMC_MOCK_METHOD1( void, qreal, number )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbLabel::updatePrimitives
-// -----------------------------------------------------------------------------
-//
-void HbLabel::updatePrimitives(  )
-    {
-    SMC_MOCK_METHOD0( void )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbLabel::clear
-// -----------------------------------------------------------------------------
-//
-void HbLabel::clear(  )
-    {
-    SMC_MOCK_METHOD0( void )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbLabel::HbLabel
-// -----------------------------------------------------------------------------
-//
-HbLabel::HbLabel( 
-        HbLabelPrivate & dd,
-        QGraphicsItem * parent )
-    {
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbLabel::initStyleOption
-// -----------------------------------------------------------------------------
-//
-void HbLabel::initStyleOption( 
-        HbStyleOptionLabel * option ) const
-    {
-    SMC_MOCK_METHOD1( void, HbStyleOptionLabel *, option )
-    }
-
-
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/mocks/mock_hbmarqueeitem.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,229 +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 <QDebug>
-#include <smcmockclassincludes.h>
-#include <hbmarqueeitem.h>
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// HbMarqueeItem::HbMarqueeItem
-// -----------------------------------------------------------------------------
-//
-HbMarqueeItem::HbMarqueeItem( 
-        QGraphicsItem * parent )
-    {
-    Q_UNUSED(parent)
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbMarqueeItem::HbMarqueeItem
-// -----------------------------------------------------------------------------
-//
-HbMarqueeItem::HbMarqueeItem( 
-        const QString & text,
-        QGraphicsItem * parent )
-    {
-    Q_UNUSED(text)
-    Q_UNUSED(parent)
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbMarqueeItem::~HbMarqueeItem
-// -----------------------------------------------------------------------------
-//
-HbMarqueeItem::~HbMarqueeItem(  )
-    {
-    
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbMarqueeItem::text
-// -----------------------------------------------------------------------------
-//
-QString HbMarqueeItem::text(  ) const
-    {
-    SMC_MOCK_METHOD0( QString )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbMarqueeItem::setTextColor
-// -----------------------------------------------------------------------------
-//
-void HbMarqueeItem::setTextColor( 
-        const QColor & color )
-    {
-    SMC_MOCK_METHOD1( void, const QColor &, color )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbMarqueeItem::textColor
-// -----------------------------------------------------------------------------
-//
-QColor HbMarqueeItem::textColor(  ) const
-    {
-    SMC_MOCK_METHOD0( QColor )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbMarqueeItem::isAnimating
-// -----------------------------------------------------------------------------
-//
-bool HbMarqueeItem::isAnimating(  ) const
-    {
-    SMC_MOCK_METHOD0( bool )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbMarqueeItem::loopCount
-// -----------------------------------------------------------------------------
-//
-int HbMarqueeItem::loopCount(  ) const
-    {
-    SMC_MOCK_METHOD0( int )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbMarqueeItem::setLoopCount
-// -----------------------------------------------------------------------------
-//
-void HbMarqueeItem::setLoopCount( 
-        int count )
-    {
-    SMC_MOCK_METHOD1( void, int, count )
-    }
-
-// -----------------------------------------------------------------------------
-// HbMarqueeItem::setText
-// -----------------------------------------------------------------------------
-//
-void HbMarqueeItem::setText( 
-        const QString & text )
-    {
-    SMC_MOCK_METHOD1( void, const QString &, text )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbMarqueeItem::startAnimation
-// -----------------------------------------------------------------------------
-//
-void HbMarqueeItem::startAnimation(  )
-    {
-    SMC_MOCK_METHOD0( void )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbMarqueeItem::stopAnimation
-// -----------------------------------------------------------------------------
-//
-void HbMarqueeItem::stopAnimation(  )
-    {
-    SMC_MOCK_METHOD0( void )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbMarqueeItem::animationStarted
-// -----------------------------------------------------------------------------
-//
-void HbMarqueeItem::animationStarted(  )
-    {
-    SMC_MOCK_METHOD0( void )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbMarqueeItem::animationStopped
-// -----------------------------------------------------------------------------
-//
-void HbMarqueeItem::animationStopped(  )
-    {
-    SMC_MOCK_METHOD0( void )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbMarqueeItem::sizeHint
-// -----------------------------------------------------------------------------
-//
-QSizeF HbMarqueeItem::sizeHint( 
-        Qt::SizeHint which,
-        const QSizeF & constraint ) const
-    {
-    SMC_MOCK_METHOD2( QSizeF, Qt::SizeHint, which, 
-        const QSizeF &, constraint )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbMarqueeItem::changeEvent
-// -----------------------------------------------------------------------------
-//
-void HbMarqueeItem::changeEvent( 
-        QEvent * event )
-    {
-    SMC_MOCK_METHOD1( void, QEvent *, event )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbMarqueeItem::resizeEvent
-// -----------------------------------------------------------------------------
-//
-void HbMarqueeItem::resizeEvent( 
-        QGraphicsSceneResizeEvent *  )
-    {
-    //SMC_MOCK_METHOD1( void, QGraphicsSceneResizeEvent *, event )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbMarqueeItem::itemChange
-// -----------------------------------------------------------------------------
-//
-QVariant HbMarqueeItem::itemChange( 
-        GraphicsItemChange change,
-        const QVariant & value )
-    {
-    SMC_MOCK_METHOD2( QVariant, GraphicsItemChange, change, 
-        const QVariant &, value )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbMarqueeItem::HbMarqueeItem
-// -----------------------------------------------------------------------------
-//
-HbMarqueeItem::HbMarqueeItem( 
-        HbMarqueeItemPrivate & dd,
-        QGraphicsItem * parent )
-    {
-    Q_UNUSED(dd)
-    Q_UNUSED(parent)
-    }
-
-
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/mocks/mock_hbstyle.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ /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 <QDebug>
-#include <smcmockclassincludes.h>
-#include "hbstyle.h"
-
-//needed for TSmcValue<HbStyleParameters &,100>Size()const
-class HbStyleParameters {};
-//needed for TSmcValue<HbWidget *,100>Size()const
-class HbWidget {};
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// HbStyle::HbStyle
-// -----------------------------------------------------------------------------
-//
-HbStyle::HbStyle( ):d_ptr(NULL)
-       // QObject * parent )
-    {
-   // Q_UNUSED(parent);
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbStyle::~HbStyle
-// -----------------------------------------------------------------------------
-//
-HbStyle::~HbStyle(  )
-    {
-    
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbStyle::createPrimitive
-// -----------------------------------------------------------------------------
-//
-QGraphicsItem * HbStyle::createPrimitive( 
-        HbStyle::Primitive primitive,
-        QGraphicsItem * parent ) const
-    {
-    SMC_MOCK_METHOD2( QGraphicsItem *, HbStyle::Primitive, primitive, 
-        QGraphicsItem *, parent )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbStyle::updatePrimitive
-// -----------------------------------------------------------------------------
-//
-void HbStyle::updatePrimitive( 
-        QGraphicsItem * item,
-        HbStyle::Primitive primitive,
-        const QStyleOption * option ) const
-    {
-    SMC_MOCK_METHOD3( void, QGraphicsItem *, item, 
-        HbStyle::Primitive, primitive, 
-        const QStyleOption *, option )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbStyle::registerPlugin
-// -----------------------------------------------------------------------------
-//
-int HbStyle::registerPlugin( 
-        const QString & pluginName )
-    {
-    SMC_MOCK_METHOD1( int, const QString &, pluginName )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbStyle::unregisterPlugin
-// -----------------------------------------------------------------------------
-//
-void HbStyle::unregisterPlugin( 
-        const QString & pluginName )
-    {
-    SMC_MOCK_METHOD1( void, const QString &, pluginName )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbStyle::setItemName
-// -----------------------------------------------------------------------------
-//
-void HbStyle::setItemName( 
-        QGraphicsItem * item,
-        const QString & name )
-    {
-    SMC_MOCK_METHOD2( void, QGraphicsItem *, item, 
-        const QString &, name )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbStyle::itemName
-// -----------------------------------------------------------------------------
-//
-QString HbStyle::itemName( 
-        const QGraphicsItem * item )
-    {
-    SMC_MOCK_METHOD1( QString, const QGraphicsItem *, item )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbStyle::parameter
-// -----------------------------------------------------------------------------
-//
-bool HbStyle::parameter( 
-        const QString & parameter,
-        qreal & value,
-        const HbDeviceProfile & profile ) const
-    {
-    SMC_MOCK_METHOD3( bool, const QString &, parameter, 
-        qreal &, value, 
-        const HbDeviceProfile &, profile )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbStyle::parameters
-// -----------------------------------------------------------------------------
-//
-void HbStyle::parameters( 
-        HbStyleParameters & parameters,
-        const HbDeviceProfile & profile ) const
-    {
-    SMC_MOCK_METHOD2( void, HbStyleParameters &, parameters, 
-        const HbDeviceProfile &, profile )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbStyle::polish
-// -----------------------------------------------------------------------------
-//
-void HbStyle::polish( 
-        HbWidget * widget,
-        HbStyleParameters & params )
-    {
-    SMC_MOCK_METHOD2( void, HbWidget *, widget, 
-        HbStyleParameters &, params )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbStyle::updateThemedParams
-// -----------------------------------------------------------------------------
-//
-void HbStyle::updateThemedParams( 
-        HbWidget * widget )
-    {
-    SMC_MOCK_METHOD1( void, HbWidget *, widget )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbStyle::hasOrientationSpecificStyleRules
-// -----------------------------------------------------------------------------
-//
-bool HbStyle::hasOrientationSpecificStyleRules( 
-        HbWidget * widget )
-    {
-    SMC_MOCK_METHOD1( bool, HbWidget *, widget )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbStyle::HbStyle
-// -----------------------------------------------------------------------------
-//
-HbStyle::HbStyle( 
-        HbStylePrivate & dd,
-        QStyle * parent ):d_ptr(NULL)
-    //:
-    //QObject( /*dd, parent*/ )
-    {
-    Q_UNUSED(dd);
-    Q_UNUSED(parent);
-    }
-
-
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/mocks/mock_hbstyleoptionlabel.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ /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:
-*
-*/
-#include <QDebug>
-#include <smcmockclassincludes.h>
-#include "hbstyleoptionlabel.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// HbStyleOptionLabel::HbStyleOptionLabel
-// -----------------------------------------------------------------------------
-//
-HbStyleOptionLabel::HbStyleOptionLabel(  )
-    //:
-    //HbStyleOption( /**/ )
-    {
-    
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbStyleOptionLabel::HbStyleOptionLabel
-// -----------------------------------------------------------------------------
-//
-HbStyleOptionLabel::HbStyleOptionLabel( 
-        const HbStyleOptionLabel & other )
-    //:
-    //HbStyleOption( /*other*/ )
-    {
-    
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbStyleOptionLabel::~HbStyleOptionLabel
-// -----------------------------------------------------------------------------
-//
-HbStyleOptionLabel::~HbStyleOptionLabel(  )
-    {
-    
-    }
-
-
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/mocks/mock_hbwidget.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,485 +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 <QDebug>
-#include <smcmockclassincludes.h>
-#include <hbwidget.h>
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// HbWidget::HbWidget
-// -----------------------------------------------------------------------------
-//
-HbWidget::HbWidget( 
-        QGraphicsItem * ,
-        Qt::WindowFlags  )
-    //:
-    //HbWidgetBase( /*parent, wFlags*/ )
-    {
-    
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbWidget::~HbWidget
-// -----------------------------------------------------------------------------
-//
-HbWidget::~HbWidget(  )
-    {
-    
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbWidget::event
-// -----------------------------------------------------------------------------
-//
-bool HbWidget::event( 
-        QEvent *  )
-    {
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbWidget::setStyle
-// -----------------------------------------------------------------------------
-//
-void HbWidget::setStyle( 
-        HbStyle *  )
-    {
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbWidget::style
-// -----------------------------------------------------------------------------
-//
-HbStyle * HbWidget::style(  ) const
-    {
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbWidget::clearActions
-// -----------------------------------------------------------------------------
-//
-void HbWidget::clearActions(  )
-    {
-    SMC_MOCK_METHOD0( void )
-    }
-
-
-
-// -----------------------------------------------------------------------------
-// HbWidget::pluginBaseId
-// -----------------------------------------------------------------------------
-//
-int HbWidget::pluginBaseId(  ) const
-    {
-    SMC_MOCK_METHOD0( int )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbWidget::mainWindow
-// -----------------------------------------------------------------------------
-//
-HbMainWindow * HbWidget::mainWindow(  ) const
-    {
-   // SMC_MOCK_METHOD0( HbMainWindow * )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbWidget::primitive
-// -----------------------------------------------------------------------------
-//
-QGraphicsItem * HbWidget::primitive( 
-        HbStyle::Primitive  ) const
-    {
-  //  SMC_MOCK_METHOD1( QGraphicsItem *, HbStyle::Primitive, primitive )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbWidget::setFocusOrientation
-// -----------------------------------------------------------------------------
-//
-void HbWidget::setFocusOrientation( 
-        Qt::Orientations ,
-        Qt::Orientations  )
-    {
-   // SMC_MOCK_METHOD2( void, Qt::Orientations, previous, 
-     //   Qt::Orientations, next )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbWidget::keyForFocusNextChild
-// -----------------------------------------------------------------------------
-//
-QKeySequence HbWidget::keyForFocusNextChild(  ) const
-    {
-   // SMC_MOCK_METHOD0( QKeySequence )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbWidget::keyForFocusPreviousChild
-// -----------------------------------------------------------------------------
-//
-QKeySequence HbWidget::keyForFocusPreviousChild(  ) const
-    {
-  //  SMC_MOCK_METHOD0( QKeySequence )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbWidget::setKeyFocusMode
-// -----------------------------------------------------------------------------
-//
-void HbWidget::setKeyFocusMode( 
-        const QKeySequence &  )
-    {
-//    SMC_MOCK_METHOD1( void, const QKeySequence &, key )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbWidget::keyFocusMode
-// -----------------------------------------------------------------------------
-//
-QKeySequence HbWidget::keyFocusMode(  ) const
-    {
-//    SMC_MOCK_METHOD0( QKeySequence )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbWidget::lastFocusedChild
-// -----------------------------------------------------------------------------
-//
-QGraphicsItem * HbWidget::lastFocusedChild(  ) const
-    {
- //   SMC_MOCK_METHOD0( QGraphicsItem * )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbWidget::setFocusOrder
-// -----------------------------------------------------------------------------
-//
-void HbWidget::setFocusOrder( 
-        QGraphicsItem * ,
-        QGraphicsItem *  )
-    {
-   // SMC_MOCK_METHOD2( void, QGraphicsItem *, first, 
-     //   QGraphicsItem *, second )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbWidget::setFocusDelegation
-// -----------------------------------------------------------------------------
-//
-void HbWidget::setFocusDelegation( 
-        HbWidget::FocusDelegation  )
-    {
- //   SMC_MOCK_METHOD1( void, HbWidget::FocusDelegation, focusDelegation )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbWidget::focusDelegation
-// -----------------------------------------------------------------------------
-//
-HbWidget::FocusDelegation HbWidget::focusDelegation(  ) const
-    {
-  //  SMC_MOCK_METHOD0( HbWidget::FocusDelegation )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbWidget::setFocusLooping
-// -----------------------------------------------------------------------------
-//
-void HbWidget::setFocusLooping( 
-        bool enable )
-    {
-    SMC_MOCK_METHOD1( void, bool, enable )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbWidget::hasFocusLooping
-// -----------------------------------------------------------------------------
-//
-bool HbWidget::hasFocusLooping(  ) const
-    {
-    SMC_MOCK_METHOD0( bool )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbWidget::setFocusMode
-// -----------------------------------------------------------------------------
-//
-void HbWidget::setFocusMode( 
-        HbWidget::FocusMode )
-    {
-   // SMC_MOCK_METHOD1( void, HbWidget::, FocusMode )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbWidget::focusMode
-// -----------------------------------------------------------------------------
-//
-HbWidget::FocusMode HbWidget::focusMode(  ) const
-    {
-  //  SMC_MOCK_METHOD0( HbWidget::FocusMode )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbWidget::setFocusHighlight
-// -----------------------------------------------------------------------------
-//
-void HbWidget::setFocusHighlight( 
-        HbStyle::Primitive ,
-        HbWidget::FocusHighlight  )
-    {
-  //  SMC_MOCK_METHOD2( void, HbStyle::Primitive, type, 
-    //    HbWidget::FocusHighlight, focusHighlight )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbWidget::focusHighlight
-// -----------------------------------------------------------------------------
-//
-HbStyle::Primitive HbWidget::focusHighlight( 
-        HbWidget::FocusHighlight  )
-    {
- //   SMC_MOCK_METHOD1( HbStyle::Primitive, HbWidget::FocusHighlight, focusHighlight )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbWidget::setBackgroundItem
-// -----------------------------------------------------------------------------
-//
-void HbWidget::setBackgroundItem( 
-        HbStyle::Primitive ,
-        int  )
-    {
-  //  SMC_MOCK_METHOD2( void, HbStyle::Primitive, type, 
-    //    int, zValue )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbWidget::setBackgroundItem
-// -----------------------------------------------------------------------------
-//
-void HbWidget::setBackgroundItem( 
-        QGraphicsItem * ,
-        int  )
-    {
-   // SMC_MOCK_METHOD2( void, QGraphicsItem *, item, 
-     //   int, zValue )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbWidget::backgroundItem
-// -----------------------------------------------------------------------------
-//
-QGraphicsItem * HbWidget::backgroundItem(  ) const
-    {
-   // SMC_MOCK_METHOD0( QGraphicsItem * )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbWidget::overrideFeedback
-// -----------------------------------------------------------------------------
-//
-HbFeedback::InstantEffect HbWidget::overrideFeedback( 
-        Hb::InstantInteraction  ) const
-    {
-  //  SMC_MOCK_METHOD1( HbFeedback::InstantEffect, Hb::InstantInteraction, interaction )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbWidget::overrideContinuousFeedback
-// -----------------------------------------------------------------------------
-//
-HbFeedback::ContinuousEffect HbWidget::overrideContinuousFeedback( 
-        Hb::ContinuousInteraction ,
-        int *  ) const
-    {
-  //  SMC_MOCK_METHOD2( HbFeedback::ContinuousEffect, Hb::ContinuousInteraction, interaction, 
-    //    int *, intensity )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbWidget::recreatePrimitives
-// -----------------------------------------------------------------------------
-//
-void HbWidget::recreatePrimitives(  )
-    {
-    SMC_MOCK_METHOD0( void )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbWidget::updatePrimitives
-// -----------------------------------------------------------------------------
-//
-void HbWidget::updatePrimitives(  )
-    {
-    SMC_MOCK_METHOD0( void )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbWidget::focusInEvent
-// -----------------------------------------------------------------------------
-//
-void HbWidget::focusInEvent( 
-        QFocusEvent *  )
-    {
- //   SMC_MOCK_METHOD1( void, QFocusEvent *, event )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbWidget::focusOutEvent
-// -----------------------------------------------------------------------------
-//
-void HbWidget::focusOutEvent( 
-        QFocusEvent *  )
-    {
-  //  SMC_MOCK_METHOD1( void, QFocusEvent *, event )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbWidget::resizeEvent
-// -----------------------------------------------------------------------------
-//
-void HbWidget::resizeEvent( 
-        QGraphicsSceneResizeEvent *  )
-    {
-  //  SMC_MOCK_METHOD1( void, QGraphicsSceneResizeEvent *, event )
-    }
-
-// -----------------------------------------------------------------------------
-// HbWidget::changeEvent
-// -----------------------------------------------------------------------------
-//
-void HbWidget::changeEvent( 
-        QEvent * event )
-    {
-    SMC_MOCK_METHOD1( void, QEvent *, event )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbWidget::itemChange
-// -----------------------------------------------------------------------------
-//
-QVariant HbWidget::itemChange( 
-        GraphicsItemChange ,
-        const QVariant &  )
-    {
- //   SMC_MOCK_METHOD2( QVariant, GraphicsItemChange, change, 
-   //     const QVariant &, value )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbWidget::polishEvent
-// -----------------------------------------------------------------------------
-//
-void HbWidget::polishEvent(  )
-    {
-    SMC_MOCK_METHOD0( void )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbWidget::polish
-// -----------------------------------------------------------------------------
-//
-void HbWidget::polish( 
-        HbStyleParameters &  )
-    {
- //   SMC_MOCK_METHOD1( void, HbStyleParameters &, params )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbWidget::repolish
-// -----------------------------------------------------------------------------
-//
-void HbWidget::repolish(  )
-    {
-    SMC_MOCK_METHOD0( void )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbWidget::setPluginBaseId
-// -----------------------------------------------------------------------------
-//
-void HbWidget::setPluginBaseId( 
-        int baseId )
-    {
-    SMC_MOCK_METHOD1( void, int, baseId )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbWidget::gestureEvent
-// -----------------------------------------------------------------------------
-//
-void HbWidget::gestureEvent( 
-        QGestureEvent *  )
-    {
-  //  SMC_MOCK_METHOD1( void, QGestureEvent *, event )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbWidget::HbWidget
-// -----------------------------------------------------------------------------
-//
-HbWidget::HbWidget( 
-        HbWidgetPrivate & ,
-        QGraphicsItem * ,
-        Qt::WindowFlags  )
-    //:
-    //HbWidgetBase( /*dd, parent, wFlags*/ )
-    {
-    
-    }
-
-
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/mocks/mock_infowidget.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,431 +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 <QDebug>
-#include <smcmockclassincludes.h>
-#include <hbanchorlayout.h>
-#include <hbwidget.h>
-#include <hbiconitem.h>
-#include <hbmarqueeitem.h>
-#include <hbfontspec.h>
-#include <hbdialog.h>
-#include <hblabel.h>
-#include <hbaction.h>
-#include <hbcheckbox.h>
-#include <hbpushbutton.h>
-#include <QPainter>
-#include <QPainterPath>
-#include <QBrush>
-#include <QGraphicsLinearLayout>
-#include "infowidget.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// InfoWidget::InfoWidget
-// -----------------------------------------------------------------------------
-//
-InfoWidget::InfoWidget( 
-        QGraphicsItem * parent,
-        Qt::WindowFlags flags )
-    : HbWidget(parent, flags)
-    {
-    
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidget::~InfoWidget
-// -----------------------------------------------------------------------------
-//
-InfoWidget::~InfoWidget(  )
-    {
-    
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidget::boundingRect
-// -----------------------------------------------------------------------------
-//
-QRectF InfoWidget::boundingRect(  ) const
-    {
-    SMC_MOCK_METHOD0( QRectF )
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidget::shape
-// -----------------------------------------------------------------------------
-//
-QPainterPath InfoWidget::shape(  ) const
-    {
-    SMC_MOCK_METHOD0( QPainterPath )
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidget::sizeHint
-// -----------------------------------------------------------------------------
-//
-QSizeF InfoWidget::sizeHint( 
-        Qt::SizeHint which,
-        const QSizeF & constraint ) const
-    {
-    SMC_MOCK_METHOD2( QSizeF, Qt::SizeHint, which, 
-        const QSizeF &, constraint )
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidget::sizePolicy
-// -----------------------------------------------------------------------------
-//
-QSizePolicy InfoWidget::sizePolicy(  ) const
-    {
-    SMC_MOCK_METHOD0( QSizePolicy )
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidget::homeZoneDisplay
-// -----------------------------------------------------------------------------
-//
-QString InfoWidget::homeZoneDisplay()
-    {
-    SMC_MOCK_METHOD0( QString );
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidget::setHomeZoneDisplay
-// -----------------------------------------------------------------------------
-//
-void InfoWidget::setHomeZoneDisplay( 
-        QString value )
-    {
-    SMC_MOCK_METHOD1( void, QString, value )
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidget::mcnDisplay
-// -----------------------------------------------------------------------------
-//
-QString InfoWidget::mcnDisplay(  )
-    {
-    SMC_MOCK_METHOD0( QString )
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidget::setMcnDisplay
-// -----------------------------------------------------------------------------
-//
-void InfoWidget::setMcnDisplay( 
-        QString value )
-    {
-    SMC_MOCK_METHOD1( void, QString, value )
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidget::activeLineDisplay
-// -----------------------------------------------------------------------------
-//
-QString InfoWidget::activeLineDisplay(  )
-    {
-    SMC_MOCK_METHOD0( QString )
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidget::setActiveLineDisplay
-// -----------------------------------------------------------------------------
-//
-void InfoWidget::setActiveLineDisplay( 
-        QString value )
-    {
-    SMC_MOCK_METHOD1( void, QString, value )
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidget::satDisplay
-// -----------------------------------------------------------------------------
-//
-QString InfoWidget::satDisplay(  )
-    {
-    SMC_MOCK_METHOD0( QString )
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidget::setSatDisplay
-// -----------------------------------------------------------------------------
-//
-void InfoWidget::setSatDisplay( 
-        QString value )
-    {
-    SMC_MOCK_METHOD1( void, QString, value )
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidget::spnDisplay
-// -----------------------------------------------------------------------------
-//
-QString InfoWidget::spnDisplay(  )
-    {
-    SMC_MOCK_METHOD0( QString )
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidget::setSpnDisplay
-// -----------------------------------------------------------------------------
-//
-void InfoWidget::setSpnDisplay( 
-        QString value )
-    {
-    SMC_MOCK_METHOD1( void, QString, value )
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidget::onInitialize
-// -----------------------------------------------------------------------------
-//
-void InfoWidget::onInitialize(  )
-    {
-    SMC_MOCK_METHOD0( void )
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidget::onUninitialize
-// -----------------------------------------------------------------------------
-//
-void InfoWidget::onUninitialize(  )
-    {
-    SMC_MOCK_METHOD0( void )
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidget::onShow
-// -----------------------------------------------------------------------------
-//
-void InfoWidget::onShow(  )
-    {
-    SMC_MOCK_METHOD0( void )
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidget::onHide
-// -----------------------------------------------------------------------------
-//
-void InfoWidget::onHide(  )
-    {
-    SMC_MOCK_METHOD0( void )
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidget::readModel
-// -----------------------------------------------------------------------------
-//
-void InfoWidget::readModel(  )
-    {
-    SMC_MOCK_METHOD0( void )
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidget::handleModelError
-// -----------------------------------------------------------------------------
-//
-void InfoWidget::handleModelError( 
-        int operation,
-        int errorCode )
-    {
-    SMC_MOCK_METHOD2( void, int, operation, 
-        int, errorCode )
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidget::spnDisplaySettingChanged
-// -----------------------------------------------------------------------------
-//
-void InfoWidget::spnDisplaySettingChanged( 
-        int state )
-    {
-    SMC_MOCK_METHOD1( void, int, state )
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidget::mcnDisplaySettingChanged
-// -----------------------------------------------------------------------------
-//
-void InfoWidget::mcnDisplaySettingChanged( 
-        int state )
-    {
-    SMC_MOCK_METHOD1( void, int, state )
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidget::satDisplaySettingChanged
-// -----------------------------------------------------------------------------
-//
-void InfoWidget::satDisplaySettingChanged( 
-        int state )
-    {
-    SMC_MOCK_METHOD1( void, int, state )
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidget::settingsEditingFinished
-// -----------------------------------------------------------------------------
-//
-void InfoWidget::settingsEditingFinished(  )
-    {
-    SMC_MOCK_METHOD0( void )
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidget::settingsValidationFailed
-// -----------------------------------------------------------------------------
-//
-void InfoWidget::settingsValidationFailed(  )
-    {
-    SMC_MOCK_METHOD0( void )
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidget::paint
-// -----------------------------------------------------------------------------
-//
-void InfoWidget::paint( 
-        QPainter * painter,
-        const QStyleOptionGraphicsItem * option,
-        QWidget * widget )
-    {
-    SMC_MOCK_METHOD3( void, QPainter *, painter, 
-        const QStyleOptionGraphicsItem *, option, 
-        QWidget *, widget )
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidget::mousePressEvent
-// -----------------------------------------------------------------------------
-//
-void InfoWidget::mousePressEvent( 
-        QGraphicsSceneMouseEvent * event )
-    {
-    SMC_MOCK_METHOD1( void, QGraphicsSceneMouseEvent *, event )
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidget::mouseReleaseEvent
-// -----------------------------------------------------------------------------
-//
-void InfoWidget::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
-    {
-    SMC_MOCK_METHOD1( void, QGraphicsSceneMouseEvent *, event )    
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidget::mouseMoveEvent
-// -----------------------------------------------------------------------------
-//
-void InfoWidget::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
-    {
-    SMC_MOCK_METHOD1( void, QGraphicsSceneMouseEvent *, event )
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidget::updateInfoDisplay
-// -----------------------------------------------------------------------------
-//
-void InfoWidget::updateInfoDisplay(  )
-    {
-    SMC_MOCK_METHOD0( void )
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidget::readPersistentPreferences
-// -----------------------------------------------------------------------------
-//
-bool InfoWidget::readPersistentPreferences(  )
-    {
-    SMC_MOCK_METHOD0( bool )
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidget::initializeCheckBoxStates
-// -----------------------------------------------------------------------------
-//
-void InfoWidget::initializeCheckBoxStates(  )
-    {
-    SMC_MOCK_METHOD0( void )
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidget::changeEvent
-// -----------------------------------------------------------------------------
-//
-void InfoWidget::changeEvent( 
-        QEvent * event )
-    {
-    SMC_MOCK_METHOD1( void, QEvent *, event )
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidget::installTranslator
-// -----------------------------------------------------------------------------
-//
-bool InfoWidget::installTranslator( 
-        QString translationFile )
-    {
-    SMC_MOCK_METHOD1( bool, QString, translationFile )
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidget::removeTranslators
-// -----------------------------------------------------------------------------
-//
-void InfoWidget::removeTranslators(  )
-    {
-    SMC_MOCK_METHOD0( void )
-    }
-
-
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/mocks/mock_infowidgetengine.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,168 +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 <QDebug>
-#include <smcmockclassincludes.h>
-#include "infowidgetnetworkhandler.h"
-#include "infowidgetsathandler.h"
-#include "infowidgetengine.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// InfoWidgetEngine::InfoWidgetEngine
-// -----------------------------------------------------------------------------
-//
-InfoWidgetEngine::InfoWidgetEngine( 
-        QObject * parent )
-    :QObject( parent )
-    {
-    
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidgetEngine::~InfoWidgetEngine
-// -----------------------------------------------------------------------------
-//
-InfoWidgetEngine::~InfoWidgetEngine(  )
-    {
-    
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidgetEngine::modelData
-// -----------------------------------------------------------------------------
-//
-const InfoWidgetEngine::ModelData & InfoWidgetEngine::modelData(  ) const
-    {
-    SMC_MOCK_METHOD0( const InfoWidgetEngine::ModelData & )
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidgetEngine::logModelData
-// -----------------------------------------------------------------------------
-//
-void InfoWidgetEngine::logModelData(  )
-    {
-    SMC_MOCK_METHOD0( void )
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidgetEngine::updateNetworkDataToModel
-// -----------------------------------------------------------------------------
-//
-void InfoWidgetEngine::updateNetworkDataToModel(  )
-    {
-    SMC_MOCK_METHOD0( void )
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidgetEngine::updateSatDataToModel
-// -----------------------------------------------------------------------------
-//
-void InfoWidgetEngine::updateSatDataToModel(  )
-    {
-    SMC_MOCK_METHOD0( void )
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidgetEngine::updateLineDataToModel
-// -----------------------------------------------------------------------------
-//
-void InfoWidgetEngine::updateLineDataToModel(  )
-    {
-    SMC_MOCK_METHOD0( void )
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidgetEngine::handleNetworkError
-// -----------------------------------------------------------------------------
-//
-void InfoWidgetEngine::handleNetworkError( 
-        int operation,
-        int errorCode )
-    {
-    SMC_MOCK_METHOD2( void, int, operation, 
-        int, errorCode )
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidgetEngine::handleSatError
-// -----------------------------------------------------------------------------
-//
-void InfoWidgetEngine::handleSatError( 
-        int operation,
-        int errorCode )
-    {
-    SMC_MOCK_METHOD2( void, int, operation, 
-        int, errorCode )
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidgetEngine::handleLineError
-// -----------------------------------------------------------------------------
-//
-void InfoWidgetEngine::handleLineError( 
-        int operation,
-        int errorCode )
-    {
-    SMC_MOCK_METHOD2( void, int, operation, 
-        int, errorCode )
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidgetEngine::suspend
-// -----------------------------------------------------------------------------
-//
-void InfoWidgetEngine::suspend(  )
-    {
-    SMC_MOCK_METHOD0( void )
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidgetEngine::resume
-// -----------------------------------------------------------------------------
-//
-void InfoWidgetEngine::resume(  )
-    {
-    SMC_MOCK_METHOD0( void )
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidgetEngine::preferenceChanged
-// -----------------------------------------------------------------------------
-//
-void InfoWidgetEngine::preferenceChanged( 
-        int option,
-        int displaySetting )
-    {
-    SMC_MOCK_METHOD2( void, int, option, 
-        int, displaySetting )
-    }
-
-
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/mocks/mock_infowidgetlayoutmanager.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,269 +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 <QDebug>
-#include <QObject>
-#include <smcmockclassincludes.h>
-#include "infowidgetlayoutmanager.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// InfoWidgetLayoutManager::InfoWidgetLayoutManager
-// -----------------------------------------------------------------------------
-//
-InfoWidgetLayoutManager::InfoWidgetLayoutManager( 
-        QObject * parent )
-    :QObject( parent )
-    {
-    
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidgetLayoutManager::~InfoWidgetLayoutManager
-// -----------------------------------------------------------------------------
-//
-InfoWidgetLayoutManager::~InfoWidgetLayoutManager(  )
-    {
-    
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidgetLayoutManager::destroyObjects
-// -----------------------------------------------------------------------------
-//
-void InfoWidgetLayoutManager::destroyObjects(  )
-    {
-    SMC_MOCK_METHOD0( void )
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidgetLayoutManager::currentDisplayRole
-// -----------------------------------------------------------------------------
-//
-InfoWidgetLayoutManager::DisplayRole InfoWidgetLayoutManager::currentDisplayRole(  )
-    {
-    SMC_MOCK_METHOD0( DisplayRole )
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidgetLayoutManager::currentWidgetRoles
-// -----------------------------------------------------------------------------
-//
-QList <InfoWidgetLayoutManager::LayoutItemRole > 
-        InfoWidgetLayoutManager::currentWidgetRoles(  )
-    {
-    SMC_MOCK_METHOD0( QList <LayoutItemRole > )
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidgetLayoutManager::layoutRows
-// -----------------------------------------------------------------------------
-//
-int InfoWidgetLayoutManager::layoutRows(  ) const
-    {
-    SMC_MOCK_METHOD0( int )
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidgetLayoutManager::setLayoutRows
-// -----------------------------------------------------------------------------
-//
-void InfoWidgetLayoutManager::setLayoutRows( 
-        int rows )
-    {
-    SMC_MOCK_METHOD1( void, int, rows )
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidgetLayoutManager::rowHeight
-// -----------------------------------------------------------------------------
-//
-qreal InfoWidgetLayoutManager::rowHeight(  ) const
-    {
-    SMC_MOCK_METHOD0( qreal )
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidgetLayoutManager::layoutInfoDisplay
-// -----------------------------------------------------------------------------
-//
-QGraphicsLayout * InfoWidgetLayoutManager::layoutInfoDisplay(  )
-    {
-    SMC_MOCK_METHOD0( QGraphicsLayout * )
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidgetLayoutManager::layoutSettingsDisplay
-// -----------------------------------------------------------------------------
-//
-QGraphicsLayout * InfoWidgetLayoutManager::layoutSettingsDisplay(  )
-    {
-    SMC_MOCK_METHOD0( QGraphicsLayout * )
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidgetLayoutManager::widgetRoles
-// -----------------------------------------------------------------------------
-//
-const QList <InfoWidgetLayoutManager::LayoutItemRole > 
-        InfoWidgetLayoutManager::widgetRoles(DisplayRole displayRole ) const
-    {
-    SMC_MOCK_METHOD1( 
-        const QList <InfoWidgetLayoutManager::LayoutItemRole >, 
-        DisplayRole, displayRole )
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidgetLayoutManager::loadWidgets
-// -----------------------------------------------------------------------------
-//
-bool InfoWidgetLayoutManager::loadWidgets(
-        const DisplayRole displayRole, 
-        const QList<LayoutItemRole> &displayWidgets,
-        QMap<LayoutItemRole, QGraphicsWidget *> &widgetMap)
-    {
-    typedef QMap <LayoutItemRole, QGraphicsWidget *> & TYPE3;
-    SMC_MOCK_METHOD3( bool, const DisplayRole, displayRole, 
-        const QList<LayoutItemRole> &, displayWidgets, 
-        TYPE3, widgetMap )
-    }
-
-// -----------------------------------------------------------------------------
-// InfoWidgetLayoutManager::reloadWidgets
-// -----------------------------------------------------------------------------
-//
-bool InfoWidgetLayoutManager::reloadWidgets( 
-        const DisplayRole displayRole )
-    {
-    SMC_MOCK_METHOD1( bool, const DisplayRole, displayRole )
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidgetLayoutManager::loadWidget
-// -----------------------------------------------------------------------------
-//
-QGraphicsWidget* InfoWidgetLayoutManager::loadWidget(
-        InfoWidgetDocumentLoader &loader, 
-        DisplayRole displayRole, 
-        LayoutItemRole widgetRole)
-    {
-    SMC_MOCK_METHOD3( QGraphicsWidget *, InfoWidgetDocumentLoader &, loader, 
-        DisplayRole, displayRole, 
-        LayoutItemRole, widgetRole )
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidgetLayoutManager::getWidget
-// -----------------------------------------------------------------------------
-//
-QGraphicsWidget * InfoWidgetLayoutManager::getWidget( 
-        LayoutItemRole itemRole )
-    {
-    SMC_MOCK_METHOD1( QGraphicsWidget *, LayoutItemRole, itemRole )
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidgetLayoutManager::contentWidget
-// -----------------------------------------------------------------------------
-//
-QGraphicsWidget * InfoWidgetLayoutManager::contentWidget(  )
-    {
-    SMC_MOCK_METHOD0( QGraphicsWidget * )
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidgetLayoutManager::removeWidget
-// -----------------------------------------------------------------------------
-//
-void InfoWidgetLayoutManager::removeWidget( 
-        LayoutItemRole itemRole )
-    {
-    SMC_MOCK_METHOD1( void, LayoutItemRole, itemRole )
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidgetLayoutManager::hideWidget
-// -----------------------------------------------------------------------------
-//
-void InfoWidgetLayoutManager::hideWidget( 
-        LayoutItemRole itemRole )
-    {
-    SMC_MOCK_METHOD1( void, LayoutItemRole, itemRole )
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidgetLayoutManager::hideAll
-// -----------------------------------------------------------------------------
-//
-void InfoWidgetLayoutManager::hideAll(  )
-    {
-    SMC_MOCK_METHOD0( void )
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidgetLayoutManager::showAll
-// -----------------------------------------------------------------------------
-//
-void InfoWidgetLayoutManager::showAll(  )
-    {
-    SMC_MOCK_METHOD0( void )
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidgetDocumentLoader::InfoWidgetDocumentLoader
-// -----------------------------------------------------------------------------
-//
-InfoWidgetDocumentLoader::InfoWidgetDocumentLoader(  )
-    //:
-    //HbDocumentLoader( /**/ )
-    {
-    
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidgetDocumentLoader::createObject
-// -----------------------------------------------------------------------------
-//
-QObject * InfoWidgetDocumentLoader::createObject( 
-        const QString & type,
-        const QString & name )
-    {
-    SMC_MOCK_METHOD2( QObject *, const QString &, type, 
-        const QString &, name )
-    }
-
-
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/mocks/mock_infowidgetnetworkhandler.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,224 +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 <QDebug>
-#include <smcmockclassincludes.h>
-#include <networkhandlingproxy.h>
-#include <cnwsession.h>
-#include "infowidgetnetworkhandler.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// InfoWidgetNetworkHandler::InfoWidgetNetworkHandler
-// -----------------------------------------------------------------------------
-//
-InfoWidgetNetworkHandler::InfoWidgetNetworkHandler( 
-        QObject * parent )
-    : 
-    QObject(parent), 
-    m_nwSession(0)
-    {
-    
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidgetNetworkHandler::~InfoWidgetNetworkHandler
-// -----------------------------------------------------------------------------
-//
-InfoWidgetNetworkHandler::~InfoWidgetNetworkHandler(  )
-    {
-    
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidgetNetworkHandler::serviceProviderName
-// -----------------------------------------------------------------------------
-//
-QString InfoWidgetNetworkHandler::serviceProviderName(  ) const
-    {
-    SMC_MOCK_METHOD0( QString )
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidgetNetworkHandler::serviceProviderNameDisplayRequired
-// -----------------------------------------------------------------------------
-//
-bool InfoWidgetNetworkHandler::serviceProviderNameDisplayRequired(  ) const
-    {
-    SMC_MOCK_METHOD0( bool )
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidgetNetworkHandler::homeZoneTextTag
-// -----------------------------------------------------------------------------
-//
-QString InfoWidgetNetworkHandler::homeZoneTextTag(  ) const
-    {
-    SMC_MOCK_METHOD0( QString )
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidgetNetworkHandler::homeZoneIndicatorType
-// -----------------------------------------------------------------------------
-//
-int InfoWidgetNetworkHandler::homeZoneIndicatorType(  ) const
-    {
-    SMC_MOCK_METHOD0( int )
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidgetNetworkHandler::mcnName
-// -----------------------------------------------------------------------------
-//
-QString InfoWidgetNetworkHandler::mcnName(  ) const
-    {
-    SMC_MOCK_METHOD0( QString )
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidgetNetworkHandler::mcnIndicatorType
-// -----------------------------------------------------------------------------
-//
-int InfoWidgetNetworkHandler::mcnIndicatorType(  ) const
-    {
-    SMC_MOCK_METHOD0( int )
-    }
-    
-// -----------------------------------------------------------------------------
-// InfoWidgetNetworkHandler::networkRegistrationStatus
-// -----------------------------------------------------------------------------
-//
-int InfoWidgetNetworkHandler::networkRegistrationStatus(  ) const
-    {
-    SMC_MOCK_METHOD0( int )
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidgetNetworkHandler::isOnline
-// -----------------------------------------------------------------------------
-//
-bool InfoWidgetNetworkHandler::isOnline(  ) const
-    {
-    SMC_MOCK_METHOD0( bool )
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidgetNetworkHandler::logCurrentInfo
-// -----------------------------------------------------------------------------
-//
-void InfoWidgetNetworkHandler::logCurrentInfo(  )
-    {
-    SMC_MOCK_METHOD0( void )
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidgetNetworkHandler::HandleNetworkMessage
-// -----------------------------------------------------------------------------
-//
-void InfoWidgetNetworkHandler::HandleNetworkMessage( 
-        const TNWMessages aMessage )
-    {
-    SMC_MOCK_METHOD1( void, const TNWMessages, aMessage )
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidgetNetworkHandler::HandleNetworkError
-// -----------------------------------------------------------------------------
-//
-void InfoWidgetNetworkHandler::HandleNetworkError( 
-        const TNWOperation aOperation,
-        TInt aErrorCode )
-    {
-    SMC_MOCK_METHOD2( void, const TNWOperation, aOperation, 
-        TInt, aErrorCode )
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidgetNetworkHandler::suspend
-// -----------------------------------------------------------------------------
-//
-void InfoWidgetNetworkHandler::suspend(  )
-    {
-    SMC_MOCK_METHOD0( void )
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidgetNetworkHandler::resume
-// -----------------------------------------------------------------------------
-//
-void InfoWidgetNetworkHandler::resume(  )
-    {
-    SMC_MOCK_METHOD0( void )
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidgetNetworkHandler::enableMcn
-// -----------------------------------------------------------------------------
-//
-void InfoWidgetNetworkHandler::enableMcn(  )
-    {
-    SMC_MOCK_METHOD0( void )
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidgetNetworkHandler::disableMcn
-// -----------------------------------------------------------------------------
-//
-void InfoWidgetNetworkHandler::disableMcn(  )
-    {
-    SMC_MOCK_METHOD0( void )
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidgetNetworkHandler::writeMcnDisplayState
-// -----------------------------------------------------------------------------
-//
-void InfoWidgetNetworkHandler::writeMcnDisplayState( 
-        bool enabled )
-    {
-    SMC_MOCK_METHOD1( void, bool, enabled )
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidgetNetworkHandler::readMcnDisplayState
-// -----------------------------------------------------------------------------
-//
-bool InfoWidgetNetworkHandler::readMcnDisplayState(  )
-    {
-    SMC_MOCK_METHOD0( bool )
-    }
-
-
-
-
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/mocks/mock_infowidgetpreferences.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,138 +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 <QDebug>
-#include <smcmockclassincludes.h>
-#include "infowidgetpreferences.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// InfoWidgetPreferences::InfoWidgetPreferences
-// -----------------------------------------------------------------------------
-//
-InfoWidgetPreferences::InfoWidgetPreferences( 
-        QObject * parent ):
-    QObject( parent )
-    {
-    
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidgetPreferences::~InfoWidgetPreferences
-// -----------------------------------------------------------------------------
-//
-InfoWidgetPreferences::~InfoWidgetPreferences(  )
-    {
-    
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidgetPreferences::loadPreferences
-// -----------------------------------------------------------------------------
-//
-void InfoWidgetPreferences::restorePreferences(  )
-    {
-    SMC_MOCK_METHOD0( void )
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidgetPreferences::storePreferences
-// -----------------------------------------------------------------------------
-//
-bool InfoWidgetPreferences::storePreferences(  )
-    {
-    SMC_MOCK_METHOD0( bool )
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidgetPreferences::preference
-// -----------------------------------------------------------------------------
-//
-QString InfoWidgetPreferences::preference( 
-        Option preferenceId ) const
-    {
-    SMC_MOCK_METHOD1( QString, Option, preferenceId )
-    }
-
-// -----------------------------------------------------------------------------
-// InfoWidgetPreferences::preferences
-// -----------------------------------------------------------------------------
-//
-InfoWidgetPreferences::Options InfoWidgetPreferences::preferences() const
-    {
-    SMC_MOCK_METHOD0( InfoWidgetPreferences::Options )
-    }
-
-// -----------------------------------------------------------------------------
-// InfoWidgetPreferences::setPreference
-// -----------------------------------------------------------------------------
-//
-void InfoWidgetPreferences::setPreference( 
-        Option preferenceId,
-        const QString & preferenceString )
-    {
-    SMC_MOCK_METHOD2( void, Option, preferenceId, 
-        const QString &, preferenceString )
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidgetPreferences::isPreferenceSet
-// -----------------------------------------------------------------------------
-//
-bool InfoWidgetPreferences::isPreferenceSet( Option preferenceId ) const
-    {
-    SMC_MOCK_METHOD1( bool, Option, preferenceId)
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidgetPreferences::validate
-// -----------------------------------------------------------------------------
-//
-bool InfoWidgetPreferences::validate(  )
-    {
-    SMC_MOCK_METHOD0( bool)
-    }
-
-
-
-// -----------------------------------------------------------------------------
-// InfoWidgetPreferences::visibleItemCount
-// -----------------------------------------------------------------------------
-//
-int InfoWidgetPreferences::visibleItemCount(  )
-    {
-    SMC_MOCK_METHOD0( int )
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidgetPreferences::preferenceNames
-// -----------------------------------------------------------------------------
-//
-QStringList InfoWidgetPreferences::preferenceNames() 
-    {
-    SMC_MOCK_METHOD0( QStringList )
-    }
-    
-    
-    
\ No newline at end of file
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/mocks/mock_infowidgetsathandler.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,109 +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 <QDebug>
-#include <smcmockclassincludes.h>
-#include "infowidgetsathandler.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// InfoWidgetSatHandler::InfoWidgetSatHandler
-// -----------------------------------------------------------------------------
-//
-InfoWidgetSatHandler::InfoWidgetSatHandler( 
-        QObject * parent )
-    {
-    Q_UNUSED(parent);
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidgetSatHandler::~InfoWidgetSatHandler
-// -----------------------------------------------------------------------------
-//
-InfoWidgetSatHandler::~InfoWidgetSatHandler(  )
-    {
-    
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidgetSatHandler::connect
-// -----------------------------------------------------------------------------
-//
-void InfoWidgetSatHandler::connect( 
-        bool connect )
-    {
-    SMC_MOCK_METHOD1( void, bool, connect )
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidgetSatHandler::satDisplayText
-// -----------------------------------------------------------------------------
-//
-const QString & InfoWidgetSatHandler::satDisplayText(  ) const
-    {
-    SMC_MOCK_METHOD0( const QString & )
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidgetSatHandler::setSatDisplayText
-// -----------------------------------------------------------------------------
-//
-void InfoWidgetSatHandler::setSatDisplayText( 
-        const QString & displayText )
-    {
-    SMC_MOCK_METHOD1( void, const QString &, displayText )
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidgetSatHandler::logCurrentInfo
-// -----------------------------------------------------------------------------
-//
-void InfoWidgetSatHandler::logCurrentInfo(  )
-    {
-    SMC_MOCK_METHOD0( void )
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidgetSatHandler::handleIdleModeTxtMessage
-// -----------------------------------------------------------------------------
-//
-void InfoWidgetSatHandler::handleIdleModeTxtMessage( 
-        int idleResult )
-    {
-    SMC_MOCK_METHOD1( void, int, idleResult )
-    }
-
-
-// -----------------------------------------------------------------------------
-// InfoWidgetSatHandler::handleSatError
-// -----------------------------------------------------------------------------
-//
-void InfoWidgetSatHandler::handleSatError( 
-        int operation,
-        int errorCode )
-    {
-    SMC_MOCK_METHOD2( void, int, operation, 
-        int, errorCode )
-    }
-
-
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/mocks/mock_infowidgetsathandlerprivate.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ /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 <QDebug>
-#include <smcmockclassincludes.h>
-#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
-// -----------------------------------------------------------------------------
-//
-int InfoWidgetSatHandlerPrivate::connect(  )
-    {
-    SMC_MOCK_METHOD0( int )
-    }
-
-
-// -----------------------------------------------------------------------------
-// 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 )		
-	 }
-	
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/mocks/mock_networkhandlingproxy.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +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:  This file contains the header file of the class NetworkHandlingProxy.
-*
-*/
-
-#include <smcmockclassincludes.h>
-#include <networkhandlingproxy.h>
-#include <nwhandlingengine.h> 
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-CNWSession* CreateL( MNWMessageObserver& aMessage, TNWInfo& aTNWInfo )
-    {
-    SMC_MOCK_METHOD2(CNWSession*, 
-        MNWMessageObserver&, aMessage, 
-        TNWInfo&, aTNWInfo);
-    }
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/mocks/mock_qgraphicslayout.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,187 +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 <QDebug>
-#include <smcmockclassincludes.h>
-#include "qgraphicslayout.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// QGraphicsLayout::QGraphicsLayout
-// -----------------------------------------------------------------------------
-//
-QGraphicsLayout::QGraphicsLayout( 
-        QGraphicsLayoutItem * parent )
-    //:
-    //QGraphicsLayoutItem( /*parent*/ )
-    {
-    
-    }
-
-
-// -----------------------------------------------------------------------------
-// QGraphicsLayout::~QGraphicsLayout
-// -----------------------------------------------------------------------------
-//
-QGraphicsLayout::~QGraphicsLayout(  )
-    {
-    
-    }
-
-
-// -----------------------------------------------------------------------------
-// QGraphicsLayout::setContentsMargins
-// -----------------------------------------------------------------------------
-//
-void QGraphicsLayout::setContentsMargins( 
-        qreal left,
-        qreal top,
-        qreal right,
-        qreal bottom )
-    {
-    SMC_MOCK_METHOD4( void, qreal, left, 
-        qreal, top, 
-        qreal, right, 
-        qreal, bottom )
-    }
-
-
-// -----------------------------------------------------------------------------
-// QGraphicsLayout::getContentsMargins
-// -----------------------------------------------------------------------------
-//
-void QGraphicsLayout::getContentsMargins( 
-        qreal * left,
-        qreal * top,
-        qreal * right,
-        qreal * bottom ) const
-    {
-    SMC_MOCK_METHOD4( void, qreal *, left, 
-        qreal *, top, 
-        qreal *, right, 
-        qreal *, bottom )
-    }
-
-
-// -----------------------------------------------------------------------------
-// QGraphicsLayout::activate
-// -----------------------------------------------------------------------------
-//
-void QGraphicsLayout::activate(  )
-    {
-    SMC_MOCK_METHOD0( void )
-    }
-
-
-// -----------------------------------------------------------------------------
-// QGraphicsLayout::isActivated
-// -----------------------------------------------------------------------------
-//
-bool QGraphicsLayout::isActivated(  ) const
-    {
-    SMC_MOCK_METHOD0( bool )
-    }
-
-
-// -----------------------------------------------------------------------------
-// QGraphicsLayout::invalidate
-// -----------------------------------------------------------------------------
-//
-void QGraphicsLayout::invalidate(  )
-    {
-    SMC_MOCK_METHOD0( void )
-    }
-
-
-// -----------------------------------------------------------------------------
-// QGraphicsLayout::updateGeometry
-// -----------------------------------------------------------------------------
-//
-void QGraphicsLayout::updateGeometry(  )
-    {
-    SMC_MOCK_METHOD0( void )
-    }
-
-
-// -----------------------------------------------------------------------------
-// QGraphicsLayout::widgetEvent
-// -----------------------------------------------------------------------------
-//
-void QGraphicsLayout::widgetEvent( 
-        QEvent * e )
-    {
-    SMC_MOCK_METHOD1( void, QEvent *, e )
-    }
-
-
-// -----------------------------------------------------------------------------
-// QGraphicsLayout::count
-// -----------------------------------------------------------------------------
-//
-int QGraphicsLayout::count(  ) const
-    {
-    SMC_MOCK_METHOD0( int )
-    }
-
-
-// -----------------------------------------------------------------------------
-// QGraphicsLayout::itemAt
-// -----------------------------------------------------------------------------
-//
-QGraphicsLayoutItem * QGraphicsLayout::itemAt( 
-        int i ) const
-    {
-    SMC_MOCK_METHOD1( QGraphicsLayoutItem *, int, i )
-    }
-
-
-// -----------------------------------------------------------------------------
-// QGraphicsLayout::removeAt
-// -----------------------------------------------------------------------------
-//
-void QGraphicsLayout::removeAt( 
-        int index )
-    {
-    SMC_MOCK_METHOD1( void, int, index )
-    }
-
-
-// -----------------------------------------------------------------------------
-// QGraphicsLayout::QGraphicsLayout
-// -----------------------------------------------------------------------------
-//
-QGraphicsLayout::QGraphicsLayout( 
-        QGraphicsLayoutPrivate &,
-        QGraphicsLayoutItem * )
-    //:
-    //QGraphicsLayoutItem( /*&, **/ )
-    {
-    
-    }
-
-
-// -----------------------------------------------------------------------------
-// QGraphicsLayout::addChildLayoutItem
-// -----------------------------------------------------------------------------
-//
-void QGraphicsLayout::addChildLayoutItem( 
-        QGraphicsLayoutItem * layoutItem )
-    {
-    SMC_MOCK_METHOD1( void, QGraphicsLayoutItem *, layoutItem )
-    }
-
-
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/mocks/mock_qgraphicslinearlayout.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,289 +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 <QDebug>
-#include <smcmockclassincludes.h>
-#include "qgraphicslinearlayout.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// QGraphicsLinearLayout::QGraphicsLinearLayout
-// -----------------------------------------------------------------------------
-//
-QGraphicsLinearLayout::QGraphicsLinearLayout( 
-        QGraphicsLayoutItem * parent )
-    //:
-    //QGraphicsLayout( /*parent*/ )
-    {
-    
-    }
-
-
-// -----------------------------------------------------------------------------
-// QGraphicsLinearLayout::QGraphicsLinearLayout
-// -----------------------------------------------------------------------------
-//
-QGraphicsLinearLayout::QGraphicsLinearLayout( 
-        Qt::Orientation orientation,
-        QGraphicsLayoutItem * parent )
-    //:
-    //QGraphicsLayout( /*orientation, parent*/ )
-    {
-    
-    }
-
-
-// -----------------------------------------------------------------------------
-// QGraphicsLinearLayout::~QGraphicsLinearLayout
-// -----------------------------------------------------------------------------
-//
-QGraphicsLinearLayout::~QGraphicsLinearLayout(  )
-    {
-    
-    }
-
-
-// -----------------------------------------------------------------------------
-// QGraphicsLinearLayout::setOrientation
-// -----------------------------------------------------------------------------
-//
-void QGraphicsLinearLayout::setOrientation( 
-        Qt::Orientation orientation )
-    {
-    SMC_MOCK_METHOD1( void, Qt::Orientation, orientation )
-    }
-
-
-// -----------------------------------------------------------------------------
-// QGraphicsLinearLayout::orientation
-// -----------------------------------------------------------------------------
-//
-Qt::Orientation QGraphicsLinearLayout::orientation(  ) const
-    {
-    SMC_MOCK_METHOD0( Qt::Orientation )
-    }
-
-
-// -----------------------------------------------------------------------------
-// QGraphicsLinearLayout::insertItem
-// -----------------------------------------------------------------------------
-//
-void QGraphicsLinearLayout::insertItem( 
-        int index,
-        QGraphicsLayoutItem * item )
-    {
-    SMC_MOCK_METHOD2( void, int, index, 
-        QGraphicsLayoutItem *, item )
-    }
-
-
-// -----------------------------------------------------------------------------
-// QGraphicsLinearLayout::insertStretch
-// -----------------------------------------------------------------------------
-//
-void QGraphicsLinearLayout::insertStretch( 
-        int index,
-        int stretch )
-    {
-    SMC_MOCK_METHOD2( void, int, index, 
-        int, stretch )
-    }
-
-
-// -----------------------------------------------------------------------------
-// QGraphicsLinearLayout::removeItem
-// -----------------------------------------------------------------------------
-//
-void QGraphicsLinearLayout::removeItem( 
-        QGraphicsLayoutItem * item )
-    {
-    SMC_MOCK_METHOD1( void, QGraphicsLayoutItem *, item )
-    }
-
-
-// -----------------------------------------------------------------------------
-// QGraphicsLinearLayout::removeAt
-// -----------------------------------------------------------------------------
-//
-void QGraphicsLinearLayout::removeAt( 
-        int index )
-    {
-    SMC_MOCK_METHOD1( void, int, index )
-    }
-
-
-// -----------------------------------------------------------------------------
-// QGraphicsLinearLayout::setSpacing
-// -----------------------------------------------------------------------------
-//
-void QGraphicsLinearLayout::setSpacing( 
-        qreal spacing )
-    {
-    SMC_MOCK_METHOD1( void, qreal, spacing )
-    }
-
-
-// -----------------------------------------------------------------------------
-// QGraphicsLinearLayout::spacing
-// -----------------------------------------------------------------------------
-//
-qreal QGraphicsLinearLayout::spacing(  ) const
-    {
-    SMC_MOCK_METHOD0( qreal )
-    }
-
-
-// -----------------------------------------------------------------------------
-// QGraphicsLinearLayout::setItemSpacing
-// -----------------------------------------------------------------------------
-//
-void QGraphicsLinearLayout::setItemSpacing( 
-        int index,
-        qreal spacing )
-    {
-    SMC_MOCK_METHOD2( void, int, index, 
-        qreal, spacing )
-    }
-
-
-// -----------------------------------------------------------------------------
-// QGraphicsLinearLayout::itemSpacing
-// -----------------------------------------------------------------------------
-//
-qreal QGraphicsLinearLayout::itemSpacing( 
-        int index ) const
-    {
-    SMC_MOCK_METHOD1( qreal, int, index )
-    }
-
-
-// -----------------------------------------------------------------------------
-// QGraphicsLinearLayout::setStretchFactor
-// -----------------------------------------------------------------------------
-//
-void QGraphicsLinearLayout::setStretchFactor( 
-        QGraphicsLayoutItem * item,
-        int stretch )
-    {
-    SMC_MOCK_METHOD2( void, QGraphicsLayoutItem *, item, 
-        int, stretch )
-    }
-
-
-// -----------------------------------------------------------------------------
-// QGraphicsLinearLayout::stretchFactor
-// -----------------------------------------------------------------------------
-//
-int QGraphicsLinearLayout::stretchFactor( 
-        QGraphicsLayoutItem * item ) const
-    {
-    SMC_MOCK_METHOD1( int, QGraphicsLayoutItem *, item )
-    }
-
-
-// -----------------------------------------------------------------------------
-// QGraphicsLinearLayout::setAlignment
-// -----------------------------------------------------------------------------
-//
-void QGraphicsLinearLayout::setAlignment( 
-        QGraphicsLayoutItem * item,
-        Qt::Alignment alignment )
-    {
-//    SMC_MOCK_METHOD2( void, QGraphicsLayoutItem *, item, 
-//        Qt::Alignment, alignment )
-    }
-
-
-// -----------------------------------------------------------------------------
-// QGraphicsLinearLayout::alignment
-// -----------------------------------------------------------------------------
-//
-Qt::Alignment QGraphicsLinearLayout::alignment( 
-        QGraphicsLayoutItem * item ) const
-    {
-    //SMC_MOCK_METHOD1( Qt::Alignment, QGraphicsLayoutItem *, item )
-    }
-
-
-// -----------------------------------------------------------------------------
-// QGraphicsLinearLayout::setGeometry
-// -----------------------------------------------------------------------------
-//
-void QGraphicsLinearLayout::setGeometry( 
-        const QRectF & rect )
-    {
-    SMC_MOCK_METHOD1( void, const QRectF &, rect )
-    }
-
-
-// -----------------------------------------------------------------------------
-// QGraphicsLinearLayout::count
-// -----------------------------------------------------------------------------
-//
-int QGraphicsLinearLayout::count(  ) const
-    {
-    SMC_MOCK_METHOD0( int )
-    }
-
-
-// -----------------------------------------------------------------------------
-// QGraphicsLinearLayout::itemAt
-// -----------------------------------------------------------------------------
-//
-QGraphicsLayoutItem * QGraphicsLinearLayout::itemAt( 
-        int index ) const
-    {
-    SMC_MOCK_METHOD1( QGraphicsLayoutItem *, int, index )
-    }
-
-
-// -----------------------------------------------------------------------------
-// QGraphicsLinearLayout::invalidate
-// -----------------------------------------------------------------------------
-//
-void QGraphicsLinearLayout::invalidate(  )
-    {
-    SMC_MOCK_METHOD0( void )
-    }
-
-
-// -----------------------------------------------------------------------------
-// QGraphicsLinearLayout::sizeHint
-// -----------------------------------------------------------------------------
-//
-QSizeF QGraphicsLinearLayout::sizeHint( 
-        Qt::SizeHint which,
-        const QSizeF & constraint ) const
-    {
-    SMC_MOCK_METHOD2( QSizeF, Qt::SizeHint, which, 
-        const QSizeF &, constraint )
-    }
-
-
-// -----------------------------------------------------------------------------
-// QGraphicsLinearLayout::dump
-// -----------------------------------------------------------------------------
-//
-void QGraphicsLinearLayout::dump( 
-        int indent ) const
-    {
-    SMC_MOCK_METHOD1( void, int, indent )
-    }
-
-
-
-
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/mocks/mock_qserviceinterfacedescriptor.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,168 +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 <QDebug>
-#include <QStringList>
-#include <smcmockclassincludes.h>
-#include "qserviceinterfacedescriptor.h"
-
-QTM_BEGIN_NAMESPACE
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// QServiceInterfaceDescriptor::QServiceInterfaceDescriptor
-// -----------------------------------------------------------------------------
-//
-QServiceInterfaceDescriptor::QServiceInterfaceDescriptor(  )
-    {
-    
-    }
-
-
-// -----------------------------------------------------------------------------
-// QServiceInterfaceDescriptor::QServiceInterfaceDescriptor
-// -----------------------------------------------------------------------------
-//
-QServiceInterfaceDescriptor::QServiceInterfaceDescriptor( 
-        const QServiceInterfaceDescriptor & other )
-    {
-    
-    }
-
-
-// -----------------------------------------------------------------------------
-// QServiceInterfaceDescriptor::~QServiceInterfaceDescriptor
-// -----------------------------------------------------------------------------
-//
-QServiceInterfaceDescriptor::~QServiceInterfaceDescriptor(  )
-    {
-    
-    }
-
-
-// -----------------------------------------------------------------------------
-// QServiceInterfaceDescriptor::=
-// -----------------------------------------------------------------------------
-//
-QServiceInterfaceDescriptor & QServiceInterfaceDescriptor::operator=(const QServiceInterfaceDescriptor & other )
-    {
-    SMC_MOCK_METHOD1( QServiceInterfaceDescriptor &, const QServiceInterfaceDescriptor &, other )
-    }
-
-
-// -----------------------------------------------------------------------------
-// QServiceInterfaceDescriptor::=
-// -----------------------------------------------------------------------------
-//
-bool QServiceInterfaceDescriptor::operator==(const QServiceInterfaceDescriptor& other) const
-    {
-    SMC_MOCK_METHOD1( bool, const QServiceInterfaceDescriptor &, other )
-    }
-
-
-// -----------------------------------------------------------------------------
-// QServiceInterfaceDescriptor::serviceName
-// -----------------------------------------------------------------------------
-//
-QString QServiceInterfaceDescriptor::serviceName(  ) const
-    {
-    SMC_MOCK_METHOD0( QString )
-    }
-
-
-// -----------------------------------------------------------------------------
-// QServiceInterfaceDescriptor::interfaceName
-// -----------------------------------------------------------------------------
-//
-QString QServiceInterfaceDescriptor::interfaceName(  ) const
-    {
-    SMC_MOCK_METHOD0( QString )
-    }
-
-
-// -----------------------------------------------------------------------------
-// QServiceInterfaceDescriptor::majorVersion
-// -----------------------------------------------------------------------------
-//
-int QServiceInterfaceDescriptor::majorVersion(  ) const
-    {
-    SMC_MOCK_METHOD0( int )
-    }
-
-
-// -----------------------------------------------------------------------------
-// QServiceInterfaceDescriptor::minorVersion
-// -----------------------------------------------------------------------------
-//
-int QServiceInterfaceDescriptor::minorVersion(  ) const
-    {
-    SMC_MOCK_METHOD0( int )
-    }
-
-
-// -----------------------------------------------------------------------------
-// QServiceInterfaceDescriptor::isValid
-// -----------------------------------------------------------------------------
-//
-bool QServiceInterfaceDescriptor::isValid(  ) const
-    {
-    SMC_MOCK_METHOD0( bool )
-    }
-
-
-// -----------------------------------------------------------------------------
-// QServiceInterfaceDescriptor::scope
-// -----------------------------------------------------------------------------
-//
-QService::Scope QServiceInterfaceDescriptor::scope(  ) const
-    {
-    SMC_MOCK_METHOD0( QService::Scope )
-    }
-
-
-// -----------------------------------------------------------------------------
-// QServiceInterfaceDescriptor::attribute
-// -----------------------------------------------------------------------------
-//
-QVariant QServiceInterfaceDescriptor::attribute( 
-        QServiceInterfaceDescriptor::Attribute which ) const
-    {
-    SMC_MOCK_METHOD1( QVariant, QServiceInterfaceDescriptor::Attribute, which )
-    }
-
-
-// -----------------------------------------------------------------------------
-// QServiceInterfaceDescriptor::customAttribute
-// -----------------------------------------------------------------------------
-//
-QString QServiceInterfaceDescriptor::customAttribute( 
-        const QString & which ) const
-    {
-    SMC_MOCK_METHOD1( QString, const QString &, which )
-    }
-
-
-// -----------------------------------------------------------------------------
-// QServiceInterfaceDescriptor::customAttributes
-// -----------------------------------------------------------------------------
-//
-QStringList QServiceInterfaceDescriptor::customAttributes(  ) const
-    {
-    SMC_MOCK_METHOD0( QStringList )
-    }
-
-QTM_END_NAMESPACE
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/mocks/mock_qserviceplugininterface.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,65 +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 <QDebug>
-#include <smcmockclassincludes.h>
-#include <qserviceplugininterface.h>
-
-
-QTM_BEGIN_NAMESPACE
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// QServicePluginInterface::QServicePluginInterface
-// -----------------------------------------------------------------------------
-//
-QServicePluginInterface::QServicePluginInterface(  )
-    {
-    
-    }
-
-
-// -----------------------------------------------------------------------------
-// QServicePluginInterface::~QServicePluginInterface
-// -----------------------------------------------------------------------------
-//
-QServicePluginInterface::~QServicePluginInterface(  )
-    {
-    
-    }
-
-
-// -----------------------------------------------------------------------------
-// QServicePluginInterface::installService
-// -----------------------------------------------------------------------------
-//
-void QServicePluginInterface::installService(  )
-    {
-    SMC_MOCK_METHOD0( void )
-    }
-
-
-// -----------------------------------------------------------------------------
-// QServicePluginInterface::uninstallService
-// -----------------------------------------------------------------------------
-//
-void QServicePluginInterface::uninstallService(  )
-    {
-    SMC_MOCK_METHOD0( void )
-    }
-
-QTM_END_NAMESPACE
\ No newline at end of file
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/mocks/mock_rsatservice.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,137 +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 <QDebug>
-#include <smcmockclassincludes.h>
-#include "rsatservice.h"
-
-class TSatIconInfo{
-    
-};
-
-class RSatSession{
-
-};
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// RSatService::RSatService
-// -----------------------------------------------------------------------------
-//
-RSatService::RSatService(  )
-    //:
-    //RSubSessionBase( /**/ )
-    {
-    
-    }
-
-
-// -----------------------------------------------------------------------------
-// RSatService::OpenL
-// -----------------------------------------------------------------------------
-//
-void RSatService::OpenL( 
-        const RSatSession & aSession )
-    {
-    SMC_MOCK_METHOD1( void, const RSatSession &, aSession )
-    }
-
-
-// -----------------------------------------------------------------------------
-// RSatService::Close
-// -----------------------------------------------------------------------------
-//
-void RSatService::Close(  )
-    {
-    SMC_MOCK_METHOD0( void )
-    }
-
-
-// -----------------------------------------------------------------------------
-// RSatService::NotifySetupIdleModeTextChange
-// -----------------------------------------------------------------------------
-//
-TInt RSatService::NotifySetupIdleModeTextChange( 
-        TRequestStatus & aStatus )
-    {
-    SMC_MOCK_METHOD1( TInt, TRequestStatus &, aStatus )
-    }
-
-
-// -----------------------------------------------------------------------------
-// RSatService::NotifySetupIdleModeTextChangeCancel
-// -----------------------------------------------------------------------------
-//
-void RSatService::NotifySetupIdleModeTextChangeCancel(  )
-    {
-    SMC_MOCK_METHOD0( void )
-    }
-
-
-// -----------------------------------------------------------------------------
-// RSatService::GetSetupIdleModeTextL
-// -----------------------------------------------------------------------------
-//
-TBool RSatService::GetSetupIdleModeTextL( 
-        HBufC * & aText,
-        TSatIconQualifier & aIconQualifier,
-        TUint8 & aRecordNumber )
-    {
-    aText = HBufC::NewL(15);
-    SMC_MOCK_METHOD3( TBool, 
-            HBufC* , aText,
-            TSatIconQualifier &, aIconQualifier,
-            TUint8 &, aRecordNumber )
-    }
-
-
-// -----------------------------------------------------------------------------
-// RSatService::GetIconInfoL
-// -----------------------------------------------------------------------------
-//
-void RSatService::GetIconInfoL( 
-        TUint8 aRecordNumber,
-        RIconEf & aIconEf ) const
-    {
-    SMC_MOCK_METHOD2( void, TUint8, aRecordNumber, 
-        RIconEf &, aIconEf )
-    }
-
-
-// -----------------------------------------------------------------------------
-// RSatService::GetIconL
-// -----------------------------------------------------------------------------
-//
-CFbsBitmap * RSatService::GetIconL( 
-        const TSatIconInfo & aIconInfo ) const
-    {
-    SMC_MOCK_METHOD1( CFbsBitmap *, const TSatIconInfo &, aIconInfo )
-    }
-
-
-// -----------------------------------------------------------------------------
-// RSatService::SetIdleModeTextResponse
-// -----------------------------------------------------------------------------
-//
-void RSatService::SetIdleModeTextResponse( 
-        const TSATIdleResult & aResult ) const
-    {
-    SMC_MOCK_METHOD1( void, const TSATIdleResult &, aResult )
-    }
-
-
-
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/mocks/mock_xqsettingskey.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,126 +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 <QDebug>
-#include "xqsettingskey.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// XQSettingsKey::XQSettingsKey
-// -----------------------------------------------------------------------------
-//
-XQSettingsKey::XQSettingsKey( 
-        XQSettingsKey::Target target,
-        long int uid,
-        unsigned long int key )
-    {
-    Q_UNUSED(target)
-    Q_UNUSED(uid)
-    Q_UNUSED(key)
-    }
-
-
-// -----------------------------------------------------------------------------
-// XQSettingsKey::~XQSettingsKey
-// -----------------------------------------------------------------------------
-//
-XQSettingsKey::~XQSettingsKey(  )
-    {
-    
-    }
-
-
-// -----------------------------------------------------------------------------
-// XQSettingsKey::target
-// -----------------------------------------------------------------------------
-//
-XQSettingsKey::Target XQSettingsKey::target(  ) const
-    {
-    
-    XQSettingsKey::Target variable = (XQSettingsKey::Target)1;
-    return variable;
-    }
-
-
-// -----------------------------------------------------------------------------
-// XQSettingsKey::uid
-// -----------------------------------------------------------------------------
-//
-long int XQSettingsKey::uid(  ) const
-    {
-    
-    return 0;
-    }
-
-
-// -----------------------------------------------------------------------------
-// XQSettingsKey::key
-// -----------------------------------------------------------------------------
-//
-unsigned long int XQSettingsKey::key(  ) const
-    {
-    
-    return 0;
-    }
-
-
-// -----------------------------------------------------------------------------
-// XQPublishAndSubscribeSettingsKey::XQPublishAndSubscribeSettingsKey
-// -----------------------------------------------------------------------------
-//
-XQPublishAndSubscribeSettingsKey::XQPublishAndSubscribeSettingsKey( 
-        long int categoryUid,
-        unsigned long int key ) : 
-        XQSettingsKey( XQSettingsKey::TargetPublishAndSubscribe, categoryUid, key )
-    {
-    
-    }
-
-
-// -----------------------------------------------------------------------------
-// XQPublishAndSubscribeSettingsKey::~XQPublishAndSubscribeSettingsKey
-// -----------------------------------------------------------------------------
-//
-XQPublishAndSubscribeSettingsKey::~XQPublishAndSubscribeSettingsKey(  )
-    {
-    
-    }
-
-
-// -----------------------------------------------------------------------------
-// XQCentralRepositorySettingsKey::XQCentralRepositorySettingsKey
-// -----------------------------------------------------------------------------
-//
-XQCentralRepositorySettingsKey::XQCentralRepositorySettingsKey( 
-        long int repositoryUid,
-        unsigned long int key ) : 
-        XQSettingsKey( XQSettingsKey::TargetCentralRepository, repositoryUid, key )
-    {
-    
-    }
-
-
-// -----------------------------------------------------------------------------
-// XQCentralRepositorySettingsKey::~XQCentralRepositorySettingsKey
-// -----------------------------------------------------------------------------
-//
-XQCentralRepositorySettingsKey::~XQCentralRepositorySettingsKey(  )
-    {
-    
-    }
-
-
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/mocks/mock_xqsettingsmanager.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,101 +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 <QDebug>
-#include <smcmockclassincludes.h>
-#include "xqsettingsmanager.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// XQSettingsManager::XQSettingsManager
-// -----------------------------------------------------------------------------
-//
-XQSettingsManager::XQSettingsManager( 
-        QObject * parent )
-    : QObject( parent )
-    {
-    
-    }
-
-// -----------------------------------------------------------------------------
-// XQSettingsManager::~XQSettingsManager
-// -----------------------------------------------------------------------------
-//
-XQSettingsManager::~XQSettingsManager(  )
-    {
-    
-    }
-
-
-// -----------------------------------------------------------------------------
-// XQSettingsManager::readItemValue
-// -----------------------------------------------------------------------------
-//
-QVariant XQSettingsManager::readItemValue( 
-        const XQSettingsKey & key,
-        XQSettingsManager::Type type )
-    {
-    SMC_MOCK_METHOD2( QVariant, XQSettingsKey &, key, XQSettingsManager::Type, type )
-    }
-
-
-// -----------------------------------------------------------------------------
-// XQSettingsManager::writeItemValue
-// -----------------------------------------------------------------------------
-//
-bool XQSettingsManager::writeItemValue( 
-        const XQSettingsKey & key,
-        const QVariant & value )
-    {
-    SMC_MOCK_METHOD2( bool, XQSettingsKey &, key, QVariant &, value )
-    }
-
-
-// -----------------------------------------------------------------------------
-// XQSettingsManager::startMonitoring
-// -----------------------------------------------------------------------------
-//
-bool XQSettingsManager::startMonitoring( 
-        const XQSettingsKey & key,
-        XQSettingsManager::Type type )
-    {
-    SMC_MOCK_METHOD2( bool, XQSettingsKey &, key, XQSettingsManager::Type, type )
-    }
-
-
-// -----------------------------------------------------------------------------
-// XQSettingsManager::stopMonitoring
-// -----------------------------------------------------------------------------
-//
-bool XQSettingsManager::stopMonitoring( 
-        const XQSettingsKey & key )
-    {
-    SMC_MOCK_METHOD1( bool, XQSettingsKey &, key )
-    }
-
-
-// -----------------------------------------------------------------------------
-// XQSettingsManager::error
-// -----------------------------------------------------------------------------
-//
-XQSettingsManager::Error XQSettingsManager::error(  ) const
-    {
-    SMC_MOCK_METHOD0( XQSettingsManager::Error )
-    }
-
-
-
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/run_auto_tests_qt.bat	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,194 +0,0 @@
-rem
-rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-rem All rights reserved.
-rem This component and the accompanying materials are made available
-rem under the terms of "Eclipse Public License v1.0"
-rem which accompanies this distribution, and is available
-rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
-rem
-rem Initial Contributors:
-rem Nokia Corporation - initial contribution.
-rem
-rem Contributors:
-rem
-rem Description:
-rem
-
-@echo off
-setlocal
-goto :startup 
-
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:: function DEFAULT
-::
-:: Modify this function
-::  - TESTED_SRC can be changed to match tested code.
-::    Specifies path from testcode group directory to
-::    tested code
-::  - Add test directories to be runned
-::    ie. "call :build ut_projectdirectory" or use
-::    "for /f %%a in ('dir /b ut_*') do call :build %%a"
-::    which compiles, instruments and runs all test directories
-::    starting with "ut_".
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:DEFAULT
-set TESTED_SRC=..\..\infowidget\src\*.cpp
-
-for /f %%a in ('dir /b ut_*') do call :build %%a
-if [%DOMODULESTESTS%] EQU [TRUE] (
-for /f %%a in ('dir /b mt_*') do call :build %%a
-)
-
-call :finish
-goto :END
-
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:: function STARTUP
-::
-:: Initializing script
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:STARTUP
-
-set BUILDTESTS=TRUE
-set RUNTESTS=TRUE
-set INSTRUMENT=TRUE
-set REMOVEINSTRUMENT=TRUE
-set DOMODULESTESTS=TRUE
-set ABLD_CALL= -2comp  sbs.bat -c winscw_udeb --keepgoing
-set PATH_TO_DLL=\epoc32\release\winscw\udeb
-set PATH_TO_COVERAGE_DATA=\coverage_data
-set PATH_TO_RESULT=\test_result
-
-if not exist %PATH_TO_COVERAGE_DATA% (
-mkdir %PATH_TO_COVERAGE_DATA%
-)
-
-if not exist %PATH_TO_RESULT% (
-mkdir %PATH_TO_RESULT%
-)
-
-if [%1] EQU [] ( goto default )
-
-call :%1
-call :%2
-call :%3
-call :%4
-call :%5
-echo Running tests = %RUNTESTS%
-echo Instrumenting tests = %INSTRUMENT%
-goto default
-
-:/NOCLEANUP
-set REMOVEINSTRUMENT=FALSE
-goto end
-
-:/NORUN
-set RUNTESTS=FALSE
-set REMOVEINSTRUMENT=FALSE
-goto end
-
-:/NOINSTRUMENT
-set INSTRUMENT=FALSE
-goto end
-
-:/NOBUILD
-set BUILDTESTS=FALSE
-goto end
-
-:/ONLYUNITTESTS
-set DOMODULESTESTS=FALSE
-goto end
-
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:: function FINISH
-::
-:: Finishes run_auto_tests.bat
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:FINISH
-
-if [%RUNTESTS%] EQU [TRUE] (
-call :runtests
-)
-
-if [%INSTRUMENT%] EQU [TRUE] (
-call :calculatecoverage
-)
-
-if [%REMOVEINSTRUMENT%] EQU [TRUE] (
-call :removecoverage
-)
-goto end
-
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:: function BUILD
-::    param directory
-::
-:: builds test from given directory
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:BUILD
-setlocal
-if [%BUILDTESTS%] EQU [FALSE] ( goto end )
-echo Building %1
-if not exist %1 ( 
-echo %1 Not found! 
-goto end
-)
-
-pushd .
-call cd %1
-call qmake
-call sbs -c winscw_udeb clean
-if [%INSTRUMENT%] EQU [TRUE] (
-call ctcwrap -n %PATH_TO_COVERAGE_DATA%\%1 -i d -C "EXCLUDE=*" -C "NO_EXCLUDE=%TESTED_SRC%" %ABLD_CALL%
-) else (
-call %ABLD_CALL%
-)
-
-popd
-endlocal
-goto end
-
-
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:: function RUNTESTS
-::
-:: NOTE! Function assumes that test binary is named according to test directory.
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:RUNTESTS
-echo Running tests
-for /f %%a in ('dir /b ut_*') do (
-     call %PATH_TO_DLL%\%%a.exe
-     move \epoc32\winscw\c\data\%%a.log %PATH_TO_RESULT%\%%a.log
-)
-goto end
-
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:: function CALCULATECOVERAGE
-::
-:: Calculates test coverage. Generates html
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:CALCULATECOVERAGE
-echo Calculating coverage
-ctcpost %PATH_TO_COVERAGE_DATA%\*.sym | ctcmerge -i - -o profile.txt
-call ctc2html -t 70 -i profile.txt -o \coverage_result -nsb
-goto end
-
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:: function REMOVECOVERAGE
-::
-:: Removes data from coverage directory
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:REMOVECOVERAGE
-echo Removing deleting coverage data
-call del %PATH_TO_COVERAGE_DATA%\*.sym
-call del %PATH_TO_COVERAGE_DATA%\*.dat
-call del profile.txt
-goto end
-
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:: function END
-::
-:: Prints done
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:END
-echo Done!
\ No newline at end of file
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/ut_infowidget/inc/ut_infowidget.h	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,99 +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 UT_INFOWIDGET_H
-#define UT_INFOWIDGET_H
-
-#include <QtTest/QtTest>
-#include <hblabel.h>
-#include <hbstyleoptionlabel.h>
-#include <mockservice.h>
-#include <QColor>
-#include <QGraphicsWidget>
-#include "infowidgetengine.h"
-
-class InfoWidget;
-
-class UT_InfoWidget : public QObject, public MockService
-{
-    Q_OBJECT
-
-public:    
-    
-    UT_InfoWidget();
-    ~UT_InfoWidget();
-    
-private slots:
-
-    void init();
-    void cleanup();
-    
-    //From QGraphicsItem.
-    void t_boundingRect();
-    void t_shape();
-    void t_sizePolicy();
-    
-    void t_setHomeZoneDisplay(); 
-    void t_setMcnDisplay();
-    void t_setActiveLineDisplay();
-    void t_setSatDisplay();
-
-    void t_paint(); 
-    void t_mousePressEvent();
-    void t_mouseReleaseEvent(); 
-    void t_mouseMoveEvent(); 
-    void t_updateInfoDisplay();
-    void t_readPersistentPreferences();
-
-    void t_onInitialize();
-    void t_onUninitialize(); 
-    void t_onShow(); 
-    void t_onHide();
-    void t_readModel();
-    void t_handleModelError();
-    void t_mcnDisplaySettingChanged();
-    void t_satDisplaySettingChanged();
-    void t_settingsEditingFinished();
-
-    // private implementation tests
-    void t_updateItemsVisibility();
-    void t_layoutInfoDisplay(); 
-    void t_layoutSettingsDisplay(); 
-    void t_initializeInfoDisplayItems();
-    void t_initializeSettingsDisplayItems();
-    void t_startChanges();
-    void t_endChanges();
-    
-    void t_sizeHint();
-    
-    /*
-     * Not work from commmand prompt.
-     */
-    void t_changeEvent();
-    
-    
-
-private:
-    
-    InfoWidget *m_infoWidget;
-    InfoWidgetEngine::ModelData m_modelData;
-    QColor m_qcolor;
-    QGraphicsWidget m_qgraphicswidget;
-
-};
-
-#endif // UT_INFOWIDGET_H
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/ut_infowidget/run_auto_tests_qt.bat	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,192 +0,0 @@
-rem
-rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-rem All rights reserved.
-rem This component and the accompanying materials are made available
-rem under the terms of "Eclipse Public License v1.0"
-rem which accompanies this distribution, and is available
-rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
-rem
-rem Initial Contributors:
-rem Nokia Corporation - initial contribution.
-rem
-rem Contributors:
-rem
-rem Description:
-rem
-
-@echo off
-setlocal
-goto :startup 
-
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:: function DEFAULT
-::
-:: Modify this function
-::  - TESTED_SRC can be changed to match tested code.
-::    Specifies path from testcode group directory to
-::    tested code
-::  - Add test directories to be runned
-::    ie. "call :build ut_projectdirectory" or use
-::    "for /f %%a in ('dir /b ut_*') do call :build %%a"
-::    which compiles, instruments and runs all test directories
-::    starting with "ut_".
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:DEFAULT
-set TESTED_SRC=..\..\infowidget\src\*.cpp
-
-for /f %%a in ('dir /b ut_*') do call :build %%a
-if [%DOMODULESTESTS%] EQU [TRUE] (
-for /f %%a in ('dir /b mt_*') do call :build %%a
-)
-
-call :finish
-goto :END
-
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:: function STARTUP
-::
-:: Initializing script
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:STARTUP
-
-set BUILDTESTS=TRUE
-set RUNTESTS=TRUE
-set INSTRUMENT=TRUE
-set REMOVEINSTRUMENT=TRUE
-set DOMODULESTESTS=TRUE
-set ABLD_CALL= -2comp  sbs.bat -c winscw_udeb --keepgoing
-set PATH_TO_DLL=\epoc32\release\winscw\udeb
-set PATH_TO_COVERAGE_DATA=\coverage_data
-set PATH_TO_RESULT=\test_result
-
-if not exist %PATH_TO_COVERAGE_DATA% (
-mkdir %PATH_TO_COVERAGE_DATA%
-)
-
-if not exist %PATH_TO_RESULT% (
-mkdir %PATH_TO_RESULT%
-)
-
-if [%1] EQU [] ( goto default )
-
-call :%1
-call :%2
-call :%3
-call :%4
-call :%5
-echo Running tests = %RUNTESTS%
-echo Instrumenting tests = %INSTRUMENT%
-goto default
-
-:/NOCLEANUP
-set REMOVEINSTRUMENT=FALSE
-goto end
-
-:/NORUN
-set RUNTESTS=FALSE
-set REMOVEINSTRUMENT=FALSE
-goto end
-
-:/NOINSTRUMENT
-set INSTRUMENT=FALSE
-goto end
-
-:/NOBUILD
-set BUILDTESTS=FALSE
-goto end
-
-:/ONLYUNITTESTS
-set DOMODULESTESTS=FALSE
-goto end
-
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:: function FINISH
-::
-:: Finishes run_auto_tests.bat
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:FINISH
-
-if [%RUNTESTS%] EQU [TRUE] (
-call :runtests
-)
-
-if [%INSTRUMENT%] EQU [TRUE] (
-call :calculatecoverage
-)
-
-if [%REMOVEINSTRUMENT%] EQU [TRUE] (
-call :removecoverage
-)
-goto end
-
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:: function BUILD
-::    param directory
-::
-:: builds test from given directory
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:BUILD
-setlocal
-if [%BUILDTESTS%] EQU [FALSE] ( goto end )
-echo Building %1
-if not exist %1 ( 
-echo %1 Not found! 
-goto end
-)
-
-pushd .
-call cd %1
-call qmake
-call sbs -c winscw_udeb clean
-if [%INSTRUMENT%] EQU [TRUE] (
-call ctcwrap -n %PATH_TO_COVERAGE_DATA%\%1 -i d -C "EXCLUDE=*" -C "NO_EXCLUDE=%TESTED_SRC%" %ABLD_CALL%
-) else (
-call %ABLD_CALL%
-)
-
-popd
-endlocal
-goto end
-
-
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:: function RUNTESTS
-::
-:: NOTE! Function assumes that test binary is named according to test directory.
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:RUNTESTS
-echo Running tests
-call %PATH_TO_DLL%\ut_infowidget.exe -- 
-move \epoc32\winscw\c\data\ut_infowidget.log %PATH_TO_RESULT%\ut_infowidget.log
-goto end
-
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:: function CALCULATECOVERAGE
-::
-:: Calculates test coverage. Generates html
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:CALCULATECOVERAGE
-echo Calculating coverage
-ctcpost %PATH_TO_COVERAGE_DATA%\*.sym | ctcmerge -i - -o profile.txt
-call ctc2html -t 70 -i profile.txt -o \coverage_result -nsb
-goto end
-
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:: function REMOVECOVERAGE
-::
-:: Removes data from coverage directory
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:REMOVECOVERAGE
-echo Removing deleting coverage data
-call del %PATH_TO_COVERAGE_DATA%\*.sym
-call del %PATH_TO_COVERAGE_DATA%\*.dat
-call del profile.txt
-goto end
-
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:: function END
-::
-:: Prints done
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:END
-echo Done!
\ No newline at end of file
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/ut_infowidget/src/ut_infowidget.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,587 +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 <QString>
-#include <QPainter>
-#include <QEvent>
-#include <HbLabel>
-#include <HbStyleOptionLabel>
-#include <HbMarqueeItem>
-#include <HbPushButton>
-#include <HbCheckBox>
-#include <HbEvent>
-#include <HbColorScheme>
-#include <hbframedrawer.h>
-#include "ut_infowidget.h"
-#include "qtestmains60.h"
-
-#define private friend class UT_InfoWidget;private
-#include "infowidget.h"
-
-// mocked dependencies
-#include "infowidgetpreferences.h"
-
-const QString KPreferenceOn("On"); 
-const QString KPreferenceOff("Off"); 
-const QString KMcnName("tnw1: 3233255435"); 
-
-/*!
-  UT_InfoWidget::UT_InfoWidget
- */
-UT_InfoWidget::UT_InfoWidget() 
-    : m_infoWidget(0)
-{
-    m_modelData.setActiveLine(1);
-    m_modelData.setHomeZoneIndicatorType(1);
-    m_modelData.setMcnName(KMcnName);
-        
-    SmcDefaultValue<const InfoWidgetEngine::ModelData &>::SetL(m_modelData);
-    SmcDefaultValue<QColor>::SetL(m_qcolor);
-    SmcDefaultValue<QGraphicsWidget*>::SetL(&m_qgraphicswidget);
-}
-
-/*!
-  UT_InfoWidget::~UT_InfoWidget
- */
-UT_InfoWidget::~UT_InfoWidget()
-{
-    delete m_infoWidget;
-}
-
-/*!
-  UT_InfoWidget::init
- */
-void UT_InfoWidget::init()
-{
-    initialize();
-    
-    SmcDefaultValue<QString>::SetL("On");
-    SmcDefaultValue<InfoWidgetLayoutManager::DisplayRole>::SetL(
-        InfoWidgetLayoutManager::InfoDisplay);
-    m_infoWidget = new InfoWidget();
-    SmcDefaultValue<QString>::SetL("");
-    
-    QVERIFY(verify());
-}
-
-/*!
-  UT_InfoWidget::cleanup
- */
-void UT_InfoWidget::cleanup()
-{
-    reset();
-    
-    delete m_infoWidget;
-    m_infoWidget = 0;
-}
-
-/*!
-  UT_InfoWidget::t_boundingRect
- */
-void UT_InfoWidget::t_boundingRect()
-{
-    m_infoWidget->boundingRect();
-}
-
-/*!
-  UT_InfoWidget::t_shape
- */
-void UT_InfoWidget::t_shape()
-{
-    m_infoWidget->shape();
-}
-
-
-/*!
-  UT_InfoWidget::t_sizePolicy
- */
-void UT_InfoWidget::t_sizePolicy()
-{
-    QVERIFY(m_infoWidget->sizePolicy() == 
-        QSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed));
-}
-
-/*!
-  UT_InfoWidget::t_setHomeZoneDisplay
- */
-void UT_InfoWidget::t_setHomeZoneDisplay()
-{
-    EXPECT(InfoWidgetPreferences::setPreference)
-        .with(InfoWidgetPreferences::DisplayHomeZone, KPreferenceOn);
-    
-    m_infoWidget->setHomeZoneDisplay(KPreferenceOn); 
-    
-    QVERIFY(verify());
-}
-
-/*!
-  UT_InfoWidget::t_setMcnDisplay
- */
-void UT_InfoWidget::t_setMcnDisplay()
-{
-    EXPECT(InfoWidgetPreferences::setPreference)
-        .with(InfoWidgetPreferences::DisplayMcn, KPreferenceOn);
-    
-    m_infoWidget->setMcnDisplay(KPreferenceOn);
-    
-    QVERIFY(verify());
-}
-
-/*!
-  UT_InfoWidget::t_setActiveLineDisplay
- */
-void UT_InfoWidget::t_setActiveLineDisplay()
-{
-    EXPECT(InfoWidgetPreferences::setPreference)
-        .with(InfoWidgetPreferences::DisplayActiveLine, KPreferenceOn);
-    
-    m_infoWidget->setActiveLineDisplay(KPreferenceOn);
-    
-    QVERIFY(verify());
-}
-
-/*!
-  UT_InfoWidget::t_setSatDisplay
- */
-void UT_InfoWidget::t_setSatDisplay()
-{
-    EXPECT(InfoWidgetPreferences::setPreference)
-        .with(InfoWidgetPreferences::DisplaySatText, KPreferenceOn);
-    
-    m_infoWidget->setSatDisplay(KPreferenceOn);
-    
-    QVERIFY(verify());
-}
-
-/*!
-  UT_InfoWidget::t_paint
- */
-void UT_InfoWidget::t_paint()
-{
-    QScopedPointer<QPainter> painter(new QPainter());
-    QStyleOptionGraphicsItem *option = NULL;
-    QWidget *widget = NULL;
-    
-    m_infoWidget->paint(painter.data(), option, widget);
-    
-    // layout change ongoing while paint requested
-    m_infoWidget->startChanges();
-    m_infoWidget->paint(painter.data(), option, widget);
-}
-
-/*!
-  UT_InfoWidget::t_mousePressEvent
- */
-void UT_InfoWidget::t_mousePressEvent()
-{
-    QGraphicsSceneMouseEvent event;
-    m_infoWidget->mousePressEvent(&event);
-}
-
-/*!
-  UT_InfoWidget::t_mouseReleaseEvent
- */
-void UT_InfoWidget::t_mouseReleaseEvent()
-{
-    QGraphicsSceneMouseEvent event;
-    
-    // widget clicked while showing info display => 
-    // switch to settings display expected
-    EXPECT(InfoWidgetLayoutManager::currentDisplayRole)
-        .returns(InfoWidgetLayoutManager::InfoDisplay);
-    EXPECT(InfoWidgetLayoutManager::layoutSettingsDisplay);
-    m_infoWidget->mousePressEvent(&event);
-    m_infoWidget->mouseReleaseEvent(&event);
-    
-    // widget clicked while showing settings display => 
-    // no action expected
-    EXPECT(InfoWidgetLayoutManager::currentDisplayRole)
-        .returns(InfoWidgetLayoutManager::SettingsDisplay);
-    EXPECT(InfoWidgetLayoutManager::layoutSettingsDisplay).times(0);
-    m_infoWidget->mousePressEvent(&event);
-    m_infoWidget->mouseReleaseEvent(&event);
-    
-    // release event received after dragging widget => 
-    // no action expected
-    EXPECT(InfoWidgetLayoutManager::layoutSettingsDisplay).times(0);
-    m_infoWidget->mouseMoveEvent(&event);
-    m_infoWidget->mouseReleaseEvent(&event);
-    
-    QVERIFY(verify());
-}
-
-/*!
-  UT_InfoWidget::t_mouseMoveEvent
- */
-void UT_InfoWidget::t_mouseMoveEvent()
-{
-    
-}
-
-/*!
-  UT_InfoWidget::t_updateInfoDisplay
- */
-void UT_InfoWidget::t_updateInfoDisplay()
-{
-    HbLabel hbLabel;
-    QGraphicsWidget* pointerHbLabel(&hbLabel);
-
-    EXPECT(InfoWidgetLayoutManager::currentDisplayRole)
-        .returns(InfoWidgetLayoutManager::InfoDisplay);
-
-    EXPECT(InfoWidgetLayoutManager::getWidget)
-        .with(InfoWidgetLayoutManager::RoleSpnLabel)
-        .returns(pointerHbLabel);
-    
-    HbMarqueeItem mcnMarqueeItem; 
-    QGraphicsWidget* pointerMcnMarqueeItem(&mcnMarqueeItem);
-    EXPECT(InfoWidgetLayoutManager::getWidget)
-        .with(InfoWidgetLayoutManager::RoleMcnMarqueeItem)
-        .returns(pointerMcnMarqueeItem);
-    EXPECT(HbMarqueeItem::isAnimating).returns(true);
-    EXPECT(InfoWidgetLayoutManager::getWidget)
-        .with(InfoWidgetLayoutManager::RoleSatMarqueeItem)
-        .returns(pointerMcnMarqueeItem);
-    
-    m_infoWidget->updateInfoDisplay();
-    
-    QVERIFY(verify());
-}
-
-/*!
-  UT_InfoWidget::t_readPersistentPreferences
- */
-void UT_InfoWidget::t_readPersistentPreferences()
-{    
-    EXPECT(InfoWidgetPreferences::setPreference)
-        .with(InfoWidgetPreferences::DisplayHomeZone, QString(""));
-
-    EXPECT(InfoWidgetPreferences::setPreference)
-        .with(InfoWidgetPreferences::DisplayMcn, QString(""));
-    
-    EXPECT(InfoWidgetPreferences::setPreference)
-        .with(InfoWidgetPreferences::DisplayActiveLine, QString(""));
-    
-    EXPECT(InfoWidgetPreferences::setPreference)
-        .with(InfoWidgetPreferences::DisplaySatText, QString(""));
-
-    EXPECT(InfoWidgetPreferences::setPreference)
-        .with(InfoWidgetPreferences::DisplaySpn, QString(""));
-    
-    EXPECT(InfoWidgetPreferences::validate);
-
-    m_infoWidget->readPersistentPreferences();
-    
-    QVERIFY(verify());
-    
-    // one visible item initially
-    EXPECT(InfoWidgetPreferences::validate).returns(true);
-    EXPECT(InfoWidgetPreferences::storePreferences);
-    
-    m_infoWidget->readPersistentPreferences();
-    
-    QVERIFY(verify());
-}
-
-/*!
-  UT_InfoWidget::t_onInitialize
- */
-void UT_InfoWidget::t_onInitialize()
-{    
-    // Test onInitialize sequence where 
-    // meta-object properties have been 
-    // initialized 
-    EXPECT(InfoWidgetPreferences::validate)
-        .returns(true);
-    EXPECT(InfoWidgetPreferences::storePreferences)
-        .returns(true);
-    m_infoWidget->onInitialize();
-    
-    // Test onInitialize sequence where 
-    // meta-object properties are 
-    // uninitialized 
-    EXPECT(InfoWidgetPreferences::validate)
-        .returns(false);
-    m_infoWidget->onInitialize();
-}
-
-/*!
-  UT_InfoWidget::t_onUninitialize
- */
-void UT_InfoWidget::t_onUninitialize()
-{
-    m_infoWidget->onUninitialize(); 
-}
-
-/*!
-  UT_InfoWidget::t_onShow
- */
-void UT_InfoWidget::t_onShow()
-{
-    m_infoWidget->onShow(); 
-}
-
-/*!
-  UT_InfoWidget::t_onHide
- */
-void UT_InfoWidget::t_onHide()
-{
-    m_infoWidget->onHide(); 
-}
-
-/*!
-  UT_InfoWidget::t_readModel
- */
-void UT_InfoWidget::t_readModel()
-{
-    EXPECT(InfoWidgetLayoutManager::currentDisplayRole)
-        .returns(InfoWidgetLayoutManager::InfoDisplay);
-    m_infoWidget->readModel();
-    
-    EXPECT(InfoWidgetLayoutManager::currentDisplayRole)
-        .returns(InfoWidgetLayoutManager::SettingsDisplay);
-    m_infoWidget->readModel();
-    
-    QVERIFY(verify());
-}
-
-/*!
-  UT_InfoWidget::t_handleModelError
- */
-void UT_InfoWidget::t_handleModelError()
-{
-    int operation(0);
-    int errorCode(0); 
-    m_infoWidget->handleModelError(operation, errorCode); 
-}
-
-/*!
-  UT_InfoWidget::t_mcnDisplaySettingChanged
- */
-void UT_InfoWidget::t_mcnDisplaySettingChanged()
-{
-    // user enables MCN setting
-    EXPECT(InfoWidgetPreferences::setPreference)
-        .with(InfoWidgetPreferences::DisplayMcn, KPreferenceOn);
-    int setting(Qt::Checked);
-    m_infoWidget->mcnDisplaySettingChanged(setting);
-    
-    // user disables MCN setting
-    EXPECT(InfoWidgetPreferences::setPreference)
-        .with(InfoWidgetPreferences::DisplayMcn, KPreferenceOff);
-    setting = Qt::Unchecked;
-    m_infoWidget->mcnDisplaySettingChanged(setting);
-    
-    QVERIFY(verify());
-}
-
-void UT_InfoWidget::t_satDisplaySettingChanged()
-{
-    // user enables SAT setting
-    EXPECT(InfoWidgetPreferences::setPreference)
-        .with(InfoWidgetPreferences::DisplaySatText, KPreferenceOn);
-    int setting(Qt::Checked);
-    m_infoWidget->satDisplaySettingChanged(setting);
-    
-    // user disables SAT setting
-    EXPECT(InfoWidgetPreferences::setPreference)
-        .with(InfoWidgetPreferences::DisplaySatText, KPreferenceOff);
-    setting = Qt::Unchecked;
-    m_infoWidget->satDisplaySettingChanged(setting);
-    
-    QVERIFY(verify());
-}
-
-void UT_InfoWidget::t_settingsEditingFinished()
-{
-    m_infoWidget->settingsEditingFinished(); 
-}
-
-void UT_InfoWidget::t_updateItemsVisibility()
-{
-    // All items visible
-    EXPECT(InfoWidgetPreferences::preference)
-        .with(InfoWidgetPreferences::DisplaySpn)
-        .returns(KPreferenceOn);
-    EXPECT(InfoWidgetPreferences::preference)
-        .with(InfoWidgetPreferences::DisplayMcn)
-        .returns(KPreferenceOn);
-    EXPECT(InfoWidgetPreferences::preference)
-        .with(InfoWidgetPreferences::DisplaySatText)
-        .returns(KPreferenceOn);
-    EXPECT(InfoWidgetLayoutManager::setLayoutRows)
-        .with(3);
-    
-    m_infoWidget->updateItemsVisibility();
-    QVERIFY(verify());
-    
-    // none of items visible
-    EXPECT(InfoWidgetLayoutManager::currentDisplayRole)
-        .returns(InfoWidgetLayoutManager::InfoDisplay);
-    
-    EXPECT(InfoWidgetPreferences::preference)
-        .with(InfoWidgetPreferences::DisplaySpn)
-        .returns(KPreferenceOff);
-    EXPECT(InfoWidgetLayoutManager::removeWidget)
-        .with(InfoWidgetLayoutManager::RoleSpnLabel);
-    EXPECT(InfoWidgetLayoutManager::removeWidget)
-        .with(InfoWidgetLayoutManager::RoleSpnIcon);
-
-    EXPECT(InfoWidgetPreferences::preference)
-        .with(InfoWidgetPreferences::DisplayMcn)
-        .returns(KPreferenceOff);
-    EXPECT(InfoWidgetLayoutManager::removeWidget)
-        .with(InfoWidgetLayoutManager::RoleMcnMarqueeItem);
-    EXPECT(InfoWidgetLayoutManager::removeWidget)
-        .with(InfoWidgetLayoutManager::RoleMcnIcon);
-    
-    EXPECT(InfoWidgetPreferences::preference)
-        .with(InfoWidgetPreferences::DisplaySatText)
-        .returns(KPreferenceOff);
-    EXPECT(InfoWidgetLayoutManager::removeWidget)
-        .with(InfoWidgetLayoutManager::RoleSatMarqueeItem);
-    EXPECT(InfoWidgetLayoutManager::removeWidget)
-        .with(InfoWidgetLayoutManager::RoleSatTextIcon);
-    
-    EXPECT(InfoWidgetLayoutManager::setLayoutRows)
-        .with(0);
-    
-    m_infoWidget->updateItemsVisibility();
-    
-    QVERIFY(verify());
-}
-
-void UT_InfoWidget::t_layoutInfoDisplay()
-{
-    EXPECT(InfoWidgetLayoutManager::showAll);
-    EXPECT(InfoWidgetLayoutManager::currentDisplayRole)
-        .returns(InfoWidgetLayoutManager::SettingsDisplay);
-    
-    m_infoWidget->layoutInfoDisplay();
-    
-    QVERIFY(verify());
-}
-
-void UT_InfoWidget::t_layoutSettingsDisplay()
-{
-    EXPECT(InfoWidgetLayoutManager::showAll); 
-    
-    m_infoWidget->layoutSettingsDisplay();
-    
-    QVERIFY(verify());
-}
-
-void UT_InfoWidget::t_initializeInfoDisplayItems()
-{
-    m_infoWidget->initializeInfoDisplayItems();
-}
-
-void UT_InfoWidget::t_initializeSettingsDisplayItems()
-{
-    QGraphicsWidget okButton;
-    EXPECT(InfoWidgetLayoutManager::getWidget)
-        .with(InfoWidgetLayoutManager::RoleOkButton)
-        .returns(&okButton);
-    
-    QGraphicsWidget mcnCheckBox;
-    EXPECT(InfoWidgetLayoutManager::getWidget)
-        .with(InfoWidgetLayoutManager::RoleMcnCheckBox)
-        .returns(&mcnCheckBox);
-    
-    QGraphicsWidget satTextCheckBox;
-    EXPECT(InfoWidgetLayoutManager::getWidget)
-        .with(InfoWidgetLayoutManager::RoleSatTextCheckBox)
-        .returns(&satTextCheckBox);
-    
-    m_infoWidget->initializeSettingsDisplayItems();
-    
-    QVERIFY(verify());
-}
-
-void UT_InfoWidget::t_startChanges()
-{
-    m_infoWidget->startChanges();
-}
-
-void UT_InfoWidget::t_endChanges()
-{
-    m_infoWidget->endChanges();
-}
-
-/*!
-  UT_InfoWidget::t_changeEvent
- */
-void UT_InfoWidget::t_changeEvent()
-{
-    /*
-     * Not work from commmand prompt.
-     */
-    HbEvent event(HbEvent::ThemeChanged);
-    EXPECT(HbColorScheme::color);
-    m_infoWidget->changeEvent(&event);
-    QVERIFY(verify());
-    
-    HbEvent event2(HbEvent::ChildFocusIn);
-    m_infoWidget->changeEvent(&event2);
-    QVERIFY(verify());
-}
-
-
-/*!
-  UT_InfoWidget::t_sizeHint
- */
-void UT_InfoWidget::t_sizeHint()
-{   
-    const QSizeF KMinimumSize(33.5, 160);
-    const QSizeF KPreferredSize(134, 160);
-    const QSizeF KDefaultSizeInfoDisplay(100, 100);
-    const QSizeF KDefaultSizeSettingsDisplay(230, 220);
-
-    // Test: initial size after construction  
-    Qt::SizeHint sizeHint = Qt::PreferredSize;
-    QSizeF constraint = QSizeF();
-    QVERIFY(KDefaultSizeInfoDisplay == m_infoWidget->sizeHint(
-            sizeHint, constraint));
-    
-    // Test: size after onInitialize is called 
-    // and current display is InfoDisplay 
-    m_infoWidget->onInitialize();
-    
-    EXPECT(InfoWidgetLayoutManager::currentDisplayRole).
-            returns(InfoWidgetLayoutManager::InfoDisplay);
-    QGraphicsWidget *contentWidget = new QGraphicsWidget;
-    contentWidget->setMinimumSize(KMinimumSize); 
-    EXPECT(InfoWidgetLayoutManager::contentWidget).
-            returns(contentWidget);
-    EXPECT(InfoWidgetPreferences::visibleItemCount).
-            returns(1);
-    
-    // No strict verification, approximate values.
-    // Data in docml is in "un" format and strict comparison to pixels won't work  
-    //QVERIFY(abs(KMinimumSize.width()-m_infoWidget->sizeHint(sizeHint, constraint).width()) < 1);
-    //QVERIFY(abs(KMinimumSize.height()-m_infoWidget->sizeHint(sizeHint, constraint).height()) < 1);
-    QVERIFY(KDefaultSizeInfoDisplay != m_infoWidget->sizeHint(sizeHint, constraint));
-    
-    // Test: size after onInitialize is called 
-    // and current display is SettingsDisplay 
-
-    delete contentWidget;
-    contentWidget = NULL;
-    
-    QVERIFY(verify());
-}
-
-QTEST_MAIN_S60(UT_InfoWidget)
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/ut_infowidget/ut_infowidget.pro	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,67 +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: Project file for building unit test component
-#
-#
-
-CONFIG += qtestlib hb
-TEMPLATE = app
-TARGET = 
-DEPENDPATH  += . ../../infowidget/src 
-INCLUDEPATH += .
-INCLUDEPATH += ../common
-INCLUDEPATH += ../../inc/
-INCLUDEPATH += ../../infowidget/inc/
-DEFINES += QT_NO_DEBUG_STREAM
-
-
-QT -= gui
-QT += testlib
-
-symbian: {
-  CONFIG += no_icon
-  INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
-  LIBS += -lmocklib 		\
-          -lsymbianmock 	\
-          -lhswidgetmodel
-}
-
-# test code
-HEADERS += ./inc/ut_infowidget.h
-SOURCES += ./src/ut_infowidget.cpp
-
-# code to be tested
-HEADERS += ../../infowidget/inc/infowidget.h
-SOURCES += ../../infowidget/src/infowidget.cpp
-
-# mocks needed for testing
-HEADERS += ../../infowidget/inc/infowidgetpreferences.h
-SOURCES += ../mocks/mock_infowidgetpreferences.cpp
-HEADERS += ../../infowidget/inc/infowidgetengine.h
-SOURCES += ../mocks/mock_infowidgetengine.cpp
-HEADERS += ../../infowidget/inc/infowidgetlayoutmanager.h
-SOURCES += ../mocks/mock_infowidgetlayoutmanager.cpp
-HEADERS += ../../infowidget/inc/infowidgetnetworkhandler.h
-SOURCES += ../mocks/mock_infowidgetnetworkhandler.cpp
-HEADERS += ../../infowidget/inc/infowidgetsathandler.h
-SOURCES += ../mocks/mock_infowidgetsathandler.cpp
-
-SOURCES += ../mocks/mock_hbcolorscheme.cpp
-SOURCES += ../mocks/mock_hblabel.cpp
-SOURCES += ../mocks/mock_hbstyleoptionlabel.cpp
-SOURCES += ../mocks/mock_hbmarqueeitem.cpp
-SOURCES += ../mocks/mock_hbwidget.cpp
-SOURCES += ../mocks/mock_qgraphicslinearlayout.cpp
-SOURCES += ../mocks/mock_qgraphicslayout.cpp
-SOURCES += ../mocks/mock_hbframedrawer.cpp
\ No newline at end of file
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/ut_infowidgetengine/inc/ut_infowidgetengine.h	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,59 +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 UT_INFOWIDGETENGINE_H
-#define UT_INFOWIDGETENGINE_H
-
-#include <QtTest/QtTest>
-#include <mockservice.h>
-
-class InfoWidgetEngine;
-
-class UT_InfoWidgetEngine : public QObject, public MockService
-{
-    Q_OBJECT
-
-public:    
-    
-    UT_InfoWidgetEngine();
-    ~UT_InfoWidgetEngine();
-    
-private slots:
-
-    void init();
-    void cleanup();
-
-    void t_modelData();
-    void t_updateNetworkDataToModel();
-    void t_updateSatDataToModel();
-    void t_updateLineDataToModel();
-    void t_handleNetworkError();
-    void t_handleSatError(); 
-    void t_handleLineError();
-    
-    void t_logModelData();
-    void t_preferenceChanged();
-    void t_suspend();
-    void t_resume();
-    
-private:
-    
-    InfoWidgetEngine *m_infoWidgetEngine;
-
-};
-
-#endif // UT_INFOWIDGETENGINE_H
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/ut_infowidgetengine/run_auto_tests_qt.bat	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,192 +0,0 @@
-rem
-rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-rem All rights reserved.
-rem This component and the accompanying materials are made available
-rem under the terms of "Eclipse Public License v1.0"
-rem which accompanies this distribution, and is available
-rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
-rem
-rem Initial Contributors:
-rem Nokia Corporation - initial contribution.
-rem
-rem Contributors:
-rem
-rem Description:
-rem
-
-@echo off
-setlocal
-goto :startup 
-
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:: function DEFAULT
-::
-:: Modify this function
-::  - TESTED_SRC can be changed to match tested code.
-::    Specifies path from testcode group directory to
-::    tested code
-::  - Add test directories to be runned
-::    ie. "call :build ut_projectdirectory" or use
-::    "for /f %%a in ('dir /b ut_*') do call :build %%a"
-::    which compiles, instruments and runs all test directories
-::    starting with "ut_".
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:DEFAULT
-set TESTED_SRC=..\..\infowidget\src\*.cpp
-
-for /f %%a in ('dir /b ut_*') do call :build %%a
-if [%DOMODULESTESTS%] EQU [TRUE] (
-for /f %%a in ('dir /b mt_*') do call :build %%a
-)
-
-call :finish
-goto :END
-
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:: function STARTUP
-::
-:: Initializing script
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:STARTUP
-
-set BUILDTESTS=TRUE
-set RUNTESTS=TRUE
-set INSTRUMENT=TRUE
-set REMOVEINSTRUMENT=TRUE
-set DOMODULESTESTS=TRUE
-set ABLD_CALL= -2comp  sbs.bat -c winscw_udeb --keepgoing
-set PATH_TO_DLL=\epoc32\release\winscw\udeb
-set PATH_TO_COVERAGE_DATA=\coverage_data
-set PATH_TO_RESULT=\test_result
-
-if not exist %PATH_TO_COVERAGE_DATA% (
-mkdir %PATH_TO_COVERAGE_DATA%
-)
-
-if not exist %PATH_TO_RESULT% (
-mkdir %PATH_TO_RESULT%
-)
-
-if [%1] EQU [] ( goto default )
-
-call :%1
-call :%2
-call :%3
-call :%4
-call :%5
-echo Running tests = %RUNTESTS%
-echo Instrumenting tests = %INSTRUMENT%
-goto default
-
-:/NOCLEANUP
-set REMOVEINSTRUMENT=FALSE
-goto end
-
-:/NORUN
-set RUNTESTS=FALSE
-set REMOVEINSTRUMENT=FALSE
-goto end
-
-:/NOINSTRUMENT
-set INSTRUMENT=FALSE
-goto end
-
-:/NOBUILD
-set BUILDTESTS=FALSE
-goto end
-
-:/ONLYUNITTESTS
-set DOMODULESTESTS=FALSE
-goto end
-
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:: function FINISH
-::
-:: Finishes run_auto_tests.bat
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:FINISH
-
-if [%RUNTESTS%] EQU [TRUE] (
-call :runtests
-)
-
-if [%INSTRUMENT%] EQU [TRUE] (
-call :calculatecoverage
-)
-
-if [%REMOVEINSTRUMENT%] EQU [TRUE] (
-call :removecoverage
-)
-goto end
-
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:: function BUILD
-::    param directory
-::
-:: builds test from given directory
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:BUILD
-setlocal
-if [%BUILDTESTS%] EQU [FALSE] ( goto end )
-echo Building %1
-if not exist %1 ( 
-echo %1 Not found! 
-goto end
-)
-
-pushd .
-call cd %1
-call qmake
-call sbs -c winscw_udeb clean
-if [%INSTRUMENT%] EQU [TRUE] (
-call ctcwrap -n %PATH_TO_COVERAGE_DATA%\%1 -i d -C "EXCLUDE=*" -C "NO_EXCLUDE=%TESTED_SRC%" %ABLD_CALL%
-) else (
-call %ABLD_CALL%
-)
-
-popd
-endlocal
-goto end
-
-
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:: function RUNTESTS
-::
-:: NOTE! Function assumes that test binary is named according to test directory.
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:RUNTESTS
-echo Running tests
-call %PATH_TO_DLL%\ut_infowidgetengine.exe -dtextshell --
-move \epoc32\winscw\c\data\ut_infowidgetengine.log %PATH_TO_RESULT%\ut_infowidgetengine.log
-goto end
-
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:: function CALCULATECOVERAGE
-::
-:: Calculates test coverage. Generates html
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:CALCULATECOVERAGE
-echo Calculating coverage
-ctcpost %PATH_TO_COVERAGE_DATA%\*.sym | ctcmerge -i - -o profile.txt
-call ctc2html -t 70 -i profile.txt -o \coverage_result -nsb
-goto end
-
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:: function REMOVECOVERAGE
-::
-:: Removes data from coverage directory
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:REMOVECOVERAGE
-echo Removing deleting coverage data
-call del %PATH_TO_COVERAGE_DATA%\*.sym
-call del %PATH_TO_COVERAGE_DATA%\*.dat
-call del profile.txt
-goto end
-
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:: function END
-::
-:: Prints done
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:END
-echo Done!
\ No newline at end of file
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/ut_infowidgetengine/src/ut_infowidgetengine.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,279 +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 "ut_infowidgetengine.h"
-#include "infowidgetengine.h"
-#include "qtestmains60.h"
-#include "infowidgetpreferences.h"
-
-// mocked dependencies of the class under test
-#include "infowidgetnetworkhandler.h"
-#include "infowidgetsathandler.h"
-
-const QString KSpnName("Spn name");    // 
-
-const QString KHomeZoneTextTag("HomeZoneText0");    // max length 13
-const TNWViagIndicatorType 
-    KHomeZoneIndicatorType = ENWViagIndicatorTypeHomeZone;
-
-const QString KMcnName("McnNameMcnNameMcnNam");     // max length 20 
-const TNWMCNIndicatorType 
-    KMcnIndicatorType = ENWMCNIndicatorTypeActive;
-
-/*!
-  UT_InfoWidgetEngine::UT_InfoWidgetEngine
- */
-UT_InfoWidgetEngine::UT_InfoWidgetEngine() 
-    : 
-    m_infoWidgetEngine(0)
-{
-    
-}
-
-/*!
-  UT_InfoWidgetEngine::~UT_InfoWidgetEngine
- */
-UT_InfoWidgetEngine::~UT_InfoWidgetEngine()
-{
-    delete m_infoWidgetEngine;
-}
-
-/*!
-  UT_InfoWidgetEngine::init
- */
-void UT_InfoWidgetEngine::init()
-{
-    initialize();
-    
-    SmcDefaultValue<QString>::SetL("");
-    SmcDefaultValue<const QString & >::SetL("");
-    
-    EXPECT(InfoWidgetNetworkHandler::logCurrentInfo);
-    EXPECT(InfoWidgetNetworkHandler::isOnline)
-        .returns(true);    
-    
-    EXPECT(InfoWidgetNetworkHandler::serviceProviderName)
-        .returns(KSpnName);
-    EXPECT(InfoWidgetNetworkHandler::serviceProviderNameDisplayRequired)
-        .returns(true);
-
-    EXPECT(InfoWidgetNetworkHandler::mcnName).returns(KMcnName);
-    EXPECT(InfoWidgetNetworkHandler::mcnIndicatorType)
-        .returns(KMcnIndicatorType);
-
-    EXPECT(InfoWidgetNetworkHandler::homeZoneIndicatorType)
-        .returns(KHomeZoneIndicatorType);
-    EXPECT(InfoWidgetNetworkHandler::homeZoneTextTag)
-        .returns(KHomeZoneTextTag);
-    
-    m_infoWidgetEngine = new InfoWidgetEngine();
-    
-    QVERIFY(verify());
-}
-
-/*!
-  UT_InfoWidgetEngine::cleanup
- */
-void UT_InfoWidgetEngine::cleanup()
-{
-    reset();
-    
-    delete m_infoWidgetEngine;
-    m_infoWidgetEngine = 0;
-}
-
-/*!
-  UT_InfoWidgetEngine::t_modelData
- */
-void UT_InfoWidgetEngine::t_modelData()
-{
-    const InfoWidgetEngine::ModelData& data = m_infoWidgetEngine->modelData();
-    QVERIFY(data.serviceProviderName() == KSpnName);
-    QVERIFY(data.serviceProviderNameDisplayRequired() == true);
-    QVERIFY(data.homeZoneTextTag() == KHomeZoneTextTag);
-    QVERIFY(data.homeZoneIndicatorType() == KHomeZoneIndicatorType);
-    QVERIFY(data.mcnName() == KMcnName);
-    QVERIFY(data.mcnIndicatorType() == KMcnIndicatorType);
-}
-
-/*!
-  UT_InfoWidgetEngine::t_updateNetworkDataToModel
- */
-void UT_InfoWidgetEngine::t_updateNetworkDataToModel()
-{
-    // Test: network status is online
-    EXPECT(InfoWidgetNetworkHandler::logCurrentInfo);
-    EXPECT(InfoWidgetNetworkHandler::isOnline)
-        .returns(true);    
-    
-    EXPECT(InfoWidgetNetworkHandler::serviceProviderName)
-        .returns(KSpnName);
-    EXPECT(InfoWidgetNetworkHandler::serviceProviderNameDisplayRequired)
-        .returns(true);
-
-    EXPECT(InfoWidgetNetworkHandler::mcnName).returns(KMcnName);
-    EXPECT(InfoWidgetNetworkHandler::mcnIndicatorType)
-        .returns(KMcnIndicatorType);
-
-    EXPECT(InfoWidgetNetworkHandler::homeZoneIndicatorType)
-        .returns(KHomeZoneIndicatorType);
-    EXPECT(InfoWidgetNetworkHandler::homeZoneTextTag)
-        .returns(KHomeZoneTextTag);
-    
-    QSignalSpy spy(m_infoWidgetEngine, SIGNAL(modelChanged()));
-    m_infoWidgetEngine->updateNetworkDataToModel();
-    
-    const int KExpectedNumOfSignalEmissions = 1;
-    QCOMPARE(spy.count(), KExpectedNumOfSignalEmissions);
-    const QList<QVariant> &arguments = spy.takeFirst(); 
-    QCOMPARE(arguments.count(), 0);
-    
-    QVERIFY(verify());
-    
-    // Test: network status is offline
-    EXPECT(InfoWidgetNetworkHandler::logCurrentInfo);
-    EXPECT(InfoWidgetNetworkHandler::isOnline)
-          .returns(false);    
-    EXPECT(InfoWidgetNetworkHandler::serviceProviderName).times(0);
-    EXPECT(InfoWidgetNetworkHandler::serviceProviderNameDisplayRequired).times(0);
-    EXPECT(InfoWidgetNetworkHandler::mcnName).times(0);
-    EXPECT(InfoWidgetNetworkHandler::mcnIndicatorType).times(0);
-    EXPECT(InfoWidgetNetworkHandler::homeZoneIndicatorType).times(0);
-    EXPECT(InfoWidgetNetworkHandler::homeZoneTextTag).times(0);
-      
-    m_infoWidgetEngine->updateNetworkDataToModel();
-    QCOMPARE(spy.count(), KExpectedNumOfSignalEmissions);
-    const QList<QVariant> &arguments2 = spy.takeFirst(); 
-    QCOMPARE(arguments2.count(), 0);
-    
-    QVERIFY(verify());
-    
-    const InfoWidgetEngine::ModelData& data = m_infoWidgetEngine->modelData();
-    QVERIFY(data.serviceProviderName() == QString(""));
-    QVERIFY(data.homeZoneTextTag() == QString(""));
-    QVERIFY(data.mcnName() == QString(""));
-    
-}
-
-/*!
-  UT_InfoWidgetEngine::t_updateSatDataToModel
- */
-void UT_InfoWidgetEngine::t_updateSatDataToModel()
-{
-    EXPECT(InfoWidgetSatHandler::satDisplayText)
-        .returns(QString(""));
-    
-    m_infoWidgetEngine->updateSatDataToModel();
-}
-
-/*!
-  UT_InfoWidgetEngine::t_updateLineDataToModel
- */
-void UT_InfoWidgetEngine::t_updateLineDataToModel()
-{
-    m_infoWidgetEngine->updateLineDataToModel();
-    
-    QVERIFY(verify());
-}
-
-/*!
-  UT_InfoWidgetEngine::t_handleNetworkError
- */
-void UT_InfoWidgetEngine::t_handleNetworkError()
-{
-    m_infoWidgetEngine->handleNetworkError(0, 0);
-    
-    QVERIFY(verify());
-}
-
-/*!
-  UT_InfoWidgetEngine::t_handleSatError
- */
-void UT_InfoWidgetEngine::t_handleSatError()
-{
-    m_infoWidgetEngine->handleSatError(0, 0);
-    
-    QVERIFY(verify());
-}
-
-/*!
-  UT_InfoWidgetEngine::t_handleLineError
- */
-void UT_InfoWidgetEngine::t_handleLineError()
-{
-    m_infoWidgetEngine->handleLineError(0, 0);
-    
-    QVERIFY(verify());
-}
-
-/*!
-  UT_InfoWidgetEngine::t_handleLineError
- */
-void UT_InfoWidgetEngine::t_logModelData()
-{
-    m_infoWidgetEngine->logModelData();
-    
-    QVERIFY(verify());
-}
-
-/*!
-  UT_InfoWidgetEngine::t_preferenceChanged
- */
-void UT_InfoWidgetEngine::t_preferenceChanged()
-{
-    m_infoWidgetEngine->preferenceChanged
-        (InfoWidgetPreferences::DisplayMcn,
-            InfoWidgetPreferences::DisplayOn);
-
-    m_infoWidgetEngine->preferenceChanged
-        (InfoWidgetPreferences::DisplayMcn,
-            InfoWidgetPreferences::DisplayOff);
-
-    m_infoWidgetEngine->preferenceChanged
-        (InfoWidgetPreferences::DisplaySatText,
-            InfoWidgetPreferences::DisplayOn);        
-
-    m_infoWidgetEngine->preferenceChanged
-        (InfoWidgetPreferences::DisplaySatText,
-            InfoWidgetPreferences::DisplayOff);        
-
-    m_infoWidgetEngine->preferenceChanged(-1,
-            InfoWidgetPreferences::DisplayOff);        
-
-    QVERIFY(verify());
-}
-
-/*!
-  UT_InfoWidgetEngine::t_suspend
- */
-void UT_InfoWidgetEngine::t_suspend()
-{
-    m_infoWidgetEngine->suspend();
-        
-    QVERIFY(verify());
-}
-
-/*!
-  UT_InfoWidgetEngine::t_resume
- */
-void UT_InfoWidgetEngine::t_resume()
-{
-    m_infoWidgetEngine->resume();
-        
-    QVERIFY(verify());
-}
-
-QTEST_MAIN_S60(UT_InfoWidgetEngine)
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/ut_infowidgetengine/ut_infowidgetengine.pro	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,59 +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: Project file for building unit test component
-#
-#
-
-CONFIG += qtestlib hb
-TEMPLATE = app
-TARGET = 
-DEPENDPATH  += . ../../infowidget/src ../../infowidget/inc
-INCLUDEPATH += .
-INCLUDEPATH += ../common
-INCLUDEPATH += ../../inc/
-INCLUDEPATH += ../../infowidget/inc/
-DEFINES += XQSETTINGSMANAGER_NO_LIBRARY
-DEFINES += QT_NO_DEBUG_STREAM
-
-QT -= gui
-QT += testlib
-
-symbian: {
-  CONFIG += no_icon
-  INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE
-  LIBS += -lmocklib 		\
-          -lsymbianmock 	\
-          -lcpframework
-}
-    
-# test code
-HEADERS += ./inc/ut_infowidgetengine.h
-SOURCES += ./src/ut_infowidgetengine.cpp
-
-# code to be tested
-HEADERS += ../../infowidget/inc/infowidgetengine.h
-SOURCES += ../../infowidget/src/infowidgetengine.cpp
-
-# mocks needed for testing
-HEADERS += ../../infowidget/inc/infowidgetnetworkhandler.h \
-           ../../infowidget/inc/infowidgetsathandler.h
-HEADERS += /epoc32/include/mw/xqsettingskey.h \
-           /epoc32/include/mw/xqsettingsmanager.h
-
-SOURCES += ../mocks/mock_xqsettingsmanager.cpp \
-           ../mocks/mock_xqsettingskey.cpp     \
-           ../mocks/mock_infowidgetnetworkhandler.cpp \
-           ../mocks/mock_infowidgetsathandler.cpp \
-           ../mocks/mock_rsatservice.cpp 
-           
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/ut_infowidgetlayoutmanager/inc/ut_infowidgetlayoutmanager.h	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,86 +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 UT_INFOWIDGETLAYOUTMANAGER_H
-#define UT_INFOWIDGETLAYOUTMANAGER_H
-
-#include <QtTest/QtTest>
-#include <mockservice.h>
-
-class InfoWidgetLayoutManager;
-class InfoWidgetDocumentLoader;
-
-class UT_InfoWidgetLayoutManager : public QObject, public MockService
-{
-    Q_OBJECT
-
-public:  
-    UT_InfoWidgetLayoutManager();
-    ~UT_InfoWidgetLayoutManager();
-
-private:     
-    void fillDisplayContainers();
-    void fillCurrentWidgetsContainer();
-    void fillParams(const QString & fileName, bool * ok);
-    
-private slots:
-    void init();
-    void cleanup();
-    
-    void t_currentDisplayRole();
-    void t_currentWidgetRoles();
-    
-    void t_layoutRows(); 
-    void t_setLayoutRows();
-    void t_rowHeight();
-    
-    void t_layoutInfoDisplay();
-    void t_layoutSettingsDisplay();
-    
-    void t_widgetRoles();
-    void t_loadWidgets();
-    void t_loadWidget();
-    void t_getWidget();
-    void t_hideWidget();
-
-    void t_contentWidget();
-    
-    void t_showAll();
-    void t_hideAll();
-        
-    void t_reloadWidgets();
-    
-    void t_removeWidget();
-    
-    void t_destroyObjects();
-    
-    // InfoWidgetDocumentLoader tests 
-    void t_createObject();
-    
-private:    
-    InfoWidgetLayoutManager *m_layoutManager;
-    InfoWidgetDocumentLoader *m_documentLoader;
-    
-    QGraphicsWidget *m_checkBoxPtr; 
-    QGraphicsWidget *m_iconPtr;
-    QGraphicsWidget *m_marqueeItemPtr;
-    QGraphicsWidget *m_labelPtr;
-    QGraphicsWidget *m_graphicsWidgetPtr;
-    
-};
-
-#endif // UT_INFOWIDGETLAYOUTMANAGER_H
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/ut_infowidgetlayoutmanager/run_auto_tests_qt.bat	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,192 +0,0 @@
-rem
-rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-rem All rights reserved.
-rem This component and the accompanying materials are made available
-rem under the terms of "Eclipse Public License v1.0"
-rem which accompanies this distribution, and is available
-rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
-rem
-rem Initial Contributors:
-rem Nokia Corporation - initial contribution.
-rem
-rem Contributors:
-rem
-rem Description:
-rem
-
-@echo off
-setlocal
-goto :startup 
-
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:: function DEFAULT
-::
-:: Modify this function
-::  - TESTED_SRC can be changed to match tested code.
-::    Specifies path from testcode group directory to
-::    tested code
-::  - Add test directories to be runned
-::    ie. "call :build ut_projectdirectory" or use
-::    "for /f %%a in ('dir /b ut_*') do call :build %%a"
-::    which compiles, instruments and runs all test directories
-::    starting with "ut_".
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:DEFAULT
-set TESTED_SRC=..\..\infowidget\src\*.cpp
-
-for /f %%a in ('dir /b ut_*') do call :build %%a
-if [%DOMODULESTESTS%] EQU [TRUE] (
-for /f %%a in ('dir /b mt_*') do call :build %%a
-)
-
-call :finish
-goto :END
-
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:: function STARTUP
-::
-:: Initializing script
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:STARTUP
-
-set BUILDTESTS=TRUE
-set RUNTESTS=TRUE
-set INSTRUMENT=TRUE
-set REMOVEINSTRUMENT=TRUE
-set DOMODULESTESTS=TRUE
-set ABLD_CALL= -2comp  sbs.bat -c winscw_udeb --keepgoing
-set PATH_TO_DLL=\epoc32\release\winscw\udeb
-set PATH_TO_COVERAGE_DATA=\coverage_data
-set PATH_TO_RESULT=\test_result
-
-if not exist %PATH_TO_COVERAGE_DATA% (
-mkdir %PATH_TO_COVERAGE_DATA%
-)
-
-if not exist %PATH_TO_RESULT% (
-mkdir %PATH_TO_RESULT%
-)
-
-if [%1] EQU [] ( goto default )
-
-call :%1
-call :%2
-call :%3
-call :%4
-call :%5
-echo Running tests = %RUNTESTS%
-echo Instrumenting tests = %INSTRUMENT%
-goto default
-
-:/NOCLEANUP
-set REMOVEINSTRUMENT=FALSE
-goto end
-
-:/NORUN
-set RUNTESTS=FALSE
-set REMOVEINSTRUMENT=FALSE
-goto end
-
-:/NOINSTRUMENT
-set INSTRUMENT=FALSE
-goto end
-
-:/NOBUILD
-set BUILDTESTS=FALSE
-goto end
-
-:/ONLYUNITTESTS
-set DOMODULESTESTS=FALSE
-goto end
-
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:: function FINISH
-::
-:: Finishes run_auto_tests.bat
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:FINISH
-
-if [%RUNTESTS%] EQU [TRUE] (
-call :runtests
-)
-
-if [%INSTRUMENT%] EQU [TRUE] (
-call :calculatecoverage
-)
-
-if [%REMOVEINSTRUMENT%] EQU [TRUE] (
-call :removecoverage
-)
-goto end
-
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:: function BUILD
-::    param directory
-::
-:: builds test from given directory
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:BUILD
-setlocal
-if [%BUILDTESTS%] EQU [FALSE] ( goto end )
-echo Building %1
-if not exist %1 ( 
-echo %1 Not found! 
-goto end
-)
-
-pushd .
-call cd %1
-call qmake
-call sbs -c winscw_udeb clean
-if [%INSTRUMENT%] EQU [TRUE] (
-call ctcwrap -n %PATH_TO_COVERAGE_DATA%\%1 -i d -C "EXCLUDE=*" -C "NO_EXCLUDE=%TESTED_SRC%" %ABLD_CALL%
-) else (
-call %ABLD_CALL%
-)
-
-popd
-endlocal
-goto end
-
-
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:: function RUNTESTS
-::
-:: NOTE! Function assumes that test binary is named according to test directory.
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:RUNTESTS
-echo Running tests
-call %PATH_TO_DLL%\ut_infowidgetlayoutmanager.exe -dtextshell --
-move \epoc32\winscw\c\data\ut_infowidgetlayoutmanager.log %PATH_TO_RESULT%\ut_infowidgetlayoutmanager.log
-goto end
-
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:: function CALCULATECOVERAGE
-::
-:: Calculates test coverage. Generates html
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:CALCULATECOVERAGE
-echo Calculating coverage
-ctcpost %PATH_TO_COVERAGE_DATA%\*.sym | ctcmerge -i - -o profile.txt
-call ctc2html -t 70 -i profile.txt -o \coverage_result -nsb
-goto end
-
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:: function REMOVECOVERAGE
-::
-:: Removes data from coverage directory
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:REMOVECOVERAGE
-echo Removing deleting coverage data
-call del %PATH_TO_COVERAGE_DATA%\*.sym
-call del %PATH_TO_COVERAGE_DATA%\*.dat
-call del profile.txt
-goto end
-
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:: function END
-::
-:: Prints done
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:END
-echo Done!
\ No newline at end of file
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/ut_infowidgetlayoutmanager/src/ut_infowidgetlayoutmanager.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,475 +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 "ut_infowidgetlayoutmanager.h"
-#include <QGraphicsWidget>
-#include <hbmarqueeitem>
-#include <hbstyle>
-#define private public
-#include "infowidgetlayoutmanager.h"
-#include "qtestmains60.h"
-
-
-
-const int KNumOfSettingsDisplayRoles = 6;
-const int KNumOfInfoDisplayRoles = 7;
-const QString KInfoWidgetDocmlFile = ":/resource/infowidget.docml";
-const QString KMargueeItemClassName = HbMarqueeItem::staticMetaObject.className();
-
-//class HbStyle;
-/*!
-  UT_InfoWidgetLayoutManager::UT_InfoWidgetLayoutManager
- */
-UT_InfoWidgetLayoutManager::UT_InfoWidgetLayoutManager() 
-    : 
-    m_layoutManager(NULL),
-    m_documentLoader(NULL)
-{
-    m_checkBoxPtr = new QGraphicsWidget;  
-    m_iconPtr = new QGraphicsWidget; 
-    m_marqueeItemPtr = new QGraphicsWidget; 
-    m_labelPtr = new QGraphicsWidget; 
-    m_graphicsWidgetPtr = new QGraphicsWidget;
-}
-
-
-/*!
-  UT_InfoWidgetLayoutManager::~UT_InfoWidgetLayoutManager
- */
-UT_InfoWidgetLayoutManager::~UT_InfoWidgetLayoutManager()
-{
-    delete m_layoutManager;
-    delete m_checkBoxPtr;  
-    delete m_iconPtr; 
-    delete m_marqueeItemPtr; 
-    delete m_labelPtr; 
-    delete m_graphicsWidgetPtr; 
-}
-
-
-/*!
-  UT_InfoWidgetLayoutManager::init
- */
-void UT_InfoWidgetLayoutManager::init()
-{
-    initialize();
-    
-    QObjectList objectList;
-    EXPECT(HbDocumentLoader::load)
-        .with(KInfoWidgetDocmlFile, false)
-        .returns(&objectList);
-    EXPECT(HbDocumentLoader::load)
-        .with(KInfoWidgetDocmlFile, false)
-        .returns(&objectList);
-    m_layoutManager = new InfoWidgetLayoutManager();
-    
-    m_documentLoader = new InfoWidgetDocumentLoader; 
-    
-    QVERIFY(verify());
-}
-
-
-/*!
-  UT_InfoWidgetLayoutManager::cleanup
- */
-void UT_InfoWidgetLayoutManager::cleanup()
-{
-    reset();
-    
-    delete m_layoutManager;
-    m_layoutManager = NULL; 
-    
-    delete m_documentLoader; 
-    m_documentLoader = NULL; 
-}
-
-/*!
-  UT_InfoWidgetLayoutManager::fillDisplayContainers
- */
-void UT_InfoWidgetLayoutManager::fillDisplayContainers()
-{
-    InfoWidgetLayoutManager::LayoutItemRole currentRole; 
-    
-    QList<InfoWidgetLayoutManager::LayoutItemRole> infoDisplayWidgetRoles = 
-            m_layoutManager->widgetRoles(InfoWidgetLayoutManager::InfoDisplay); 
-    foreach (currentRole, infoDisplayWidgetRoles) {
-        m_layoutManager->m_infoDisplayWidgets.insert(currentRole, m_graphicsWidgetPtr);    
-    }
-     
-    QList<InfoWidgetLayoutManager::LayoutItemRole> settingsDisplayWidgetRoles = 
-            m_layoutManager->widgetRoles(InfoWidgetLayoutManager::SettingsDisplay); 
-    foreach (currentRole, settingsDisplayWidgetRoles) {
-        m_layoutManager->m_settingsDisplayWidgets.insert(currentRole, m_graphicsWidgetPtr);    
-    }
-
-}
-
-/*!
-  UT_InfoWidgetLayoutManager::fillParams
- */
-void UT_InfoWidgetLayoutManager::fillParams(const QString & fileName,
-        bool * ok){
-    Q_UNUSED(fileName)
-    *ok = true;
-}
-
-/*!
-  UT_InfoWidgetLayoutManager::fillCurrentWidgetsContainer
- */
-void UT_InfoWidgetLayoutManager::fillCurrentWidgetsContainer()
-{
-    InfoWidgetLayoutManager::LayoutItemRole currentRole; 
-    
-    QList<InfoWidgetLayoutManager::LayoutItemRole> infoDisplayWidgetRoles = 
-            m_layoutManager->widgetRoles(InfoWidgetLayoutManager::InfoDisplay); 
-    foreach (currentRole, infoDisplayWidgetRoles) {
-        m_layoutManager->m_widgets.insert(currentRole, m_graphicsWidgetPtr);    
-    }
-}
-
-/*!
-  UT_InfoWidgetLayoutManager::t_currentDisplayRole
- */
-void UT_InfoWidgetLayoutManager::t_currentDisplayRole()
-{
-    InfoWidgetLayoutManager::DisplayRole role =
-        m_layoutManager->currentDisplayRole();
-    
-    QVERIFY(InfoWidgetLayoutManager::InfoDisplay == role);
-}
-
-
-/*!
-  UT_InfoWidgetLayoutManager::t_currentWidgetRoles
- */
-void UT_InfoWidgetLayoutManager::t_currentWidgetRoles()
-{
-    // Initial state after layout manager construction 
-    QList<InfoWidgetLayoutManager::LayoutItemRole> roles =
-        m_layoutManager->currentWidgetRoles();
-    QVERIFY(roles.count() == 0);
-    
-    // Fill display container data 
-    fillDisplayContainers();
-    
-    QGraphicsLayout *activeLayout;    
-    activeLayout= m_layoutManager->layoutInfoDisplay(); 
-    QVERIFY(!activeLayout);
-    
-    roles = m_layoutManager->currentWidgetRoles();
-            
-    QVERIFY(roles.count() == KNumOfInfoDisplayRoles);
-    if (roles.count() == KNumOfInfoDisplayRoles) {
-        QVERIFY(0 <= roles.indexOf(
-            InfoWidgetLayoutManager::RoleContent));
-        QVERIFY(0 <= roles.indexOf(
-            InfoWidgetLayoutManager::RoleSpnLabel));
-        QVERIFY(0 <= roles.indexOf(
-            InfoWidgetLayoutManager::RoleMcnMarqueeItem));
-        QVERIFY(0 <= roles.indexOf(
-            InfoWidgetLayoutManager::RoleSatMarqueeItem));
-        QVERIFY(0 <= roles.indexOf(
-            InfoWidgetLayoutManager::RoleSpnIcon));
-        QVERIFY(0 <= roles.indexOf(
-            InfoWidgetLayoutManager::RoleMcnIcon));
-        QVERIFY(0 <= roles.indexOf(
-            InfoWidgetLayoutManager::RoleSatTextIcon));
-    }
-    
-    activeLayout= m_layoutManager->layoutSettingsDisplay(); 
-    QVERIFY(!activeLayout);
-
-    roles = m_layoutManager->currentWidgetRoles();
-    int dVar = roles.count();  
-    QVERIFY(roles.count() == KNumOfSettingsDisplayRoles);
-
-}
-
-
-/*!
-  UT_InfoWidgetLayoutManager::t_layoutRows
- */
-void UT_InfoWidgetLayoutManager::t_layoutRows()
-{
-    int rows = m_layoutManager->layoutRows();
-    QVERIFY(0 == rows);
-}
-
-
-/*!
-  UT_InfoWidgetLayoutManager::t_setLayoutRows
- */
-void UT_InfoWidgetLayoutManager::t_setLayoutRows()
-{
-    const int KLayoutRows = 1;
-    m_layoutManager->setLayoutRows(KLayoutRows);
-    QVERIFY(KLayoutRows == m_layoutManager->layoutRows());
-}
-
-/*!
-  UT_InfoWidgetLayoutManager::t_setLayoutRows
- */
-void UT_InfoWidgetLayoutManager::t_rowHeight()
-{
-    bool b = false;
-    EXPECT(HbStyle::parameter).returns(b);
-    m_layoutManager->rowHeight();
-    
-    b = true;
-    EXPECT(HbStyle::parameter).returns(b);
-    m_layoutManager->rowHeight();
-    
-    QVERIFY(verify()); 
-}
-
-/*!
-  UT_InfoWidgetLayoutManager::t_layoutInfoDisplay
- */
-void UT_InfoWidgetLayoutManager::t_layoutInfoDisplay()
-{
-    QVERIFY(!m_layoutManager->layoutInfoDisplay());
-}
-
-
-/*!
-  UT_InfoWidgetLayoutManager::t_layoutSettingsDisplay
- */
-void UT_InfoWidgetLayoutManager::t_layoutSettingsDisplay()
-{
-    QVERIFY(!m_layoutManager->layoutSettingsDisplay());
-}
-
-/*!
-  UT_InfoWidgetLayoutManager::t_widgetRoles
- */
-void UT_InfoWidgetLayoutManager::t_widgetRoles()
-{
-    const QList<InfoWidgetLayoutManager::LayoutItemRole> settingDisplayRoles =
-        m_layoutManager->widgetRoles(InfoWidgetLayoutManager::SettingsDisplay);
-    
-    QVERIFY(settingDisplayRoles.count() == KNumOfSettingsDisplayRoles);
-    if (settingDisplayRoles.count() == KNumOfSettingsDisplayRoles) {
-        QVERIFY(0 <= settingDisplayRoles.indexOf(
-            InfoWidgetLayoutManager::RoleContent));
-        QVERIFY(0 <= settingDisplayRoles.indexOf(
-            InfoWidgetLayoutManager::RoleSpnCheckBox));
-        QVERIFY(0 <= settingDisplayRoles.indexOf(
-            InfoWidgetLayoutManager::RoleMcnCheckBox));
-        QVERIFY(0 <= settingDisplayRoles.indexOf(
-            InfoWidgetLayoutManager::RoleSatTextCheckBox));
-        QVERIFY(0 <= settingDisplayRoles.indexOf(
-            InfoWidgetLayoutManager::RoleOkButton));
-        QVERIFY(0 <= settingDisplayRoles.indexOf(
-            InfoWidgetLayoutManager::RoleSettingsContainer));
-    }
-    
-    const QList<InfoWidgetLayoutManager::LayoutItemRole> infoDisplayRoles =
-        m_layoutManager->widgetRoles(InfoWidgetLayoutManager::InfoDisplay);
-    QVERIFY(infoDisplayRoles.count() == KNumOfInfoDisplayRoles);
-    if (infoDisplayRoles.count() == KNumOfInfoDisplayRoles) {
-        QVERIFY(0 <= infoDisplayRoles.indexOf(
-            InfoWidgetLayoutManager::RoleContent));
-        QVERIFY(0 <= infoDisplayRoles.indexOf(
-            InfoWidgetLayoutManager::RoleSpnLabel));
-        QVERIFY(0 <= infoDisplayRoles.indexOf(
-            InfoWidgetLayoutManager::RoleMcnMarqueeItem));
-        QVERIFY(0 <= infoDisplayRoles.indexOf(
-            InfoWidgetLayoutManager::RoleSatMarqueeItem));
-        QVERIFY(0 <= infoDisplayRoles.indexOf(
-            InfoWidgetLayoutManager::RoleSpnIcon));
-        QVERIFY(0 <= infoDisplayRoles.indexOf(
-            InfoWidgetLayoutManager::RoleMcnIcon));
-        QVERIFY(0 <= infoDisplayRoles.indexOf(
-            InfoWidgetLayoutManager::RoleSatTextIcon));
-    }
-}
-
-/*!
-  UT_InfoWidgetLayoutManager::t_loadWidgets
- */
-void UT_InfoWidgetLayoutManager::t_loadWidgets()
-{
-    QObjectList list = QObjectList();
-    EXPECT(HbDocumentLoader::load)
-        .willOnce(invoke(this, &fillParams)).returns(list);
-    
-    const QList<InfoWidgetLayoutManager::LayoutItemRole> settingDisplayRoles =
-            m_layoutManager->widgetRoles(InfoWidgetLayoutManager::SettingsDisplay);
-    bool loadResult = m_layoutManager->loadWidgets(InfoWidgetLayoutManager::SettingsDisplay, 
-            settingDisplayRoles,
-            m_layoutManager->m_infoDisplayWidgets); 
-    
-    QVERIFY(!loadResult);
-}
-
-/*!
-  UT_InfoWidgetLayoutManager::t_loadWidget
- */
-void UT_InfoWidgetLayoutManager::t_loadWidget()
-{
-    QGraphicsWidget *currentWidget; 
-    InfoWidgetLayoutManager::LayoutItemRole currentRole; 
-    
-    QList<InfoWidgetLayoutManager::LayoutItemRole> 
-        infoDisplayWidgetRoles = m_layoutManager->widgetRoles(
-                InfoWidgetLayoutManager::InfoDisplay); 
-    
-    infoDisplayWidgetRoles.append(InfoWidgetLayoutManager::RoleUndefined); 
-    infoDisplayWidgetRoles.append(InfoWidgetLayoutManager::RoleContainer);
-    
-
-    foreach (currentRole, infoDisplayWidgetRoles) {
-        currentWidget = m_layoutManager->loadWidget(*m_documentLoader,
-                InfoWidgetLayoutManager::InfoDisplay,
-                currentRole);
-        QVERIFY(!currentWidget);
-    }
-    
-    QList<InfoWidgetLayoutManager::LayoutItemRole> 
-        settingsDisplayWidgetRoles = m_layoutManager->widgetRoles(
-                InfoWidgetLayoutManager::SettingsDisplay); 
-    
-    foreach (currentRole, settingsDisplayWidgetRoles) {
-        currentWidget = m_layoutManager->loadWidget(*m_documentLoader,
-                InfoWidgetLayoutManager::SettingsDisplay,
-                currentRole);
-        QVERIFY(!currentWidget);
-    }
-    
-    currentWidget = m_layoutManager->loadWidget(*m_documentLoader,
-                (InfoWidgetLayoutManager::DisplayRole)2,
-                        InfoWidgetLayoutManager::RoleLastEnum );
-    
-    QVERIFY(!currentWidget);
-}
-
-/*!
-  UT_InfoWidgetLayoutManager::t_getWidget
- */
-void UT_InfoWidgetLayoutManager::t_getWidget()
-{
-    fillCurrentWidgetsContainer();
-    
-    QVERIFY(!m_layoutManager->getWidget(InfoWidgetLayoutManager::RoleUndefined));
-    QVERIFY(m_layoutManager->getWidget(InfoWidgetLayoutManager::RoleContent));
-    QVERIFY(!m_layoutManager->getWidget(InfoWidgetLayoutManager::RoleLastEnum));
-}
-
-/*!
-  UT_InfoWidgetLayoutManager::t_removeWidget
- */
-void UT_InfoWidgetLayoutManager::t_removeWidget()
-{
-    fillCurrentWidgetsContainer();
-        
-    m_layoutManager->removeWidget(InfoWidgetLayoutManager::RoleUndefined);
-    m_layoutManager->removeWidget(InfoWidgetLayoutManager::RoleContent);
-    m_layoutManager->removeWidget(InfoWidgetLayoutManager::RoleLastEnum);
-    
-    QVERIFY(verify());
-}
-
-
-/*!
-  UT_InfoWidgetLayoutManager::t_contentWidget
- */
-void UT_InfoWidgetLayoutManager::t_contentWidget()
-{
-    fillCurrentWidgetsContainer();
-    
-    QVERIFY(m_layoutManager->contentWidget());
-}
-
-
-/*!
-  UT_InfoWidgetLayoutManager::t_hideWidget
- */
-void UT_InfoWidgetLayoutManager::t_hideWidget()
-{
-    fillCurrentWidgetsContainer();
-    
-    m_layoutManager->hideWidget(InfoWidgetLayoutManager::RoleUndefined);
-    m_layoutManager->hideWidget(InfoWidgetLayoutManager::RoleContent);
-    m_layoutManager->hideWidget(InfoWidgetLayoutManager::RoleLastEnum);
-    
-    QVERIFY(verify());
-}
-
-
-/*!
-  UT_InfoWidgetLayoutManager::t_hideAll
- */
-void UT_InfoWidgetLayoutManager::t_hideAll()
-{
-    m_layoutManager->hideAll();
-    
-    QVERIFY(verify());
-}
-
-
-/*!
-  UT_InfoWidgetLayoutManager::t_showAll
- */
-void UT_InfoWidgetLayoutManager::t_showAll()
-{
-    fillCurrentWidgetsContainer();//times 2 HbDocumentLoader::load
-    m_layoutManager->showAll();
-    
-    QVERIFY(verify());
-}
-
-/*!
-  UT_InfoWidgetLayoutManager::t_reloadWidgets
- */
-void UT_InfoWidgetLayoutManager::t_reloadWidgets()
-{
-    QVERIFY(!m_layoutManager->reloadWidgets(InfoWidgetLayoutManager::SettingsDisplay));
-    QVERIFY(!m_layoutManager->reloadWidgets((InfoWidgetLayoutManager::DisplayRole)101));
-}
-
-/*!
-  UT_InfoWidgetLayoutManager::t_destroyObjects
- */
-void UT_InfoWidgetLayoutManager::t_destroyObjects()
-{
-    m_layoutManager->destroyObjects();
-    
-    QGraphicsWidget *widgetInfo = new QGraphicsWidget();
-    QGraphicsWidget *widgetSettings = new QGraphicsWidget(); 
-    m_layoutManager->m_infoDisplayWidgets.insert(InfoWidgetLayoutManager::RoleContent, widgetInfo);
-    m_layoutManager->m_settingsDisplayWidgets.insert(InfoWidgetLayoutManager::RoleContent, widgetSettings);
-    m_layoutManager->destroyObjects();
-    
-    QVERIFY(verify());
-}
-
-/*!
-  UT_InfoWidgetLayoutManager::t_createObject
- */
-void UT_InfoWidgetLayoutManager::t_createObject()
-{
-    QObject *object = m_documentLoader->createObject(QString(), QString());
-    QVERIFY(!object);
-    object = m_documentLoader->createObject(KMargueeItemClassName, QString());
-    QVERIFY(object);
-    delete object;
-    
-    //For destructor coverage
-    delete m_layoutManager->m_documentLoader;
-    m_layoutManager->m_documentLoader = NULL;
-}
-
-QTEST_MAIN_S60(UT_InfoWidgetLayoutManager)
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/ut_infowidgetlayoutmanager/ut_infowidgetlayoutmanager.pro	Tue Jun 15 14:14:38 2010 +0100
+++ /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: Project file for building unit test component
-CONFIG += qtestlib \
-    hb
-TEMPLATE = app
-TARGET = 
-DEPENDPATH += . \
-    ../../infowidget/src \
-    ../../infowidget/inc
-INCLUDEPATH += .
-INCLUDEPATH += ../common
-INCLUDEPATH += ../../inc/
-INCLUDEPATH += ../../infowidget/inc/
-DEFINES += XQSETTINGSMANAGER_NO_LIBRARY
-DEFINES += QT_NO_DEBUG_STREAM
-QT -= gui
-QT += testlib
-symbian: { 
-    CONFIG += no_icon
-    INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE
-    LIBS += -lmocklib \
-        -lsymbianmock \
-        -lcpframework
-}
-
-# test code
-HEADERS += ./inc/ut_infowidgetlayoutmanager.h
-SOURCES += ./src/ut_infowidgetlayoutmanager.cpp
-
-# code to be tested
-HEADERS += ../../infowidget/inc/infowidgetlayoutmanager.h
-SOURCES += ../../infowidget/src/infowidgetlayoutmanager.cpp
-
-# mocks needed for testing
-SOURCES += ../mocks/mock_hbdocumentloader.cpp
-SOURCES += ../mocks/mock_hbmarqueeitem.cpp
-SOURCES += ../mocks/mock_hbstyle.cpp
-#SOURCES += ../mocks/mock_hbwidget.cpp
-RESOURCES = ../../infowidgetprovider.qrc
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/ut_infowidgetlinehandler/inc/ut_infowidgetlinehandler.h	Tue Jun 15 14:14:38 2010 +0100
+++ /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:
-*
-*/
-
-#ifndef UT_INFOWIDGETLINEHANDLER_H
-#define UT_INFOWIDGETLINEHANDLER_H
-
-#include <QtTest/QtTest>
-#include <mockservice.h>
-
-class InfoWidgetLineHandler;
-
-class UT_InfoWidgetLineHandler : public QObject, public MockService
-{
-    Q_OBJECT
-
-public:    
-    
-    UT_InfoWidgetLineHandler();
-    ~UT_InfoWidgetLineHandler();
-    
-private slots:
-
-    void init();
-    void cleanup();
-    
-    void t_logCurrentInfo(); 
-    void t_activeLine(); 
-    void t_setActiveLine();
-    
-private:
-    
-    InfoWidgetLineHandler *m_lineHandler;
-
-};
-
-#endif // UT_INFOWIDGETLINEHANDLER_H
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/ut_infowidgetlinehandler/run_auto_tests_qt.bat	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,192 +0,0 @@
-rem
-rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-rem All rights reserved.
-rem This component and the accompanying materials are made available
-rem under the terms of "Eclipse Public License v1.0"
-rem which accompanies this distribution, and is available
-rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
-rem
-rem Initial Contributors:
-rem Nokia Corporation - initial contribution.
-rem
-rem Contributors:
-rem
-rem Description:
-rem
-
-@echo off
-setlocal
-goto :startup 
-
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:: function DEFAULT
-::
-:: Modify this function
-::  - TESTED_SRC can be changed to match tested code.
-::    Specifies path from testcode group directory to
-::    tested code
-::  - Add test directories to be runned
-::    ie. "call :build ut_projectdirectory" or use
-::    "for /f %%a in ('dir /b ut_*') do call :build %%a"
-::    which compiles, instruments and runs all test directories
-::    starting with "ut_".
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:DEFAULT
-set TESTED_SRC=..\..\infowidget\src\*.cpp
-
-for /f %%a in ('dir /b ut_*') do call :build %%a
-if [%DOMODULESTESTS%] EQU [TRUE] (
-for /f %%a in ('dir /b mt_*') do call :build %%a
-)
-
-call :finish
-goto :END
-
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:: function STARTUP
-::
-:: Initializing script
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:STARTUP
-
-set BUILDTESTS=TRUE
-set RUNTESTS=TRUE
-set INSTRUMENT=TRUE
-set REMOVEINSTRUMENT=TRUE
-set DOMODULESTESTS=TRUE
-set ABLD_CALL= -2comp  sbs.bat -c winscw_udeb --keepgoing
-set PATH_TO_DLL=\epoc32\release\winscw\udeb
-set PATH_TO_COVERAGE_DATA=\coverage_data
-set PATH_TO_RESULT=\test_result
-
-if not exist %PATH_TO_COVERAGE_DATA% (
-mkdir %PATH_TO_COVERAGE_DATA%
-)
-
-if not exist %PATH_TO_RESULT% (
-mkdir %PATH_TO_RESULT%
-)
-
-if [%1] EQU [] ( goto default )
-
-call :%1
-call :%2
-call :%3
-call :%4
-call :%5
-echo Running tests = %RUNTESTS%
-echo Instrumenting tests = %INSTRUMENT%
-goto default
-
-:/NOCLEANUP
-set REMOVEINSTRUMENT=FALSE
-goto end
-
-:/NORUN
-set RUNTESTS=FALSE
-set REMOVEINSTRUMENT=FALSE
-goto end
-
-:/NOINSTRUMENT
-set INSTRUMENT=FALSE
-goto end
-
-:/NOBUILD
-set BUILDTESTS=FALSE
-goto end
-
-:/ONLYUNITTESTS
-set DOMODULESTESTS=FALSE
-goto end
-
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:: function FINISH
-::
-:: Finishes run_auto_tests.bat
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:FINISH
-
-if [%RUNTESTS%] EQU [TRUE] (
-call :runtests
-)
-
-if [%INSTRUMENT%] EQU [TRUE] (
-call :calculatecoverage
-)
-
-if [%REMOVEINSTRUMENT%] EQU [TRUE] (
-call :removecoverage
-)
-goto end
-
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:: function BUILD
-::    param directory
-::
-:: builds test from given directory
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:BUILD
-setlocal
-if [%BUILDTESTS%] EQU [FALSE] ( goto end )
-echo Building %1
-if not exist %1 ( 
-echo %1 Not found! 
-goto end
-)
-
-pushd .
-call cd %1
-call qmake
-call sbs -c winscw_udeb clean
-if [%INSTRUMENT%] EQU [TRUE] (
-call ctcwrap -n %PATH_TO_COVERAGE_DATA%\%1 -i d -C "EXCLUDE=*" -C "NO_EXCLUDE=%TESTED_SRC%" %ABLD_CALL%
-) else (
-call %ABLD_CALL%
-)
-
-popd
-endlocal
-goto end
-
-
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:: function RUNTESTS
-::
-:: NOTE! Function assumes that test binary is named according to test directory.
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:RUNTESTS
-echo Running tests
-call %PATH_TO_DLL%\ut_infowidgetlinehandler.exe -dtextshell --
-move \epoc32\winscw\c\data\ut_infowidgetlinehandler.log %PATH_TO_RESULT%\ut_infowidgetlinehandler.log
-goto end
-
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:: function CALCULATECOVERAGE
-::
-:: Calculates test coverage. Generates html
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:CALCULATECOVERAGE
-echo Calculating coverage
-ctcpost %PATH_TO_COVERAGE_DATA%\*.sym | ctcmerge -i - -o profile.txt
-call ctc2html -t 70 -i profile.txt -o \coverage_result -nsb
-goto end
-
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:: function REMOVECOVERAGE
-::
-:: Removes data from coverage directory
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:REMOVECOVERAGE
-echo Removing deleting coverage data
-call del %PATH_TO_COVERAGE_DATA%\*.sym
-call del %PATH_TO_COVERAGE_DATA%\*.dat
-call del profile.txt
-goto end
-
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:: function END
-::
-:: Prints done
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:END
-echo Done!
\ No newline at end of file
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/ut_infowidgetlinehandler/src/ut_infowidgetlinehandler.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,91 +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 "ut_infowidgetlinehandler.h"
-#include "infowidgetlinehandler.h"
-#include "qtestmains60.h"
-
-/*!
-  UT_InfoWidgetLineHandler::UT_InfoWidgetLineHandler
- */
-UT_InfoWidgetLineHandler::UT_InfoWidgetLineHandler() 
-    : 
-    m_lineHandler(0)
-{
-    
-}
-
-
-/*!
-  UT_InfoWidgetLineHandler::~UT_InfoWidgetLineHandler
- */
-UT_InfoWidgetLineHandler::~UT_InfoWidgetLineHandler()
-{
-    delete m_lineHandler;
-}
-
-/*!
-  UT_InfoWidgetLineHandler::init
- */
-void UT_InfoWidgetLineHandler::init()
-{
-    initialize();
-    
-    m_lineHandler =  new InfoWidgetLineHandler();
-    
-    QVERIFY(verify());
-}
-
-
-/*!
-  UT_InfoWidgetLineHandler::cleanup
- */
-void UT_InfoWidgetLineHandler::cleanup()
-{
-    reset();
-    
-    delete m_lineHandler;
-    m_lineHandler = 0;
-}
-
-/*!
-  UT_InfoWidgetLineHandler::t_logCurrentInfo
- */
-void UT_InfoWidgetLineHandler::t_logCurrentInfo()
-{
-    m_lineHandler->logCurrentInfo();
-}
-
-
-/*!
-  UT_InfoWidgetLineHandler::t_activeLine
- */
-void UT_InfoWidgetLineHandler::t_activeLine()
-{
-    int activeLine = m_lineHandler->activeLine();
-}
-
-
-/*!
-  UT_InfoWidgetLineHandler::t_setActiveLine
- */
-void UT_InfoWidgetLineHandler::t_setActiveLine()
-{
-    const int KActiveLine = 0;
-    m_lineHandler->setActiveLine(KActiveLine);
-}
-
-QTEST_MAIN_S60(UT_InfoWidgetLineHandler)
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/ut_infowidgetlinehandler/ut_infowidgetlinehandler.pro	Tue Jun 15 14:14:38 2010 +0100
+++ /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: Project file for building unit test component
-#
-#
-
-CONFIG += qtestlib hb
-TEMPLATE = app
-TARGET = 
-DEPENDPATH  += . ../../infowidget/src
-INCLUDEPATH += .
-INCLUDEPATH += ../common
-INCLUDEPATH += ../../inc/
-INCLUDEPATH += ../../infowidget/inc/
-
-QT -= gui
-QT += testlib
-
-symbian: {
-  CONFIG += no_icon
-  INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE
-  LIBS += -lmocklib 		\
-          -lsymbianmock 	\
-          -lcpframework
-}
-    
-# test code
-HEADERS += ./inc/ut_infowidgetlinehandler.h
-SOURCES += ./src/ut_infowidgetlinehandler.cpp
-
-# code to be tested
-HEADERS += ../../infowidget/inc/infowidgetlinehandler.h
-SOURCES += ../../infowidget/src/infowidgetlinehandler.cpp
-
-# mocks needed for testing
-#SOURCES += ../mocks/mock_networkhandlingproxy.cpp
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/ut_infowidgetnetworkhandler/inc/ut_infowidgetnetworkhandler.h	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,75 +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 UT_INFOWIDGETNETWORKHANDLER_H
-#define UT_INFOWIDGETNETWORKHANDLER_H
-
-#include <QtTest/QtTest>
-#include <mockservice.h>
-
-class MNWMessageObserver;
-class InfoWidgetNetworkHandler;
-class TNWInfo;
-
-class UT_InfoWidgetNetworkHandler : public QObject, public MockService
-{
-    Q_OBJECT
-
-public:    
-    
-    UT_InfoWidgetNetworkHandler();
-    ~UT_InfoWidgetNetworkHandler();
-    
-public slots:
-    void generateException();
-    void doLeaveL();
-    
-private slots:
-
-    void init();
-    void cleanup();
-    
-    void t_homeZoneTextTag();
-    void t_homeZoneIndicatorType();
-    void t_mcnName();
-    void t_mcnIndicatorType();
-    void t_isOnline();
-    void t_networkRegistrationStatus();
-    void t_HandleNetworkMessage();
-    void t_HandleNetworkMessageExceptionWhileEmittingSignal();
-    void t_HandleNetworkError();
-    void t_HandleNetworkErrorExceptionWhileEmittingSignal();
-    void t_resume();
-    void t_suspend();
-    void t_serviceProviderName();
-    void t_serviceProviderNameDisplayRequired();
-    void t_logCurrentInfo();
-    void t_createLeave();
-    
-private:
-    
-    void initializeNetworkInfo(
-        MNWMessageObserver& aMessage, 
-        TNWInfo& aTNWInfo);
-    
-private:
-    
-    InfoWidgetNetworkHandler *m_networkHandler;
-
-};
-
-#endif // UT_INFOWIDGETNETWORKHANDLER_H
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/ut_infowidgetnetworkhandler/run_auto_tests_qt.bat	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,192 +0,0 @@
-rem
-rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-rem All rights reserved.
-rem This component and the accompanying materials are made available
-rem under the terms of "Eclipse Public License v1.0"
-rem which accompanies this distribution, and is available
-rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
-rem
-rem Initial Contributors:
-rem Nokia Corporation - initial contribution.
-rem
-rem Contributors:
-rem
-rem Description:
-rem
-
-@echo off
-setlocal
-goto :startup 
-
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:: function DEFAULT
-::
-:: Modify this function
-::  - TESTED_SRC can be changed to match tested code.
-::    Specifies path from testcode group directory to
-::    tested code
-::  - Add test directories to be runned
-::    ie. "call :build ut_projectdirectory" or use
-::    "for /f %%a in ('dir /b ut_*') do call :build %%a"
-::    which compiles, instruments and runs all test directories
-::    starting with "ut_".
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:DEFAULT
-set TESTED_SRC=..\..\infowidget\src\*.cpp
-
-for /f %%a in ('dir /b ut_*') do call :build %%a
-if [%DOMODULESTESTS%] EQU [TRUE] (
-for /f %%a in ('dir /b mt_*') do call :build %%a
-)
-
-call :finish
-goto :END
-
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:: function STARTUP
-::
-:: Initializing script
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:STARTUP
-
-set BUILDTESTS=TRUE
-set RUNTESTS=TRUE
-set INSTRUMENT=TRUE
-set REMOVEINSTRUMENT=TRUE
-set DOMODULESTESTS=TRUE
-set ABLD_CALL= -2comp  sbs.bat -c winscw_udeb --keepgoing
-set PATH_TO_DLL=\epoc32\release\winscw\udeb
-set PATH_TO_COVERAGE_DATA=\coverage_data
-set PATH_TO_RESULT=\test_result
-
-if not exist %PATH_TO_COVERAGE_DATA% (
-mkdir %PATH_TO_COVERAGE_DATA%
-)
-
-if not exist %PATH_TO_RESULT% (
-mkdir %PATH_TO_RESULT%
-)
-
-if [%1] EQU [] ( goto default )
-
-call :%1
-call :%2
-call :%3
-call :%4
-call :%5
-echo Running tests = %RUNTESTS%
-echo Instrumenting tests = %INSTRUMENT%
-goto default
-
-:/NOCLEANUP
-set REMOVEINSTRUMENT=FALSE
-goto end
-
-:/NORUN
-set RUNTESTS=FALSE
-set REMOVEINSTRUMENT=FALSE
-goto end
-
-:/NOINSTRUMENT
-set INSTRUMENT=FALSE
-goto end
-
-:/NOBUILD
-set BUILDTESTS=FALSE
-goto end
-
-:/ONLYUNITTESTS
-set DOMODULESTESTS=FALSE
-goto end
-
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:: function FINISH
-::
-:: Finishes run_auto_tests.bat
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:FINISH
-
-if [%RUNTESTS%] EQU [TRUE] (
-call :runtests
-)
-
-if [%INSTRUMENT%] EQU [TRUE] (
-call :calculatecoverage
-)
-
-if [%REMOVEINSTRUMENT%] EQU [TRUE] (
-call :removecoverage
-)
-goto end
-
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:: function BUILD
-::    param directory
-::
-:: builds test from given directory
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:BUILD
-setlocal
-if [%BUILDTESTS%] EQU [FALSE] ( goto end )
-echo Building %1
-if not exist %1 ( 
-echo %1 Not found! 
-goto end
-)
-
-pushd .
-call cd %1
-call qmake
-call sbs -c winscw_udeb clean
-if [%INSTRUMENT%] EQU [TRUE] (
-call ctcwrap -n %PATH_TO_COVERAGE_DATA%\%1 -i d -C "EXCLUDE=*" -C "NO_EXCLUDE=%TESTED_SRC%" %ABLD_CALL%
-) else (
-call %ABLD_CALL%
-)
-
-popd
-endlocal
-goto end
-
-
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:: function RUNTESTS
-::
-:: NOTE! Function assumes that test binary is named according to test directory.
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:RUNTESTS
-echo Running tests
-call %PATH_TO_DLL%\ut_infowidgetnetworkhandler.exe -dtextshell --
-move \epoc32\winscw\c\data\ut_infowidgetnetworkhandler.log %PATH_TO_RESULT%\ut_infowidgetnetworkhandler.log
-goto end
-
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:: function CALCULATECOVERAGE
-::
-:: Calculates test coverage. Generates html
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:CALCULATECOVERAGE
-echo Calculating coverage
-ctcpost %PATH_TO_COVERAGE_DATA%\*.sym | ctcmerge -i - -o profile.txt
-call ctc2html -t 70 -i profile.txt -o \coverage_result -nsb
-goto end
-
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:: function REMOVECOVERAGE
-::
-:: Removes data from coverage directory
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:REMOVECOVERAGE
-echo Removing deleting coverage data
-call del %PATH_TO_COVERAGE_DATA%\*.sym
-call del %PATH_TO_COVERAGE_DATA%\*.dat
-call del profile.txt
-goto end
-
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:: function END
-::
-:: Prints done
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:END
-echo Done!
\ No newline at end of file
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/ut_infowidgetnetworkhandler/src/ut_infowidgetnetworkhandler.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,403 +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 <networkhandlingproxy.h>
-#include <nwhandlingengine.h>
-#include "qtestmains60.h"
-#include <xqsettingskey.h>
-#include <xqsettingsmanager.h>
-#include "ut_infowidgetnetworkhandler.h"
-#define private public
-#include "infowidgetnetworkhandler.h"
-
-#define EXPECT_EXCEPTION(statements)    \
-{                                       \
-    bool exceptionDetected = false;     \
-    try {                               \
-        statements                      \
-    } catch (...) {                     \
-        exceptionDetected = true;       \
-    }                                   \
-    QVERIFY(true == exceptionDetected); \
-}
-
-const QString KHomeZoneTextTag("HomeZoneText0");    // max length 13
-const TNWViagIndicatorType 
-    KHomeZoneIndicatorType = ENWViagIndicatorTypeHomeZone;
-
-const QString KMcnName("McnNameMcnNameMcnNam");     // max length 20 
-const TNWMCNIndicatorType 
-    KMcnIndicatorType = ENWMCNIndicatorTypeActive;
-
-
-/*!
-  UT_InfoWidgetNetworkHandler::UT_InfoWidgetNetworkHandler
- */
-UT_InfoWidgetNetworkHandler::UT_InfoWidgetNetworkHandler() 
-    : 
-    m_networkHandler(0)
-{
-    
-}
-
-
-/*!
-  UT_InfoWidgetNetworkHandler::~UT_InfoWidgetNetworkHandler
- */
-UT_InfoWidgetNetworkHandler::~UT_InfoWidgetNetworkHandler()
-{
-    delete m_networkHandler;
-}
-
-/*!
-  UT_InfoWidgetNetworkHandler::doLeaveL
- */
-void UT_InfoWidgetNetworkHandler::doLeaveL()
-{
-    User::Leave(KErrGeneral);
-}
-
-/*!
-  UT_InfoWidgetNetworkHandler::generateException
- */
-void UT_InfoWidgetNetworkHandler::generateException()
-{
-    throw std::bad_alloc();
-}
-
-/*!
-  UT_InfoWidgetNetworkHandler::init
- */
-void UT_InfoWidgetNetworkHandler::init()
-{
-    initialize();
-    
-    SmcDefaultValue<QString>::SetL("");
-    SmcDefaultValue<const QString & >::SetL("");
-    QVariant i(1);
-    EXPECT(XQSettingsManager::readItemValue).returns(i);
-    EXPECT(CreateL).willOnce(invoke(this, &initializeNetworkInfo));
-    m_networkHandler =  new InfoWidgetNetworkHandler();
-    
-    QVERIFY(verify());
-}
-
-
-/*!
-  UT_InfoWidgetNetworkHandler::cleanup
- */
-void UT_InfoWidgetNetworkHandler::cleanup()
-{
-    reset();
-    
-    QVariant i(1);
-    EXPECT(XQSettingsManager::readItemValue).returns(i);  
-    delete m_networkHandler;
-    m_networkHandler = 0;
-    
-    QVERIFY(verify());
-}
-
-/*!
-  UT_InfoWidgetNetworkHandler::t_homeZoneTextTag
- */
-void UT_InfoWidgetNetworkHandler::t_homeZoneTextTag()
-{
-    QVariant i(1);
-    EXPECT(XQSettingsManager::readItemValue).returns(i);
-    
-    QVERIFY(m_networkHandler->homeZoneTextTag() == KHomeZoneTextTag);
-}
-
-
-/*!
-  UT_InfoWidgetNetworkHandler::t_homeZoneIndicatorType
- */
-void UT_InfoWidgetNetworkHandler::t_homeZoneIndicatorType()
-{
-    QVERIFY(
-        m_networkHandler->homeZoneIndicatorType() == KHomeZoneIndicatorType);
-}
-
-
-/*!
-  UT_InfoWidgetNetworkHandler::t_mcnName
- */
-void UT_InfoWidgetNetworkHandler::t_mcnName()
-{
-    QVERIFY(m_networkHandler->mcnName() == KMcnName);
-}
-
-
-/*!
-  UT_InfoWidgetNetworkHandler::t_mcnIndicatorType
- */
-void UT_InfoWidgetNetworkHandler::t_mcnIndicatorType()
-{
-    QVERIFY(m_networkHandler->mcnIndicatorType() == KMcnIndicatorType);
-}
-
-
-/*!
-  UT_InfoWidgetNetworkHandler::t_isOnline
- */
-void UT_InfoWidgetNetworkHandler::t_isOnline()
-{
-    m_networkHandler->m_nwInfo.iRegistrationStatus = 
-            static_cast<TNWRegistrationStatus>(ENWRegisteredBusy);
-    QVERIFY(m_networkHandler->isOnline() == true);
-    m_networkHandler->m_nwInfo.iRegistrationStatus = 
-            static_cast<TNWRegistrationStatus>(ENWRegisteredOnHomeNetwork);
-    QVERIFY(m_networkHandler->isOnline() == true);
-    m_networkHandler->m_nwInfo.iRegistrationStatus = 
-            static_cast<TNWRegistrationStatus>(ENWRegisteredRoaming);
-    QVERIFY(m_networkHandler->isOnline() == true);
-    
-    m_networkHandler->m_nwInfo.iRegistrationStatus = 
-            static_cast<TNWRegistrationStatus>(ENWRegistrationUnknown);
-    QVERIFY(m_networkHandler->isOnline() == false);
-}
-
-
-/*!
-  UT_InfoWidgetNetworkHandler::t_networkRegistrationStatus
- */
-void UT_InfoWidgetNetworkHandler::t_networkRegistrationStatus()
-{
-    m_networkHandler->m_nwInfo.iRegistrationStatus = 
-                static_cast<TNWRegistrationStatus>(ENWRegistrationUnknown);
-    QVERIFY(m_networkHandler->networkRegistrationStatus() == 0);
-}
-
-
-/*!
-  UT_InfoWidgetNetworkHandler::t_HandleNetworkMessage
- */
-void UT_InfoWidgetNetworkHandler::t_HandleNetworkMessage()
-{
-    QSignalSpy spy(m_networkHandler, SIGNAL(networkDataChanged()));
-    
-    // TODO: investigate, which messages indicate cell info change
-// ACCEPTED MESSAGES    
-    m_networkHandler->HandleNetworkMessage(
-        MNWMessageObserver::ENWMessageCurrentCellInfoMessage);
-    
-// MESSAGES TO BE FILTERED OUT
-// COMMON NETWORK MESSAGES                      0 - 99
-    m_networkHandler->HandleNetworkMessage(
-        MNWMessageObserver::ENWMessageNetworkInfoChange);
-    m_networkHandler->HandleNetworkMessage(
-        MNWMessageObserver::ENWMessageNetworkModeChange);
-    m_networkHandler->HandleNetworkMessage(
-        MNWMessageObserver::ENWMessageNetworkRegistrationStatusChange);
-    m_networkHandler->HandleNetworkMessage(
-        MNWMessageObserver::ENWMessageProgrammableOperatorInfoChange);
-    m_networkHandler->HandleNetworkMessage(
-        MNWMessageObserver::ENWMessageNetworkProviderNameChange);
-    m_networkHandler->HandleNetworkMessage(
-        MNWMessageObserver::ENWMessageServiceProviderNameChange);
-    m_networkHandler->HandleNetworkMessage(
-        MNWMessageObserver::ENWMessageProgrammableOperatorInfoUpdating);
-    m_networkHandler->HandleNetworkMessage(
-        MNWMessageObserver::ENWMessageNetworkProviderNameUpdating);
-    m_networkHandler->HandleNetworkMessage(
-        MNWMessageObserver::ENWMessageServiceProviderNameUpdating);
-    m_networkHandler->HandleNetworkMessage(
-        MNWMessageObserver::ENWMessageAllowRefresh);
-    m_networkHandler->HandleNetworkMessage(
-        MNWMessageObserver::ENWMessageNetworkSelectionSettingChange);
-// GSM SPECIFIC MESSAGES                        100 - 199
-    m_networkHandler->HandleNetworkMessage(
-        MNWMessageObserver::ENWMessageNetworkCellReselection);
-    m_networkHandler->HandleNetworkMessage(
-        MNWMessageObserver::ENWMessageNetworkConnectionFailure);
-//    m_networkHandler->HandleNetworkMessage(
-//        MNWMessageObserver::ENWMessageCurrentCellInfoMessage);
-    m_networkHandler->HandleNetworkMessage(
-        MNWMessageObserver::ENWMessageCurrentHomeZoneMessage);
-    m_networkHandler->HandleNetworkMessage(
-        MNWMessageObserver::ENWMessageNetworkIndicatorChange);
-// CDMA SPECIFIC MESSAGES                       200 - 299
-    m_networkHandler->HandleNetworkMessage(
-        MNWMessageObserver::ENWMessageNetworkEmergencyMode); 
-    m_networkHandler->HandleNetworkMessage(
-        MNWMessageObserver::ENWMessageVoicePrivacyStatusChange);
-    m_networkHandler->HandleNetworkMessage(
-        MNWMessageObserver::ENWMessageStartSystemSearchRequestCompleteOk);
-    m_networkHandler->HandleNetworkMessage(
-        MNWMessageObserver::ENWMessageStartSystemSearchRequestCompleteFail);
-    m_networkHandler->HandleNetworkMessage(
-        MNWMessageObserver::ENWMessageStopProtocolStackRequestCompleteOk);
-    m_networkHandler->HandleNetworkMessage(
-        MNWMessageObserver::ENWMessageStopProtocolStackRequestCompleteFail);
-    
-    const int KExpectedNumOfSignalEmissions = 3;
-    QCOMPARE(spy.count(), KExpectedNumOfSignalEmissions);
-    
-    const QList<QVariant> &arguments = spy.at(0);
-    QCOMPARE(arguments.count(), 0);
-}
-
-
-/*!
-  UT_InfoWidgetNetworkHandler::t_HandleNetworkMessageExceptionWhileEmittingSignal
- */
-void UT_InfoWidgetNetworkHandler::t_HandleNetworkMessageExceptionWhileEmittingSignal()
-{
-    QObject::connect(
-        m_networkHandler, SIGNAL(networkDataChanged()),
-        this, SLOT(generateException())); 
-    
-    m_networkHandler->HandleNetworkMessage(
-        MNWMessageObserver::ENWMessageCurrentCellInfoMessage);
-    
-    QVERIFY(verify());
-}
-
-
-/*!
-  UT_InfoWidgetNetworkHandler::t_HandleNetworkError
- */
-Q_DECLARE_METATYPE(MNWMessageObserver::TNWOperation)
-void UT_InfoWidgetNetworkHandler::t_HandleNetworkError()
-{
-    QSignalSpy spy(m_networkHandler, SIGNAL(networkError(int, int)));
-    qRegisterMetaType<MNWMessageObserver::TNWOperation>
-        ("MNWMessageObserver::TNWOperation");
-    
-    const int errorCode = -4;
-    MNWMessageObserver::TNWOperation operation = 
-            MNWMessageObserver::ENWGetServiceProviderName;
-    m_networkHandler->HandleNetworkError(operation, errorCode);
-        
-    operation = MNWMessageObserver::ENWNone;
-    m_networkHandler->HandleNetworkError(operation, errorCode);
-    
-    const int KExpectedNumOfSignalEmissions = 2;
-    QCOMPARE(spy.count(), KExpectedNumOfSignalEmissions);
-    const QList<QVariant> &arguments = spy.at(0);
-    QCOMPARE(arguments.count(), 2);
-    
-    QCOMPARE(
-        qvariant_cast<MNWMessageObserver::TNWOperation>(arguments.at(0)), 
-        operation);
-    QCOMPARE(arguments.at(1).toInt(), errorCode);
-}
-
-
-/*!
-  UT_InfoWidgetNetworkHandler::t_HandleNetworkErrorExceptionWhileEmittingSignal
- */
-void UT_InfoWidgetNetworkHandler::t_HandleNetworkErrorExceptionWhileEmittingSignal()
-{
-    QObject::connect(
-        m_networkHandler, SIGNAL(networkError(int, int)),
-        this, SLOT(generateException())); 
-    
-    MNWMessageObserver::TNWOperation operation = MNWMessageObserver::ENWNone;
-    const int errorCode = -4;
-    m_networkHandler->HandleNetworkError(operation, errorCode);
-    
-    QVERIFY(verify());
-}
-
-
-/*!
-  UT_InfoWidgetNetworkHandler::initializeNetworkInfo
- */
-void UT_InfoWidgetNetworkHandler::initializeNetworkInfo(
-    MNWMessageObserver& /*aObserver*/, TNWInfo& aTNWInfo)
-{
-    aTNWInfo.iViagTextTag.Copy(KHomeZoneTextTag.utf16());
-    aTNWInfo.iViagIndicatorType = KHomeZoneIndicatorType;
-    
-    aTNWInfo.iMCNName.Copy(KMcnName.utf16());
-    aTNWInfo.iMCNIndicatorType = KMcnIndicatorType;
-}
-
-/*!
-  UT_InfoWidgetNetworkHandler::t_suspend
- */
-void UT_InfoWidgetNetworkHandler::t_suspend()
-{
-    QVariant i(0);
-    EXPECT(XQSettingsManager::readItemValue).returns(i);
-    m_networkHandler->suspend();
-    
-    QVERIFY(verify());
-}
-
-/*!
-  UT_InfoWidgetNetworkHandler::t_resume
- */
-void UT_InfoWidgetNetworkHandler::t_resume()
-{
-    QVariant i(0);
-    bool b = true;
-    EXPECT(XQSettingsManager::readItemValue).returns(i);  
-    EXPECT(XQSettingsManager::writeItemValue).returns(b);
-    m_networkHandler->resume();
-    
-    QVERIFY(verify());
-}
-
-/*!
-  UT_InfoWidgetNetworkHandler::t_serviceProviderName
- */
-void UT_InfoWidgetNetworkHandler::t_serviceProviderName()
-{
-    QString s = "";
-    QCOMPARE(m_networkHandler->serviceProviderName(), s);
-}
-
-/*!
-  UT_InfoWidgetNetworkHandler::t_serviceProviderNameDisplayRequired
- */
-void UT_InfoWidgetNetworkHandler::t_serviceProviderNameDisplayRequired()
-{
-    m_networkHandler->m_nwInfo.iServiceProviderNameDisplayReq = 
-                RMobilePhone::KDisplaySPNRequired; 
-    QVERIFY(m_networkHandler->serviceProviderNameDisplayRequired() == true);
-
-    m_networkHandler->m_nwInfo.iServiceProviderNameDisplayReq = 
-            RMobilePhone::KDisplaySPNNotRequired; 
-    QVERIFY(m_networkHandler->serviceProviderNameDisplayRequired() == false);
-}
-
-/*!
-  UT_InfoWidgetNetworkHandler::t_logCurrentInfo
- */
-void UT_InfoWidgetNetworkHandler::t_logCurrentInfo()
-{
-    m_networkHandler->logCurrentInfo();
-    
-    QVERIFY(verify());
-}
-
-/*!
-  UT_InfoWidgetNetworkHandler::t_createLeave
- */
-void UT_InfoWidgetNetworkHandler::t_createLeave()
-{
-    QVariant i(1);
-    EXPECT(XQSettingsManager::readItemValue).returns(i);
-    EXPECT(CreateL)
-            .willOnce(invokeWithoutArguments(this, &doLeaveL));
-    
-    EXPECT_EXCEPTION(InfoWidgetNetworkHandler * p = new InfoWidgetNetworkHandler(););
-}
-
-QTEST_MAIN_S60(UT_InfoWidgetNetworkHandler)
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/ut_infowidgetnetworkhandler/ut_infowidgetnetworkhandler.pro	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +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: Project file for building unit test component
-#
-#
-
-CONFIG += qtestlib hb
-TEMPLATE = app
-TARGET = 
-DEPENDPATH  += . ../../infowidget/src
-INCLUDEPATH += .
-INCLUDEPATH += ../common
-INCLUDEPATH += ../../inc/
-INCLUDEPATH += ../../infowidget/inc/
-DEFINES += XQSETTINGSMANAGER_NO_LIBRARY
-
-QT -= gui
-QT += testlib
-
-symbian: {
-  CONFIG += no_icon
-  INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE
-  LIBS += -lmocklib 		\
-          -lsymbianmock 	\
-          -lcpframework
-}
-    
-# test code
-HEADERS += ./inc/ut_infowidgetnetworkhandler.h
-SOURCES += ./src/ut_infowidgetnetworkhandler.cpp
-
-# code to be tested
-HEADERS += ../../infowidget/inc/infowidgetnetworkhandler.h
-SOURCES += ../../infowidget/src/infowidgetnetworkhandler.cpp
-
-# mocks needed for testing
-SOURCES += ../mocks/mock_networkhandlingproxy.cpp
-
-HEADERS += /epoc32/include/mw/xqsettingskey.h \
-           /epoc32/include/mw/xqsettingsmanager.h
-SOURCES += ../mocks/mock_xqsettingskey.cpp
-SOURCES += ../mocks/mock_xqsettingsmanager.cpp
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/ut_infowidgetpreferences/inc/ut_infowidgetpreferences.h	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +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 UT_INFOWIDGETPREFERENCES_H
-#define UT_INFOWIDGETPREFERENCES_H
-
-#include <QtTest/QtTest>
-#include <mockservice.h>
-
-class InfoWidgetPreferences;
-
-class UT_InfoWidgetPreferences : public QObject, public MockService
-{
-    Q_OBJECT
-
-public:    
-    
-    UT_InfoWidgetPreferences();
-    ~UT_InfoWidgetPreferences();
-    
-private slots:
-
-    void init();
-    void cleanup();
-
-    void t_storePreferences();
-    void t_preference();
-    void t_setPreference();
-    void t_visibleItemCount();
-    void t_isPreferenceSet();
-    void t_preferences();
-    void t_preferenceNames();
-    
-private:
-    
-    InfoWidgetPreferences *m_infoWidgetPreferences;
-
-};
-
-#endif // UT_INFOWIDGETPREFERENCES_H
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/ut_infowidgetpreferences/run_auto_tests_qt.bat	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,192 +0,0 @@
-rem
-rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-rem All rights reserved.
-rem This component and the accompanying materials are made available
-rem under the terms of "Eclipse Public License v1.0"
-rem which accompanies this distribution, and is available
-rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
-rem
-rem Initial Contributors:
-rem Nokia Corporation - initial contribution.
-rem
-rem Contributors:
-rem
-rem Description:
-rem
-
-@echo off
-setlocal
-goto :startup 
-
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:: function DEFAULT
-::
-:: Modify this function
-::  - TESTED_SRC can be changed to match tested code.
-::    Specifies path from testcode group directory to
-::    tested code
-::  - Add test directories to be runned
-::    ie. "call :build ut_projectdirectory" or use
-::    "for /f %%a in ('dir /b ut_*') do call :build %%a"
-::    which compiles, instruments and runs all test directories
-::    starting with "ut_".
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:DEFAULT
-set TESTED_SRC=..\..\infowidget\src\*.cpp
-
-for /f %%a in ('dir /b ut_*') do call :build %%a
-if [%DOMODULESTESTS%] EQU [TRUE] (
-for /f %%a in ('dir /b mt_*') do call :build %%a
-)
-
-call :finish
-goto :END
-
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:: function STARTUP
-::
-:: Initializing script
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:STARTUP
-
-set BUILDTESTS=TRUE
-set RUNTESTS=TRUE
-set INSTRUMENT=TRUE
-set REMOVEINSTRUMENT=TRUE
-set DOMODULESTESTS=TRUE
-set ABLD_CALL= -2comp  sbs.bat -c winscw_udeb --keepgoing
-set PATH_TO_DLL=\epoc32\release\winscw\udeb
-set PATH_TO_COVERAGE_DATA=\coverage_data
-set PATH_TO_RESULT=\test_result
-
-if not exist %PATH_TO_COVERAGE_DATA% (
-mkdir %PATH_TO_COVERAGE_DATA%
-)
-
-if not exist %PATH_TO_RESULT% (
-mkdir %PATH_TO_RESULT%
-)
-
-if [%1] EQU [] ( goto default )
-
-call :%1
-call :%2
-call :%3
-call :%4
-call :%5
-echo Running tests = %RUNTESTS%
-echo Instrumenting tests = %INSTRUMENT%
-goto default
-
-:/NOCLEANUP
-set REMOVEINSTRUMENT=FALSE
-goto end
-
-:/NORUN
-set RUNTESTS=FALSE
-set REMOVEINSTRUMENT=FALSE
-goto end
-
-:/NOINSTRUMENT
-set INSTRUMENT=FALSE
-goto end
-
-:/NOBUILD
-set BUILDTESTS=FALSE
-goto end
-
-:/ONLYUNITTESTS
-set DOMODULESTESTS=FALSE
-goto end
-
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:: function FINISH
-::
-:: Finishes run_auto_tests.bat
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:FINISH
-
-if [%RUNTESTS%] EQU [TRUE] (
-call :runtests
-)
-
-if [%INSTRUMENT%] EQU [TRUE] (
-call :calculatecoverage
-)
-
-if [%REMOVEINSTRUMENT%] EQU [TRUE] (
-call :removecoverage
-)
-goto end
-
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:: function BUILD
-::    param directory
-::
-:: builds test from given directory
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:BUILD
-setlocal
-if [%BUILDTESTS%] EQU [FALSE] ( goto end )
-echo Building %1
-if not exist %1 ( 
-echo %1 Not found! 
-goto end
-)
-
-pushd .
-call cd %1
-call qmake
-call sbs -c winscw_udeb clean
-if [%INSTRUMENT%] EQU [TRUE] (
-call ctcwrap -n %PATH_TO_COVERAGE_DATA%\%1 -i d -C "EXCLUDE=*" -C "NO_EXCLUDE=%TESTED_SRC%" %ABLD_CALL%
-) else (
-call %ABLD_CALL%
-)
-
-popd
-endlocal
-goto end
-
-
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:: function RUNTESTS
-::
-:: NOTE! Function assumes that test binary is named according to test directory.
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:RUNTESTS
-echo Running tests
-call %PATH_TO_DLL%\ut_infowidgetpreferences.exe -dtextshell --
-move \epoc32\winscw\c\data\ut_infowidgetpreferences.log %PATH_TO_RESULT%\ut_infowidgetpreferences.log
-goto end
-
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:: function CALCULATECOVERAGE
-::
-:: Calculates test coverage. Generates html
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:CALCULATECOVERAGE
-echo Calculating coverage
-ctcpost %PATH_TO_COVERAGE_DATA%\*.sym | ctcmerge -i - -o profile.txt
-call ctc2html -t 70 -i profile.txt -o \coverage_result -nsb
-goto end
-
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:: function REMOVECOVERAGE
-::
-:: Removes data from coverage directory
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:REMOVECOVERAGE
-echo Removing deleting coverage data
-call del %PATH_TO_COVERAGE_DATA%\*.sym
-call del %PATH_TO_COVERAGE_DATA%\*.dat
-call del profile.txt
-goto end
-
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:: function END
-::
-:: Prints done
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:END
-echo Done!
\ No newline at end of file
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/ut_infowidgetpreferences/src/ut_infowidgetpreferences.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,189 +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 "ut_infowidgetpreferences.h"
-#define private public
-#include "infowidgetpreferences.h"
-#include "qtestmains60.h"
-
-/*!
-  UT_InfoWidgetPreferences::UT_InfoWidgetPreferences
- */
-UT_InfoWidgetPreferences::UT_InfoWidgetPreferences() 
-    : 
-    m_infoWidgetPreferences(0)
-{
-    
-}
-
-
-/*!
-  UT_InfoWidgetPreferences::~UT_InfoWidgetPreferences
- */
-UT_InfoWidgetPreferences::~UT_InfoWidgetPreferences()
-{
-    delete m_infoWidgetPreferences;
-}
-
-
-/*!
-  UT_InfoWidgetPreferences::init
- */
-void UT_InfoWidgetPreferences::init()
-{
-    initialize();
-    
-    m_infoWidgetPreferences = new InfoWidgetPreferences();
-    
-    QVERIFY(verify());
-}
-
-
-/*!
-  UT_InfoWidgetPreferences::cleanup
- */
-void UT_InfoWidgetPreferences::cleanup()
-{
-    reset();
-    
-    delete m_infoWidgetPreferences;
-    m_infoWidgetPreferences = 0;
-}
-
-
-/*!
-  UT_InfoWidgetPreferences::t_storePreferences
- */
-void UT_InfoWidgetPreferences::t_storePreferences()
-{
-    m_infoWidgetPreferences->storePreferences();
-    
-    m_infoWidgetPreferences->m_options = (InfoWidgetPreferences::Option)1;
-    m_infoWidgetPreferences->m_validatedOptions = (InfoWidgetPreferences::Option)2;
-    m_infoWidgetPreferences->storePreferences();
-            
-    QVERIFY(verify());
-}
-
-
-/*!
-  UT_InfoWidgetPreferences::t_preference
- */
-void UT_InfoWidgetPreferences::t_preference()
-{
-    QString preferenceValue = m_infoWidgetPreferences->preference(
-        InfoWidgetPreferences::DisplayHomeZone);
-    QVERIFY(DISPLAY_SETTING_OFF == preferenceValue);
-    
-    preferenceValue = m_infoWidgetPreferences->preference(
-        InfoWidgetPreferences::DisplayMcn);
-    QVERIFY(DISPLAY_SETTING_OFF == preferenceValue);
-    
-    preferenceValue = m_infoWidgetPreferences->preference(
-        InfoWidgetPreferences::DisplayActiveLine);
-    QVERIFY(DISPLAY_SETTING_OFF == preferenceValue);
-    
-    preferenceValue = m_infoWidgetPreferences->preference(
-        InfoWidgetPreferences::DisplaySatText);
-    QVERIFY(DISPLAY_SETTING_OFF == preferenceValue);
-}
-
-
-/*!
-  UT_InfoWidgetPreferences::t_setPreference
- */
-void UT_InfoWidgetPreferences::t_setPreference()
-{
-    m_infoWidgetPreferences->setPreference(
-        InfoWidgetPreferences::DisplayHomeZone, DISPLAY_SETTING_ON);
-    QVERIFY(DISPLAY_SETTING_ON == m_infoWidgetPreferences->preference(
-        InfoWidgetPreferences::DisplayHomeZone));
-    
-    m_infoWidgetPreferences->setPreference(
-        InfoWidgetPreferences::DisplayMcn, DISPLAY_SETTING_ON);
-    QVERIFY(DISPLAY_SETTING_ON == m_infoWidgetPreferences->preference(
-        InfoWidgetPreferences::DisplayMcn));
-    
-    m_infoWidgetPreferences->setPreference(
-        InfoWidgetPreferences::DisplayActiveLine, DISPLAY_SETTING_ON);
-    QVERIFY(DISPLAY_SETTING_ON == m_infoWidgetPreferences->preference(
-        InfoWidgetPreferences::DisplayActiveLine));
-    
-    m_infoWidgetPreferences->setPreference(
-        InfoWidgetPreferences::DisplaySatText, DISPLAY_SETTING_ON);
-    QVERIFY(DISPLAY_SETTING_ON == m_infoWidgetPreferences->preference(
-        InfoWidgetPreferences::DisplaySatText));
-    
-    m_infoWidgetPreferences->setPreference(
-        InfoWidgetPreferences::DisplaySatText, DISPLAY_SETTING_OFF);
-    QVERIFY(DISPLAY_SETTING_OFF == m_infoWidgetPreferences->preference(
-        InfoWidgetPreferences::DisplaySatText));
-}
-
-/*!
-  UT_InfoWidgetPreferences::t_visibleItemCount
- */
-void UT_InfoWidgetPreferences::t_visibleItemCount()
-{
-    int visibleItems = m_infoWidgetPreferences->visibleItemCount();
-    QVERIFY(visibleItems == 0);
-    
-    m_infoWidgetPreferences->setPreference(
-        InfoWidgetPreferences::DisplayHomeZone, DISPLAY_SETTING_ON);
-    m_infoWidgetPreferences->setPreference(
-        InfoWidgetPreferences::DisplayMcn, DISPLAY_SETTING_ON);
-    m_infoWidgetPreferences->setPreference(
-        InfoWidgetPreferences::DisplayActiveLine, DISPLAY_SETTING_ON);
-    m_infoWidgetPreferences->setPreference(
-        InfoWidgetPreferences::DisplaySatText, DISPLAY_SETTING_ON);
-    m_infoWidgetPreferences->setPreference(
-        InfoWidgetPreferences::DisplaySpn, DISPLAY_SETTING_ON);
-    visibleItems = m_infoWidgetPreferences->visibleItemCount();
-    QVERIFY(visibleItems == 5);
-}
-
-/*!
-  UT_InfoWidgetPreferences::t_isPreferenceSet
- */
-void UT_InfoWidgetPreferences::t_isPreferenceSet()
-{
-    m_infoWidgetPreferences->isPreferenceSet
-        (InfoWidgetPreferences::DisplayHomeZone);
-            
-    QVERIFY(verify());
-}
-
-/*!
-  UT_InfoWidgetPreferences::t_preferences
- */
-void UT_InfoWidgetPreferences::t_preferences()
-{
-    m_infoWidgetPreferences->preferences();
-                
-    QVERIFY(verify());
-}
-
-/*!
-  UT_InfoWidgetPreferences::t_preferenceNames
- */
-void UT_InfoWidgetPreferences::t_preferenceNames()
-{
-    m_infoWidgetPreferences->preferenceNames();
-                
-    QVERIFY(verify());
-}
-
-QTEST_MAIN_S60(UT_InfoWidgetPreferences)
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/ut_infowidgetpreferences/ut_infowidgetpreferences.pro	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +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: Project file for building unit test component
-#
-#
-
-CONFIG += qtestlib hb
-TEMPLATE = app
-TARGET = 
-DEPENDPATH  += . ../../infowidget/src ../../infowidget/inc
-INCLUDEPATH += .
-INCLUDEPATH += ../common
-INCLUDEPATH += ../../inc/
-INCLUDEPATH += ../../infowidget/inc/
-DEFINES += XQSETTINGSMANAGER_NO_LIBRARY
-DEFINES += QT_NO_DEBUG_STREAM
-
-QT -= gui
-QT += testlib
-
-symbian: {
-  CONFIG += no_icon
-  INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE
-  LIBS += -lmocklib 		\
-          -lsymbianmock 	\
-          -lcpframework
-}
-    
-# test code
-HEADERS += ./inc/ut_infowidgetpreferences.h
-SOURCES += ./src/ut_infowidgetpreferences.cpp
-
-# code to be tested
-HEADERS += ../../infowidget/inc/infowidgetpreferences.h
-SOURCES += ../../infowidget/src/infowidgetpreferences.cpp
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/ut_infowidgetprovider/inc/ut_infowidgetprovider.h	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +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 UT_INFOWIDGETPROVIDER_H
-#define UT_INFOWIDGETPROVIDER_H
-
-#include <QtTest/QtTest>
-#include <mockservice.h>
-#include <qserviceplugininterface.h>
-
-QTM_USE_NAMESPACE
-
-class InfoWidgetProvider;
-
-class UT_InfoWidgetProvider : public QObject, public MockService
-{
-    Q_OBJECT
-
-public:    
-    
-    UT_InfoWidgetProvider();
-    ~UT_InfoWidgetProvider();
-    
-private slots:
-
-    void init();
-    void cleanup();
-    void t_createInstance(); 
-    
-};
-
-#endif // UT_INFOWIDGET_H
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/ut_infowidgetprovider/run_auto_tests_qt.bat	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,192 +0,0 @@
-rem
-rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-rem All rights reserved.
-rem This component and the accompanying materials are made available
-rem under the terms of "Eclipse Public License v1.0"
-rem which accompanies this distribution, and is available
-rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
-rem
-rem Initial Contributors:
-rem Nokia Corporation - initial contribution.
-rem
-rem Contributors:
-rem
-rem Description:
-rem
-
-@echo off
-setlocal
-goto :startup 
-
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:: function DEFAULT
-::
-:: Modify this function
-::  - TESTED_SRC can be changed to match tested code.
-::    Specifies path from testcode group directory to
-::    tested code
-::  - Add test directories to be runned
-::    ie. "call :build ut_projectdirectory" or use
-::    "for /f %%a in ('dir /b ut_*') do call :build %%a"
-::    which compiles, instruments and runs all test directories
-::    starting with "ut_".
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:DEFAULT
-set TESTED_SRC=..\..\src\*.cpp
-
-for /f %%a in ('dir /b ut_*') do call :build %%a
-if [%DOMODULESTESTS%] EQU [TRUE] (
-for /f %%a in ('dir /b mt_*') do call :build %%a
-)
-
-call :finish
-goto :END
-
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:: function STARTUP
-::
-:: Initializing script
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:STARTUP
-
-set BUILDTESTS=TRUE
-set RUNTESTS=TRUE
-set INSTRUMENT=TRUE
-set REMOVEINSTRUMENT=TRUE
-set DOMODULESTESTS=TRUE
-set ABLD_CALL= -2comp  sbs.bat -c winscw_udeb --keepgoing
-set PATH_TO_DLL=\epoc32\release\winscw\udeb
-set PATH_TO_COVERAGE_DATA=\coverage_data
-set PATH_TO_RESULT=\test_result
-
-if not exist %PATH_TO_COVERAGE_DATA% (
-mkdir %PATH_TO_COVERAGE_DATA%
-)
-
-if not exist %PATH_TO_RESULT% (
-mkdir %PATH_TO_RESULT%
-)
-
-if [%1] EQU [] ( goto default )
-
-call :%1
-call :%2
-call :%3
-call :%4
-call :%5
-echo Running tests = %RUNTESTS%
-echo Instrumenting tests = %INSTRUMENT%
-goto default
-
-:/NOCLEANUP
-set REMOVEINSTRUMENT=FALSE
-goto end
-
-:/NORUN
-set RUNTESTS=FALSE
-set REMOVEINSTRUMENT=FALSE
-goto end
-
-:/NOINSTRUMENT
-set INSTRUMENT=FALSE
-goto end
-
-:/NOBUILD
-set BUILDTESTS=FALSE
-goto end
-
-:/ONLYUNITTESTS
-set DOMODULESTESTS=FALSE
-goto end
-
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:: function FINISH
-::
-:: Finishes run_auto_tests.bat
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:FINISH
-
-if [%RUNTESTS%] EQU [TRUE] (
-call :runtests
-)
-
-if [%INSTRUMENT%] EQU [TRUE] (
-call :calculatecoverage
-)
-
-if [%REMOVEINSTRUMENT%] EQU [TRUE] (
-call :removecoverage
-)
-goto end
-
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:: function BUILD
-::    param directory
-::
-:: builds test from given directory
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:BUILD
-setlocal
-if [%BUILDTESTS%] EQU [FALSE] ( goto end )
-echo Building %1
-if not exist %1 ( 
-echo %1 Not found! 
-goto end
-)
-
-pushd .
-call cd %1
-call qmake
-call sbs -c winscw_udeb clean
-if [%INSTRUMENT%] EQU [TRUE] (
-call ctcwrap -n %PATH_TO_COVERAGE_DATA%\%1 -i d -C "EXCLUDE=*" -C "NO_EXCLUDE=%TESTED_SRC%" %ABLD_CALL%
-) else (
-call %ABLD_CALL%
-)
-
-popd
-endlocal
-goto end
-
-
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:: function RUNTESTS
-::
-:: NOTE! Function assumes that test binary is named according to test directory.
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:RUNTESTS
-echo Running tests
-call %PATH_TO_DLL%\ut_infowidgetprovider.exe -dtextshell --
-move \epoc32\winscw\c\data\ut_infowidgetprovider.log %PATH_TO_RESULT%\ut_infowidgetprovider.log
-goto end
-
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:: function CALCULATECOVERAGE
-::
-:: Calculates test coverage. Generates html
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:CALCULATECOVERAGE
-echo Calculating coverage
-ctcpost %PATH_TO_COVERAGE_DATA%\*.sym | ctcmerge -i - -o profile.txt
-call ctc2html -t 70 -i profile.txt -o \coverage_result -nsb
-goto end
-
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:: function REMOVECOVERAGE
-::
-:: Removes data from coverage directory
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:REMOVECOVERAGE
-echo Removing deleting coverage data
-call del %PATH_TO_COVERAGE_DATA%\*.sym
-call del %PATH_TO_COVERAGE_DATA%\*.dat
-call del profile.txt
-goto end
-
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:: function END
-::
-:: Prints done
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:END
-echo Done!
\ No newline at end of file
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/ut_infowidgetprovider/src/ut_infowidgetprovider.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,119 +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 "ut_infowidgetprovider.h"
-#include "infowidgetprovider.h"
-#include "qtestmains60.h"
-
-#include <qserviceinterfacedescriptor.h>
-#include <qabstractsecuritysession.h>
-#include <qservicecontext.h>
-#include <QString>
-
-Q_EXTERN_C const char * qt_plugin_query_verification_data();
-Q_EXTERN_C ::QObject *  qt_plugin_instance();
-
-class MyQServiceInterfaceDescriptor : public QServiceInterfaceDescriptor
-{}; 
-
-class MyQServiceContext : public QServiceContext
-{
-public: 
-    virtual void notify( ContextType type, const QVariant& variant){
-    Q_UNUSED(type)
-    Q_UNUSED(variant)
-    };
-}; 
-
-class MyQAbstractSecuritySession : public QAbstractSecuritySession
-{
-public: 
-    virtual bool isAllowed(const QStringList& capabilityList){
-    Q_UNUSED(capabilityList)
-    return true;
-    };
-}; 
-
-QString KValidInfoWidgetInterfaceName("com.nokia.IHomeScreenWidget"); 
-QString KInvalidInfoWidgetInterfaceName("com");
-
-
-/*!
-  UT_InfoWidgetProvider::UT_InfoWidgetProvider
- */
-UT_InfoWidgetProvider::UT_InfoWidgetProvider() 
-{
-    const char * verificationData = qt_plugin_query_verification_data();
-}
-
-
-/*!
-  UT_InfoWidgetProvider::~UT_InfoWidgetProvider
- */
-UT_InfoWidgetProvider::~UT_InfoWidgetProvider()
-{
-
-}
-
-
-/*!
-  UT_InfoWidgetProvider::init
- */
-void UT_InfoWidgetProvider::init()
-{
-    initialize();
-
-    QVERIFY(verify());
-}
-
-
-/*!
-  UT_InfoWidgetProvider::cleanup
- */
-void UT_InfoWidgetProvider::cleanup()
-{
-    reset();
-    
-    delete (InfoWidgetProvider*)qt_plugin_instance();
-}
-
-
-void UT_InfoWidgetProvider::t_createInstance()
-    {
-    MyQServiceInterfaceDescriptor myServiceInterfaceDescriptor; 
-    MyQServiceContext myQServiceContext; 
-    MyQAbstractSecuritySession myAbstractSecuritySession; 
-    
-    QObject *instanceValue = NULL;
-    InfoWidgetProvider* p = (InfoWidgetProvider*)qt_plugin_instance();
-    // Test: instance creation with valid interface name
-    expect("QtMobility::QServiceInterfaceDescriptor::interfaceName").returns(KValidInfoWidgetInterfaceName);
-    expect("InfoWidget::InfoWidget"); 
-    instanceValue = p->createInstance(myServiceInterfaceDescriptor,
-                                             &myQServiceContext,
-                                             &myAbstractSecuritySession);
-    Q_ASSERT(instanceValue); 
-    
-    // Test: instance creation with invalid interface name
-    expect("QtMobility::QServiceInterfaceDescriptor::interfaceName").returns(KInvalidInfoWidgetInterfaceName);
-    instanceValue = p->createInstance(myServiceInterfaceDescriptor,
-                                             &myQServiceContext,
-                                             &myAbstractSecuritySession);
-    Q_ASSERT(instanceValue == NULL); 
-
-}
-
-QTEST_MAIN_S60(UT_InfoWidgetProvider)
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/ut_infowidgetprovider/ut_infowidgetprovider.pro	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +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: Project file for building unit test component
-#
-#
-
-CONFIG += qtestlib hb mobility
-MOBILITY = serviceframework
-TEMPLATE = app
-TARGET = 
-INCLUDEPATH += .
-INCLUDEPATH += ../common
-INCLUDEPATH += ../../inc/
-INCLUDEPATH += ../../infowidget/inc/
-DEFINES += QT_NO_DEBUG_STREAM
-
-QT -= gui
-QT += testlib
-
-symbian: {
-  CONFIG += no_icon
-  INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE
-  LIBS += -lmocklib 		\
-          -lsymbianmock     \
-          -lhswidgetmodel
-}
-
-# test code
-HEADERS += ./inc/ut_infowidgetprovider.h
-SOURCES += ./src/ut_infowidgetprovider.cpp
-
-# code to be tested
-HEADERS += ../../inc/infowidgetprovider.h
-SOURCES += ../../src/infowidgetprovider.cpp
-
-# mocks needed for testing
-HEADERS += ../../infowidget/inc/infowidget.h
-SOURCES += ../mocks/mock_infowidget.cpp
-SOURCES += ../mocks/mock_qserviceplugininterface.cpp
-SOURCES += ../mocks/mock_qserviceinterfacedescriptor.cpp
\ No newline at end of file
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/ut_infowidgetsathandler/inc/ut_infowidgetsathandler.h	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +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 UT_INFOWIDGETSATHANDLER_H
-#define UT_INFOWIDGETSATHANDLER_H
-
-#include <QtTest/QtTest>
-#include <mockservice.h>
-
-class InfoWidgetSatHandler;
-
-class UT_InfoWidgetSatHandler : public QObject, public MockService
-{
-    Q_OBJECT
-
-public:    
-    
-    UT_InfoWidgetSatHandler();
-    ~UT_InfoWidgetSatHandler();
-    
-private slots:
-
-    void init();
-    void cleanup();
-    
-    void t_satDisplayText(); 
-    void t_setSatDisplayText();
-    void t_logCurrentInfo(); 
-    
-    void t_connect();
-    void t_handleIdleModeTxtMessage();
-    void t_handleSatError();
-    
-private:
-    
-    InfoWidgetSatHandler *m_satHandler;
-
-};
-
-#endif // UT_INFOWIDGETSATHANDLER_H
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/ut_infowidgetsathandler/run_auto_tests_qt.bat	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,194 +0,0 @@
-rem
-rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-rem All rights reserved.
-rem This component and the accompanying materials are made available
-rem under the terms of "Eclipse Public License v1.0"
-rem which accompanies this distribution, and is available
-rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
-rem
-rem Initial Contributors:
-rem Nokia Corporation - initial contribution.
-rem
-rem Contributors:
-rem
-rem Description:
-rem
-
-@echo off
-setlocal
-goto :startup 
-
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:: function DEFAULT
-::
-:: Modify this function
-::  - TESTED_SRC can be changed to match tested code.
-::    Specifies path from testcode group directory to
-::    tested code
-::  - Add test directories to be runned
-::    ie. "call :build ut_projectdirectory" or use
-::    "for /f %%a in ('dir /b ut_*') do call :build %%a"
-::    which compiles, instruments and runs all test directories
-::    starting with "ut_".
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:DEFAULT
-set TESTED_SRC=..\..\infowidget\src\*.cpp
-
-for /f %%a in ('dir /b ut_*') do call :build %%a
-if [%DOMODULESTESTS%] EQU [TRUE] (
-for /f %%a in ('dir /b mt_*') do call :build %%a
-)
-
-call :finish
-goto :END
-
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:: function STARTUP
-::
-:: Initializing script
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:STARTUP
-
-set BUILDTESTS=TRUE
-set RUNTESTS=TRUE
-set INSTRUMENT=TRUE
-set REMOVEINSTRUMENT=TRUE
-set DOMODULESTESTS=TRUE
-set ABLD_CALL= -2comp  sbs.bat -c winscw_udeb --keepgoing
-set PATH_TO_DLL=\epoc32\release\winscw\udeb
-set PATH_TO_COVERAGE_DATA=\coverage_data
-set PATH_TO_RESULT=\test_result
-
-if not exist %PATH_TO_COVERAGE_DATA% (
-mkdir %PATH_TO_COVERAGE_DATA%
-)
-
-if not exist %PATH_TO_RESULT% (
-mkdir %PATH_TO_RESULT%
-)
-
-if [%1] EQU [] ( goto default )
-
-call :%1
-call :%2
-call :%3
-call :%4
-call :%5
-echo Running tests = %RUNTESTS%
-echo Instrumenting tests = %INSTRUMENT%
-goto default
-
-:/NOCLEANUP
-set REMOVEINSTRUMENT=FALSE
-goto end
-
-:/NORUN
-set RUNTESTS=FALSE
-set REMOVEINSTRUMENT=FALSE
-goto end
-
-:/NOINSTRUMENT
-set INSTRUMENT=FALSE
-goto end
-
-:/NOBUILD
-set BUILDTESTS=FALSE
-goto end
-
-:/ONLYUNITTESTS
-set DOMODULESTESTS=FALSE
-goto end
-
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:: function FINISH
-::
-:: Finishes run_auto_tests.bat
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:FINISH
-
-if [%RUNTESTS%] EQU [TRUE] (
-call :runtests
-)
-
-if [%INSTRUMENT%] EQU [TRUE] (
-call :calculatecoverage
-)
-
-if [%REMOVEINSTRUMENT%] EQU [TRUE] (
-call :removecoverage
-)
-goto end
-
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:: function BUILD
-::    param directory
-::
-:: builds test from given directory
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:BUILD
-setlocal
-if [%BUILDTESTS%] EQU [FALSE] ( goto end )
-echo Building %1
-if not exist %1 ( 
-echo %1 Not found! 
-goto end
-)
-
-pushd .
-call cd %1
-call qmake
-call sbs -c winscw_udeb clean
-if [%INSTRUMENT%] EQU [TRUE] (
-call ctcwrap -n %PATH_TO_COVERAGE_DATA%\%1 -i d -C "EXCLUDE=*" -C "NO_EXCLUDE=%TESTED_SRC%" %ABLD_CALL%
-) else (
-call %ABLD_CALL%
-)
-
-popd
-endlocal
-goto end
-
-
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:: function RUNTESTS
-::
-:: NOTE! Function assumes that test binary is named according to test directory.
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:RUNTESTS
-echo Running tests
-call %PATH_TO_DLL%\ut_infowidgetsathandler.exe -dtextshell --
-
-move \epoc32\winscw\c\data\ut_infowidgetsathandler.log %PATH_TO_RESULT%\ut_infowidgetsathandler.log
-
-goto end
-
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:: function CALCULATECOVERAGE
-::
-:: Calculates test coverage. Generates html
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:CALCULATECOVERAGE
-echo Calculating coverage
-ctcpost %PATH_TO_COVERAGE_DATA%\*.sym | ctcmerge -i - -o profile.txt
-call ctc2html -t 70 -i profile.txt -o \coverage_result -nsb
-goto end
-
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:: function REMOVECOVERAGE
-::
-:: Removes data from coverage directory
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:REMOVECOVERAGE
-echo Removing deleting coverage data
-call del %PATH_TO_COVERAGE_DATA%\*.sym
-call del %PATH_TO_COVERAGE_DATA%\*.dat
-call del profile.txt
-goto end
-
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:: function END
-::
-:: Prints done
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:END
-echo Done!
\ No newline at end of file
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/ut_infowidgetsathandler/src/ut_infowidgetsathandler.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,132 +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 "ut_infowidgetsathandler.h"
-#define private public
-#include "infowidgetsathandler.h"
-#include "qtestmains60.h"
-
-/*!
-  UT_InfoWidgetSatHandler::UT_InfoWidgetSatHandler
- */
-UT_InfoWidgetSatHandler::UT_InfoWidgetSatHandler() 
-    : 
-    m_satHandler(0)
-{
-    
-}
-
-
-/*!
-  UT_InfoWidgetSatHandler::~UT_InfoWidgetSatHandler
- */
-UT_InfoWidgetSatHandler::~UT_InfoWidgetSatHandler()
-{
-    delete m_satHandler;
-}
-
-/*!
-  UT_InfoWidgetSatHandler::init
- */
-void UT_InfoWidgetSatHandler::init()
-{
-    initialize();
-    
-    m_satHandler =  new InfoWidgetSatHandler();
-    
-    QVERIFY(verify());
-}
-
-
-/*!
-  UT_InfoWidgetSatHandler::cleanup
- */
-void UT_InfoWidgetSatHandler::cleanup()
-{
-    reset();
-    
-    delete m_satHandler;
-    m_satHandler = 0;
-}
-
-
-/*!
-  UT_InfoWidgetSatHandler::t_satDisplayText
- */
-void UT_InfoWidgetSatHandler::t_satDisplayText()
-{
-    QString satDisplayText("satDisplayText");
-    m_satHandler->setSatDisplayText(satDisplayText);
-    QVERIFY(satDisplayText == m_satHandler->satDisplayText());
-}
-
-
-/*!
-  UT_InfoWidgetSatHandler::t_setSatDisplayText
- */
-void UT_InfoWidgetSatHandler::t_setSatDisplayText()
-{
-    QString satDisplayText("satDisplayText");
-    m_satHandler->setSatDisplayText(satDisplayText);
-    
-    QVERIFY(satDisplayText == m_satHandler->satDisplayText());
-}
-
-
-/*!
-  UT_InfoWidgetSatHandler::t_logCurrentInfo
- */
-void UT_InfoWidgetSatHandler::t_logCurrentInfo()
-{
-    m_satHandler->logCurrentInfo();
-    
-    QVERIFY(verify());
-}
-
-void UT_InfoWidgetSatHandler::t_connect()
-{
-    //}else if (!connect && m_connected){
-    m_satHandler->m_connected = 1;
-    m_satHandler->connect(0);
-    
-        
-    m_satHandler->m_connected = 1;
-    m_satHandler->connect(1);
-    
-    //if(connect && !m_connected){
-    m_satHandler->m_connected = 0;
-    m_satHandler->connect(1);
-    
-    QVERIFY(verify());
-}
-void UT_InfoWidgetSatHandler::t_handleIdleModeTxtMessage()
-{
-    m_satHandler->m_connected = 0;
-    m_satHandler->handleIdleModeTxtMessage(0);
-    m_satHandler->m_connected = 1;
-    m_satHandler->handleIdleModeTxtMessage(0);
-    
-    QVERIFY(verify());
-}
-void UT_InfoWidgetSatHandler::t_handleSatError()
-{
-    m_satHandler->handleSatError(1,1);
-    
-    QVERIFY(verify());
-}
-    
-
-QTEST_MAIN_S60(UT_InfoWidgetSatHandler)
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/ut_infowidgetsathandler/ut_infowidgetsathandler.pro	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +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: Project file for building unit test component
-#
-#
-
-CONFIG += qtestlib hb
-TEMPLATE = app
-TARGET = 
-DEPENDPATH  += . ../../infowidget/src
-INCLUDEPATH += .
-INCLUDEPATH += ../common
-INCLUDEPATH += ../../inc/
-INCLUDEPATH += ../../infowidget/inc/
-
-QT -= gui
-QT += testlib
-
-symbian: {
-  CONFIG += no_icon
-  INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE
-  LIBS += -lmocklib 		\
-          -lsymbianmock 	\
-          -lcpframework
-}
-    
-# test code
-HEADERS += ./inc/ut_infowidgetsathandler.h
-SOURCES += ./src/ut_infowidgetsathandler.cpp
-
-# code to be tested
-HEADERS += ../../infowidget/inc/infowidgetsathandler.h
-SOURCES += ../../infowidget/src/infowidgetsathandler.cpp 
-
-# mocks needed for testing
-SOURCES += ../mocks/mock_rsatservice.cpp  \
-           ../mocks/mock_RSatSession.cpp  \
-           ../mocks/mock_infowidgetsathandlerprivate.cpp
\ No newline at end of file
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/ut_infowidgetsathandlerprivate/inc/ut_infowidgetsathandlerprivate.h	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,58 +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 UT_INFOWIDGETSATHANDLERPRIVATE_H
-#define UT_INFOWIDGETSATHANDLERPRIVATE_H
-
-#include <QtTest/QtTest>
-#include <mockservice.h>
-#include <rsatservice.h>
-
-
-class InfoWidgetSatHandlerPrivate;
-class InfoWidgetSatHandler;
-
-class UT_InfoWidgetSatHandlerPrivate : public QObject, public MockService
-{
-    Q_OBJECT
-
-public:    
-    
-    UT_InfoWidgetSatHandlerPrivate();
-    ~UT_InfoWidgetSatHandlerPrivate();
-    
-private slots:
-
-    void init();
-    void cleanup();
-    
-    void t_connect();
-    void t_disconnect();
-    void t_startObserving();
-
-    void t_runL();
-    void t_doCancel();
-    
-private:
-    
-    InfoWidgetSatHandlerPrivate *m_satHandler;
-    InfoWidgetSatHandler* m_iwSatHandler;
-    RSatService m_satService;
-
-};
-
-#endif // UT_INFOWIDGETSATHANDLERPRIVATE_H
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/ut_infowidgetsathandlerprivate/run_auto_tests_qt.bat	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,194 +0,0 @@
-rem
-rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-rem All rights reserved.
-rem This component and the accompanying materials are made available
-rem under the terms of "Eclipse Public License v1.0"
-rem which accompanies this distribution, and is available
-rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
-rem
-rem Initial Contributors:
-rem Nokia Corporation - initial contribution.
-rem
-rem Contributors:
-rem
-rem Description:
-rem
-
-@echo off
-setlocal
-goto :startup 
-
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:: function DEFAULT
-::
-:: Modify this function
-::  - TESTED_SRC can be changed to match tested code.
-::    Specifies path from testcode group directory to
-::    tested code
-::  - Add test directories to be runned
-::    ie. "call :build ut_projectdirectory" or use
-::    "for /f %%a in ('dir /b ut_*') do call :build %%a"
-::    which compiles, instruments and runs all test directories
-::    starting with "ut_".
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:DEFAULT
-set TESTED_SRC=..\..\infowidget\src\*.cpp
-
-for /f %%a in ('dir /b ut_*') do call :build %%a
-if [%DOMODULESTESTS%] EQU [TRUE] (
-for /f %%a in ('dir /b mt_*') do call :build %%a
-)
-
-call :finish
-goto :END
-
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:: function STARTUP
-::
-:: Initializing script
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:STARTUP
-
-set BUILDTESTS=TRUE
-set RUNTESTS=TRUE
-set INSTRUMENT=TRUE
-set REMOVEINSTRUMENT=TRUE
-set DOMODULESTESTS=TRUE
-set ABLD_CALL= -2comp  sbs.bat -c winscw_udeb --keepgoing
-set PATH_TO_DLL=\epoc32\release\winscw\udeb
-set PATH_TO_COVERAGE_DATA=\coverage_data
-set PATH_TO_RESULT=\test_result
-
-if not exist %PATH_TO_COVERAGE_DATA% (
-mkdir %PATH_TO_COVERAGE_DATA%
-)
-
-if not exist %PATH_TO_RESULT% (
-mkdir %PATH_TO_RESULT%
-)
-
-if [%1] EQU [] ( goto default )
-
-call :%1
-call :%2
-call :%3
-call :%4
-call :%5
-echo Running tests = %RUNTESTS%
-echo Instrumenting tests = %INSTRUMENT%
-goto default
-
-:/NOCLEANUP
-set REMOVEINSTRUMENT=FALSE
-goto end
-
-:/NORUN
-set RUNTESTS=FALSE
-set REMOVEINSTRUMENT=FALSE
-goto end
-
-:/NOINSTRUMENT
-set INSTRUMENT=FALSE
-goto end
-
-:/NOBUILD
-set BUILDTESTS=FALSE
-goto end
-
-:/ONLYUNITTESTS
-set DOMODULESTESTS=FALSE
-goto end
-
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:: function FINISH
-::
-:: Finishes run_auto_tests.bat
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:FINISH
-
-if [%RUNTESTS%] EQU [TRUE] (
-call :runtests
-)
-
-if [%INSTRUMENT%] EQU [TRUE] (
-call :calculatecoverage
-)
-
-if [%REMOVEINSTRUMENT%] EQU [TRUE] (
-call :removecoverage
-)
-goto end
-
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:: function BUILD
-::    param directory
-::
-:: builds test from given directory
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:BUILD
-setlocal
-if [%BUILDTESTS%] EQU [FALSE] ( goto end )
-echo Building %1
-if not exist %1 ( 
-echo %1 Not found! 
-goto end
-)
-
-pushd .
-call cd %1
-call qmake
-call sbs -c winscw_udeb clean
-if [%INSTRUMENT%] EQU [TRUE] (
-call ctcwrap -n %PATH_TO_COVERAGE_DATA%\%1 -i d -C "EXCLUDE=*" -C "NO_EXCLUDE=%TESTED_SRC%" %ABLD_CALL%
-) else (
-call %ABLD_CALL%
-)
-
-popd
-endlocal
-goto end
-
-
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:: function RUNTESTS
-::
-:: NOTE! Function assumes that test binary is named according to test directory.
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:RUNTESTS
-echo Running tests
-call %PATH_TO_DLL%\ut_infowidgetsathandlerprivate.exe -dtextshell --
-
-move \epoc32\winscw\c\data\ut_infowidgetsathandlerprivate.log %PATH_TO_RESULT%\ut_infowidgetsathandlerprivate.log
-
-goto end
-
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:: function CALCULATECOVERAGE
-::
-:: Calculates test coverage. Generates html
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:CALCULATECOVERAGE
-echo Calculating coverage
-ctcpost %PATH_TO_COVERAGE_DATA%\*.sym | ctcmerge -i - -o profile.txt
-call ctc2html -t 70 -i profile.txt -o \coverage_result -nsb
-goto end
-
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:: function REMOVECOVERAGE
-::
-:: Removes data from coverage directory
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:REMOVECOVERAGE
-echo Removing deleting coverage data
-call del %PATH_TO_COVERAGE_DATA%\*.sym
-call del %PATH_TO_COVERAGE_DATA%\*.dat
-call del profile.txt
-goto end
-
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:: function END
-::
-:: Prints done
-::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:END
-echo Done!
\ No newline at end of file
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/ut_infowidgetsathandlerprivate/src/ut_infowidgetsathandlerprivate.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,221 +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 "ut_infowidgetsathandlerprivate.h"
-#define private public
-#include "infowidgetsathandlerprivate.h"
-#include "infowidgetsathandler.h"
-#include "infowidgetlogging.h"
-#include "qtestmains60.h"
-
-void SimulateLeaveL()
-{
-    User::Leave(KErrGeneral);
-}
-
-void FillData( HBufC * aText,
-        RSatService::TSatIconQualifier & aIconQualifier,
-        TUint8 & aRecordNumber)
-{
-    _LIT(KText,"Idle Text");
-    TPtr p(aText->Des());
-    p.Copy(KText);
-    aIconQualifier=RSatService::ESatIconNotSelfExplanatory;
-    aRecordNumber=1;
-}
-
-void FillDataNoIcon( HBufC * aText,
-        RSatService::TSatIconQualifier & aIconQualifier,
-        TUint8 & aRecordNumber)
-{
-    Q_UNUSED(aIconQualifier);
-    Q_UNUSED(aRecordNumber);
-    _LIT(KText,"Idle Text");
-    TPtr p(aText->Des());
-    p.Copy(KText);
-}
-
-void FillDataSelfExplIcon( HBufC * aText,
-        RSatService::TSatIconQualifier & aIconQualifier,
-        TUint8 & aRecordNumber)
-{
-    Q_UNUSED(aText);
-    aIconQualifier=RSatService::ESatIconSelfExplanatory;
-    aRecordNumber=1;
-}
-
-/*!
-  UT_InfoWidgetSatHandlerPrivate ::UT_InfoWidgetSatHandlerPrivate 
- */
-UT_InfoWidgetSatHandlerPrivate::UT_InfoWidgetSatHandlerPrivate () //:
-{
-    DPRINT << "IN";
-    
-    m_satHandler = 0;
-    m_iwSatHandler = 0;
-    
-    DPRINT << "OUT";
-}
-
-/*!
-  UT_InfoWidgetSatHandlerPrivate ::~UT_InfoWidgetSatHandlerPrivate 
- */
-UT_InfoWidgetSatHandlerPrivate::~UT_InfoWidgetSatHandlerPrivate ()
-{
-    DPRINT << "IN";
-    
-    delete m_satHandler;
-    delete m_iwSatHandler;
-    
-    DPRINT << "OUT";
-}
-
-/*!
-  UT_InfoWidgetSatHandlerPrivate ::init
- */
-void UT_InfoWidgetSatHandlerPrivate::init()
-{
-    DPRINT << "IN";
-    
-    initialize();
-    m_iwSatHandler = new InfoWidgetSatHandler;
-    m_satHandler =  new InfoWidgetSatHandlerPrivate( m_iwSatHandler, m_satService);
-    
-    QVERIFY(verify());
-
-    DPRINT << "OUT";
-}
-
-/*!
-  UT_InfoWidgetSatHandlerPrivate ::cleanup
- */
-void UT_InfoWidgetSatHandlerPrivate::cleanup()
-{
-    DPRINT << "IN";
-    
-    reset();
-    delete m_satHandler;
-    delete m_iwSatHandler;
-
-    DPRINT << "OUT";
-}
-
-/*!
-  UT_InfoWidgetSatHandlerPrivate::t_connect
- */
-void UT_InfoWidgetSatHandlerPrivate::t_connect()
-{
-    DPRINT << "IN";
-    
-    expect("RSatSession::ConnectL");
-    expect("RSatService::OpenL");
-    m_satHandler->connect();
-     
-    expect("RSatSession::ConnectL")
-        .willOnce(invokeWithoutArguments(SimulateLeaveL));
-    m_satHandler->connect();
-    
-    expect("RSatService::OpenL")
-        .willOnce(invokeWithoutArguments(SimulateLeaveL));
-    m_satHandler->connect();
-
-    QVERIFY(verify());
-
-    DPRINT << "OUT";
-}
-
-/*!
-  UT_InfoWidgetSatHandlerPrivate::t_disconnect
- */
-void UT_InfoWidgetSatHandlerPrivate::t_disconnect()
-{
-    DPRINT << "IN";
-    
-    m_satHandler->disconnect();
-    QVERIFY(verify());
-
-    DPRINT << "OUT";
-}
-
-/*!
-  UT_InfoWidgetSatHandlerPrivate::t_startObserving
- */
-void UT_InfoWidgetSatHandlerPrivate::t_startObserving()
-{
-    DPRINT << "IN";
-    
-    int i = KErrGeneral;
-    expect("RSatService::NotifySetupIdleModeTextChange").returns(i);
-    expect("RSatService::GetSetupIdleModeTextL")
-        .willOnce(invoke(FillData));
-    m_satHandler->startObserving();
-    
-    expect("RSatService::NotifySetupIdleModeTextChange").returns(i);
-    expect("RSatService::GetSetupIdleModeTextL")
-        .willOnce(invoke(FillDataNoIcon));
-    m_satHandler->startObserving();
-    
-    expect("RSatService::NotifySetupIdleModeTextChange").returns(i);
-    expect("RSatService::GetSetupIdleModeTextL")
-        .willOnce(invoke(FillDataSelfExplIcon));
-    m_satHandler->startObserving();
-    
-    expect("RSatService::GetSetupIdleModeTextL")
-        .willOnce(invokeWithoutArguments(SimulateLeaveL));
-    m_satHandler->startObserving();
-    
-    QVERIFY(verify());
-
-    DPRINT << "OUT";
-}
-
-/*!
-  UT_InfoWidgetSatHandlerPrivate::t_runL
- */
-void UT_InfoWidgetSatHandlerPrivate::t_runL()
-{
-    DPRINT << "IN";
-    
-    int i = 1;
-    expect("RSatService::GetSetupIdleModeTextL")
-          .willOnce(invoke(FillData));
-    expect("RSatService::NotifySetupIdleModeTextChange").returns(i);
-    m_satHandler->RunL();
-    
-    m_satHandler->iStatus = KErrGeneral;
-    expect("RSatService::NotifySetupIdleModeTextChange").returns(i);
-    m_satHandler->RunL();
-        
-    QVERIFY(verify());
-
-    DPRINT << "OUT";
-}
-
-/*!
-  UT_InfoWidgetSatHandlerPrivate::t_doCancel
- */
-void UT_InfoWidgetSatHandlerPrivate::t_doCancel()
-{    
-    DPRINT << "IN";
-
-    m_satHandler->DoCancel();
-    QVERIFY(verify());
-
-    DPRINT << "OUT";
-}
-
-QTEST_MAIN_S60(UT_InfoWidgetSatHandlerPrivate )
--- a/phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/ut_infowidgetsathandlerprivate/ut_infowidgetsathandlerprivate.pro	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +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: Project file for building unit test component
-#
-#
-
-CONFIG += qtestlib hb
-TEMPLATE = app
-TARGET = 
-DEPENDPATH  += . ../../infowidget/src
-INCLUDEPATH += .
-INCLUDEPATH += ../common
-INCLUDEPATH += ../../inc/
-INCLUDEPATH += ../../infowidget/inc/
-
-QT -= gui
-QT += testlib
-
-symbian: {
-  CONFIG += no_icon
-  INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE
-  LIBS += -lmocklib 		\
-          -lsymbianmock 	\
-          -lcpframework
-}
-    
-# test code
-HEADERS += ./inc/ut_infowidgetsathandlerprivate.h
-SOURCES += ./src/ut_infowidgetsathandlerprivate.cpp
-
-# code to be tested
-HEADERS += ../../infowidget/inc/infowidgetsathandler.h
-HEADERS += ../../infowidget/inc/infowidgetsathandlerprivate.h 
-
-SOURCES += ../../infowidget/src/infowidgetsathandlerprivate.cpp
-
-# mocks needed for testing
-SOURCES += ../mocks/mock_rsatservice.cpp  \
-           ../mocks/mock_RSatSession.cpp  \
-           ../mocks/mock_infowidgetsathandler.cpp
--- a/phoneplugins/infowidgetplugin/infowidgetproviderinstaller/infowidgetproviderinstaller.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +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:  Infowidgetplugin service manager 
-* registration handler
-*
-*/
-
-#include <qservicemanager.h>
-#include <QCoreApplication>
-#include <QFile>
-
-QTM_USE_NAMESPACE
-
-const QString xml = "z:/private/20022F35/import/widgetregistry/20029F28/infowidgetprovider.xml";
-
-int main(int argc, char *argv[])
-{
-    QCoreApplication app(argc, argv);
-
-    QServiceManager s;
-
-	if (QFile::exists(xml)) {
-        s.addService(xml);
-	} else {
-		s.removeService("infowidgetprovider");
-	}
-}
--- a/phoneplugins/infowidgetplugin/infowidgetproviderinstaller/infowidgetproviderinstaller.pro	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +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 Infowidget installer application
-#
-
-TEMPLATE = app
-
-QT = core
-CONFIG += no_icon
-
-CONFIG += mobility
-MOBILITY = serviceframework
-
-SOURCES += infowidgetproviderinstaller.cpp
-
-symbian {    
-    load(data_caging_paths)
-    TARGET.CAPABILITY = ALL -TCB
-    TARGET.UID3 = 0x2002EA1E
-    BLD_INF_RULES.prj_exports +=  \
-     "$${LITERAL_HASH}include <platform_paths.hrh>" \
-     "./rom/infowidgetproviderinstaller.iby    CORE_APP_LAYER_IBY_EXPORT_PATH(infowidgetproviderinstaller.iby)" 
-}
--- a/phoneplugins/infowidgetplugin/infowidgetproviderinstaller/rom/infowidgetproviderinstaller.iby	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,23 +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 __INFOWIDGETPROVIDERINSTALLER_IBY__
-#define __INFOWIDGETPROVIDERINSTALLER_IBY__
-
-S60_APP_EXE(infowidgetproviderinstaller)
-
-#endif //__INFOWIDGETPROVIDERINSTALLER_IBY__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/resource/infowidget.docml	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="1.1">
+    <widget name="id:content" type="HbWidget">
+        <widget name="id:container" type="HbWidget">
+                <widget name="id:spnIcon" type="HbLabel">
+                    <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+                    <icon iconName="qtg_large_network" name="icon"/>
+                    <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+                    <sizehint height="var(hb-param-graphic-size-primary-small)" type="FIXED" width="var(hb-param-graphic-size-primary-small)"/>
+                    <contentsmargins bottom="0un" left="0un" right="var(hb-param-margin-gene-middle-horizontal)" top="0un"/>
+                </widget>
+                <widget name="id:mcnIcon" type="HbLabel">
+                    <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+                    <icon iconName="qtg_large_cellinfo" name="icon"/>
+                    <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+                    <sizehint height="var(hb-param-graphic-size-primary-small)" type="FIXED" width="var(hb-param-graphic-size-primary-small)"/>
+                    <contentsmargins bottom="0un" left="0un" right="var(hb-param-margin-gene-middle-horizontal)" top="0un"/>
+                </widget>
+                <widget name="id:satTextIcon" type="HbLabel">
+                    <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+                    <icon iconName="qtg_large_sat" name="icon"/>
+                    <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+                    <sizehint height="var(hb-param-graphic-size-primary-small)" type="FIXED" width="var(hb-param-graphic-size-primary-small)"/>
+                    <contentsmargins bottom="0un" left="0un" right="var(hb-param-margin-gene-middle-horizontal)" top="0un"/>
+                </widget>
+                <widget name="id:spnMarqueeItem" type="HbMarqueeItem">
+                    <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+                    <sizehint height="var(hb-param-graphic-size-primary-small)" type="FIXED" width="24un"/>
+                    <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+                    <fontspec name="fontSpec" role="Secondary" textheight="var(hb-param-text-height-secondary)"/>
+                    <string name="colorId" value="tc_hs_list_item_title"/>
+                </widget>
+                <widget name="id:mcnMarqueeItem" type="HbMarqueeItem">
+                    <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+                    <sizehint height="var(hb-param-graphic-size-primary-small)" type="FIXED" width="24un"/>
+                    <fontspec name="fontSpec" role="Secondary" textheight="var(hb-param-text-height-secondary)"/>
+                    <string name="colorId" value="tc_hs_list_item_title"/>
+                </widget>
+                <widget name="id:satMarqueeItem" type="HbMarqueeItem">
+                    <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+                    <sizehint height="var(hb-param-graphic-size-primary-small)" type="FIXED" width="24un"/>
+                    <fontspec name="fontSpec" role="Secondary" textheight="var(hb-param-text-height-secondary)"/>
+                    <string name="colorId" value="tc_hs_list_item_title"/>
+                </widget>
+                <enums name="layoutDirection" value="LeftToRight"/>
+                <real name="z" value="0"/>
+                <contentsmargins bottom="var(hb-param-margin-gene-middle-vertical)" left="var(hb-param-margin-gene-middle-horizontal)" right="var(hb-param-margin-gene-middle-horizontal)" top="var(hb-param-margin-gene-center-align)"/>
+                <layout spacing="0un" type="grid">
+                    <contentsmargins bottom="var(hb-param-margin-gene-middle-vertical)" left="var(hb-param-margin-gene-middle-horizontal)" right="var(hb-param-margin-gene-middle-horizontal)" top="var(hb-param-margin-gene-middle-vertical)"/>
+                    <griditem column="0" itemname="id:satTextIcon" row="2"/>
+                    <griditem column="1" itemname="id:satMarqueeItem" row="2"/>
+                    <griditem column="0" itemname="id:spnIcon" row="0"/>
+                    <griditem column="1" itemname="id:mcnMarqueeItem" row="1"/>
+                    <griditem column="0" itemname="id:mcnIcon" row="1"/>
+                    <griditem column="1" itemname="id:spnMarqueeItem" row="0"/>
+                </layout>
+        </widget>
+        <sizepolicy horizontalPolicy="Preferred" horizontalStretch="0" verticalPolicy="Preferred" verticalStretch="0"/>
+        <sizehint height="5.75un" type="MINIMUM" width="32un"/>
+        <sizehint height="25un" type="MAXIMUM" width="32un"/>
+        <layout type="anchor">
+            <anchoritem dst="id:container" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+            <anchoritem dst="id:container" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
+            <anchoritem dst="id:container" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+            <anchoritem dst="id:container" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
+        </layout>
+    </widget>
+    <metadata activeUIState="Common ui state" display="NHD-3.2-inch_portrait" unit="un">
+        <uistate name="Common ui state" sections="#common"/>
+    </metadata>
+</hbdocument>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/resource/infowidgetplugin.manifest	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<hswidgetmanifest>
+    <uri>infowidgetplugin</uri> 
+    <title>txt_long_caption_operator_widget</title> 
+    <description>txt_operatorwidget_dblist_val_operator_information</description>
+    <icon></icon>
+    <hidden>false</hidden>
+    <servicexml>infowidgetplugin.xml</servicexml> 
+</hswidgetmanifest>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/resource/infowidgetplugin.xml	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<service>
+    <name>infowidgetplugin</name>
+    <filepath>infowidgetplugin</filepath>
+    <description>Operator widget</description>
+    <interface>
+        <name>com.nokia.symbian.IHomeScreenWidget</name>
+        <version>1.0</version>
+        <description></description>
+        <capabilities></capabilities>
+        <customproperty key="title">Operator widget</customproperty>
+    </interface>
+</service>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/resource/settingsdialog.docml	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="1.1">
+    <object name="sd:okAction" type="HbAction">
+        <string name="role" value="HbWidget::addAction"/>
+        <string locid="txt_common_button_ok" name="text" value="Ok"/>
+    </object>
+    <object name="sd:cancelAction" type="HbAction">
+        <string name="role" value="HbWidget::addAction"/>
+        <string locid="txt_common_button_cancel" name="text" value="Cancel"/>
+    </object>
+    <widget name="sd:settingsDialog" type="HbDialog">
+        <integer name="timeout" value="-1"/>
+        <widget name="sd:settingsDialog_heading" role="HbDialog:headingWidget" type="HbLabel">
+            <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+            <string locid="txt_operator_widget_title_select_info" name="plainText" value="Select info"/>
+        </widget>
+        <widget name="sd:settingsContainer" role="HbDialog:contentWidget" type="HbWidget">
+            <widget name="sd:spnCheckBox" type="HbCheckBox">
+                <string locid="txt_operatorwidget_list_spn" name="text"/>
+                <fontspec name="fontSpec" role="Secondary" textheight="var(hb-param-text-height-secondary)"/>
+            </widget>
+            <widget name="sd:mcnCheckBox" type="HbCheckBox">
+                <string locid="txt_operatorwidget_list_cell_information" name="text"/>
+                <fontspec name="fontSpec" role="Secondary" textheight="var(hb-param-text-height-secondary)"/>
+            </widget>
+            <widget name="sd:satTextCheckBox" type="HbCheckBox">
+                <string locid="txt_operatorwidget_list_sat_idle_mode_text" name="text"/>
+                <fontspec name="fontSpec" role="Secondary" textheight="var(hb-param-text-height-secondary)"/>
+            </widget>
+            <layout orientation="Vertical" spacing="0un" type="linear">
+                <contentsmargins bottom="var(hb-param-margin-gene-middle-vertical)" left="0un" right="0un" top="0un"/>
+                <linearitem itemname="sd:spnCheckBox"/>
+                <linearitem itemname="sd:mcnCheckBox"/>
+                <linearitem itemname="sd:satTextCheckBox" spacing="0un"/>
+            </layout>
+        </widget>
+    </widget>
+    <metadata activeUIState="Common ui state" display="NHD-3.2-inch_landscape" unit="un">
+        <uistate name="Common ui state" sections="#common"/>
+    </metadata>
+</hbdocument>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/rom/infowidgetplugin.iby	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,27 @@
+/*
+* 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 __INFOWIDGETPLUGIN_IBY__
+#define __INFOWIDGETPLUGIN_IBY__
+
+file=ABI_DIR\BUILD_DIR\infowidgetplugin.dll                                               SHARED_LIB_DIR\infowidgetplugin.dll
+data=ZPRIVATE\20022f35\import\widgetregistry\20029F28\infowidgetplugin.qtplugin           private\20022f35\import\widgetregistry\20029F28\infowidgetplugin.qtplugin
+data=ZPRIVATE\20022f35\import\widgetregistry\20029F28\infowidgetplugin.manifest           private\20022f35\import\widgetregistry\20029F28\infowidgetplugin.manifest
+data=ZPRIVATE\20022f35\import\widgetregistry\20029F28\infowidgetplugin.xml                private\20022f35\import\widgetregistry\20029F28\infowidgetplugin.xml
+
+
+#endif //__INFOWIDGETPLUGIN_IBY__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/rom/infowidgetplugin_resources.iby	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,25 @@
+/*
+* 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 __INFOWIDGETPRLUGIN_RESOURCE_IBY__
+#define __INFOWIDGETPRLUGIN_RESOURCE_IBY__
+
+#include <data_caging_paths_for_iby.hrh>
+
+data=DATAZ_\QT_TRANSLATIONS_DIR\operator_widget.qm QT_TRANSLATIONS_DIR\operator_widget.qm 
+
+#endif 
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/src/infowidgetplugin.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,46 @@
+/*
+ * 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 <qserviceinterfacedescriptor.h>
+#include <qabstractsecuritysession.h>
+#include <qservicecontext.h>
+
+#include "infowidgetplugin.h"
+#include "infowidget.h"
+
+
+/*!
+  \class InfoWidgetPlugin
+  
+  \brief Homescreen Widget for providing operator information   
+*/
+QObject *InfoWidgetPlugin::createInstance(const QServiceInterfaceDescriptor &descriptor,
+                                             QServiceContext *context,
+                                             QAbstractSecuritySession *session)
+{
+    Q_UNUSED(context);
+    Q_UNUSED(session);
+
+    if (descriptor.interfaceName() == QLatin1String("com.nokia.symbian.IHomeScreenWidget")) {
+        return new InfoWidget();
+    } else {
+        return 0;
+    }
+}
+
+
+Q_EXPORT_PLUGIN2(infowidgetplugin, InfoWidgetPlugin)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/tsrc/common/qtestmains60.h	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,40 @@
+/*
+* 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 QTESTMAINS60
+#define QTESTMAINS60
+
+#define QTEST_MAIN_S60(TestObject) \
+int main(int argc, char *argv[]) \
+{ \
+char *new_argv[3]; \
+QCoreApplication app(argc, argv); \
+\
+QString str = "C:\\data\\" + QFileInfo(QCoreApplication::applicationFilePath()).baseName() + ".log"; \
+QByteArray   bytes  = str.toAscii(); \
+\
+char arg1[] = "-o"; \
+\
+new_argv[0] = argv[0]; \
+new_argv[1] = arg1; \
+new_argv[2] = bytes.data(); \
+\
+TestObject tc; \
+return QTest::qExec(&tc, 3, new_argv); \
+}
+
+#endif
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/tsrc/mocks/mock_RSatSession.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -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 <QDebug>
+#include <smcmockclassincludes.h>
+#include "RSatSession.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// RSatSession::RSatSession
+// -----------------------------------------------------------------------------
+//
+RSatSession::RSatSession(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// RSatSession::ConnectL
+// -----------------------------------------------------------------------------
+//
+void RSatSession::ConnectL(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RSatSession::Version
+// -----------------------------------------------------------------------------
+//
+TVersion RSatSession::Version(  ) const
+    {
+    SMC_MOCK_METHOD0( TVersion )
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/tsrc/mocks/mock_cnwsession.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -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 <QDebug>
+#include <smcmockclassincludes.h>
+#include "cnwsession.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CNWSession::CNWSession
+// -----------------------------------------------------------------------------
+//
+CNWSession::CNWSession(  )
+    //:
+    //CBase( /**/ )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// CNWSession::~CNWSession
+// -----------------------------------------------------------------------------
+//
+CNWSession::~CNWSession(  )
+    {
+    
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/tsrc/mocks/mock_hbcolorscheme.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,33 @@
+/* 
+* 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 <QDebug>
+#include <smcmockclassincludes.h>
+#include <hbcolorscheme.h>
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// QString::color
+// -----------------------------------------------------------------------------
+//
+QColor HbColorScheme::color( 
+        const QString & colorRole )
+    {
+    SMC_MOCK_METHOD1( QColor, const QString &, colorRole )
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/tsrc/mocks/mock_hbdocumentloader.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,180 @@
+/* 
+* 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 <QDebug>
+#include <smcmockclassincludes.h>
+#include <hbmainwindow.h>
+#include <QString>
+#include <QGraphicsWidget>
+#include <QFile>
+
+#include "hbdocumentloader.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// HbDocumentLoader::HbDocumentLoader
+// -----------------------------------------------------------------------------
+//
+HbDocumentLoader::HbDocumentLoader(  )
+    : d_ptr(0)
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbDocumentLoader::HbDocumentLoader
+// -----------------------------------------------------------------------------
+//
+HbDocumentLoader::HbDocumentLoader( 
+        const HbMainWindow * window )
+    : d_ptr(0)    
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbDocumentLoader::~HbDocumentLoader
+// -----------------------------------------------------------------------------
+//
+HbDocumentLoader::~HbDocumentLoader(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbDocumentLoader::load
+// -----------------------------------------------------------------------------
+//
+QObjectList HbDocumentLoader::load( 
+        const QString & fileName,
+        const QString & section,
+        bool * ok )
+    {
+    SMC_MOCK_METHOD3( QObjectList, const QString &, fileName, 
+        const QString &, section, 
+        bool *, ok )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbDocumentLoader::load
+// -----------------------------------------------------------------------------
+//
+QObjectList HbDocumentLoader::load( 
+        QIODevice * device,
+        const QString & section,
+        bool * ok )
+    {
+    SMC_MOCK_METHOD3( QObjectList, QIODevice *, device, 
+        const QString &, section, 
+        bool *, ok )
+    }
+
+// -----------------------------------------------------------------------------
+// HbDocumentLoader::load
+// -----------------------------------------------------------------------------
+//
+QObjectList HbDocumentLoader::load( 
+        const QString & fileName,
+        bool * ok )
+    {
+    SMC_MOCK_METHOD2( QObjectList, const QString &, fileName, 
+        bool *, ok )
+    }
+
+// -----------------------------------------------------------------------------
+// HbDocumentLoader::load
+// -----------------------------------------------------------------------------
+//
+QObjectList HbDocumentLoader::load( 
+        QIODevice * device,
+        bool * ok )
+    {
+    SMC_MOCK_METHOD2( QObjectList, QIODevice *, device, 
+        bool *, ok )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbDocumentLoader::findWidget
+// -----------------------------------------------------------------------------
+//
+QGraphicsWidget * HbDocumentLoader::findWidget( 
+        const QString & name ) const
+    {
+    SMC_MOCK_METHOD1( QGraphicsWidget *, const QString &, name )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbDocumentLoader::findObject
+// -----------------------------------------------------------------------------
+//
+QObject * HbDocumentLoader::findObject( 
+        const QString & name ) const
+    {
+    SMC_MOCK_METHOD1( QObject *, const QString &, name )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbDocumentLoader::setObjectTree
+// -----------------------------------------------------------------------------
+//
+bool HbDocumentLoader::setObjectTree( 
+        QObjectList roots )
+    {
+    SMC_MOCK_METHOD1( bool, QObjectList, roots )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbDocumentLoader::reset
+// -----------------------------------------------------------------------------
+//
+void HbDocumentLoader::reset(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbDocumentLoader::version
+// -----------------------------------------------------------------------------
+//
+QString HbDocumentLoader::version(  )
+    {
+    SMC_MOCK_METHOD0( QString )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbDocumentLoader::createObject
+// -----------------------------------------------------------------------------
+//
+QObject * HbDocumentLoader::createObject( 
+        const QString & type,
+        const QString & name )
+    {
+    SMC_MOCK_METHOD2( QObject *, const QString &, type, 
+        const QString &, name )
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/tsrc/mocks/mock_hbframedrawer.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,347 @@
+/*
+* 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 <QDebug>
+#include <QBitmap>
+#include <QPainter>
+#include <QGraphicsItem>
+#include <smcmockclassincludes.h>
+#include <hbframedrawer.h>
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// HbFrameDrawer::HbFrameDrawer
+// -----------------------------------------------------------------------------
+//
+HbFrameDrawer::HbFrameDrawer( 
+        bool cacheFlag )
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbFrameDrawer::HbFrameDrawer
+// -----------------------------------------------------------------------------
+//
+HbFrameDrawer::HbFrameDrawer( 
+        const QString & frameGraphicsName,
+        FrameType type,
+        bool cacheFlag )
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbFrameDrawer::~HbFrameDrawer
+// -----------------------------------------------------------------------------
+//
+HbFrameDrawer::~HbFrameDrawer(  )
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbFrameDrawer::isNull
+// -----------------------------------------------------------------------------
+//
+bool HbFrameDrawer::isNull(  ) const
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbFrameDrawer::frameGraphicsName
+// -----------------------------------------------------------------------------
+//
+QString HbFrameDrawer::frameGraphicsName(  ) const
+    {
+    SMC_MOCK_METHOD0( QString )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbFrameDrawer::setFrameGraphicsName
+// -----------------------------------------------------------------------------
+//
+void HbFrameDrawer::setFrameGraphicsName( 
+        const QString & frameGraphicsName )
+    {
+    SMC_MOCK_METHOD1( void, const QString &, frameGraphicsName )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbFrameDrawer::frameType
+// -----------------------------------------------------------------------------
+//
+HbFrameDrawer::FrameType HbFrameDrawer::frameType() const
+    {
+    SMC_MOCK_METHOD0( FrameType )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbFrameDrawer::setFrameType
+// -----------------------------------------------------------------------------
+//
+void HbFrameDrawer::setFrameType( 
+        HbFrameDrawer::FrameType type )
+    {
+    SMC_MOCK_METHOD1( void, FrameType, type )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbFrameDrawer::borderWidths
+// -----------------------------------------------------------------------------
+//
+void HbFrameDrawer::borderWidths( 
+        qreal & left,
+        qreal & top,
+        qreal & right,
+        qreal & bottom ) const
+    {
+    SMC_MOCK_METHOD4( void, qreal &, left, 
+        qreal &, top, 
+        qreal &, right, 
+        qreal &, bottom )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbFrameDrawer::setBorderWidths
+// -----------------------------------------------------------------------------
+//
+void HbFrameDrawer::setBorderWidths( 
+        const qreal left,
+        const qreal top,
+        const qreal right,
+        const qreal bottom )
+    {
+    SMC_MOCK_METHOD4( void, const qreal, left, 
+        const qreal, top, 
+        const qreal, right, 
+        const qreal, bottom )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbFrameDrawer::setBorderWidths
+// -----------------------------------------------------------------------------
+//
+void HbFrameDrawer::setBorderWidths( 
+        const qreal horizontal,
+        const qreal vertical )
+    {
+    SMC_MOCK_METHOD2( void, const qreal, horizontal, 
+        const qreal, vertical )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbFrameDrawer::setBorderWidth
+// -----------------------------------------------------------------------------
+//
+void HbFrameDrawer::setBorderWidth( 
+        const qreal width )
+    {
+    SMC_MOCK_METHOD1( void, const qreal, width )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbFrameDrawer::fillWholeRect
+// -----------------------------------------------------------------------------
+//
+bool HbFrameDrawer::fillWholeRect(  ) const
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbFrameDrawer::setFillWholeRect
+// -----------------------------------------------------------------------------
+//
+void HbFrameDrawer::setFillWholeRect( 
+        bool fill )
+    {
+    SMC_MOCK_METHOD1( void, bool, fill )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbFrameDrawer::mirroringMode
+// -----------------------------------------------------------------------------
+//
+HbIcon::MirroringMode HbFrameDrawer::mirroringMode(  ) const
+    {
+    SMC_MOCK_METHOD0( HbIcon::MirroringMode )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbFrameDrawer::setMirroringMode
+// -----------------------------------------------------------------------------
+//
+void HbFrameDrawer::setMirroringMode( 
+        HbIcon::MirroringMode mode )
+    {
+    SMC_MOCK_METHOD1( void, HbIcon::MirroringMode, mode )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbFrameDrawer::fileNameSuffixList
+// -----------------------------------------------------------------------------
+//
+QStringList HbFrameDrawer::fileNameSuffixList(  ) const
+    {
+    SMC_MOCK_METHOD0( QStringList )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbFrameDrawer::setFileNameSuffixList
+// -----------------------------------------------------------------------------
+//
+void HbFrameDrawer::setFileNameSuffixList( 
+        const QStringList & list )
+    {
+    SMC_MOCK_METHOD1( void, const QStringList &, list )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbFrameDrawer::setMask
+// -----------------------------------------------------------------------------
+//
+void HbFrameDrawer::setMask( 
+        const QPixmap & mask )
+    {
+    SMC_MOCK_METHOD1( void, const QPixmap &, mask )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbFrameDrawer::setMask
+// -----------------------------------------------------------------------------
+//
+void HbFrameDrawer::setMask( 
+        const QBitmap & mask )
+    {
+    SMC_MOCK_METHOD1( void, const QBitmap &, mask )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbFrameDrawer::mask
+// -----------------------------------------------------------------------------
+//
+QPixmap HbFrameDrawer::mask(  ) const
+    {
+    SMC_MOCK_METHOD0( QPixmap )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbFrameDrawer::maskBitmap
+// -----------------------------------------------------------------------------
+//
+QBitmap HbFrameDrawer::maskBitmap(  ) const
+    {
+    SMC_MOCK_METHOD0( QBitmap )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbFrameDrawer::frameSize
+// -----------------------------------------------------------------------------
+//
+QSize HbFrameDrawer::frameSize(  ) const
+    {
+    SMC_MOCK_METHOD0( QSize )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbFrameDrawer::themeChanged
+// -----------------------------------------------------------------------------
+//
+void HbFrameDrawer::themeChanged(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbFrameDrawer::setLayoutDirection
+// -----------------------------------------------------------------------------
+//
+void HbFrameDrawer::setLayoutDirection( 
+        Qt::LayoutDirection direction )
+    {
+    SMC_MOCK_METHOD1( void, Qt::LayoutDirection, direction )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbFrameDrawer::setGraphicsItem
+// -----------------------------------------------------------------------------
+//
+void HbFrameDrawer::setGraphicsItem( 
+        QGraphicsItem * item )
+    {
+    SMC_MOCK_METHOD1( void, QGraphicsItem *, item )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbFrameDrawer::paint
+// -----------------------------------------------------------------------------
+//
+void HbFrameDrawer::paint( 
+        QPainter * painter,
+        const QRectF & rect ) const
+    {
+    SMC_MOCK_METHOD2( void, QPainter *, painter, 
+        const QRectF &, rect )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbFrameDrawer::rect
+// -----------------------------------------------------------------------------
+//
+QRectF HbFrameDrawer::rect(  ) const
+    {
+    SMC_MOCK_METHOD0( QRectF )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbFrameDrawer::setRect
+// -----------------------------------------------------------------------------
+//
+void HbFrameDrawer::setRect( 
+        const QRectF & rect )
+    {
+    SMC_MOCK_METHOD1( void, const QRectF &, rect )
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/tsrc/mocks/mock_hbframeitem.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,127 @@
+/* 
+* 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 <QDebug>
+#include <QWidget>
+#include <QStyleOptionGraphicsItem>
+#include <QPainter>
+#include <smcmockclassincludes.h>
+#include "hbframeitem.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// HbFrameItem::HbFrameItem
+// -----------------------------------------------------------------------------
+//
+HbFrameItem::HbFrameItem( 
+        QGraphicsItem * parent )
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbFrameItem::HbFrameItem
+// -----------------------------------------------------------------------------
+//
+HbFrameItem::HbFrameItem( 
+        HbFrameDrawer * drawer,
+        QGraphicsItem * parent )
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbFrameItem::HbFrameItem
+// -----------------------------------------------------------------------------
+//
+HbFrameItem::HbFrameItem( 
+        const QString & frameGraphicsName,
+        HbFrameDrawer::FrameType frameGraphicsType,
+        QGraphicsItem * parent )
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbFrameItem::~HbFrameItem
+// -----------------------------------------------------------------------------
+//
+HbFrameItem::~HbFrameItem(  )
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbFrameItem::frameDrawer
+// -----------------------------------------------------------------------------
+//
+HbFrameDrawer & HbFrameItem::frameDrawer(  ) const
+    {
+    SMC_MOCK_METHOD0( HbFrameDrawer & )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbFrameItem::setFrameDrawer
+// -----------------------------------------------------------------------------
+//
+void HbFrameItem::setFrameDrawer( 
+        HbFrameDrawer * drawer )
+    {
+    SMC_MOCK_METHOD1( void, HbFrameDrawer *, drawer )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbFrameItem::paint
+// -----------------------------------------------------------------------------
+//
+void HbFrameItem::paint( 
+        QPainter * painter,
+        const QStyleOptionGraphicsItem * option,
+        QWidget * widget )
+    {
+    SMC_MOCK_METHOD3( void, QPainter *, painter, 
+        const QStyleOptionGraphicsItem *, option, 
+        QWidget *, widget )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbFrameItem::changeEvent
+// -----------------------------------------------------------------------------
+//
+void HbFrameItem::changeEvent( 
+        QEvent * event )
+    {
+    SMC_MOCK_METHOD1( void, QEvent *, event )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbFrameItem::sizeHint
+// -----------------------------------------------------------------------------
+//
+QSizeF HbFrameItem::sizeHint( 
+        Qt::SizeHint which,
+        const QSizeF & constraint ) const
+    {
+    SMC_MOCK_METHOD2( QSizeF, Qt::SizeHint, which, 
+        const QSizeF &, constraint )
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/tsrc/mocks/mock_hblabel.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,326 @@
+/* 
+* 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 <QDebug>
+#include <smcmockclassincludes.h>
+#include <hblabel.h>
+
+
+
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// HbLabel::Q_PROPERTY
+// -----------------------------------------------------------------------------
+//
+//void HbLabel::Q_PROPERTY( 
+//        QString plainText READ plainText WRITE setPlainText ) Q_PROPERTY ( QString html READ html WRITE setHtml ) Q_PROPERTY ( Qt::Alignment alignment READ alignment WRITE setAlignment ) Q_PROPERTY ( Qt::TextElideMode elideMode READ elideMode WRITE setElideMode ) Q_PROPERTY ( Hb::TextWrapping textWrapping READ textWrapping WRITE setTextWrapping ) Q_PROPERTY ( QColor textColor READ textColor WRITE setTextColor ) Q_PROPERTY ( HbIcon icon READ icon WRITE setIcon ) Q_PROPERTY ( Qt::AspectRatioMode aspectRatioMode READ aspectRatioMode WRITE setAspectRatioMode ):HbLabel ( QGraphicsItem * parent )
+//    {
+//    SMC_MOCK_METHOD1( void, QString plainText READ plainText WRITE setPlainText ) Q_PROPERTY ( QString html READ html WRITE setHtml ) Q_PROPERTY ( Qt::Alignment alignment READ alignment WRITE setAlignment ) Q_PROPERTY ( Qt::TextElideMode elideMode READ elideMode WRITE setElideMode ) Q_PROPERTY ( Hb::TextWrapping textWrapping READ textWrapping WRITE setTextWrapping ) Q_PROPERTY ( QColor textColor READ textColor WRITE setTextColor ) Q_PROPERTY ( HbIcon icon READ icon WRITE setIcon ) Q_PROPERTY ( Qt::AspectRatioMode aspectRatioMode READ aspectRatioMode WRITE setAspectRatioMode ):HbLabel ( QGraphicsItem *, parent )
+//    }
+
+
+// -----------------------------------------------------------------------------
+// HbLabel::HbLabel
+// -----------------------------------------------------------------------------
+//
+HbLabel::HbLabel( 
+        const QString & displayText,
+        QGraphicsItem * parent )
+    {
+    }
+
+// -----------------------------------------------------------------------------
+// HbLabel::HbLabel
+// -----------------------------------------------------------------------------
+//
+HbLabel::HbLabel(QGraphicsItem *parent)
+    {
+    }
+
+// -----------------------------------------------------------------------------
+// HbLabel::~HbLabel
+// -----------------------------------------------------------------------------
+//
+HbLabel::~HbLabel(  )
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLabel::plainText
+// -----------------------------------------------------------------------------
+//
+QString HbLabel::plainText(  ) const
+    {
+    SMC_MOCK_METHOD0( QString )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLabel::html
+// -----------------------------------------------------------------------------
+//
+QString HbLabel::html(  ) const
+    {
+    SMC_MOCK_METHOD0( QString )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLabel::setElideMode
+// -----------------------------------------------------------------------------
+//
+void HbLabel::setElideMode( 
+        Qt::TextElideMode elideMode )
+    {
+    SMC_MOCK_METHOD1( void, Qt::TextElideMode, elideMode )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLabel::elideMode
+// -----------------------------------------------------------------------------
+//
+Qt::TextElideMode HbLabel::elideMode(  ) const
+    {
+    SMC_MOCK_METHOD0( Qt::TextElideMode )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLabel::setTextWrapping
+// -----------------------------------------------------------------------------
+//
+void HbLabel::setTextWrapping( 
+        Hb::TextWrapping mode )
+    {
+    SMC_MOCK_METHOD1( void, Hb::TextWrapping, mode )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLabel::textWrapping
+// -----------------------------------------------------------------------------
+//
+Hb::TextWrapping HbLabel::textWrapping(  ) const
+    {
+    SMC_MOCK_METHOD0( Hb::TextWrapping )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLabel::setIcon
+// -----------------------------------------------------------------------------
+//
+void HbLabel::setIcon( 
+        const HbIcon & icon )
+    {
+    SMC_MOCK_METHOD1( void, const HbIcon &, icon )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLabel::icon
+// -----------------------------------------------------------------------------
+//
+HbIcon HbLabel::icon(  ) const
+    {
+    SMC_MOCK_METHOD0( HbIcon )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLabel::setAspectRatioMode
+// -----------------------------------------------------------------------------
+//
+void HbLabel::setAspectRatioMode( 
+        Qt::AspectRatioMode mode )
+    {
+    SMC_MOCK_METHOD1( void, Qt::AspectRatioMode, mode )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLabel::aspectRatioMode
+// -----------------------------------------------------------------------------
+//
+Qt::AspectRatioMode HbLabel::aspectRatioMode(  ) const
+    {
+    SMC_MOCK_METHOD0( Qt::AspectRatioMode )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLabel::setAlignment
+// -----------------------------------------------------------------------------
+//
+void HbLabel::setAlignment( 
+        Qt::Alignment alignment )
+    {
+    //SMC_MOCK_METHOD1( void, Qt::Alignment, alignment )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLabel::alignment
+// -----------------------------------------------------------------------------
+//
+Qt::Alignment HbLabel::alignment(  ) const
+    {
+    //SMC_MOCK_METHOD0( Qt::Alignment )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLabel::setTextColor
+// -----------------------------------------------------------------------------
+//
+void HbLabel::setTextColor( 
+        const QColor & textColor )
+    {
+    SMC_MOCK_METHOD1( void, const QColor &, textColor )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLabel::textColor
+// -----------------------------------------------------------------------------
+//
+QColor HbLabel::textColor(  ) const
+    {
+    SMC_MOCK_METHOD0( QColor )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLabel::isEmpty
+// -----------------------------------------------------------------------------
+//
+bool HbLabel::isEmpty(  ) const
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLabel::primitive
+// -----------------------------------------------------------------------------
+//
+QGraphicsItem * HbLabel::primitive( 
+        HbStyle::Primitive primitive ) const
+    {
+    SMC_MOCK_METHOD1( QGraphicsItem *, HbStyle::Primitive, primitive )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLabel::type
+// -----------------------------------------------------------------------------
+//
+int HbLabel::type(  ) const
+    {
+    SMC_MOCK_METHOD0( int )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLabel::setPlainText
+// -----------------------------------------------------------------------------
+//
+void HbLabel::setPlainText( 
+        const QString & text )
+    {
+    SMC_MOCK_METHOD1( void, const QString &, text )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLabel::setHtml
+// -----------------------------------------------------------------------------
+//
+void HbLabel::setHtml( 
+        const QString & text )
+    {
+    SMC_MOCK_METHOD1( void, const QString &, text )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLabel::setNumber
+// -----------------------------------------------------------------------------
+//
+void HbLabel::setNumber( 
+        int number )
+    {
+    SMC_MOCK_METHOD1( void, int, number )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLabel::setNumber
+// -----------------------------------------------------------------------------
+//
+void HbLabel::setNumber( 
+        qreal number )
+    {
+    SMC_MOCK_METHOD1( void, qreal, number )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLabel::updatePrimitives
+// -----------------------------------------------------------------------------
+//
+void HbLabel::updatePrimitives(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLabel::clear
+// -----------------------------------------------------------------------------
+//
+void HbLabel::clear(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLabel::HbLabel
+// -----------------------------------------------------------------------------
+//
+HbLabel::HbLabel( 
+        HbLabelPrivate & dd,
+        QGraphicsItem * parent )
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLabel::initStyleOption
+// -----------------------------------------------------------------------------
+//
+void HbLabel::initStyleOption( 
+        HbStyleOptionLabel * option ) const
+    {
+    SMC_MOCK_METHOD1( void, HbStyleOptionLabel *, option )
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/tsrc/mocks/mock_hbmarqueeitem.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,237 @@
+/* 
+* 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 <QDebug>
+#include <smcmockclassincludes.h>
+#include <hbmarqueeitem.h>
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// QGraphicsWidget::adjustSize
+// -----------------------------------------------------------------------------
+//
+void QGraphicsWidget::adjustSize() 
+{
+    SMC_MOCK_METHOD0( void )
+}
+
+// -----------------------------------------------------------------------------
+// HbMarqueeItem::HbMarqueeItem
+// -----------------------------------------------------------------------------
+//
+HbMarqueeItem::HbMarqueeItem( 
+        QGraphicsItem * parent )
+    {
+    Q_UNUSED(parent)
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbMarqueeItem::HbMarqueeItem
+// -----------------------------------------------------------------------------
+//
+HbMarqueeItem::HbMarqueeItem( 
+        const QString & text,
+        QGraphicsItem * parent )
+    {
+    Q_UNUSED(text)
+    Q_UNUSED(parent)
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbMarqueeItem::~HbMarqueeItem
+// -----------------------------------------------------------------------------
+//
+HbMarqueeItem::~HbMarqueeItem(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbMarqueeItem::text
+// -----------------------------------------------------------------------------
+//
+QString HbMarqueeItem::text(  ) const
+    {
+    SMC_MOCK_METHOD0( QString )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbMarqueeItem::setTextColor
+// -----------------------------------------------------------------------------
+//
+void HbMarqueeItem::setTextColor( 
+        const QColor & color )
+    {
+    SMC_MOCK_METHOD1( void, const QColor &, color )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbMarqueeItem::textColor
+// -----------------------------------------------------------------------------
+//
+QColor HbMarqueeItem::textColor(  ) const
+    {
+    SMC_MOCK_METHOD0( QColor )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbMarqueeItem::isAnimating
+// -----------------------------------------------------------------------------
+//
+bool HbMarqueeItem::isAnimating(  ) const
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbMarqueeItem::loopCount
+// -----------------------------------------------------------------------------
+//
+int HbMarqueeItem::loopCount(  ) const
+    {
+    SMC_MOCK_METHOD0( int )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbMarqueeItem::setLoopCount
+// -----------------------------------------------------------------------------
+//
+void HbMarqueeItem::setLoopCount( 
+        int count )
+    {
+    SMC_MOCK_METHOD1( void, int, count )
+    }
+
+// -----------------------------------------------------------------------------
+// HbMarqueeItem::setText
+// -----------------------------------------------------------------------------
+//
+void HbMarqueeItem::setText( 
+        const QString & text )
+    {
+    SMC_MOCK_METHOD1( void, const QString &, text )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbMarqueeItem::startAnimation
+// -----------------------------------------------------------------------------
+//
+void HbMarqueeItem::startAnimation(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbMarqueeItem::stopAnimation
+// -----------------------------------------------------------------------------
+//
+void HbMarqueeItem::stopAnimation(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbMarqueeItem::animationStarted
+// -----------------------------------------------------------------------------
+//
+void HbMarqueeItem::animationStarted(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbMarqueeItem::animationStopped
+// -----------------------------------------------------------------------------
+//
+void HbMarqueeItem::animationStopped(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbMarqueeItem::sizeHint
+// -----------------------------------------------------------------------------
+//
+QSizeF HbMarqueeItem::sizeHint( 
+        Qt::SizeHint which,
+        const QSizeF & constraint ) const
+    {
+    SMC_MOCK_METHOD2( QSizeF, Qt::SizeHint, which, 
+        const QSizeF &, constraint )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbMarqueeItem::changeEvent
+// -----------------------------------------------------------------------------
+//
+void HbMarqueeItem::changeEvent( 
+        QEvent * event )
+    {
+    SMC_MOCK_METHOD1( void, QEvent *, event )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbMarqueeItem::resizeEvent
+// -----------------------------------------------------------------------------
+//
+void HbMarqueeItem::resizeEvent( 
+        QGraphicsSceneResizeEvent *  )
+    {
+    //SMC_MOCK_METHOD1( void, QGraphicsSceneResizeEvent *, event )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbMarqueeItem::itemChange
+// -----------------------------------------------------------------------------
+//
+QVariant HbMarqueeItem::itemChange( 
+        GraphicsItemChange change,
+        const QVariant & value )
+    {
+    SMC_MOCK_METHOD2( QVariant, GraphicsItemChange, change, 
+        const QVariant &, value )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbMarqueeItem::HbMarqueeItem
+// -----------------------------------------------------------------------------
+//
+HbMarqueeItem::HbMarqueeItem( 
+        HbMarqueeItemPrivate & dd,
+        QGraphicsItem * parent )
+    {
+    Q_UNUSED(dd)
+    Q_UNUSED(parent)
+    }
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/tsrc/mocks/mock_hbstyle.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,200 @@
+/* 
+* 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 <QDebug>
+#include <smcmockclassincludes.h>
+#include "hbstyle.h"
+
+//needed for TSmcValue<HbStyleParameters &,100>Size()const
+class HbStyleParameters {};
+//needed for TSmcValue<HbWidget *,100>Size()const
+class HbWidget {};
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// HbStyle::HbStyle
+// -----------------------------------------------------------------------------
+//
+HbStyle::HbStyle( ):d_ptr(NULL)
+       // QObject * parent )
+    {
+   // Q_UNUSED(parent);
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbStyle::~HbStyle
+// -----------------------------------------------------------------------------
+//
+HbStyle::~HbStyle(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbStyle::createPrimitive
+// -----------------------------------------------------------------------------
+//
+QGraphicsItem * HbStyle::createPrimitive( 
+        HbStyle::Primitive primitive,
+        QGraphicsItem * parent ) const
+    {
+    SMC_MOCK_METHOD2( QGraphicsItem *, HbStyle::Primitive, primitive, 
+        QGraphicsItem *, parent )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbStyle::updatePrimitive
+// -----------------------------------------------------------------------------
+//
+void HbStyle::updatePrimitive( 
+        QGraphicsItem * item,
+        HbStyle::Primitive primitive,
+        const QStyleOption * option ) const
+    {
+    SMC_MOCK_METHOD3( void, QGraphicsItem *, item, 
+        HbStyle::Primitive, primitive, 
+        const QStyleOption *, option )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbStyle::registerPlugin
+// -----------------------------------------------------------------------------
+//
+int HbStyle::registerPlugin( 
+        const QString & pluginName )
+    {
+    SMC_MOCK_METHOD1( int, const QString &, pluginName )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbStyle::unregisterPlugin
+// -----------------------------------------------------------------------------
+//
+void HbStyle::unregisterPlugin( 
+        const QString & pluginName )
+    {
+    SMC_MOCK_METHOD1( void, const QString &, pluginName )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbStyle::setItemName
+// -----------------------------------------------------------------------------
+//
+void HbStyle::setItemName( 
+        QGraphicsItem * item,
+        const QString & name )
+    {
+    SMC_MOCK_METHOD2( void, QGraphicsItem *, item, 
+        const QString &, name )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbStyle::itemName
+// -----------------------------------------------------------------------------
+//
+QString HbStyle::itemName( 
+        const QGraphicsItem * item )
+    {
+    SMC_MOCK_METHOD1( QString, const QGraphicsItem *, item )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbStyle::parameter
+// -----------------------------------------------------------------------------
+//
+bool HbStyle::parameter( 
+        const QString & parameter,
+        qreal & value,
+        const HbDeviceProfile & profile ) const
+    {
+    SMC_MOCK_METHOD3( bool, const QString &, parameter, 
+        qreal &, value, 
+        const HbDeviceProfile &, profile )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbStyle::parameters
+// -----------------------------------------------------------------------------
+//
+void HbStyle::parameters( 
+        HbStyleParameters & parameters,
+        const HbDeviceProfile & profile ) const
+    {
+    SMC_MOCK_METHOD2( void, HbStyleParameters &, parameters, 
+        const HbDeviceProfile &, profile )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbStyle::polish
+// -----------------------------------------------------------------------------
+//
+void HbStyle::polish( 
+        HbWidget * widget,
+        HbStyleParameters & params )
+    {
+    SMC_MOCK_METHOD2( void, HbWidget *, widget, 
+        HbStyleParameters &, params )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbStyle::updateThemedParams
+// -----------------------------------------------------------------------------
+//
+void HbStyle::updateThemedParams( 
+        HbWidget * widget )
+    {
+    SMC_MOCK_METHOD1( void, HbWidget *, widget )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbStyle::hasOrientationSpecificStyleRules
+// -----------------------------------------------------------------------------
+//
+bool HbStyle::hasOrientationSpecificStyleRules( 
+        HbWidget * widget )
+    {
+    SMC_MOCK_METHOD1( bool, HbWidget *, widget )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbStyle::HbStyle
+// -----------------------------------------------------------------------------
+//
+HbStyle::HbStyle( 
+        HbStylePrivate & dd,
+        QStyle * parent ):d_ptr(NULL)
+    //:
+    //QObject( /*dd, parent*/ )
+    {
+    Q_UNUSED(dd);
+    Q_UNUSED(parent);
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/tsrc/mocks/mock_hbstyleoptionlabel.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -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:
+*
+*/
+#include <QDebug>
+#include <smcmockclassincludes.h>
+#include "hbstyleoptionlabel.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// HbStyleOptionLabel::HbStyleOptionLabel
+// -----------------------------------------------------------------------------
+//
+HbStyleOptionLabel::HbStyleOptionLabel(  )
+    //:
+    //HbStyleOption( /**/ )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbStyleOptionLabel::HbStyleOptionLabel
+// -----------------------------------------------------------------------------
+//
+HbStyleOptionLabel::HbStyleOptionLabel( 
+        const HbStyleOptionLabel & other )
+    //:
+    //HbStyleOption( /*other*/ )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbStyleOptionLabel::~HbStyleOptionLabel
+// -----------------------------------------------------------------------------
+//
+HbStyleOptionLabel::~HbStyleOptionLabel(  )
+    {
+    
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/tsrc/mocks/mock_hbwidget.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,452 @@
+/* 
+* 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 <QDebug>
+#include <smcmockclassincludes.h>
+#include <hbwidget.h>
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// HbWidget::HbWidget
+// -----------------------------------------------------------------------------
+//
+HbWidget::HbWidget( 
+        QGraphicsItem * ,
+        Qt::WindowFlags  )
+    //:
+    //HbWidgetBase( /*parent, wFlags*/ )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbWidget::~HbWidget
+// -----------------------------------------------------------------------------
+//
+HbWidget::~HbWidget(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbWidget::event
+// -----------------------------------------------------------------------------
+//
+bool HbWidget::event( 
+        QEvent *  )
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbWidget::setStyle
+// -----------------------------------------------------------------------------
+//
+void HbWidget::setStyle( 
+        HbStyle *  )
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbWidget::style
+// -----------------------------------------------------------------------------
+//
+HbStyle * HbWidget::style(  ) const
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbWidget::clearActions
+// -----------------------------------------------------------------------------
+//
+void HbWidget::clearActions(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+
+// -----------------------------------------------------------------------------
+// HbWidget::pluginBaseId
+// -----------------------------------------------------------------------------
+//
+int HbWidget::pluginBaseId(  ) const
+    {
+    SMC_MOCK_METHOD0( int )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbWidget::mainWindow
+// -----------------------------------------------------------------------------
+//
+HbMainWindow * HbWidget::mainWindow(  ) const
+    {
+   // SMC_MOCK_METHOD0( HbMainWindow * )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbWidget::primitive
+// -----------------------------------------------------------------------------
+//
+QGraphicsItem * HbWidget::primitive( 
+        HbStyle::Primitive  ) const
+    {
+  //  SMC_MOCK_METHOD1( QGraphicsItem *, HbStyle::Primitive, primitive )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbWidget::setFocusOrientation
+// -----------------------------------------------------------------------------
+//
+void HbWidget::setFocusOrientation( 
+        Qt::Orientations ,
+        Qt::Orientations  )
+    {
+   // SMC_MOCK_METHOD2( void, Qt::Orientations, previous, 
+     //   Qt::Orientations, next )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbWidget::keyForFocusNextChild
+// -----------------------------------------------------------------------------
+//
+QKeySequence HbWidget::keyForFocusNextChild(  ) const
+    {
+   // SMC_MOCK_METHOD0( QKeySequence )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbWidget::keyForFocusPreviousChild
+// -----------------------------------------------------------------------------
+//
+QKeySequence HbWidget::keyForFocusPreviousChild(  ) const
+    {
+  //  SMC_MOCK_METHOD0( QKeySequence )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbWidget::setKeyFocusMode
+// -----------------------------------------------------------------------------
+//
+void HbWidget::setKeyFocusMode( 
+        const QKeySequence &key )
+    {
+//    SMC_MOCK_METHOD1( void, const QKeySequence &, key )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbWidget::keyFocusMode
+// -----------------------------------------------------------------------------
+//
+QKeySequence HbWidget::keyFocusMode(  ) const
+    {
+//    SMC_MOCK_METHOD0( QKeySequence )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbWidget::lastFocusedChild
+// -----------------------------------------------------------------------------
+//
+QGraphicsItem * HbWidget::lastFocusedChild(  ) const
+    {
+ //   SMC_MOCK_METHOD0( QGraphicsItem * )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbWidget::setFocusOrder
+// -----------------------------------------------------------------------------
+//
+void HbWidget::setFocusOrder( 
+        QGraphicsItem * ,
+        QGraphicsItem *  )
+    {
+   // SMC_MOCK_METHOD2( void, QGraphicsItem *, first, 
+     //   QGraphicsItem *, second )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbWidget::setFocusDelegation
+// -----------------------------------------------------------------------------
+//
+void HbWidget::setFocusDelegation( 
+        HbWidget::FocusDelegation  )
+    {
+ //   SMC_MOCK_METHOD1( void, HbWidget::FocusDelegation, focusDelegation )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbWidget::focusDelegation
+// -----------------------------------------------------------------------------
+//
+HbWidget::FocusDelegation HbWidget::focusDelegation(  ) const
+    {
+  //  SMC_MOCK_METHOD0( HbWidget::FocusDelegation )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbWidget::setFocusLooping
+// -----------------------------------------------------------------------------
+//
+void HbWidget::setFocusLooping( 
+        bool enable )
+    {
+    SMC_MOCK_METHOD1( void, bool, enable )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbWidget::hasFocusLooping
+// -----------------------------------------------------------------------------
+//
+bool HbWidget::hasFocusLooping(  ) const
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbWidget::setFocusMode
+// -----------------------------------------------------------------------------
+//
+void HbWidget::setFocusMode( 
+        HbWidget::FocusMode )
+    {
+   // SMC_MOCK_METHOD1( void, HbWidget::, FocusMode )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbWidget::focusMode
+// -----------------------------------------------------------------------------
+//
+HbWidget::FocusMode HbWidget::focusMode(  ) const
+    {
+  //  SMC_MOCK_METHOD0( HbWidget::FocusMode )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbWidget::setFocusHighlight
+// -----------------------------------------------------------------------------
+//
+void HbWidget::setFocusHighlight( 
+        HbStyle::Primitive ,
+        HbWidget::FocusHighlight  )
+    {
+  //  SMC_MOCK_METHOD2( void, HbStyle::Primitive, type, 
+    //    HbWidget::FocusHighlight, focusHighlight )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbWidget::focusHighlight
+// -----------------------------------------------------------------------------
+//
+HbStyle::Primitive HbWidget::focusHighlight( 
+        HbWidget::FocusHighlight  )
+    {
+ //   SMC_MOCK_METHOD1( HbStyle::Primitive, HbWidget::FocusHighlight, focusHighlight )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbWidget::setBackgroundItem
+// -----------------------------------------------------------------------------
+//
+void HbWidget::setBackgroundItem( 
+        HbStyle::Primitive ,
+        int  )
+    {
+  //  SMC_MOCK_METHOD2( void, HbStyle::Primitive, type, 
+    //    int, zValue )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbWidget::setBackgroundItem
+// -----------------------------------------------------------------------------
+//
+void HbWidget::setBackgroundItem( 
+        QGraphicsItem * ,
+        int  )
+    {
+   // SMC_MOCK_METHOD2( void, QGraphicsItem *, item, 
+     //   int, zValue )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbWidget::backgroundItem
+// -----------------------------------------------------------------------------
+//
+QGraphicsItem * HbWidget::backgroundItem(  ) const
+    {
+   // SMC_MOCK_METHOD0( QGraphicsItem * )
+    }
+
+
+
+// -----------------------------------------------------------------------------
+// HbWidget::recreatePrimitives
+// -----------------------------------------------------------------------------
+//
+void HbWidget::recreatePrimitives(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbWidget::updatePrimitives
+// -----------------------------------------------------------------------------
+//
+void HbWidget::updatePrimitives(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbWidget::focusInEvent
+// -----------------------------------------------------------------------------
+//
+void HbWidget::focusInEvent( 
+        QFocusEvent *  )
+    {
+ //   SMC_MOCK_METHOD1( void, QFocusEvent *, event )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbWidget::focusOutEvent
+// -----------------------------------------------------------------------------
+//
+void HbWidget::focusOutEvent( 
+        QFocusEvent *  )
+    {
+  //  SMC_MOCK_METHOD1( void, QFocusEvent *, event )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbWidget::resizeEvent
+// -----------------------------------------------------------------------------
+//
+void HbWidget::resizeEvent( 
+        QGraphicsSceneResizeEvent *  )
+    {
+  //  SMC_MOCK_METHOD1( void, QGraphicsSceneResizeEvent *, event )
+    }
+
+// -----------------------------------------------------------------------------
+// HbWidget::changeEvent
+// -----------------------------------------------------------------------------
+//
+void HbWidget::changeEvent( 
+        QEvent * event )
+    {
+    SMC_MOCK_METHOD1( void, QEvent *, event )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbWidget::itemChange
+// -----------------------------------------------------------------------------
+//
+QVariant HbWidget::itemChange( 
+        GraphicsItemChange ,
+        const QVariant &  )
+    {
+ //   SMC_MOCK_METHOD2( QVariant, GraphicsItemChange, change, 
+   //     const QVariant &, value )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbWidget::polishEvent
+// -----------------------------------------------------------------------------
+//
+void HbWidget::polishEvent(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbWidget::polish
+// -----------------------------------------------------------------------------
+//
+void HbWidget::polish( 
+        HbStyleParameters &  )
+    {
+ //   SMC_MOCK_METHOD1( void, HbStyleParameters &, params )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbWidget::repolish
+// -----------------------------------------------------------------------------
+//
+void HbWidget::repolish(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbWidget::setPluginBaseId
+// -----------------------------------------------------------------------------
+//
+void HbWidget::setPluginBaseId( 
+        int baseId )
+    {
+    SMC_MOCK_METHOD1( void, int, baseId )
+    }
+
+
+
+// -----------------------------------------------------------------------------
+// HbWidget::HbWidget
+// -----------------------------------------------------------------------------
+//
+HbWidget::HbWidget( 
+        HbWidgetPrivate & ,
+        QGraphicsItem * ,
+        Qt::WindowFlags  )
+    //:
+    //HbWidgetBase( /*dd, parent, wFlags*/ )
+    {
+    
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/tsrc/mocks/mock_infowidget.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,470 @@
+/* 
+* 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 <QDebug>
+#include <smcmockclassincludes.h>
+#include <hbanchorlayout.h>
+#include <hbwidget.h>
+#include <hbiconitem.h>
+#include <hbmarqueeitem.h>
+#include <hbfontspec.h>
+#include <hbdialog.h>
+#include <hblabel.h>
+#include <hbaction.h>
+#include <hbcheckbox.h>
+#include <hbpushbutton.h>
+#include <QPainter>
+#include <QPainterPath>
+#include <QBrush>
+#include <QGraphicsLinearLayout>
+#include <QGraphicsSceneMouseEvent>
+#include "infowidget.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// InfoWidget::InfoWidget
+// -----------------------------------------------------------------------------
+//
+InfoWidget::InfoWidget( 
+        QGraphicsItem * parent,
+        Qt::WindowFlags flags )
+    : HbWidget(parent, flags)
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidget::~InfoWidget
+// -----------------------------------------------------------------------------
+//
+InfoWidget::~InfoWidget(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidget::boundingRect
+// -----------------------------------------------------------------------------
+//
+QRectF InfoWidget::boundingRect(  ) const
+    {
+    SMC_MOCK_METHOD0( QRectF )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidget::sizeHint
+// -----------------------------------------------------------------------------
+//
+QSizeF InfoWidget::sizeHint( 
+        Qt::SizeHint which,
+        const QSizeF & constraint ) const
+    {
+    SMC_MOCK_METHOD2( QSizeF, Qt::SizeHint, which, 
+        const QSizeF &, constraint )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidget::sizePolicy
+// -----------------------------------------------------------------------------
+//
+QSizePolicy InfoWidget::sizePolicy(  ) const
+    {
+    SMC_MOCK_METHOD0( QSizePolicy )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidget::homeZoneDisplay
+// -----------------------------------------------------------------------------
+//
+QString InfoWidget::homeZoneDisplay()
+    {
+    SMC_MOCK_METHOD0( QString );
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidget::setHomeZoneDisplay
+// -----------------------------------------------------------------------------
+//
+void InfoWidget::setHomeZoneDisplay( 
+        QString value )
+    {
+    SMC_MOCK_METHOD1( void, QString, value )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidget::mcnDisplay
+// -----------------------------------------------------------------------------
+//
+QString InfoWidget::mcnDisplay(  )
+    {
+    SMC_MOCK_METHOD0( QString )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidget::setMcnDisplay
+// -----------------------------------------------------------------------------
+//
+void InfoWidget::setMcnDisplay( 
+        QString value )
+    {
+    SMC_MOCK_METHOD1( void, QString, value )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidget::activeLineDisplay
+// -----------------------------------------------------------------------------
+//
+QString InfoWidget::activeLineDisplay(  )
+    {
+    SMC_MOCK_METHOD0( QString )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidget::setActiveLineDisplay
+// -----------------------------------------------------------------------------
+//
+void InfoWidget::setActiveLineDisplay( 
+        QString value )
+    {
+    SMC_MOCK_METHOD1( void, QString, value )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidget::satDisplay
+// -----------------------------------------------------------------------------
+//
+QString InfoWidget::satDisplay(  )
+    {
+    SMC_MOCK_METHOD0( QString )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidget::setSatDisplay
+// -----------------------------------------------------------------------------
+//
+void InfoWidget::setSatDisplay( 
+        QString value )
+    {
+    SMC_MOCK_METHOD1( void, QString, value )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidget::spnDisplay
+// -----------------------------------------------------------------------------
+//
+QString InfoWidget::spnDisplay(  )
+    {
+    SMC_MOCK_METHOD0( QString )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidget::setSpnDisplay
+// -----------------------------------------------------------------------------
+//
+void InfoWidget::setSpnDisplay( 
+        QString value )
+    {
+    SMC_MOCK_METHOD1( void, QString, value )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidget::onInitialize
+// -----------------------------------------------------------------------------
+//
+void InfoWidget::onInitialize(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidget::onUninitialize
+// -----------------------------------------------------------------------------
+//
+void InfoWidget::onUninitialize(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidget::onShow
+// -----------------------------------------------------------------------------
+//
+void InfoWidget::onShow(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidget::onHide
+// -----------------------------------------------------------------------------
+//
+void InfoWidget::onHide(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidget::readModel
+// -----------------------------------------------------------------------------
+//
+void InfoWidget::readModel(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidget::handleModelError
+// -----------------------------------------------------------------------------
+//
+void InfoWidget::handleModelError( 
+        int operation,
+        int errorCode )
+    {
+    SMC_MOCK_METHOD2( void, int, operation, 
+        int, errorCode )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidget::spnDisplaySettingChanged
+// -----------------------------------------------------------------------------
+//
+void InfoWidget::spnDisplaySettingChanged( 
+        int state )
+    {
+    SMC_MOCK_METHOD1( void, int, state )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidget::mcnDisplaySettingChanged
+// -----------------------------------------------------------------------------
+//
+void InfoWidget::mcnDisplaySettingChanged( 
+        int state )
+    {
+    SMC_MOCK_METHOD1( void, int, state )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidget::satDisplaySettingChanged
+// -----------------------------------------------------------------------------
+//
+void InfoWidget::satDisplaySettingChanged( 
+        int state )
+    {
+    SMC_MOCK_METHOD1( void, int, state )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidget::settingsEditingFinished
+// -----------------------------------------------------------------------------
+//
+void InfoWidget::settingsEditingFinished(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidget::settingsEditingCancelled
+// -----------------------------------------------------------------------------
+//
+void InfoWidget::settingsEditingCancelled(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidget::settingsValidationFailed
+// -----------------------------------------------------------------------------
+//
+void InfoWidget::settingsValidationFailed(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidget::settingsDialogClosed
+// -----------------------------------------------------------------------------
+//
+void InfoWidget::settingsDialogClosed( 
+        HbAction *sss )
+    {
+    SMC_MOCK_METHOD1( void, HbAction *, sss )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidget::startMarquees
+// -----------------------------------------------------------------------------
+//
+bool InfoWidget::startMarquees()
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidget::stopMarquees
+// -----------------------------------------------------------------------------
+//
+void InfoWidget::stopMarquees(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidget::marqueeNext
+// -----------------------------------------------------------------------------
+//
+void InfoWidget::marqueeNext(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+
+// -----------------------------------------------------------------------------
+// InfoWidget::mousePressEvent
+// -----------------------------------------------------------------------------
+//
+void InfoWidget::mousePressEvent( 
+        QGraphicsSceneMouseEvent * event )
+    {
+    SMC_MOCK_METHOD1( void, QGraphicsSceneMouseEvent *, event )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidget::mouseReleaseEvent
+// -----------------------------------------------------------------------------
+//
+void InfoWidget::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
+    {
+    SMC_MOCK_METHOD1( void, QGraphicsSceneMouseEvent *, event )    
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidget::mouseMoveEvent
+// -----------------------------------------------------------------------------
+//
+void InfoWidget::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
+    {
+    SMC_MOCK_METHOD1( void, QGraphicsSceneMouseEvent *, event )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidget::changeEvent
+// -----------------------------------------------------------------------------
+//
+void InfoWidget::changeEvent( 
+        QEvent * event )
+    {
+    SMC_MOCK_METHOD1( void, QEvent *, event )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidget::timerEvent
+// -----------------------------------------------------------------------------
+//
+void InfoWidget::timerEvent( 
+        QTimerEvent * event )
+    {
+    SMC_MOCK_METHOD1( void, QTimerEvent *, event )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidget::updateInfoDisplay
+// -----------------------------------------------------------------------------
+//
+void InfoWidget::updateInfoDisplay(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidget::readPersistentPreferences
+// -----------------------------------------------------------------------------
+//
+bool InfoWidget::readPersistentPreferences(  )
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidget::initializeCheckBoxStates
+// -----------------------------------------------------------------------------
+//
+void InfoWidget::initializeCheckBoxStates(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidget::installTranslator
+// -----------------------------------------------------------------------------
+//
+bool InfoWidget::installTranslator( 
+        QString translationFile )
+    {
+    SMC_MOCK_METHOD1( bool, QString, translationFile )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidget::removeTranslators
+// -----------------------------------------------------------------------------
+//
+void InfoWidget::removeTranslators(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/tsrc/mocks/mock_infowidgetengine.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -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 <QDebug>
+#include <smcmockclassincludes.h>
+#include "infowidgetnetworkhandler.h"
+#include "infowidgetsathandler.h"
+#include "infowidgetengine.h"
+#include "infowidgetpreferences.h"
+
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// InfoWidgetEngine::InfoWidgetEngine
+// -----------------------------------------------------------------------------
+//
+InfoWidgetEngine::InfoWidgetEngine( 
+        QObject * parent )
+    :QObject( parent )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidgetEngine::~InfoWidgetEngine
+// -----------------------------------------------------------------------------
+//
+InfoWidgetEngine::~InfoWidgetEngine(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidgetEngine::modelData
+// -----------------------------------------------------------------------------
+//
+const InfoWidgetEngine::ModelData & InfoWidgetEngine::modelData(  ) const
+    {
+    SMC_MOCK_METHOD0( const InfoWidgetEngine::ModelData & )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidgetEngine::updateNetworkDataToModel
+// -----------------------------------------------------------------------------
+//
+void InfoWidgetEngine::updateNetworkDataToModel(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidgetEngine::updateSatDataToModel
+// -----------------------------------------------------------------------------
+//
+void InfoWidgetEngine::updateSatDataToModel(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidgetEngine::updateLineDataToModel
+// -----------------------------------------------------------------------------
+//
+void InfoWidgetEngine::updateLineDataToModel(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidgetEngine::handleNetworkError
+// -----------------------------------------------------------------------------
+//
+void InfoWidgetEngine::handleNetworkError( 
+        int operation,
+        int errorCode )
+    {
+    SMC_MOCK_METHOD2( void, int, operation, 
+        int, errorCode )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidgetEngine::handleSatError
+// -----------------------------------------------------------------------------
+//
+void InfoWidgetEngine::handleSatError( 
+        int operation,
+        int errorCode )
+    {
+    SMC_MOCK_METHOD2( void, int, operation, 
+        int, errorCode )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidgetEngine::handleLineError
+// -----------------------------------------------------------------------------
+//
+void InfoWidgetEngine::handleLineError( 
+        int operation,
+        int errorCode )
+    {
+    SMC_MOCK_METHOD2( void, int, operation, 
+        int, errorCode )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidgetEngine::suspend
+// -----------------------------------------------------------------------------
+//
+void InfoWidgetEngine::suspend(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidgetEngine::resume
+// -----------------------------------------------------------------------------
+//
+void InfoWidgetEngine::resume(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidgetEngine::preferencesChanged
+// -----------------------------------------------------------------------------
+//
+void InfoWidgetEngine::handlePreferencesChanged( 
+        InfoWidgetPreferences::Options options)
+    { 
+    //SMC_MOCK_METHOD1( void, InfoWidgetPreferences::Options, options )
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/tsrc/mocks/mock_infowidgetlayoutmanager.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,279 @@
+/* 
+* 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 <QDebug>
+#include <QObject>
+#include <smcmockclassincludes.h>
+#include "infowidgetlayoutmanager.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// InfoWidgetLayoutManager::InfoWidgetLayoutManager
+// -----------------------------------------------------------------------------
+//
+InfoWidgetLayoutManager::InfoWidgetLayoutManager( 
+        QObject * parent )
+    :QObject( parent )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidgetLayoutManager::~InfoWidgetLayoutManager
+// -----------------------------------------------------------------------------
+//
+InfoWidgetLayoutManager::~InfoWidgetLayoutManager(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidgetLayoutManager::currentDisplayRole
+// -----------------------------------------------------------------------------
+//
+InfoWidgetLayoutManager::DisplayRole InfoWidgetLayoutManager::currentDisplayRole(  )
+    {
+    SMC_MOCK_METHOD0( DisplayRole )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidgetLayoutManager::currentWidgetRoles
+// -----------------------------------------------------------------------------
+//
+QList <InfoWidgetLayoutManager::LayoutItemRole > 
+        InfoWidgetLayoutManager::currentWidgetRoles(  )
+    {
+    SMC_MOCK_METHOD0( QList <LayoutItemRole > )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidgetLayoutManager::layoutInfoDisplay
+// -----------------------------------------------------------------------------
+//
+QGraphicsLayout * InfoWidgetLayoutManager::layoutInfoDisplay(  )
+    {
+    SMC_MOCK_METHOD0( QGraphicsLayout * )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidgetLayoutManager::layoutSettingsDialog
+// -----------------------------------------------------------------------------
+//
+QGraphicsLayout * InfoWidgetLayoutManager::layoutSettingsDialog(  )
+    {
+    SMC_MOCK_METHOD0( QGraphicsLayout * )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidgetLayoutManager::widgetRoles
+// -----------------------------------------------------------------------------
+//
+const QList <InfoWidgetLayoutManager::LayoutItemRole > 
+        InfoWidgetLayoutManager::widgetRoles(DisplayRole displayRole ) const
+    {
+    SMC_MOCK_METHOD1( 
+        const QList <InfoWidgetLayoutManager::LayoutItemRole >, 
+        DisplayRole, displayRole )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidgetLayoutManager::loadWidgets
+// -----------------------------------------------------------------------------
+//
+bool InfoWidgetLayoutManager::loadWidgets(
+        const DisplayRole displayRole, 
+        const QList<LayoutItemRole> &displayWidgets,
+        QMap<LayoutItemRole, QGraphicsWidget *> &widgetMap)
+    {
+    typedef QMap <LayoutItemRole, QGraphicsWidget *> & TYPE3;
+    SMC_MOCK_METHOD3( bool, const DisplayRole, displayRole, 
+        const QList<LayoutItemRole> &, displayWidgets, 
+        TYPE3, widgetMap )
+    }
+
+// -----------------------------------------------------------------------------
+// InfoWidgetLayoutManager::reloadWidgets
+// -----------------------------------------------------------------------------
+//
+bool InfoWidgetLayoutManager::reloadWidgets( 
+        const DisplayRole displayRole )
+    {
+    SMC_MOCK_METHOD1( bool, const DisplayRole, displayRole )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidgetLayoutManager::loadWidget
+// -----------------------------------------------------------------------------
+//
+QGraphicsWidget* InfoWidgetLayoutManager::loadWidget(
+        InfoWidgetDocumentLoader &loader, 
+        DisplayRole displayRole, 
+        LayoutItemRole widgetRole)
+    {
+    SMC_MOCK_METHOD3( QGraphicsWidget *, InfoWidgetDocumentLoader &, loader, 
+        DisplayRole, displayRole, 
+        LayoutItemRole, widgetRole )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidgetLayoutManager::getWidget
+// -----------------------------------------------------------------------------
+//
+QGraphicsWidget * InfoWidgetLayoutManager::getWidget( 
+        LayoutItemRole itemRole )
+    {
+    SMC_MOCK_METHOD1( QGraphicsWidget *, LayoutItemRole, itemRole )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidgetLayoutManager::loadObject
+// -----------------------------------------------------------------------------
+//
+QObject * InfoWidgetLayoutManager::loadObject( 
+        InfoWidgetDocumentLoader & loader,
+        DisplayRole displayRole,
+        LayoutItemRole objectRole )
+    {
+    SMC_MOCK_METHOD3( QObject *, InfoWidgetDocumentLoader &, loader, 
+        DisplayRole, displayRole, 
+        LayoutItemRole, objectRole )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidgetLayoutManager::getObject
+// -----------------------------------------------------------------------------
+//
+QObject * InfoWidgetLayoutManager::getObject( 
+        LayoutItemRole itemRole )
+    {
+    SMC_MOCK_METHOD1( QObject *, LayoutItemRole, itemRole )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidgetLayoutManager::contentWidget
+// -----------------------------------------------------------------------------
+//
+QGraphicsWidget * InfoWidgetLayoutManager::contentWidget(  )
+    {
+    SMC_MOCK_METHOD0( QGraphicsWidget * )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidgetLayoutManager::marqueeItems
+// -----------------------------------------------------------------------------
+//
+QList <HbMarqueeItem * > InfoWidgetLayoutManager::marqueeItems(  )
+    {
+    SMC_MOCK_METHOD0( QList <HbMarqueeItem * > )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidgetLayoutManager::removeWidget
+// -----------------------------------------------------------------------------
+//
+void InfoWidgetLayoutManager::removeWidget( 
+        LayoutItemRole itemRole,
+        bool deleteLater )
+    {
+    SMC_MOCK_METHOD2( void, LayoutItemRole, itemRole, 
+        bool, deleteLater )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidgetLayoutManager::destroyWidgets
+// -----------------------------------------------------------------------------
+//
+void InfoWidgetLayoutManager::destroyWidgets(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidgetLayoutManager::layoutRows
+// -----------------------------------------------------------------------------
+//
+int InfoWidgetLayoutManager::layoutRows(  ) const
+    {
+    SMC_MOCK_METHOD0( int )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidgetLayoutManager::setLayoutRows
+// -----------------------------------------------------------------------------
+//
+void InfoWidgetLayoutManager::setLayoutRows( 
+        int rows )
+    {
+    SMC_MOCK_METHOD1( void, int, rows )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidgetLayoutManager::layoutRowHeight
+// -----------------------------------------------------------------------------
+//
+qreal InfoWidgetLayoutManager::layoutRowHeight(  )
+    {
+    SMC_MOCK_METHOD0( qreal )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidgetLayoutManager::textFitsToRect
+// -----------------------------------------------------------------------------
+//
+bool InfoWidgetLayoutManager::textFitsToRect( 
+        QString text,
+        QFont font,
+        QRectF rect ) const
+    {
+    SMC_MOCK_METHOD3( bool, QString, text, 
+        QFont, font, 
+        QRectF, rect )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidgetDocumentLoader::createObject
+// -----------------------------------------------------------------------------
+//
+QObject * InfoWidgetDocumentLoader::createObject( 
+        const QString & type,
+        const QString & name )
+    {
+    SMC_MOCK_METHOD2( QObject *, const QString &, type, 
+        const QString &, name )
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/tsrc/mocks/mock_infowidgetnetworkhandler.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,225 @@
+/* 
+* 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 <QDebug>
+#include <smcmockclassincludes.h>
+#include <networkhandlingproxy.h>
+#include <cnwsession.h>
+#include "infowidgetnetworkhandler.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// InfoWidgetNetworkHandler::InfoWidgetNetworkHandler
+// -----------------------------------------------------------------------------
+//
+InfoWidgetNetworkHandler::InfoWidgetNetworkHandler( 
+        QObject * parent )
+    : 
+    QObject(parent), 
+    m_nwSession(0)
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidgetNetworkHandler::~InfoWidgetNetworkHandler
+// -----------------------------------------------------------------------------
+//
+InfoWidgetNetworkHandler::~InfoWidgetNetworkHandler(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidgetNetworkHandler::createSession
+// -----------------------------------------------------------------------------
+//
+bool InfoWidgetNetworkHandler::createSession(  )
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidgetNetworkHandler::serviceProviderName
+// -----------------------------------------------------------------------------
+//
+QString InfoWidgetNetworkHandler::serviceProviderName(  ) const
+    {
+    SMC_MOCK_METHOD0( QString )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidgetNetworkHandler::serviceProviderNameDisplayRequired
+// -----------------------------------------------------------------------------
+//
+bool InfoWidgetNetworkHandler::serviceProviderNameDisplayRequired(  ) const
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidgetNetworkHandler::homeZoneTextTag
+// -----------------------------------------------------------------------------
+//
+QString InfoWidgetNetworkHandler::homeZoneTextTag(  ) const
+    {
+    SMC_MOCK_METHOD0( QString )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidgetNetworkHandler::homeZoneIndicatorType
+// -----------------------------------------------------------------------------
+//
+int InfoWidgetNetworkHandler::homeZoneIndicatorType(  ) const
+    {
+    SMC_MOCK_METHOD0( int )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidgetNetworkHandler::mcnName
+// -----------------------------------------------------------------------------
+//
+QString InfoWidgetNetworkHandler::mcnName(  ) const
+    {
+    SMC_MOCK_METHOD0( QString )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidgetNetworkHandler::mcnIndicatorType
+// -----------------------------------------------------------------------------
+//
+int InfoWidgetNetworkHandler::mcnIndicatorType(  ) const
+    {
+    SMC_MOCK_METHOD0( int )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidgetNetworkHandler::networkRegistrationStatus
+// -----------------------------------------------------------------------------
+//
+int InfoWidgetNetworkHandler::networkRegistrationStatus(  ) const
+    {
+    SMC_MOCK_METHOD0( int )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidgetNetworkHandler::isOnline
+// -----------------------------------------------------------------------------
+//
+bool InfoWidgetNetworkHandler::isOnline(  ) const
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidgetNetworkHandler::HandleNetworkMessage
+// -----------------------------------------------------------------------------
+//
+void InfoWidgetNetworkHandler::HandleNetworkMessage( 
+        const TNWMessages aMessage )
+    {
+    SMC_MOCK_METHOD1( void, const TNWMessages, aMessage )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidgetNetworkHandler::HandleNetworkError
+// -----------------------------------------------------------------------------
+//
+void InfoWidgetNetworkHandler::HandleNetworkError( 
+        const TNWOperation aOperation,
+        TInt aErrorCode )
+    {
+    SMC_MOCK_METHOD2( void, const TNWOperation, aOperation, 
+        TInt, aErrorCode )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidgetNetworkHandler::suspend
+// -----------------------------------------------------------------------------
+//
+void InfoWidgetNetworkHandler::suspend(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidgetNetworkHandler::resume
+// -----------------------------------------------------------------------------
+//
+void InfoWidgetNetworkHandler::resume(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidgetNetworkHandler::enableMcn
+// -----------------------------------------------------------------------------
+//
+void InfoWidgetNetworkHandler::enableMcn(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidgetNetworkHandler::disableMcn
+// -----------------------------------------------------------------------------
+//
+void InfoWidgetNetworkHandler::disableMcn(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidgetNetworkHandler::writeMcnDisplayState
+// -----------------------------------------------------------------------------
+//
+void InfoWidgetNetworkHandler::writeMcnDisplayState( 
+        bool enabled )
+    {
+    SMC_MOCK_METHOD1( void, bool, enabled )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidgetNetworkHandler::readMcnDisplayState
+// -----------------------------------------------------------------------------
+//
+bool InfoWidgetNetworkHandler::readMcnDisplayState(  )
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/tsrc/mocks/mock_infowidgetpreferences.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,138 @@
+/* 
+* 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 <QDebug>
+#include <smcmockclassincludes.h>
+#include "infowidgetpreferences.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// InfoWidgetPreferences::InfoWidgetPreferences
+// -----------------------------------------------------------------------------
+//
+InfoWidgetPreferences::InfoWidgetPreferences( 
+        QObject * parent ):
+    QObject( parent )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidgetPreferences::~InfoWidgetPreferences
+// -----------------------------------------------------------------------------
+//
+InfoWidgetPreferences::~InfoWidgetPreferences(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidgetPreferences::loadPreferences
+// -----------------------------------------------------------------------------
+//
+void InfoWidgetPreferences::restorePreferences(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidgetPreferences::storePreferences
+// -----------------------------------------------------------------------------
+//
+bool InfoWidgetPreferences::storePreferences(  )
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidgetPreferences::preference
+// -----------------------------------------------------------------------------
+//
+QString InfoWidgetPreferences::preference( 
+        Option preferenceId ) const
+    {
+    SMC_MOCK_METHOD1( QString, Option, preferenceId )
+    }
+
+// -----------------------------------------------------------------------------
+// InfoWidgetPreferences::preferences
+// -----------------------------------------------------------------------------
+//
+InfoWidgetPreferences::Options InfoWidgetPreferences::preferences() const
+    {
+    SMC_MOCK_METHOD0( InfoWidgetPreferences::Options )
+    }
+
+// -----------------------------------------------------------------------------
+// InfoWidgetPreferences::setPreference
+// -----------------------------------------------------------------------------
+//
+void InfoWidgetPreferences::setPreference( 
+        Option preferenceId,
+        const QString & preferenceString )
+    {
+    SMC_MOCK_METHOD2( void, Option, preferenceId, 
+        const QString &, preferenceString )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidgetPreferences::isPreferenceSet
+// -----------------------------------------------------------------------------
+//
+bool InfoWidgetPreferences::isPreferenceSet( Option preferenceId ) const
+    {
+    SMC_MOCK_METHOD1( bool, Option, preferenceId)
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidgetPreferences::validate
+// -----------------------------------------------------------------------------
+//
+bool InfoWidgetPreferences::validate(  )
+    {
+    SMC_MOCK_METHOD0( bool)
+    }
+
+
+
+// -----------------------------------------------------------------------------
+// InfoWidgetPreferences::visibleItemCount
+// -----------------------------------------------------------------------------
+//
+int InfoWidgetPreferences::visibleItemCount(  )
+    {
+    SMC_MOCK_METHOD0( int )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidgetPreferences::preferenceNames
+// -----------------------------------------------------------------------------
+//
+QStringList InfoWidgetPreferences::preferenceNames() 
+    {
+    SMC_MOCK_METHOD0( QStringList )
+    }
+    
+    
+    
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/tsrc/mocks/mock_infowidgetsathandler.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,99 @@
+/*
+* 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 <QDebug>
+#include <smcmockclassincludes.h>
+#include "infowidgetsathandler.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// InfoWidgetSatHandler::InfoWidgetSatHandler
+// -----------------------------------------------------------------------------
+//
+InfoWidgetSatHandler::InfoWidgetSatHandler( 
+        QObject * parent )
+    {
+    Q_UNUSED(parent);
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidgetSatHandler::~InfoWidgetSatHandler
+// -----------------------------------------------------------------------------
+//
+InfoWidgetSatHandler::~InfoWidgetSatHandler(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidgetSatHandler::connect
+// -----------------------------------------------------------------------------
+//
+void InfoWidgetSatHandler::connect( 
+        bool connect )
+    {
+    SMC_MOCK_METHOD1( void, bool, connect )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidgetSatHandler::satDisplayText
+// -----------------------------------------------------------------------------
+//
+const QString & InfoWidgetSatHandler::satDisplayText(  ) const
+    {
+    SMC_MOCK_METHOD0( const QString & )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidgetSatHandler::setSatDisplayText
+// -----------------------------------------------------------------------------
+//
+void InfoWidgetSatHandler::setSatDisplayText( 
+        const QString & displayText )
+    {
+    SMC_MOCK_METHOD1( void, const QString &, displayText )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidgetSatHandler::handleIdleModeTxtMessage
+// -----------------------------------------------------------------------------
+//
+void InfoWidgetSatHandler::handleIdleModeTxtMessage( 
+        int idleResult )
+    {
+    SMC_MOCK_METHOD1( void, int, idleResult )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidgetSatHandler::handleSatError
+// -----------------------------------------------------------------------------
+//
+void InfoWidgetSatHandler::handleSatError( 
+        int operation,
+        int errorCode )
+    {
+    SMC_MOCK_METHOD2( void, int, operation, 
+        int, errorCode )
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/tsrc/mocks/mock_infowidgetsathandler_p.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -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 <QDebug>
+#include <smcmockclassincludes.h>
+#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 )		
+	 }
+	
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/tsrc/mocks/mock_networkhandlingproxy.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,29 @@
+/*
+* 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:  This file contains the header file of the class NetworkHandlingProxy.
+*
+*/
+
+#include <smcmockclassincludes.h>
+#include <networkhandlingproxy.h>
+#include <nwhandlingengine.h> 
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+CNWSession* CreateL( MNWMessageObserver& aMessage, TNWInfo& aTNWInfo )
+    {
+    SMC_MOCK_METHOD2(CNWSession*, 
+        MNWMessageObserver&, aMessage, 
+        TNWInfo&, aTNWInfo);
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/tsrc/mocks/mock_qfontmetrics.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,694 @@
+/*
+* 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 <QDebug>
+#include <smcmockclassincludes.h>
+#include <QFontMetrics>
+#include <QChar>
+
+// Stub class implementation, needed in QFontMetrics header
+class QFontPrivate {
+    QFontPrivate(){}
+    ~QFontPrivate(){}
+}; 
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// QFontMetrics::QFontMetrics
+// -----------------------------------------------------------------------------
+//
+QFontMetrics::QFontMetrics( 
+        const QFont & )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// QFontMetrics::QFontMetrics
+// -----------------------------------------------------------------------------
+//
+QFontMetrics::QFontMetrics( 
+        const QFont &,
+        QPaintDevice * pd )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// QFontMetrics::QFontMetrics
+// -----------------------------------------------------------------------------
+//
+QFontMetrics::QFontMetrics( 
+        const QFontMetrics & )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// QFontMetrics::~QFontMetrics
+// -----------------------------------------------------------------------------
+//
+QFontMetrics::~QFontMetrics(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// QFontMetrics::ascent
+// -----------------------------------------------------------------------------
+//
+int QFontMetrics::ascent(  ) const
+    {
+    SMC_MOCK_METHOD0( int )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QFontMetrics::descent
+// -----------------------------------------------------------------------------
+//
+int QFontMetrics::descent(  ) const
+    {
+    SMC_MOCK_METHOD0( int )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QFontMetrics::height
+// -----------------------------------------------------------------------------
+//
+int QFontMetrics::height(  ) const
+    {
+    SMC_MOCK_METHOD0( int )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QFontMetrics::leading
+// -----------------------------------------------------------------------------
+//
+int QFontMetrics::leading(  ) const
+    {
+    SMC_MOCK_METHOD0( int )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QFontMetrics::lineSpacing
+// -----------------------------------------------------------------------------
+//
+int QFontMetrics::lineSpacing(  ) const
+    {
+    SMC_MOCK_METHOD0( int )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QFontMetrics::minLeftBearing
+// -----------------------------------------------------------------------------
+//
+int QFontMetrics::minLeftBearing(  ) const
+    {
+    SMC_MOCK_METHOD0( int )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QFontMetrics::minRightBearing
+// -----------------------------------------------------------------------------
+//
+int QFontMetrics::minRightBearing(  ) const
+    {
+    SMC_MOCK_METHOD0( int )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QFontMetrics::maxWidth
+// -----------------------------------------------------------------------------
+//
+int QFontMetrics::maxWidth(  ) const
+    {
+    SMC_MOCK_METHOD0( int )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QFontMetrics::xHeight
+// -----------------------------------------------------------------------------
+//
+int QFontMetrics::xHeight(  ) const
+    {
+    SMC_MOCK_METHOD0( int )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QFontMetrics::averageCharWidth
+// -----------------------------------------------------------------------------
+//
+int QFontMetrics::averageCharWidth(  ) const
+    {
+    SMC_MOCK_METHOD0( int )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QFontMetrics::inFont
+// -----------------------------------------------------------------------------
+//
+bool QFontMetrics::inFont( QChar ) const
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QFontMetrics::leftBearing
+// -----------------------------------------------------------------------------
+//
+int QFontMetrics::leftBearing( QChar ) const
+    {
+    SMC_MOCK_METHOD0( int )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QFontMetrics::rightBearing
+// -----------------------------------------------------------------------------
+//
+int QFontMetrics::rightBearing( QChar ) const
+    {
+    SMC_MOCK_METHOD0( int )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QFontMetrics::width
+// -----------------------------------------------------------------------------
+//
+int QFontMetrics::width( 
+        const QString & string,
+        int len ) const
+    {
+    SMC_MOCK_METHOD2( int, const QString &, string, 
+        int, len )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QFontMetrics::width
+// -----------------------------------------------------------------------------
+//
+int QFontMetrics::width(QChar) const
+    {
+    SMC_MOCK_METHOD0( int )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QFontMetrics::charWidth
+// -----------------------------------------------------------------------------
+//
+int QFontMetrics::charWidth( 
+        const QString & str,
+        int pos ) const
+    {
+    SMC_MOCK_METHOD2( int, const QString &, str, 
+        int, pos )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QFontMetrics::boundingRect
+// -----------------------------------------------------------------------------
+//
+QRect QFontMetrics::boundingRect( QChar ) const
+    {
+    SMC_MOCK_METHOD0( QRect )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QFontMetrics::boundingRect
+// -----------------------------------------------------------------------------
+//
+QRect QFontMetrics::boundingRect( 
+        const QString & text ) const
+    {
+    SMC_MOCK_METHOD1( QRect, const QString &, text )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QFontMetrics::boundingRect
+// -----------------------------------------------------------------------------
+//
+QRect QFontMetrics::boundingRect( 
+        const QRect & r,
+        int flags,
+        const QString & text,
+        int tabstops,
+        int * tabarray ) const
+    {
+    SMC_MOCK_METHOD5( QRect, const QRect &, r, 
+        int, flags, 
+        const QString &, text, 
+        int, tabstops, 
+        int *, tabarray )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QFontMetrics::size
+// -----------------------------------------------------------------------------
+//
+QSize QFontMetrics::size( 
+        int flags,
+        const QString & str,
+        int tabstops,
+        int * tabarray ) const
+    {
+    SMC_MOCK_METHOD4( QSize, int, flags, 
+        const QString &, str, 
+        int, tabstops, 
+        int *, tabarray )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QFontMetrics::tightBoundingRect
+// -----------------------------------------------------------------------------
+//
+QRect QFontMetrics::tightBoundingRect( 
+        const QString & text ) const
+    {
+    SMC_MOCK_METHOD1( QRect, const QString &, text )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QFontMetrics::elidedText
+// -----------------------------------------------------------------------------
+//
+QString QFontMetrics::elidedText( 
+        const QString & text,
+        Qt::TextElideMode mode,
+        int width,
+        int flags ) const
+    {
+    SMC_MOCK_METHOD4( QString, const QString &, text, 
+        Qt::TextElideMode, mode, 
+        int, width, 
+        int, flags )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QFontMetrics::underlinePos
+// -----------------------------------------------------------------------------
+//
+int QFontMetrics::underlinePos(  ) const
+    {
+    SMC_MOCK_METHOD0( int )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QFontMetrics::overlinePos
+// -----------------------------------------------------------------------------
+//
+int QFontMetrics::overlinePos(  ) const
+    {
+    SMC_MOCK_METHOD0( int )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QFontMetrics::strikeOutPos
+// -----------------------------------------------------------------------------
+//
+int QFontMetrics::strikeOutPos(  ) const
+    {
+    SMC_MOCK_METHOD0( int )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QFontMetrics::lineWidth
+// -----------------------------------------------------------------------------
+//
+int QFontMetrics::lineWidth(  ) const
+    {
+    SMC_MOCK_METHOD0( int )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QFontMetricsF::QFontMetricsF
+// -----------------------------------------------------------------------------
+//
+QFontMetricsF::QFontMetricsF( 
+        const QFont & )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// QFontMetricsF::QFontMetricsF
+// -----------------------------------------------------------------------------
+//
+QFontMetricsF::QFontMetricsF( 
+        const QFont &,
+        QPaintDevice * pd )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// QFontMetricsF::QFontMetricsF
+// -----------------------------------------------------------------------------
+//
+QFontMetricsF::QFontMetricsF( 
+        const QFontMetrics & )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// QFontMetricsF::QFontMetricsF
+// -----------------------------------------------------------------------------
+//
+QFontMetricsF::QFontMetricsF( 
+        const QFontMetricsF & )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// QFontMetricsF::~QFontMetricsF
+// -----------------------------------------------------------------------------
+//
+QFontMetricsF::~QFontMetricsF(  )
+    {
+    
+    }
+
+// -----------------------------------------------------------------------------
+// QFontMetricsF::ascent
+// -----------------------------------------------------------------------------
+//
+qreal QFontMetricsF::ascent(  ) const
+    {
+    SMC_MOCK_METHOD0( qreal )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QFontMetricsF::descent
+// -----------------------------------------------------------------------------
+//
+qreal QFontMetricsF::descent(  ) const
+    {
+    SMC_MOCK_METHOD0( qreal )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QFontMetricsF::height
+// -----------------------------------------------------------------------------
+//
+qreal QFontMetricsF::height(  ) const
+    {
+    SMC_MOCK_METHOD0( qreal )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QFontMetricsF::leading
+// -----------------------------------------------------------------------------
+//
+qreal QFontMetricsF::leading(  ) const
+    {
+    SMC_MOCK_METHOD0( qreal )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QFontMetricsF::lineSpacing
+// -----------------------------------------------------------------------------
+//
+qreal QFontMetricsF::lineSpacing(  ) const
+    {
+    SMC_MOCK_METHOD0( qreal )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QFontMetricsF::minLeftBearing
+// -----------------------------------------------------------------------------
+//
+qreal QFontMetricsF::minLeftBearing(  ) const
+    {
+    SMC_MOCK_METHOD0( qreal )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QFontMetricsF::minRightBearing
+// -----------------------------------------------------------------------------
+//
+qreal QFontMetricsF::minRightBearing(  ) const
+    {
+    SMC_MOCK_METHOD0( qreal )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QFontMetricsF::maxWidth
+// -----------------------------------------------------------------------------
+//
+qreal QFontMetricsF::maxWidth(  ) const
+    {
+    SMC_MOCK_METHOD0( qreal )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QFontMetricsF::xHeight
+// -----------------------------------------------------------------------------
+//
+qreal QFontMetricsF::xHeight(  ) const
+    {
+    SMC_MOCK_METHOD0( qreal )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QFontMetricsF::averageCharWidth
+// -----------------------------------------------------------------------------
+//
+qreal QFontMetricsF::averageCharWidth(  ) const
+    {
+    SMC_MOCK_METHOD0( qreal )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QFontMetricsF::inFont
+// -----------------------------------------------------------------------------
+//
+//bool QFontMetricsF::inFont( QChar ) const
+//    {
+    //SMC_MOCK_METHOD0( bool )
+//    }
+
+
+// -----------------------------------------------------------------------------
+// QFontMetricsF::leftBearing
+// -----------------------------------------------------------------------------
+//
+qreal QFontMetricsF::leftBearing( QChar ) const
+    {
+    SMC_MOCK_METHOD0( qreal )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QFontMetricsF::rightBearing
+// -----------------------------------------------------------------------------
+//
+qreal QFontMetricsF::rightBearing( QChar ) const
+    {
+    SMC_MOCK_METHOD0( qreal )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QFontMetricsF::width
+// -----------------------------------------------------------------------------
+//
+qreal QFontMetricsF::width( 
+        const QString & string ) const
+    {
+    SMC_MOCK_METHOD1( qreal, const QString &, string )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QFontMetricsF::width
+// -----------------------------------------------------------------------------
+//
+qreal QFontMetricsF::width( QChar ) const
+    {
+    SMC_MOCK_METHOD0( qreal )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QFontMetricsF::boundingRect
+// -----------------------------------------------------------------------------
+//
+QRectF QFontMetricsF::boundingRect( 
+        const QString & string ) const
+    {
+    SMC_MOCK_METHOD1( QRectF, const QString &, string )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QFontMetricsF::boundingRect
+// -----------------------------------------------------------------------------
+//
+QRectF QFontMetricsF::boundingRect( QChar ) const
+    {
+    SMC_MOCK_METHOD0( QRectF )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QFontMetricsF::boundingRect
+// -----------------------------------------------------------------------------
+//
+QRectF QFontMetricsF::boundingRect( 
+        const QRectF & r,
+        int flags,
+        const QString & string,
+        int tabstops,
+        int * tabarray ) const
+    {
+    SMC_MOCK_METHOD5( QRectF, const QRectF &, r, 
+        int, flags, 
+        const QString &, string, 
+        int, tabstops, 
+        int *, tabarray )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QFontMetricsF::size
+// -----------------------------------------------------------------------------
+//
+QSizeF QFontMetricsF::size( 
+        int flags,
+        const QString & str,
+        int tabstops,
+        int * tabarray ) const
+    {
+    SMC_MOCK_METHOD4( QSizeF, int, flags, 
+        const QString &, str, 
+        int, tabstops, 
+        int *, tabarray )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QFontMetricsF::tightBoundingRect
+// -----------------------------------------------------------------------------
+//
+QRectF QFontMetricsF::tightBoundingRect( 
+        const QString & text ) const
+    {
+    SMC_MOCK_METHOD1( QRectF, const QString &, text )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QFontMetricsF::elidedText
+// -----------------------------------------------------------------------------
+//
+QString QFontMetricsF::elidedText( 
+        const QString & text,
+        Qt::TextElideMode mode,
+        qreal width,
+        int flags ) const
+    {
+    SMC_MOCK_METHOD4( QString, const QString &, text, 
+        Qt::TextElideMode, mode, 
+        qreal, width, 
+        int, flags )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QFontMetricsF::underlinePos
+// -----------------------------------------------------------------------------
+//
+qreal QFontMetricsF::underlinePos(  ) const
+    {
+    SMC_MOCK_METHOD0( qreal )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QFontMetricsF::overlinePos
+// -----------------------------------------------------------------------------
+//
+qreal QFontMetricsF::overlinePos(  ) const
+    {
+    SMC_MOCK_METHOD0( qreal )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QFontMetricsF::strikeOutPos
+// -----------------------------------------------------------------------------
+//
+qreal QFontMetricsF::strikeOutPos(  ) const
+    {
+    SMC_MOCK_METHOD0( qreal )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QFontMetricsF::lineWidth
+// -----------------------------------------------------------------------------
+//
+qreal QFontMetricsF::lineWidth(  ) const
+    {
+    SMC_MOCK_METHOD0( qreal )
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/tsrc/mocks/mock_qgraphicslayout.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,187 @@
+/*
+* 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 <QDebug>
+#include <smcmockclassincludes.h>
+#include "qgraphicslayout.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// QGraphicsLayout::QGraphicsLayout
+// -----------------------------------------------------------------------------
+//
+QGraphicsLayout::QGraphicsLayout( 
+        QGraphicsLayoutItem * parent )
+    //:
+    //QGraphicsLayoutItem( /*parent*/ )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// QGraphicsLayout::~QGraphicsLayout
+// -----------------------------------------------------------------------------
+//
+QGraphicsLayout::~QGraphicsLayout(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// QGraphicsLayout::setContentsMargins
+// -----------------------------------------------------------------------------
+//
+void QGraphicsLayout::setContentsMargins( 
+        qreal left,
+        qreal top,
+        qreal right,
+        qreal bottom )
+    {
+    SMC_MOCK_METHOD4( void, qreal, left, 
+        qreal, top, 
+        qreal, right, 
+        qreal, bottom )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QGraphicsLayout::getContentsMargins
+// -----------------------------------------------------------------------------
+//
+void QGraphicsLayout::getContentsMargins( 
+        qreal * left,
+        qreal * top,
+        qreal * right,
+        qreal * bottom ) const
+    {
+    SMC_MOCK_METHOD4( void, qreal *, left, 
+        qreal *, top, 
+        qreal *, right, 
+        qreal *, bottom )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QGraphicsLayout::activate
+// -----------------------------------------------------------------------------
+//
+void QGraphicsLayout::activate(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QGraphicsLayout::isActivated
+// -----------------------------------------------------------------------------
+//
+bool QGraphicsLayout::isActivated(  ) const
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QGraphicsLayout::invalidate
+// -----------------------------------------------------------------------------
+//
+void QGraphicsLayout::invalidate(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QGraphicsLayout::updateGeometry
+// -----------------------------------------------------------------------------
+//
+void QGraphicsLayout::updateGeometry(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QGraphicsLayout::widgetEvent
+// -----------------------------------------------------------------------------
+//
+void QGraphicsLayout::widgetEvent( 
+        QEvent * e )
+    {
+    SMC_MOCK_METHOD1( void, QEvent *, e )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QGraphicsLayout::count
+// -----------------------------------------------------------------------------
+//
+int QGraphicsLayout::count(  ) const
+    {
+    SMC_MOCK_METHOD0( int )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QGraphicsLayout::itemAt
+// -----------------------------------------------------------------------------
+//
+QGraphicsLayoutItem * QGraphicsLayout::itemAt( 
+        int i ) const
+    {
+    SMC_MOCK_METHOD1( QGraphicsLayoutItem *, int, i )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QGraphicsLayout::removeAt
+// -----------------------------------------------------------------------------
+//
+void QGraphicsLayout::removeAt( 
+        int index )
+    {
+    SMC_MOCK_METHOD1( void, int, index )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QGraphicsLayout::QGraphicsLayout
+// -----------------------------------------------------------------------------
+//
+QGraphicsLayout::QGraphicsLayout( 
+        QGraphicsLayoutPrivate &,
+        QGraphicsLayoutItem * )
+    //:
+    //QGraphicsLayoutItem( /*&, **/ )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// QGraphicsLayout::addChildLayoutItem
+// -----------------------------------------------------------------------------
+//
+void QGraphicsLayout::addChildLayoutItem( 
+        QGraphicsLayoutItem * layoutItem )
+    {
+    SMC_MOCK_METHOD1( void, QGraphicsLayoutItem *, layoutItem )
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/tsrc/mocks/mock_qgraphicslinearlayout.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,289 @@
+/*
+* 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 <QDebug>
+#include <smcmockclassincludes.h>
+#include "qgraphicslinearlayout.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// QGraphicsLinearLayout::QGraphicsLinearLayout
+// -----------------------------------------------------------------------------
+//
+QGraphicsLinearLayout::QGraphicsLinearLayout( 
+        QGraphicsLayoutItem * parent )
+    //:
+    //QGraphicsLayout( /*parent*/ )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// QGraphicsLinearLayout::QGraphicsLinearLayout
+// -----------------------------------------------------------------------------
+//
+QGraphicsLinearLayout::QGraphicsLinearLayout( 
+        Qt::Orientation orientation,
+        QGraphicsLayoutItem * parent )
+    //:
+    //QGraphicsLayout( /*orientation, parent*/ )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// QGraphicsLinearLayout::~QGraphicsLinearLayout
+// -----------------------------------------------------------------------------
+//
+QGraphicsLinearLayout::~QGraphicsLinearLayout(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// QGraphicsLinearLayout::setOrientation
+// -----------------------------------------------------------------------------
+//
+void QGraphicsLinearLayout::setOrientation( 
+        Qt::Orientation orientation )
+    {
+    SMC_MOCK_METHOD1( void, Qt::Orientation, orientation )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QGraphicsLinearLayout::orientation
+// -----------------------------------------------------------------------------
+//
+Qt::Orientation QGraphicsLinearLayout::orientation(  ) const
+    {
+    SMC_MOCK_METHOD0( Qt::Orientation )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QGraphicsLinearLayout::insertItem
+// -----------------------------------------------------------------------------
+//
+void QGraphicsLinearLayout::insertItem( 
+        int index,
+        QGraphicsLayoutItem * item )
+    {
+    SMC_MOCK_METHOD2( void, int, index, 
+        QGraphicsLayoutItem *, item )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QGraphicsLinearLayout::insertStretch
+// -----------------------------------------------------------------------------
+//
+void QGraphicsLinearLayout::insertStretch( 
+        int index,
+        int stretch )
+    {
+    SMC_MOCK_METHOD2( void, int, index, 
+        int, stretch )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QGraphicsLinearLayout::removeItem
+// -----------------------------------------------------------------------------
+//
+void QGraphicsLinearLayout::removeItem( 
+        QGraphicsLayoutItem * item )
+    {
+    SMC_MOCK_METHOD1( void, QGraphicsLayoutItem *, item )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QGraphicsLinearLayout::removeAt
+// -----------------------------------------------------------------------------
+//
+void QGraphicsLinearLayout::removeAt( 
+        int index )
+    {
+    SMC_MOCK_METHOD1( void, int, index )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QGraphicsLinearLayout::setSpacing
+// -----------------------------------------------------------------------------
+//
+void QGraphicsLinearLayout::setSpacing( 
+        qreal spacing )
+    {
+    SMC_MOCK_METHOD1( void, qreal, spacing )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QGraphicsLinearLayout::spacing
+// -----------------------------------------------------------------------------
+//
+qreal QGraphicsLinearLayout::spacing(  ) const
+    {
+    SMC_MOCK_METHOD0( qreal )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QGraphicsLinearLayout::setItemSpacing
+// -----------------------------------------------------------------------------
+//
+void QGraphicsLinearLayout::setItemSpacing( 
+        int index,
+        qreal spacing )
+    {
+    SMC_MOCK_METHOD2( void, int, index, 
+        qreal, spacing )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QGraphicsLinearLayout::itemSpacing
+// -----------------------------------------------------------------------------
+//
+qreal QGraphicsLinearLayout::itemSpacing( 
+        int index ) const
+    {
+    SMC_MOCK_METHOD1( qreal, int, index )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QGraphicsLinearLayout::setStretchFactor
+// -----------------------------------------------------------------------------
+//
+void QGraphicsLinearLayout::setStretchFactor( 
+        QGraphicsLayoutItem * item,
+        int stretch )
+    {
+    SMC_MOCK_METHOD2( void, QGraphicsLayoutItem *, item, 
+        int, stretch )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QGraphicsLinearLayout::stretchFactor
+// -----------------------------------------------------------------------------
+//
+int QGraphicsLinearLayout::stretchFactor( 
+        QGraphicsLayoutItem * item ) const
+    {
+    SMC_MOCK_METHOD1( int, QGraphicsLayoutItem *, item )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QGraphicsLinearLayout::setAlignment
+// -----------------------------------------------------------------------------
+//
+void QGraphicsLinearLayout::setAlignment( 
+        QGraphicsLayoutItem * item,
+        Qt::Alignment alignment )
+    {
+//    SMC_MOCK_METHOD2( void, QGraphicsLayoutItem *, item, 
+//        Qt::Alignment, alignment )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QGraphicsLinearLayout::alignment
+// -----------------------------------------------------------------------------
+//
+Qt::Alignment QGraphicsLinearLayout::alignment( 
+        QGraphicsLayoutItem * item ) const
+    {
+    //SMC_MOCK_METHOD1( Qt::Alignment, QGraphicsLayoutItem *, item )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QGraphicsLinearLayout::setGeometry
+// -----------------------------------------------------------------------------
+//
+void QGraphicsLinearLayout::setGeometry( 
+        const QRectF & rect )
+    {
+    SMC_MOCK_METHOD1( void, const QRectF &, rect )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QGraphicsLinearLayout::count
+// -----------------------------------------------------------------------------
+//
+int QGraphicsLinearLayout::count(  ) const
+    {
+    SMC_MOCK_METHOD0( int )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QGraphicsLinearLayout::itemAt
+// -----------------------------------------------------------------------------
+//
+QGraphicsLayoutItem * QGraphicsLinearLayout::itemAt( 
+        int index ) const
+    {
+    SMC_MOCK_METHOD1( QGraphicsLayoutItem *, int, index )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QGraphicsLinearLayout::invalidate
+// -----------------------------------------------------------------------------
+//
+void QGraphicsLinearLayout::invalidate(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QGraphicsLinearLayout::sizeHint
+// -----------------------------------------------------------------------------
+//
+QSizeF QGraphicsLinearLayout::sizeHint( 
+        Qt::SizeHint which,
+        const QSizeF & constraint ) const
+    {
+    SMC_MOCK_METHOD2( QSizeF, Qt::SizeHint, which, 
+        const QSizeF &, constraint )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QGraphicsLinearLayout::dump
+// -----------------------------------------------------------------------------
+//
+void QGraphicsLinearLayout::dump( 
+        int indent ) const
+    {
+    SMC_MOCK_METHOD1( void, int, indent )
+    }
+
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/tsrc/mocks/mock_qserviceinterfacedescriptor.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,168 @@
+/* 
+* 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 <QDebug>
+#include <QStringList>
+#include <smcmockclassincludes.h>
+#include "qserviceinterfacedescriptor.h"
+
+QTM_BEGIN_NAMESPACE
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// QServiceInterfaceDescriptor::QServiceInterfaceDescriptor
+// -----------------------------------------------------------------------------
+//
+QServiceInterfaceDescriptor::QServiceInterfaceDescriptor(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// QServiceInterfaceDescriptor::QServiceInterfaceDescriptor
+// -----------------------------------------------------------------------------
+//
+QServiceInterfaceDescriptor::QServiceInterfaceDescriptor( 
+        const QServiceInterfaceDescriptor & other )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// QServiceInterfaceDescriptor::~QServiceInterfaceDescriptor
+// -----------------------------------------------------------------------------
+//
+QServiceInterfaceDescriptor::~QServiceInterfaceDescriptor(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// QServiceInterfaceDescriptor::=
+// -----------------------------------------------------------------------------
+//
+QServiceInterfaceDescriptor & QServiceInterfaceDescriptor::operator=(const QServiceInterfaceDescriptor & other )
+    {
+    SMC_MOCK_METHOD1( QServiceInterfaceDescriptor &, const QServiceInterfaceDescriptor &, other )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QServiceInterfaceDescriptor::=
+// -----------------------------------------------------------------------------
+//
+bool QServiceInterfaceDescriptor::operator==(const QServiceInterfaceDescriptor& other) const
+    {
+    SMC_MOCK_METHOD1( bool, const QServiceInterfaceDescriptor &, other )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QServiceInterfaceDescriptor::serviceName
+// -----------------------------------------------------------------------------
+//
+QString QServiceInterfaceDescriptor::serviceName(  ) const
+    {
+    SMC_MOCK_METHOD0( QString )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QServiceInterfaceDescriptor::interfaceName
+// -----------------------------------------------------------------------------
+//
+QString QServiceInterfaceDescriptor::interfaceName(  ) const
+    {
+    SMC_MOCK_METHOD0( QString )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QServiceInterfaceDescriptor::majorVersion
+// -----------------------------------------------------------------------------
+//
+int QServiceInterfaceDescriptor::majorVersion(  ) const
+    {
+    SMC_MOCK_METHOD0( int )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QServiceInterfaceDescriptor::minorVersion
+// -----------------------------------------------------------------------------
+//
+int QServiceInterfaceDescriptor::minorVersion(  ) const
+    {
+    SMC_MOCK_METHOD0( int )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QServiceInterfaceDescriptor::isValid
+// -----------------------------------------------------------------------------
+//
+bool QServiceInterfaceDescriptor::isValid(  ) const
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QServiceInterfaceDescriptor::scope
+// -----------------------------------------------------------------------------
+//
+QService::Scope QServiceInterfaceDescriptor::scope(  ) const
+    {
+    SMC_MOCK_METHOD0( QService::Scope )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QServiceInterfaceDescriptor::attribute
+// -----------------------------------------------------------------------------
+//
+QVariant QServiceInterfaceDescriptor::attribute( 
+        QServiceInterfaceDescriptor::Attribute which ) const
+    {
+    SMC_MOCK_METHOD1( QVariant, QServiceInterfaceDescriptor::Attribute, which )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QServiceInterfaceDescriptor::customAttribute
+// -----------------------------------------------------------------------------
+//
+QString QServiceInterfaceDescriptor::customAttribute( 
+        const QString & which ) const
+    {
+    SMC_MOCK_METHOD1( QString, const QString &, which )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QServiceInterfaceDescriptor::customAttributes
+// -----------------------------------------------------------------------------
+//
+QStringList QServiceInterfaceDescriptor::customAttributes(  ) const
+    {
+    SMC_MOCK_METHOD0( QStringList )
+    }
+
+QTM_END_NAMESPACE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/tsrc/mocks/mock_qserviceplugininterface.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,65 @@
+/* 
+* 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 <QDebug>
+#include <smcmockclassincludes.h>
+#include <qserviceplugininterface.h>
+
+
+QTM_BEGIN_NAMESPACE
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// QServicePluginInterface::QServicePluginInterface
+// -----------------------------------------------------------------------------
+//
+QServicePluginInterface::QServicePluginInterface(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// QServicePluginInterface::~QServicePluginInterface
+// -----------------------------------------------------------------------------
+//
+QServicePluginInterface::~QServicePluginInterface(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// QServicePluginInterface::installService
+// -----------------------------------------------------------------------------
+//
+void QServicePluginInterface::installService(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QServicePluginInterface::uninstallService
+// -----------------------------------------------------------------------------
+//
+void QServicePluginInterface::uninstallService(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+QTM_END_NAMESPACE
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/tsrc/mocks/mock_rsatservice.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,137 @@
+/*
+* 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 <QDebug>
+#include <smcmockclassincludes.h>
+#include "rsatservice.h"
+
+class TSatIconInfo{
+    
+};
+
+class RSatSession{
+
+};
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// RSatService::RSatService
+// -----------------------------------------------------------------------------
+//
+RSatService::RSatService(  )
+    //:
+    //RSubSessionBase( /**/ )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// RSatService::OpenL
+// -----------------------------------------------------------------------------
+//
+void RSatService::OpenL( 
+        const RSatSession & aSession )
+    {
+    SMC_MOCK_METHOD1( void, const RSatSession &, aSession )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RSatService::Close
+// -----------------------------------------------------------------------------
+//
+void RSatService::Close(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RSatService::NotifySetupIdleModeTextChange
+// -----------------------------------------------------------------------------
+//
+TInt RSatService::NotifySetupIdleModeTextChange( 
+        TRequestStatus & aStatus )
+    {
+    SMC_MOCK_METHOD1( TInt, TRequestStatus &, aStatus )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RSatService::NotifySetupIdleModeTextChangeCancel
+// -----------------------------------------------------------------------------
+//
+void RSatService::NotifySetupIdleModeTextChangeCancel(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RSatService::GetSetupIdleModeTextL
+// -----------------------------------------------------------------------------
+//
+TBool RSatService::GetSetupIdleModeTextL( 
+        HBufC * & aText,
+        TSatIconQualifier & aIconQualifier,
+        TUint8 & aRecordNumber )
+    {
+    aText = HBufC::NewL(15);
+    SMC_MOCK_METHOD3( TBool, 
+            HBufC* , aText,
+            TSatIconQualifier &, aIconQualifier,
+            TUint8 &, aRecordNumber )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RSatService::GetIconInfoL
+// -----------------------------------------------------------------------------
+//
+void RSatService::GetIconInfoL( 
+        TUint8 aRecordNumber,
+        RIconEf & aIconEf ) const
+    {
+    SMC_MOCK_METHOD2( void, TUint8, aRecordNumber, 
+        RIconEf &, aIconEf )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RSatService::GetIconL
+// -----------------------------------------------------------------------------
+//
+CFbsBitmap * RSatService::GetIconL( 
+        const TSatIconInfo & aIconInfo ) const
+    {
+    SMC_MOCK_METHOD1( CFbsBitmap *, const TSatIconInfo &, aIconInfo )
+    }
+
+
+// -----------------------------------------------------------------------------
+// RSatService::SetIdleModeTextResponse
+// -----------------------------------------------------------------------------
+//
+void RSatService::SetIdleModeTextResponse( 
+        const TSATIdleResult & aResult ) const
+    {
+    SMC_MOCK_METHOD1( void, const TSATIdleResult &, aResult )
+    }
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/tsrc/mocks/mock_xqsettingskey.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,126 @@
+/* 
+* 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 <QDebug>
+#include "xqsettingskey.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// XQSettingsKey::XQSettingsKey
+// -----------------------------------------------------------------------------
+//
+XQSettingsKey::XQSettingsKey( 
+        XQSettingsKey::Target target,
+        long int uid,
+        unsigned long int key )
+    {
+    Q_UNUSED(target)
+    Q_UNUSED(uid)
+    Q_UNUSED(key)
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQSettingsKey::~XQSettingsKey
+// -----------------------------------------------------------------------------
+//
+XQSettingsKey::~XQSettingsKey(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQSettingsKey::target
+// -----------------------------------------------------------------------------
+//
+XQSettingsKey::Target XQSettingsKey::target(  ) const
+    {
+    
+    XQSettingsKey::Target variable = (XQSettingsKey::Target)1;
+    return variable;
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQSettingsKey::uid
+// -----------------------------------------------------------------------------
+//
+long int XQSettingsKey::uid(  ) const
+    {
+    
+    return 0;
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQSettingsKey::key
+// -----------------------------------------------------------------------------
+//
+unsigned long int XQSettingsKey::key(  ) const
+    {
+    
+    return 0;
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQPublishAndSubscribeSettingsKey::XQPublishAndSubscribeSettingsKey
+// -----------------------------------------------------------------------------
+//
+XQPublishAndSubscribeSettingsKey::XQPublishAndSubscribeSettingsKey( 
+        long int categoryUid,
+        unsigned long int key ) : 
+        XQSettingsKey( XQSettingsKey::TargetPublishAndSubscribe, categoryUid, key )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQPublishAndSubscribeSettingsKey::~XQPublishAndSubscribeSettingsKey
+// -----------------------------------------------------------------------------
+//
+XQPublishAndSubscribeSettingsKey::~XQPublishAndSubscribeSettingsKey(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQCentralRepositorySettingsKey::XQCentralRepositorySettingsKey
+// -----------------------------------------------------------------------------
+//
+XQCentralRepositorySettingsKey::XQCentralRepositorySettingsKey( 
+        long int repositoryUid,
+        unsigned long int key ) : 
+        XQSettingsKey( XQSettingsKey::TargetCentralRepository, repositoryUid, key )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQCentralRepositorySettingsKey::~XQCentralRepositorySettingsKey
+// -----------------------------------------------------------------------------
+//
+XQCentralRepositorySettingsKey::~XQCentralRepositorySettingsKey(  )
+    {
+    
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/tsrc/mocks/mock_xqsettingsmanager.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -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 <QDebug>
+#include <smcmockclassincludes.h>
+#include "xqsettingsmanager.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// XQSettingsManager::XQSettingsManager
+// -----------------------------------------------------------------------------
+//
+XQSettingsManager::XQSettingsManager( 
+        QObject * parent )
+    : QObject( parent )
+    {
+    
+    }
+
+// -----------------------------------------------------------------------------
+// XQSettingsManager::~XQSettingsManager
+// -----------------------------------------------------------------------------
+//
+XQSettingsManager::~XQSettingsManager(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQSettingsManager::readItemValue
+// -----------------------------------------------------------------------------
+//
+QVariant XQSettingsManager::readItemValue( 
+        const XQSettingsKey & key,
+        XQSettingsManager::Type type )
+    {
+    SMC_MOCK_METHOD2( QVariant, XQSettingsKey &, key, XQSettingsManager::Type, type )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQSettingsManager::writeItemValue
+// -----------------------------------------------------------------------------
+//
+bool XQSettingsManager::writeItemValue( 
+        const XQSettingsKey & key,
+        const QVariant & value )
+    {
+    SMC_MOCK_METHOD2( bool, XQSettingsKey &, key, QVariant &, value )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQSettingsManager::startMonitoring
+// -----------------------------------------------------------------------------
+//
+bool XQSettingsManager::startMonitoring( 
+        const XQSettingsKey & key,
+        XQSettingsManager::Type type )
+    {
+    SMC_MOCK_METHOD2( bool, XQSettingsKey &, key, XQSettingsManager::Type, type )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQSettingsManager::stopMonitoring
+// -----------------------------------------------------------------------------
+//
+bool XQSettingsManager::stopMonitoring( 
+        const XQSettingsKey & key )
+    {
+    SMC_MOCK_METHOD1( bool, XQSettingsKey &, key )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQSettingsManager::error
+// -----------------------------------------------------------------------------
+//
+XQSettingsManager::Error XQSettingsManager::error(  ) const
+    {
+    SMC_MOCK_METHOD0( XQSettingsManager::Error )
+    }
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/tsrc/run_auto_tests_qt.bat	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,194 @@
+rem
+rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+rem All rights reserved.
+rem This component and the accompanying materials are made available
+rem under the terms of "Eclipse Public License v1.0"
+rem which accompanies this distribution, and is available
+rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
+rem
+rem Initial Contributors:
+rem Nokia Corporation - initial contribution.
+rem
+rem Contributors:
+rem
+rem Description:
+rem
+
+@echo off
+setlocal
+goto :startup 
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function DEFAULT
+::
+:: Modify this function
+::  - TESTED_SRC can be changed to match tested code.
+::    Specifies path from testcode group directory to
+::    tested code
+::  - Add test directories to be runned
+::    ie. "call :build ut_projectdirectory" or use
+::    "for /f %%a in ('dir /b ut_*') do call :build %%a"
+::    which compiles, instruments and runs all test directories
+::    starting with "ut_".
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:DEFAULT
+set TESTED_SRC=..\..\infowidget\src\*.cpp
+
+for /f %%a in ('dir /b ut_*') do call :build %%a
+if [%DOMODULESTESTS%] EQU [TRUE] (
+for /f %%a in ('dir /b mt_*') do call :build %%a
+)
+
+call :finish
+goto :END
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function STARTUP
+::
+:: Initializing script
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:STARTUP
+
+set BUILDTESTS=TRUE
+set RUNTESTS=TRUE
+set INSTRUMENT=TRUE
+set REMOVEINSTRUMENT=TRUE
+set DOMODULESTESTS=TRUE
+set ABLD_CALL= -2comp  sbs.bat -c winscw_udeb --keepgoing
+set PATH_TO_DLL=\epoc32\release\winscw\udeb
+set PATH_TO_COVERAGE_DATA=\coverage_data
+set PATH_TO_RESULT=\test_result
+
+if not exist %PATH_TO_COVERAGE_DATA% (
+mkdir %PATH_TO_COVERAGE_DATA%
+)
+
+if not exist %PATH_TO_RESULT% (
+mkdir %PATH_TO_RESULT%
+)
+
+if [%1] EQU [] ( goto default )
+
+call :%1
+call :%2
+call :%3
+call :%4
+call :%5
+echo Running tests = %RUNTESTS%
+echo Instrumenting tests = %INSTRUMENT%
+goto default
+
+:/NOCLEANUP
+set REMOVEINSTRUMENT=FALSE
+goto end
+
+:/NORUN
+set RUNTESTS=FALSE
+set REMOVEINSTRUMENT=FALSE
+goto end
+
+:/NOINSTRUMENT
+set INSTRUMENT=FALSE
+goto end
+
+:/NOBUILD
+set BUILDTESTS=FALSE
+goto end
+
+:/ONLYUNITTESTS
+set DOMODULESTESTS=FALSE
+goto end
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function FINISH
+::
+:: Finishes run_auto_tests.bat
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:FINISH
+
+if [%RUNTESTS%] EQU [TRUE] (
+call :runtests
+)
+
+if [%INSTRUMENT%] EQU [TRUE] (
+call :calculatecoverage
+)
+
+if [%REMOVEINSTRUMENT%] EQU [TRUE] (
+call :removecoverage
+)
+goto end
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function BUILD
+::    param directory
+::
+:: builds test from given directory
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:BUILD
+setlocal
+if [%BUILDTESTS%] EQU [FALSE] ( goto end )
+echo Building %1
+if not exist %1 ( 
+echo %1 Not found! 
+goto end
+)
+
+pushd .
+call cd %1
+call qmake
+call sbs -c winscw_udeb clean
+if [%INSTRUMENT%] EQU [TRUE] (
+call ctcwrap -n %PATH_TO_COVERAGE_DATA%\%1 -i d -C "EXCLUDE=*" -C "NO_EXCLUDE=%TESTED_SRC%" %ABLD_CALL%
+) else (
+call %ABLD_CALL%
+)
+
+popd
+endlocal
+goto end
+
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function RUNTESTS
+::
+:: NOTE! Function assumes that test binary is named according to test directory.
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:RUNTESTS
+echo Running tests
+for /f %%a in ('dir /b ut_*') do (
+     call %PATH_TO_DLL%\%%a.exe
+     move \epoc32\winscw\c\data\%%a.log %PATH_TO_RESULT%\%%a.log
+)
+goto end
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function CALCULATECOVERAGE
+::
+:: Calculates test coverage. Generates html
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:CALCULATECOVERAGE
+echo Calculating coverage
+ctcpost %PATH_TO_COVERAGE_DATA%\*.sym -p - | ctcmerge -i - -o profile.txt
+call ctc2html -t 70 -i profile.txt -o \coverage_result -nsb
+goto end
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function REMOVECOVERAGE
+::
+:: Removes data from coverage directory
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:REMOVECOVERAGE
+echo Removing deleting coverage data
+call del %PATH_TO_COVERAGE_DATA%\*.sym
+call del %PATH_TO_COVERAGE_DATA%\*.dat
+call del profile.txt
+goto end
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function END
+::
+:: Prints done
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:END
+echo Done!
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/tsrc/ut_infowidget/inc/ut_infowidget.h	Thu Jul 22 16:33:21 2010 +0100
@@ -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:
+*
+*/
+
+#ifndef UT_INFOWIDGET_H
+#define UT_INFOWIDGET_H
+
+#include <QtTest/QtTest>
+#include <hblabel.h>
+#include <mockservice.h>
+#include <QColor>
+#include <QGraphicsWidget>
+#include "infowidgetengine.h"
+
+class InfoWidget;
+
+class UT_InfoWidget : public QObject, public MockService
+{
+    Q_OBJECT
+
+public:    
+    
+    UT_InfoWidget();
+    ~UT_InfoWidget();
+    
+private slots:
+
+    void init();
+    void cleanup();
+    
+    //From QGraphicsItem.
+    void t_boundingRect();
+    void t_shape();
+    void t_sizePolicy();
+    
+    void t_setSpnDisplay();
+    void t_setMcnDisplay();
+    void t_setSatDisplay();
+
+    void t_paint(); 
+    void t_mousePressEvent();
+    void t_mouseReleaseEvent(); 
+    void t_mouseMoveEvent(); 
+    void t_updateInfoDisplay();
+    void t_readPersistentPreferences();
+
+    void t_onInitialize();
+    void t_onUninitialize(); 
+    void t_onShow(); 
+    void t_onHide();
+    void t_readModel();
+    void t_handleModelError();
+    void t_spnDisplaySettingChanged();
+    void t_mcnDisplaySettingChanged();
+    void t_satDisplaySettingChanged();
+    void t_settingsEditingFinished();
+
+    // private implementation tests
+    void t_updateItemsVisibility();
+    void t_layoutInfoDisplay(); 
+    void t_layoutSettingsDialog(); 
+    void t_initializeSettingsDialogItems();
+    void t_startChanges();
+    void t_endChanges();
+    
+    void t_sizeHint();
+    
+    void t_startMarquees();
+    void t_stopMarquees();
+    void t_marqueeNext(); 
+    
+    /*
+     * Not work from commmand prompt.
+     */
+    void t_changeEvent();
+    
+    void t_timerEvent(); 
+
+private:
+    
+    InfoWidget *m_infoWidget;
+    InfoWidgetEngine::ModelData m_modelData;
+    QColor m_qcolor;
+    QGraphicsWidget m_qgraphicswidget;
+
+};
+
+#endif // UT_INFOWIDGET_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/tsrc/ut_infowidget/run_auto_tests_qt.bat	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,192 @@
+rem
+rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+rem All rights reserved.
+rem This component and the accompanying materials are made available
+rem under the terms of "Eclipse Public License v1.0"
+rem which accompanies this distribution, and is available
+rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
+rem
+rem Initial Contributors:
+rem Nokia Corporation - initial contribution.
+rem
+rem Contributors:
+rem
+rem Description:
+rem
+
+@echo off
+setlocal
+goto :startup 
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function DEFAULT
+::
+:: Modify this function
+::  - TESTED_SRC can be changed to match tested code.
+::    Specifies path from testcode group directory to
+::    tested code
+::  - Add test directories to be runned
+::    ie. "call :build ut_projectdirectory" or use
+::    "for /f %%a in ('dir /b ut_*') do call :build %%a"
+::    which compiles, instruments and runs all test directories
+::    starting with "ut_".
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:DEFAULT
+set TESTED_SRC=..\..\infowidget\src\*.cpp
+
+for /f %%a in ('dir /b ut_*') do call :build %%a
+if [%DOMODULESTESTS%] EQU [TRUE] (
+for /f %%a in ('dir /b mt_*') do call :build %%a
+)
+
+call :finish
+goto :END
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function STARTUP
+::
+:: Initializing script
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:STARTUP
+
+set BUILDTESTS=TRUE
+set RUNTESTS=TRUE
+set INSTRUMENT=TRUE
+set REMOVEINSTRUMENT=TRUE
+set DOMODULESTESTS=TRUE
+set ABLD_CALL= -2comp  sbs.bat -c winscw_udeb --keepgoing
+set PATH_TO_DLL=\epoc32\release\winscw\udeb
+set PATH_TO_COVERAGE_DATA=\coverage_data
+set PATH_TO_RESULT=\test_result
+
+if not exist %PATH_TO_COVERAGE_DATA% (
+mkdir %PATH_TO_COVERAGE_DATA%
+)
+
+if not exist %PATH_TO_RESULT% (
+mkdir %PATH_TO_RESULT%
+)
+
+if [%1] EQU [] ( goto default )
+
+call :%1
+call :%2
+call :%3
+call :%4
+call :%5
+echo Running tests = %RUNTESTS%
+echo Instrumenting tests = %INSTRUMENT%
+goto default
+
+:/NOCLEANUP
+set REMOVEINSTRUMENT=FALSE
+goto end
+
+:/NORUN
+set RUNTESTS=FALSE
+set REMOVEINSTRUMENT=FALSE
+goto end
+
+:/NOINSTRUMENT
+set INSTRUMENT=FALSE
+goto end
+
+:/NOBUILD
+set BUILDTESTS=FALSE
+goto end
+
+:/ONLYUNITTESTS
+set DOMODULESTESTS=FALSE
+goto end
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function FINISH
+::
+:: Finishes run_auto_tests.bat
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:FINISH
+
+if [%RUNTESTS%] EQU [TRUE] (
+call :runtests
+)
+
+if [%INSTRUMENT%] EQU [TRUE] (
+call :calculatecoverage
+)
+
+if [%REMOVEINSTRUMENT%] EQU [TRUE] (
+call :removecoverage
+)
+goto end
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function BUILD
+::    param directory
+::
+:: builds test from given directory
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:BUILD
+setlocal
+if [%BUILDTESTS%] EQU [FALSE] ( goto end )
+echo Building %1
+if not exist %1 ( 
+echo %1 Not found! 
+goto end
+)
+
+pushd .
+call cd %1
+call qmake
+call sbs -c winscw_udeb clean
+if [%INSTRUMENT%] EQU [TRUE] (
+call ctcwrap -n %PATH_TO_COVERAGE_DATA%\%1 -i d -C "EXCLUDE=*" -C "NO_EXCLUDE=%TESTED_SRC%" %ABLD_CALL%
+) else (
+call %ABLD_CALL%
+)
+
+popd
+endlocal
+goto end
+
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function RUNTESTS
+::
+:: NOTE! Function assumes that test binary is named according to test directory.
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:RUNTESTS
+echo Running tests
+call %PATH_TO_DLL%\ut_infowidget.exe -- 
+move \epoc32\winscw\c\data\ut_infowidget.log %PATH_TO_RESULT%\ut_infowidget.log
+goto end
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function CALCULATECOVERAGE
+::
+:: Calculates test coverage. Generates html
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:CALCULATECOVERAGE
+echo Calculating coverage
+ctcpost %PATH_TO_COVERAGE_DATA%\*.sym -p - | ctcmerge -i - -o profile.txt
+call ctc2html -t 70 -i profile.txt -o \coverage_result -nsb
+goto end
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function REMOVECOVERAGE
+::
+:: Removes data from coverage directory
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:REMOVECOVERAGE
+echo Removing deleting coverage data
+call del %PATH_TO_COVERAGE_DATA%\*.sym
+call del %PATH_TO_COVERAGE_DATA%\*.dat
+call del profile.txt
+goto end
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function END
+::
+:: Prints done
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:END
+echo Done!
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/tsrc/ut_infowidget/src/ut_infowidget.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,817 @@
+/*
+* 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 <QString>
+#include <QPainter>
+#include <QEvent>
+#include <QGraphicsWidget>
+#include <QGraphicsSceneMouseEvent>
+#include <HbMarqueeItem>
+#include <HbPushButton>
+#include <HbCheckBox>
+#include <HbEvent>
+#include <HbColorScheme>
+#include <hbframedrawer.h>
+#include "ut_infowidget.h"
+#include "qtestmains60.h"
+
+#define private friend class UT_InfoWidget;private
+#include "infowidget.h"
+
+// mocked dependencies
+#include "infowidgetpreferences.h"
+
+const QString KPreferenceOn("On"); 
+const QString KPreferenceOff("Off"); 
+const QString KSpnName("testprovider");
+const QString KMcnName("tnw1: 3233255435"); 
+const QString KSatText("satdisplaytesttext"); 
+
+
+// Stub 
+void QGraphicsWidget::resize( 
+        const QSizeF & size ) 
+{
+    Q_UNUSED(size); 
+}
+
+
+/*!
+  UT_InfoWidget::UT_InfoWidget
+ */
+UT_InfoWidget::UT_InfoWidget() 
+    : m_infoWidget(0)
+{
+    m_modelData.setActiveLine(1);
+    m_modelData.setHomeZoneIndicatorType(1);
+    m_modelData.setMcnName(KMcnName);
+    m_modelData.setServiceProviderName(KSpnName);
+    m_modelData.setSatDisplayText(KSatText);
+    
+    SmcDefaultValue<const InfoWidgetEngine::ModelData &>::SetL(m_modelData);
+    SmcDefaultValue<QColor>::SetL(m_qcolor);
+    SmcDefaultValue<QGraphicsWidget*>::SetL(&m_qgraphicswidget);
+}
+
+/*!
+  UT_InfoWidget::~UT_InfoWidget
+ */
+UT_InfoWidget::~UT_InfoWidget()
+{
+    delete m_infoWidget;
+}
+
+/*!
+  UT_InfoWidget::init
+ */
+void UT_InfoWidget::init()
+{
+    initialize();
+    
+    SmcDefaultValue<QString>::SetL("On");
+    SmcDefaultValue<InfoWidgetLayoutManager::DisplayRole>::SetL(
+        InfoWidgetLayoutManager::InfoDisplay);
+    m_infoWidget = new InfoWidget();
+    SmcDefaultValue<QString>::SetL("");
+    
+    QVERIFY(verify());
+}
+
+/*!
+  UT_InfoWidget::cleanup
+ */
+void UT_InfoWidget::cleanup()
+{
+    reset();
+    
+    delete m_infoWidget;
+    m_infoWidget = 0;
+}
+
+/*!
+  UT_InfoWidget::t_boundingRect
+ */
+void UT_InfoWidget::t_boundingRect()
+{
+    m_infoWidget->boundingRect();
+}
+
+/*!
+  UT_InfoWidget::t_shape
+ */
+void UT_InfoWidget::t_shape()
+{
+    m_infoWidget->shape();
+}
+
+
+/*!
+  UT_InfoWidget::t_sizePolicy
+ */
+void UT_InfoWidget::t_sizePolicy()
+{
+    QVERIFY(m_infoWidget->sizePolicy() == 
+        QSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed));
+}
+
+/*!
+  UT_InfoWidget::t_setSpnDisplay
+ */
+void UT_InfoWidget::t_setSpnDisplay()
+{
+    EXPECT(InfoWidgetPreferences::setPreference)
+        .with(InfoWidgetPreferences::DisplaySpn, KPreferenceOn);
+    
+    m_infoWidget->setSpnDisplay(KPreferenceOn);
+    
+    QVERIFY(verify());
+}
+
+/*!
+  UT_InfoWidget::t_setMcnDisplay
+ */
+void UT_InfoWidget::t_setMcnDisplay()
+{
+    EXPECT(InfoWidgetPreferences::setPreference)
+        .with(InfoWidgetPreferences::DisplayMcn, KPreferenceOn);
+    
+    m_infoWidget->setMcnDisplay(KPreferenceOn);
+    
+    QVERIFY(verify());
+}
+
+/*!
+  UT_InfoWidget::t_setSatDisplay
+ */
+void UT_InfoWidget::t_setSatDisplay()
+{
+    EXPECT(InfoWidgetPreferences::setPreference)
+        .with(InfoWidgetPreferences::DisplaySatText, KPreferenceOn);
+    
+    m_infoWidget->setSatDisplay(KPreferenceOn);
+    
+    QVERIFY(verify());
+}
+
+/*!
+  UT_InfoWidget::t_paint
+ */
+void UT_InfoWidget::t_paint()
+{
+    QScopedPointer<QPainter> painter(new QPainter());
+    QStyleOptionGraphicsItem *option = NULL;
+    QWidget *widget = NULL;
+    
+    m_infoWidget->paint(painter.data(), option, widget);
+    
+    // layout change ongoing while paint requested
+    m_infoWidget->startChanges();
+    m_infoWidget->paint(painter.data(), option, widget);
+}
+
+/*!
+  UT_InfoWidget::t_mousePressEvent
+ */
+void UT_InfoWidget::t_mousePressEvent()
+{
+    QGraphicsSceneMouseEvent event;
+    m_infoWidget->mousePressEvent(&event);
+}
+
+/*!
+  UT_InfoWidget::t_mouseReleaseEvent
+ */
+void UT_InfoWidget::t_mouseReleaseEvent()
+{
+    QGraphicsSceneMouseEvent event;
+    
+    // widget clicked while showing info display => 
+    // switch to settings display expected
+    EXPECT(InfoWidgetLayoutManager::currentDisplayRole)
+        .returns(InfoWidgetLayoutManager::InfoDisplay);
+    EXPECT(InfoWidgetLayoutManager::layoutSettingsDialog);
+    m_infoWidget->mousePressEvent(&event);
+    m_infoWidget->mouseReleaseEvent(&event);
+    
+    // widget clicked while showing settings display => 
+    // no action expected
+    EXPECT(InfoWidgetLayoutManager::currentDisplayRole)
+        .returns(InfoWidgetLayoutManager::SettingsDialog);
+    EXPECT(InfoWidgetLayoutManager::layoutSettingsDialog).times(0);
+    m_infoWidget->mousePressEvent(&event);
+    m_infoWidget->mouseReleaseEvent(&event);
+    
+    // release event received after dragging widget => 
+    // no action expected
+    EXPECT(InfoWidgetLayoutManager::layoutSettingsDialog).times(0);
+    m_infoWidget->mouseMoveEvent(&event);
+    m_infoWidget->mouseReleaseEvent(&event);
+    
+    QVERIFY(verify());
+}
+
+/*!
+  UT_InfoWidget::t_mouseMoveEvent
+ */
+void UT_InfoWidget::t_mouseMoveEvent()
+{
+    
+}
+
+/*!
+  UT_InfoWidget::t_updateInfoDisplay
+ */
+void UT_InfoWidget::t_updateInfoDisplay()
+{
+    HbMarqueeItem spnMarqueeItem; 
+    HbMarqueeItem mcnMarqueeItem;
+    HbMarqueeItem satMarqueeItem; 
+    QGraphicsWidget* pointerSpnMarqueeItem = qobject_cast<QGraphicsWidget *>(&spnMarqueeItem);
+    QGraphicsWidget* pointerMcnMarqueeItem = qobject_cast<QGraphicsWidget *>(&mcnMarqueeItem);
+    QGraphicsWidget* pointerSatMarqueeItem = qobject_cast<QGraphicsWidget *>(&satMarqueeItem);
+
+    // Precondition: 
+    m_infoWidget->m_initialized = true; 
+    
+    InfoWidgetEngine::ModelData modelData;
+    modelData.setMcnName("testmcn"); 
+    modelData.setServiceProviderName("testspn");  
+    modelData.setSatDisplayText("testsat"); 
+    const InfoWidgetEngine::ModelData& modelDataConstRef(modelData); 
+    
+    // Test 1: text data has been initialized to model (in UT_InfoWidget::UT_InfoWidget())
+    EXPECT(InfoWidgetLayoutManager::currentDisplayRole).returns(InfoWidgetLayoutManager::InfoDisplay);
+    EXPECT(InfoWidgetEngine::modelData).returns(modelDataConstRef);
+
+    EXPECT(InfoWidgetLayoutManager::getWidget)
+        .with(InfoWidgetLayoutManager::RoleSpnMarqueeItem)
+        .returns(pointerSpnMarqueeItem);
+    EXPECT(HbMarqueeItem::setText);
+    EXPECT(HbMarqueeItem::setTextColor);
+    EXPECT(QGraphicsWidget::adjustSize); 
+    EXPECT(InfoWidgetLayoutManager::textFitsToRect)
+        .returns(false);
+
+    EXPECT(InfoWidgetLayoutManager::getWidget)
+        .with(InfoWidgetLayoutManager::RoleMcnMarqueeItem)
+        .returns(pointerSpnMarqueeItem);
+    EXPECT(HbMarqueeItem::setText);
+    EXPECT(HbMarqueeItem::setTextColor);
+    EXPECT(QGraphicsWidget::adjustSize); 
+    EXPECT(InfoWidgetLayoutManager::textFitsToRect)
+        .returns(false);
+
+    EXPECT(InfoWidgetLayoutManager::getWidget)
+        .with(InfoWidgetLayoutManager::RoleSatMarqueeItem)
+        .returns(pointerSatMarqueeItem);
+    
+    EXPECT(HbMarqueeItem::setText);
+    EXPECT(HbMarqueeItem::setTextColor);
+    EXPECT(QGraphicsWidget::adjustSize); 
+    EXPECT(InfoWidgetLayoutManager::textFitsToRect)
+        .returns(false);
+ 
+    m_infoWidget->updateInfoDisplay();
+    QVERIFY(m_infoWidget->m_animatingItems.count() == 3); 
+    
+    QVERIFY(verify());
+    
+    // Test 2: empty data, verify items are not appended to m_animatingItems
+    EXPECT(InfoWidgetLayoutManager::currentDisplayRole).returns(InfoWidgetLayoutManager::InfoDisplay);
+    EXPECT(InfoWidgetEngine::modelData).returns(modelDataConstRef);
+
+    m_modelData.setServiceProviderName("testspn");
+    m_modelData.setMcnName("testmcn");
+    m_modelData.setSatDisplayText("testsat");
+    EXPECT(InfoWidgetLayoutManager::getWidget)
+        .with(InfoWidgetLayoutManager::RoleSpnMarqueeItem)
+        .returns(pointerSpnMarqueeItem);
+    EXPECT(HbMarqueeItem::setText);
+    EXPECT(HbMarqueeItem::setTextColor);
+    EXPECT(QGraphicsWidget::adjustSize); 
+    EXPECT(InfoWidgetLayoutManager::textFitsToRect)
+        .returns(true);
+    
+    EXPECT(InfoWidgetLayoutManager::getWidget)
+        .with(InfoWidgetLayoutManager::RoleMcnMarqueeItem)
+        .returns(pointerSpnMarqueeItem);
+    EXPECT(HbMarqueeItem::setText);
+    EXPECT(HbMarqueeItem::setTextColor);
+    EXPECT(QGraphicsWidget::adjustSize); 
+    EXPECT(InfoWidgetLayoutManager::textFitsToRect)
+        .returns(true);
+
+    EXPECT(InfoWidgetLayoutManager::getWidget)
+        .with(InfoWidgetLayoutManager::RoleSatMarqueeItem)
+        .returns(pointerSatMarqueeItem);
+    EXPECT(HbMarqueeItem::setText);
+    EXPECT(HbMarqueeItem::setTextColor);
+    EXPECT(QGraphicsWidget::adjustSize); 
+    EXPECT(InfoWidgetLayoutManager::textFitsToRect)
+        .returns(true);
+
+    m_infoWidget->updateInfoDisplay();
+    QVERIFY(m_infoWidget->m_animatingItems.count() == 0); 
+    
+    QVERIFY(verify());
+    
+    // Change state: 
+    m_infoWidget->m_initialized = false; 
+    m_infoWidget->updateInfoDisplay();
+    QVERIFY(m_infoWidget->m_animatingItems.count() == 0); 
+    
+    QVERIFY(verify());
+}
+
+/*!
+  UT_InfoWidget::t_readPersistentPreferences
+ */
+void UT_InfoWidget::t_readPersistentPreferences()
+{    
+    EXPECT(InfoWidgetPreferences::setPreference)
+        .with(InfoWidgetPreferences::DisplayHomeZone, QString(""));
+
+    EXPECT(InfoWidgetPreferences::setPreference)
+        .with(InfoWidgetPreferences::DisplayMcn, QString(""));
+    
+    EXPECT(InfoWidgetPreferences::setPreference)
+        .with(InfoWidgetPreferences::DisplayActiveLine, QString(""));
+    
+    EXPECT(InfoWidgetPreferences::setPreference)
+        .with(InfoWidgetPreferences::DisplaySatText, QString(""));
+
+    EXPECT(InfoWidgetPreferences::setPreference)
+        .with(InfoWidgetPreferences::DisplaySpn, QString(""));
+    
+    EXPECT(InfoWidgetPreferences::validate);
+
+    m_infoWidget->readPersistentPreferences();
+    
+    QVERIFY(verify());
+    
+    // one visible item initially
+    EXPECT(InfoWidgetPreferences::validate).returns(true);
+    EXPECT(InfoWidgetPreferences::storePreferences);
+    
+    m_infoWidget->readPersistentPreferences();
+    
+    QVERIFY(verify());
+}
+
+/*!
+  UT_InfoWidget::t_onInitialize
+ */
+void UT_InfoWidget::t_onInitialize()
+{    
+    QGraphicsWidget *contentWidget = NULL; 
+
+    // Test onInitialize sequence where 
+    // meta-object properties have been 
+    // initialized 
+    EXPECT(InfoWidgetPreferences::validate)
+        .returns(true);
+    EXPECT(InfoWidgetPreferences::storePreferences)
+        .returns(true);
+    EXPECT(InfoWidgetLayoutManager::contentWidget)
+        .returns(contentWidget);
+      
+    m_infoWidget->onInitialize();
+    
+    // Test onInitialize sequence where 
+    // meta-object properties are 
+    // uninitialized 
+    EXPECT(InfoWidgetPreferences::validate)
+        .returns(false);
+    EXPECT(InfoWidgetLayoutManager::contentWidget)
+        .returns(contentWidget);
+    m_infoWidget->onInitialize();
+}
+
+/*!
+  UT_InfoWidget::t_onUninitialize
+ */
+void UT_InfoWidget::t_onUninitialize()
+{
+    m_infoWidget->onUninitialize(); 
+}
+
+/*!
+  UT_InfoWidget::t_onShow
+ */
+void UT_InfoWidget::t_onShow()
+{
+    
+    m_infoWidget->m_animationState = InfoWidget::AnimationIdle; 
+    EXPECT(InfoWidgetEngine::resume);
+    m_infoWidget->onShow();
+    
+    m_infoWidget->m_animationState = InfoWidget::AnimationOngoing;
+    EXPECT(InfoWidgetEngine::resume);
+    m_infoWidget->onShow();
+    
+    m_infoWidget->m_animationState = InfoWidget::AnimationStarting;
+    EXPECT(InfoWidgetEngine::resume);
+    m_infoWidget->onShow(); 
+
+}
+
+/*!
+  UT_InfoWidget::t_onHide
+ */
+void UT_InfoWidget::t_onHide()
+{
+    m_infoWidget->onHide(); 
+}
+
+/*!
+  UT_InfoWidget::t_readModel
+ */
+void UT_InfoWidget::t_readModel()
+{
+    EXPECT(InfoWidgetLayoutManager::currentDisplayRole)
+        .returns(InfoWidgetLayoutManager::InfoDisplay);
+    m_infoWidget->readModel();
+    
+    EXPECT(InfoWidgetLayoutManager::currentDisplayRole)
+        .returns(InfoWidgetLayoutManager::SettingsDialog);
+    m_infoWidget->readModel();
+    
+    QVERIFY(verify());
+}
+
+/*!
+  UT_InfoWidget::t_handleModelError
+ */
+void UT_InfoWidget::t_handleModelError()
+{
+    int operation(0);
+    int errorCode(0); 
+    m_infoWidget->handleModelError(operation, errorCode); 
+}
+
+void UT_InfoWidget::t_spnDisplaySettingChanged()
+{
+    // user enables home zone setting
+    EXPECT(InfoWidgetPreferences::setPreference)
+        .with(InfoWidgetPreferences::DisplaySpn, KPreferenceOn);
+    int setting(Qt::Checked);
+    m_infoWidget->spnDisplaySettingChanged(setting);
+    
+    // user disables home zone setting
+    EXPECT(InfoWidgetPreferences::setPreference)
+        .with(InfoWidgetPreferences::DisplaySpn, KPreferenceOff);
+    setting = Qt::Unchecked;
+    m_infoWidget->spnDisplaySettingChanged(setting);
+    
+    QVERIFY(verify());
+}
+
+void UT_InfoWidget::t_mcnDisplaySettingChanged()
+{
+    // user enables MCN setting
+    EXPECT(InfoWidgetPreferences::setPreference)
+        .with(InfoWidgetPreferences::DisplayMcn, KPreferenceOn);
+    int setting(Qt::Checked);
+    m_infoWidget->mcnDisplaySettingChanged(setting);
+    
+    // user disables MCN setting
+    EXPECT(InfoWidgetPreferences::setPreference)
+        .with(InfoWidgetPreferences::DisplayMcn, KPreferenceOff);
+    setting = Qt::Unchecked;
+    m_infoWidget->mcnDisplaySettingChanged(setting);
+    
+    QVERIFY(verify());
+}
+
+void UT_InfoWidget::t_satDisplaySettingChanged()
+{
+    // user enables SAT setting
+    EXPECT(InfoWidgetPreferences::setPreference)
+        .with(InfoWidgetPreferences::DisplaySatText, KPreferenceOn);
+    int setting(Qt::Checked);
+    m_infoWidget->satDisplaySettingChanged(setting);
+    
+    // user disables SAT setting
+    EXPECT(InfoWidgetPreferences::setPreference)
+        .with(InfoWidgetPreferences::DisplaySatText, KPreferenceOff);
+    setting = Qt::Unchecked;
+    m_infoWidget->satDisplaySettingChanged(setting);
+    
+    QVERIFY(verify());
+}
+
+void UT_InfoWidget::t_settingsEditingFinished()
+{
+    EXPECT(InfoWidgetPreferences::validate)
+        .returns(true);
+    EXPECT(InfoWidgetPreferences::storePreferences)
+        .returns(false);
+
+    QGraphicsWidget *contentWidget = NULL; 
+    EXPECT(InfoWidgetLayoutManager::contentWidget)
+        .returns(contentWidget);
+
+    m_infoWidget->settingsEditingFinished(); 
+}
+
+void UT_InfoWidget::t_updateItemsVisibility()
+{
+    // all items visible
+    EXPECT(InfoWidgetPreferences::preference)
+        .with(InfoWidgetPreferences::DisplaySpn)
+        .returns(KPreferenceOn);
+    EXPECT(InfoWidgetPreferences::preference)
+        .with(InfoWidgetPreferences::DisplayMcn)
+        .returns(KPreferenceOn);
+    EXPECT(InfoWidgetPreferences::preference)
+        .with(InfoWidgetPreferences::DisplaySatText)
+        .returns(KPreferenceOn);
+    EXPECT(InfoWidgetLayoutManager::setLayoutRows)
+        .with(3);
+    
+    m_infoWidget->updateItemsVisibility();
+    QVERIFY(verify());
+
+}
+
+void UT_InfoWidget::t_layoutInfoDisplay()
+{
+    QGraphicsWidget *contentWidget = NULL; 
+    EXPECT(InfoWidgetLayoutManager::contentWidget)
+        .returns(contentWidget);
+    
+    m_infoWidget->layoutInfoDisplay();
+    
+    QVERIFY(verify());
+}
+
+void UT_InfoWidget::t_layoutSettingsDialog()
+{
+    m_infoWidget->layoutSettingsDialog();
+    
+    QVERIFY(verify());
+}
+
+void UT_InfoWidget::t_initializeSettingsDialogItems()
+{
+    QGraphicsWidget spnCheckBox;
+    EXPECT(InfoWidgetLayoutManager::getWidget)
+        .with(InfoWidgetLayoutManager::RoleSpnCheckBox)
+        .returns(&spnCheckBox);
+
+    QGraphicsWidget mcnCheckBox;
+    EXPECT(InfoWidgetLayoutManager::getWidget)
+        .with(InfoWidgetLayoutManager::RoleMcnCheckBox)
+        .returns(&mcnCheckBox);
+    
+    QGraphicsWidget satTextCheckBox;
+    EXPECT(InfoWidgetLayoutManager::getWidget)
+        .with(InfoWidgetLayoutManager::RoleSatTextCheckBox)
+        .returns(&satTextCheckBox);
+    
+    m_infoWidget->initializeSettingsDialogItems();
+    
+    QVERIFY(verify());
+}
+
+void UT_InfoWidget::t_startChanges()
+{
+    m_infoWidget->startChanges();
+}
+
+void UT_InfoWidget::t_endChanges()
+{
+    m_infoWidget->endChanges();
+}
+
+/*!
+  UT_InfoWidget::t_changeEvent
+ */
+void UT_InfoWidget::t_changeEvent()
+{
+    /*
+     * Not work from commmand prompt.
+     */
+    HbEvent event(HbEvent::ThemeChanged);
+    EXPECT(HbWidget::changeEvent).with(&event);
+    m_infoWidget->changeEvent(&event);
+    QVERIFY(verify());
+}
+
+/*!
+  UT_InfoWidget::t_sizeHint
+ */
+void UT_InfoWidget::t_sizeHint()
+{   
+    const QSizeF KMinimumSize(33.5, 160);
+    const QSizeF KPreferredSize(134, 160);
+    const QSizeF KDefaultSizeInfoDisplay(200, 100);
+    const QSizeF KDefaultSizeSettingsDisplay(230, 220);
+    QGraphicsWidget *contentWidget = NULL; 
+    
+    // Test: initial size after construction  
+    Qt::SizeHint sizeHint = Qt::PreferredSize;
+    QSizeF constraint = QSizeF();
+    QVERIFY(KDefaultSizeInfoDisplay == m_infoWidget->sizeHint(
+            sizeHint, constraint));
+
+    EXPECT(InfoWidgetLayoutManager::contentWidget)
+        .returns(contentWidget);
+
+    // Test: size after onInitialize is called 
+    // and current display is InfoDisplay 
+    m_infoWidget->onInitialize();
+
+    QVERIFY(verify());
+    
+    contentWidget = new QGraphicsWidget;
+    contentWidget->setMinimumSize(KMinimumSize); 
+    EXPECT(InfoWidgetLayoutManager::contentWidget).
+            returns(contentWidget);
+    EXPECT(InfoWidgetPreferences::visibleItemCount).
+            returns(1);
+    
+    // No strict verification.
+    // Data in docml is in "un" format and strict comparison to pixels won't work  
+    QVERIFY(KDefaultSizeInfoDisplay != m_infoWidget->sizeHint(sizeHint, constraint));
+    
+    QVERIFY(verify());
+
+    delete contentWidget;
+    contentWidget = NULL;
+}
+
+/*!
+  UT_InfoWidget::t_startMarquees
+ */
+void UT_InfoWidget::t_startMarquees()
+{
+    bool started(false);  
+    HbMarqueeItem spnMarqueeItem;
+    HbMarqueeItem mcnMarqueeItem;
+    HbMarqueeItem satMarqueeItem; 
+    
+    // Initialize:
+    m_infoWidget->m_animatingItems.append(&spnMarqueeItem);
+    m_infoWidget->m_animatingItems.append(&mcnMarqueeItem);
+    m_infoWidget->m_animatingItems.append(&satMarqueeItem); 
+    
+    // Test 1: 
+    m_infoWidget->m_animationState = InfoWidget::AnimationIdle;
+    started = m_infoWidget->startMarquees();
+    QVERIFY(started);
+    QVERIFY(m_infoWidget->m_animationState == InfoWidget::AnimationStarting);
+    
+    // Test 2:
+    m_infoWidget->m_animationState = InfoWidget::AnimationStarting; 
+    started = m_infoWidget->startMarquees();
+    QVERIFY(!started);
+    QVERIFY(m_infoWidget->m_animationState == InfoWidget::AnimationStarting); 
+
+    // Test 3:
+    m_infoWidget->m_animationState = InfoWidget::AnimationOngoing; 
+    started = m_infoWidget->startMarquees();
+    QVERIFY(!started);
+    QVERIFY(m_infoWidget->m_animationState == InfoWidget::AnimationOngoing); 
+
+    QVERIFY(verify());   
+}
+
+/*!
+  UT_InfoWidget::t_stopMarquees
+ */
+void UT_InfoWidget::t_stopMarquees()
+{
+    HbMarqueeItem spnMarqueeItem;
+    HbMarqueeItem mcnMarqueeItem;
+    HbMarqueeItem satMarqueeItem; 
+    
+    // Initialize:
+    m_infoWidget->m_animatingItems.append(&spnMarqueeItem);
+    m_infoWidget->m_animatingItems.append(&mcnMarqueeItem);
+    m_infoWidget->m_animatingItems.append(&satMarqueeItem); 
+ 
+    // Test 1: 
+    EXPECT(HbMarqueeItem::isAnimating).
+            returns(false);
+    EXPECT(HbMarqueeItem::isAnimating).
+            returns(false);
+    EXPECT(HbMarqueeItem::isAnimating).
+            returns(false);
+    m_infoWidget->m_animationState = InfoWidget::AnimationOngoing; 
+    m_infoWidget->stopMarquees();
+    
+    QVERIFY(m_infoWidget->m_animationState == InfoWidget::AnimationIdle); 
+    QVERIFY(m_infoWidget->m_animatingItems.count() == 0); 
+    QVERIFY(!m_infoWidget->m_animatingItem); 
+
+ 
+    // Test 2:
+    // Re-initialize:
+    m_infoWidget->m_animatingItems.append(&spnMarqueeItem);
+    m_infoWidget->m_animatingItems.append(&mcnMarqueeItem);
+    m_infoWidget->m_animatingItems.append(&satMarqueeItem); 
+    
+    EXPECT(HbMarqueeItem::isAnimating).
+            returns(true);
+    EXPECT(HbMarqueeItem::isAnimating).
+            returns(true);
+    EXPECT(HbMarqueeItem::isAnimating).
+            returns(true);
+
+    m_infoWidget->m_animationState = InfoWidget::AnimationOngoing; 
+    m_infoWidget->stopMarquees();
+    
+    QVERIFY(m_infoWidget->m_animationState == InfoWidget::AnimationIdle); 
+    QVERIFY(m_infoWidget->m_animatingItems.count() == 0); 
+    QVERIFY(!m_infoWidget->m_animatingItem); 
+
+    
+    QVERIFY(verify());
+}
+
+/*!
+  UT_InfoWidget::t_marqueeNext
+ */
+void UT_InfoWidget::t_marqueeNext()
+{
+    
+    HbMarqueeItem spnMarqueeItem;
+    spnMarqueeItem.setObjectName("id:spnMarqueeItem");
+    HbMarqueeItem mcnMarqueeItem;
+    spnMarqueeItem.setObjectName("id:mcnMarqueeItem");
+    HbMarqueeItem satMarqueeItem; 
+    spnMarqueeItem.setObjectName("id:satMarqueeItem");
+    
+    // Initialize:
+    m_infoWidget->m_animatingItems.append(&spnMarqueeItem);
+    m_infoWidget->m_animatingItems.append(&mcnMarqueeItem);
+    m_infoWidget->m_animatingItems.append(&satMarqueeItem); 
+    m_infoWidget->m_animationState = InfoWidget::AnimationOngoing;
+ 
+    // Test 1: verify loop functionality
+    m_infoWidget->m_animatingItem = &spnMarqueeItem;
+    EXPECT(HbMarqueeItem::isAnimating).
+            returns(false);
+    m_infoWidget->marqueeNext();
+    QVERIFY(m_infoWidget->m_animatingItem == &mcnMarqueeItem); 
+
+    // Test 2: verify loop functionality
+    EXPECT(HbMarqueeItem::isAnimating).
+            returns(false);
+    m_infoWidget->marqueeNext();
+    QVERIFY(m_infoWidget->m_animatingItem == &satMarqueeItem); 
+
+    // Test 3: verify loop functionality, loop to begin
+    EXPECT(HbMarqueeItem::isAnimating).
+            returns(false);
+    m_infoWidget->marqueeNext();
+    QVERIFY(m_infoWidget->m_animatingItem == &spnMarqueeItem); 
+    
+    QVERIFY(verify());
+}
+
+/*!
+  UT_InfoWidget::t_timerEvent
+ */
+void UT_InfoWidget::t_timerEvent()
+{
+    // Test 1: 
+    QScopedPointer<QTimerEvent> timerEvent(new QTimerEvent(0));
+    m_infoWidget->m_animationState = InfoWidget::AnimationStarting; 
+    HbMarqueeItem animatingItem; 
+    if (!m_infoWidget->m_animatingItem) {
+        m_infoWidget->m_animatingItem = &animatingItem; 
+    }
+    
+    m_infoWidget->timerEvent(timerEvent.data());
+    QVERIFY(m_infoWidget->m_animationState == InfoWidget::AnimationOngoing); 
+
+    // Test 2: 
+    m_infoWidget->m_animationState = InfoWidget::AnimationStarting; 
+    m_infoWidget->m_animatingItem = NULL;  
+    m_infoWidget->timerEvent(timerEvent.data());
+    QVERIFY(m_infoWidget->m_animationState == InfoWidget::AnimationStarting); 
+
+    // Test 3: 
+    m_infoWidget->m_animationState = InfoWidget::AnimationIdle; 
+    QVERIFY(m_infoWidget->m_animationState == InfoWidget::AnimationIdle); 
+    
+    QVERIFY(verify());
+}
+
+
+QTEST_MAIN_S60(UT_InfoWidget)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/tsrc/ut_infowidget/ut_infowidget.pro	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,66 @@
+#
+# 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: Project file for building unit test component
+#
+#
+
+CONFIG += qtestlib hb
+TEMPLATE = app
+TARGET = 
+DEPENDPATH  += . ../../infowidget/src 
+INCLUDEPATH += .
+INCLUDEPATH += ../common
+INCLUDEPATH += ../../inc/
+INCLUDEPATH += ../../infowidget/inc/
+DEFINES += QT_NO_DEBUG_STREAM
+
+
+QT -= gui
+QT += testlib
+
+symbian: {
+  CONFIG += no_icon
+  INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
+  LIBS += -lmocklib 		\
+          -lsymbianmock 	\
+          -lhswidgetmodel
+}
+
+# test code
+HEADERS += ./inc/ut_infowidget.h
+SOURCES += ./src/ut_infowidget.cpp
+
+# code to be tested
+HEADERS += ../../infowidget/inc/infowidget.h
+SOURCES += ../../infowidget/src/infowidget.cpp
+
+# mocks needed for testing
+HEADERS += ../../infowidget/inc/infowidgetpreferences.h
+SOURCES += ../mocks/mock_infowidgetpreferences.cpp
+HEADERS += ../../infowidget/inc/infowidgetengine.h
+SOURCES += ../mocks/mock_infowidgetengine.cpp
+HEADERS += ../../infowidget/inc/infowidgetlayoutmanager.h
+SOURCES += ../mocks/mock_infowidgetlayoutmanager.cpp
+HEADERS += ../../infowidget/inc/infowidgetnetworkhandler.h
+SOURCES += ../mocks/mock_infowidgetnetworkhandler.cpp
+HEADERS += ../../infowidget/inc/infowidgetsathandler.h
+SOURCES += ../mocks/mock_infowidgetsathandler.cpp
+
+SOURCES += ../mocks/mock_hbcolorscheme.cpp
+SOURCES += ../mocks/mock_hbmarqueeitem.cpp
+SOURCES += ../mocks/mock_hbwidget.cpp
+SOURCES += ../mocks/mock_qgraphicslinearlayout.cpp
+SOURCES += ../mocks/mock_qgraphicslayout.cpp
+SOURCES += ../mocks/mock_hbframedrawer.cpp
+SOURCES += ../mocks/mock_hbframeitem.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/tsrc/ut_infowidgetengine/inc/ut_infowidgetengine.h	Thu Jul 22 16:33:21 2010 +0100
@@ -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 UT_INFOWIDGETENGINE_H
+#define UT_INFOWIDGETENGINE_H
+
+#include <QtTest/QtTest>
+#include <mockservice.h>
+
+class InfoWidgetEngine;
+
+class UT_InfoWidgetEngine : public QObject, public MockService
+{
+    Q_OBJECT
+
+public:    
+    
+    UT_InfoWidgetEngine();
+    ~UT_InfoWidgetEngine();
+    
+private slots:
+
+    void init();
+    void cleanup();
+
+    void t_modelData();
+    void t_updateNetworkDataToModel();
+    void t_updateSatDataToModel();
+    void t_updateLineDataToModel();
+    void t_handleNetworkError();
+    void t_handleSatError(); 
+    void t_handleLineError();
+    
+    void t_handlePreferencesChanged();
+    void t_suspend();
+    void t_resume();
+    
+private:
+    
+    InfoWidgetEngine *m_infoWidgetEngine;
+
+};
+
+#endif // UT_INFOWIDGETENGINE_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/tsrc/ut_infowidgetengine/run_auto_tests_qt.bat	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,192 @@
+rem
+rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+rem All rights reserved.
+rem This component and the accompanying materials are made available
+rem under the terms of "Eclipse Public License v1.0"
+rem which accompanies this distribution, and is available
+rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
+rem
+rem Initial Contributors:
+rem Nokia Corporation - initial contribution.
+rem
+rem Contributors:
+rem
+rem Description:
+rem
+
+@echo off
+setlocal
+goto :startup 
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function DEFAULT
+::
+:: Modify this function
+::  - TESTED_SRC can be changed to match tested code.
+::    Specifies path from testcode group directory to
+::    tested code
+::  - Add test directories to be runned
+::    ie. "call :build ut_projectdirectory" or use
+::    "for /f %%a in ('dir /b ut_*') do call :build %%a"
+::    which compiles, instruments and runs all test directories
+::    starting with "ut_".
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:DEFAULT
+set TESTED_SRC=..\..\infowidget\src\*.cpp
+
+for /f %%a in ('dir /b ut_*') do call :build %%a
+if [%DOMODULESTESTS%] EQU [TRUE] (
+for /f %%a in ('dir /b mt_*') do call :build %%a
+)
+
+call :finish
+goto :END
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function STARTUP
+::
+:: Initializing script
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:STARTUP
+
+set BUILDTESTS=TRUE
+set RUNTESTS=TRUE
+set INSTRUMENT=TRUE
+set REMOVEINSTRUMENT=TRUE
+set DOMODULESTESTS=TRUE
+set ABLD_CALL= -2comp  sbs.bat -c winscw_udeb --keepgoing
+set PATH_TO_DLL=\epoc32\release\winscw\udeb
+set PATH_TO_COVERAGE_DATA=\coverage_data
+set PATH_TO_RESULT=\test_result
+
+if not exist %PATH_TO_COVERAGE_DATA% (
+mkdir %PATH_TO_COVERAGE_DATA%
+)
+
+if not exist %PATH_TO_RESULT% (
+mkdir %PATH_TO_RESULT%
+)
+
+if [%1] EQU [] ( goto default )
+
+call :%1
+call :%2
+call :%3
+call :%4
+call :%5
+echo Running tests = %RUNTESTS%
+echo Instrumenting tests = %INSTRUMENT%
+goto default
+
+:/NOCLEANUP
+set REMOVEINSTRUMENT=FALSE
+goto end
+
+:/NORUN
+set RUNTESTS=FALSE
+set REMOVEINSTRUMENT=FALSE
+goto end
+
+:/NOINSTRUMENT
+set INSTRUMENT=FALSE
+goto end
+
+:/NOBUILD
+set BUILDTESTS=FALSE
+goto end
+
+:/ONLYUNITTESTS
+set DOMODULESTESTS=FALSE
+goto end
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function FINISH
+::
+:: Finishes run_auto_tests.bat
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:FINISH
+
+if [%RUNTESTS%] EQU [TRUE] (
+call :runtests
+)
+
+if [%INSTRUMENT%] EQU [TRUE] (
+call :calculatecoverage
+)
+
+if [%REMOVEINSTRUMENT%] EQU [TRUE] (
+call :removecoverage
+)
+goto end
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function BUILD
+::    param directory
+::
+:: builds test from given directory
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:BUILD
+setlocal
+if [%BUILDTESTS%] EQU [FALSE] ( goto end )
+echo Building %1
+if not exist %1 ( 
+echo %1 Not found! 
+goto end
+)
+
+pushd .
+call cd %1
+call qmake
+call sbs -c winscw_udeb clean
+if [%INSTRUMENT%] EQU [TRUE] (
+call ctcwrap -n %PATH_TO_COVERAGE_DATA%\%1 -i d -C "EXCLUDE=*" -C "NO_EXCLUDE=%TESTED_SRC%" %ABLD_CALL%
+) else (
+call %ABLD_CALL%
+)
+
+popd
+endlocal
+goto end
+
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function RUNTESTS
+::
+:: NOTE! Function assumes that test binary is named according to test directory.
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:RUNTESTS
+echo Running tests
+call %PATH_TO_DLL%\ut_infowidgetengine.exe -dtextshell --
+move \epoc32\winscw\c\data\ut_infowidgetengine.log %PATH_TO_RESULT%\ut_infowidgetengine.log
+goto end
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function CALCULATECOVERAGE
+::
+:: Calculates test coverage. Generates html
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:CALCULATECOVERAGE
+echo Calculating coverage
+ctcpost %PATH_TO_COVERAGE_DATA%\*.sym -p - | ctcmerge -i - -o profile.txt
+call ctc2html -t 70 -i profile.txt -o \coverage_result -nsb
+goto end
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function REMOVECOVERAGE
+::
+:: Removes data from coverage directory
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:REMOVECOVERAGE
+echo Removing deleting coverage data
+call del %PATH_TO_COVERAGE_DATA%\*.sym
+call del %PATH_TO_COVERAGE_DATA%\*.dat
+call del profile.txt
+goto end
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function END
+::
+:: Prints done
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:END
+echo Done!
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/tsrc/ut_infowidgetengine/src/ut_infowidgetengine.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,268 @@
+/*
+* 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 "ut_infowidgetengine.h"
+#include "infowidgetengine.h"
+#include "qtestmains60.h"
+#include "infowidgetpreferences.h"
+
+// mocked dependencies of the class under test
+#include "infowidgetnetworkhandler.h"
+#include "infowidgetsathandler.h"
+
+const QString KSpnName("Spn name");    // 
+
+const QString KHomeZoneTextTag("HomeZoneText0");    // max length 13
+const TNWViagIndicatorType 
+    KHomeZoneIndicatorType = ENWViagIndicatorTypeHomeZone;
+
+const QString KMcnName("McnNameMcnNameMcnNam");     // max length 20 
+const TNWMCNIndicatorType 
+    KMcnIndicatorType = ENWMCNIndicatorTypeActive;
+
+/*!
+  UT_InfoWidgetEngine::UT_InfoWidgetEngine
+ */
+UT_InfoWidgetEngine::UT_InfoWidgetEngine() 
+    : 
+    m_infoWidgetEngine(0)
+{
+    
+}
+
+/*!
+  UT_InfoWidgetEngine::~UT_InfoWidgetEngine
+ */
+UT_InfoWidgetEngine::~UT_InfoWidgetEngine()
+{
+    delete m_infoWidgetEngine;
+}
+
+/*!
+  UT_InfoWidgetEngine::init
+ */
+void UT_InfoWidgetEngine::init()
+{
+    initialize();
+    
+    SmcDefaultValue<QString>::SetL("");
+    SmcDefaultValue<const QString & >::SetL("");
+    
+    EXPECT(InfoWidgetNetworkHandler::isOnline)
+        .returns(true);    
+    
+    EXPECT(InfoWidgetNetworkHandler::serviceProviderName)
+        .returns(KSpnName);
+    EXPECT(InfoWidgetNetworkHandler::serviceProviderNameDisplayRequired)
+        .returns(true);
+
+    EXPECT(InfoWidgetNetworkHandler::mcnName).returns(KMcnName);
+    EXPECT(InfoWidgetNetworkHandler::mcnIndicatorType)
+        .returns(KMcnIndicatorType);
+
+    EXPECT(InfoWidgetNetworkHandler::homeZoneIndicatorType)
+        .returns(KHomeZoneIndicatorType);
+    EXPECT(InfoWidgetNetworkHandler::homeZoneTextTag)
+        .returns(KHomeZoneTextTag);
+    
+    m_infoWidgetEngine = new InfoWidgetEngine();
+    
+    QVERIFY(verify());
+}
+
+/*!
+  UT_InfoWidgetEngine::cleanup
+ */
+void UT_InfoWidgetEngine::cleanup()
+{
+    reset();
+    
+    delete m_infoWidgetEngine;
+    m_infoWidgetEngine = 0;
+}
+
+/*!
+  UT_InfoWidgetEngine::t_modelData
+ */
+void UT_InfoWidgetEngine::t_modelData()
+{
+    const InfoWidgetEngine::ModelData& data = m_infoWidgetEngine->modelData();
+    QVERIFY(data.serviceProviderName() == KSpnName);
+    QVERIFY(data.serviceProviderNameDisplayRequired() == true);
+    QVERIFY(data.homeZoneTextTag() == KHomeZoneTextTag);
+    QVERIFY(data.homeZoneIndicatorType() == KHomeZoneIndicatorType);
+    QVERIFY(data.mcnName() == KMcnName);
+    QVERIFY(data.mcnIndicatorType() == KMcnIndicatorType);
+}
+
+/*!
+  UT_InfoWidgetEngine::t_updateNetworkDataToModel
+ */
+void UT_InfoWidgetEngine::t_updateNetworkDataToModel()
+{
+    // Test: network status is online
+    EXPECT(InfoWidgetNetworkHandler::isOnline)
+        .returns(true);    
+    
+    EXPECT(InfoWidgetNetworkHandler::serviceProviderName)
+        .returns(KSpnName);
+    EXPECT(InfoWidgetNetworkHandler::serviceProviderNameDisplayRequired)
+        .returns(true);
+
+    EXPECT(InfoWidgetNetworkHandler::mcnName).returns(KMcnName);
+    EXPECT(InfoWidgetNetworkHandler::mcnIndicatorType)
+        .returns(KMcnIndicatorType);
+
+    EXPECT(InfoWidgetNetworkHandler::homeZoneIndicatorType)
+        .returns(KHomeZoneIndicatorType);
+    EXPECT(InfoWidgetNetworkHandler::homeZoneTextTag)
+        .returns(KHomeZoneTextTag);
+    
+    QSignalSpy spy(m_infoWidgetEngine, SIGNAL(modelChanged()));
+    m_infoWidgetEngine->updateNetworkDataToModel();
+    
+    const int KExpectedNumOfSignalEmissions = 1;
+    QCOMPARE(spy.count(), KExpectedNumOfSignalEmissions);
+    const QList<QVariant> &arguments = spy.takeFirst(); 
+    QCOMPARE(arguments.count(), 0);
+    
+    QVERIFY(verify());
+    
+    // Test: network status is offline
+    EXPECT(InfoWidgetNetworkHandler::isOnline)
+          .returns(false);    
+    EXPECT(InfoWidgetNetworkHandler::serviceProviderName).times(0);
+    EXPECT(InfoWidgetNetworkHandler::serviceProviderNameDisplayRequired).times(0);
+    EXPECT(InfoWidgetNetworkHandler::mcnName).times(0);
+    EXPECT(InfoWidgetNetworkHandler::mcnIndicatorType).times(0);
+    EXPECT(InfoWidgetNetworkHandler::homeZoneIndicatorType).times(0);
+    EXPECT(InfoWidgetNetworkHandler::homeZoneTextTag).times(0);
+      
+    m_infoWidgetEngine->updateNetworkDataToModel();
+    QCOMPARE(spy.count(), KExpectedNumOfSignalEmissions);
+    const QList<QVariant> &arguments2 = spy.takeFirst(); 
+    QCOMPARE(arguments2.count(), 0);
+    
+    QVERIFY(verify());
+    
+    const InfoWidgetEngine::ModelData& data = m_infoWidgetEngine->modelData();
+    QVERIFY(data.serviceProviderName() == QString(""));
+    QVERIFY(data.homeZoneTextTag() == QString(""));
+    QVERIFY(data.mcnName() == QString(""));
+    
+}
+
+/*!
+  UT_InfoWidgetEngine::t_updateSatDataToModel
+ */
+void UT_InfoWidgetEngine::t_updateSatDataToModel()
+{
+    EXPECT(InfoWidgetSatHandler::satDisplayText)
+        .returns(QString(""));
+    
+    m_infoWidgetEngine->updateSatDataToModel();
+}
+
+/*!
+  UT_InfoWidgetEngine::t_updateLineDataToModel
+ */
+void UT_InfoWidgetEngine::t_updateLineDataToModel()
+{
+    m_infoWidgetEngine->updateLineDataToModel();
+    
+    QVERIFY(verify());
+}
+
+/*!
+  UT_InfoWidgetEngine::t_handleNetworkError
+ */
+void UT_InfoWidgetEngine::t_handleNetworkError()
+{
+    m_infoWidgetEngine->handleNetworkError(0, 0);
+    
+    QVERIFY(verify());
+}
+
+/*!
+  UT_InfoWidgetEngine::t_handleSatError
+ */
+void UT_InfoWidgetEngine::t_handleSatError()
+{
+    m_infoWidgetEngine->handleSatError(0, 0);
+    
+    QVERIFY(verify());
+}
+
+/*!
+  UT_InfoWidgetEngine::t_handleLineError
+ */
+void UT_InfoWidgetEngine::t_handleLineError()
+{
+    m_infoWidgetEngine->handleLineError(0, 0);
+    
+    QVERIFY(verify());
+}
+
+/*!
+  UT_InfoWidgetEngine::t_handlePreferencesChanged
+ */
+void UT_InfoWidgetEngine::t_handlePreferencesChanged()
+{
+    InfoWidgetPreferences::Options testOptions; 
+    // Preconditions: 
+    testOptions &= ~InfoWidgetPreferences::DisplayHomeZone;
+    testOptions &= ~InfoWidgetPreferences::DisplayActiveLine;
+    testOptions &= ~InfoWidgetPreferences::DisplaySpn;
+    
+    // Test 1: Mcn ON; SAT OFF   
+    testOptions |= InfoWidgetPreferences::DisplayMcn; 
+    testOptions &= ~InfoWidgetPreferences::DisplaySatText;
+    EXPECT(InfoWidgetNetworkHandler::enableMcn); 
+    EXPECT(InfoWidgetSatHandler::connect).with(false);
+    m_infoWidgetEngine->handlePreferencesChanged(testOptions); 
+    QVERIFY(verify());    
+    
+    // Test 2: Mcn OFF; SAT ON   
+    testOptions &= ~InfoWidgetPreferences::DisplayMcn; 
+    testOptions |= InfoWidgetPreferences::DisplaySatText;
+    EXPECT(InfoWidgetNetworkHandler::disableMcn); 
+    EXPECT(InfoWidgetSatHandler::connect).with(true);
+    m_infoWidgetEngine->handlePreferencesChanged(testOptions); 
+    QVERIFY(verify());    
+
+}
+
+/*!
+  UT_InfoWidgetEngine::t_suspend
+ */
+void UT_InfoWidgetEngine::t_suspend()
+{
+    m_infoWidgetEngine->suspend();
+        
+    QVERIFY(verify());
+}
+
+/*!
+  UT_InfoWidgetEngine::t_resume
+ */
+void UT_InfoWidgetEngine::t_resume()
+{
+    m_infoWidgetEngine->resume();
+        
+    QVERIFY(verify());
+}
+
+QTEST_MAIN_S60(UT_InfoWidgetEngine)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/tsrc/ut_infowidgetengine/ut_infowidgetengine.pro	Thu Jul 22 16:33:21 2010 +0100
@@ -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: Project file for building unit test component
+#
+#
+
+CONFIG += qtestlib hb
+TEMPLATE = app
+TARGET = 
+DEPENDPATH  += . ../../infowidget/src ../../infowidget/inc
+INCLUDEPATH += .
+INCLUDEPATH += ../common
+INCLUDEPATH += ../../inc/
+INCLUDEPATH += ../../infowidget/inc/
+DEFINES += XQSETTINGSMANAGER_NO_LIBRARY
+DEFINES += QT_NO_DEBUG_STREAM
+
+QT -= gui
+QT += testlib
+
+symbian: {
+  CONFIG += no_icon
+  INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE
+  LIBS += -lmocklib 		\
+          -lsymbianmock 	\
+          -lcpframework
+}
+    
+# test code
+HEADERS += ./inc/ut_infowidgetengine.h
+SOURCES += ./src/ut_infowidgetengine.cpp
+
+# code to be tested
+HEADERS += ../../infowidget/inc/infowidgetengine.h
+SOURCES += ../../infowidget/src/infowidgetengine.cpp
+
+# mocks needed for testing
+HEADERS += ../../infowidget/inc/infowidgetnetworkhandler.h \
+           ../../infowidget/inc/infowidgetsathandler.h
+HEADERS += /epoc32/include/platform/mw/xqsettingskey.h \
+           /epoc32/include/platform/mw/xqsettingsmanager.h
+
+SOURCES += ../mocks/mock_xqsettingsmanager.cpp \
+           ../mocks/mock_xqsettingskey.cpp     \
+           ../mocks/mock_infowidgetnetworkhandler.cpp \
+           ../mocks/mock_infowidgetsathandler.cpp \
+           ../mocks/mock_rsatservice.cpp 
+           
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/tsrc/ut_infowidgetlayoutmanager/inc/ut_infowidgetlayoutmanager.h	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,81 @@
+/*
+* 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 UT_INFOWIDGETLAYOUTMANAGER_H
+#define UT_INFOWIDGETLAYOUTMANAGER_H
+
+#include <QtTest/QtTest>
+#include <mockservice.h>
+
+class InfoWidgetLayoutManager;
+class InfoWidgetDocumentLoader;
+
+class UT_InfoWidgetLayoutManager : public QObject, public MockService
+{
+    Q_OBJECT
+
+public:  
+    UT_InfoWidgetLayoutManager();
+    ~UT_InfoWidgetLayoutManager();
+
+private:     
+    void fillDisplayContainers();
+    void fillCurrentWidgetsContainer();
+    void fillParams(const QString & fileName, bool * ok);
+    
+private slots:
+    void init();
+    void cleanup();
+
+    void t_currentDisplayRole();
+    void t_currentWidgetRoles();
+    void t_layoutRows(); 
+    void t_setLayoutRows();
+    void t_rowHeight();
+    void t_layoutInfoDisplay();
+    void t_layoutSettingsDialog();
+    void t_widgetRoles();
+    void t_loadWidgets();
+    void t_loadWidget();
+    void t_loadObject();
+    void t_getWidget();
+    void t_contentWidget();
+    void t_reloadWidgets();
+    void t_removeWidget();
+    void t_destroyWidgets();
+    void t_textFitsToRect(); 
+    void t_marqueeItems(); 
+            
+    // InfoWidgetDocumentLoader tests 
+    void t_createObject();
+    
+private:    
+    InfoWidgetLayoutManager *m_layoutManager;
+    InfoWidgetDocumentLoader *m_documentLoader;
+    
+    QPointer<QGraphicsWidget> m_graphicsWidgetPtr;
+
+    bool loadResultInfoWidgetDocml;  
+    bool loadResultSettingsDialogDocml;
+    
+    QObjectList objectListInfoDisplayWidgets;
+    QObjectList objectListSettingsDialogWidgets;
+
+    
+};
+
+#endif // UT_INFOWIDGETLAYOUTMANAGER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/tsrc/ut_infowidgetlayoutmanager/run_auto_tests_qt.bat	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,192 @@
+rem
+rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+rem All rights reserved.
+rem This component and the accompanying materials are made available
+rem under the terms of "Eclipse Public License v1.0"
+rem which accompanies this distribution, and is available
+rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
+rem
+rem Initial Contributors:
+rem Nokia Corporation - initial contribution.
+rem
+rem Contributors:
+rem
+rem Description:
+rem
+
+@echo off
+setlocal
+goto :startup 
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function DEFAULT
+::
+:: Modify this function
+::  - TESTED_SRC can be changed to match tested code.
+::    Specifies path from testcode group directory to
+::    tested code
+::  - Add test directories to be runned
+::    ie. "call :build ut_projectdirectory" or use
+::    "for /f %%a in ('dir /b ut_*') do call :build %%a"
+::    which compiles, instruments and runs all test directories
+::    starting with "ut_".
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:DEFAULT
+set TESTED_SRC=..\..\infowidget\src\*.cpp
+
+for /f %%a in ('dir /b ut_*') do call :build %%a
+if [%DOMODULESTESTS%] EQU [TRUE] (
+for /f %%a in ('dir /b mt_*') do call :build %%a
+)
+
+call :finish
+goto :END
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function STARTUP
+::
+:: Initializing script
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:STARTUP
+
+set BUILDTESTS=TRUE
+set RUNTESTS=TRUE
+set INSTRUMENT=TRUE
+set REMOVEINSTRUMENT=TRUE
+set DOMODULESTESTS=TRUE
+set ABLD_CALL= -2comp  sbs.bat -c winscw_udeb --keepgoing
+set PATH_TO_DLL=\epoc32\release\winscw\udeb
+set PATH_TO_COVERAGE_DATA=\coverage_data
+set PATH_TO_RESULT=\test_result
+
+if not exist %PATH_TO_COVERAGE_DATA% (
+mkdir %PATH_TO_COVERAGE_DATA%
+)
+
+if not exist %PATH_TO_RESULT% (
+mkdir %PATH_TO_RESULT%
+)
+
+if [%1] EQU [] ( goto default )
+
+call :%1
+call :%2
+call :%3
+call :%4
+call :%5
+echo Running tests = %RUNTESTS%
+echo Instrumenting tests = %INSTRUMENT%
+goto default
+
+:/NOCLEANUP
+set REMOVEINSTRUMENT=FALSE
+goto end
+
+:/NORUN
+set RUNTESTS=FALSE
+set REMOVEINSTRUMENT=FALSE
+goto end
+
+:/NOINSTRUMENT
+set INSTRUMENT=FALSE
+goto end
+
+:/NOBUILD
+set BUILDTESTS=FALSE
+goto end
+
+:/ONLYUNITTESTS
+set DOMODULESTESTS=FALSE
+goto end
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function FINISH
+::
+:: Finishes run_auto_tests.bat
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:FINISH
+
+if [%RUNTESTS%] EQU [TRUE] (
+call :runtests
+)
+
+if [%INSTRUMENT%] EQU [TRUE] (
+call :calculatecoverage
+)
+
+if [%REMOVEINSTRUMENT%] EQU [TRUE] (
+call :removecoverage
+)
+goto end
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function BUILD
+::    param directory
+::
+:: builds test from given directory
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:BUILD
+setlocal
+if [%BUILDTESTS%] EQU [FALSE] ( goto end )
+echo Building %1
+if not exist %1 ( 
+echo %1 Not found! 
+goto end
+)
+
+pushd .
+call cd %1
+call qmake
+call sbs -c winscw_udeb clean
+if [%INSTRUMENT%] EQU [TRUE] (
+call ctcwrap -n %PATH_TO_COVERAGE_DATA%\%1 -i d -C "EXCLUDE=*" -C "NO_EXCLUDE=%TESTED_SRC%" %ABLD_CALL%
+) else (
+call %ABLD_CALL%
+)
+
+popd
+endlocal
+goto end
+
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function RUNTESTS
+::
+:: NOTE! Function assumes that test binary is named according to test directory.
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:RUNTESTS
+echo Running tests
+call %PATH_TO_DLL%\ut_infowidgetlayoutmanager.exe -dtextshell --
+move \epoc32\winscw\c\data\ut_infowidgetlayoutmanager.log %PATH_TO_RESULT%\ut_infowidgetlayoutmanager.log
+goto end
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function CALCULATECOVERAGE
+::
+:: Calculates test coverage. Generates html
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:CALCULATECOVERAGE
+echo Calculating coverage
+ctcpost %PATH_TO_COVERAGE_DATA%\*.sym -p - | ctcmerge -i - -o profile.txt
+call ctc2html -t 70 -i profile.txt -o \coverage_result -nsb
+goto end
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function REMOVECOVERAGE
+::
+:: Removes data from coverage directory
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:REMOVECOVERAGE
+echo Removing deleting coverage data
+call del %PATH_TO_COVERAGE_DATA%\*.sym
+call del %PATH_TO_COVERAGE_DATA%\*.dat
+call del profile.txt
+goto end
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function END
+::
+:: Prints done
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:END
+echo Done!
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/tsrc/ut_infowidgetlayoutmanager/src/ut_infowidgetlayoutmanager.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,532 @@
+/*
+* 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 "ut_infowidgetlayoutmanager.h"
+#include <QGraphicsWidget>
+#include <QRectF>
+#include <QPointF>
+#include <QString>
+#include <QFont>
+#include <QFontMetricsF>
+#include <hbmarqueeitem.h>
+#include <hbstyle.h>
+#define private public
+#include "infowidgetlayoutmanager.h"
+#include "qtestmains60.h"
+
+const int KNumOfSettingsDisplayRoles = 5;
+const int KNumOfInfoDisplayRoles = 7;
+const QString KInfoWidgetDocmlFile = ":/resource/infowidget.docml";
+const QString KSettingsDialogDocmlFile = ":/resource/settingsdialog.docml";
+const QString KMargueeItemClassName = HbMarqueeItem::staticMetaObject.className();
+
+//class HbStyle;
+/*!
+  UT_InfoWidgetLayoutManager::UT_InfoWidgetLayoutManager
+ */
+UT_InfoWidgetLayoutManager::UT_InfoWidgetLayoutManager() 
+    : 
+    m_layoutManager(NULL),
+    m_documentLoader(NULL)
+{
+    m_graphicsWidgetPtr = new QGraphicsWidget;
+}
+
+
+/*!
+  UT_InfoWidgetLayoutManager::~UT_InfoWidgetLayoutManager
+ */
+UT_InfoWidgetLayoutManager::~UT_InfoWidgetLayoutManager()
+{
+    delete m_layoutManager;
+    delete m_graphicsWidgetPtr; 
+}
+
+
+/*!
+  UT_InfoWidgetLayoutManager::init
+ */
+void UT_InfoWidgetLayoutManager::init()
+{
+    initialize();
+    bool loadResultInfoWidgetDocml = true;  
+    bool loadResultSettingsDialogDocml = true;
+    
+    QObjectList objectListInfoDisplayWidgets;
+    QObjectList objectListSettingsDialogWidgets;
+    
+    EXPECT(HbDocumentLoader::load)
+        .with(KInfoWidgetDocmlFile, loadResultInfoWidgetDocml)
+        .returns(&objectListInfoDisplayWidgets);
+    EXPECT(HbDocumentLoader::load)
+        .with(KSettingsDialogDocmlFile, loadResultSettingsDialogDocml)
+        .returns(&objectListSettingsDialogWidgets);
+    m_layoutManager = new InfoWidgetLayoutManager();
+    
+    m_documentLoader = new InfoWidgetDocumentLoader; 
+    
+    QVERIFY(verify());
+}
+
+/*!
+  UT_InfoWidgetLayoutManager::cleanup
+ */
+void UT_InfoWidgetLayoutManager::cleanup()
+{
+    reset();
+    
+    delete m_layoutManager;
+    m_layoutManager = NULL; 
+    
+    delete m_documentLoader; 
+    m_documentLoader = NULL; 
+}
+
+/*!
+  UT_InfoWidgetLayoutManager::fillDisplayContainers
+ */
+void UT_InfoWidgetLayoutManager::fillDisplayContainers()
+{
+    InfoWidgetLayoutManager::LayoutItemRole currentRole; 
+    
+    QList<InfoWidgetLayoutManager::LayoutItemRole> infoDisplayWidgetRoles = 
+            m_layoutManager->widgetRoles(InfoWidgetLayoutManager::InfoDisplay); 
+    foreach (currentRole, infoDisplayWidgetRoles) {
+        m_layoutManager->m_infoDisplayWidgets.insert(currentRole, m_graphicsWidgetPtr.data());    
+    }
+     
+    QList<InfoWidgetLayoutManager::LayoutItemRole> settingsDisplayWidgetRoles = 
+            m_layoutManager->widgetRoles(InfoWidgetLayoutManager::SettingsDialog); 
+    foreach (currentRole, settingsDisplayWidgetRoles) {
+        m_layoutManager->m_settingsDialogWidgets.insert(currentRole, m_graphicsWidgetPtr.data());    
+    }
+}
+
+/*!
+  UT_InfoWidgetLayoutManager::fillParams
+ */
+void UT_InfoWidgetLayoutManager::fillParams(const QString & fileName,
+        bool * ok){
+    Q_UNUSED(fileName)
+    *ok = true;
+}
+
+/*!
+  UT_InfoWidgetLayoutManager::fillCurrentWidgetsContainer
+ */
+void UT_InfoWidgetLayoutManager::fillCurrentWidgetsContainer()
+{
+    InfoWidgetLayoutManager::LayoutItemRole currentRole; 
+    
+    QList<InfoWidgetLayoutManager::LayoutItemRole> infoDisplayWidgetRoles = 
+            m_layoutManager->widgetRoles(InfoWidgetLayoutManager::InfoDisplay); 
+    foreach (currentRole, infoDisplayWidgetRoles) {
+        m_layoutManager->m_widgets.insert(currentRole, m_graphicsWidgetPtr.data());    
+    }
+}
+
+/*!
+  UT_InfoWidgetLayoutManager::t_currentDisplayRole
+ */
+void UT_InfoWidgetLayoutManager::t_currentDisplayRole()
+{
+    InfoWidgetLayoutManager::DisplayRole role =
+        m_layoutManager->currentDisplayRole();
+    
+    QVERIFY(InfoWidgetLayoutManager::InfoDisplay == role);
+}
+
+
+/*!
+  UT_InfoWidgetLayoutManager::t_currentWidgetRoles
+ */
+void UT_InfoWidgetLayoutManager::t_currentWidgetRoles()
+{
+    // Initial state after layout manager construction 
+    QList<InfoWidgetLayoutManager::LayoutItemRole> roles =
+        m_layoutManager->currentWidgetRoles();
+    QVERIFY(roles.count() == 0);
+    
+    // Fill display container data 
+    fillDisplayContainers();
+    
+    QGraphicsLayout *activeLayout;    
+    activeLayout= m_layoutManager->layoutInfoDisplay(); 
+    QVERIFY(!activeLayout);
+    
+    roles = m_layoutManager->currentWidgetRoles();
+            
+    QVERIFY(roles.count() == KNumOfInfoDisplayRoles);
+    if (roles.count() == KNumOfInfoDisplayRoles) {
+        QVERIFY(0 <= roles.indexOf(
+            InfoWidgetLayoutManager::RoleContent));
+        QVERIFY(0 <= roles.indexOf(
+            InfoWidgetLayoutManager::RoleSpnMarqueeItem));
+        QVERIFY(0 <= roles.indexOf(
+            InfoWidgetLayoutManager::RoleMcnMarqueeItem));
+        QVERIFY(0 <= roles.indexOf(
+            InfoWidgetLayoutManager::RoleSatMarqueeItem));
+        QVERIFY(0 <= roles.indexOf(
+            InfoWidgetLayoutManager::RoleSpnIcon));
+        QVERIFY(0 <= roles.indexOf(
+            InfoWidgetLayoutManager::RoleMcnIcon));
+        QVERIFY(0 <= roles.indexOf(
+            InfoWidgetLayoutManager::RoleSatTextIcon));
+    }
+    
+    activeLayout= m_layoutManager->layoutSettingsDialog(); 
+    QVERIFY(!activeLayout);
+
+    roles = m_layoutManager->currentWidgetRoles();
+    int dVar = roles.count();  
+    QVERIFY(roles.count() == KNumOfSettingsDisplayRoles);
+
+}
+
+
+/*!
+  UT_InfoWidgetLayoutManager::t_layoutRows
+ */
+void UT_InfoWidgetLayoutManager::t_layoutRows()
+{
+    int rows = m_layoutManager->layoutRows();
+    QVERIFY(0 == rows);
+}
+
+
+/*!
+  UT_InfoWidgetLayoutManager::t_setLayoutRows
+ */
+void UT_InfoWidgetLayoutManager::t_setLayoutRows()
+{
+    const int KLayoutRows = 1;
+    m_layoutManager->setLayoutRows(KLayoutRows);
+    QVERIFY(KLayoutRows == m_layoutManager->layoutRows());
+}
+
+/*!
+  UT_InfoWidgetLayoutManager::t_setLayoutRows
+ */
+void UT_InfoWidgetLayoutManager::t_rowHeight()
+{
+    bool b = false;
+    EXPECT(HbStyle::parameter).returns(b);
+    m_layoutManager->layoutRowHeight();
+    
+    b = true;
+    EXPECT(HbStyle::parameter).returns(b);
+    m_layoutManager->layoutRowHeight();
+    
+    QVERIFY(verify()); 
+}
+
+/*!
+  UT_InfoWidgetLayoutManager::t_layoutInfoDisplay
+ */
+void UT_InfoWidgetLayoutManager::t_layoutInfoDisplay()
+{
+    QVERIFY(!m_layoutManager->layoutInfoDisplay());
+}
+
+
+/*!
+  UT_InfoWidgetLayoutManager::t_layoutSettingsDialog
+ */
+void UT_InfoWidgetLayoutManager::t_layoutSettingsDialog()
+{
+    QVERIFY(!m_layoutManager->layoutSettingsDialog());
+}
+
+/*!
+  UT_InfoWidgetLayoutManager::t_widgetRoles
+ */
+void UT_InfoWidgetLayoutManager::t_widgetRoles()
+{
+    const QList<InfoWidgetLayoutManager::LayoutItemRole> settingDisplayRoles =
+        m_layoutManager->widgetRoles(InfoWidgetLayoutManager::SettingsDialog);
+    
+    QVERIFY(settingDisplayRoles.count() == KNumOfSettingsDisplayRoles);
+    if (settingDisplayRoles.count() == KNumOfSettingsDisplayRoles) {
+        QVERIFY(0 <= settingDisplayRoles.indexOf(
+            InfoWidgetLayoutManager::RoleSettingsDialog));
+        QVERIFY(0 <= settingDisplayRoles.indexOf(
+            InfoWidgetLayoutManager::RoleSpnCheckBox));
+        QVERIFY(0 <= settingDisplayRoles.indexOf(
+            InfoWidgetLayoutManager::RoleMcnCheckBox));
+        QVERIFY(0 <= settingDisplayRoles.indexOf(
+            InfoWidgetLayoutManager::RoleSatTextCheckBox));
+        QVERIFY(0 <= settingDisplayRoles.indexOf(
+            InfoWidgetLayoutManager::RoleSettingsContainer));
+    }
+    
+    const QList<InfoWidgetLayoutManager::LayoutItemRole> infoDisplayRoles =
+        m_layoutManager->widgetRoles(InfoWidgetLayoutManager::InfoDisplay);
+    QVERIFY(infoDisplayRoles.count() == KNumOfInfoDisplayRoles);
+    if (infoDisplayRoles.count() == KNumOfInfoDisplayRoles) {
+        QVERIFY(0 <= infoDisplayRoles.indexOf(
+            InfoWidgetLayoutManager::RoleContent));
+        QVERIFY(0 <= infoDisplayRoles.indexOf(
+            InfoWidgetLayoutManager::RoleSpnMarqueeItem));
+        QVERIFY(0 <= infoDisplayRoles.indexOf(
+            InfoWidgetLayoutManager::RoleMcnMarqueeItem));
+        QVERIFY(0 <= infoDisplayRoles.indexOf(
+            InfoWidgetLayoutManager::RoleSatMarqueeItem));
+        QVERIFY(0 <= infoDisplayRoles.indexOf(
+            InfoWidgetLayoutManager::RoleSpnIcon));
+        QVERIFY(0 <= infoDisplayRoles.indexOf(
+            InfoWidgetLayoutManager::RoleMcnIcon));
+        QVERIFY(0 <= infoDisplayRoles.indexOf(
+            InfoWidgetLayoutManager::RoleSatTextIcon));
+    }
+}
+
+/*!
+  UT_InfoWidgetLayoutManager::t_loadWidgets
+ */
+void UT_InfoWidgetLayoutManager::t_loadWidgets()
+{
+    QObjectList list = QObjectList();
+    EXPECT(HbDocumentLoader::load)
+        .willOnce(invoke(this, &fillParams)).returns(list);
+    
+    const QList<InfoWidgetLayoutManager::LayoutItemRole> settingDisplayRoles =
+            m_layoutManager->widgetRoles(InfoWidgetLayoutManager::SettingsDialog);
+    bool loadResult = m_layoutManager->loadWidgets(InfoWidgetLayoutManager::SettingsDialog, 
+            settingDisplayRoles,
+            m_layoutManager->m_infoDisplayWidgets); 
+    
+    QVERIFY(!loadResult);
+}
+
+/*!
+  UT_InfoWidgetLayoutManager::t_loadWidget
+ */
+void UT_InfoWidgetLayoutManager::t_loadWidget()
+{
+    QGraphicsWidget *currentWidget; 
+    InfoWidgetLayoutManager::LayoutItemRole currentRole; 
+    
+    QList<InfoWidgetLayoutManager::LayoutItemRole> 
+        infoDisplayWidgetRoles = m_layoutManager->widgetRoles(
+                InfoWidgetLayoutManager::InfoDisplay); 
+    
+    infoDisplayWidgetRoles.append(InfoWidgetLayoutManager::RoleUndefined); 
+    infoDisplayWidgetRoles.append(InfoWidgetLayoutManager::RoleContainer);
+    
+
+    foreach (currentRole, infoDisplayWidgetRoles) {
+        currentWidget = m_layoutManager->loadWidget(*m_documentLoader,
+                InfoWidgetLayoutManager::InfoDisplay,
+                currentRole);
+        QVERIFY(!currentWidget);
+    }
+    
+    QList<InfoWidgetLayoutManager::LayoutItemRole> 
+        settingsDisplayWidgetRoles = m_layoutManager->widgetRoles(
+                InfoWidgetLayoutManager::SettingsDialog); 
+    
+    foreach (currentRole, settingsDisplayWidgetRoles) {
+        currentWidget = m_layoutManager->loadWidget(*m_documentLoader,
+                InfoWidgetLayoutManager::SettingsDialog,
+                currentRole);
+        QVERIFY(!currentWidget);
+    }
+    
+    currentWidget = m_layoutManager->loadWidget(*m_documentLoader,
+                (InfoWidgetLayoutManager::DisplayRole)2,
+                        InfoWidgetLayoutManager::RoleLastEnum );
+    
+    QVERIFY(!currentWidget);
+}
+
+/*!
+  UT_InfoWidgetLayoutManager::t_loadObject
+ */
+void UT_InfoWidgetLayoutManager::t_loadObject()
+{
+    QObject *currentObject(NULL); 
+    InfoWidgetLayoutManager::LayoutItemRole currentRole; 
+    
+    QList<InfoWidgetLayoutManager::LayoutItemRole> objectRoles; 
+    
+    objectRoles.append(InfoWidgetLayoutManager::RoleCancelAction);
+    QObject *okAction = new QObject; 
+    
+    objectRoles.append(InfoWidgetLayoutManager::RoleOkAction); 
+    QObject *cancelAction = new QObject; 
+
+    // Test: 
+    EXPECT(HbDocumentLoader::findObject).with(QString("sd:cancelAction")).returns(cancelAction);
+    EXPECT(HbDocumentLoader::findObject).with(QString("sd:okAction")).returns(okAction);
+    
+    foreach(currentRole, objectRoles) {
+        currentObject = m_layoutManager->loadObject(*m_documentLoader,
+                InfoWidgetLayoutManager::SettingsDialog, 
+                currentRole);
+        QVERIFY(currentObject);
+    }    
+    
+   QVERIFY(verify());  
+}
+
+
+
+/*!
+  UT_InfoWidgetLayoutManager::t_getWidget
+ */
+void UT_InfoWidgetLayoutManager::t_getWidget()
+{
+    fillCurrentWidgetsContainer();
+    
+    QVERIFY(!m_layoutManager->getWidget(InfoWidgetLayoutManager::RoleUndefined));
+    QVERIFY(m_layoutManager->getWidget(InfoWidgetLayoutManager::RoleContent));
+    QVERIFY(!m_layoutManager->getWidget(InfoWidgetLayoutManager::RoleLastEnum));
+}
+
+/*!
+  UT_InfoWidgetLayoutManager::t_removeWidget
+ */
+void UT_InfoWidgetLayoutManager::t_removeWidget()
+{
+    fillCurrentWidgetsContainer();
+        
+    m_layoutManager->removeWidget(InfoWidgetLayoutManager::RoleUndefined);
+    m_layoutManager->removeWidget(InfoWidgetLayoutManager::RoleContent);
+    m_layoutManager->removeWidget(InfoWidgetLayoutManager::RoleLastEnum);
+    
+    QVERIFY(verify());
+}
+
+
+/*!
+  UT_InfoWidgetLayoutManager::t_contentWidget
+ */
+void UT_InfoWidgetLayoutManager::t_contentWidget()
+{
+    fillCurrentWidgetsContainer();
+    
+    QVERIFY(m_layoutManager->contentWidget());
+}
+
+/*!
+  UT_InfoWidgetLayoutManager::t_reloadWidgets
+ */
+void UT_InfoWidgetLayoutManager::t_reloadWidgets()
+{
+    bool loadResultIw = true;  
+    bool loadResultSd = true;
+    
+    QObjectList objectListId;
+    QObjectList objectListSd;
+    
+    EXPECT(HbDocumentLoader::load)
+        .with(KInfoWidgetDocmlFile, loadResultIw)
+        .returns(&objectListId);
+    QVERIFY(!m_layoutManager->reloadWidgets(InfoWidgetLayoutManager::InfoDisplay));
+
+    EXPECT(HbDocumentLoader::load)
+        .with(KSettingsDialogDocmlFile, loadResultSd)
+        .returns(&objectListSd);
+    QVERIFY(!m_layoutManager->reloadWidgets(InfoWidgetLayoutManager::SettingsDialog));
+    
+    QVERIFY(verify());
+}
+
+/*!
+  UT_InfoWidgetLayoutManager::t_destroyWidgets
+ */
+void UT_InfoWidgetLayoutManager::t_destroyWidgets()
+{
+    m_layoutManager->destroyWidgets();
+    
+    QGraphicsWidget *widgetInfo = new QGraphicsWidget();
+    QGraphicsWidget *widgetSettings = new QGraphicsWidget(); 
+    m_layoutManager->m_infoDisplayWidgets.insert(InfoWidgetLayoutManager::RoleContent, widgetInfo);
+    m_layoutManager->m_settingsDialogWidgets.insert(InfoWidgetLayoutManager::RoleContent, widgetSettings);
+    m_layoutManager->destroyWidgets();
+    
+    QVERIFY(verify());
+}
+
+/*!
+  UT_InfoWidgetLayoutManager::t_textFitsToRect
+ */
+void UT_InfoWidgetLayoutManager::t_textFitsToRect()
+{
+    QString text;
+    QFont font; 
+    bool fits(false); 
+    
+    QRectF testRect; 
+    
+    // Currently not possible to use with .pro definition 
+    // QFontMetrics to be properly mocked
+    // QT -= gui
+    // Test 1: use valid text and rect to which text fits 
+    //text = "testtesttesttest";
+    //testRect = QRectF(QPointF(0,0), QSizeF(200,100)); 
+    //fits = m_layoutManager->textFitsToRect(text, font, testRect);
+    //QVERIFY(fits); 
+    
+    QVERIFY(verify());
+}
+
+
+
+/*!
+  UT_InfoWidgetLayoutManager::t_marqueeItems
+ */
+void UT_InfoWidgetLayoutManager::t_marqueeItems()
+{
+    QList<HbMarqueeItem *> items; 
+    
+    // Test 1: uninitialized
+    items =  m_layoutManager->marqueeItems(); 
+    QVERIFY(items.count() == 0); 
+    
+    // Test: 
+    HbMarqueeItem item1; 
+    HbMarqueeItem item2;
+    HbMarqueeItem item3;
+    
+    m_layoutManager->m_widgets.insert(InfoWidgetLayoutManager::RoleSpnMarqueeItem, &item1); 
+    m_layoutManager->m_widgets.insert(InfoWidgetLayoutManager::RoleMcnMarqueeItem, &item2);
+    m_layoutManager->m_widgets.insert(InfoWidgetLayoutManager::RoleSatMarqueeItem, &item3);
+
+    items =  m_layoutManager->marqueeItems(); 
+    QVERIFY(items.count() == 3); 
+    
+    QVERIFY(verify());
+}
+
+
+/*!
+  UT_InfoWidgetLayoutManager::t_createObject
+ */
+void UT_InfoWidgetLayoutManager::t_createObject()
+{
+    QObject *object = m_documentLoader->createObject(QString(), QString());
+    QVERIFY(!object);
+    object = m_documentLoader->createObject(KMargueeItemClassName, QString());
+    QVERIFY(object);
+    delete object;
+    
+    //For destructor coverage
+    delete m_layoutManager->m_documentLoader;
+    m_layoutManager->m_documentLoader = NULL;
+}
+
+QTEST_MAIN_S60(UT_InfoWidgetLayoutManager)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/tsrc/ut_infowidgetlayoutmanager/ut_infowidgetlayoutmanager.pro	Thu Jul 22 16:33:21 2010 +0100
@@ -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: Project file for building unit test component
+CONFIG += qtestlib \
+    hb
+TEMPLATE = app
+TARGET = 
+DEPENDPATH += . \
+    ../../infowidget/src \
+    ../../infowidget/inc
+INCLUDEPATH += .
+INCLUDEPATH += ../common
+INCLUDEPATH += ../../inc/
+INCLUDEPATH += ../../infowidget/inc/
+DEFINES += XQSETTINGSMANAGER_NO_LIBRARY
+DEFINES += QT_NO_DEBUG_STREAM
+QT -= gui
+QT += testlib
+symbian: { 
+    CONFIG += no_icon
+    INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE
+    LIBS += -lmocklib \
+        -lsymbianmock \
+        -lcpframework
+}
+
+# test code
+HEADERS += ./inc/ut_infowidgetlayoutmanager.h
+SOURCES += ./src/ut_infowidgetlayoutmanager.cpp
+
+# code to be tested
+HEADERS += ../../infowidget/inc/infowidgetlayoutmanager.h
+SOURCES += ../../infowidget/src/infowidgetlayoutmanager.cpp
+
+# mocks needed for testing
+SOURCES += ../mocks/mock_hbdocumentloader.cpp
+SOURCES += ../mocks/mock_hbmarqueeitem.cpp
+SOURCES += ../mocks/mock_hbstyle.cpp
+#SOURCES += ../mocks/mock_qfontmetrics.cpp
+RESOURCES = ../../infowidgetplugin.qrc
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/tsrc/ut_infowidgetlinehandler/inc/ut_infowidgetlinehandler.h	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,48 @@
+/*
+* 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 UT_INFOWIDGETLINEHANDLER_H
+#define UT_INFOWIDGETLINEHANDLER_H
+
+#include <QtTest/QtTest>
+#include <mockservice.h>
+
+class InfoWidgetLineHandler;
+
+class UT_InfoWidgetLineHandler : public QObject, public MockService
+{
+    Q_OBJECT
+
+public:    
+    
+    UT_InfoWidgetLineHandler();
+    ~UT_InfoWidgetLineHandler();
+    
+private slots:
+
+    void init();
+    void cleanup();
+
+    void t_activeLine(); 
+    
+private:
+    
+    InfoWidgetLineHandler *m_lineHandler;
+
+};
+
+#endif // UT_INFOWIDGETLINEHANDLER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/tsrc/ut_infowidgetlinehandler/run_auto_tests_qt.bat	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,192 @@
+rem
+rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+rem All rights reserved.
+rem This component and the accompanying materials are made available
+rem under the terms of "Eclipse Public License v1.0"
+rem which accompanies this distribution, and is available
+rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
+rem
+rem Initial Contributors:
+rem Nokia Corporation - initial contribution.
+rem
+rem Contributors:
+rem
+rem Description:
+rem
+
+@echo off
+setlocal
+goto :startup 
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function DEFAULT
+::
+:: Modify this function
+::  - TESTED_SRC can be changed to match tested code.
+::    Specifies path from testcode group directory to
+::    tested code
+::  - Add test directories to be runned
+::    ie. "call :build ut_projectdirectory" or use
+::    "for /f %%a in ('dir /b ut_*') do call :build %%a"
+::    which compiles, instruments and runs all test directories
+::    starting with "ut_".
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:DEFAULT
+set TESTED_SRC=..\..\infowidget\src\*.cpp
+
+for /f %%a in ('dir /b ut_*') do call :build %%a
+if [%DOMODULESTESTS%] EQU [TRUE] (
+for /f %%a in ('dir /b mt_*') do call :build %%a
+)
+
+call :finish
+goto :END
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function STARTUP
+::
+:: Initializing script
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:STARTUP
+
+set BUILDTESTS=TRUE
+set RUNTESTS=TRUE
+set INSTRUMENT=TRUE
+set REMOVEINSTRUMENT=TRUE
+set DOMODULESTESTS=TRUE
+set ABLD_CALL= -2comp  sbs.bat -c winscw_udeb --keepgoing
+set PATH_TO_DLL=\epoc32\release\winscw\udeb
+set PATH_TO_COVERAGE_DATA=\coverage_data
+set PATH_TO_RESULT=\test_result
+
+if not exist %PATH_TO_COVERAGE_DATA% (
+mkdir %PATH_TO_COVERAGE_DATA%
+)
+
+if not exist %PATH_TO_RESULT% (
+mkdir %PATH_TO_RESULT%
+)
+
+if [%1] EQU [] ( goto default )
+
+call :%1
+call :%2
+call :%3
+call :%4
+call :%5
+echo Running tests = %RUNTESTS%
+echo Instrumenting tests = %INSTRUMENT%
+goto default
+
+:/NOCLEANUP
+set REMOVEINSTRUMENT=FALSE
+goto end
+
+:/NORUN
+set RUNTESTS=FALSE
+set REMOVEINSTRUMENT=FALSE
+goto end
+
+:/NOINSTRUMENT
+set INSTRUMENT=FALSE
+goto end
+
+:/NOBUILD
+set BUILDTESTS=FALSE
+goto end
+
+:/ONLYUNITTESTS
+set DOMODULESTESTS=FALSE
+goto end
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function FINISH
+::
+:: Finishes run_auto_tests.bat
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:FINISH
+
+if [%RUNTESTS%] EQU [TRUE] (
+call :runtests
+)
+
+if [%INSTRUMENT%] EQU [TRUE] (
+call :calculatecoverage
+)
+
+if [%REMOVEINSTRUMENT%] EQU [TRUE] (
+call :removecoverage
+)
+goto end
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function BUILD
+::    param directory
+::
+:: builds test from given directory
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:BUILD
+setlocal
+if [%BUILDTESTS%] EQU [FALSE] ( goto end )
+echo Building %1
+if not exist %1 ( 
+echo %1 Not found! 
+goto end
+)
+
+pushd .
+call cd %1
+call qmake
+call sbs -c winscw_udeb clean
+if [%INSTRUMENT%] EQU [TRUE] (
+call ctcwrap -n %PATH_TO_COVERAGE_DATA%\%1 -i d -C "EXCLUDE=*" -C "NO_EXCLUDE=%TESTED_SRC%" %ABLD_CALL%
+) else (
+call %ABLD_CALL%
+)
+
+popd
+endlocal
+goto end
+
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function RUNTESTS
+::
+:: NOTE! Function assumes that test binary is named according to test directory.
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:RUNTESTS
+echo Running tests
+call %PATH_TO_DLL%\ut_infowidgetlinehandler.exe -dtextshell --
+move \epoc32\winscw\c\data\ut_infowidgetlinehandler.log %PATH_TO_RESULT%\ut_infowidgetlinehandler.log
+goto end
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function CALCULATECOVERAGE
+::
+:: Calculates test coverage. Generates html
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:CALCULATECOVERAGE
+echo Calculating coverage
+ctcpost %PATH_TO_COVERAGE_DATA%\*.sym -p - | ctcmerge -i - -o profile.txt
+call ctc2html -t 70 -i profile.txt -o \coverage_result -nsb
+goto end
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function REMOVECOVERAGE
+::
+:: Removes data from coverage directory
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:REMOVECOVERAGE
+echo Removing deleting coverage data
+call del %PATH_TO_COVERAGE_DATA%\*.sym
+call del %PATH_TO_COVERAGE_DATA%\*.dat
+call del profile.txt
+goto end
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function END
+::
+:: Prints done
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:END
+echo Done!
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/tsrc/ut_infowidgetlinehandler/src/ut_infowidgetlinehandler.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,73 @@
+/*
+* 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 "ut_infowidgetlinehandler.h"
+#include "infowidgetlinehandler.h"
+#include "qtestmains60.h"
+
+/*!
+  UT_InfoWidgetLineHandler::UT_InfoWidgetLineHandler
+ */
+UT_InfoWidgetLineHandler::UT_InfoWidgetLineHandler() 
+    : 
+    m_lineHandler(0)
+{
+    
+}
+
+
+/*!
+  UT_InfoWidgetLineHandler::~UT_InfoWidgetLineHandler
+ */
+UT_InfoWidgetLineHandler::~UT_InfoWidgetLineHandler()
+{
+    delete m_lineHandler;
+}
+
+/*!
+  UT_InfoWidgetLineHandler::init
+ */
+void UT_InfoWidgetLineHandler::init()
+{
+    initialize();
+    
+    m_lineHandler =  new InfoWidgetLineHandler();
+    
+    QVERIFY(verify());
+}
+
+
+/*!
+  UT_InfoWidgetLineHandler::cleanup
+ */
+void UT_InfoWidgetLineHandler::cleanup()
+{
+    reset();
+    
+    delete m_lineHandler;
+    m_lineHandler = 0;
+}
+
+/*!
+  UT_InfoWidgetLineHandler::t_activeLine
+ */
+void UT_InfoWidgetLineHandler::t_activeLine()
+{
+    int activeLine = m_lineHandler->activeLine();
+}
+
+
+QTEST_MAIN_S60(UT_InfoWidgetLineHandler)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/tsrc/ut_infowidgetlinehandler/ut_infowidgetlinehandler.pro	Thu Jul 22 16:33:21 2010 +0100
@@ -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: Project file for building unit test component
+#
+#
+
+CONFIG += qtestlib hb
+TEMPLATE = app
+TARGET = 
+DEPENDPATH  += . ../../infowidget/src
+INCLUDEPATH += .
+INCLUDEPATH += ../common
+INCLUDEPATH += ../../inc/
+INCLUDEPATH += ../../infowidget/inc/
+
+QT -= gui
+QT += testlib
+
+symbian: {
+  CONFIG += no_icon
+  INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE
+  LIBS += -lmocklib 		\
+          -lsymbianmock 	\
+          -lcpframework
+}
+    
+# test code
+HEADERS += ./inc/ut_infowidgetlinehandler.h
+SOURCES += ./src/ut_infowidgetlinehandler.cpp
+
+# code to be tested
+HEADERS += ../../infowidget/inc/infowidgetlinehandler.h
+SOURCES += ../../infowidget/src/infowidgetlinehandler.cpp
+
+# mocks needed for testing
+#SOURCES += ../mocks/mock_networkhandlingproxy.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/tsrc/ut_infowidgetnetworkhandler/inc/ut_infowidgetnetworkhandler.h	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,74 @@
+/*
+* 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 UT_INFOWIDGETNETWORKHANDLER_H
+#define UT_INFOWIDGETNETWORKHANDLER_H
+
+#include <QtTest/QtTest>
+#include <mockservice.h>
+
+class MNWMessageObserver;
+class InfoWidgetNetworkHandler;
+class TNWInfo;
+
+
+
+class UT_InfoWidgetNetworkHandler : public QObject, public MockService
+{
+    Q_OBJECT
+
+public:    
+    
+    UT_InfoWidgetNetworkHandler();
+    ~UT_InfoWidgetNetworkHandler();
+    
+public slots:
+    void generateException();
+    void doLeaveL();
+    
+private slots:
+
+    void init();
+    void cleanup();
+    
+    void t_homeZoneTextTag();
+    void t_homeZoneIndicatorType();
+    void t_mcnName();
+    void t_mcnIndicatorType();
+    void t_isOnline();
+    void t_networkRegistrationStatus();
+    void t_HandleNetworkMessage();
+    void t_HandleNetworkMessageExceptionWhileEmittingSignal();
+    void t_HandleNetworkError();
+    void t_HandleNetworkErrorExceptionWhileEmittingSignal();
+    void t_resume();
+    void t_suspend();
+    void t_serviceProviderName();
+    void t_serviceProviderNameDisplayRequired();
+    void t_createLeave();
+    
+private:
+    
+    void initializeNetworkInfo(
+        MNWMessageObserver& aMessage, 
+        TNWInfo& aTNWInfo);
+    
+private:
+    InfoWidgetNetworkHandler *m_networkHandler;
+};
+
+#endif // UT_INFOWIDGETNETWORKHANDLER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/tsrc/ut_infowidgetnetworkhandler/run_auto_tests_qt.bat	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,192 @@
+rem
+rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+rem All rights reserved.
+rem This component and the accompanying materials are made available
+rem under the terms of "Eclipse Public License v1.0"
+rem which accompanies this distribution, and is available
+rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
+rem
+rem Initial Contributors:
+rem Nokia Corporation - initial contribution.
+rem
+rem Contributors:
+rem
+rem Description:
+rem
+
+@echo off
+setlocal
+goto :startup 
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function DEFAULT
+::
+:: Modify this function
+::  - TESTED_SRC can be changed to match tested code.
+::    Specifies path from testcode group directory to
+::    tested code
+::  - Add test directories to be runned
+::    ie. "call :build ut_projectdirectory" or use
+::    "for /f %%a in ('dir /b ut_*') do call :build %%a"
+::    which compiles, instruments and runs all test directories
+::    starting with "ut_".
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:DEFAULT
+set TESTED_SRC=..\..\infowidget\src\*.cpp
+
+for /f %%a in ('dir /b ut_*') do call :build %%a
+if [%DOMODULESTESTS%] EQU [TRUE] (
+for /f %%a in ('dir /b mt_*') do call :build %%a
+)
+
+call :finish
+goto :END
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function STARTUP
+::
+:: Initializing script
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:STARTUP
+
+set BUILDTESTS=TRUE
+set RUNTESTS=TRUE
+set INSTRUMENT=TRUE
+set REMOVEINSTRUMENT=TRUE
+set DOMODULESTESTS=TRUE
+set ABLD_CALL= -2comp  sbs.bat -c winscw_udeb --keepgoing
+set PATH_TO_DLL=\epoc32\release\winscw\udeb
+set PATH_TO_COVERAGE_DATA=\coverage_data
+set PATH_TO_RESULT=\test_result
+
+if not exist %PATH_TO_COVERAGE_DATA% (
+mkdir %PATH_TO_COVERAGE_DATA%
+)
+
+if not exist %PATH_TO_RESULT% (
+mkdir %PATH_TO_RESULT%
+)
+
+if [%1] EQU [] ( goto default )
+
+call :%1
+call :%2
+call :%3
+call :%4
+call :%5
+echo Running tests = %RUNTESTS%
+echo Instrumenting tests = %INSTRUMENT%
+goto default
+
+:/NOCLEANUP
+set REMOVEINSTRUMENT=FALSE
+goto end
+
+:/NORUN
+set RUNTESTS=FALSE
+set REMOVEINSTRUMENT=FALSE
+goto end
+
+:/NOINSTRUMENT
+set INSTRUMENT=FALSE
+goto end
+
+:/NOBUILD
+set BUILDTESTS=FALSE
+goto end
+
+:/ONLYUNITTESTS
+set DOMODULESTESTS=FALSE
+goto end
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function FINISH
+::
+:: Finishes run_auto_tests.bat
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:FINISH
+
+if [%RUNTESTS%] EQU [TRUE] (
+call :runtests
+)
+
+if [%INSTRUMENT%] EQU [TRUE] (
+call :calculatecoverage
+)
+
+if [%REMOVEINSTRUMENT%] EQU [TRUE] (
+call :removecoverage
+)
+goto end
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function BUILD
+::    param directory
+::
+:: builds test from given directory
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:BUILD
+setlocal
+if [%BUILDTESTS%] EQU [FALSE] ( goto end )
+echo Building %1
+if not exist %1 ( 
+echo %1 Not found! 
+goto end
+)
+
+pushd .
+call cd %1
+call qmake
+call sbs -c winscw_udeb clean
+if [%INSTRUMENT%] EQU [TRUE] (
+call ctcwrap -n %PATH_TO_COVERAGE_DATA%\%1 -i d -C "EXCLUDE=*" -C "NO_EXCLUDE=%TESTED_SRC%" %ABLD_CALL%
+) else (
+call %ABLD_CALL%
+)
+
+popd
+endlocal
+goto end
+
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function RUNTESTS
+::
+:: NOTE! Function assumes that test binary is named according to test directory.
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:RUNTESTS
+echo Running tests
+call %PATH_TO_DLL%\ut_infowidgetnetworkhandler.exe -dtextshell --
+move \epoc32\winscw\c\data\ut_infowidgetnetworkhandler.log %PATH_TO_RESULT%\ut_infowidgetnetworkhandler.log
+goto end
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function CALCULATECOVERAGE
+::
+:: Calculates test coverage. Generates html
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:CALCULATECOVERAGE
+echo Calculating coverage
+ctcpost %PATH_TO_COVERAGE_DATA%\*.sym -p - | ctcmerge -i - -o profile.txt
+call ctc2html -t 70 -i profile.txt -o \coverage_result -nsb
+goto end
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function REMOVECOVERAGE
+::
+:: Removes data from coverage directory
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:REMOVECOVERAGE
+echo Removing deleting coverage data
+call del %PATH_TO_COVERAGE_DATA%\*.sym
+call del %PATH_TO_COVERAGE_DATA%\*.dat
+call del profile.txt
+goto end
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function END
+::
+:: Prints done
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:END
+echo Done!
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/tsrc/ut_infowidgetnetworkhandler/src/ut_infowidgetnetworkhandler.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,400 @@
+/*
+* 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 <networkhandlingproxy.h>
+#include <nwhandlingengine.h>
+#include <cnwsession.h>
+#include "qtestmains60.h"
+#include <xqsettingskey.h>
+#include <xqsettingsmanager.h>
+#include "ut_infowidgetnetworkhandler.h"
+#define private public
+#include "infowidgetnetworkhandler.h"
+
+class CMyNWSession : public CNWSession 
+{
+public: 
+    CMyNWSession(){};
+    ~CMyNWSession(){};
+}; 
+
+
+#define EXPECT_NO_EXCEPTION(statements)    \
+{                                       \
+    bool exceptionDetected = false;     \
+    try {                               \
+        statements                      \
+    } catch (...) {                     \
+        exceptionDetected = true;       \
+    }                                   \
+    QVERIFY(false == exceptionDetected); \
+}
+
+const QString KHomeZoneTextTag("HomeZoneText0");    // max length 13
+const TNWViagIndicatorType 
+    KHomeZoneIndicatorType = ENWViagIndicatorTypeHomeZone;
+
+const QString KMcnName("McnNameMcnNameMcnNam");     // max length 20 
+const TNWMCNIndicatorType 
+    KMcnIndicatorType = ENWMCNIndicatorTypeActive;
+
+const QString KSpnName("SpnNameSpnName..");     // max length 16 
+
+/*!
+  UT_InfoWidgetNetworkHandler::UT_InfoWidgetNetworkHandler
+ */
+UT_InfoWidgetNetworkHandler::UT_InfoWidgetNetworkHandler() 
+    : 
+    m_networkHandler(NULL)
+{   
+}
+
+
+/*!
+  UT_InfoWidgetNetworkHandler::~UT_InfoWidgetNetworkHandler
+ */
+UT_InfoWidgetNetworkHandler::~UT_InfoWidgetNetworkHandler()
+{
+    delete m_networkHandler;
+}
+
+/*!
+  UT_InfoWidgetNetworkHandler::doLeaveL
+ */
+void UT_InfoWidgetNetworkHandler::doLeaveL()
+{
+    User::Leave(KErrGeneral);
+}
+
+/*!
+  UT_InfoWidgetNetworkHandler::generateException
+ */
+void UT_InfoWidgetNetworkHandler::generateException()
+{
+    throw std::bad_alloc();
+}
+
+/*!
+  UT_InfoWidgetNetworkHandler::init
+ */
+void UT_InfoWidgetNetworkHandler::init()
+{
+    initialize();
+    
+    SmcDefaultValue<QString>::SetL("");
+    SmcDefaultValue<const QString & >::SetL("");
+
+    // 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());
+}
+
+
+/*!
+  UT_InfoWidgetNetworkHandler::cleanup
+ */
+void UT_InfoWidgetNetworkHandler::cleanup()
+{
+    reset();
+    
+    QVariant i(1);
+    EXPECT(XQSettingsManager::readItemValue).returns(i);  
+    delete m_networkHandler;
+    m_networkHandler = 0;
+    
+    QVERIFY(verify());
+}
+
+/*!
+  UT_InfoWidgetNetworkHandler::t_homeZoneTextTag
+ */
+void UT_InfoWidgetNetworkHandler::t_homeZoneTextTag()
+{
+    QVariant i(1);
+    EXPECT(XQSettingsManager::readItemValue).returns(i);
+    
+    QVERIFY(m_networkHandler->homeZoneTextTag() == KHomeZoneTextTag);
+}
+
+
+/*!
+  UT_InfoWidgetNetworkHandler::t_homeZoneIndicatorType
+ */
+void UT_InfoWidgetNetworkHandler::t_homeZoneIndicatorType()
+{
+    QVERIFY(
+        m_networkHandler->homeZoneIndicatorType() == KHomeZoneIndicatorType);
+}
+
+
+/*!
+  UT_InfoWidgetNetworkHandler::t_mcnName
+ */
+void UT_InfoWidgetNetworkHandler::t_mcnName()
+{
+    QVERIFY(m_networkHandler->mcnName() == KMcnName);
+}
+
+
+/*!
+  UT_InfoWidgetNetworkHandler::t_mcnIndicatorType
+ */
+void UT_InfoWidgetNetworkHandler::t_mcnIndicatorType()
+{
+    QVERIFY(m_networkHandler->mcnIndicatorType() == KMcnIndicatorType);
+}
+
+
+/*!
+  UT_InfoWidgetNetworkHandler::t_isOnline
+ */
+void UT_InfoWidgetNetworkHandler::t_isOnline()
+{
+    m_networkHandler->m_nwInfo.iRegistrationStatus = 
+            static_cast<TNWRegistrationStatus>(ENWRegisteredBusy);
+    QVERIFY(m_networkHandler->isOnline() == true);
+    m_networkHandler->m_nwInfo.iRegistrationStatus = 
+            static_cast<TNWRegistrationStatus>(ENWRegisteredOnHomeNetwork);
+    QVERIFY(m_networkHandler->isOnline() == true);
+    m_networkHandler->m_nwInfo.iRegistrationStatus = 
+            static_cast<TNWRegistrationStatus>(ENWRegisteredRoaming);
+    QVERIFY(m_networkHandler->isOnline() == true);
+    
+    m_networkHandler->m_nwInfo.iRegistrationStatus = 
+            static_cast<TNWRegistrationStatus>(ENWRegistrationUnknown);
+    QVERIFY(m_networkHandler->isOnline() == false);
+}
+
+
+/*!
+  UT_InfoWidgetNetworkHandler::t_networkRegistrationStatus
+ */
+void UT_InfoWidgetNetworkHandler::t_networkRegistrationStatus()
+{
+    m_networkHandler->m_nwInfo.iRegistrationStatus = 
+                static_cast<TNWRegistrationStatus>(ENWRegistrationUnknown);
+    QVERIFY(m_networkHandler->networkRegistrationStatus() == 0);
+}
+
+
+/*!
+  UT_InfoWidgetNetworkHandler::t_HandleNetworkMessage
+ */
+void UT_InfoWidgetNetworkHandler::t_HandleNetworkMessage()
+{
+    QSignalSpy spy(m_networkHandler, SIGNAL(networkDataChanged()));
+    
+    // TODO: investigate, which messages indicate cell info change
+// ACCEPTED MESSAGES    
+    m_networkHandler->HandleNetworkMessage(
+        MNWMessageObserver::ENWMessageCurrentCellInfoMessage);
+    
+// MESSAGES TO BE FILTERED OUT
+// COMMON NETWORK MESSAGES                      0 - 99
+    m_networkHandler->HandleNetworkMessage(
+        MNWMessageObserver::ENWMessageNetworkInfoChange);
+    m_networkHandler->HandleNetworkMessage(
+        MNWMessageObserver::ENWMessageNetworkModeChange);
+    m_networkHandler->HandleNetworkMessage(
+        MNWMessageObserver::ENWMessageNetworkRegistrationStatusChange);
+    m_networkHandler->HandleNetworkMessage(
+        MNWMessageObserver::ENWMessageProgrammableOperatorInfoChange);
+    m_networkHandler->HandleNetworkMessage(
+        MNWMessageObserver::ENWMessageNetworkProviderNameChange);
+    m_networkHandler->HandleNetworkMessage(
+        MNWMessageObserver::ENWMessageServiceProviderNameChange);
+    m_networkHandler->HandleNetworkMessage(
+        MNWMessageObserver::ENWMessageProgrammableOperatorInfoUpdating);
+    m_networkHandler->HandleNetworkMessage(
+        MNWMessageObserver::ENWMessageNetworkProviderNameUpdating);
+    m_networkHandler->HandleNetworkMessage(
+        MNWMessageObserver::ENWMessageServiceProviderNameUpdating);
+    m_networkHandler->HandleNetworkMessage(
+        MNWMessageObserver::ENWMessageAllowRefresh);
+    m_networkHandler->HandleNetworkMessage(
+        MNWMessageObserver::ENWMessageNetworkSelectionSettingChange);
+// GSM SPECIFIC MESSAGES                        100 - 199
+    m_networkHandler->HandleNetworkMessage(
+        MNWMessageObserver::ENWMessageNetworkCellReselection);
+    m_networkHandler->HandleNetworkMessage(
+        MNWMessageObserver::ENWMessageNetworkConnectionFailure);
+//    m_networkHandler->HandleNetworkMessage(
+//        MNWMessageObserver::ENWMessageCurrentCellInfoMessage);
+    m_networkHandler->HandleNetworkMessage(
+        MNWMessageObserver::ENWMessageCurrentHomeZoneMessage);
+    m_networkHandler->HandleNetworkMessage(
+        MNWMessageObserver::ENWMessageNetworkIndicatorChange);
+// CDMA SPECIFIC MESSAGES                       200 - 299
+    m_networkHandler->HandleNetworkMessage(
+        MNWMessageObserver::ENWMessageNetworkEmergencyMode); 
+    m_networkHandler->HandleNetworkMessage(
+        MNWMessageObserver::ENWMessageVoicePrivacyStatusChange);
+    m_networkHandler->HandleNetworkMessage(
+        MNWMessageObserver::ENWMessageStartSystemSearchRequestCompleteOk);
+    m_networkHandler->HandleNetworkMessage(
+        MNWMessageObserver::ENWMessageStartSystemSearchRequestCompleteFail);
+    m_networkHandler->HandleNetworkMessage(
+        MNWMessageObserver::ENWMessageStopProtocolStackRequestCompleteOk);
+    m_networkHandler->HandleNetworkMessage(
+        MNWMessageObserver::ENWMessageStopProtocolStackRequestCompleteFail);
+    
+    const int KExpectedNumOfSignalEmissions = 3;
+    QCOMPARE(spy.count(), KExpectedNumOfSignalEmissions);
+    
+    const QList<QVariant> &arguments = spy.at(0);
+    QCOMPARE(arguments.count(), 0);
+}
+
+
+/*!
+  UT_InfoWidgetNetworkHandler::t_HandleNetworkMessageExceptionWhileEmittingSignal
+ */
+void UT_InfoWidgetNetworkHandler::t_HandleNetworkMessageExceptionWhileEmittingSignal()
+{
+    QObject::connect(
+        m_networkHandler, SIGNAL(networkDataChanged()),
+        this, SLOT(generateException())); 
+    
+    m_networkHandler->HandleNetworkMessage(
+        MNWMessageObserver::ENWMessageCurrentCellInfoMessage);
+    
+    QVERIFY(verify());
+}
+
+
+/*!
+  UT_InfoWidgetNetworkHandler::t_HandleNetworkError
+ */
+Q_DECLARE_METATYPE(MNWMessageObserver::TNWOperation)
+void UT_InfoWidgetNetworkHandler::t_HandleNetworkError()
+{
+    QSignalSpy spy(m_networkHandler, SIGNAL(networkError(int, int)));
+    qRegisterMetaType<MNWMessageObserver::TNWOperation>
+        ("MNWMessageObserver::TNWOperation");
+    
+    const int errorCode = -4;
+    MNWMessageObserver::TNWOperation operation = 
+            MNWMessageObserver::ENWGetServiceProviderName;
+    m_networkHandler->HandleNetworkError(operation, errorCode);
+        
+    operation = MNWMessageObserver::ENWNone;
+    m_networkHandler->HandleNetworkError(operation, errorCode);
+    
+    const int KExpectedNumOfSignalEmissions = 2;
+    QCOMPARE(spy.count(), KExpectedNumOfSignalEmissions);
+    const QList<QVariant> &arguments = spy.at(0);
+    QCOMPARE(arguments.count(), 2);
+    
+    QCOMPARE(
+        qvariant_cast<MNWMessageObserver::TNWOperation>(arguments.at(0)), 
+        operation);
+    QCOMPARE(arguments.at(1).toInt(), errorCode);
+}
+
+
+/*!
+  UT_InfoWidgetNetworkHandler::t_HandleNetworkErrorExceptionWhileEmittingSignal
+ */
+void UT_InfoWidgetNetworkHandler::t_HandleNetworkErrorExceptionWhileEmittingSignal()
+{
+    QObject::connect(
+        m_networkHandler, SIGNAL(networkError(int, int)),
+        this, SLOT(generateException())); 
+    
+    MNWMessageObserver::TNWOperation operation = MNWMessageObserver::ENWNone;
+    const int errorCode = -4;
+    m_networkHandler->HandleNetworkError(operation, errorCode);
+    
+    QVERIFY(verify());
+}
+
+
+/*!
+  UT_InfoWidgetNetworkHandler::initializeNetworkInfo
+ */
+void UT_InfoWidgetNetworkHandler::initializeNetworkInfo(
+    MNWMessageObserver& /*aObserver*/, TNWInfo& aTNWInfo)
+{
+    aTNWInfo.iViagTextTag.Copy(KHomeZoneTextTag.utf16());
+    aTNWInfo.iViagIndicatorType = KHomeZoneIndicatorType;
+    
+    aTNWInfo.iMCNName.Copy(KMcnName.utf16());
+    aTNWInfo.iMCNIndicatorType = KMcnIndicatorType;
+}
+
+/*!
+  UT_InfoWidgetNetworkHandler::t_suspend
+ */
+void UT_InfoWidgetNetworkHandler::t_suspend()
+{
+    m_networkHandler->suspend();
+    QVERIFY(verify());
+}
+
+/*!
+  UT_InfoWidgetNetworkHandler::t_resume
+ */
+void UT_InfoWidgetNetworkHandler::t_resume()
+{
+    m_networkHandler->resume();
+    QVERIFY(verify());
+}
+
+/*!
+  UT_InfoWidgetNetworkHandler::t_serviceProviderName
+ */
+void UT_InfoWidgetNetworkHandler::t_serviceProviderName()
+{
+    QCOMPARE(m_networkHandler->serviceProviderName(), KSpnName);
+}
+
+/*!
+  UT_InfoWidgetNetworkHandler::t_serviceProviderNameDisplayRequired
+ */
+void UT_InfoWidgetNetworkHandler::t_serviceProviderNameDisplayRequired()
+{
+    m_networkHandler->m_nwInfo.iServiceProviderNameDisplayReq = 
+                RMobilePhone::KDisplaySPNRequired; 
+    QVERIFY(m_networkHandler->serviceProviderNameDisplayRequired() == true);
+
+    m_networkHandler->m_nwInfo.iServiceProviderNameDisplayReq = 
+            RMobilePhone::KDisplaySPNNotRequired; 
+    QVERIFY(m_networkHandler->serviceProviderNameDisplayRequired() == false);
+}
+
+/*!
+  UT_InfoWidgetNetworkHandler::t_createLeave
+ */
+void UT_InfoWidgetNetworkHandler::t_createLeave()
+{
+    QVariant i(1);
+    EXPECT(XQSettingsManager::readItemValue).returns(i);
+    EXPECT(CreateL)
+            .willOnce(invokeWithoutArguments(this, &doLeaveL));
+    
+    EXPECT_NO_EXCEPTION(InfoWidgetNetworkHandler * p = new InfoWidgetNetworkHandler(););
+}
+
+QTEST_MAIN_S60(UT_InfoWidgetNetworkHandler)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/tsrc/ut_infowidgetnetworkhandler/ut_infowidgetnetworkhandler.pro	Thu Jul 22 16:33:21 2010 +0100
@@ -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: Project file for building unit test component
+#
+#
+
+CONFIG += qtestlib hb
+TEMPLATE = app
+TARGET = 
+DEPENDPATH  += . ../../infowidget/src
+INCLUDEPATH += .
+INCLUDEPATH += ../common
+INCLUDEPATH += ../../inc/
+INCLUDEPATH += ../../infowidget/inc/
+DEFINES += XQSETTINGSMANAGER_NO_LIBRARY
+
+QT -= gui
+QT += testlib
+
+symbian: {
+  CONFIG += no_icon
+  INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE
+  LIBS += -lmocklib 		\
+          -lsymbianmock 	\
+          -lcpframework 
+          
+}
+    
+# test code
+HEADERS += ./inc/ut_infowidgetnetworkhandler.h
+SOURCES += ./src/ut_infowidgetnetworkhandler.cpp
+
+# code to be tested
+HEADERS += ../../infowidget/inc/infowidgetnetworkhandler.h
+SOURCES += ../../infowidget/src/infowidgetnetworkhandler.cpp
+
+# 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
+SOURCES += ../mocks/mock_xqsettingskey.cpp
+SOURCES += ../mocks/mock_xqsettingsmanager.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/tsrc/ut_infowidgetplugin/inc/ut_infowidgetplugin.h	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,45 @@
+/*
+* 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 UT_INFOWIDGETPLUGIN_H
+#define UT_INFOWIDGETPLUGIN_H
+
+#include <QtTest/QtTest>
+#include <mockservice.h>
+#include <qserviceplugininterface.h>
+
+QTM_USE_NAMESPACE
+
+
+class UT_InfoWidgetPlugin : public QObject, public MockService
+{
+    Q_OBJECT
+
+public:    
+    
+    UT_InfoWidgetPlugin();
+    ~UT_InfoWidgetPlugin();
+    
+private slots:
+
+    void init();
+    void cleanup();
+    void t_createInstance(); 
+    
+};
+
+#endif // UT_INFOWIDGETPLUGIN_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/tsrc/ut_infowidgetplugin/run_auto_tests_qt.bat	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,192 @@
+rem
+rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+rem All rights reserved.
+rem This component and the accompanying materials are made available
+rem under the terms of "Eclipse Public License v1.0"
+rem which accompanies this distribution, and is available
+rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
+rem
+rem Initial Contributors:
+rem Nokia Corporation - initial contribution.
+rem
+rem Contributors:
+rem
+rem Description:
+rem
+
+@echo off
+setlocal
+goto :startup 
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function DEFAULT
+::
+:: Modify this function
+::  - TESTED_SRC can be changed to match tested code.
+::    Specifies path from testcode group directory to
+::    tested code
+::  - Add test directories to be runned
+::    ie. "call :build ut_projectdirectory" or use
+::    "for /f %%a in ('dir /b ut_*') do call :build %%a"
+::    which compiles, instruments and runs all test directories
+::    starting with "ut_".
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:DEFAULT
+set TESTED_SRC=..\..\src\*.cpp
+
+for /f %%a in ('dir /b ut_*') do call :build %%a
+if [%DOMODULESTESTS%] EQU [TRUE] (
+for /f %%a in ('dir /b mt_*') do call :build %%a
+)
+
+call :finish
+goto :END
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function STARTUP
+::
+:: Initializing script
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:STARTUP
+
+set BUILDTESTS=TRUE
+set RUNTESTS=TRUE
+set INSTRUMENT=TRUE
+set REMOVEINSTRUMENT=TRUE
+set DOMODULESTESTS=TRUE
+set ABLD_CALL= -2comp  sbs.bat -c winscw_udeb --keepgoing
+set PATH_TO_DLL=\epoc32\release\winscw\udeb
+set PATH_TO_COVERAGE_DATA=\coverage_data
+set PATH_TO_RESULT=\test_result
+
+if not exist %PATH_TO_COVERAGE_DATA% (
+mkdir %PATH_TO_COVERAGE_DATA%
+)
+
+if not exist %PATH_TO_RESULT% (
+mkdir %PATH_TO_RESULT%
+)
+
+if [%1] EQU [] ( goto default )
+
+call :%1
+call :%2
+call :%3
+call :%4
+call :%5
+echo Running tests = %RUNTESTS%
+echo Instrumenting tests = %INSTRUMENT%
+goto default
+
+:/NOCLEANUP
+set REMOVEINSTRUMENT=FALSE
+goto end
+
+:/NORUN
+set RUNTESTS=FALSE
+set REMOVEINSTRUMENT=FALSE
+goto end
+
+:/NOINSTRUMENT
+set INSTRUMENT=FALSE
+goto end
+
+:/NOBUILD
+set BUILDTESTS=FALSE
+goto end
+
+:/ONLYUNITTESTS
+set DOMODULESTESTS=FALSE
+goto end
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function FINISH
+::
+:: Finishes run_auto_tests.bat
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:FINISH
+
+if [%RUNTESTS%] EQU [TRUE] (
+call :runtests
+)
+
+if [%INSTRUMENT%] EQU [TRUE] (
+call :calculatecoverage
+)
+
+if [%REMOVEINSTRUMENT%] EQU [TRUE] (
+call :removecoverage
+)
+goto end
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function BUILD
+::    param directory
+::
+:: builds test from given directory
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:BUILD
+setlocal
+if [%BUILDTESTS%] EQU [FALSE] ( goto end )
+echo Building %1
+if not exist %1 ( 
+echo %1 Not found! 
+goto end
+)
+
+pushd .
+call cd %1
+call qmake
+call sbs -c winscw_udeb clean
+if [%INSTRUMENT%] EQU [TRUE] (
+call ctcwrap -n %PATH_TO_COVERAGE_DATA%\%1 -i d -C "EXCLUDE=*" -C "NO_EXCLUDE=%TESTED_SRC%" %ABLD_CALL%
+) else (
+call %ABLD_CALL%
+)
+
+popd
+endlocal
+goto end
+
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function RUNTESTS
+::
+:: NOTE! Function assumes that test binary is named according to test directory.
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:RUNTESTS
+echo Running tests
+call %PATH_TO_DLL%\ut_infowidgetplugin.exe -dtextshell --
+move \epoc32\winscw\c\data\ut_infowidgetplugin.log %PATH_TO_RESULT%\ut_infowidgetplugin.log
+goto end
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function CALCULATECOVERAGE
+::
+:: Calculates test coverage. Generates html
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:CALCULATECOVERAGE
+echo Calculating coverage
+ctcpost %PATH_TO_COVERAGE_DATA%\*.sym -p - | ctcmerge -i - -o profile.txt
+call ctc2html -t 70 -i profile.txt -o \coverage_result -nsb
+goto end
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function REMOVECOVERAGE
+::
+:: Removes data from coverage directory
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:REMOVECOVERAGE
+echo Removing deleting coverage data
+call del %PATH_TO_COVERAGE_DATA%\*.sym
+call del %PATH_TO_COVERAGE_DATA%\*.dat
+call del profile.txt
+goto end
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function END
+::
+:: Prints done
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:END
+echo Done!
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/tsrc/ut_infowidgetplugin/src/ut_infowidgetplugin.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,120 @@
+/*
+* 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 "ut_infowidgetplugin.h"
+#include "infowidgetplugin.h"
+#include "infowidget.h"
+#include "qtestmains60.h"
+
+#include <qserviceinterfacedescriptor.h>
+#include <qabstractsecuritysession.h>
+#include <qservicecontext.h>
+#include <QString>
+
+Q_EXTERN_C const char * qt_plugin_query_verification_data();
+Q_EXTERN_C ::QObject *  qt_plugin_instance();
+
+class MyQServiceInterfaceDescriptor : public QServiceInterfaceDescriptor
+{}; 
+
+class MyQServiceContext : public QServiceContext
+{
+public: 
+    virtual void notify( ContextType type, const QVariant& variant){
+    Q_UNUSED(type)
+    Q_UNUSED(variant)
+    };
+}; 
+
+class MyQAbstractSecuritySession : public QAbstractSecuritySession
+{
+public: 
+    virtual bool isAllowed(const QStringList& capabilityList){
+    Q_UNUSED(capabilityList)
+    return true;
+    };
+}; 
+
+QString KValidInfoWidgetInterfaceName("com.nokia.symbian.IHomeScreenWidget"); 
+QString KInvalidInfoWidgetInterfaceName("com.nokia.IHomeScreenWidget");
+
+
+/*!
+  UT_InfoWidgetPlugin::UT_InfoWidgetPlugin
+ */
+UT_InfoWidgetPlugin::UT_InfoWidgetPlugin() 
+{
+    const char * verificationData = qt_plugin_query_verification_data();
+}
+
+
+/*!
+  UT_InfoWidgetPlugin::~UT_InfoWidgetPlugin
+ */
+UT_InfoWidgetPlugin::~UT_InfoWidgetPlugin()
+{
+
+}
+
+
+/*!
+  UT_InfoWidgetPlugin::init
+ */
+void UT_InfoWidgetPlugin::init()
+{
+    initialize();
+
+    QVERIFY(verify());
+}
+
+
+/*!
+  UT_InfoWidgetPlugin::cleanup
+ */
+void UT_InfoWidgetPlugin::cleanup()
+{
+    reset();
+    
+    delete (InfoWidgetPlugin*)qt_plugin_instance();
+}
+
+
+void UT_InfoWidgetPlugin::t_createInstance()
+    {
+    MyQServiceInterfaceDescriptor myServiceInterfaceDescriptor; 
+    MyQServiceContext myQServiceContext; 
+    MyQAbstractSecuritySession myAbstractSecuritySession; 
+    
+    QObject *instanceValue = NULL;
+    InfoWidgetPlugin* p = (InfoWidgetPlugin*)qt_plugin_instance();
+    // Test: instance creation with valid interface name
+    expect("QtMobility::QServiceInterfaceDescriptor::interfaceName").returns(KValidInfoWidgetInterfaceName);
+    //expect("InfoWidget::InfoWidget"); 
+    instanceValue = p->createInstance(myServiceInterfaceDescriptor,
+                                             &myQServiceContext,
+                                             &myAbstractSecuritySession);
+    Q_ASSERT(instanceValue); 
+    
+    // Test: instance creation with invalid interface name
+    expect("QtMobility::QServiceInterfaceDescriptor::interfaceName").returns(KInvalidInfoWidgetInterfaceName);
+    instanceValue = p->createInstance(myServiceInterfaceDescriptor,
+                                             &myQServiceContext,
+                                             &myAbstractSecuritySession);
+    Q_ASSERT(instanceValue == NULL); 
+
+}
+
+QTEST_MAIN_S60(UT_InfoWidgetPlugin)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/tsrc/ut_infowidgetplugin/ut_infowidgetplugin.pro	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,51 @@
+#
+# 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: Project file for building unit test component
+#
+#
+
+CONFIG += qtestlib hb mobility
+MOBILITY = serviceframework
+TEMPLATE = app
+TARGET = 
+INCLUDEPATH += .
+INCLUDEPATH += ../common
+INCLUDEPATH += ../../inc/
+INCLUDEPATH += ../../infowidget/inc/
+DEFINES += QT_NO_DEBUG_STREAM
+
+QT -= gui
+QT += testlib
+
+symbian: {
+  CONFIG += no_icon
+  INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE
+  LIBS += -lmocklib 		\
+          -lsymbianmock     \
+          -lhswidgetmodel
+}
+
+# test code
+HEADERS += ./inc/ut_infowidgetplugin.h
+SOURCES += ./src/ut_infowidgetplugin.cpp
+
+# code to be tested
+HEADERS += ../../inc/infowidgetplugin.h
+SOURCES += ../../src/infowidgetplugin.cpp
+
+# mocks needed for testing
+HEADERS += ../../infowidget/inc/infowidget.h
+SOURCES += ../mocks/mock_infowidget.cpp
+SOURCES += ../mocks/mock_qserviceplugininterface.cpp
+SOURCES += ../mocks/mock_qserviceinterfacedescriptor.cpp
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/tsrc/ut_infowidgetpreferences/inc/ut_infowidgetpreferences.h	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,54 @@
+/*
+* 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 UT_INFOWIDGETPREFERENCES_H
+#define UT_INFOWIDGETPREFERENCES_H
+
+#include <QtTest/QtTest>
+#include <mockservice.h>
+
+class InfoWidgetPreferences;
+
+class UT_InfoWidgetPreferences : public QObject, public MockService
+{
+    Q_OBJECT
+
+public:    
+    
+    UT_InfoWidgetPreferences();
+    ~UT_InfoWidgetPreferences();
+    
+private slots:
+
+    void init();
+    void cleanup();
+
+    void t_storePreferences();
+    void t_preference();
+    void t_setPreference();
+    void t_visibleItemCount();
+    void t_isPreferenceSet();
+    void t_preferences();
+    void t_preferenceNames();
+    
+private:
+    
+    InfoWidgetPreferences *m_infoWidgetPreferences;
+
+};
+
+#endif // UT_INFOWIDGETPREFERENCES_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/tsrc/ut_infowidgetpreferences/run_auto_tests_qt.bat	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,192 @@
+rem
+rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+rem All rights reserved.
+rem This component and the accompanying materials are made available
+rem under the terms of "Eclipse Public License v1.0"
+rem which accompanies this distribution, and is available
+rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
+rem
+rem Initial Contributors:
+rem Nokia Corporation - initial contribution.
+rem
+rem Contributors:
+rem
+rem Description:
+rem
+
+@echo off
+setlocal
+goto :startup 
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function DEFAULT
+::
+:: Modify this function
+::  - TESTED_SRC can be changed to match tested code.
+::    Specifies path from testcode group directory to
+::    tested code
+::  - Add test directories to be runned
+::    ie. "call :build ut_projectdirectory" or use
+::    "for /f %%a in ('dir /b ut_*') do call :build %%a"
+::    which compiles, instruments and runs all test directories
+::    starting with "ut_".
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:DEFAULT
+set TESTED_SRC=..\..\infowidget\src\*.cpp
+
+for /f %%a in ('dir /b ut_*') do call :build %%a
+if [%DOMODULESTESTS%] EQU [TRUE] (
+for /f %%a in ('dir /b mt_*') do call :build %%a
+)
+
+call :finish
+goto :END
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function STARTUP
+::
+:: Initializing script
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:STARTUP
+
+set BUILDTESTS=TRUE
+set RUNTESTS=TRUE
+set INSTRUMENT=TRUE
+set REMOVEINSTRUMENT=TRUE
+set DOMODULESTESTS=TRUE
+set ABLD_CALL= -2comp  sbs.bat -c winscw_udeb --keepgoing
+set PATH_TO_DLL=\epoc32\release\winscw\udeb
+set PATH_TO_COVERAGE_DATA=\coverage_data
+set PATH_TO_RESULT=\test_result
+
+if not exist %PATH_TO_COVERAGE_DATA% (
+mkdir %PATH_TO_COVERAGE_DATA%
+)
+
+if not exist %PATH_TO_RESULT% (
+mkdir %PATH_TO_RESULT%
+)
+
+if [%1] EQU [] ( goto default )
+
+call :%1
+call :%2
+call :%3
+call :%4
+call :%5
+echo Running tests = %RUNTESTS%
+echo Instrumenting tests = %INSTRUMENT%
+goto default
+
+:/NOCLEANUP
+set REMOVEINSTRUMENT=FALSE
+goto end
+
+:/NORUN
+set RUNTESTS=FALSE
+set REMOVEINSTRUMENT=FALSE
+goto end
+
+:/NOINSTRUMENT
+set INSTRUMENT=FALSE
+goto end
+
+:/NOBUILD
+set BUILDTESTS=FALSE
+goto end
+
+:/ONLYUNITTESTS
+set DOMODULESTESTS=FALSE
+goto end
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function FINISH
+::
+:: Finishes run_auto_tests.bat
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:FINISH
+
+if [%RUNTESTS%] EQU [TRUE] (
+call :runtests
+)
+
+if [%INSTRUMENT%] EQU [TRUE] (
+call :calculatecoverage
+)
+
+if [%REMOVEINSTRUMENT%] EQU [TRUE] (
+call :removecoverage
+)
+goto end
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function BUILD
+::    param directory
+::
+:: builds test from given directory
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:BUILD
+setlocal
+if [%BUILDTESTS%] EQU [FALSE] ( goto end )
+echo Building %1
+if not exist %1 ( 
+echo %1 Not found! 
+goto end
+)
+
+pushd .
+call cd %1
+call qmake
+call sbs -c winscw_udeb clean
+if [%INSTRUMENT%] EQU [TRUE] (
+call ctcwrap -n %PATH_TO_COVERAGE_DATA%\%1 -i d -C "EXCLUDE=*" -C "NO_EXCLUDE=%TESTED_SRC%" %ABLD_CALL%
+) else (
+call %ABLD_CALL%
+)
+
+popd
+endlocal
+goto end
+
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function RUNTESTS
+::
+:: NOTE! Function assumes that test binary is named according to test directory.
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:RUNTESTS
+echo Running tests
+call %PATH_TO_DLL%\ut_infowidgetpreferences.exe -dtextshell --
+move \epoc32\winscw\c\data\ut_infowidgetpreferences.log %PATH_TO_RESULT%\ut_infowidgetpreferences.log
+goto end
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function CALCULATECOVERAGE
+::
+:: Calculates test coverage. Generates html
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:CALCULATECOVERAGE
+echo Calculating coverage
+ctcpost %PATH_TO_COVERAGE_DATA%\*.sym -p - | ctcmerge -i - -o profile.txt
+call ctc2html -t 70 -i profile.txt -o \coverage_result -nsb
+goto end
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function REMOVECOVERAGE
+::
+:: Removes data from coverage directory
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:REMOVECOVERAGE
+echo Removing deleting coverage data
+call del %PATH_TO_COVERAGE_DATA%\*.sym
+call del %PATH_TO_COVERAGE_DATA%\*.dat
+call del profile.txt
+goto end
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function END
+::
+:: Prints done
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:END
+echo Done!
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/tsrc/ut_infowidgetpreferences/src/ut_infowidgetpreferences.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,189 @@
+/*
+* 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 "ut_infowidgetpreferences.h"
+#define private public
+#include "infowidgetpreferences.h"
+#include "qtestmains60.h"
+
+/*!
+  UT_InfoWidgetPreferences::UT_InfoWidgetPreferences
+ */
+UT_InfoWidgetPreferences::UT_InfoWidgetPreferences() 
+    : 
+    m_infoWidgetPreferences(0)
+{
+    
+}
+
+
+/*!
+  UT_InfoWidgetPreferences::~UT_InfoWidgetPreferences
+ */
+UT_InfoWidgetPreferences::~UT_InfoWidgetPreferences()
+{
+    delete m_infoWidgetPreferences;
+}
+
+
+/*!
+  UT_InfoWidgetPreferences::init
+ */
+void UT_InfoWidgetPreferences::init()
+{
+    initialize();
+    
+    m_infoWidgetPreferences = new InfoWidgetPreferences();
+    
+    QVERIFY(verify());
+}
+
+
+/*!
+  UT_InfoWidgetPreferences::cleanup
+ */
+void UT_InfoWidgetPreferences::cleanup()
+{
+    reset();
+    
+    delete m_infoWidgetPreferences;
+    m_infoWidgetPreferences = 0;
+}
+
+
+/*!
+  UT_InfoWidgetPreferences::t_storePreferences
+ */
+void UT_InfoWidgetPreferences::t_storePreferences()
+{
+    m_infoWidgetPreferences->storePreferences();
+    
+    m_infoWidgetPreferences->m_options = (InfoWidgetPreferences::Option)1;
+    m_infoWidgetPreferences->m_validatedOptions = (InfoWidgetPreferences::Option)2;
+    m_infoWidgetPreferences->storePreferences();
+            
+    QVERIFY(verify());
+}
+
+
+/*!
+  UT_InfoWidgetPreferences::t_preference
+ */
+void UT_InfoWidgetPreferences::t_preference()
+{
+    QString preferenceValue = m_infoWidgetPreferences->preference(
+        InfoWidgetPreferences::DisplayHomeZone);
+    QVERIFY(DISPLAY_SETTING_OFF == preferenceValue);
+    
+    preferenceValue = m_infoWidgetPreferences->preference(
+        InfoWidgetPreferences::DisplayMcn);
+    QVERIFY(DISPLAY_SETTING_OFF == preferenceValue);
+    
+    preferenceValue = m_infoWidgetPreferences->preference(
+        InfoWidgetPreferences::DisplayActiveLine);
+    QVERIFY(DISPLAY_SETTING_OFF == preferenceValue);
+    
+    preferenceValue = m_infoWidgetPreferences->preference(
+        InfoWidgetPreferences::DisplaySatText);
+    QVERIFY(DISPLAY_SETTING_OFF == preferenceValue);
+}
+
+
+/*!
+  UT_InfoWidgetPreferences::t_setPreference
+ */
+void UT_InfoWidgetPreferences::t_setPreference()
+{
+    m_infoWidgetPreferences->setPreference(
+        InfoWidgetPreferences::DisplayHomeZone, DISPLAY_SETTING_ON);
+    QVERIFY(DISPLAY_SETTING_ON == m_infoWidgetPreferences->preference(
+        InfoWidgetPreferences::DisplayHomeZone));
+    
+    m_infoWidgetPreferences->setPreference(
+        InfoWidgetPreferences::DisplayMcn, DISPLAY_SETTING_ON);
+    QVERIFY(DISPLAY_SETTING_ON == m_infoWidgetPreferences->preference(
+        InfoWidgetPreferences::DisplayMcn));
+    
+    m_infoWidgetPreferences->setPreference(
+        InfoWidgetPreferences::DisplayActiveLine, DISPLAY_SETTING_ON);
+    QVERIFY(DISPLAY_SETTING_ON == m_infoWidgetPreferences->preference(
+        InfoWidgetPreferences::DisplayActiveLine));
+    
+    m_infoWidgetPreferences->setPreference(
+        InfoWidgetPreferences::DisplaySatText, DISPLAY_SETTING_ON);
+    QVERIFY(DISPLAY_SETTING_ON == m_infoWidgetPreferences->preference(
+        InfoWidgetPreferences::DisplaySatText));
+    
+    m_infoWidgetPreferences->setPreference(
+        InfoWidgetPreferences::DisplaySatText, DISPLAY_SETTING_OFF);
+    QVERIFY(DISPLAY_SETTING_OFF == m_infoWidgetPreferences->preference(
+        InfoWidgetPreferences::DisplaySatText));
+}
+
+/*!
+  UT_InfoWidgetPreferences::t_visibleItemCount
+ */
+void UT_InfoWidgetPreferences::t_visibleItemCount()
+{
+    int visibleItems = m_infoWidgetPreferences->visibleItemCount();
+    QVERIFY(visibleItems == 0);
+    
+    m_infoWidgetPreferences->setPreference(
+        InfoWidgetPreferences::DisplayHomeZone, DISPLAY_SETTING_ON);
+    m_infoWidgetPreferences->setPreference(
+        InfoWidgetPreferences::DisplayMcn, DISPLAY_SETTING_ON);
+    m_infoWidgetPreferences->setPreference(
+        InfoWidgetPreferences::DisplayActiveLine, DISPLAY_SETTING_ON);
+    m_infoWidgetPreferences->setPreference(
+        InfoWidgetPreferences::DisplaySatText, DISPLAY_SETTING_ON);
+    m_infoWidgetPreferences->setPreference(
+        InfoWidgetPreferences::DisplaySpn, DISPLAY_SETTING_ON);
+    visibleItems = m_infoWidgetPreferences->visibleItemCount();
+    QVERIFY(visibleItems == 5);
+}
+
+/*!
+  UT_InfoWidgetPreferences::t_isPreferenceSet
+ */
+void UT_InfoWidgetPreferences::t_isPreferenceSet()
+{
+    m_infoWidgetPreferences->isPreferenceSet
+        (InfoWidgetPreferences::DisplayHomeZone);
+            
+    QVERIFY(verify());
+}
+
+/*!
+  UT_InfoWidgetPreferences::t_preferences
+ */
+void UT_InfoWidgetPreferences::t_preferences()
+{
+    m_infoWidgetPreferences->preferences();
+                
+    QVERIFY(verify());
+}
+
+/*!
+  UT_InfoWidgetPreferences::t_preferenceNames
+ */
+void UT_InfoWidgetPreferences::t_preferenceNames()
+{
+    m_infoWidgetPreferences->preferenceNames();
+                
+    QVERIFY(verify());
+}
+
+QTEST_MAIN_S60(UT_InfoWidgetPreferences)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/tsrc/ut_infowidgetpreferences/ut_infowidgetpreferences.pro	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,46 @@
+#
+# 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: Project file for building unit test component
+#
+#
+
+CONFIG += qtestlib hb
+TEMPLATE = app
+TARGET = 
+DEPENDPATH  += . ../../infowidget/src ../../infowidget/inc
+INCLUDEPATH += .
+INCLUDEPATH += ../common
+INCLUDEPATH += ../../inc/
+INCLUDEPATH += ../../infowidget/inc/
+DEFINES += XQSETTINGSMANAGER_NO_LIBRARY
+DEFINES += QT_NO_DEBUG_STREAM
+
+QT -= gui
+QT += testlib
+
+symbian: {
+  CONFIG += no_icon
+  INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE
+  LIBS += -lmocklib 		\
+          -lsymbianmock 	\
+          -lcpframework
+}
+    
+# test code
+HEADERS += ./inc/ut_infowidgetpreferences.h
+SOURCES += ./src/ut_infowidgetpreferences.cpp
+
+# code to be tested
+HEADERS += ../../infowidget/inc/infowidgetpreferences.h
+SOURCES += ../../infowidget/src/infowidgetpreferences.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/tsrc/ut_infowidgetsathandler/inc/ut_infowidgetsathandler.h	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,53 @@
+/*
+* 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 UT_INFOWIDGETSATHANDLER_H
+#define UT_INFOWIDGETSATHANDLER_H
+
+#include <QtTest/QtTest>
+#include <mockservice.h>
+
+class InfoWidgetSatHandler;
+
+class UT_InfoWidgetSatHandler : public QObject, public MockService
+{
+    Q_OBJECT
+
+public:    
+    
+    UT_InfoWidgetSatHandler();
+    ~UT_InfoWidgetSatHandler();
+    
+private slots:
+
+    void init();
+    void cleanup();
+    
+    void t_satDisplayText(); 
+    void t_setSatDisplayText();
+    
+    void t_connect();
+    void t_handleIdleModeTxtMessage();
+    void t_handleSatError();
+    
+private:
+    
+    InfoWidgetSatHandler *m_satHandler;
+
+};
+
+#endif // UT_INFOWIDGETSATHANDLER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/tsrc/ut_infowidgetsathandler/run_auto_tests_qt.bat	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,194 @@
+rem
+rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+rem All rights reserved.
+rem This component and the accompanying materials are made available
+rem under the terms of "Eclipse Public License v1.0"
+rem which accompanies this distribution, and is available
+rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
+rem
+rem Initial Contributors:
+rem Nokia Corporation - initial contribution.
+rem
+rem Contributors:
+rem
+rem Description:
+rem
+
+@echo off
+setlocal
+goto :startup 
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function DEFAULT
+::
+:: Modify this function
+::  - TESTED_SRC can be changed to match tested code.
+::    Specifies path from testcode group directory to
+::    tested code
+::  - Add test directories to be runned
+::    ie. "call :build ut_projectdirectory" or use
+::    "for /f %%a in ('dir /b ut_*') do call :build %%a"
+::    which compiles, instruments and runs all test directories
+::    starting with "ut_".
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:DEFAULT
+set TESTED_SRC=..\..\infowidget\src\*.cpp
+
+for /f %%a in ('dir /b ut_*') do call :build %%a
+if [%DOMODULESTESTS%] EQU [TRUE] (
+for /f %%a in ('dir /b mt_*') do call :build %%a
+)
+
+call :finish
+goto :END
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function STARTUP
+::
+:: Initializing script
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:STARTUP
+
+set BUILDTESTS=TRUE
+set RUNTESTS=TRUE
+set INSTRUMENT=TRUE
+set REMOVEINSTRUMENT=TRUE
+set DOMODULESTESTS=TRUE
+set ABLD_CALL= -2comp  sbs.bat -c winscw_udeb --keepgoing
+set PATH_TO_DLL=\epoc32\release\winscw\udeb
+set PATH_TO_COVERAGE_DATA=\coverage_data
+set PATH_TO_RESULT=\test_result
+
+if not exist %PATH_TO_COVERAGE_DATA% (
+mkdir %PATH_TO_COVERAGE_DATA%
+)
+
+if not exist %PATH_TO_RESULT% (
+mkdir %PATH_TO_RESULT%
+)
+
+if [%1] EQU [] ( goto default )
+
+call :%1
+call :%2
+call :%3
+call :%4
+call :%5
+echo Running tests = %RUNTESTS%
+echo Instrumenting tests = %INSTRUMENT%
+goto default
+
+:/NOCLEANUP
+set REMOVEINSTRUMENT=FALSE
+goto end
+
+:/NORUN
+set RUNTESTS=FALSE
+set REMOVEINSTRUMENT=FALSE
+goto end
+
+:/NOINSTRUMENT
+set INSTRUMENT=FALSE
+goto end
+
+:/NOBUILD
+set BUILDTESTS=FALSE
+goto end
+
+:/ONLYUNITTESTS
+set DOMODULESTESTS=FALSE
+goto end
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function FINISH
+::
+:: Finishes run_auto_tests.bat
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:FINISH
+
+if [%RUNTESTS%] EQU [TRUE] (
+call :runtests
+)
+
+if [%INSTRUMENT%] EQU [TRUE] (
+call :calculatecoverage
+)
+
+if [%REMOVEINSTRUMENT%] EQU [TRUE] (
+call :removecoverage
+)
+goto end
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function BUILD
+::    param directory
+::
+:: builds test from given directory
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:BUILD
+setlocal
+if [%BUILDTESTS%] EQU [FALSE] ( goto end )
+echo Building %1
+if not exist %1 ( 
+echo %1 Not found! 
+goto end
+)
+
+pushd .
+call cd %1
+call qmake
+call sbs -c winscw_udeb clean
+if [%INSTRUMENT%] EQU [TRUE] (
+call ctcwrap -n %PATH_TO_COVERAGE_DATA%\%1 -i d -C "EXCLUDE=*" -C "NO_EXCLUDE=%TESTED_SRC%" %ABLD_CALL%
+) else (
+call %ABLD_CALL%
+)
+
+popd
+endlocal
+goto end
+
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function RUNTESTS
+::
+:: NOTE! Function assumes that test binary is named according to test directory.
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:RUNTESTS
+echo Running tests
+call %PATH_TO_DLL%\ut_infowidgetsathandler.exe -dtextshell --
+
+move \epoc32\winscw\c\data\ut_infowidgetsathandler.log %PATH_TO_RESULT%\ut_infowidgetsathandler.log
+
+goto end
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function CALCULATECOVERAGE
+::
+:: Calculates test coverage. Generates html
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:CALCULATECOVERAGE
+echo Calculating coverage
+ctcpost %PATH_TO_COVERAGE_DATA%\*.sym -p - | ctcmerge -i - -o profile.txt
+call ctc2html -t 70 -i profile.txt -o \coverage_result -nsb
+goto end
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function REMOVECOVERAGE
+::
+:: Removes data from coverage directory
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:REMOVECOVERAGE
+echo Removing deleting coverage data
+call del %PATH_TO_COVERAGE_DATA%\*.sym
+call del %PATH_TO_COVERAGE_DATA%\*.dat
+call del profile.txt
+goto end
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function END
+::
+:: Prints done
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:END
+echo Done!
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/tsrc/ut_infowidgetsathandler/src/ut_infowidgetsathandler.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,126 @@
+/*
+* 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 "ut_infowidgetsathandler.h"
+#define private public
+#include "infowidgetsathandler.h"
+#include "qtestmains60.h"
+
+/*!
+  UT_InfoWidgetSatHandler::UT_InfoWidgetSatHandler
+ */
+UT_InfoWidgetSatHandler::UT_InfoWidgetSatHandler() 
+    : 
+    m_satHandler(NULL)
+{
+    
+}
+
+
+/*!
+  UT_InfoWidgetSatHandler::~UT_InfoWidgetSatHandler
+ */
+UT_InfoWidgetSatHandler::~UT_InfoWidgetSatHandler()
+{
+    delete m_satHandler;
+}
+
+/*!
+  UT_InfoWidgetSatHandler::init
+ */
+void UT_InfoWidgetSatHandler::init()
+{
+    initialize();
+    
+    m_satHandler =  new InfoWidgetSatHandler();
+    
+    QVERIFY(verify());
+}
+
+
+/*!
+  UT_InfoWidgetSatHandler::cleanup
+ */
+void UT_InfoWidgetSatHandler::cleanup()
+{
+    reset();
+    
+    delete m_satHandler;
+    m_satHandler = NULL;
+}
+
+
+/*!
+  UT_InfoWidgetSatHandler::t_satDisplayText
+ */
+void UT_InfoWidgetSatHandler::t_satDisplayText()
+{
+    QString satDisplayText("satDisplayText");
+    m_satHandler->setSatDisplayText(satDisplayText);
+    QVERIFY(satDisplayText == m_satHandler->satDisplayText());
+}
+
+
+/*!
+  UT_InfoWidgetSatHandler::t_setSatDisplayText
+ */
+void UT_InfoWidgetSatHandler::t_setSatDisplayText()
+{
+    QString satDisplayText("satDisplayText");
+    m_satHandler->setSatDisplayText(satDisplayText);
+    
+    QVERIFY(satDisplayText == m_satHandler->satDisplayText());
+}
+
+
+void UT_InfoWidgetSatHandler::t_connect()
+{
+    //}else if (!connect && m_connected){
+    m_satHandler->m_connected = true;
+    m_satHandler->connect(false);
+    
+        
+    m_satHandler->m_connected = true;
+    m_satHandler->connect(true);
+    
+    //if(connect && !m_connected){
+    m_satHandler->m_connected = false;
+    m_satHandler->connect(false);
+    
+    QVERIFY(verify());
+}
+
+
+void UT_InfoWidgetSatHandler::t_handleIdleModeTxtMessage()
+{
+    m_satHandler->m_connected = false;
+    m_satHandler->handleIdleModeTxtMessage(0);
+    m_satHandler->m_connected = true;
+    m_satHandler->handleIdleModeTxtMessage(0);
+    
+    QVERIFY(verify());
+}
+
+
+void UT_InfoWidgetSatHandler::t_handleSatError()
+{
+    m_satHandler->handleSatError(1,1);
+    
+    QVERIFY(verify());
+}
+    
+
+QTEST_MAIN_S60(UT_InfoWidgetSatHandler)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/tsrc/ut_infowidgetsathandler/ut_infowidgetsathandler.pro	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,49 @@
+#
+# 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: Project file for building unit test component
+#
+#
+
+CONFIG += qtestlib hb
+TEMPLATE = app
+TARGET = 
+DEPENDPATH  += . ../../infowidget/src
+INCLUDEPATH += .
+INCLUDEPATH += ../common
+INCLUDEPATH += ../../inc/
+INCLUDEPATH += ../../infowidget/inc/
+
+QT -= gui
+QT += testlib
+
+symbian: {
+  CONFIG += no_icon
+  INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE
+  LIBS += -lmocklib 		\
+          -lsymbianmock 	\
+          -lcpframework
+}
+    
+# test code
+HEADERS += ./inc/ut_infowidgetsathandler.h
+SOURCES += ./src/ut_infowidgetsathandler.cpp
+
+# code to be tested
+HEADERS += ../../infowidget/inc/infowidgetsathandler.h
+SOURCES += ../../infowidget/src/infowidgetsathandler.cpp 
+
+# mocks needed for testing
+SOURCES += ../mocks/mock_rsatservice.cpp  \
+           ../mocks/mock_RSatSession.cpp  \
+           ../mocks/mock_infowidgetsathandler_p.cpp
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/tsrc/ut_infowidgetsathandlerprivate/inc/ut_infowidgetsathandlerprivate.h	Thu Jul 22 16:33:21 2010 +0100
@@ -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 UT_INFOWIDGETSATHANDLERPRIVATE_H
+#define UT_INFOWIDGETSATHANDLERPRIVATE_H
+
+#include <QtTest/QtTest>
+#include <mockservice.h>
+#include <rsatservice.h>
+
+
+class InfoWidgetSatHandlerPrivate;
+class InfoWidgetSatHandler;
+
+class UT_InfoWidgetSatHandlerPrivate : public QObject, public MockService
+{
+    Q_OBJECT
+
+public:    
+    
+    UT_InfoWidgetSatHandlerPrivate();
+    ~UT_InfoWidgetSatHandlerPrivate();
+    
+private slots:
+
+    void init();
+    void cleanup();
+    
+    void t_connect();
+    void t_disconnect();
+    void t_startObserving();
+
+    void t_runL();
+    void t_doCancel();
+    
+private:
+    
+    InfoWidgetSatHandlerPrivate *m_satHandlerPrivate;
+    InfoWidgetSatHandler* m_iwSatHandler;
+    RSatService m_satService;
+
+};
+
+#endif // UT_INFOWIDGETSATHANDLERPRIVATE_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/tsrc/ut_infowidgetsathandlerprivate/run_auto_tests_qt.bat	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,194 @@
+rem
+rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+rem All rights reserved.
+rem This component and the accompanying materials are made available
+rem under the terms of "Eclipse Public License v1.0"
+rem which accompanies this distribution, and is available
+rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
+rem
+rem Initial Contributors:
+rem Nokia Corporation - initial contribution.
+rem
+rem Contributors:
+rem
+rem Description:
+rem
+
+@echo off
+setlocal
+goto :startup 
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function DEFAULT
+::
+:: Modify this function
+::  - TESTED_SRC can be changed to match tested code.
+::    Specifies path from testcode group directory to
+::    tested code
+::  - Add test directories to be runned
+::    ie. "call :build ut_projectdirectory" or use
+::    "for /f %%a in ('dir /b ut_*') do call :build %%a"
+::    which compiles, instruments and runs all test directories
+::    starting with "ut_".
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:DEFAULT
+set TESTED_SRC=..\..\infowidget\src\*.cpp
+
+for /f %%a in ('dir /b ut_*') do call :build %%a
+if [%DOMODULESTESTS%] EQU [TRUE] (
+for /f %%a in ('dir /b mt_*') do call :build %%a
+)
+
+call :finish
+goto :END
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function STARTUP
+::
+:: Initializing script
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:STARTUP
+
+set BUILDTESTS=TRUE
+set RUNTESTS=TRUE
+set INSTRUMENT=TRUE
+set REMOVEINSTRUMENT=TRUE
+set DOMODULESTESTS=TRUE
+set ABLD_CALL= -2comp  sbs.bat -c winscw_udeb --keepgoing
+set PATH_TO_DLL=\epoc32\release\winscw\udeb
+set PATH_TO_COVERAGE_DATA=\coverage_data
+set PATH_TO_RESULT=\test_result
+
+if not exist %PATH_TO_COVERAGE_DATA% (
+mkdir %PATH_TO_COVERAGE_DATA%
+)
+
+if not exist %PATH_TO_RESULT% (
+mkdir %PATH_TO_RESULT%
+)
+
+if [%1] EQU [] ( goto default )
+
+call :%1
+call :%2
+call :%3
+call :%4
+call :%5
+echo Running tests = %RUNTESTS%
+echo Instrumenting tests = %INSTRUMENT%
+goto default
+
+:/NOCLEANUP
+set REMOVEINSTRUMENT=FALSE
+goto end
+
+:/NORUN
+set RUNTESTS=FALSE
+set REMOVEINSTRUMENT=FALSE
+goto end
+
+:/NOINSTRUMENT
+set INSTRUMENT=FALSE
+goto end
+
+:/NOBUILD
+set BUILDTESTS=FALSE
+goto end
+
+:/ONLYUNITTESTS
+set DOMODULESTESTS=FALSE
+goto end
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function FINISH
+::
+:: Finishes run_auto_tests.bat
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:FINISH
+
+if [%RUNTESTS%] EQU [TRUE] (
+call :runtests
+)
+
+if [%INSTRUMENT%] EQU [TRUE] (
+call :calculatecoverage
+)
+
+if [%REMOVEINSTRUMENT%] EQU [TRUE] (
+call :removecoverage
+)
+goto end
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function BUILD
+::    param directory
+::
+:: builds test from given directory
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:BUILD
+setlocal
+if [%BUILDTESTS%] EQU [FALSE] ( goto end )
+echo Building %1
+if not exist %1 ( 
+echo %1 Not found! 
+goto end
+)
+
+pushd .
+call cd %1
+call qmake
+call sbs -c winscw_udeb clean
+if [%INSTRUMENT%] EQU [TRUE] (
+call ctcwrap -n %PATH_TO_COVERAGE_DATA%\%1 -i d -C "EXCLUDE=*" -C "NO_EXCLUDE=%TESTED_SRC%" %ABLD_CALL%
+) else (
+call %ABLD_CALL%
+)
+
+popd
+endlocal
+goto end
+
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function RUNTESTS
+::
+:: NOTE! Function assumes that test binary is named according to test directory.
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:RUNTESTS
+echo Running tests
+call %PATH_TO_DLL%\ut_infowidgetsathandlerprivate.exe -dtextshell --
+
+move \epoc32\winscw\c\data\ut_infowidgetsathandlerprivate.log %PATH_TO_RESULT%\ut_infowidgetsathandlerprivate.log
+
+goto end
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function CALCULATECOVERAGE
+::
+:: Calculates test coverage. Generates html
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:CALCULATECOVERAGE
+echo Calculating coverage
+ctcpost %PATH_TO_COVERAGE_DATA%\*.sym -p - | ctcmerge -i - -o profile.txt
+call ctc2html -t 70 -i profile.txt -o \coverage_result -nsb
+goto end
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function REMOVECOVERAGE
+::
+:: Removes data from coverage directory
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:REMOVECOVERAGE
+echo Removing deleting coverage data
+call del %PATH_TO_COVERAGE_DATA%\*.sym
+call del %PATH_TO_COVERAGE_DATA%\*.dat
+call del profile.txt
+goto end
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function END
+::
+:: Prints done
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:END
+echo Done!
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/tsrc/ut_infowidgetsathandlerprivate/src/ut_infowidgetsathandlerprivate.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,269 @@
+/*
+* 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 "ut_infowidgetsathandlerprivate.h"
+#define private public
+#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);
+}
+
+void FillData( HBufC * aText,
+        RSatService::TSatIconQualifier & aIconQualifier,
+        TUint8 & aRecordNumber)
+{
+    _LIT(KText,"Idle Text");
+    TPtr p(aText->Des());
+    p.Copy(KText);
+    aIconQualifier=RSatService::ESatIconNotSelfExplanatory;
+    aRecordNumber=1;
+}
+
+void FillDataNoIcon( HBufC * aText,
+        RSatService::TSatIconQualifier & aIconQualifier,
+        TUint8 & aRecordNumber)
+{
+    Q_UNUSED(aIconQualifier);
+    Q_UNUSED(aRecordNumber);
+    _LIT(KText,"Idle Text");
+    TPtr p(aText->Des());
+    p.Copy(KText);
+}
+
+void FillDataSelfExplIcon( HBufC * aText,
+        RSatService::TSatIconQualifier & aIconQualifier,
+        TUint8 & aRecordNumber)
+{
+    Q_UNUSED(aText);
+    aIconQualifier=RSatService::ESatIconSelfExplanatory;
+    aRecordNumber=1;
+}
+
+/*!
+  UT_InfoWidgetSatHandlerPrivate ::UT_InfoWidgetSatHandlerPrivate 
+ */
+UT_InfoWidgetSatHandlerPrivate::UT_InfoWidgetSatHandlerPrivate () 
+{
+    DPRINT << "IN";
+    
+    m_satHandlerPrivate = 0;
+    m_iwSatHandler = 0;
+    
+    DPRINT << "OUT";
+}
+
+/*!
+  UT_InfoWidgetSatHandlerPrivate ::~UT_InfoWidgetSatHandlerPrivate 
+ */
+UT_InfoWidgetSatHandlerPrivate::~UT_InfoWidgetSatHandlerPrivate ()
+{
+    DPRINT << "IN";
+    
+    delete m_satHandlerPrivate;
+    delete m_iwSatHandler;
+    
+    DPRINT << "OUT";
+}
+
+/*!
+  UT_InfoWidgetSatHandlerPrivate ::init
+ */
+void UT_InfoWidgetSatHandlerPrivate::init()
+{
+    DPRINT << "IN";
+    
+    initialize();
+    m_iwSatHandler = new InfoWidgetSatHandler;
+    m_satHandlerPrivate =  new InfoWidgetSatHandlerPrivate( m_iwSatHandler, m_satService);
+    
+    QVERIFY(verify());
+
+    DPRINT << "OUT";
+}
+
+/*!
+  UT_InfoWidgetSatHandlerPrivate ::cleanup
+ */
+void UT_InfoWidgetSatHandlerPrivate::cleanup()
+{
+    DPRINT << "IN";
+    
+    reset();
+    delete m_satHandlerPrivate;
+    delete m_iwSatHandler;
+
+    DPRINT << "OUT";
+}
+
+/*!
+  UT_InfoWidgetSatHandlerPrivate::t_connect
+ */
+void UT_InfoWidgetSatHandlerPrivate::t_connect()
+{
+    DPRINT << "IN";
+    
+    expect("RSatSession::ConnectL");
+    expect("RSatService::OpenL");
+    m_satHandlerPrivate->connect();
+     
+    expect("RSatSession::ConnectL")
+        .willOnce(invokeWithoutArguments(SimulateLeaveL));
+    m_satHandlerPrivate->connect();
+    
+    expect("RSatService::OpenL")
+        .willOnce(invokeWithoutArguments(SimulateLeaveL));
+    m_satHandlerPrivate->connect();
+
+    QVERIFY(verify());
+
+    DPRINT << "OUT";
+}
+
+/*!
+  UT_InfoWidgetSatHandlerPrivate::t_disconnect
+ */
+void UT_InfoWidgetSatHandlerPrivate::t_disconnect()
+{
+    DPRINT << "IN";
+    
+    m_satHandlerPrivate->disconnect();
+    QVERIFY(verify());
+
+    DPRINT << "OUT";
+}
+
+/*!
+  UT_InfoWidgetSatHandlerPrivate::t_startObserving
+ */
+void UT_InfoWidgetSatHandlerPrivate::t_startObserving()
+{
+    DPRINT << "IN";
+    
+    int i = KErrGeneral;
+    expect("RSatService::NotifySetupIdleModeTextChange").returns(i);
+    expect("RSatService::GetSetupIdleModeTextL")
+        .willOnce(invoke(FillData));
+    m_satHandlerPrivate->startObserving();
+    
+    expect("RSatService::NotifySetupIdleModeTextChange").returns(i);
+    expect("RSatService::GetSetupIdleModeTextL")
+        .willOnce(invoke(FillDataNoIcon));
+    m_satHandlerPrivate->startObserving();
+    
+    expect("RSatService::NotifySetupIdleModeTextChange").returns(i);
+    expect("RSatService::GetSetupIdleModeTextL")
+        .willOnce(invoke(FillDataSelfExplIcon));
+    m_satHandlerPrivate->startObserving();
+    
+    expect("RSatService::GetSetupIdleModeTextL")
+        .willOnce(invokeWithoutArguments(SimulateLeaveL));
+    m_satHandlerPrivate->startObserving();
+    
+    QVERIFY(verify());
+
+    DPRINT << "OUT";
+}
+
+/*!
+  UT_InfoWidgetSatHandlerPrivate::t_runL
+ */
+void UT_InfoWidgetSatHandlerPrivate::t_runL()
+{
+    DPRINT;
+    expect("RSatService::GetSetupIdleModeTextL")
+          .willOnce(invoke(FillData));
+    expect("RSatService::NotifySetupIdleModeTextChange").returns(KErrNone);
+    
+    TRequestStatus& status(m_satHandlerPrivate->iStatus);
+    expect("RSatService::NotifySetupIdleModeTextChange").with(status);
+    
+    // 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());
+}
+
+/*!
+  UT_InfoWidgetSatHandlerPrivate::t_doCancel
+ */
+void UT_InfoWidgetSatHandlerPrivate::t_doCancel()
+{    
+    DPRINT << "IN";
+
+    m_activeObjectControl.operation = ActiveObjectControl::ECallDoCancel; 
+    m_activeObjectControl.iStatus = KErrNone; 
+    m_activeObjectControl.object = m_satHandlerPrivate; 
+    m_satHandlerPrivate->startObserving();
+    
+    QVERIFY(verify());
+
+    DPRINT << "OUT";
+}
+
+QTEST_MAIN_S60(UT_InfoWidgetSatHandlerPrivate )
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetplugin/tsrc/ut_infowidgetsathandlerprivate/ut_infowidgetsathandlerprivate.pro	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,51 @@
+#
+# 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: Project file for building unit test component
+#
+#
+
+CONFIG += qtestlib hb
+TEMPLATE = app
+TARGET = 
+DEPENDPATH  += . ../../infowidget/src
+INCLUDEPATH += .
+INCLUDEPATH += ../common
+INCLUDEPATH += ../../inc/
+INCLUDEPATH += ../../infowidget/inc/
+
+QT -= gui
+QT += testlib
+
+symbian: {
+  CONFIG += no_icon
+  INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE
+  LIBS += -lmocklib 		\
+          -lsymbianmock 	\
+          -lcpframework
+}
+    
+# test code
+HEADERS += ./inc/ut_infowidgetsathandlerprivate.h
+SOURCES += ./src/ut_infowidgetsathandlerprivate.cpp
+
+# code to be tested
+HEADERS += ../../infowidget/inc/infowidgetsathandler.h
+HEADERS += ../../infowidget/inc/infowidgetsathandler_p.h 
+
+SOURCES += ../../infowidget/src/infowidgetsathandler_p.cpp
+
+# mocks needed for testing
+SOURCES += ../mocks/mock_rsatservice.cpp  \
+           ../mocks/mock_RSatSession.cpp  \
+           ../mocks/mock_infowidgetsathandler.cpp
--- a/phoneplugins/phoneindicatorplugin/inc/api_headers.pri	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneplugins/phoneindicatorplugin/inc/api_headers.pri	Thu Jul 22 16:33:21 2010 +0100
@@ -1,18 +1,2 @@
-#
-# 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: 
-#
-
 PHONEINDICATORPLUGIN_API_HEADERS = \
     ./inc/phoneindicators.h
\ No newline at end of file
--- a/phoneplugins/phoneindicatorplugin/inc/phoneindicatorinterface.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneplugins/phoneindicatorplugin/inc/phoneindicatorinterface.h	Thu Jul 22 16:33:21 2010 +0100
@@ -24,6 +24,8 @@
 #include <hbindicatorinterface.h>
 #include "phoneindicators.h"
 
+#include <xqappmgr.h>
+
 class PhoneIndicatorInterface : public HbIndicatorInterface
 {
 public:
@@ -31,7 +33,7 @@
                                  int typeIndex,
                                  Interaction interaction);
 
-    ~PhoneIndicatorInterface();
+    ~PhoneIndicatorInterface(){}
 
     bool handleInteraction(InteractionType type);
     QVariant indicatorData(int role) const;
--- a/phoneplugins/phoneindicatorplugin/inc/phoneindicators.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneplugins/phoneindicatorplugin/inc/phoneindicators.h	Thu Jul 22 16:33:21 2010 +0100
@@ -23,20 +23,22 @@
 #include <QString>
 
 
-static const char *IndicatorNameTemplate = "PhoneIndicator_%1";
+static const char *IndicatorNameTemplate = "com.nokia.symbian.phoneindicatorplugin_%1";
 
 enum Interaction
 {
     InteractionNone,
     OpenMissedCallView,
-    SwitchBackToCall,
+    OpenCallUi,
+    OpenDiverSettingsView,
     Deactivate
 };
 
 enum PhoneIndicatorTypes
 {
     PhoneMissedCallIndicator = 0,
-    PhoneActiveCallIndicator
+    PhoneActiveCallIndicator,
+    PhoneDivertIndidicator
 };
 
 inline QString indicatorName(int indicatorType) {
@@ -53,10 +55,11 @@
 
 Q_DECLARE_METATYPE(PhoneIndicatorInfo)
 
-static const int PhoneIndicatorCount = 2;
+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 call", " ", OpenCallUi },
+    {"qtg_mono_info.svg",   "Active diverts", " ", OpenDiverSettingsView }
 };
 
 #endif // PHONEINDICATORS_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/phoneindicatorplugin/inc/phoneindicatorservicesendertask.h	Thu Jul 22 16:33:21 2010 +0100
@@ -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 <QObject>
+#include <QRunnable>
+#include "phoneindicators.h"
+
+class PhoneIndicatorServiceSenderTask : public QRunnable
+{
+public:
+    PhoneIndicatorServiceSenderTask(Interaction interaction);
+    ~PhoneIndicatorServiceSenderTask(){}
+    
+    void run();
+private:
+    Interaction     m_interaction;
+};
+
+#endif /* PHONEINDICATORSERVICESENDERTASK_H_ */
+
--- a/phoneplugins/phoneindicatorplugin/phoneindicatorplugin.pro	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneplugins/phoneindicatorplugin/phoneindicatorplugin.pro	Thu Jul 22 16:33:21 2010 +0100
@@ -21,31 +21,35 @@
 DEPENDPATH += ./inc \
               ./src
 
-INCLUDEPATH += ./inc \
+INCLUDEPATH += ./inc
 
 symbian {
-	load(data_caging_paths)
-	include(./inc/api_headers.pri)
+    load(data_caging_paths)
+    include(./inc/api_headers.pri)
+
+    INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
 
     headers.sources = $$PHONEINDICATORPLUGIN_API_HEADERS
     headers.path = |../../inc
     for(header, headers.sources):BLD_INF_RULES.prj_exports += "$$header $$headers.path/$$basename(header)"
-    
+
     BLD_INF_RULES.prj_exports += \
     "$${LITERAL_HASH}include <platform_paths.hrh>" \
     "./rom/phoneindicatorplugin.iby    CORE_APP_LAYER_IBY_EXPORT_PATH(phoneindicatorplugin.iby)"
-    
-    LIBS += -lxqservice 
-    
+
+    LIBS += -lxqservice \
+            -lxqserviceutil \
+            -lcpframework
+
     TARGET.EPOCALLOWDLLDATA = 1
     TARGET.CAPABILITY = ALL -TCB
     TARGET.UID3 = 0x2002E6B1
-    
+
     pluginstub.sources = phoneindicatorplugin.dll
     pluginstub.path = /resource/plugins/indicators
     DEPLOYMENT += pluginstub
 
-}else:win32 {
+} else:win32 {
 
     # Put it to Hb/lib because it is in path
     DESTDIR = c:/hb/lib
--- a/phoneplugins/phoneindicatorplugin/src/phoneindicatorinterface.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneplugins/phoneindicatorplugin/src/phoneindicatorinterface.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -11,22 +11,17 @@
  *
  * Contributors:
  *
- * Description:  
+ * Description:
  *
  */
 
-#include "Phoneindicatorinterface.h"
+#include "phoneindicatorinterface.h"
+#include "phoneindicatorservicesendertask.h"
 #include "phoneindicators.h"
 
 #include <QTime>
-#include <QStringList> 
-#ifdef Q_OS_SYMBIAN
-#include <logsservices.h>
-#include <xqservicerequest.h>
-#include <eikenv.h>
-#include <apgtask.h>
-
-#endif
+#include <QStringList>
+#include <QThreadPool>
 
 PhoneIndicatorInterface::PhoneIndicatorInterface(
                 const QString &indicatorType,
@@ -39,42 +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);
-
-//            LogsServices::start( LogsServices::ViewMissed, false );
-#endif
-            }
-            break;
-        case SwitchBackToCall: {
-#ifdef Q_OS_SYMBIAN
-            RWsSession& wsSession = CEikonEnv::Static()->WsSession();
-            TApaTaskList taskList( wsSession );
-            const TUid KUidPhoneApp = { 0x100058B3 };   // Phone application
-            TApaTask task = taskList.FindApp(KUidPhoneApp);
-            task.BringToForeground();
-#endif
-            }
+        case OpenMissedCallView:    //fallthrough
+        case OpenCallUi:      //fallthrough
+        case OpenDiverSettingsView:
+            QThreadPool::globalInstance()->start(new PhoneIndicatorServiceSenderTask(m_interaction));
             break;
         case Deactivate:
             emit deactivate();
@@ -90,7 +60,7 @@
 QVariant PhoneIndicatorInterface::indicatorData(int role) const
 {
     QVariantMap map = m_parameter.value<QVariantMap>();
-    
+
     if (role == PrimaryTextRole) {
         return map.value( (QVariant(PrimaryTextRole)).toString()).toString();
     } else if (role == SecondaryTextRole ) {
@@ -107,7 +77,6 @@
 {
     bool handled(false);
     switch (type) {
-        
     case RequestActivate:
         if (m_parameter != parameter) {
             m_parameter = parameter;
@@ -118,6 +87,6 @@
     default:
         m_parameter.clear();
     }
-
     return handled;
 }
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/phoneindicatorplugin/src/phoneindicatorservicesendertask.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -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 <xqaiwrequest.h>
+#include <xqappmgr.h>
+#include <logsservices.h>
+
+
+PhoneIndicatorServiceSenderTask::PhoneIndicatorServiceSenderTask(Interaction interaction):
+        m_interaction(interaction)
+{
+}
+
+void PhoneIndicatorServiceSenderTask::run()
+{    
+    XQApplicationManager appManager;
+    QList<QVariant> 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<XQAiwRequest> request( service.isEmpty() ? 
+        appManager.create( interface, operation, false):
+        appManager.create(service, interface, operation, false));
+    if ( request == NULL ){
+        return;       
+    }   
+    request->setArguments(args);
+    request->send();
+}
--- a/phonesettings/cpphonesettingsplugins/barringplugin/inc/cpbarringplugingroup.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phonesettings/cpphonesettingsplugins/barringplugin/inc/cpbarringplugingroup.h	Thu Jul 22 16:33:21 2010 +0100
@@ -99,7 +99,7 @@
     
     void changeBarringStateRequested(int checkState);
     
-    void changeBarringPasswordRequested(bool checked = false);
+    void changeBarringPasswordRequested();
     
     void completeBarringStateChangeRequestHandling(
             QString barringPassword,
--- a/phonesettings/cpphonesettingsplugins/barringplugin/src/cpbarringplugingroup.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phonesettings/cpphonesettingsplugins/barringplugin/src/cpbarringplugingroup.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -106,8 +106,8 @@
     CpSettingFormItemData* formItem = 
         static_cast<CpSettingFormItemData*>(
             qobject_cast<const HbDataFormModel*>(item.model())->itemFromIndex(item));
-    
-    if (!formItem->property("barringType").isValid()) {
+
+    if (!formItem->contentWidgetData("barringType").isValid()) {
         // Shown item does not belong to the barring settings group.
         return;
         }
@@ -270,7 +270,7 @@
     
     QVariant value;
     value.setValue(barringType);
-    barringItem->setProperty("barringType", value);
+    barringItem->setContentWidgetData("barringType", value);
     
     appendChild(barringItem.data());
     DPRINT << ": OUT";
@@ -301,35 +301,33 @@
         m_barringRequestQueue.clear();
         return;
     }
-    
-    CpSettingFormItemData *itemForCompletedRequest = 
-        m_barringRequestQueue.dequeue();
+
+    if (!m_barringRequestQueue.isEmpty()) {
+        CpSettingFormItemData *itemForCompletedRequest = 
+            m_barringRequestQueue.dequeue();
     
-    if (!itemForCompletedRequest->isEnabled()) {
-        // After enabling setting item here status query will not be started 
-        // again for the item when user collapses and expands the barring 
-        // settings group again.
-        itemForCompletedRequest->setEnabled(true);
-        // start to observe user initiated state changes
-        m_helper.addConnection(
-            itemForCompletedRequest, SIGNAL(stateChanged(int)),
-            this, SLOT(changeBarringStateRequested(int)));
+        if (!itemForCompletedRequest->isEnabled()) {
+            // After enabling setting item here status query will not be started 
+            // again for the item when user collapses and expands the barring 
+            // settings group again.
+            itemForCompletedRequest->setEnabled(true);
+            // start to observe user initiated state changes
+            m_helper.addConnection(
+                itemForCompletedRequest, SIGNAL(stateChanged(int)),
+                this, SLOT(changeBarringStateRequested(int)));
+        }
+    
+        Qt::CheckState checkState = 
+            (PSetCallBarringWrapper::BarringStatusActive == status) 
+                ? Qt::Checked 
+                : Qt::Unchecked;
+        updateCheckStateOfItem(*itemForCompletedRequest, checkState);
     }
-    
-    Qt::CheckState checkState = 
-        (PSetCallBarringWrapper::BarringStatusActive == status) 
-            ? Qt::Checked 
-            : Qt::Unchecked;
-    updateCheckStateOfItem(*itemForCompletedRequest, checkState);
-    
     if (m_barringRequestQueue.isEmpty()) {
         m_phoneNotes->cancelNote(m_activeNoteId);
         if (m_delayedBarringActivationNote) {
             m_delayedBarringActivationNote = false;
-            m_phoneNotes->showGlobalNote(
-                m_activeNoteId, 
-                hbTrId("txt_phone_info_barring_activated"),
-                HbMessageBox::MessageTypeInformation);
+            m_phoneNotes->showNotificationDialog(hbTrId("txt_phone_info_barring_activated"));
         }
         
         // Password editing is enabled only after all barring statuses are 
@@ -339,8 +337,8 @@
         if (!m_editBarringPasswordItem->isEnabled()) {
             m_editBarringPasswordItem->setEnabled(true);
             m_helper.addConnection(
-                m_editBarringPasswordItem, SIGNAL(clicked(bool)),
-                this, SLOT(changeBarringPasswordRequested(bool)));
+                m_editBarringPasswordItem, SIGNAL(valueChanged(QPersistentModelIndex, QVariant)),
+                this, SLOT(changeBarringPasswordRequested()));
         }
     } else {
         processBarringStatusRequestQueue();
@@ -365,24 +363,23 @@
     Q_UNUSED(barringStatus)
     Q_UNUSED(plural)
     
-    CpSettingFormItemData *barringItem = m_barringRequestQueue.dequeue();
-    if (PSetCallBarringWrapper::BarringErrorNone == result) {
-        if (updateDependentBarringProgramStatuses(*barringItem)) {
-            // Indicate barring activation completion only when dependent 
-            // barring items are also updated.
-            m_delayedBarringActivationNote = true;
+    if (!m_barringRequestQueue.isEmpty()) {
+        CpSettingFormItemData *barringItem = m_barringRequestQueue.dequeue();
+        if (PSetCallBarringWrapper::BarringErrorNone == result) {
+            if (updateDependentBarringProgramStatuses(*barringItem)) {
+                // Indicate barring activation completion only when dependent 
+                // barring items are also updated.
+                m_delayedBarringActivationNote = true;
+            } else {
+                m_phoneNotes->cancelNote(m_activeNoteId);
+                m_phoneNotes->showNotificationDialog(hbTrId("txt_phone_info_barring_activated"));
+            }
         } else {
+            revertCheckStateOfItem(barringItem);
+        
             m_phoneNotes->cancelNote(m_activeNoteId);
-            m_phoneNotes->showGlobalNote(
-                m_activeNoteId, 
-                hbTrId("txt_phone_info_barring_activated"),
-                HbMessageBox::MessageTypeInformation);
+            m_phoneNotes->showGlobalErrorNote(m_activeNoteId, result);
         }
-    } else {
-        revertCheckStateOfItem(barringItem);
-        
-        m_phoneNotes->cancelNote(m_activeNoteId);
-        m_phoneNotes->showGlobalErrorNote(m_activeNoteId, result);
     }
     
     DPRINT << ": OUT";
@@ -406,14 +403,13 @@
     
     m_phoneNotes->cancelNote(m_activeNoteId);
     
-    CpSettingFormItemData *barringItem = m_barringRequestQueue.dequeue();
     if (PSetCallBarringWrapper::BarringErrorNone == result) {
-        m_phoneNotes->showGlobalNote(
-            m_activeNoteId, 
-            hbTrId("txt_phone_info_barring_deactivated"),
-            HbMessageBox::MessageTypeInformation);
+        m_phoneNotes->showNotificationDialog(hbTrId("txt_phone_info_barring_deactivated"));
     } else {
-        revertCheckStateOfItem(barringItem);
+        if (!m_barringRequestQueue.isEmpty()) {
+            CpSettingFormItemData *barringItem = m_barringRequestQueue.dequeue();
+            revertCheckStateOfItem(barringItem);
+        }
         
         m_phoneNotes->showGlobalErrorNote(m_activeNoteId, result);
     }
@@ -432,10 +428,7 @@
     m_phoneNotes->cancelNote(m_activeNoteId);
     
     if (PSetCallBarringWrapper::BarringErrorNone == result) {
-        m_phoneNotes->showGlobalNote(
-            m_activeNoteId, 
-            hbTrId("txt_phone_info_password_changed"),
-            HbMessageBox::MessageTypeInformation);
+        m_phoneNotes->showNotificationDialog(hbTrId("txt_phone_info_password_changed"));
     } else {
         m_phoneNotes->showGlobalErrorNote(m_activeNoteId, result);
     }
@@ -455,7 +448,7 @@
         CpSettingFormItemData *item = m_barringRequestQueue.head();
         PSetCallBarringWrapper::BarringType barringType =
             qvariant_cast<PSetCallBarringWrapper::BarringType>(
-                item->property("barringType"));
+                item->contentWidgetData("barringType"));
         m_barringWrapper->barringStatus(ServiceGroupVoice, barringType);
         
         m_barringStatusRequestOngoing = true;
@@ -463,7 +456,7 @@
         if (!m_phoneNotes->noteShowing()) {
             // Launch progress note only once for status update.
             m_phoneNotes->showGlobalProgressNote(
-                m_activeNoteId, hbTrId("txt_phone_info_requesting"));
+                m_activeNoteId, hbTrId("txt_common_info_requesting"));
         }
     }
     
@@ -517,26 +510,26 @@
 	QObject::disconnect(
         m_phoneNotes, SIGNAL(passwordQueryCompleted(QString, bool)),
         this, SLOT(completeBarringStateChangeRequestHandling(QString, bool)));
-    if (okPressed) {
+    if (okPressed && m_clickedBarringItem) {
         QVariant checkState = m_clickedBarringItem->contentWidgetData("checkState");
         if (Qt::Checked == checkState.toInt()) {
             m_barringWrapper->enableBarring(
                 ServiceGroupVoice,
                 qvariant_cast<PSetCallBarringWrapper::BarringType>(
-                    m_clickedBarringItem->property("barringType")), 
+                    m_clickedBarringItem->contentWidgetData("barringType")),
                 barringPassword);
         } else {
             m_barringWrapper->disableBarring(
                 ServiceGroupVoice,
                 qvariant_cast<PSetCallBarringWrapper::BarringType>(
-                    m_clickedBarringItem->property("barringType")), 
+                    m_clickedBarringItem->contentWidgetData("barringType")),
                 barringPassword);
         }
         
         m_barringRequestQueue.enqueue(m_clickedBarringItem);
         m_phoneNotes->showGlobalProgressNote(
-            m_activeNoteId, hbTrId("txt_phone_info_requesting"));
-    } else {
+            m_activeNoteId, hbTrId("txt_common_info_requesting"));
+    } else if (m_clickedBarringItem) {
         revertCheckStateOfItem(m_clickedBarringItem);
     }
     m_clickedBarringItem = NULL;
@@ -547,10 +540,9 @@
 /*!
   CpBarringPluginGroup::changeBarringPasswordRequested.
  */
-void CpBarringPluginGroup::changeBarringPasswordRequested(bool checked)
+void CpBarringPluginGroup::changeBarringPasswordRequested()
 {
     DPRINT << ": IN";
-    Q_UNUSED(checked)
     
     m_changeBarringPasswordPhase = CurrentPasswordPhase;
     QString currentPasswordQueryDialogTitle(
@@ -614,7 +606,7 @@
                     m_newPasswordVerified);
                 m_phoneNotes->showGlobalProgressNote(
                     m_activeNoteId, 
-                    hbTrId("txt_phone_info_requesting"));
+                    hbTrId("txt_common_info_requesting"));
                 QObject::disconnect(
                     m_phoneNotes, SIGNAL(passwordQueryCompleted(QString, bool)),
                     this, SLOT(changeBarringPasswordPhasesHandling(QString, bool)));
@@ -651,7 +643,7 @@
     CpSettingFormItemData* barringItem = NULL;
     PSetCallBarringWrapper::BarringType barringType =
         qvariant_cast<PSetCallBarringWrapper::BarringType>(
-            changedBarringItem.property("barringType"));
+            changedBarringItem.contentWidgetData("barringType"));
     QList<CpSettingFormItemData*> itemCandidatesForUpdate;
     switch (barringType) {
         case PSetCallBarringWrapper::BarringTypeAllOutgoing:
@@ -750,7 +742,7 @@
             static_cast<CpSettingFormItemData*>(childAt(childInd));
         PSetCallBarringWrapper::BarringType candidateBarringProgram =
             qvariant_cast<PSetCallBarringWrapper::BarringType>(
-                itemCandidate->property("barringType"));
+                itemCandidate->contentWidgetData("barringType"));
         if (candidateBarringProgram == barringProgram) {
             item = itemCandidate;
         }
--- a/phonesettings/cpphonesettingsplugins/barringplugin/tsrc/run_auto_tests_qt.bat	Tue Jun 15 14:14:38 2010 +0100
+++ b/phonesettings/cpphonesettingsplugins/barringplugin/tsrc/run_auto_tests_qt.bat	Thu Jul 22 16:33:21 2010 +0100
@@ -169,7 +169,7 @@
 ::::::::::::::::::::::::::::::::::::::::::::::::::::::
 :CALCULATECOVERAGE
 echo Calculating coverage
-ctcpost %PATH_TO_COVERAGE_DATA%\*.sym | ctcmerge -i - -o profile.txt
+ctcpost %PATH_TO_COVERAGE_DATA%\*.sym -p - | ctcmerge -i - -o profile.txt
 call ctc2html -t 70 -i profile.txt -o \coverage_result -nsb
 goto end
 
--- a/phonesettings/cpphonesettingsplugins/barringplugin/tsrc/ut_barringplugingroup/ut_barringplugingroup.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phonesettings/cpphonesettingsplugins/barringplugin/tsrc/ut_barringplugingroup/ut_barringplugingroup.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -35,18 +35,13 @@
 
 const QString KCurrentPassword = "1234";
 void setCurrentPasswordParams(
-    const QString &title, 
-    const QValidator &validator,
-    int maxPasswordLength,
-    QString &password, 
-    bool &ok)
+        const QString &title,
+        const QValidator &validator,
+        int maxPasswordLength)
 {
     Q_UNUSED(title)
     Q_UNUSED(validator)
     Q_UNUSED(maxPasswordLength)
-    
-    password = KCurrentPassword;
-    ok = true;
 }
 
 
@@ -54,32 +49,22 @@
 void setNewAndVerifiedPasswordParams(
     const QString &title, 
     const QValidator &validator,
-    int maxPasswordLength,
-    QString &password, 
-    bool &ok)
+    int maxPasswordLength)
 {
     Q_UNUSED(title)
     Q_UNUSED(validator)
     Q_UNUSED(maxPasswordLength)
-    
-    password = KNewAndVerifiedPassword;
-    ok = true;
 }
 
 
 void setPasswordParamsCancel(
     const QString &title, 
     const QValidator &validator,
-    int maxPasswordLength,
-    QString &password, 
-    bool &ok)
+    int maxPasswordLength)
 {
     Q_UNUSED(title)
     Q_UNUSED(validator)
     Q_UNUSED(maxPasswordLength)
-    Q_UNUSED(password)
-    
-    ok = false;
 }
 
 
@@ -101,8 +86,8 @@
  */
 UT_CpBarringPluginGroup::~UT_CpBarringPluginGroup()
 {
-    delete m_barringpluginGroup;
     delete m_barringWrapperMock;
+    delete m_dataFormModel;
 }
 
 
@@ -122,7 +107,8 @@
     m_barringpluginGroup = new CpBarringPluginGroup(itemDataHelper);
     
     m_dataFormModel = new HbDataFormModel();
-    m_barringpluginGroup->setModel(m_dataFormModel);
+    m_dataFormModel->appendDataFormItem(m_barringpluginGroup);
+    m_barringpluginGroup->m_model = m_dataFormModel;
     
     QVERIFY(verify());
     
@@ -143,12 +129,11 @@
         this, SIGNAL(simulateCheckStateChange(int)), 
         m_barringpluginGroup, SLOT(changeBarringStateRequested(int)));
     
-    delete m_barringpluginGroup;
-    m_barringpluginGroup = NULL;
+    delete m_dataFormModel;
+    m_dataFormModel = NULL;
     delete m_barringWrapperMock;
     m_barringWrapperMock = NULL;
-    delete m_dataFormModel;
-    m_dataFormModel = NULL;
+
 }
 
 
@@ -221,6 +206,8 @@
     EXPECT(CpPhoneNotes::showPasswordQueryDialog)
         .willOnce(invoke(setCurrentPasswordParams));
     emit simulateCheckStateChange(Qt::Checked);
+    m_barringpluginGroup->completeBarringStateChangeRequestHandling(
+            KCurrentPassword, true);
     
     // verify that already connected items are not enabled/connected again
     EXPECT(CpItemDataHelper::removeConnection).times(1);
@@ -229,6 +216,7 @@
         errorCode,
         basicServiceGroupIds, 
         PSetCallBarringWrapper::BarringStatusActive);
+    
     QVERIFY(verify());
 }
 
@@ -339,9 +327,12 @@
     EXPECT(CpPhoneNotes::showPasswordQueryDialog)
         .willOnce(invoke(setCurrentPasswordParams));
     EXPECT(CpPhoneNotes::cancelNote);
-    EXPECT(CpPhoneNotes::showGlobalNote);
+    EXPECT(CpPhoneNotes::showNotificationDialog);
     
     emit simulateCheckStateChange(Qt::Checked);
+    m_barringpluginGroup->completeBarringStateChangeRequestHandling(
+            KCurrentPassword, true);
+
     m_barringpluginGroup->enableBarringRequestCompleted(
         0, 
         PSetCallBarringWrapper::BarringTypeAllBarrings,
@@ -363,6 +354,9 @@
     EXPECT(CpPhoneNotes::showGlobalErrorNote);
     
     emit simulateCheckStateChange(Qt::Checked);
+    m_barringpluginGroup->completeBarringStateChangeRequestHandling(
+            KCurrentPassword, true);
+    
     m_barringpluginGroup->enableBarringRequestCompleted(
         -1, 
         PSetCallBarringWrapper::BarringTypeAllBarrings,
@@ -385,6 +379,9 @@
     EXPECT(CpPhoneNotes::showGlobalNote).times(0);
     
     emit simulateCheckStateChange(Qt::Checked);
+    m_barringpluginGroup->completeBarringStateChangeRequestHandling(
+            KCurrentPassword, true);
+    
     m_barringpluginGroup->enableBarringRequestCompleted(
         0, 
         PSetCallBarringWrapper::BarringTypeAllBarrings,
@@ -405,19 +402,21 @@
 {
     // something very weird has happened and enable request completes for unknown
     // barring type.
-    HbDataFormModel *formModel = qobject_cast<HbDataFormModel*>(
-        m_barringpluginGroup->model());
     HbDataFormModelItem *item = m_barringpluginGroup->childAt(5);
-    QModelIndex modelIndex = formModel->indexFromItem(item);
+    QModelIndex modelIndex = m_dataFormModel->indexFromItem(item);
     
-    EXPECT(CpItemDataHelper::widgetFromModelIndex).with(modelIndex).returns(this);
+    EXPECT(CpItemDataHelper::widgetFromModelIndex)
+        .with<const QModelIndex &>(modelIndex).returns(this);
     EXPECT(CpPhoneNotes::showPasswordQueryDialog)
         .willOnce(invoke(setCurrentPasswordParams));
     EXPECT(CpPhoneNotes::cancelNote);
-    EXPECT(CpPhoneNotes::showGlobalNote);
+    EXPECT(CpPhoneNotes::showNotificationDialog);
     // completion of unknown barring type should not lead to updating
     EXPECT(PSetCallBarringWrapper::barringStatus).times(0);
     emit simulateCheckStateChange(Qt::Checked);
+    m_barringpluginGroup->completeBarringStateChangeRequestHandling(
+            KCurrentPassword, true);
+    
     m_barringpluginGroup->enableBarringRequestCompleted(
         0, 
         PSetCallBarringWrapper::BarringTypeAllBarrings,
@@ -444,6 +443,9 @@
     EXPECT(CpPhoneNotes::showPasswordQueryDialog)
         .willOnce(invoke(setCurrentPasswordParams));
     emit simulateCheckStateChange(Qt::Checked);
+    m_barringpluginGroup->completeBarringStateChangeRequestHandling(
+            KCurrentPassword, true);
+    
     EXPECT(PSetCallBarringWrapper::barringStatus).with(
         ServiceGroupVoice, PSetCallBarringWrapper::BarringTypeOutgoingInternational);
     EXPECT(PSetCallBarringWrapper::barringStatus).with(
@@ -470,14 +472,12 @@
 void UT_CpBarringPluginGroup::t_enableBOICRequestCompletedStatusUpdate()
 {
     QModelIndex modelIndex;
-    HbDataFormModel *formModel = qobject_cast<HbDataFormModel*>(
-        m_barringpluginGroup->model());
     int numOfChilds = m_barringpluginGroup->childCount();
     for (int childIndex = 0; childIndex < numOfChilds - 1; childIndex++) {
         HbDataFormModelItem *item = m_barringpluginGroup->childAt(childIndex);
         item->setContentWidgetData("checkState", QVariant(Qt::Checked));
         if (childIndex == 1) {
-            modelIndex = formModel->indexFromItem(item);
+            modelIndex = m_dataFormModel->indexFromItem(item);
         }
     }
     
@@ -486,6 +486,9 @@
     EXPECT(CpPhoneNotes::showPasswordQueryDialog)
         .willOnce(invoke(setCurrentPasswordParams));
     emit simulateCheckStateChange(Qt::Checked);
+    m_barringpluginGroup->completeBarringStateChangeRequestHandling(
+            KCurrentPassword, true);
+    
     EXPECT(PSetCallBarringWrapper::barringStatus).with(
         ServiceGroupVoice, 
         PSetCallBarringWrapper::BarringTypeAllOutgoing);
@@ -513,14 +516,12 @@
 void UT_CpBarringPluginGroup::t_enableBOICexHCRequestCompletedStatusUpdate()
 {
     QModelIndex modelIndex;
-    HbDataFormModel *formModel = qobject_cast<HbDataFormModel*>(
-        m_barringpluginGroup->model());
     int numOfChilds = m_barringpluginGroup->childCount();
     for (int childIndex = 0; childIndex < numOfChilds - 1; childIndex++) {
         HbDataFormModelItem *item = m_barringpluginGroup->childAt(childIndex);
         item->setContentWidgetData("checkState", QVariant(Qt::Checked));
         if (childIndex == 2) {
-            modelIndex = formModel->indexFromItem(item);
+            modelIndex = m_dataFormModel->indexFromItem(item);
         }
     }
     
@@ -529,6 +530,9 @@
     EXPECT(CpPhoneNotes::showPasswordQueryDialog)
         .willOnce(invoke(setCurrentPasswordParams));
     emit simulateCheckStateChange(Qt::Checked);
+    m_barringpluginGroup->completeBarringStateChangeRequestHandling(
+            KCurrentPassword, true);
+    
     EXPECT(PSetCallBarringWrapper::barringStatus).with(
         ServiceGroupVoice, 
         PSetCallBarringWrapper::BarringTypeAllOutgoing);
@@ -562,14 +566,12 @@
 void UT_CpBarringPluginGroup::t_enableBAICRequestCompletedStatusUpdate()
 {
     QModelIndex modelIndex;
-    HbDataFormModel *formModel = qobject_cast<HbDataFormModel*>(
-        m_barringpluginGroup->model());
     int numOfChilds = m_barringpluginGroup->childCount();
     for (int childIndex = 0; childIndex < numOfChilds - 1; childIndex++) {
         HbDataFormModelItem *item = m_barringpluginGroup->childAt(childIndex);
         item->setContentWidgetData("checkState", QVariant(Qt::Checked));
         if (childIndex == 3) {
-            modelIndex = formModel->indexFromItem(item);
+            modelIndex = m_dataFormModel->indexFromItem(item);
         }
     }
     
@@ -578,6 +580,9 @@
     EXPECT(CpPhoneNotes::showPasswordQueryDialog)
         .willOnce(invoke(setCurrentPasswordParams));
     emit simulateCheckStateChange(Qt::Checked);
+    m_barringpluginGroup->completeBarringStateChangeRequestHandling(
+            KCurrentPassword, true);
+    
     EXPECT(PSetCallBarringWrapper::barringStatus).with(
         ServiceGroupVoice, 
         PSetCallBarringWrapper::BarringTypeIncomingWhenRoaming);
@@ -599,14 +604,12 @@
 void UT_CpBarringPluginGroup::t_enableBICRoamRequestCompletedStatusUpdate()
 {
     QModelIndex modelIndex;
-    HbDataFormModel *formModel = qobject_cast<HbDataFormModel*>(
-        m_barringpluginGroup->model());
     int numOfChilds = m_barringpluginGroup->childCount();
     for (int childIndex = 0; childIndex < numOfChilds - 1; childIndex++) {
         HbDataFormModelItem *item = m_barringpluginGroup->childAt(childIndex);
         item->setContentWidgetData("checkState", QVariant(Qt::Checked));
         if (childIndex == 4) {
-            modelIndex = formModel->indexFromItem(item);
+            modelIndex = m_dataFormModel->indexFromItem(item);
         }
     }
     
@@ -615,6 +618,9 @@
     EXPECT(CpPhoneNotes::showPasswordQueryDialog)
         .willOnce(invoke(setCurrentPasswordParams));
     emit simulateCheckStateChange(Qt::Checked);
+    m_barringpluginGroup->completeBarringStateChangeRequestHandling(
+            KCurrentPassword, true);
+    
     EXPECT(PSetCallBarringWrapper::barringStatus).with(
         ServiceGroupVoice, 
         PSetCallBarringWrapper::BarringTypeAllIncoming);
@@ -640,8 +646,10 @@
     EXPECT(CpPhoneNotes::showPasswordQueryDialog)
         .willOnce(invoke(setCurrentPasswordParams));
     EXPECT(CpPhoneNotes::cancelNote);
-    EXPECT(CpPhoneNotes::showGlobalNote);
+    EXPECT(CpPhoneNotes::showNotificationDialog);
     emit simulateCheckStateChange(Qt::Unchecked);
+    m_barringpluginGroup->completeBarringStateChangeRequestHandling(
+            KCurrentPassword, true);
     
     m_barringpluginGroup->disableBarringRequestCompleted(
         0, 
@@ -663,6 +671,9 @@
     EXPECT(CpPhoneNotes::showGlobalErrorNote);
     
     emit simulateCheckStateChange(Qt::Unchecked);
+    m_barringpluginGroup->completeBarringStateChangeRequestHandling(
+            KCurrentPassword, true);
+    
     m_barringpluginGroup->disableBarringRequestCompleted(
         -1, 
         PSetCallBarringWrapper::BarringTypeAllBarrings,
@@ -680,7 +691,7 @@
 {
 // request completed with no error
     EXPECT(CpPhoneNotes::cancelNote);
-    EXPECT(CpPhoneNotes::showGlobalNote);
+    EXPECT(CpPhoneNotes::showNotificationDialog);
     
     m_barringpluginGroup->barringPasswordChangeRequestCompleted(0);
     
@@ -710,7 +721,11 @@
             PSetCallBarringWrapper::BarringTypeAllOutgoing, KCurrentPassword);
     EXPECT(CpPhoneNotes::showGlobalProgressNote);
     
+    HbDataFormModelItem *item = m_barringpluginGroup->childAt(0);
+    item->setContentWidgetData("checkState", QVariant(Qt::Checked));
     emit simulateCheckStateChange(Qt::Checked);
+    m_barringpluginGroup->completeBarringStateChangeRequestHandling(
+            KCurrentPassword, true);
     
     QVERIFY(verify());
     
@@ -723,7 +738,11 @@
             PSetCallBarringWrapper::BarringTypeAllOutgoing, KCurrentPassword);
     EXPECT(CpPhoneNotes::showGlobalProgressNote);
     
+    item = m_barringpluginGroup->childAt(0);
+    item->setContentWidgetData("checkState", QVariant(Qt::Unchecked));
     emit simulateCheckStateChange(Qt::Unchecked);
+    m_barringpluginGroup->completeBarringStateChangeRequestHandling(
+            KCurrentPassword, true);
     
     QVERIFY(verify());
 
@@ -736,7 +755,11 @@
     EXPECT(PSetCallBarringWrapper::disableBarring).times(0);
     EXPECT(CpPhoneNotes::showGlobalProgressNote).times(0);
     
+    item = m_barringpluginGroup->childAt(0);
+    item->setContentWidgetData("checkState", QVariant(Qt::Unchecked));
     emit simulateCheckStateChange(Qt::Unchecked);
+    m_barringpluginGroup->completeBarringStateChangeRequestHandling(
+                "", false);
     
     QVERIFY(verify());
     
@@ -757,12 +780,13 @@
 {
     connect(
         this, SIGNAL(simulateEditPasswordButtonClicked(bool)), 
-        m_barringpluginGroup, SLOT(changeBarringPasswordRequested(bool)));
+        m_barringpluginGroup, SLOT(changeBarringPasswordRequested()));
     
     // cancel from current password query
     EXPECT(CpPhoneNotes::showPasswordQueryDialog)
         .willOnce(invoke(setPasswordParamsCancel));
     emit simulateEditPasswordButtonClicked(false);
+    m_barringpluginGroup->changeBarringPasswordPhasesHandling("", false);
     QVERIFY(verify());
     
     // cancel from new password query
@@ -771,6 +795,10 @@
     EXPECT(CpPhoneNotes::showPasswordQueryDialog)
         .willOnce(invoke(setPasswordParamsCancel));
     emit simulateEditPasswordButtonClicked(false);
+    m_barringpluginGroup->changeBarringPasswordPhasesHandling(
+            KCurrentPassword, true);
+    m_barringpluginGroup->changeBarringPasswordPhasesHandling(
+            "", false);
     QVERIFY(verify());
     
     // cancel from verify new password query
@@ -781,6 +809,12 @@
     EXPECT(CpPhoneNotes::showPasswordQueryDialog)
         .willOnce(invoke(setPasswordParamsCancel));
     emit simulateEditPasswordButtonClicked(false);
+    m_barringpluginGroup->changeBarringPasswordPhasesHandling(
+            KCurrentPassword, true);
+    m_barringpluginGroup->changeBarringPasswordPhasesHandling(
+            KNewAndVerifiedPassword, true);
+    m_barringpluginGroup->changeBarringPasswordPhasesHandling(
+            "", false);
     QVERIFY(verify());
     
     // all data successfully queried
@@ -793,6 +827,12 @@
     EXPECT(PSetCallBarringWrapper::changeBarringPassword)
         .with(KCurrentPassword, KNewAndVerifiedPassword, KNewAndVerifiedPassword);
     emit simulateEditPasswordButtonClicked(false);
+    m_barringpluginGroup->changeBarringPasswordPhasesHandling(
+            KCurrentPassword, true);
+    m_barringpluginGroup->changeBarringPasswordPhasesHandling(
+            KNewAndVerifiedPassword, true);
+    m_barringpluginGroup->changeBarringPasswordPhasesHandling(
+            KNewAndVerifiedPassword, true);
     QVERIFY(verify());
 }
 
--- a/phonesettings/cpphonesettingsplugins/bwins/cptelephonyutilsu.def	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,80 +0,0 @@
-EXPORTS
-	?metaObject@CpPhoneNotes@@UBEPBUQMetaObject@@XZ @ 1 NONAME ; struct QMetaObject const * CpPhoneNotes::metaObject(void) const
-	?basicServiceGroupName@CpPhoneNotes@@ABE?AVQString@@W4BasicServiceGroups@CpTelephonyUtils@@@Z @ 2 NONAME ; class QString CpPhoneNotes::basicServiceGroupName(enum CpTelephonyUtils::BasicServiceGroups) const
-	?activeNoteAboutToClose@CpPhoneNotes@@AAEXXZ @ 3 NONAME ; void CpPhoneNotes::activeNoteAboutToClose(void)
-	?handleProgressNoteCanceled@CpPhoneNotes@@AAEXXZ @ 4 NONAME ; void CpPhoneNotes::handleProgressNoteCanceled(void)
-	??_ECpPhoneNotes@@UAE@I@Z @ 5 NONAME ; CpPhoneNotes::~CpPhoneNotes(unsigned int)
-	?showGlobalErrorNote@CpPhoneNotes@@QAEXAAHH@Z @ 6 NONAME ; void CpPhoneNotes::showGlobalErrorNote(int &, int)
-	?qt_metacast@CpSettingsWrapper@@UAEPAXPBD@Z @ 7 NONAME ; void * CpSettingsWrapper::qt_metacast(char const *)
-	?getStaticMetaObject@Tools@@SAABUQMetaObject@@XZ @ 8 NONAME ; struct QMetaObject const & Tools::getStaticMetaObject(void)
-	??1CpSettingsWrapper@@UAE@XZ @ 9 NONAME ; CpSettingsWrapper::~CpSettingsWrapper(void)
-	?qt_metacast@CpPhoneNotes@@UAEPAXPBD@Z @ 10 NONAME ; void * CpPhoneNotes::qt_metacast(char const *)
-	?passwordTextChanged@CpPhoneNotes@@AAEXXZ @ 11 NONAME ; void CpPhoneNotes::passwordTextChanged(void)
-	?tr@CpPhoneNotes@@SA?AVQString@@PBD0H@Z @ 12 NONAME ; class QString CpPhoneNotes::tr(char const *, char const *, int)
-	?instance@CpPhoneNotes@@SAPAV1@XZ @ 13 NONAME ; class CpPhoneNotes * CpPhoneNotes::instance(void)
-	?tr@CpSettingsWrapper@@SA?AVQString@@PBD0H@Z @ 14 NONAME ; class QString CpSettingsWrapper::tr(char const *, char const *, int)
-	??1CpPhoneNotes@@EAE@XZ @ 15 NONAME ; CpPhoneNotes::~CpPhoneNotes(void)
-	?formatPhoneNumber@CpPhoneNotes@@ABE?AVQString@@V2@@Z @ 16 NONAME ; class QString CpPhoneNotes::formatPhoneNumber(class QString) const
-	?showGlobalNote@CpPhoneNotes@@QAEXAAHABVQString@@W4MessageBoxType@HbMessageBox@@@Z @ 17 NONAME ; void CpPhoneNotes::showGlobalNote(int &, class QString const &, enum HbMessageBox::MessageBoxType)
-	?metaObject@Tools@@UBEPBUQMetaObject@@XZ @ 18 NONAME ; struct QMetaObject const * Tools::metaObject(void) const
-	?readSoftRejectText@CpSettingsWrapper@@QAEXAAVQString@@AA_N@Z @ 19 NONAME ; void CpSettingsWrapper::readSoftRejectText(class QString &, bool &)
-	?getStaticMetaObject@CpSettingsWrapper@@SAABUQMetaObject@@XZ @ 20 NONAME ; struct QMetaObject const & CpSettingsWrapper::getStaticMetaObject(void)
-	?finishedPasswordQueryDialog@CpPhoneNotes@@QAEXPAVHbAction@@@Z @ 21 NONAME ; void CpPhoneNotes::finishedPasswordQueryDialog(class HbAction *)
-	?metaObject@CpSettingsWrapper@@UBEPBUQMetaObject@@XZ @ 22 NONAME ; struct QMetaObject const * CpSettingsWrapper::metaObject(void) const
-	?videoSupported@Tools@@SA_NXZ @ 23 NONAME ; bool Tools::videoSupported(void)
-	?showCallDuration@CpSettingsWrapper@@QAE_NXZ @ 24 NONAME ; bool CpSettingsWrapper::showCallDuration(void)
-	?isPhoneOffline@CpSettingsWrapper@@QBE_NXZ @ 25 NONAME ; bool CpSettingsWrapper::isPhoneOffline(void) const
-	?errorCodeTextMapping@Tools@@SA_NHAAVQString@@@Z @ 26 NONAME ; bool Tools::errorCodeTextMapping(int, class QString &)
-	?trUtf8@CpPhoneNotes@@SA?AVQString@@PBD0H@Z @ 27 NONAME ; class QString CpPhoneNotes::trUtf8(char const *, char const *, int)
-	?readCenrepString@CpSettingsWrapper@@ABE?AVQString@@JK@Z @ 28 NONAME ; class QString CpSettingsWrapper::readCenrepString(long, unsigned long) const
-	?writeSoftRejectText@CpSettingsWrapper@@QAEHABVQString@@_N@Z @ 29 NONAME ; int CpSettingsWrapper::writeSoftRejectText(class QString const &, bool)
-	?showBasicServiceList@CpPhoneNotes@@QAEXABVQString@@ABV?$QList@E@@@Z @ 30 NONAME ; void CpPhoneNotes::showBasicServiceList(class QString const &, class QList<unsigned char> const &)
-	?setShowCallDuration@CpSettingsWrapper@@QAEH_N@Z @ 31 NONAME ; int CpSettingsWrapper::setShowCallDuration(bool)
-	?qt_metacall@CpPhoneNotes@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 32 NONAME ; int CpPhoneNotes::qt_metacall(enum QMetaObject::Call, int, void * *)
-	?qt_metacall@Tools@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 33 NONAME ; int Tools::qt_metacall(enum QMetaObject::Call, int, void * *)
-	?trUtf8@CpSettingsWrapper@@SA?AVQString@@PBD0@Z @ 34 NONAME ; class QString CpSettingsWrapper::trUtf8(char const *, char const *)
-	?tr@CpPhoneNotes@@SA?AVQString@@PBD0@Z @ 35 NONAME ; class QString CpPhoneNotes::tr(char const *, char const *)
-	??_ECpSettingsWrapper@@UAE@I@Z @ 36 NONAME ; CpSettingsWrapper::~CpSettingsWrapper(unsigned int)
-	?getStaticMetaObject@CpPhoneNotes@@SAABUQMetaObject@@XZ @ 37 NONAME ; struct QMetaObject const & CpPhoneNotes::getStaticMetaObject(void)
-	?progressNoteCanceled@CpPhoneNotes@@IAEXXZ @ 38 NONAME ; void CpPhoneNotes::progressNoteCanceled(void)
-	?trUtf8@CpSettingsWrapper@@SA?AVQString@@PBD0H@Z @ 39 NONAME ; class QString CpSettingsWrapper::trUtf8(char const *, char const *, int)
-	?staticMetaObject@CpPhoneNotes@@2UQMetaObject@@B @ 40 NONAME ; struct QMetaObject const CpPhoneNotes::staticMetaObject
-	??0CpPhoneNotes@@AAE@XZ @ 41 NONAME ; CpPhoneNotes::CpPhoneNotes(void)
-	?tr@Tools@@SA?AVQString@@PBD0@Z @ 42 NONAME ; class QString Tools::tr(char const *, char const *)
-	?showGlobalProgressNote@CpPhoneNotes@@QAEXAAHABVQString@@@Z @ 43 NONAME ; void CpPhoneNotes::showGlobalProgressNote(int &, class QString const &)
-	?voipSupported@Tools@@SA_NXZ @ 44 NONAME ; bool Tools::voipSupported(void)
-	?qt_metacast@Tools@@UAEPAXPBD@Z @ 45 NONAME ; void * Tools::qt_metacast(char const *)
-	?trUtf8@CpPhoneNotes@@SA?AVQString@@PBD0@Z @ 46 NONAME ; class QString CpPhoneNotes::trUtf8(char const *, char const *)
-	?readCenrepValue@CpSettingsWrapper@@ABE?AVQVariant@@JK@Z @ 47 NONAME ; class QVariant CpSettingsWrapper::readCenrepValue(long, unsigned long) const
-	?trUtf8@Tools@@SA?AVQString@@PBD0H@Z @ 48 NONAME ; class QString Tools::trUtf8(char const *, char const *, int)
-	?tr@Tools@@SA?AVQString@@PBD0H@Z @ 49 NONAME ; class QString Tools::tr(char const *, char const *, int)
-	?qt_metacall@CpSettingsWrapper@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 50 NONAME ; int CpSettingsWrapper::qt_metacall(enum QMetaObject::Call, int, void * *)
-	?noteShowing@CpPhoneNotes@@QAE_NXZ @ 51 NONAME ; bool CpPhoneNotes::noteShowing(void)
-	?showCallDivertDetails@CpPhoneNotes@@QAEXABVPSCallDivertingStatus@@@Z @ 52 NONAME ; void CpPhoneNotes::showCallDivertDetails(class PSCallDivertingStatus const &)
-	?passwordQueryCompleted@CpPhoneNotes@@IAEXVQString@@_N@Z @ 53 NONAME ; void CpPhoneNotes::passwordQueryCompleted(class QString, bool)
-	?numberGroupingSupported@CpSettingsWrapper@@QBE_NXZ @ 54 NONAME ; bool CpSettingsWrapper::numberGroupingSupported(void) const
-	?launchNextNoteIfReady@CpPhoneNotes@@AAEXXZ @ 55 NONAME ; void CpPhoneNotes::launchNextNoteIfReady(void)
-	?tr@CpSettingsWrapper@@SA?AVQString@@PBD0@Z @ 56 NONAME ; class QString CpSettingsWrapper::tr(char const *, char const *)
-	?cancelNote@CpPhoneNotes@@QAEXH@Z @ 57 NONAME ; void CpPhoneNotes::cancelNote(int)
-	?isFeatureCallWaitingDistiquishNotProvisionedEnabled@CpSettingsWrapper@@QAE_NXZ @ 58 NONAME ; bool CpSettingsWrapper::isFeatureCallWaitingDistiquishNotProvisionedEnabled(void)
-	?showPasswordQueryDialog@CpPhoneNotes@@QAEXABVQString@@ABVQValidator@@H@Z @ 59 NONAME ; void CpPhoneNotes::showPasswordQueryDialog(class QString const &, class QValidator const &, int)
-	?writeCenrepValue@CpSettingsWrapper@@ABEHJKABVQVariant@@@Z @ 60 NONAME ; int CpSettingsWrapper::writeCenrepValue(long, unsigned long, class QVariant const &) const
-	?staticMetaObject@Tools@@2UQMetaObject@@B @ 61 NONAME ; struct QMetaObject const Tools::staticMetaObject
-	?trUtf8@Tools@@SA?AVQString@@PBD0@Z @ 62 NONAME ; class QString Tools::trUtf8(char const *, char const *)
-	?staticMetaObject@CpSettingsWrapper@@2UQMetaObject@@B @ 63 NONAME ; struct QMetaObject const CpSettingsWrapper::staticMetaObject
-	??0CpSettingsWrapper@@QAE@PAVQObject@@@Z @ 64 NONAME ; CpSettingsWrapper::CpSettingsWrapper(class QObject *)
-	?qt_metacast@CpPhoneLocalisation@@UAEPAXPBD@Z @ 65 NONAME ; void * CpPhoneLocalisation::qt_metacast(char const *)
-	?installTranslator@CpPhoneLocalisation@@QAE_NW4TranslationFileId@1@@Z @ 66 NONAME ; bool CpPhoneLocalisation::installTranslator(enum CpPhoneLocalisation::TranslationFileId)
-	?trUtf8@CpPhoneLocalisation@@SA?AVQString@@PBD0H@Z @ 67 NONAME ; class QString CpPhoneLocalisation::trUtf8(char const *, char const *, int)
-	?tr@CpPhoneLocalisation@@SA?AVQString@@PBD0H@Z @ 68 NONAME ; class QString CpPhoneLocalisation::tr(char const *, char const *, int)
-	?qt_metacall@CpPhoneLocalisation@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 69 NONAME ; int CpPhoneLocalisation::qt_metacall(enum QMetaObject::Call, int, void * *)
-	?trUtf8@CpPhoneLocalisation@@SA?AVQString@@PBD0@Z @ 70 NONAME ; class QString CpPhoneLocalisation::trUtf8(char const *, char const *)
-	?staticMetaObject@CpPhoneLocalisation@@2UQMetaObject@@B @ 71 NONAME ; struct QMetaObject const CpPhoneLocalisation::staticMetaObject
-	??0CpPhoneLocalisation@@QAE@PAVQObject@@@Z @ 72 NONAME ; CpPhoneLocalisation::CpPhoneLocalisation(class QObject *)
-	??_ECpPhoneLocalisation@@UAE@I@Z @ 73 NONAME ; CpPhoneLocalisation::~CpPhoneLocalisation(unsigned int)
-	?metaObject@CpPhoneLocalisation@@UBEPBUQMetaObject@@XZ @ 74 NONAME ; struct QMetaObject const * CpPhoneLocalisation::metaObject(void) const
-	?tr@CpPhoneLocalisation@@SA?AVQString@@PBD0@Z @ 75 NONAME ; class QString CpPhoneLocalisation::tr(char const *, char const *)
-	??1CpPhoneLocalisation@@UAE@XZ @ 76 NONAME ; CpPhoneLocalisation::~CpPhoneLocalisation(void)
-	?getStaticMetaObject@CpPhoneLocalisation@@SAABUQMetaObject@@XZ @ 77 NONAME ; struct QMetaObject const & CpPhoneLocalisation::getStaticMetaObject(void)
-	?removeTranslators@CpPhoneLocalisation@@QAEXXZ @ 78 NONAME ; void CpPhoneLocalisation::removeTranslators(void)
-
--- a/phonesettings/cpphonesettingsplugins/callsplugin/src/cpcallsplugingroup.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phonesettings/cpphonesettingsplugins/callsplugin/src/cpcallsplugingroup.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -96,6 +96,11 @@
         SIGNAL(cancelNote(int)),
         phoneNotes, 
         SLOT(cancelNote(int)));
+    QObject::connect(
+        this, 
+        SIGNAL(showNotificationDialog(const QString&)),
+        phoneNotes, 
+        SLOT(showNotificationDialog(const QString&)));
     
     // Create combobox string <-> setting mappings 
     insertMappedListItems(); 
@@ -105,12 +110,14 @@
     createCallWaitingtem();
     createSoftRejectItem();
     createShowCallDurationItem();
+    createOwnVideoInReceivedCall();
     
     // Connect setting item signals
     connectCLIItem();
     connectCallWaitingItem();
     connectSoftRejectItem();
     connectShowCallDurationItem();
+    connectOwnVideoInReceivedCall();
     
     m_callWaitingDistinguishEnabled = 
        m_cpSettingsWrapper->isFeatureCallWaitingDistiquishNotProvisionedEnabled();
@@ -148,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")));
@@ -185,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(
@@ -210,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<int, QString> cliSettingMapIterator(m_cliSettingMap);
@@ -224,6 +238,43 @@
 }
 
 /*!
+  CpCallsPluginGroup::createOwnVideoInReceivedCall.
+ */
+void CpCallsPluginGroup::createOwnVideoInReceivedCall()
+{
+    DPRINT << ": IN";
+    
+    // Read Own video in received call value from Cenrep 
+    int ownVideoInReceivedCallStatus = 
+            m_cpSettingsWrapper->readVtVideoSending();
+    DPRINT << "ownVideoInReceivedCallStatus:" << ownVideoInReceivedCallStatus;
+    
+    m_OwnVideoInReceivedCall =
+        new CpSettingFormItemData(
+            HbDataFormModelItem::ComboBoxItem,
+            hbTrId("txt_phone_setlabel_own_video_in_received_call"),
+            this);
+    m_OwnVideoInReceivedCall->setObjectName(
+            "ownVideoInReceivedCallDataItem");
+    
+    QStringList ownVideoSelections;
+    ownVideoSelections
+        <<hbTrId("txt_phone_setlabel_own_video_in_val_show_automatic")
+        <<hbTrId("txt_phone_setlabel_own_video_in_val_ask_first")
+        <<hbTrId("txt_phone_setlabel_own_video_in_val_dont_show");
+
+    m_OwnVideoInReceivedCall->setContentWidgetData(
+        "items", QVariant(ownVideoSelections));
+    
+    QVariant indexValue(ownVideoInReceivedCallStatus);
+    m_OwnVideoInReceivedCall->setContentWidgetData(
+        QString("currentIndex"), indexValue);
+    
+    appendChild( m_OwnVideoInReceivedCall ); 
+    DPRINT << ": OUT";    
+}
+
+/*!
   CpCallsPluginGroup::createCallWaitingtem.
  */
 void CpCallsPluginGroup::createCallWaitingtem()
@@ -235,7 +286,7 @@
             HbDataFormModelItem::ToggleValueItem,
             hbTrId("txt_phone_setlabel_call_waiting"),
             this);
-
+    m_DataItemCallWaiting->setObjectName("callWaitingDataItem"); 
     m_DataItemCallWaiting->setContentWidgetData(
         "text", QVariant(hbTrId("txt_phone_setlabel_call_waiting_val_check_status")));
     m_DataItemCallWaiting->setContentWidgetData(
@@ -250,13 +301,10 @@
  */
 void CpCallsPluginGroup::connectShowCallDurationItem()
 {
-    DPRINT << ": IN";
-    
+    DPRINT;
     m_helper.addConnection(
-        m_DataItemShowCallDuration, SIGNAL(clicked()),
+        m_DataItemShowCallDuration, SIGNAL(valueChanged(QPersistentModelIndex, QVariant)),
         this, SLOT(showCallDurationStateChanged()));
-
-    DPRINT << ": OUT";
 }
  
 /*!
@@ -264,13 +312,10 @@
  */
 void CpCallsPluginGroup::connectSoftRejectItem()
 {
-    DPRINT << ": IN";
-
+    DPRINT;
     m_helper.addConnection(
         m_DataItemSoftRejectTextEditor, SIGNAL(editingFinished()),
         this, SLOT(softRejectTextChanged()));
-
-    DPRINT << ": OUT";
 }
 
 /*!
@@ -278,8 +323,7 @@
  */
 void CpCallsPluginGroup::connectCLIItem()
 {
-    DPRINT << ": IN";
-    
+    DPRINT;
     m_helper.addConnection(
         m_DataItemCLI, SIGNAL(currentIndexChanged(int)),
         this, SLOT(cliCurrentIndexChanged(int)));
@@ -293,8 +337,17 @@
     } else {
         DPRINT << "Error: " << err;
     }
-    
-    DPRINT << ": OUT";
+}
+
+/*!
+  CpCallsPluginGroup::connectOwnVideoInReceivedCall.
+ */
+void CpCallsPluginGroup::connectOwnVideoInReceivedCall()
+{
+    DPRINT;
+    m_helper.addConnection(
+        m_OwnVideoInReceivedCall, SIGNAL(currentIndexChanged(int)),
+            this, SLOT(ownVideoInReceivedCallStateChanged(int)));
 }
 
 /*!
@@ -302,13 +355,10 @@
  */
 void CpCallsPluginGroup::connectCallWaitingItem()
 {
-    DPRINT << ": IN";
-
+    DPRINT;
     m_helper.addConnection(
-        m_DataItemCallWaiting, SIGNAL(clicked()),
+        m_DataItemCallWaiting, SIGNAL(valueChanged(QPersistentModelIndex, QVariant)),
         this, SLOT(callWaitingCurrentIndexChanged()));
-
-    DPRINT << ": OUT";
 }
 
 /*!
@@ -321,12 +371,34 @@
     QVariant text = m_DataItemShowCallDuration->contentWidgetData("text");
     QString showCallDurationText = text.toString();
 
-    if (showCallDurationText == hbTrId("txt_phone_setlabel_val_yes")) {
-        m_cpSettingsWrapper->setShowCallDuration(true);
-    } else if (showCallDurationText == hbTrId("txt_phone_setlabel_val_no")){
-        m_cpSettingsWrapper->setShowCallDuration(false);
+    if(m_cpSettingsWrapper->isOngoingCall()) {
+        // ongoing call, operation not allowed, refresh ui.
+        bool showCallDurationStatus = m_cpSettingsWrapper->showCallDuration();
+        DPRINT << ": ongoing call case, status: " << showCallDurationStatus;
+
+        if (showCallDurationStatus) {
+            m_DataItemShowCallDuration->setContentWidgetData(
+                "text", QVariant(hbTrId("txt_phone_setlabel_val_yes")));
+            m_DataItemShowCallDuration->setContentWidgetData(
+                "additionalText", QVariant(hbTrId("txt_phone_setlabel_val_no")));
+        } else {
+            m_DataItemShowCallDuration->setContentWidgetData(
+                "text", QVariant(hbTrId("txt_phone_setlabel_val_no")));
+            m_DataItemShowCallDuration->setContentWidgetData(
+                "additionalText", QVariant(hbTrId("txt_phone_setlabel_val_yes")));
+        }
+        emit showGlobalNote(
+            m_activeNoteId, 
+            emit hbTrId("txt_phone_info_not_allowed"), 
+            HbMessageBox::MessageTypeInformation);
     } else {
-        DPRINT << "nothing done";
+        if (showCallDurationText == hbTrId("txt_phone_setlabel_val_yes")) {
+            m_cpSettingsWrapper->setShowCallDuration(true);
+        } else if (showCallDurationText == hbTrId("txt_phone_setlabel_val_no")){
+            m_cpSettingsWrapper->setShowCallDuration(false);
+        } else {
+            DPRINT << "nothing done";
+        }
     }
 
     DPRINT << ": OUT";
@@ -341,7 +413,7 @@
     
     QVariant text = m_DataItemSoftRejectTextEditor->contentWidgetData("text");
     QString softRejectText = text.toString();  
-    if (!softRejectText.isEmpty()) {
+    if (!softRejectText.isNull()) {
         DPRINT << "softRejectText:" << softRejectText;
         m_cpSettingsWrapper->writeSoftRejectText(softRejectText, true);
     }
@@ -363,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";
@@ -404,18 +472,35 @@
 
     DPRINT << ": OUT";
 }
+
+/*!
+  CpCallsPluginGroup::ownVideoInReceivedCallStateChanged.
+ */
+void CpCallsPluginGroup::ownVideoInReceivedCallStateChanged(int index)
+{
+    DPRINT << ": IN : index: " << index;
     
+    if (index >= 0) {
+        //store to Cenrep
+        int ret = m_cpSettingsWrapper->writeVtVideoSending(index);
+        DPRINT << 
+            "m_cpSettingsWrapper->writeVtVideoSending(index) ret: " << ret;
+    }else{
+        DPRINT << "Error: negative index!";
+    }
+           
+    DPRINT << ": OUT";
+}
+
 /*!
   CpCallsPluginGroup::insertMappedListItems.
  */
 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";
 }
 
@@ -428,7 +513,6 @@
 {
     DPRINT << ": IN status: " << status;
     // This happens only in the very first time when clicked.
-
     emit cancelNote(m_activeNoteId);
     
     bool alsCaseOnly = false;
@@ -441,9 +525,7 @@
     if (m_callWaitingDistinguishEnabled &&
             PSetCallWaitingWrapper::StatusNotProvisioned == status) {
         DPRINT << ": not provisioned";
-        emit showGlobalNote(m_activeNoteId,
-            hbTrId("txt_phone_info_request_not_completed"), 
-            HbMessageBox::MessageTypeInformation);
+        emit showNotificationDialog(hbTrId("txt_phone_info_request_not_completed"));
     } else if (PSetCallWaitingWrapper::StatusActive == status && !alsCaseOnly) {
         DPRINT << ": status active";
         m_DataItemCallWaiting->setContentWidgetData(
@@ -472,25 +554,17 @@
     DPRINT << ": IN";
     emit cancelNote(m_activeNoteId);
     if (result) {
-        emit showGlobalNote(m_activeNoteId,
-            hbTrId("txt_phone_info_request_not_confirmed"), 
-            HbMessageBox::MessageTypeWarning);
+        emit showNotificationDialog(hbTrId("txt_phone_info_request_not_confirmed"));
     } else {
         switch (command){
             case PSetCallWaitingWrapper::ActivateCallWaiting:
-                emit showGlobalNote(m_activeNoteId,
-                    hbTrId("txt_phone_info_call_waiting_activated"), 
-                    HbMessageBox::MessageTypeInformation);
+                emit showNotificationDialog(hbTrId("txt_phone_info_call_waiting_activated"));
                 break;
             case PSetCallWaitingWrapper::DeactivateCallWaiting:
-                emit showGlobalNote(m_activeNoteId,
-                    hbTrId("txt_phone_info_call_waiting_deactivated"), 
-                    HbMessageBox::MessageTypeInformation);
+                emit showNotificationDialog(hbTrId("txt_phone_info_call_waiting_deactivated"));
                 break;
             default: 
-                emit showGlobalNote(m_activeNoteId,
-                    hbTrId("txt_phone_info_result_unknown"), 
-                    HbMessageBox::MessageTypeInformation);
+                emit showNotificationDialog(hbTrId("txt_phone_info_result_unknown"));
                 break;
         }
     }
@@ -507,7 +581,7 @@
     Q_ASSERT(!(ongoing && interrupted));
     
     if (ongoing) {
-        emit showGlobalProgressNote(m_activeNoteId, hbTrId("txt_phone_info_requesting"));
+        emit showGlobalProgressNote(m_activeNoteId, hbTrId("txt_common_info_requesting"));
     }
     
     if (interrupted) {
@@ -524,9 +598,8 @@
 {
     DPRINT << ": IN";
     DPRINT << "errorCode:" << errorCode;
-    
+
     emit cancelNote(m_activeNoteId);
-    
     emit showGlobalErrorNote(m_activeNoteId, errorCode);
     
     DPRINT << ": OUT";
--- a/phonesettings/cpphonesettingsplugins/callsplugin/src/cpcallsplugingroup.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phonesettings/cpphonesettingsplugins/callsplugin/src/cpcallsplugingroup.h	Thu Jul 22 16:33:21 2010 +0100
@@ -46,11 +46,13 @@
 private:     
     
     void createShowCallDurationItem();
+    void createOwnVideoInReceivedCall();
     void createSoftRejectItem();
     void createCLIItem();
     void createCallWaitingtem();
     
     void connectShowCallDurationItem();
+    void connectOwnVideoInReceivedCall();
     void connectSoftRejectItem();
     void connectCLIItem();
     void connectCallWaitingItem();
@@ -60,6 +62,7 @@
 public slots:
     
     void showCallDurationStateChanged();
+    void ownVideoInReceivedCallStateChanged(int index);
     void softRejectTextChanged();
     void callWaitingCurrentIndexChanged();
     void cliCurrentIndexChanged(int index);
@@ -81,6 +84,7 @@
         int &noteId, const QString& text, HbMessageBox::MessageBoxType);
     void showGlobalErrorNote(int &noteId, int errorCode);
     void cancelNote(int noteId);
+    void showNotificationDialog(const QString& text);
     
 private:   
 
@@ -94,7 +98,8 @@
     PSetCallWaitingWrapper* m_callWaitingWrapper;
     
     // Not owned objects
-    CpSettingFormItemData *m_DataItemShowCallDuration; 
+    CpSettingFormItemData *m_DataItemShowCallDuration;
+    CpSettingFormItemData *m_OwnVideoInReceivedCall;
     CpSettingFormItemData *m_DataItemSoftRejectTextEditor;
     CpSettingFormItemData *m_DataItemCLI; 
     CpSettingFormItemData *m_DataItemCallWaiting;
--- a/phonesettings/cpphonesettingsplugins/callsplugin/tsrc/run_auto_tests_qt.bat	Tue Jun 15 14:14:38 2010 +0100
+++ b/phonesettings/cpphonesettingsplugins/callsplugin/tsrc/run_auto_tests_qt.bat	Thu Jul 22 16:33:21 2010 +0100
@@ -169,7 +169,7 @@
 ::::::::::::::::::::::::::::::::::::::::::::::::::::::
 :CALCULATECOVERAGE
 echo Calculating coverage
-ctcpost %PATH_TO_COVERAGE_DATA%\*.sym | ctcmerge -i - -o profile.txt
+ctcpost %PATH_TO_COVERAGE_DATA%\*.sym -p - | ctcmerge -i - -o profile.txt
 call ctc2html -t 70 -i profile.txt -o \coverage_result -nsb
 goto end
 
--- a/phonesettings/cpphonesettingsplugins/callsplugin/tsrc/ut_callsplugingroup/ut_callsplugingroup.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phonesettings/cpphonesettingsplugins/callsplugin/tsrc/ut_callsplugingroup/ut_callsplugingroup.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -99,12 +99,21 @@
  */
 void UT_CpCallsPluginGroup::t_showCallDurationStateChanged()
 {
-    int iRet=0;
+    bool bOngoing=true;
+    bool bDuration=true;
     
-    EXPECT(CpSettingsWrapper::setShowCallDuration).returns(iRet);
+    EXPECT(CpSettingsWrapper::isOngoingCall).returns(bOngoing);
+    EXPECT(CpSettingsWrapper::showCallDuration).returns(bDuration);
+    EXPECT(CpPhoneNotes::showGlobalNote);
     m_callspluginGroup->showCallDurationStateChanged();
     
-    EXPECT(CpSettingsWrapper::setShowCallDuration).returns(iRet);
+    bDuration = false;
+    EXPECT(CpSettingsWrapper::isOngoingCall).returns(bOngoing);
+    EXPECT(CpSettingsWrapper::showCallDuration).returns(bDuration);
+    m_callspluginGroup->showCallDurationStateChanged();
+    
+    bOngoing = false;
+    EXPECT(CpSettingsWrapper::isOngoingCall).returns(bOngoing);
     m_callspluginGroup->showCallDurationStateChanged();
     
     QVERIFY(verify());
@@ -160,22 +169,22 @@
 void UT_CpCallsPluginGroup::t_handleCallWaitingChanged()
 {
     EXPECT(CpPhoneNotes::cancelNote);
-    EXPECT(CpPhoneNotes::showGlobalNote);
+    EXPECT(CpPhoneNotes::showNotificationDialog);
     m_callspluginGroup->handleCallWaitingChanged(
         PSetCallWaitingWrapper::ActivateCallWaiting , 0);
     
     EXPECT(CpPhoneNotes::cancelNote);
-    EXPECT(CpPhoneNotes::showGlobalNote);
+    EXPECT(CpPhoneNotes::showNotificationDialog);
     m_callspluginGroup->handleCallWaitingChanged(
         PSetCallWaitingWrapper::DeactivateCallWaiting, 0);
     
     EXPECT(CpPhoneNotes::cancelNote);
-    EXPECT(CpPhoneNotes::showGlobalNote);
+    EXPECT(CpPhoneNotes::showNotificationDialog);
     m_callspluginGroup->handleCallWaitingChanged(
         PSetCallWaitingWrapper::CheckCallWaitingStatus, 0);
     
     EXPECT(CpPhoneNotes::cancelNote);
-    EXPECT(CpPhoneNotes::showGlobalNote);
+    EXPECT(CpPhoneNotes::showNotificationDialog);
     m_callspluginGroup->handleCallWaitingChanged(
         PSetCallWaitingWrapper::DeactivateCallWaiting , -1);
     
@@ -256,7 +265,7 @@
     QList<unsigned char> basicServiceGroupIds;
     
     EXPECT(CpPhoneNotes::cancelNote);
-    EXPECT(CpPhoneNotes::showGlobalNote);
+    EXPECT(CpPhoneNotes::showNotificationDialog);
     m_callspluginGroup->handleCallWaitingGetStatus(
         PSetCallWaitingWrapper::StatusNotProvisioned, basicServiceGroupIds);
     
@@ -264,6 +273,20 @@
 }
 
 /*!
+  UT_CpCallsPluginGroup::t_ownVideoInReceivedCallStateChanged
+ */
+void UT_CpCallsPluginGroup::t_ownVideoInReceivedCallStateChanged()
+{
+    EXPECT(CpSettingsWrapper::writeVtVideoSending).times(3);
+    m_callspluginGroup->ownVideoInReceivedCallStateChanged(0);
+    m_callspluginGroup->ownVideoInReceivedCallStateChanged(1);
+    m_callspluginGroup->ownVideoInReceivedCallStateChanged(2);
+    m_callspluginGroup->ownVideoInReceivedCallStateChanged(-1);
+    
+    QVERIFY(verify());
+}
+
+/*!
   UT_CpCallsPluginGroup::cleanup
  */
 void UT_CpCallsPluginGroup::cleanup()
--- a/phonesettings/cpphonesettingsplugins/callsplugin/tsrc/ut_callsplugingroup/ut_callsplugingroup.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phonesettings/cpphonesettingsplugins/callsplugin/tsrc/ut_callsplugingroup/ut_callsplugingroup.h	Thu Jul 22 16:33:21 2010 +0100
@@ -54,6 +54,8 @@
     
     void t_handleCallWaitingGetStatusDistinguishEnabled();
     
+    void t_ownVideoInReceivedCallStateChanged();
+    
     void cleanup();
     
     void t_memleak();
--- a/phonesettings/cpphonesettingsplugins/cpnetworkplugin/cpnetworkplugin.pri	Tue Jun 15 14:14:38 2010 +0100
+++ b/phonesettings/cpphonesettingsplugins/cpnetworkplugin/cpnetworkplugin.pri	Thu Jul 22 16:33:21 2010 +0100
@@ -19,10 +19,12 @@
            src/cellulardatasettings_s60_p.h \
            src/cpnetworkplugin.h \
            src/cpnetworkpluginview.h \
-           src/cpnetworkpluginform.h
+           src/cpnetworkpluginform.h \
+           src/cpnetworkstatus.h
 
 SOURCES += src/cellulardatasettings.cpp \
            src/cellulardatasettings_s60.cpp \
            src/cpnetworkplugin.cpp \
            src/cpnetworkpluginview.cpp \
-           src/cpnetworkpluginform.cpp
+           src/cpnetworkpluginform.cpp \
+           src/cpnetworkstatus.cpp
--- a/phonesettings/cpphonesettingsplugins/cpnetworkplugin/cpnetworkplugin.pro	Tue Jun 15 14:14:38 2010 +0100
+++ b/phonesettings/cpphonesettingsplugins/cpnetworkplugin/cpnetworkplugin.pro	Thu Jul 22 16:33:21 2010 +0100
@@ -16,7 +16,9 @@
 
 TEMPLATE = lib
 TARGET = cpnetworkplugin
-CONFIG += hb plugin
+CONFIG += hb plugin mobility
+MOBILITY += systeminfo
+
 INCLUDEPATH += ../cptelephonyutils/inc 
 
 MOC_DIR = moc
--- a/phonesettings/cpphonesettingsplugins/cpnetworkplugin/src/cpnetworkplugin.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phonesettings/cpphonesettingsplugins/cpnetworkplugin/src/cpnetworkplugin.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -24,14 +24,16 @@
   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
     m_localisation->installTranslator(
@@ -57,16 +59,40 @@
  */
 QList<CpSettingFormItemData*> CpNetworkPlugin::createSettingFormItemData(
         CpItemDataHelper &itemDataHelper) const
-{
-    DPRINT;
-
+{   
+    DPRINT << ": IN";
     QList<CpSettingFormItemData*> ret;
     ret.append(new CpSettingFormEntryItemDataImpl<CpNetworkPluginView>(
             itemDataHelper,
             hbTrId("txt_cp_dblist_mobile_network"),
-            hbTrId("")));
+            m_networkStatus->statusText(),
+            m_networkStatus->statusIcon()));
+    
+    m_networkStatus->setSettingFormItemData(ret.first());
+        
+    DPRINT << ": OUT";
     return ret;
 }
 
+/*!
+  CpNetworkPlugin::createSettingView
+ */
+CpBaseSettingView *CpNetworkPlugin::createSettingView(const QVariant &hint) const 
+    {
+    Q_UNUSED(hint)
+    DPRINT << ": IN";
+    
+    CpItemDataHelper *itemDataHelper(NULL);
+    QScopedPointer<CpSettingFormEntryItemDataImpl<CpNetworkPluginView> > 
+        data( new CpSettingFormEntryItemDataImpl<CpNetworkPluginView>(
+                    *itemDataHelper,
+                    hbTrId("txt_cp_dblist_mobile_network"),
+                    m_networkStatus->statusText()));
+    CpBaseSettingView *view = data->createSettingView();
+    
+    DPRINT << ": OUT";
+    return view;
+    }
+    
+Q_EXPORT_PLUGIN2(CpNetworkPlugin, CpNetworkPlugin);
 
-Q_EXPORT_PLUGIN2(CpNetworkPlugin, CpNetworkPlugin);
--- a/phonesettings/cpphonesettingsplugins/cpnetworkplugin/src/cpnetworkplugin.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phonesettings/cpphonesettingsplugins/cpnetworkplugin/src/cpnetworkplugin.h	Thu Jul 22 16:33:21 2010 +0100
@@ -20,18 +20,23 @@
 
 #include <qobject.h>
 #include <cpplugininterface.h>
+#include <cplauncherinterface.h>
+#include "cpnetworkstatus.h"
 #include "cpphonelocalisation.h"
 
 
-class CpNetworkPlugin : public QObject, public CpPluginInterface
+class CpNetworkPlugin 
+    : public QObject, 
+      public CpPluginInterface,
+      public CpLauncherInterface
+
 {
     Q_OBJECT
     Q_INTERFACES(CpPluginInterface)
-    
+    Q_INTERFACES(CpLauncherInterface)
+
 public:
-    
     CpNetworkPlugin();
-    
     ~CpNetworkPlugin();
     
     /**
@@ -40,10 +45,16 @@
      */
     QList<CpSettingFormItemData*> createSettingFormItemData(
         CpItemDataHelper &itemDataHelper) const;
+    
+	/**
+     * From CpLauncherInterface
+     * @see CpLauncherInterface.
+     */
+    CpBaseSettingView *createSettingView(const QVariant &hint) const;
 
 private:
-    
-    QScopedPointer<CpPhoneLocalisation> m_localisation; 
+    QScopedPointer<CpPhoneLocalisation> m_localisation;
+    QScopedPointer<CpNetworkStatus> m_networkStatus; 
 };
 
 #endif  // CPNETWORKPLUGIN_H
--- a/phonesettings/cpphonesettingsplugins/cpnetworkplugin/src/cpnetworkpluginform.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phonesettings/cpphonesettingsplugins/cpnetworkplugin/src/cpnetworkpluginform.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -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
@@ -69,11 +71,6 @@
     m_pSetWrapper = pSetWrapperGuard.take();
     m_cpSettingsWrapper = cpSettingsWrapperGuard.take();
 
-    if(!isPhoneOnLine()) {
-        DPRINT << "offline, set dimmed";
-        m_NetworkOperatorSelectionItemData->setEnabled(false);
-    }
-
     DPRINT << ": OUT";
 }
 
@@ -83,12 +80,9 @@
  */
 CpNetworkPluginForm::~CpNetworkPluginForm()
 {
-    DPRINT << ": IN";
-    
+    DPRINT;
     delete m_pSetWrapper;
     delete m_cpSettingsWrapper;
-    
-    DPRINT << ": OUT";
 }
 
 
@@ -106,6 +100,7 @@
         NULL );
     QScopedPointer<CpSettingFormItemData> 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")
@@ -152,6 +147,7 @@
         NULL);
     QScopedPointer<CpSettingFormItemData> settingFormItemGuard(
         m_NetworkOperatorSelectionItemData);
+    m_NetworkOperatorSelectionItemData->setObjectName("operatorSelectionItem");
     
     PSetNetworkWrapper::NetworkSelectionMode mode;
     PSetNetworkWrapper::ErrorCode err = 
@@ -170,10 +166,10 @@
                 break;
         }
     }
-    
-    addConnection(
-        m_NetworkOperatorSelectionItemData, SIGNAL(clicked(bool) ),
-        this, SLOT(operatorSelectionStateChanged(bool)));
+	
+	addConnection(
+        m_NetworkOperatorSelectionItemData, SIGNAL(valueChanged(QPersistentModelIndex, QVariant)),
+        this, SLOT(operatorSelectionStateChanged()));
     
     settingFormItemGuard.take();
     DPRINT << ": OUT";
@@ -193,7 +189,8 @@
         NULL);
     QScopedPointer<CpSettingFormItemData> settingFormItemGuard(
         mCellularUseHomeSelectionItemData);
-
+    mCellularUseHomeSelectionItemData->setObjectName("homeDataUsageItem"); 
+    
     // Populate the dropdown with selection items
     mCellularUseHomeOptions
         << hbTrId("txt_cp_setlabel_data_usage_in_val_automatic")
@@ -225,9 +222,7 @@
 void CpNetworkPluginForm::cellularDataUseHomeStateChanged(int index)
 {
     DPRINT << ": IN : index: " << index;
-
     mCellularSettings->setDataUseHome(index);
-    
     DPRINT << ": OUT";
 }
 
@@ -244,7 +239,8 @@
         NULL);
     QScopedPointer<CpSettingFormItemData> settingFormItemGuard(
         mCellularUseRoamSelectionItemData);
-
+    mCellularUseRoamSelectionItemData->setObjectName("roamDataUsageItem"); 
+    
     // Populate the dropdown with selection items
     mCellularUseRoamOptions
         << hbTrId("txt_cp_setlabel_data_usage_when_val_automatic")
@@ -290,7 +286,22 @@
     // #1C network mode changed
     DPRINT << ": IN : index: " << index;
     
-    if(isPhoneOnLine()) {
+    if(m_cpSettingsWrapper->isPhoneOffline()) {
+        // offline mode.
+        m_psetNetworkWrapper->getNetworkAccessMode();
+        emit showGlobalNote(
+            m_activeNoteId, 
+            emit hbTrId("Off-line, not allowed"), 
+            HbMessageBox::MessageTypeInformation);
+    } else if(m_cpSettingsWrapper->isOngoingCall()) {
+        // ongoing call.
+        m_psetNetworkWrapper->getNetworkAccessMode();
+        emit showGlobalNote(
+            m_activeNoteId, 
+            emit hbTrId("txt_cp_info_active_calls_must_be_disconnected_befo"), 
+            HbMessageBox::MessageTypeInformation);
+    } else {
+        // ok case
         if(index == 0) {
             dualModeSelection();
         } else if(index == 1) {
@@ -298,12 +309,6 @@
         } else if(index == 2) {
             gsmSelection();
         }
-    } else {
-        // offline mode.
-        emit showGlobalNote(
-            m_activeNoteId, 
-            emit hbTrId("Operation not possible in Off-line mode"), 
-            HbMessageBox::MessageTypeInformation);
     }
         
     DPRINT << ": OUT";
@@ -313,14 +318,32 @@
 /*!
   CpNetworkPluginForm::operatorSelectionStateChanged
   */
-void CpNetworkPluginForm::operatorSelectionStateChanged(bool)
+void CpNetworkPluginForm::operatorSelectionStateChanged()
 {
     // #2C operator selection mode changed
     DPRINT << ": IN ";
-    
-    if (isPhoneOnLine()) {
+
+    if (m_cpSettingsWrapper->isPhoneOffline()) {
+        // off line
+        restoreOperatorSelectionUi();
+        emit showGlobalNote(
+            m_activeNoteId, 
+            emit hbTrId("txt_cp_info_operator_selection_is_not_possible_in"), 
+            HbMessageBox::MessageTypeInformation);
+    } else if(m_cpSettingsWrapper->isOngoingCall()) {
+        // ongoing call.
+        restoreOperatorSelectionUi();
+        emit showGlobalNote(
+            m_activeNoteId, 
+            emit hbTrId("txt_cp_info_active_calls_must_be_disconnected_befo"), 
+            HbMessageBox::MessageTypeInformation);
+    } else {
+        // ok case
         PSetNetworkWrapper::NetworkSelectionMode mode;
-        m_psetNetworkWrapper->getNetworkSelectionMode(mode);
+        PSetNetworkWrapper::ErrorCode err = 
+            m_psetNetworkWrapper->getNetworkSelectionMode(mode);
+
+        if(err == PSetNetworkWrapper::ErrNoError) {
         switch (mode) {
             case PSetNetworkWrapper::SelectionModeAutomatic: 
                 manualOperatorSelection();
@@ -335,14 +358,11 @@
             default:
                 break;
             }
-    } else {
-        // offline mode.
-        emit showGlobalNote(
-            m_activeNoteId, 
-            emit hbTrId("Operation not possible in Off-line mode"), 
-            HbMessageBox::MessageTypeInformation);
+        } else {
+            DWARNING << ": err: " << err;
+        }
     }
-    
+
     DPRINT << ": OUT";
 }
 
@@ -424,7 +444,12 @@
     int mode)
 {
     DPRINT << ": IN";
-    
+    removeConnection(
+        m_NetworkModeOptionsItemData, 
+        SIGNAL(currentIndexChanged(int)),
+        this, 
+        SLOT(networkModeStateChanged(int)));
+
     switch (mode) {
         case PSetNetworkWrapper::AccessModeDual: 
             m_NetworkModeOptionsItemData->setContentWidgetData(
@@ -441,7 +466,13 @@
         default:
             break;
     }
-    
+
+    addConnection(
+        m_NetworkModeOptionsItemData, 
+        SIGNAL(currentIndexChanged(int)),
+        this, 
+        SLOT(networkModeStateChanged(int)));
+
     DPRINT << ": OUT";
 }
 
@@ -482,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);
@@ -490,6 +522,8 @@
     HbListWidgetItem* o = new HbListWidgetItem();
     o->setText(item);
     o->setData(data);
+    if(!primaryIcon.isNull())
+        o->setIcon(primaryIcon);
     w->addItem(o);
     
     DPRINT << ": OUT";
@@ -536,7 +570,7 @@
     else if(type == PSetNetworkWrapper::RequestSetNetwork ||
             type == PSetNetworkWrapper::RequestSetNetworkAutomatic ||
             type == PSetNetworkWrapper::RequestGetNetworkInfo) {
-        restoreUiSelection();
+        restoreOperatorSelectionUi();
     }
     
     DPRINT << ": OUT";
@@ -551,7 +585,7 @@
     DPRINT << ": IN";
     
     m_psetNetworkWrapper->cancelRequest();
-    restoreUiSelection();
+    restoreOperatorSelectionUi();
     
     DPRINT << ": OUT";
 }
@@ -593,7 +627,7 @@
         QObject::connect(
             CpPhoneNotes::instance(), SIGNAL(progressNoteCanceled()),
             this, SLOT(userCancel()));
-        emit showGlobalProgressNote(m_activeProgressNoteId, hbTrId("Requesting"));
+        emit showGlobalProgressNote(m_activeProgressNoteId, hbTrId("txt_common_info_requesting"));
     } else {
         QObject::disconnect(
             CpPhoneNotes::instance(), SIGNAL(progressNoteCanceled()),
@@ -649,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
@@ -671,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.
@@ -709,7 +779,7 @@
         } else {
             DPRINT << ": Cancel";
             m_psetNetworkWrapper->cancelRequest();
-            restoreUiSelection();
+            restoreOperatorSelectionUi();
         }
         m_dialog->deleteLater();
         m_dialog = NULL;
@@ -719,15 +789,15 @@
 }
 
 /*!
-  CpNetworkPluginForm::restoreUiSelection
+  CpNetworkPluginForm::restoreOperatorSelectionUi
   */
-void CpNetworkPluginForm::restoreUiSelection()
+void CpNetworkPluginForm::restoreOperatorSelectionUi()
 {
     DPRINT << ": IN";
     
     removeConnection(
-        m_NetworkOperatorSelectionItemData, SIGNAL(currentIndexChanged(int)),
-        this, SLOT(operatorSelectionStateChanged(int)));
+        m_NetworkOperatorSelectionItemData, SIGNAL(valueChanged(QPersistentModelIndex, QVariant)),
+        this, SLOT(operatorSelectionStateChanged()));
     PSetNetworkWrapper::NetworkSelectionMode mode;
     PSetNetworkWrapper::ErrorCode err = 
         m_psetNetworkWrapper->getNetworkSelectionMode(mode);
@@ -746,8 +816,8 @@
             }
     }
     addConnection(
-        m_NetworkOperatorSelectionItemData, SIGNAL(currentIndexChanged(int)),
-        this, SLOT(operatorSelectionStateChanged(int)));
+        m_NetworkOperatorSelectionItemData, SIGNAL(valueChanged(QPersistentModelIndex, QVariant)),
+        this, SLOT(operatorSelectionStateChanged()));
     
     DPRINT << ": OUT";
 }
@@ -846,22 +916,6 @@
 }
 
 /*!
-  CpNetworkPluginForm::isPhoneOnLine
- */
-bool CpNetworkPluginForm::isPhoneOnLine()
-{
-    DPRINT << ": IN";
-    
-    bool onLine(true);
-    if (m_cpSettingsWrapper->isPhoneOffline()) {
-        onLine = false;
-    }
-    
-    DPRINT << ": OUT : onLine : " << onLine;
-    return onLine;
-}
-
-/*!
   CpNetworkPluginForm::searchAvailableNetworks
  */
 void CpNetworkPluginForm::searchAvailableNetworks()
--- a/phonesettings/cpphonesettingsplugins/cpnetworkplugin/src/cpnetworkpluginform.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phonesettings/cpphonesettingsplugins/cpnetworkplugin/src/cpnetworkpluginform.h	Thu Jul 22 16:33:21 2010 +0100
@@ -38,26 +38,22 @@
     Q_OBJECT
     
 public:
-    
     explicit CpNetworkPluginForm(QGraphicsItem *parent = 0);
-    
     virtual ~CpNetworkPluginForm();
-    
+
     void searchAvailableNetworks();
     
 signals:
-    
     void showGlobalProgressNote(int &noteId, const QString& text);
     void showGlobalNote(
         int &noteId, 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);
-    void operatorSelectionStateChanged(bool index);
+    void operatorSelectionStateChanged();
     void networkAccessModeGot(int mode);
     void availableNetworksGot(
         QList<PSetNetworkWrapper::NetworkInfo*> &m_networkInfoList);
@@ -72,7 +68,7 @@
         PSetNetworkWrapper::RegistrationStatus& status);
     void finishedManualSelectiondialog(HbAction* action);
 
-private:     
+protected:     
     HbDataFormModelItem *createNetworkModeItem();
     HbDataFormModelItem *createOperatorSelectionItem();
     HbDataFormModelItem *createHomeDataUsageItem();
@@ -86,18 +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 restoreUiSelection();
+    void restoreOperatorSelectionUi();
     QString networkName(PSetNetworkWrapper::NetworkInfo &info);
 
     void connectToNetworkWrapper(PSetNetworkWrapper &wrapper);
-    
     void connectToPhoneNotes(CpPhoneNotes &notes);
-    
-    bool isPhoneOnLine();
+
+    QString primaryIconForNetwork(const PSetNetworkWrapper::NetworkInfo &info);
     
 private:
     
--- a/phonesettings/cpphonesettingsplugins/cpnetworkplugin/src/cpnetworkpluginview.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phonesettings/cpphonesettingsplugins/cpnetworkplugin/src/cpnetworkpluginview.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -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. 
--- a/phonesettings/cpphonesettingsplugins/cpnetworkplugin/src/cpnetworkpluginview.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phonesettings/cpphonesettingsplugins/cpnetworkplugin/src/cpnetworkpluginview.h	Thu Jul 22 16:33:21 2010 +0100
@@ -27,17 +27,13 @@
     Q_OBJECT
     
 public:
-    
     explicit CpNetworkPluginView(QGraphicsItem *parent = 0);
-    
     virtual ~CpNetworkPluginView();
     
 public slots: 
-
     void SearchAvailableNetworks();
 
 private:
-    
     CpNetworkPluginForm* m_networkSettingsForm;
 
 };
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/cpnetworkplugin/src/cpnetworkstatus.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,213 @@
+/*
+ * 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 <cpsettingformitemdata.h>
+#include <hbicon.h>
+#include "cpnetworkstatus.h"
+#include "cppluginlogging.h"
+
+
+/*!
+  CpNetworkStatus::CpNetworkStatus
+ */
+CpNetworkStatus::CpNetworkStatus() : 
+    QObject(0),
+    m_settingFormItemData(NULL)
+{
+    DPRINT << ": IN";
+    
+    m_networkInfo.reset(new QSystemNetworkInfo);
+    
+    m_deviceInfo.reset(new QSystemDeviceInfo);
+    
+    connect(m_networkInfo.data(), 
+            SIGNAL(networkNameChanged(
+                    QSystemNetworkInfo::NetworkMode, QString)), 
+            this, 
+            SLOT(networkNameChanged(
+                    QSystemNetworkInfo::NetworkMode, QString)));
+    
+    connect(m_networkInfo.data(), 
+            SIGNAL(networkStatusChanged(
+                    QSystemNetworkInfo::NetworkMode, 
+                    QSystemNetworkInfo::NetworkStatus)),
+            this, 
+            SLOT(networkStatusChanged(
+                    QSystemNetworkInfo::NetworkMode, 
+                    QSystemNetworkInfo::NetworkStatus)));
+        
+    DPRINT << ": OUT";
+}
+
+
+/*!
+  CpNetworkStatus::~CpNetworkStatus
+ */
+CpNetworkStatus::~CpNetworkStatus()
+{
+    DPRINT << ": IN";
+    
+    disconnect(m_networkInfo.data(), 
+            SIGNAL (networkNameChanged(
+                    QSystemNetworkInfo::NetworkMode,QString)),
+            this, 
+            SLOT(networkNameChanged(
+                    QSystemNetworkInfo::NetworkMode, QString)));
+                
+    disconnect(m_networkInfo.data(), 
+            SIGNAL(networkStatusChanged(
+                    QSystemNetworkInfo::NetworkMode, 
+                    QSystemNetworkInfo::NetworkStatus)), 
+            this, 
+            SLOT(networkStatusChanged(
+                    QSystemNetworkInfo::NetworkMode, 
+                    QSystemNetworkInfo::NetworkStatus)));
+    
+    DPRINT << ": OUT";
+}
+
+    
+/*!
+  CpNetworkStatus::statusText
+ */
+QString CpNetworkStatus::statusText() const
+{
+    DPRINT << ": IN";
+    
+    QString statusText;
+    
+    if ((QSystemDeviceInfo::SimNotAvailable == m_deviceInfo->simStatus()) ||
+        (QSystemDeviceInfo::OfflineProfile == m_deviceInfo->currentProfile())) {   
+        statusText = hbTrId("txt_cp_dblist_mobile_network_val_off");
+    } else if (connectedToNetwork()) {
+        statusText = m_networkInfo->networkName(QSystemNetworkInfo::WcdmaMode);
+        if(statusText.isEmpty()) {
+            statusText = m_networkInfo->networkName(QSystemNetworkInfo::GsmMode);
+        }
+    } else {
+        statusText = hbTrId("txt_cp_dblist_mobile_network_val_not_connected");
+    }
+    
+    DPRINT << ": OUT";
+    return statusText;
+}
+
+/*!
+  CpNetworkStatus::statusIcon
+ */
+HbIcon CpNetworkStatus::statusIcon() const
+{
+    DPRINT << ": IN";
+    
+    HbIcon statusIcon(statusIconLocicalName());
+    
+    DPRINT << ": OUT";
+    return statusIcon;
+}
+
+/*!
+  CpNetworkStatus::statusIconLocicalName
+ */
+QString CpNetworkStatus::statusIconLocicalName() const
+{
+    DPRINT << ": IN";
+    
+    QString statusIcon("");
+    
+    if ((QSystemDeviceInfo::SimNotAvailable == m_deviceInfo->simStatus()) ||
+        (QSystemDeviceInfo::OfflineProfile == m_deviceInfo->currentProfile())) {   
+        statusIcon = QString("qtg_large_network_off");
+    } else if (connectedToNetwork()) {
+        statusIcon = QString("qtg_large_network");
+    } else {
+        statusIcon = QString("qtg_large_network_off");
+    }
+    
+    DPRINT << ": OUT";
+    return statusIcon;
+}
+
+/*!
+  CpNetworkStatus::networkNameChanged
+ */
+void CpNetworkStatus::networkNameChanged(
+        QSystemNetworkInfo::NetworkMode mode, const QString &)
+{
+    DPRINT << ": IN";
+    
+    if (m_settingFormItemData &&
+        ((QSystemNetworkInfo::GsmMode == mode) || 
+        (QSystemNetworkInfo::WcdmaMode == mode) || 
+        (QSystemNetworkInfo::UnknownMode == mode))) {
+        m_settingFormItemData->setDescription(statusText());
+        m_settingFormItemData->setIcon(statusIconLocicalName());
+    }
+    
+    DPRINT << ": OUT";
+}
+
+/*!
+  CpNetworkStatus::networkStatusChanged
+ */
+void CpNetworkStatus::networkStatusChanged(
+        QSystemNetworkInfo::NetworkMode mode, QSystemNetworkInfo::NetworkStatus)
+{
+    DPRINT << ": IN";
+    
+    if (m_settingFormItemData &&
+        ((QSystemNetworkInfo::GsmMode == mode) || 
+        (QSystemNetworkInfo::WcdmaMode == mode) || 
+        (QSystemNetworkInfo::UnknownMode == mode))) {
+        m_settingFormItemData->setDescription(statusText());
+        m_settingFormItemData->setIcon(statusIconLocicalName());
+    }
+    
+    DPRINT << ": OUT";
+}
+/*!
+  CpNetworkStatus::setSettingFormItemData
+ */
+void CpNetworkStatus::setSettingFormItemData(CpSettingFormItemData *data)
+{
+    m_settingFormItemData = data;
+}
+
+/*!
+  CpNetworkStatus::connectedToNetwork
+ */
+bool CpNetworkStatus::connectedToNetwork() const
+{
+    DPRINT << ": IN";
+    
+    bool connected(false);
+    QSystemNetworkInfo::NetworkStatus wcdmaStatus = 
+            m_networkInfo->networkStatus(QSystemNetworkInfo::WcdmaMode);
+    QSystemNetworkInfo::NetworkStatus gsmStatus = 
+            m_networkInfo->networkStatus(QSystemNetworkInfo::GsmMode);
+    
+    if (QSystemNetworkInfo::Connected == wcdmaStatus ||
+        QSystemNetworkInfo::HomeNetwork == wcdmaStatus ||
+        QSystemNetworkInfo::Roaming == wcdmaStatus ||
+        QSystemNetworkInfo::Connected == gsmStatus ||
+        QSystemNetworkInfo::HomeNetwork == gsmStatus ||
+        QSystemNetworkInfo::Roaming == gsmStatus) {
+        connected = true;
+    }
+    
+    DPRINT << ": OUT";
+    return connected;
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/cpnetworkplugin/src/cpnetworkstatus.h	Thu Jul 22 16:33:21 2010 +0100
@@ -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:  
+ *   
+ */
+
+#ifndef CPNETWORKSTATUS_H
+#define CPNETWORKSTATUS_H
+
+#include <qobject.h>
+#include <qsysteminfo.h>
+
+using namespace QtMobility;
+
+class CpSettingFormItemData;
+class HbIcon;
+
+class CpNetworkStatus 
+    : public QObject
+
+{
+    Q_OBJECT
+
+public:
+    
+    CpNetworkStatus();
+    
+    ~CpNetworkStatus();
+    
+    QString statusText() const;
+    
+    HbIcon statusIcon() const;
+    
+    void setSettingFormItemData(CpSettingFormItemData *data);
+    
+public slots:
+
+    void networkNameChanged(
+            QSystemNetworkInfo::NetworkMode mode, 
+            const QString &netName);
+    
+    void networkStatusChanged(
+            QSystemNetworkInfo::NetworkMode mode, 
+            QSystemNetworkInfo::NetworkStatus status);
+    
+private:
+    
+    QString statusIconLocicalName() const;
+    
+    bool connectedToNetwork() const;
+    
+private:
+    
+    QScopedPointer<QSystemNetworkInfo> m_networkInfo;
+    
+    QScopedPointer<QSystemDeviceInfo> m_deviceInfo;
+        
+    // Not own
+    CpSettingFormItemData *m_settingFormItemData;
+    
+};
+
+#endif  // CPNETWORKSTATUS_H
--- a/phonesettings/cpphonesettingsplugins/cpnetworkplugin/tsrc/run_auto_tests_qt.bat	Tue Jun 15 14:14:38 2010 +0100
+++ b/phonesettings/cpphonesettingsplugins/cpnetworkplugin/tsrc/run_auto_tests_qt.bat	Thu Jul 22 16:33:21 2010 +0100
@@ -169,7 +169,7 @@
 ::::::::::::::::::::::::::::::::::::::::::::::::::::::
 :CALCULATECOVERAGE
 echo Calculating coverage
-ctcpost %PATH_TO_COVERAGE_DATA%\*.sym | ctcmerge -i - -o profile.txt
+ctcpost %PATH_TO_COVERAGE_DATA%\*.sym -p - | ctcmerge -i - -o profile.txt
 call ctc2html -t 70 -i profile.txt -o \coverage_result -nsb
 goto end
 
--- a/phonesettings/cpphonesettingsplugins/cpnetworkplugin/tsrc/ut_cpnetworkplugin/ut_cpnetworkplugin.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phonesettings/cpphonesettingsplugins/cpnetworkplugin/tsrc/ut_cpnetworkplugin/ut_cpnetworkplugin.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -18,6 +18,7 @@
 #include "ut_cpnetworkplugin.h"
 #include "qtestmains60.h"
 #include <cpsettingformitemdata.h>
+#include <hbicon.h>
 #define private public
 #include "cpnetworkplugin.h"
 #include "cpitemdatahelper.h"
@@ -51,6 +52,9 @@
 {
     initialize();
 
+    QT_TRAP_THROWING(SmcDefaultValue<QString>::SetL(QString("")));
+    QT_TRAP_THROWING(SmcDefaultValue<HbIcon>::SetL(HbIcon("")));
+    
     m_networkPlugin = (CpNetworkPlugin*)qt_plugin_instance();
 }
 
@@ -75,12 +79,32 @@
     CpItemDataHelper itemDataHelper;
     CpNetworkPlugin* p = (CpNetworkPlugin*)qt_plugin_instance();
     QList<CpSettingFormItemData*> list;
+    
+    EXPECT(CpNetworkStatus::statusText);
+    EXPECT(CpNetworkStatus::statusIcon);
     list.append(p->createSettingFormItemData(itemDataHelper));
     qDeleteAll(list);
+    
+    QVERIFY(verify());
 }
 
 
 /*!
+  UT_CpNetworkPlugin::t_createSettingView
+ */
+void UT_CpNetworkPlugin::t_createSettingView()
+{
+    CpNetworkPlugin* p = (CpNetworkPlugin*)qt_plugin_instance();
+    QVariant hint;
+    
+    EXPECT(CpNetworkStatus::statusText);
+    CpBaseSettingView *view = p->createSettingView(hint);
+    delete view;
+    
+    QVERIFY(verify());
+}
+
+/*!
   UT_CpNetworkPlugin::t_memleak
  */
 void UT_CpNetworkPlugin::t_memleak()
--- a/phonesettings/cpphonesettingsplugins/cpnetworkplugin/tsrc/ut_cpnetworkplugin/ut_cpnetworkplugin.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phonesettings/cpphonesettingsplugins/cpnetworkplugin/tsrc/ut_cpnetworkplugin/ut_cpnetworkplugin.h	Thu Jul 22 16:33:21 2010 +0100
@@ -39,6 +39,8 @@
 
     void t_createSettingFormItemData();
     
+    void t_createSettingView();
+    
     void cleanup();
     
 private:
--- a/phonesettings/cpphonesettingsplugins/cpnetworkplugin/tsrc/ut_cpnetworkplugin/ut_cpnetworkplugin.pro	Tue Jun 15 14:14:38 2010 +0100
+++ b/phonesettings/cpphonesettingsplugins/cpnetworkplugin/tsrc/ut_cpnetworkplugin/ut_cpnetworkplugin.pro	Thu Jul 22 16:33:21 2010 +0100
@@ -44,6 +44,7 @@
 # code to be tested
 HEADERS += ../../src/cpnetworkplugin.h \
            ../../src/cpnetworkpluginview.h \
+           ../../src/cpnetworkstatus.h \
            ../../../cptelephonyutils/inc/cpphonelocalisation.h           
        
 SOURCES += ../../src/cpnetworkplugin.cpp 
@@ -52,3 +53,8 @@
 SOURCES += ../../../tsrc/mocks/mock_cpnetworkpluginview.cpp
 SOURCES += ../../../tsrc/mocks/mock_cpphonelocalisation.cpp
 SOURCES += ../../../tsrc/mocks/mock_hbicon.cpp
+SOURCES += ../../../tsrc/mocks/mock_cpsettingformentryitemdata.cpp
+SOURCES += ../../../tsrc/mocks/mock_cpbasesettingview.cpp
+SOURCES += ../../../tsrc/mocks/mock_hbview.cpp
+SOURCES += ../../../tsrc/mocks/mock_cpnetworkstatus.cpp
+
--- a/phonesettings/cpphonesettingsplugins/cpnetworkplugin/tsrc/ut_cpnetworkpluginform/ut_cpnetworkpluginform.pro	Tue Jun 15 14:14:38 2010 +0100
+++ b/phonesettings/cpphonesettingsplugins/cpnetworkplugin/tsrc/ut_cpnetworkpluginform/ut_cpnetworkpluginform.pro	Thu Jul 22 16:33:21 2010 +0100
@@ -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 \
@@ -66,18 +62,9 @@
            ../../../tsrc/mocks/mock_cpplugincommon.cpp \
            ../../../tsrc/mocks/mock_cpphonenotes.cpp \
            ../../../tsrc/mocks/mock_cpphonelocalisation.cpp \
-           ../../../tsrc/mocks/mock_hbdataform.cpp \
-           ../../../tsrc/mocks/mock_hbabstractitemview.cpp \
-           ../../../tsrc/mocks/mock_hbscrollarea.cpp \
            ../../../tsrc/mocks/mock_hbdialog.cpp \
-           ../../../tsrc/mocks/mock_hbpopup.cpp \
            ../../../tsrc/mocks/mock_hbwidget.cpp \
-           ../../../tsrc/mocks/mock_hblabel.cpp \
-           ../../../tsrc/mocks/mock_hblistwidget.cpp \
-           ../../../tsrc/mocks/mock_hblistview.cpp \
-           ../../../tsrc/mocks/mock_hbaction.cpp \
-           ../../../tsrc/mocks/mock_qaction.cpp \
-           ../../../tsrc/mocks/mock_qobject.cpp \
-           ../../../tsrc/mocks/mock_hblistwidgetitem.cpp \
            ../../../tsrc/mocks/mock_cellulardatasettings.cpp
+           
+SOURCES += ../../src/cpnetworkpluginform.cpp 
            
\ No newline at end of file
--- a/phonesettings/cpphonesettingsplugins/cpnetworkplugin/tsrc/ut_cpnetworkpluginform/ut_networkpluginform.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phonesettings/cpphonesettingsplugins/cpnetworkplugin/tsrc/ut_cpnetworkpluginform/ut_networkpluginform.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -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 {
@@ -87,6 +97,8 @@
     
     expect("CpSettingsWrapper::isPhoneOffline").returns(true);
     m_networkPluginForm->networkModeStateChanged(0);
+    
+    QVERIFY(verify());
 }
 
 /*!
@@ -97,15 +109,17 @@
     expect("CpSettingsWrapper::isPhoneOffline").returns(false);
     m_NetworkSelectionMode = PSetNetworkWrapper::SelectionModeAutomatic;
     expect("PSetNetworkWrapper::getNetworkSelectionMode").willOnce(invoke(this, &updateNetworkSelectionMode));
-    m_networkPluginForm->operatorSelectionStateChanged(true);
+    m_networkPluginForm->operatorSelectionStateChanged();
 
     expect("CpSettingsWrapper::isPhoneOffline").returns(false);
     m_NetworkSelectionMode = PSetNetworkWrapper::SelectionModeManual;
     expect("PSetNetworkWrapper::getNetworkSelectionMode").willOnce(invoke(this, &updateNetworkSelectionMode));
-    m_networkPluginForm->operatorSelectionStateChanged(true);
+    m_networkPluginForm->operatorSelectionStateChanged();
     
     expect("CpSettingsWrapper::isPhoneOffline").returns(true);
-    m_networkPluginForm->operatorSelectionStateChanged(true);
+    m_networkPluginForm->operatorSelectionStateChanged();
+    
+    QVERIFY(verify());
 }
 
 /*!
@@ -113,16 +127,15 @@
  */
 void UT_CpNetworkPluginForm::t_networkAccessModeGot()
 {
-    expect("CpSettingFormItemData::setContentWidgetData");
     m_networkPluginForm->networkAccessModeGot(0);
-    
-    expect("CpSettingFormItemData::setContentWidgetData");
+
     m_networkPluginForm->networkAccessModeGot(1);
-    
-    expect("CpSettingFormItemData::setContentWidgetData");
+
     m_networkPluginForm->networkAccessModeGot(2);
     
     m_networkPluginForm->networkAccessModeGot(3);
+    
+    QVERIFY(verify());
 }
 
 /*!
@@ -134,8 +147,10 @@
     QList<PSetNetworkWrapper::NetworkInfo*> networkInfoList;
     networkInfoList.append(&temp);
     
-    expect("HbDialog::exec");
+    expect("HbDialog::open");
     m_networkPluginForm->availableNetworksGot(networkInfoList);
+    
+    QVERIFY(verify());
 }
 
 /*!
@@ -149,15 +164,13 @@
     m_networkPluginForm->networkReqestFailed(error, type);
     
     error = PSetNetworkWrapper::ErrNoNetworkService;
-    type = PSetNetworkWrapper::RequestSetNetwork;
+    type = PSetNetworkWrapper::RequestSetNetworkMode;
     expect("PSetNetworkWrapper::getNetworkAccessMode");
-    expect("CpSettingFormItemData::setContentWidgetData");
     m_networkPluginForm->networkReqestFailed(error, type);
     
     error = PSetNetworkWrapper::ErrOfflineOpNotAllowed;
-    type = PSetNetworkWrapper::RequestSetNetwork;
+    type = PSetNetworkWrapper::RequestSetNetworkMode;
     expect("PSetNetworkWrapper::getNetworkAccessMode");
-    expect("CpSettingFormItemData::setContentWidgetData");
     m_networkPluginForm->networkReqestFailed(error, type);
     
     PSetNetworkWrapper::NetworkInfo temp;
@@ -166,8 +179,10 @@
     m_networkPluginForm->availableNetworksGot(networkInfoList);
     error = PSetNetworkWrapper::ErrNoNetworkAccess;
     type = PSetNetworkWrapper::RequestSetNetwork;
-    expect("HbDialog::exec");
+    expect("HbDialog::open");
     m_networkPluginForm->networkReqestFailed(error, type);
+    
+    QVERIFY(verify());
 }
 
 /*!
@@ -182,6 +197,8 @@
     m_NetworkSelectionMode = PSetNetworkWrapper::SelectionModeAutomatic;
     expect("PSetNetworkWrapper::getNetworkSelectionMode").willOnce(invoke(this, &updateNetworkSelectionMode));
     m_networkPluginForm->userCancel();
+    
+    QVERIFY(verify());
 }
 
 /*!
@@ -194,6 +211,8 @@
     
     type = PSetNetworkWrapper::RequestEnumerateNetworks;
     m_networkPluginForm->handleSearchingNetworks(type);
+    
+    QVERIFY(verify());
 }
 
 /*!
@@ -224,16 +243,75 @@
 }
     
 /*!
+  UT_CpNetworkPluginForm::t_primaryIconForNetwork
+ */
+void UT_CpNetworkPluginForm::t_primaryIconForNetwork()
+{
+    QScopedPointer<PSetWrapper> wrapper(new PSetWrapper()); 
+    expect("PSetWrapper::networkWrapper").returns(wrapper.data()); 
+    
+    QScopedPointer<CpNetworkPluginFormAdapter> 
+        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()
 {
     reset();
-    
+    delete m_networkPluginForm;
+    m_networkPluginForm = NULL;
     delete m_networkWrapper;
     m_networkWrapper = NULL;
-    delete m_networkPluginForm;
-    m_networkPluginForm = NULL;
 }
 
 /*!
@@ -253,4 +331,5 @@
     mode = m_NetworkSelectionMode;
 }
 
+
 QTEST_MAIN_S60UI(UT_CpNetworkPluginForm)
--- a/phonesettings/cpphonesettingsplugins/cpnetworkplugin/tsrc/ut_cpnetworkpluginform/ut_networkpluginform.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phonesettings/cpphonesettingsplugins/cpnetworkplugin/tsrc/ut_cpnetworkpluginform/ut_networkpluginform.h	Thu Jul 22 16:33:21 2010 +0100
@@ -21,8 +21,25 @@
 #include <QtTest/QtTest>
 #include <mockservice.h>
 #include <psetnetworkwrapper.h>
+#include "cpnetworkpluginform.h"
+#include <QObject>
+   
+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;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/cpnetworkplugin/tsrc/ut_cpnetworkstatus/qtestmains60.h	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,40 @@
+/*
+* 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 QTESTMAINS60
+#define QTESTMAINS60
+
+#define QTEST_MAIN_S60(TestObject) \
+int main(int argc, char *argv[]) \
+{ \
+char *new_argv[3]; \
+QCoreApplication app(argc, argv); \
+\
+QString str = "C:\\data\\" + QFileInfo(QCoreApplication::applicationFilePath()).baseName() + ".log"; \
+QByteArray   bytes  = str.toAscii(); \
+\
+char arg1[] = "-o"; \
+\
+new_argv[0] = argv[0]; \
+new_argv[1] = arg1; \
+new_argv[2] = bytes.data(); \
+\
+TestObject tc; \
+return QTest::qExec(&tc, 3, new_argv); \
+}
+
+#endif
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/cpnetworkplugin/tsrc/ut_cpnetworkstatus/ut_cpnetworkstatus.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,176 @@
+/*
+* 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 "ut_cpnetworkstatus.h"
+#include "qtestmains60.h"
+#include "cpnetworkstatus.h"
+#include <cpsettingformitemdata.h>
+#include <hbicon.h>
+
+/*!
+  ut_CpNetworkStatus::ut_CpNetworkStatus
+ */
+ut_CpNetworkStatus::ut_CpNetworkStatus() 
+    : m_networkStatus(NULL)
+{
+
+}
+
+
+/*!
+  ut_CpNetworkStatus::~ut_CpNetworkStatus
+ */
+ut_CpNetworkStatus::~ut_CpNetworkStatus()
+{
+    delete m_networkStatus;
+}
+
+
+/*!
+  ut_CpNetworkStatus::init
+ */
+void ut_CpNetworkStatus::init()
+{
+    initialize();
+
+    QT_TRAP_THROWING(SmcDefaultValue<QString>::SetL(QString("testi")));
+    QT_TRAP_THROWING(SmcDefaultValue<HbIcon>::SetL(HbIcon("")));
+    QT_TRAP_THROWING(SmcDefaultValue< QSystemNetworkInfo::NetworkStatus >::SetL(QSystemNetworkInfo::Connected));
+    QT_TRAP_THROWING(SmcDefaultValue< QSystemDeviceInfo::SimStatus >::SetL(QSystemDeviceInfo::SingleSimAvailable ));
+    QT_TRAP_THROWING(SmcDefaultValue< QSystemDeviceInfo::Profile >::SetL(QSystemDeviceInfo::NormalProfile ));
+    
+    m_networkStatus = new CpNetworkStatus;
+}
+
+
+/*!
+  ut_CpNetworkStatus::cleanup
+ */
+void ut_CpNetworkStatus::cleanup()
+{
+    reset();
+    
+    delete m_networkStatus;
+    m_networkStatus = NULL;
+}
+
+/*!
+  ut_CpNetworkStatus::t_statusText
+ */
+void ut_CpNetworkStatus::t_statusText()
+{
+    EXPECT( QtMobility::QSystemNetworkInfo::networkStatus ).with ( QSystemNetworkInfo::WcdmaMode );
+    EXPECT( QtMobility::QSystemNetworkInfo::networkStatus ).with ( QSystemNetworkInfo::GsmMode );
+    EXPECT( QtMobility::QSystemDeviceInfo::simStatus );
+    EXPECT( QtMobility::QSystemDeviceInfo::currentProfile );
+    EXPECT( QtMobility::QSystemNetworkInfo::networkName );
+    m_networkStatus->statusText();
+    QVERIFY(verify());
+    
+    EXPECT( QtMobility::QSystemNetworkInfo::networkStatus ).with ( QSystemNetworkInfo::WcdmaMode );
+    EXPECT( QtMobility::QSystemNetworkInfo::networkStatus ).with ( QSystemNetworkInfo::GsmMode );
+    EXPECT( QtMobility::QSystemDeviceInfo::simStatus );
+    EXPECT( QtMobility::QSystemDeviceInfo::currentProfile );
+    EXPECT( QtMobility::QSystemNetworkInfo::networkName );
+    QT_TRAP_THROWING(SmcDefaultValue<QString>::SetL(QString("")));
+    m_networkStatus->statusText();
+    QVERIFY(verify());
+    
+    EXPECT( QtMobility::QSystemDeviceInfo::simStatus );
+    EXPECT( QtMobility::QSystemNetworkInfo::networkName ).times(0);
+    QT_TRAP_THROWING(SmcDefaultValue< QSystemDeviceInfo::SimStatus >::SetL(QSystemDeviceInfo::SimNotAvailable ));
+    m_networkStatus->statusText();
+    QVERIFY(verify());
+    
+    EXPECT( QtMobility::QSystemDeviceInfo::simStatus );
+    EXPECT( QtMobility::QSystemDeviceInfo::currentProfile );
+    EXPECT( QtMobility::QSystemNetworkInfo::networkStatus ).with ( QSystemNetworkInfo::WcdmaMode );
+    EXPECT( QtMobility::QSystemNetworkInfo::networkStatus ).with ( QSystemNetworkInfo::GsmMode );
+    EXPECT( QtMobility::QSystemNetworkInfo::networkName ).times(0);
+    QT_TRAP_THROWING(SmcDefaultValue< QSystemDeviceInfo::SimStatus >::SetL(QSystemDeviceInfo::SingleSimAvailable ));
+    QT_TRAP_THROWING(SmcDefaultValue< QSystemNetworkInfo::NetworkStatus >::SetL(QSystemNetworkInfo::NoNetworkAvailable));
+    m_networkStatus->statusText();
+    QVERIFY(verify());
+}
+
+/*!
+  ut_CpNetworkStatus::t_statusIcon
+ */
+void ut_CpNetworkStatus::t_statusIcon()
+{
+    EXPECT( QtMobility::QSystemNetworkInfo::networkStatus ).with ( QSystemNetworkInfo::WcdmaMode );
+    EXPECT( QtMobility::QSystemNetworkInfo::networkStatus ).with ( QSystemNetworkInfo::GsmMode );
+    EXPECT( QtMobility::QSystemDeviceInfo::simStatus );
+    EXPECT( QtMobility::QSystemDeviceInfo::currentProfile );
+    m_networkStatus->statusIcon();
+    QVERIFY(verify());
+    
+    EXPECT( QtMobility::QSystemDeviceInfo::simStatus );
+    QT_TRAP_THROWING(SmcDefaultValue< QSystemDeviceInfo::SimStatus >::SetL(QSystemDeviceInfo::SimNotAvailable ));
+    m_networkStatus->statusIcon();
+    QVERIFY(verify());
+    
+    EXPECT( QtMobility::QSystemDeviceInfo::simStatus );
+    EXPECT( QtMobility::QSystemDeviceInfo::currentProfile );
+    EXPECT( QtMobility::QSystemNetworkInfo::networkStatus ).with ( QSystemNetworkInfo::WcdmaMode );
+    EXPECT( QtMobility::QSystemNetworkInfo::networkStatus ).with ( QSystemNetworkInfo::GsmMode );
+    QT_TRAP_THROWING(SmcDefaultValue< QSystemDeviceInfo::SimStatus >::SetL(QSystemDeviceInfo::SingleSimAvailable ));
+    QT_TRAP_THROWING(SmcDefaultValue< QSystemNetworkInfo::NetworkStatus >::SetL(QSystemNetworkInfo::NoNetworkAvailable));
+    m_networkStatus->statusIcon();
+    QVERIFY(verify());
+}
+
+/*!
+  ut_CpNetworkStatus::t_networkNameChanged
+ */
+void ut_CpNetworkStatus::t_networkNameChanged()
+{
+    CpSettingFormItemData data;
+    m_networkStatus->setSettingFormItemData(&data);
+    m_networkStatus->networkNameChanged(QSystemNetworkInfo::WcdmaMode, QString(""));
+    m_networkStatus->networkNameChanged(QSystemNetworkInfo::BluetoothMode, QString(""));
+}
+
+/*!
+  ut_CpNetworkStatus::t_networkStatusChanged
+ */
+void ut_CpNetworkStatus::t_networkStatusChanged()
+{
+    CpSettingFormItemData data;
+    m_networkStatus->setSettingFormItemData(&data);
+    m_networkStatus->networkStatusChanged(QSystemNetworkInfo::WcdmaMode, QSystemNetworkInfo::EmergencyOnly);
+    m_networkStatus->networkStatusChanged(QSystemNetworkInfo::BluetoothMode, QSystemNetworkInfo::EmergencyOnly);
+}
+
+/*!
+  ut_CpNetworkStatus::t_setSettingFormItemData
+ */
+void ut_CpNetworkStatus::t_setSettingFormItemData()
+{
+    CpSettingFormItemData *data(NULL);
+    m_networkStatus->setSettingFormItemData(data);
+}
+
+/*!
+  ut_CpNetworkStatus::t_memleak
+ */
+void ut_CpNetworkStatus::t_memleak()
+{
+    
+}
+
+QTEST_MAIN_S60(ut_CpNetworkStatus)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/cpnetworkplugin/tsrc/ut_cpnetworkstatus/ut_cpnetworkstatus.h	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,58 @@
+/*
+* 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 UT_CPNETWORKSTATUS_H
+#define UT_CPNETWORKSTATUS_H
+
+#include <QtTest/QtTest>
+#include <mockservice.h>
+
+class CpNetworkStatus;
+
+class ut_CpNetworkStatus : public QObject, MockService
+{
+    Q_OBJECT
+
+public:    
+    ut_CpNetworkStatus();
+    ~ut_CpNetworkStatus();
+    
+private slots:
+
+    void init();
+    
+    void t_memleak();
+
+    void t_statusText();
+    
+    void t_statusIcon();
+    
+    void t_networkNameChanged();
+    
+    void t_networkStatusChanged();
+    
+    void t_setSettingFormItemData();
+    
+    void cleanup();
+    
+private:
+    
+    CpNetworkStatus *m_networkStatus;
+
+};
+
+#endif // UT_CPNETWORKSTATUS_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/cpnetworkplugin/tsrc/ut_cpnetworkstatus/ut_cpnetworkstatus.pro	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,53 @@
+#
+# 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: Project file for building unit test component
+#
+#
+
+CONFIG += qtestlib hb mobility
+TEMPLATE = app
+TARGET = 
+DEPENDPATH += . ../../src/
+INCLUDEPATH += .
+INCLUDEPATH +=../../../inc 
+INCLUDEPATH +=../../../cptelephonyutils/inc
+DEFINES += BUILD_NETWORKPLUGIN BUILD_CPTELEPHONYUTILS
+MOBILITY += systeminfo
+
+QT -= gui
+QT += testlib
+
+symbian: {
+  CONFIG += no_icon
+  INCLUDEPATH += /epoc32/include/mw/QtTest \
+        /epoc32/include/platform/mw \
+        /epoc32/include/mw/qt
+  LIBS += -lmocklib \
+        -lsymbianmock \
+        -lcpframework
+}
+    
+# test code
+HEADERS += ut_cpnetworkstatus.h
+SOURCES += ut_cpnetworkstatus.cpp
+
+# code to be tested
+HEADERS += ../../src/cpnetworkstatus.h 
+       
+SOURCES += ../../src/cpnetworkstatus.cpp 
+
+# mocks needed for testing
+SOURCES += ../../../tsrc/mocks/mock_hbicon.cpp
+SOURCES += ../../../tsrc/mocks/mock_cpsettingformentryitemdata.cpp
+SOURCES += ../../../tsrc/mocks/mock_qsysteminfo.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/cptelephonyutils/bwins/cptelephonyutilsu.def	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,84 @@
+EXPORTS
+	?metaObject@CpPhoneNotes@@UBEPBUQMetaObject@@XZ @ 1 NONAME ; struct QMetaObject const * CpPhoneNotes::metaObject(void) const
+	?qt_metacast@CpPhoneLocalisation@@UAEPAXPBD@Z @ 2 NONAME ; void * CpPhoneLocalisation::qt_metacast(char const *)
+	?handleProgressNoteCanceled@CpPhoneNotes@@AAEXXZ @ 3 NONAME ; void CpPhoneNotes::handleProgressNoteCanceled(void)
+	?showGlobalErrorNote@CpPhoneNotes@@QAEXAAHH@Z @ 4 NONAME ; void CpPhoneNotes::showGlobalErrorNote(int &, int)
+	??1CpSettingsWrapper@@UAE@XZ @ 5 NONAME ; CpSettingsWrapper::~CpSettingsWrapper(void)
+	?installTranslator@CpPhoneLocalisation@@QAE_NW4TranslationFileId@1@@Z @ 6 NONAME ; bool CpPhoneLocalisation::installTranslator(enum CpPhoneLocalisation::TranslationFileId)
+	?passwordTextChanged@CpPhoneNotes@@AAEXXZ @ 7 NONAME ; void CpPhoneNotes::passwordTextChanged(void)
+	?instance@CpPhoneNotes@@SAPAV1@XZ @ 8 NONAME ; class CpPhoneNotes * CpPhoneNotes::instance(void)
+	?trUtf8@CpPhoneLocalisation@@SA?AVQString@@PBD0H@Z @ 9 NONAME ; class QString CpPhoneLocalisation::trUtf8(char const *, char const *, int)
+	?tr@CpPhoneLocalisation@@SA?AVQString@@PBD0H@Z @ 10 NONAME ; class QString CpPhoneLocalisation::tr(char const *, char const *, int)
+	?readPubSubValue@CpSettingsWrapper@@ABE?AVQVariant@@JK@Z @ 11 NONAME ; class QVariant CpSettingsWrapper::readPubSubValue(long, unsigned long) const
+	?formatPhoneNumber@CpPhoneNotes@@ABE?AVQString@@V2@@Z @ 12 NONAME ; class QString CpPhoneNotes::formatPhoneNumber(class QString) const
+	?metaObject@Tools@@UBEPBUQMetaObject@@XZ @ 13 NONAME ; struct QMetaObject const * Tools::metaObject(void) const
+	?readSoftRejectText@CpSettingsWrapper@@QAEXAAVQString@@AA_N@Z @ 14 NONAME ; void CpSettingsWrapper::readSoftRejectText(class QString &, bool &)
+	?getStaticMetaObject@CpSettingsWrapper@@SAABUQMetaObject@@XZ @ 15 NONAME ; struct QMetaObject const & CpSettingsWrapper::getStaticMetaObject(void)
+	?metaObject@CpSettingsWrapper@@UBEPBUQMetaObject@@XZ @ 16 NONAME ; struct QMetaObject const * CpSettingsWrapper::metaObject(void) const
+	?errorCodeTextMapping@Tools@@SA_NHAAVQString@@@Z @ 17 NONAME ; bool Tools::errorCodeTextMapping(int, class QString &)
+	?isPhoneOffline@CpSettingsWrapper@@QBE_NXZ @ 18 NONAME ; bool CpSettingsWrapper::isPhoneOffline(void) const
+	?qt_metacall@CpPhoneLocalisation@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 19 NONAME ; int CpPhoneLocalisation::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?writeVtVideoSending@CpSettingsWrapper@@QAEHH@Z @ 20 NONAME ; int CpSettingsWrapper::writeVtVideoSending(int)
+	?trUtf8@CpPhoneNotes@@SA?AVQString@@PBD0H@Z @ 21 NONAME ; class QString CpPhoneNotes::trUtf8(char const *, char const *, int)
+	?readCenrepString@CpSettingsWrapper@@ABE?AVQString@@JK@Z @ 22 NONAME ; class QString CpSettingsWrapper::readCenrepString(long, unsigned long) const
+	?qt_metacall@Tools@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 23 NONAME ; int Tools::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?qt_metacall@CpPhoneNotes@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 24 NONAME ; int CpPhoneNotes::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?tr@CpPhoneNotes@@SA?AVQString@@PBD0@Z @ 25 NONAME ; class QString CpPhoneNotes::tr(char const *, char const *)
+	?getStaticMetaObject@CpPhoneNotes@@SAABUQMetaObject@@XZ @ 26 NONAME ; struct QMetaObject const & CpPhoneNotes::getStaticMetaObject(void)
+	?trUtf8@CpPhoneLocalisation@@SA?AVQString@@PBD0@Z @ 27 NONAME ; class QString CpPhoneLocalisation::trUtf8(char const *, char const *)
+	?staticMetaObject@CpPhoneLocalisation@@2UQMetaObject@@B @ 28 NONAME ; struct QMetaObject const CpPhoneLocalisation::staticMetaObject
+	?showNotificationDialog@CpPhoneNotes@@QAEXABVQString@@@Z @ 29 NONAME ; void CpPhoneNotes::showNotificationDialog(class QString const &)
+	?qt_metacall@CpSettingsWrapper@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 30 NONAME ; int CpSettingsWrapper::qt_metacall(enum QMetaObject::Call, int, void * *)
+	??0CpPhoneLocalisation@@QAE@PAVQObject@@@Z @ 31 NONAME ; CpPhoneLocalisation::CpPhoneLocalisation(class QObject *)
+	?showCallDivertDetails@CpPhoneNotes@@QAEXABVPSCallDivertingStatus@@@Z @ 32 NONAME ; void CpPhoneNotes::showCallDivertDetails(class PSCallDivertingStatus const &)
+	??_ECpPhoneLocalisation@@UAE@I@Z @ 33 NONAME ; CpPhoneLocalisation::~CpPhoneLocalisation(unsigned int)
+	?numberGroupingSupported@CpSettingsWrapper@@QBE_NXZ @ 34 NONAME ; bool CpSettingsWrapper::numberGroupingSupported(void) const
+	?launchNextNoteIfReady@CpPhoneNotes@@AAEXXZ @ 35 NONAME ; void CpPhoneNotes::launchNextNoteIfReady(void)
+	?tr@CpSettingsWrapper@@SA?AVQString@@PBD0@Z @ 36 NONAME ; class QString CpSettingsWrapper::tr(char const *, char const *)
+	?isFeatureCallWaitingDistiquishNotProvisionedEnabled@CpSettingsWrapper@@QAE_NXZ @ 37 NONAME ; bool CpSettingsWrapper::isFeatureCallWaitingDistiquishNotProvisionedEnabled(void)
+	?cancelNote@CpPhoneNotes@@QAEXH@Z @ 38 NONAME ; void CpPhoneNotes::cancelNote(int)
+	?writeCenrepValue@CpSettingsWrapper@@ABEHJKABVQVariant@@@Z @ 39 NONAME ; int CpSettingsWrapper::writeCenrepValue(long, unsigned long, class QVariant const &) const
+	?staticMetaObject@Tools@@2UQMetaObject@@B @ 40 NONAME ; struct QMetaObject const Tools::staticMetaObject
+	?readVtVideoSending@CpSettingsWrapper@@QAEHXZ @ 41 NONAME ; int CpSettingsWrapper::readVtVideoSending(void)
+	?staticMetaObject@CpSettingsWrapper@@2UQMetaObject@@B @ 42 NONAME ; struct QMetaObject const CpSettingsWrapper::staticMetaObject
+	?activeNoteAboutToClose@CpPhoneNotes@@AAEXXZ @ 43 NONAME ; void CpPhoneNotes::activeNoteAboutToClose(void)
+	??_ECpPhoneNotes@@UAE@I@Z @ 44 NONAME ; CpPhoneNotes::~CpPhoneNotes(unsigned int)
+	?getStaticMetaObject@Tools@@SAABUQMetaObject@@XZ @ 45 NONAME ; struct QMetaObject const & Tools::getStaticMetaObject(void)
+	?qt_metacast@CpSettingsWrapper@@UAEPAXPBD@Z @ 46 NONAME ; void * CpSettingsWrapper::qt_metacast(char const *)
+	?metaObject@CpPhoneLocalisation@@UBEPBUQMetaObject@@XZ @ 47 NONAME ; struct QMetaObject const * CpPhoneLocalisation::metaObject(void) const
+	?qt_metacast@CpPhoneNotes@@UAEPAXPBD@Z @ 48 NONAME ; void * CpPhoneNotes::qt_metacast(char const *)
+	?tr@CpPhoneLocalisation@@SA?AVQString@@PBD0@Z @ 49 NONAME ; class QString CpPhoneLocalisation::tr(char const *, char const *)
+	?tr@CpPhoneNotes@@SA?AVQString@@PBD0H@Z @ 50 NONAME ; class QString CpPhoneNotes::tr(char const *, char const *, int)
+	?tr@CpSettingsWrapper@@SA?AVQString@@PBD0H@Z @ 51 NONAME ; class QString CpSettingsWrapper::tr(char const *, char const *, int)
+	?isOngoingCall@CpSettingsWrapper@@QBE_NXZ @ 52 NONAME ; bool CpSettingsWrapper::isOngoingCall(void) const
+	??1CpPhoneNotes@@EAE@XZ @ 53 NONAME ; CpPhoneNotes::~CpPhoneNotes(void)
+	?showGlobalNote@CpPhoneNotes@@QAEXAAHABVQString@@W4MessageBoxType@HbMessageBox@@@Z @ 54 NONAME ; void CpPhoneNotes::showGlobalNote(int &, class QString const &, enum HbMessageBox::MessageBoxType)
+	?finishedPasswordQueryDialog@CpPhoneNotes@@QAEXPAVHbAction@@@Z @ 55 NONAME ; void CpPhoneNotes::finishedPasswordQueryDialog(class HbAction *)
+	?videoSupported@Tools@@SA_NXZ @ 56 NONAME ; bool Tools::videoSupported(void)
+	?showCallDuration@CpSettingsWrapper@@QAE_NXZ @ 57 NONAME ; bool CpSettingsWrapper::showCallDuration(void)
+	?writeSoftRejectText@CpSettingsWrapper@@QAEHABVQString@@_N@Z @ 58 NONAME ; int CpSettingsWrapper::writeSoftRejectText(class QString const &, bool)
+	?setShowCallDuration@CpSettingsWrapper@@QAEH_N@Z @ 59 NONAME ; int CpSettingsWrapper::setShowCallDuration(bool)
+	?trUtf8@CpSettingsWrapper@@SA?AVQString@@PBD0@Z @ 60 NONAME ; class QString CpSettingsWrapper::trUtf8(char const *, char const *)
+	??_ECpSettingsWrapper@@UAE@I@Z @ 61 NONAME ; CpSettingsWrapper::~CpSettingsWrapper(unsigned int)
+	??1CpPhoneLocalisation@@UAE@XZ @ 62 NONAME ; CpPhoneLocalisation::~CpPhoneLocalisation(void)
+	?progressNoteCanceled@CpPhoneNotes@@IAEXXZ @ 63 NONAME ; void CpPhoneNotes::progressNoteCanceled(void)
+	?trUtf8@CpSettingsWrapper@@SA?AVQString@@PBD0H@Z @ 64 NONAME ; class QString CpSettingsWrapper::trUtf8(char const *, char const *, int)
+	??0CpPhoneNotes@@AAE@XZ @ 65 NONAME ; CpPhoneNotes::CpPhoneNotes(void)
+	?staticMetaObject@CpPhoneNotes@@2UQMetaObject@@B @ 66 NONAME ; struct QMetaObject const CpPhoneNotes::staticMetaObject
+	?tr@Tools@@SA?AVQString@@PBD0@Z @ 67 NONAME ; class QString Tools::tr(char const *, char const *)
+	?showGlobalProgressNote@CpPhoneNotes@@QAEXAAHABVQString@@@Z @ 68 NONAME ; void CpPhoneNotes::showGlobalProgressNote(int &, class QString const &)
+	?voipSupported@Tools@@SA_NXZ @ 69 NONAME ; bool Tools::voipSupported(void)
+	?qt_metacast@Tools@@UAEPAXPBD@Z @ 70 NONAME ; void * Tools::qt_metacast(char const *)
+	?trUtf8@CpPhoneNotes@@SA?AVQString@@PBD0@Z @ 71 NONAME ; class QString CpPhoneNotes::trUtf8(char const *, char const *)
+	?readCenrepValue@CpSettingsWrapper@@ABE?AVQVariant@@JK@Z @ 72 NONAME ; class QVariant CpSettingsWrapper::readCenrepValue(long, unsigned long) const
+	?trUtf8@Tools@@SA?AVQString@@PBD0H@Z @ 73 NONAME ; class QString Tools::trUtf8(char const *, char const *, int)
+	?getStaticMetaObject@CpPhoneLocalisation@@SAABUQMetaObject@@XZ @ 74 NONAME ; struct QMetaObject const & CpPhoneLocalisation::getStaticMetaObject(void)
+	?tr@Tools@@SA?AVQString@@PBD0H@Z @ 75 NONAME ; class QString Tools::tr(char const *, char const *, int)
+	?noteShowing@CpPhoneNotes@@QAE_NXZ @ 76 NONAME ; bool CpPhoneNotes::noteShowing(void)
+	?removeTranslators@CpPhoneLocalisation@@QAEXXZ @ 77 NONAME ; void CpPhoneLocalisation::removeTranslators(void)
+	?passwordQueryCompleted@CpPhoneNotes@@IAEXVQString@@_N@Z @ 78 NONAME ; void CpPhoneNotes::passwordQueryCompleted(class QString, bool)
+	?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
+
--- a/phonesettings/cpphonesettingsplugins/cptelephonyutils/cptelephonyutils.pro	Tue Jun 15 14:14:38 2010 +0100
+++ b/phonesettings/cpphonesettingsplugins/cptelephonyutils/cptelephonyutils.pro	Thu Jul 22 16:33:21 2010 +0100
@@ -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 \
@@ -55,6 +56,14 @@
     TARGET.CAPABILITY = CAP_GENERAL_DLL
     TARGET.UID3 = 0X20029F1F
 
+    defFiles = \
+    "$${LITERAL_HASH}ifdef WINS" \
+        "DEFFILE bwins/cptelephonyutils.def" \
+    "$${LITERAL_HASH}else" \
+        "DEFFILE eabi/cptelephonyutils.def" \
+    "$${LITERAL_HASH}endif"
+    MMP_RULES += defFiles
+
     # For sis file
     dllfile.sources = $${TARGET}.dll
     dllfile.path = $$SHARED_LIB_DIR
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/cptelephonyutils/eabi/cptelephonyutilsu.def	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,82 @@
+EXPORTS
+	_ZN12CpPhoneNotes10cancelNoteEi @ 1 NONAME
+	_ZN12CpPhoneNotes11noteShowingEv @ 2 NONAME
+	_ZN12CpPhoneNotes11qt_metacallEN11QMetaObject4CallEiPPv @ 3 NONAME
+	_ZN12CpPhoneNotes11qt_metacastEPKc @ 4 NONAME
+	_ZN12CpPhoneNotes14showGlobalNoteERiRK7QStringN12HbMessageBox14MessageBoxTypeE @ 5 NONAME
+	_ZN12CpPhoneNotes16staticMetaObjectE @ 6 NONAME DATA 16
+	_ZN12CpPhoneNotes19getStaticMetaObjectEv @ 7 NONAME
+	_ZN12CpPhoneNotes19passwordTextChangedEv @ 8 NONAME
+	_ZN12CpPhoneNotes19showGlobalErrorNoteERii @ 9 NONAME
+	_ZN12CpPhoneNotes20progressNoteCanceledEv @ 10 NONAME
+	_ZN12CpPhoneNotes21launchNextNoteIfReadyEv @ 11 NONAME
+	_ZN12CpPhoneNotes21showCallDivertDetailsERK21PSCallDivertingStatus @ 12 NONAME
+	_ZN12CpPhoneNotes22activeNoteAboutToCloseEv @ 13 NONAME
+	_ZN12CpPhoneNotes22passwordQueryCompletedE7QStringb @ 14 NONAME
+	_ZN12CpPhoneNotes22showGlobalProgressNoteERiRK7QString @ 15 NONAME
+	_ZN12CpPhoneNotes22showNotificationDialogERK7QString @ 16 NONAME
+	_ZN12CpPhoneNotes23showPasswordQueryDialogERK7QStringRK10QValidatori @ 17 NONAME
+	_ZN12CpPhoneNotes26handleProgressNoteCanceledEv @ 18 NONAME
+	_ZN12CpPhoneNotes27finishedPasswordQueryDialogEP8HbAction @ 19 NONAME
+	_ZN12CpPhoneNotes8instanceEv @ 20 NONAME
+	_ZN12CpPhoneNotesC1Ev @ 21 NONAME
+	_ZN12CpPhoneNotesC2Ev @ 22 NONAME
+	_ZN12CpPhoneNotesD0Ev @ 23 NONAME
+	_ZN12CpPhoneNotesD1Ev @ 24 NONAME
+	_ZN12CpPhoneNotesD2Ev @ 25 NONAME
+	_ZN17CpSettingsWrapper11qt_metacallEN11QMetaObject4CallEiPPv @ 26 NONAME
+	_ZN17CpSettingsWrapper11qt_metacastEPKc @ 27 NONAME
+	_ZN17CpSettingsWrapper16showCallDurationEv @ 28 NONAME
+	_ZN17CpSettingsWrapper16staticMetaObjectE @ 29 NONAME DATA 16
+	_ZN17CpSettingsWrapper18readSoftRejectTextER7QStringRb @ 30 NONAME
+	_ZN17CpSettingsWrapper18readVtVideoSendingEv @ 31 NONAME
+	_ZN17CpSettingsWrapper19getStaticMetaObjectEv @ 32 NONAME
+	_ZN17CpSettingsWrapper19setShowCallDurationEb @ 33 NONAME
+	_ZN17CpSettingsWrapper19writeSoftRejectTextERK7QStringb @ 34 NONAME
+	_ZN17CpSettingsWrapper19writeVtVideoSendingEi @ 35 NONAME
+	_ZN17CpSettingsWrapper51isFeatureCallWaitingDistiquishNotProvisionedEnabledEv @ 36 NONAME
+	_ZN17CpSettingsWrapperC1EP7QObject @ 37 NONAME
+	_ZN17CpSettingsWrapperC2EP7QObject @ 38 NONAME
+	_ZN17CpSettingsWrapperD0Ev @ 39 NONAME
+	_ZN17CpSettingsWrapperD1Ev @ 40 NONAME
+	_ZN17CpSettingsWrapperD2Ev @ 41 NONAME
+	_ZN19CpPhoneLocalisation11qt_metacallEN11QMetaObject4CallEiPPv @ 42 NONAME
+	_ZN19CpPhoneLocalisation11qt_metacastEPKc @ 43 NONAME
+	_ZN19CpPhoneLocalisation16staticMetaObjectE @ 44 NONAME DATA 16
+	_ZN19CpPhoneLocalisation17installTranslatorENS_17TranslationFileIdE @ 45 NONAME
+	_ZN19CpPhoneLocalisation17removeTranslatorsEv @ 46 NONAME
+	_ZN19CpPhoneLocalisation19getStaticMetaObjectEv @ 47 NONAME
+	_ZN19CpPhoneLocalisationC1EP7QObject @ 48 NONAME
+	_ZN19CpPhoneLocalisationC2EP7QObject @ 49 NONAME
+	_ZN19CpPhoneLocalisationD0Ev @ 50 NONAME
+	_ZN19CpPhoneLocalisationD1Ev @ 51 NONAME
+	_ZN19CpPhoneLocalisationD2Ev @ 52 NONAME
+	_ZN5Tools11qt_metacallEN11QMetaObject4CallEiPPv @ 53 NONAME
+	_ZN5Tools11qt_metacastEPKc @ 54 NONAME
+	_ZN5Tools13voipSupportedEv @ 55 NONAME
+	_ZN5Tools14videoSupportedEv @ 56 NONAME
+	_ZN5Tools16staticMetaObjectE @ 57 NONAME DATA 16
+	_ZN5Tools19getStaticMetaObjectEv @ 58 NONAME
+	_ZN5Tools20errorCodeTextMappingEiR7QString @ 59 NONAME
+	_ZNK12CpPhoneNotes10metaObjectEv @ 60 NONAME
+	_ZNK12CpPhoneNotes17formatPhoneNumberE7QString @ 61 NONAME
+	_ZNK17CpSettingsWrapper10metaObjectEv @ 62 NONAME
+	_ZNK17CpSettingsWrapper13isOngoingCallEv @ 63 NONAME
+	_ZNK17CpSettingsWrapper14isPhoneOfflineEv @ 64 NONAME
+	_ZNK17CpSettingsWrapper15readCenrepValueElm @ 65 NONAME
+	_ZNK17CpSettingsWrapper15readPubSubValueElm @ 66 NONAME
+	_ZNK17CpSettingsWrapper16readCenrepStringElm @ 67 NONAME
+	_ZNK17CpSettingsWrapper16writeCenrepValueElmRK8QVariant @ 68 NONAME
+	_ZNK17CpSettingsWrapper23numberGroupingSupportedEv @ 69 NONAME
+	_ZNK19CpPhoneLocalisation10metaObjectEv @ 70 NONAME
+	_ZNK5Tools10metaObjectEv @ 71 NONAME
+	_ZTI12CpPhoneNotes @ 72 NONAME
+	_ZTI17CpSettingsWrapper @ 73 NONAME
+	_ZTI19CpPhoneLocalisation @ 74 NONAME
+	_ZTI5Tools @ 75 NONAME
+	_ZTV12CpPhoneNotes @ 76 NONAME
+	_ZTV17CpSettingsWrapper @ 77 NONAME
+	_ZTV19CpPhoneLocalisation @ 78 NONAME
+	_ZTV5Tools @ 79 NONAME
+	_ZNK17CpSettingsWrapper22forbiddenIconSupportedEv @ 80 NONAME
+
--- a/phonesettings/cpphonesettingsplugins/cptelephonyutils/inc/cpphonenotes.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phonesettings/cpphonesettingsplugins/cptelephonyutils/inc/cpphonenotes.h	Thu Jul 22 16:33:21 2010 +0100
@@ -93,14 +93,6 @@
      */
     void showGlobalErrorNote(int &noteId, int errorCode);
     
-    /**
-     Shows the basic service list.
-     @param     title                   Heading to be used for the list.
-     @param     basicServiceGroupIds    Basic services to be listed. 
-     */
-    void showBasicServiceList(
-        const QString &title, 
-        const QList<unsigned char> &basicServiceGroupIds);
     
     /**
      Shows detailed call divert information about the selected divert service
@@ -138,15 +130,14 @@
      Slot for HbDialog finished singal.
      */
     void finishedPasswordQueryDialog(HbAction* action);
-    
-private:
-    
+
     /**
-     Resolves basic service group name by identifier.
-     @param     basicServiceGroupId     Group identifier.
-     @return    Group name.
+     Shows notification dialog. 
+     @param     text        Text to show on a dialog.
      */
-    QString basicServiceGroupName(BasicServiceGroups basicServiceGroupId) const;
+    void showNotificationDialog(const QString& text);
+
+private:
     
     /**
      Formats phone number according to locale specific rules.
--- a/phonesettings/cpphonesettingsplugins/cptelephonyutils/inc/cpplugincommon.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phonesettings/cpphonesettingsplugins/cptelephonyutils/inc/cpplugincommon.h	Thu Jul 22 16:33:21 2010 +0100
@@ -67,7 +67,13 @@
       */
     bool showCallDuration();
     int setShowCallDuration(bool value);
-
+    
+    /*!
+      Own video in received call setting
+     */
+    int readVtVideoSending();
+    int writeVtVideoSending(int value);
+    
     /*!
       Soft reject text setting
       */
@@ -91,11 +97,28 @@
      */
     bool isPhoneOffline() const;
 
+    /*!
+     Checks if ongoing call exists.
+     Return true if ongoing call exists.
+     Return false if ongoing call does not exist.
+     */
+    bool isOngoingCall() const;
+	
+	/*!
+     Forbidden Icon support
+     */
+    bool forbiddenIconSupported() const;
+
 private:
     /*!
       Read cenrep value. 
       */
     QVariant readCenrepValue( const long int uid, const unsigned long int key) const;
+
+    /*!
+      Read pubsub value. 
+      */
+    QVariant readPubSubValue( const long int uid, const unsigned long int key) const;
     
     /*!
       Read cenrep string. 
--- a/phonesettings/cpphonesettingsplugins/cptelephonyutils/inc/cppluginlogging.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phonesettings/cpphonesettingsplugins/cptelephonyutils/inc/cppluginlogging.h	Thu Jul 22 16:33:21 2010 +0100
@@ -72,6 +72,7 @@
   */
 #define DPRINT qDebug() << __PRETTY_FUNCTION__
 #define DWARNING qWarning() << __PRETTY_FUNCTION__
+#define DCRITICAL qCritical() << __PRETTY_FUNCTION__
 
 #endif // CPPHONESETTINGSPLUGINSLOGGING_H
 
--- a/phonesettings/cpphonesettingsplugins/cptelephonyutils/src/cpphonelocalisation.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phonesettings/cpphonesettingsplugins/cptelephonyutils/src/cpphonelocalisation.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -81,6 +81,7 @@
             fileName = TS_FILE_COMMON; 
             break;
         default: 
+            DWARNING << ": Unknown enum value!";
             break; 
     }
 
@@ -95,7 +96,7 @@
         } else {
             delete translator; 
             translator = NULL;
-            DWARNING << ": WARNING! Translator not loaded!";
+            DWARNING << ": Translator not loaded!";
         }
     }
 
--- a/phonesettings/cpphonesettingsplugins/cptelephonyutils/src/cpphonenotes.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phonesettings/cpphonesettingsplugins/cptelephonyutils/src/cpphonenotes.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -24,6 +24,7 @@
 #include <hblabel.h>
 #include <hbaction.h>
 #include <hbmessagebox.h>
+#include <hbnotificationdialog.h>
 #include <QStandardItemModel>
 #include <QItemSelectionModel>
 #include <hbstringutil.h>
@@ -72,14 +73,8 @@
     DPRINT << ": IN";
 
     delete m_cpSettingsWrapper;
-    QObject* note(NULL);
-    foreach (note, *m_notesQueue) {
-        delete note;
-    }
+    qDeleteAll(*m_notesQueue);
     delete m_notesQueue;
-    if(m_passwordDialog) {
-        delete m_passwordDialog;
-    }
         
     
     DPRINT << ": OUT";
@@ -96,9 +91,12 @@
     HbDeviceProgressDialog *note = 
         new HbDeviceProgressDialog(HbProgressDialog::WaitDialog, this);
     note->setText(text);
-    QAction *action = new QAction(hbTrId("txt_common_button_hide"), this);
-    //Ownership of action is not transferred. Deleted when note closes.
-    note->setAction(action, HbDeviceProgressDialog::CancelButtonRole );
+    
+    if(hbTrId("txt_common_info_requesting") == text){
+        QAction *action = new QAction(hbTrId("txt_common_button_hide"), note);
+        note->setAction(action, HbDeviceProgressDialog::CancelButtonRole );
+    }
+    
     noteId = reinterpret_cast<int>(note);
     DPRINT << ", NOTEID: " << noteId;
     QObject::connect(
@@ -143,54 +141,6 @@
     DPRINT << ": OUT";
 }
 
-/*!
-  CpPhoneNotes::showBasicServiceList.
- */
-void CpPhoneNotes::showBasicServiceList(
-    const QString &title, 
-    const QList<unsigned char> &basicServiceGroupIds)
-{
-    DPRINT << ": IN";
-    
-    Q_ASSERT(title != "");
-    Q_ASSERT(0 < basicServiceGroupIds.count());
-    
-    QScopedPointer<HbDialog> serviceListPopup(new HbDialog());
-    serviceListPopup->setDismissPolicy(HbDialog::NoDismiss);
-    serviceListPopup->setTimeout(HbPopup::NoTimeout);
-    
-    QScopedPointer<HbLabel> heading(
-        new HbLabel(title, serviceListPopup.data()));
-    heading->setAlignment(Qt::AlignLeft | Qt::AlignTop);
-    serviceListPopup->setHeadingWidget(heading.take());
-    
-    QScopedPointer<HbListView> serviceList(
-        new HbListView(serviceListPopup.data()));
-    QScopedPointer<QStandardItemModel> serviceListModel(
-        new QStandardItemModel(serviceList.data()));
-    for (int i = 0; i < basicServiceGroupIds.count(); i++) {
-        BasicServiceGroups groupId = 
-            static_cast<BasicServiceGroups>(basicServiceGroupIds.at(i));
-        QString groupName = basicServiceGroupName(groupId);
-        QScopedPointer<QStandardItem> listItem(new QStandardItem(groupName));
-        serviceListModel->appendRow(listItem.take());
-    }
-    serviceList->setModel(serviceListModel.take());
-    serviceList->setSelectionMode(HbAbstractItemView::NoSelection);
-    serviceListPopup->setContentWidget(serviceList.take());
-    
-    HbAction *backAction = 
-        new HbAction(hbTrId("txt_common_button_back"), serviceListPopup.data());
-    serviceListPopup->setPrimaryAction(backAction);
-    
-    HbDialog *serviceListPopupDialog = serviceListPopup.take();
-    QObject::connect(
-        serviceListPopupDialog, SIGNAL(finished(HbAction*)), 
-        serviceListPopupDialog, SLOT(deleteLater()));
-    serviceListPopupDialog->show();
-    
-    DPRINT << ": OUT";
-}
 
 /*!
   CpPhoneNotes::cancelNote.
@@ -233,77 +183,6 @@
 }
 
 /*!
-  CpPhoneNotes::basicServiceGroupName.
-  Resolves basic service group name by group identifier.
- */
-QString CpPhoneNotes::basicServiceGroupName(BasicServiceGroups basicServiceGroupId) const
-{
-    DPRINT << ": IN";
-    
-    QString string = "";
-    switch (basicServiceGroupId) {
-        case AllTeleAndBearer:
-            string = hbTrId("All services");
-            break;
-        case AllTele:
-            string = hbTrId("Voice, fax and messages");
-            break;
-        case Telephony:
-            string = hbTrId("Voice calls");
-            break;
-        case AllDataTele:
-            string = hbTrId("Fax and messages");
-            break;
-        case Fax:
-            string = hbTrId("Fax");
-            break;
-        case Sms:
-            string = hbTrId("Messages");
-            break;
-        case AllTeleExcSms:
-            string = hbTrId("Voice calls and fax");
-            break;
-        case AllBearer:
-            if (Tools::videoSupported()) {
-                string = hbTrId("Data and video services");
-            } else {
-                string = hbTrId("Data services");
-            }
-            break;
-        case AllAsync:
-            string = hbTrId("Asynchronous services");
-            break;
-        case AllSync:
-            string = hbTrId("Synchronous services");
-            break;
-        case SyncData:
-            string = hbTrId("Synchronous data services");
-            break;
-        case AsyncData:
-            string = hbTrId("Asynchronous data services");
-            break;
-        case PacketData:
-            string = hbTrId("Packet data");
-            break;
-        case PadAccess:
-            string = hbTrId("PAD access");
-            break;
-        case 30:
-            string = hbTrId("Video calls");
-            break;
-        case AltTele:
-            string = hbTrId("Alternate line services");
-            break;
-        default:
-            DPRINT << ", DEFAULT";
-            break;
-    }
-    
-    DPRINT << ": OUT";
-    return string;
-}
-
-/*!
   CpPhoneNotes::showGlobalErrorNote.
  */
 void CpPhoneNotes::showGlobalErrorNote(int &noteId, int errorcode)
@@ -353,7 +232,7 @@
     HbAction *backAction = new HbAction(
         hbTrId("txt_common_button_back"), 
         divertInfoScopedPointer.data());
-    divertInfoScopedPointer->setPrimaryAction(backAction);
+    divertInfoScopedPointer->addAction(backAction);
     
     HbMessageBox *divertInfo = divertInfoScopedPointer.take();
     QObject::connect(
@@ -380,17 +259,18 @@
     passwordDialog->setPromptText(title);
     passwordDialog->setEchoMode(HbLineEdit::Password);
     passwordDialog->setInputMethodHints(Qt::ImhDigitsOnly);
+    passwordDialog->actions().at(0)->setEnabled(false);
+    
     HbLineEdit *hbLineEdit = passwordDialog->lineEdit();
     hbLineEdit->setMaxLength(maxPasswordLength);
+    
     HbEditorInterface editorInterface(hbLineEdit);
-    
     editorInterface.setMode(HbInputModeNumeric);
     editorInterface.setInputConstraints(HbEditorConstraintFixedInputMode);
-    
     editorInterface.setFilter(HbDigitsOnlyFilter::instance());
     
     m_passwordValidator = &validator;
-    passwordDialog->primaryAction()->setEnabled(false);
+    
     connect(
         hbLineEdit, SIGNAL(contentsChanged()), 
         this, SLOT(passwordTextChanged()));
@@ -401,7 +281,7 @@
 		m_passwordDialog = NULL;
 	}
     m_passwordDialog = passwordDialog.take();
-        
+    m_passwordDialog->setParent(this);
     DPRINT << ": OUT";
 }
 
@@ -413,7 +293,7 @@
     bool ok;
     QString password;
     if(m_passwordDialog) {
-        if (action == m_passwordDialog->secondaryAction()) {
+        if (action == m_passwordDialog->actions().at(1)) {
             ok = false;
         } else {
             ok = true;
@@ -507,9 +387,6 @@
             DPRINT << ", delete note: " << reinterpret_cast<int>(note);
             HbDeviceProgressDialog *pNote = 
                 qobject_cast<HbDeviceProgressDialog *>(note);
-            if(pNote){
-                delete pNote->action();
-            }
             note->deleteLater();
         }
     }
@@ -543,8 +420,24 @@
     bool isPasswordValid = 
         (QValidator::Acceptable == m_passwordValidator->validate(
             password, position));
-    m_passwordDialog->primaryAction()->setEnabled(isPasswordValid);
-    
+    m_passwordDialog->actions().at(0)->setEnabled(isPasswordValid);
+        
+    DPRINT << ": OUT";
+}
+
+
+/*!
+  CpPhoneNotes::showNotificationDialog.
+ */
+void CpPhoneNotes::showNotificationDialog(const QString& text)
+{
+    DPRINT << ": IN";
+    HbNotificationDialog *notifDialog = new HbNotificationDialog();
+    notifDialog->setDismissPolicy(HbPopup::TapAnywhere);
+    notifDialog->setAttribute(Qt::WA_DeleteOnClose, true);
+    notifDialog->setText(text);
+    notifDialog->show();
+
     DPRINT << ": OUT";
 }
 
--- a/phonesettings/cpphonesettingsplugins/cptelephonyutils/src/cpplugincommon.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phonesettings/cpphonesettingsplugins/cptelephonyutils/src/cpplugincommon.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -30,6 +30,9 @@
 #include <NumberGroupingCRKeys.h>
 #include <hbglobal.h>
 #include <CoreApplicationUIsSDKCRKeys.h>
+#include <telephonyvariant.hrh>
+#include <telinternalcrkeys.h>
+#include <ctsydomainpskeys.h>
 #include "cptelephonyutilsdefs.h"
 #include "cpplugincommon.h"
 #include "cppluginlogging.h"
@@ -79,7 +82,7 @@
             errorText = hbTrId("txt_phone_info_not_allowed");
             break;
         case KErrGsmSSIncompatibility:
-            errorText = hbTrId("Services in conflict");
+            errorText = hbTrId("txt_phone_info_conflict_error");
             break;
         case KErrGsmSSSystemFailure:
             errorText = hbTrId("txt_phone_info_result_unknown");
@@ -169,6 +172,18 @@
     return writeCenrepValue(KCRUidLogs.iUid, KLogsShowCallDuration, cenrepValue );
 }
 
+int CpSettingsWrapper::readVtVideoSending()
+{
+    DPRINT << ": IN";
+    return readCenrepValue(KCRUidTelephonySettings.iUid, KSettingsVTVideoSending).toInt();
+}
+
+int CpSettingsWrapper::writeVtVideoSending(int value)
+{
+    DPRINT << ": IN";
+    return writeCenrepValue(KCRUidTelephonySettings.iUid, KSettingsVTVideoSending, value);
+}
+
 void CpSettingsWrapper::readSoftRejectText(QString &text, bool &userDefined )
 {
     if (SoftRejectTextDefault ==
@@ -200,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
@@ -210,6 +231,15 @@
     return ret;
 }
 
+QVariant CpSettingsWrapper::readPubSubValue(
+    const long int uid, const unsigned long int key) const
+{
+    XQSettingsKey settingsKey(XQSettingsKey::TargetPublishAndSubscribe, uid, key);
+    QVariant ret = m_Settings->readItemValue(settingsKey);
+    DPRINT << "PubSub ret: " << ret;
+    return ret;
+}
+
 QString CpSettingsWrapper::readCenrepString(
     const long int uid, const unsigned long int key) const
 {
@@ -246,3 +276,14 @@
     }
     return offLinesupport;
 }
+
+bool CpSettingsWrapper::isOngoingCall() const
+{
+    bool callOngoing(false);
+    if (EPSCTsyCallStateNone < 
+            readPubSubValue(KPSUidCtsyCallInformation.iUid, KCTsyCallState).toInt()) {
+        callOngoing = true; 
+    }
+    return callOngoing;
+}
+
--- a/phonesettings/cpphonesettingsplugins/cptelephonyutils/src/cpplugincommon_s.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phonesettings/cpphonesettingsplugins/cptelephonyutils/src/cpplugincommon_s.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -110,3 +110,11 @@
     DPRINT << "DUMMY WRAPPER: enabled: " << enabled;
     return enabled;
 }
+
+
+bool CpSettingsWrapper::isOngoingCall() const
+{
+    bool ongoingCall = false;
+    DPRINT << "DUMMY WRAPPER: ongoingCall: " << ongoingCall;
+    return ongoingCall;
+}
--- a/phonesettings/cpphonesettingsplugins/cptelephonyutils/tsrc/run_auto_tests_qt.bat	Tue Jun 15 14:14:38 2010 +0100
+++ b/phonesettings/cpphonesettingsplugins/cptelephonyutils/tsrc/run_auto_tests_qt.bat	Thu Jul 22 16:33:21 2010 +0100
@@ -169,7 +169,7 @@
 ::::::::::::::::::::::::::::::::::::::::::::::::::::::
 :CALCULATECOVERAGE
 echo Calculating coverage
-ctcpost %PATH_TO_COVERAGE_DATA%\*.sym | ctcmerge -i - -o profile.txt
+ctcpost %PATH_TO_COVERAGE_DATA%\*.sym -p - | ctcmerge -i - -o profile.txt
 call ctc2html -t 70 -i profile.txt -o \coverage_result -nsb
 goto end
 
--- a/phonesettings/cpphonesettingsplugins/cptelephonyutils/tsrc/ut_cpphonelocalisation/ut_cpphonelocalisation.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phonesettings/cpphonesettingsplugins/cptelephonyutils/tsrc/ut_cpphonelocalisation/ut_cpphonelocalisation.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -92,6 +92,13 @@
     m_phoneLocalisation->installTranslator(
             CpPhoneLocalisation::TranslationFileCommon);
     QVERIFY(m_phoneLocalisation->m_translators.count() == 1);
+    
+    // Test: Unknown enum value
+    QVERIFY(verify());
+    expect("QCoreApplication::installTranslator").times(0);
+    m_phoneLocalisation->installTranslator(
+            (CpPhoneLocalisation::TranslationFileId)2);
+    QVERIFY(m_phoneLocalisation->m_translators.count() == 1);
     QVERIFY(verify());
     
     // Test: telephone_cp translator load 
--- a/phonesettings/cpphonesettingsplugins/cptelephonyutils/tsrc/ut_cpphonenotes/ut_cpphonenotes.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phonesettings/cpphonesettingsplugins/cptelephonyutils/tsrc/ut_cpphonenotes/ut_cpphonenotes.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -20,6 +20,7 @@
 #include <hbmainwindow.h>
 #include <HbDeviceMessageBox.h>
 #include <HbMessageBox.h>
+#include <hbnotificationdialog.h>
 #define private public
 #include "cpphonenotes.h"
 
@@ -138,12 +139,21 @@
 }
 
 /*!
+  UT_CpPhoneNotes::t_showNotificationDialog
+ */
+void UT_CpPhoneNotes::t_showNotificationDialog()
+{
+    CpPhoneNotes::instance()->showNotificationDialog("NotificationDialog");
+}
+
+/*!
   UT_CpPhoneNotes::t_showProgressNote
  */
 void UT_CpPhoneNotes::t_showProgressNote()
 {
-    CpPhoneNotes::instance()->showGlobalProgressNote(m_noteid1, "test");
-    CpPhoneNotes::instance()->showGlobalProgressNote(m_noteid2, "test");
+    CpPhoneNotes::instance()->showGlobalProgressNote(m_noteid1, "testshowProgressNote1");
+    QTest::qWait(5000);
+    CpPhoneNotes::instance()->showGlobalProgressNote(m_noteid2, "testshowProgressNote2");
     QTest::qWait(5000);
 }
 
@@ -152,7 +162,10 @@
  */
 void UT_CpPhoneNotes::t_showGlobalProgressNote()
 {
-    CpPhoneNotes::instance()->showGlobalProgressNote(m_noteid1, "test");
+    CpPhoneNotes::instance()->showGlobalProgressNote(m_noteid1, "testshowGPN");
+    QTest::qWait(5000);
+    CpPhoneNotes::instance()->showGlobalProgressNote(m_noteid2,
+            hbTrId("txt_common_info_requesting"));
     QTest::qWait(5000);
 }
 
@@ -180,17 +193,6 @@
 
 }
 
-/*!
-  UT_CpPhoneNotes::t_showBasicServiceList
- */
-void UT_CpPhoneNotes::t_showBasicServiceList()
-{
-    QList<unsigned char> basicServiceGroupIds;
-    basicServiceGroupIds << Telephony;
-    basicServiceGroupIds << AllDataTele;
-    CpPhoneNotes::instance()->
-        showBasicServiceList("Basic Service List", basicServiceGroupIds );
-}
 
 /*!
   UT_CpPhoneNotes::t_showCallDivertDetails
@@ -230,7 +232,7 @@
 void UT_CpPhoneNotes::t_cancelNote()
 {
     CpPhoneNotes::instance()->cancelNote(m_noteid1);
-    CpPhoneNotes::instance()->showGlobalProgressNote(m_noteid1, "test");
+    CpPhoneNotes::instance()->showGlobalProgressNote(m_noteid1, "testcancelNote");
     CpPhoneNotes::instance()->noteShowing();
     CpPhoneNotes::instance()->cancelNote(m_noteid1);
         
--- a/phonesettings/cpphonesettingsplugins/cptelephonyutils/tsrc/ut_cpphonenotes/ut_cpphonenotes.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phonesettings/cpphonesettingsplugins/cptelephonyutils/tsrc/ut_cpphonenotes/ut_cpphonenotes.h	Thu Jul 22 16:33:21 2010 +0100
@@ -23,10 +23,8 @@
 #include <etelmm.h>
 #include <psetcalldivertingwrapper.h>
 
-class CpPhoneNotes;
 class HbDialog;
 
-
 class UT_CpPhoneNotes : public QObject, MockService
 {
     Q_OBJECT
@@ -57,10 +55,10 @@
     void t_showGlobalProgressNote();
     void t_showGlobalNote();
     void t_showGlobalErrorNote();
-    void t_showBasicServiceList();
     void t_showCallDivertDetails();
     void t_showPasswordQueryDialog();
     void t_cancelNote();
+    void t_showNotificationDialog();
 
 private:
     int m_noteid1;
--- a/phonesettings/cpphonesettingsplugins/cptelephonyutils/tsrc/ut_cpplugincommon/ut_cpplugincommon.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phonesettings/cpphonesettingsplugins/cptelephonyutils/tsrc/ut_cpplugincommon/ut_cpplugincommon.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -70,7 +70,7 @@
 }
 
 /*!
-  UT_CpPluginCommon::t_memleak
+  UT_CpPluginCommon::t_showCallDuration
  */
 void UT_CpPluginCommon::t_showCallDuration()
 {
@@ -82,15 +82,17 @@
 }
 
 /*!
-  UT_CpPluginCommon::t_memleak
+  UT_CpPluginCommon::t_setShowCallDuration
  */
 void UT_CpPluginCommon::t_setShowCallDuration()
 {
     mWrapper->setShowCallDuration(true);
+    mWrapper->setShowCallDuration(false);
+    QVERIFY(verify());
 }
 
 /*!
-  UT_CpPluginCommon::t_memleak
+  UT_CpPluginCommon::t_readSoftRejectText
  */
 void UT_CpPluginCommon::t_readSoftRejectText()
 {
@@ -100,24 +102,35 @@
             returns(QVariant(true));
     
     expect("XQSettingsManager::readItemValue").
-                returns(QVariant("text"));
+            returns(QVariant("text"));
     
     mWrapper->readSoftRejectText(text, userDefined);
+    
+    userDefined=false;
+    expect("XQSettingsManager::readItemValue").
+                    returns(QVariant(false));
+    expect("XQSettingsManager::readItemValue").
+            returns(QVariant("text"));
+    mWrapper->readSoftRejectText(text, userDefined);
+    
     QVERIFY(verify());
 }
 
 /*!
-  UT_CpPluginCommon::t_memleak
+  UT_CpPluginCommon::t_writeSoftRejectText
  */
 void UT_CpPluginCommon::t_writeSoftRejectText()
 {
     QString text="";
     bool userDefined=true;
     mWrapper->writeSoftRejectText(text, userDefined);
+    userDefined=false;
+    mWrapper->writeSoftRejectText(text, userDefined);
+    QVERIFY(verify());
 }
 
 /*!
-  UT_CpPluginCommon::t_memleak
+  UT_CpPluginCommon::t_numberGroupingSupported
  */
 void UT_CpPluginCommon::t_numberGroupingSupported()
 {
@@ -160,7 +173,7 @@
 }
 
 /*!
-  UT_CpPluginCommon::t_memleak
+  UT_CpPluginCommon::t_errorCodeTextMapping
  */
 void UT_CpPluginCommon::t_errorCodeTextMapping()
 {
@@ -191,7 +204,7 @@
             "txt_phone_info_not_allowed"));
     Tools::errorCodeTextMapping(KErrGsmSSIncompatibility, text);
     QCOMPARE( text, QString(
-            "Services in conflict"));
+            "txt_phone_info_conflict_error"));
     Tools::errorCodeTextMapping(KErrGsmSSSystemFailure, text);
     QCOMPARE( text, QString(
             "txt_phone_info_result_unknown"));
@@ -249,5 +262,59 @@
         
 }
 
+/*!
+  UT_CpPluginCommon::t_readVtVideoSending
+ */
+void UT_CpPluginCommon::t_readVtVideoSending()
+{
+    expect("XQSettingsManager::readItemValue").
+            returns(QVariant(1));
+    mWrapper->readVtVideoSending();
+    QVERIFY( verify() );
+}
+
+/*!
+  UT_CpPluginCommon::t_writeVtVideoSending
+ */
+void UT_CpPluginCommon::t_writeVtVideoSending()
+{
+    expect("XQSettingsManager::writeItemValue");//.
+            //times(2);
+    int i=0;
+    mWrapper->writeVtVideoSending(i);
+    QVERIFY( verify() );
+}
+
+/*!
+  UT_CpPluginCommon::t_isFeatureCallWaitingDistiquishNotProvisionedEnabled
+ */
+void UT_CpPluginCommon::t_isFeatureCallWaitingDistiquishNotProvisionedEnabled()
+{
+    expect("XQSettingsManager::readItemValue").
+                returns(QVariant(1));
+    mWrapper->isFeatureCallWaitingDistiquishNotProvisionedEnabled();
+    QVERIFY( verify() );
+}
+
+/*!
+  UT_CpPluginCommon::t_isPhoneOffline
+ */
+void UT_CpPluginCommon::t_isPhoneOffline()
+{
+    expect("XQSysInfo::isSupported");
+    mWrapper->isPhoneOffline();
+    QVERIFY( verify() );
+}
+
+/*!
+  UT_CpPluginCommon::t_isOngoingCall
+ */
+void UT_CpPluginCommon::t_isOngoingCall()
+{
+    expect("XQSettingsManager::readItemValue").
+                    returns(QVariant(1));
+    mWrapper->isOngoingCall();
+    QVERIFY( verify() );
+}
 
 QTEST_MAIN_S60(UT_CpPluginCommon)
--- a/phonesettings/cpphonesettingsplugins/cptelephonyutils/tsrc/ut_cpplugincommon/ut_cpplugincommon.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phonesettings/cpphonesettingsplugins/cptelephonyutils/tsrc/ut_cpplugincommon/ut_cpplugincommon.h	Thu Jul 22 16:33:21 2010 +0100
@@ -47,6 +47,13 @@
     void t_voipSupported();
     void t_videoSupported();
     void t_errorCodeTextMapping();
+    
+    void t_readVtVideoSending();
+    void t_writeVtVideoSending();
+    
+    void t_isFeatureCallWaitingDistiquishNotProvisionedEnabled();
+    void t_isPhoneOffline();
+    void t_isOngoingCall();
 
 private:
     CpSettingsWrapper *mWrapper;
--- a/phonesettings/cpphonesettingsplugins/cptelephonyutils/tsrc/ut_cpplugincommon/ut_cpplugincommon.pro	Tue Jun 15 14:14:38 2010 +0100
+++ b/phonesettings/cpphonesettingsplugins/cptelephonyutils/tsrc/ut_cpplugincommon/ut_cpplugincommon.pro	Thu Jul 22 16:33:21 2010 +0100
@@ -40,9 +40,11 @@
 
 # code to be tested
 HEADERS += ../../inc/cpplugincommon.h \
-           /epoc32/include/mw/xqsettingskey.h \
-           /epoc32/include/mw/xqsettingsmanager.h \
-           /epoc32/include/mw/xqsysinfo.h
+           /epoc32/include/platform/mw/xqsettingskey.h \
+           /epoc32/include/platform/mw/xqsettingsmanager.h \
+           /epoc32/include/platform/mw/xqsysinfo.h \
+           ../../../../../inc/telephonyvariant.hrh \
+           ../../../../../inc/telinternalcrkeys.h
            
 SOURCES += ../../src/cpplugincommon.cpp
 
--- a/phonesettings/cpphonesettingsplugins/divertplugin/divertplugin.pro	Tue Jun 15 14:14:38 2010 +0100
+++ b/phonesettings/cpphonesettingsplugins/divertplugin/divertplugin.pro	Thu Jul 22 16:33:21 2010 +0100
@@ -34,16 +34,12 @@
 # Input
 SOURCES += src/cpdivertplugingroup.cpp \
     src/cpdivertplugin.cpp \
-    src/cpdivertselectionitem.cpp \
-    src/cpdivertselectioncustomitem.cpp \
     src/cpdivertitemdata.cpp
-    
+
 HEADERS += src/cpdivertplugingroup.h \
     src/cpdivertplugin.h \
-    src/cpdivertselectionitem.h \
-    src/cpdivertselectioncustomitem.h \
     src/cpdivertitemdata.h
-    
+
 include(../cpplugincommon.pri)
 
 symbian: {
--- a/phonesettings/cpphonesettingsplugins/divertplugin/src/cpdivertitemdata.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phonesettings/cpphonesettingsplugins/divertplugin/src/cpdivertitemdata.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -15,8 +15,6 @@
  *
  */
 #include "cpdivertitemdata.h"
-#include "cpdivertselectionitem.h"
-
 
 CpDivertItemData::CpDivertItemData(
                 HbDataFormModelItem::DataItemType type,
--- a/phonesettings/cpphonesettingsplugins/divertplugin/src/cpdivertplugingroup.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phonesettings/cpphonesettingsplugins/divertplugin/src/cpdivertplugingroup.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -15,7 +15,6 @@
  *
  */
 
-#include <QEventLoop>
 #include <hbdataformmodel.h>
 #include <hbdataformmodelitem.h>
 #include <hblineedit.h>
@@ -28,21 +27,18 @@
 #include <hblistwidget.h>
 #include <hblistwidgetitem.h>
 #include <hblabel.h>
+#include <hbparameterlengthlimiter.h>
 #include <cpitemdatahelper.h>
-#include "cpdivertselectionitem.h"
 #include "cpdivertplugingroup.h"
 #include "cpplugincommon.h"
 #include "cpphonenotes.h"
 #include "cppluginlogging.h"
 #include "cpdivertitemdata.h"
-#include "cpdivertselectioncustomitem.h"
 
 Q_DECLARE_METATYPE(PsCallDivertingCondition)
 Q_DECLARE_METATYPE(PsServiceGroup)
 
 // CONSTANTS 
-const QString KVoiceMail("voiceMail");
-const QString KVideoMail("voiceMail");
 const QString KOtherNumber("otherNumber");
 
 /*!
@@ -63,9 +59,9 @@
        m_DataItemVideoIfNotAvailable(NULL),
        m_activeNoteId(0),
        m_activeProgressNoteId(0),
-       m_divertToVoiceMailBox(false),
        m_helper(helper),
-       m_divertTimeout(0)
+       m_activateDivertPhase(NonePhase),
+       m_dialog(NULL)
 {
     DPRINT << ": IN";
     
@@ -105,9 +101,6 @@
         SIGNAL(requestDone()),
         this,
         SLOT(divertRequestProcessed()));
-
-    // Create custom item prototype
-    m_helper.addItemPrototype(new CpDivertSelectionItem());
     
     // Listen form item visibility change
     m_helper.connectToForm(
@@ -116,9 +109,7 @@
     // Create grouped setting items
     createVoiceCallItems(this);
     createVideoCallItems(this);
-    
-    m_eventLoop = new QEventLoop(this); 
-    
+        
     DPRINT << ": OUT";
 }
 
@@ -144,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(
@@ -152,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,
@@ -159,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,
@@ -166,22 +160,23 @@
             hbTrId("txt_phone_setlabel_if_not_answered"),
             hbTrId("txt_phone_setlabel_if_not_answered"), true,
             page);
-    m_DataItemVoiceIfNotAnswered->setContentWidgetData(
-            "timeoutText", hbTrId("txt_phone_setlabel_delay"));
-
+    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";
 }
@@ -192,9 +187,11 @@
 void CpDivertPluginGroup::createVideoCallItems(CpSettingFormItemData *parent)
 {
     DPRINT << ": IN";
+    
     CpSettingFormItemData *page = new CpSettingFormItemData(
             HbDataFormModelItem::GroupPageItem,
             hbTrId("txt_phone_setlabel_service_val_video_divert"));
+    page->setObjectName("videoCallSettingsGroupItem"); 
     
     parent->appendChild(page);
     
@@ -204,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,
@@ -211,29 +209,31 @@
             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->setContentWidgetData(
-            "timeoutText", hbTrId("txt_phone_setlabel_delay"));
-
+    m_DataItemVideoIfNotAnswered->setObjectName("videoIfNotAnsweredDataItem");
+    
     m_DataItemVideoIfOutOfReach = createDivertItem(
             DivertConditionNotReachable,
             ServiceGroupData,
             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";
 }
@@ -250,13 +250,13 @@
         CpSettingFormItemData *parent)
 {
     DPRINT << ": IN";
-
+    
     CpDivertItemData *item = new CpDivertItemData(
-        static_cast<HbDataFormModelItem::DataItemType>
-            (CpDivertSelectionItem::CpDivertSelectionItemId), 
+        HbDataFormModelItem::CheckBoxItem,
             label,
             m_helper,
             parent);
+    
     QVariant conditionVar;
     conditionVar.setValue(condition);
     item->setProperty("condition", conditionVar);
@@ -265,6 +265,7 @@
     item->setProperty("serviceGroup", serviceGroupVar);
     item->setProperty("queryLabel", queryLabel);
     item->setProperty("needTimeoutInfo", needTimeoutInfo);
+    item->setProperty("divertItem", true);
     item->setEnabled(false);
     
     // Connect signals
@@ -273,6 +274,7 @@
         this, SLOT(changeDivertingStateRequested(CpDivertItemData&)));
     
     parent->appendChild(item);
+    
     DPRINT << ": OUT";
     return item;
 }
@@ -286,18 +288,21 @@
     DPRINT << "item:" << item;
     
     HbDataFormModelItem* modelItem = 
-            qobject_cast<const HbDataFormModel*>(item.model())->itemFromIndex(item);
+        qobject_cast<const HbDataFormModel*>(item.model())->itemFromIndex(item);
+    if (!isDivertSettingsItem(modelItem)) {
+        return;
+    }
     
-    if (!modelItem->contentWidgetData("number").isValid() &&
-        (static_cast<HbDataFormModelItem::DataItemType>
-            (CpDivertSelectionItem::CpDivertSelectionItemId == modelItem->type()))){
+    bool isInitialStatusQueryDoneForItem = 
+        modelItem->contentWidgetData("text").isValid();
+    if (!isInitialStatusQueryDoneForItem) {
         CpDivertItemData *item = static_cast<CpDivertItemData*>(modelItem); 
-        if(qvariant_cast<PsCallDivertingCondition>(item->property("condition")) !=
+        if (qvariant_cast<PsCallDivertingCondition>(item->property("condition")) !=
                 DivertConditionAllConditionalCases) {
             addToDivertingRequestQueue(CheckDivertStatus, *item);
         }
     }
-
+    
     DPRINT << ": OUT";
 }
 
@@ -308,21 +313,17 @@
         DivertRequest request, CpDivertItemData &item)
 {
     DPRINT << ": IN";
+    
     CpDivertRequestQueueItem i;
     i.request = request;
     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";
 }
 
@@ -332,6 +333,7 @@
 void CpDivertPluginGroup::divertRequestProcessed()
 {
     DPRINT << ": IN";
+    
     // Remove previous request and process next one
     if (!m_divertRequestQueue.isEmpty()) {
         m_divertRequestQueue.dequeue();
@@ -353,19 +355,28 @@
         PsServiceGroup serviceGroup,
         PsCallDivertingCondition condition,
         PsCallDivertingStatus status,
-        const QString& number, int timeout)
+        const QString& aNumber, int aTimeout)
 {
     DPRINT << ": IN";
     
-    CpDivertSelectionCustomitem::State itemState = 
-        CpDivertSelectionCustomitem::Disabled;
+    Qt::CheckState itemState = Qt::Unchecked;
     if (status == DivertingStatusActive) {
-        itemState = CpDivertSelectionCustomitem::Enabled;
+        itemState = Qt::Checked;
     } else if (status == DivertingStatusInactive) {
-        itemState = CpDivertSelectionCustomitem::Deactivated;
+        itemState = Qt::PartiallyChecked;
     } else {
-        itemState = CpDivertSelectionCustomitem::Disabled;
+        itemState = Qt::Unchecked;
     }
+
+    QString number = aNumber;
+    int timeout = aTimeout;
+    if (Qt::PartiallyChecked == itemState) {
+        number = QString("");
+        timeout = 0;
+    }
+    
+    QVariant numberValue;
+    numberValue.setValue(number);
     
     switch (condition) {
     case DivertConditionAllConditionalCases:
@@ -381,24 +392,43 @@
     case DivertConditionNoReply:
     case DivertConditionNotReachable:
         if (serviceGroup & ServiceGroupVoice) {
-            item(ServiceGroupVoice, condition)->setContentWidgetData("number", number);
-            item(ServiceGroupVoice, condition)->setContentWidgetData("timeout", timeout);
-            item(ServiceGroupVoice, condition)->setContentWidgetData("state", itemState);
-            item(ServiceGroupVoice, condition)->setEnabled(true);
+            CpSettingFormItemData* itemData = item(ServiceGroupVoice, condition); 
+            itemData->setContentWidgetData("text", numberValue);
+            if (DivertConditionNoReply == condition) {
+                if (timeout > 0) {
+                    itemData->setDescription(
+                            hbTrId("txt_phone_setlabel_divert_delay_ln_seconds", timeout));
+                } else {
+                    itemData->setDescription("");
+                }
+            }
+            itemData->setContentWidgetData("checkState", itemState);
+            itemData->setEnabled(true);
         }
         
         if (serviceGroup & ServiceGroupData) {
-            item(ServiceGroupData, condition)->setContentWidgetData("number", number);
-            item(ServiceGroupData, condition)->setContentWidgetData("timeout", timeout);
-            item(ServiceGroupData, condition)->setContentWidgetData("state", itemState);
-            item(ServiceGroupData, condition)->setEnabled(true);
+            CpSettingFormItemData* itemData = item(ServiceGroupData, condition);
+            itemData->setContentWidgetData("text", numberValue);
+            if (DivertConditionNoReply == condition) {
+                if (timeout > 0) {
+                    itemData->setDescription(
+                            hbTrId("txt_phone_setlabel_divert_delay_ln_seconds", timeout));
+                } else {
+                    itemData->setDescription("");
+                }
+            }
+            itemData->setContentWidgetData("checkState", itemState);
+            itemData->setEnabled(true);
         }
+        
         break;
     case DivertConditionAllCalls:
     case DivertConditionUnknown:
     default:
         break;
     }
+    
+    DPRINT << ": OUT";
 }
 
 /*!
@@ -408,16 +438,23 @@
         PsServiceGroup serviceGroup, PsCallDivertingCondition condition)
 {
     DPRINT << ": IN";
+    
     if (serviceGroup & ServiceGroupVoice) {
-        item(ServiceGroupVoice, condition)->setContentWidgetData("state",
-            item(ServiceGroupVoice, condition)->contentWidgetData("state"));
+        CpSettingFormItemData* itemData = item(ServiceGroupVoice, condition);
+        int checkState = itemData->contentWidgetData("checkState").toInt();
+        int revertedCheckState = 
+            Qt::Checked == checkState ? Qt::Unchecked : Qt::Checked;
+        itemData->setContentWidgetData("checkState", revertedCheckState);
     }
     
     if (serviceGroup & ServiceGroupData) {
-        item(ServiceGroupData, condition)->setContentWidgetData("state",
-            item(ServiceGroupData, condition)->contentWidgetData("state"));
+        CpSettingFormItemData* itemData = item(ServiceGroupData, condition);
+        int checkState = itemData->contentWidgetData("checkState").toInt();
+        int revertedCheckState = 
+            Qt::Checked == checkState ? Qt::Unchecked : Qt::Checked;
+        itemData->setContentWidgetData("checkState", revertedCheckState);
     }
-
+    
     DPRINT << ": OUT";
 }
 
@@ -427,6 +464,8 @@
 CpSettingFormItemData* CpDivertPluginGroup::item(
         PsService service, PsCallDivertingCondition condition)
 {
+    DPRINT << ": IN";
+    
     CpSettingFormItemData *ret = 0;
     switch (condition) {
         case DivertConditionUnconditional:
@@ -470,6 +509,8 @@
             break;
     }
     Q_CHECK_PTR(ret);
+    
+    DPRINT << ": OUT";
     return ret;
 }
 
@@ -485,61 +526,41 @@
     }
     CpDivertRequestQueueItem request = m_divertRequestQueue.head();
     // Command param
-    PSCallDivertingCommand divertCommand;
-    divertCommand.iServiceGroup = qvariant_cast<PsServiceGroup>(
+    m_divertCommand.iServiceGroup = qvariant_cast<PsServiceGroup>(
             request.item->property("serviceGroup"));
-    divertCommand.iCondition = qvariant_cast<PsCallDivertingCondition>(
+    m_divertCommand.iCondition = qvariant_cast<PsCallDivertingCondition>(
             request.item->property("condition"));
-    divertCommand.iStatus = DivertingStatusUnknown;
-    divertCommand.iNumber = "";
-    divertCommand.iNoReplyTimer = 0;
+    m_divertCommand.iStatus = DivertingStatusUnknown;
+    m_divertCommand.iNumber = "";
+    m_divertCommand.iNoReplyTimer = 0;
 
     switch (request.request) {
         case ActivateDivert: {
             DPRINT << "activate";
-            divertCommand.iSetting = RegisterDiverting;
-            if (popUpVoiceNumberListQuery(
-                    request.item->property("queryLabel").toString(),
-                    divertCommand.iNumber,
-                    divertCommand.iServiceGroup)) {
-                if (request.item->property("needTimeoutInfo").toBool()) {
-                    if (popUpTimerQuery(divertCommand.iNoReplyTimer)) {
-                        setCallDiverting(divertCommand);
-                    } else {
-                        // Query was cancelled
-                        revertItemData(
-                                divertCommand.iServiceGroup, 
-                                divertCommand.iCondition);
-                        m_divertRequestQueue.clear();
-                    }
-                } else {
-                    setCallDiverting(divertCommand);
-                }
-            } else {
-                // Query was cancelled
-                revertItemData(
-                        divertCommand.iServiceGroup, 
-                        divertCommand.iCondition);
-                m_divertRequestQueue.clear();
-            }
+            m_divertCommand.iSetting = RegisterDiverting;
+            m_activateDivertPhase = PopUpVoiceNumberListQueryPhase;
+            popUpVoiceNumberListQuery(
+                request.item->property("queryLabel").toString(),
+                        m_divertCommand.iServiceGroup);
         }
             break;
         case DeactivateDivert: {
             DPRINT << "deactivate";
-            divertCommand.iSetting = EraseDiverting;
-            setCallDiverting(divertCommand);
+            m_divertCommand.iSetting = EraseDiverting;
+            setCallDiverting(m_divertCommand);
         }
             break;
         case CheckDivertStatus: {
             DPRINT << "check status";
             m_callDivertingWrapper->getCallDivertingStatus(
-                divertCommand.iServiceGroup,
-                divertCommand.iCondition,
-                bscParam(divertCommand.iServiceGroup) );
+                m_divertCommand.iServiceGroup,
+                m_divertCommand.iCondition,
+                bscParam(m_divertCommand.iServiceGroup) );
             
             if (!CpPhoneNotes::instance()->noteShowing()) {
                 CpPhoneNotes::instance()->showGlobalProgressNote(
-                        m_activeProgressNoteId, hbTrId("txt_phone_info_requesting"));
+                        m_activeProgressNoteId, 
+                        hbTrId("txt_common_info_requesting"));
             }
         }
             break;
@@ -559,12 +580,11 @@
 {
     DPRINT << ": IN";
     
-    DivertRequest event=ActivateDivert;
-    if (CpDivertSelectionCustomitem::Enabled == 
-            item.contentWidgetData("state").toInt()) {
+    DivertRequest event = ActivateDivert;
+    if (Qt::Checked == item.contentWidgetData("checkState").toInt()) {
+        event = ActivateDivert;
+    } else {
         event = DeactivateDivert;
-    } else {
-        event = ActivateDivert;
     }
     
     addToDivertingRequestQueue(event, item);
@@ -598,47 +618,41 @@
             (DivertConditionUnconditional == aSetting.iCondition) &&
             (DivertingStatusActive != aSetting.iStatus) );
     
-    switch(aSetting.iStatus) {
-        case DivertingStatusActive:
+    switch (aSetting.iStatus) {
+        case DivertingStatusActive: {
             if (aPlural) {
-                CpPhoneNotes::instance()->showGlobalNote(m_activeNoteId,
-                    hbTrId("txt_phone_info_diverts_activated"), 
-                    HbMessageBox::MessageTypeInformation);
+                CpPhoneNotes::instance()->showNotificationDialog(
+                    hbTrId("txt_phone_info_diverts_activated"));
             } else {
-                CpPhoneNotes::instance()->showGlobalNote(m_activeNoteId,
-                    hbTrId("txt_phone_info_divert_activated"), 
-                    HbMessageBox::MessageTypeInformation);
+                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);
             }
-            // Diverting calls does not affect Internet calls
-            if (Tools::voipSupported() &&
-                    (aSetting.iServiceGroup & ServiceGroupVoice)) {
-                CpPhoneNotes::instance()->showGlobalNote(m_activeNoteId,
-                    hbTrId("Diverting calls does not affect Internet calls"), 
-                    HbMessageBox::MessageTypeInformation);
-            }
+        }
             break;
         case DivertingStatusNotRegistered:  
         case DivertingStatusInactive:
             if (aPlural) {
-                CpPhoneNotes::instance()->showGlobalNote(m_activeNoteId,
-                    hbTrId("txt_phone_info_diverts_deactivated"), 
-                    HbMessageBox::MessageTypeInformation);
+                CpPhoneNotes::instance()->showNotificationDialog(
+                    hbTrId("txt_phone_info_diverts_deactivated"));
             } else {
-                CpPhoneNotes::instance()->showGlobalNote(m_activeNoteId,
-                    hbTrId("txt_phone_info_divert_deactivated"), 
-                    HbMessageBox::MessageTypeInformation);
+                CpPhoneNotes::instance()->showNotificationDialog(
+                    hbTrId("txt_phone_info_divert_deactivated"));
             }
             break;
         case DivertingStatusNotProvisioned:
         case DivertingStatusUnknown:
         default:
-            CpPhoneNotes::instance()->showGlobalNote(m_activeNoteId,
-                hbTrId("txt_phone_info_request_not_completed"), 
-                HbMessageBox::MessageTypeInformation);
+            CpPhoneNotes::instance()->showNotificationDialog(
+                hbTrId("txt_phone_info_request_not_completed"));
+            break; 
     }
     
     DPRINT << ": OUT";
@@ -655,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;
@@ -688,13 +702,13 @@
             qvariant_cast<PsCallDivertingCondition>(
                     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);
     
@@ -704,65 +718,82 @@
 /*!
   CpDivertPluginGroup::popUpVoiceNumberListQuery.
  */
-bool CpDivertPluginGroup::popUpVoiceNumberListQuery(
-        const QString& heading, QString& result, PsServiceGroup serviceGroup)
+void CpDivertPluginGroup::popUpVoiceNumberListQuery(
+        const QString& heading, PsServiceGroup serviceGroup)
 {
     DPRINT << ": IN";
-    
-    bool requestOK(false);
+    if (m_dialog) {
+        m_dialog->deleteLater();
+        m_dialog = NULL;
+    }
 
-    if (!m_eventLoop->isRunning()){
-        m_divertNumber = ""; 
-        m_divertToVoiceMailBox = false;
-        QStringList defNumbers;
-        HbDialog *dialog = createDialog(heading);
-        m_voiceNumberList = new HbListWidget(dialog);
+    m_divertCommand.iNumber.clear();
+    QStringList defNumbers;
+    QScopedPointer<HbDialog> dialog(createDialog(heading));
+    HbListWidget *list = new HbListWidget(dialog.data());
+    
+    QString vmbxNumber;
+    int vmbxErr = 0;
+    if (serviceGroup == ServiceGroupVoice) {
+        vmbxErr = m_callDivertingWrapper->getVoiceMailBoxNumber(
+                vmbxNumber, ServiceGroupVoice);
+        
+    } else if(serviceGroup == ServiceGroupData) {
+        vmbxErr = m_callDivertingWrapper->getVoiceMailBoxNumber(
+                vmbxNumber, ServiceGroupData);
+        
+    } else {
+        vmbxErr = -1;
+        // Skip
+    }
+    
+    if (!vmbxErr) {
         if (serviceGroup == ServiceGroupVoice) {
             addItemToListWidget(
-                    m_voiceNumberList, hbTrId("txt_phone_setlabel_voice_mbx"), KVoiceMail );
-        } else if(serviceGroup == ServiceGroupData) {
-            // TODO: Implement video voicemail
-        }
-    
-        // Add "old" divert number to list
-        m_callDivertingWrapper->getDefaultNumbers(defNumbers);
-        int count(defNumbers.count());
-        for (int i = 0; i < count; i++) {
-            addItemToListWidget(m_voiceNumberList, defNumbers[i], defNumbers[i]);
+                list, 
+                hbTrId("txt_phone_setlabel_voice_mbx"), 
+                vmbxNumber );
+                
+        } else {
+            addItemToListWidget(
+                list, 
+                hbTrId("txt_phone_setlabel_video_mbx"), 
+                vmbxNumber );
         }
-        addItemToListWidget(m_voiceNumberList, hbTrId("txt_phone_list_enter_number_manually"), KOtherNumber );
-        dialog->setContentWidget(m_voiceNumberList);
-        
-        // Connect list item activation signal to close the popup
-        QObject::connect(m_voiceNumberList, 
-                SIGNAL(activated(HbListWidgetItem*)), 
-                dialog, 
-                SLOT(close()), 
-                Qt::UniqueConnection);
-        
-        // Sets the "Cancel"-action/button
-        HbAction *cancelAction = new HbAction(hbTrId("txt_common_button_cancel"));
-        dialog->addAction(cancelAction);
-        QObject::connect(cancelAction, 
-                SIGNAL(triggered(bool)), 
-                dialog, 
-                SLOT(close()));
-        
-        dialog->open(this, SLOT(voiceNumberListQueryClosed(HbAction *))); 
-        
-        QPointer<QObject> guard = this;
-        m_eventLoop->exec(); 
-        if (guard.isNull()) {
-            requestOK = false;
-        } else if (!m_divertNumber.isEmpty()) {
-            result = m_divertNumber;
-            requestOK = true;
-        }    
+    }
+
+    // Add "old" divert number to list
+    m_callDivertingWrapper->getDefaultNumbers(defNumbers);
+    int count(defNumbers.count());
+    for (int i = 0; i < count; i++) {
+        addItemToListWidget(list, defNumbers[i], defNumbers[i]);
     }
+    addItemToListWidget(
+            list, 
+            hbTrId("txt_phone_list_enter_number_manually"), 
+            KOtherNumber );
+    dialog->setContentWidget(list);
     
-    DPRINT << ": OUT : result:" << result;
-    DPRINT << ": OUT : requestOK :" << requestOK;
-    return requestOK;
+    // Connect list item activation signal to close the popup
+    QObject::connect(list, 
+            SIGNAL(activated(HbListWidgetItem*)), 
+            dialog.data(), 
+            SLOT(close()), 
+            Qt::UniqueConnection);
+    
+    // Sets the "Cancel"-action/button
+    HbAction *cancelAction = new HbAction(hbTrId(
+            "txt_common_button_cancel"), 
+            dialog.data());
+    dialog->addAction(cancelAction);
+    QObject::connect(cancelAction, 
+            SIGNAL(triggered(bool)), 
+            dialog.data(), 
+            SLOT(close()));
+    
+    dialog->open(this, SLOT(voiceNumberListQueryClosed(HbAction *)));
+    m_dialog = dialog.take();
+    DPRINT << ": OUT";
 }
 
 /*!
@@ -771,40 +802,65 @@
 void CpDivertPluginGroup::voiceNumberListQueryClosed(HbAction* action)
 {
     DPRINT << ": IN";
+    HbListWidget *list(NULL);
+    m_divertCommand.iNumber.clear();
+    bool processNextPhase(true);
     
-    bool exitLoop(true); 
+    if (m_dialog) {
+        bool err = QObject::disconnect(m_dialog->contentWidget(), 
+            SIGNAL(activated(HbListWidgetItem*)), 
+            m_dialog, 
+            SLOT(close()));
+        list = qobject_cast<HbListWidget*>(m_dialog->contentWidget());
+        m_dialog->deleteLater();
+        m_dialog = NULL;
+    }
     
     // Enter if cancel wasn't selected 
-    if (!action) {  
+    if (!action && list) {
         // Update the view with selected text
-        QString data = m_voiceNumberList->currentItem()->data().toString();
+        QString data = list->currentItem()->data().toString();
+        QString text = list->currentItem()->text();
+
         DPRINT << ": data: " << data; 
-        
-        if (data == KVoiceMail) {
-            m_callDivertingWrapper->getVoiceMailBoxNumber(m_divertNumber);
-            if (!m_divertNumber.isEmpty()) {
-                DPRINT << ": voicemailboxnumber found";
+        DPRINT << ": text: " << text; 
+
+        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";
+                m_callDivertingWrapper->queryVoiceMailBoxNumber(
+                    m_divertCommand.iNumber, ServiceGroupVoice);
             }
-            
-            m_eventLoop->quit();
-            
-        } else if (data == KOtherNumber) {
-                // Event loop is terminated by popUpNumberEditorClosed
-                exitLoop = false;
-                
-                DPRINT << ": open popUpNumberEditor";                
-                popUpNumberEditor(hbTrId("txt_phone_info_number"), m_divertNumber);
-        } else {
+        } else if (text == hbTrId("txt_phone_setlabel_video_mbx")) {
+            DPRINT << ": get videomailboxnumber";
+            m_callDivertingWrapper->getVoiceMailBoxNumber(
+                m_divertCommand.iNumber, ServiceGroupData);
+            if (m_divertCommand.iNumber.isEmpty()) {
+                DPRINT << ": videomailboxnumber query";
+                m_callDivertingWrapper->queryVoiceMailBoxNumber(
+                    m_divertCommand.iNumber, ServiceGroupData);
+            }
+        }  else {
             //TODO if matched contact name not work
             DPRINT << ": else";
-            m_divertNumber = data;
+            m_divertCommand.iNumber = data;
         }        
-        
     }
-    
-    if (exitLoop) {
-        DPRINT << ": quit eventloop";
-        m_eventLoop->quit();
+    DPRINT << ": processNextPhase: " << processNextPhase; 
+    DPRINT << ": m_divertCommand.iNumber: " << m_divertCommand.iNumber; 
+    if (processNextPhase) {
+        if (m_divertCommand.iNumber.isEmpty()) {
+            nextPhaseForActivateDivert(false);
+        } else {
+            nextPhaseForActivateDivert(true);
+        }
     }
     
     DPRINT << ": OUT";
@@ -814,26 +870,32 @@
   CpDivertPluginGroup::popUpNumberEditor.
  */
 void CpDivertPluginGroup::popUpNumberEditor(
-        const QString& heading, QString& result)
+        const QString& heading)
 {
     DPRINT << ": IN";
 
-    Q_UNUSED(result); 
-    
-    HbDialog *dialog = createDialog(heading);
+    if (m_dialog) {
+        m_dialog->deleteLater();
+        m_dialog = NULL;
+    }
+    QScopedPointer<HbDialog> dialog(createDialog(heading));
 
-    m_voiceNumberEditor = new HbLineEdit(dialog);
-    m_voiceNumberEditor->setInputMethodHints(Qt::ImhDialableCharactersOnly);    
-    dialog->setContentWidget(m_voiceNumberEditor);
+    HbLineEdit *editor = new HbLineEdit(dialog.data());
+    editor->setInputMethodHints(Qt::ImhDialableCharactersOnly);    
+    //Ownership is transferred
+    dialog->setContentWidget(editor);
     
-    HbAction *okAction = new HbAction(hbTrId("txt_common_button_ok"));
+    HbAction *okAction = new HbAction(
+            hbTrId("txt_common_button_ok"), 
+            dialog.data());
     dialog->addAction(okAction);
     
-    HbAction *cancelAction = new HbAction(hbTrId("txt_common_button_cancel"));
+    HbAction *cancelAction = new HbAction(
+            hbTrId("txt_common_button_cancel"), 
+            dialog.data());
     dialog->addAction(cancelAction);
-    
     dialog->open(this, SLOT(popUpNumberEditorClosed(HbAction*)));
-    
+    m_dialog = dialog.take();
     DPRINT << ": OUT";
 }
 
@@ -843,32 +905,33 @@
 void CpDivertPluginGroup::popUpNumberEditorClosed(HbAction* action)
 {
     DPRINT << ": IN";
-    
     bool cancelled(true); 
     if (action) {
-        if (action->text() == hbTrId("txt_common_button_ok")) 
-            {
+        if (action->text() == hbTrId("txt_common_button_ok")) {
             cancelled = false;  
             DPRINT << ": ok selected";
-            }
+        }
     }
     
     if (!cancelled) {
-        m_divertNumber = m_voiceNumberEditor->text();
-            DPRINT << ": m_divertNumber "
-                << m_divertNumber;
-            if (m_divertNumber.isEmpty()) {
-                CpPhoneNotes::instance()->showGlobalNote(m_activeNoteId, 
-                    hbTrId("txt_phone_info_invalid_phone_number"), HbMessageBox::MessageTypeWarning);
-            }
+        HbLineEdit *editor = qobject_cast<HbLineEdit *>(m_dialog->contentWidget());
+        if (editor) {
+            m_divertCommand.iNumber = editor->text();
+        }
+        
+        DPRINT << ": m_divertCommand.iNumber "
+            << m_divertCommand.iNumber;
+        if (m_divertCommand.iNumber.isEmpty()) {
+            CpPhoneNotes::instance()->showNotificationDialog(hbTrId("txt_phone_info_invalid_phone_number"));
+        }
+    }
+    if (m_dialog) {
+        m_dialog->deleteLater();
+        m_dialog = NULL;
     }
     
-    if (m_voiceNumberEditor) {
-        delete m_voiceNumberEditor;
-        m_voiceNumberEditor = NULL; 
-    } 
+    nextPhaseForActivateDivert(!cancelled);
     
-    m_eventLoop->quit();
     DPRINT << ": OUT";
 }
 
@@ -890,7 +953,7 @@
     if (0 == result) {
         if (!CpPhoneNotes::instance()->noteShowing()) {
             CpPhoneNotes::instance()->showGlobalProgressNote(
-                    m_activeProgressNoteId, hbTrId("txt_phone_info_requesting"));
+                    m_activeProgressNoteId, hbTrId("txt_common_info_requesting"));
         }
     } else {
         handleDivertingError(result);
@@ -902,52 +965,48 @@
 /*!
   CpDivertPluginGroup::popUpTimerQuery.
  */
-bool CpDivertPluginGroup::popUpTimerQuery(int &timeout) 
+void CpDivertPluginGroup::popUpTimerQuery() 
 {
     DPRINT << ": IN";
-    Q_UNUSED(timeout); 
+    
+    m_divertCommand.iNoReplyTimer = 0; 
+    
+    QScopedPointer<HbDialog> dialog(createDialog(hbTrId("txt_phone_title_delay")));
+    HbListWidget *list = new HbListWidget(dialog.data());
     
-    bool requestOK(false);
-    m_divertTimeout = 0; 
+    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);
     
-    if (!m_eventLoop->isRunning()) {
-        HbDialog *dialog = createDialog(hbTrId("txt_phone_title_delay"));
-        
-        if (m_popupTimerList) {
-            m_popupTimerList = new HbListWidget(dialog);
-            
-            addItemToListWidget(m_popupTimerList, hbTrId("txt_phone_list_5_seconds"), 5 );
-            addItemToListWidget(m_popupTimerList, hbTrId("txt_phone_list_10_seconds"), 10);
-            addItemToListWidget(m_popupTimerList, hbTrId("txt_phone_list_15_seconds"), 15);
-            addItemToListWidget(m_popupTimerList, hbTrId("txt_phone_list_20_seconds"), 20);
-            addItemToListWidget(m_popupTimerList, hbTrId("txt_phone_list_25_seconds"), 25);
-            addItemToListWidget(m_popupTimerList, hbTrId("txt_phone_list_30_seconds"), 30);
-            
-            // Connect list item activation signal to close the popup
-            QObject::connect(
-                    m_popupTimerList, SIGNAL(activated(HbListWidgetItem*)), 
-                    dialog, SLOT(close()), 
-                    Qt::UniqueConnection);
-        }
-        
-        // Sets the "Cancel"-action/button
-        HbAction *cancelAction = new HbAction(hbTrId("txt_common_button_cancel"));
-        dialog->addAction(cancelAction);
-        dialog->setContentWidget(m_popupTimerList);
+    // Connect list item activation signal to close the popup
+    QObject::connect(
+            list, SIGNAL(activated(HbListWidgetItem*)), 
+            dialog.data(), SLOT(close()), 
+            Qt::UniqueConnection);
     
-        dialog->open(this, SLOT(popUpTimerQueryClosed(HbAction *))); 
-        
-        QPointer<QObject> guard = this;
-        m_eventLoop->exec(); 
-        if (guard.isNull()) {
-            requestOK = false;
-        } else if (m_divertTimeout > 0) {
-            requestOK = true;
-        }
+    // Sets the "Cancel"-action/button
+    HbAction *cancelAction = new HbAction(hbTrId("txt_common_button_cancel"));
+    dialog->addAction(cancelAction);
+    dialog->setContentWidget(list);
+
+    dialog->open(this, SLOT(popUpTimerQueryClosed(HbAction *)));
+    if (m_dialog) {
+        m_dialog->deleteLater();
+        m_dialog = NULL;
     }
+    m_dialog = dialog.take();
     
-    DPRINT << ": OUT : requestOK :" << requestOK;
-    return requestOK;
+    DPRINT << ": OUT";
 }
 
 /*!
@@ -955,22 +1014,28 @@
  */
 void CpDivertPluginGroup::popUpTimerQueryClosed(HbAction* action)
 {
+    DPRINT << ": IN";
+    
     // If not cancel action selected 
+    bool cancelled(true);
     if (!action) {
+        cancelled = false;
         // Update the view with selected text
-        if (m_popupTimerList->currentItem()) {
-            m_divertTimeout = 
-                    m_popupTimerList->currentItem()->data().toInt();
+        HbListWidget *list = qobject_cast<HbListWidget*>(m_dialog->contentWidget());
+        if (list && list->currentItem()) {
+            m_divertCommand.iNoReplyTimer = 
+                    list->currentItem()->data().toInt();
         }
     }
-    else {
-        DPRINT << ": Cancel";
+    
+    if (m_dialog) {
+        m_dialog->deleteLater();
+        m_dialog = NULL;
     }
+    
+    nextPhaseForActivateDivert(!cancelled);
 
-    DPRINT << ": quit eventloop";
-    m_eventLoop->quit();
-
-    DPRINT << ": OUT: timeout: " << m_divertTimeout;
+    DPRINT << ": OUT: timeout: " << m_divertCommand.iNoReplyTimer;
 }
 
 
@@ -1004,8 +1069,6 @@
         bsc = AllBearer;
     }
 
-
-    
     DPRINT << ": OUT : bsc :" << bsc;
     return bsc;
 }
@@ -1074,12 +1137,12 @@
     DPRINT << ": IN";
     
     // all calls divert activation deactivates automatically other diverts
-    QVariant itemState = m_DataItemVoiceAllCalls->contentWidgetData("state");
+    QVariant itemState = m_DataItemVoiceAllCalls->contentWidgetData("checkState");
     if ((itemState.isValid()) && 
-        (itemState.toInt() == CpDivertSelectionCustomitem::Enabled)) {
-        deActivateDependentDivertOption(m_DataItemVoiceIfBusy);
-        deActivateDependentDivertOption(m_DataItemVoiceIfNotAnswered);
-        deActivateDependentDivertOption(m_DataItemVoiceIfOutOfReach);
+        (itemState.toInt() == Qt::Checked)) {
+        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 
@@ -1090,12 +1153,12 @@
     }
     
     // all calls divert activation deactivates automatically other diverts
-    itemState = m_DataItemVideoAllCalls->contentWidgetData("state");
+    itemState = m_DataItemVideoAllCalls->contentWidgetData("checkState");
     if ((itemState.isValid()) && 
-        (itemState.toInt() == CpDivertSelectionCustomitem::Enabled)) {
-        deActivateDependentDivertOption(m_DataItemVideoIfBusy);
-        deActivateDependentDivertOption(m_DataItemVideoIfNotAnswered);
-        deActivateDependentDivertOption(m_DataItemVideoIfOutOfReach);
+        (itemState.toInt() == Qt::Checked)) {
+        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 
@@ -1112,18 +1175,25 @@
 }
 
 /*!
-  CpDivertPluginGroup::deActivateDependentDivertOption.
+  CpDivertPluginGroup::deactivateDependentDivertOption.
 */
-void CpDivertPluginGroup::deActivateDependentDivertOption(
+void CpDivertPluginGroup::deactivateDependentDivertOption(
         CpDivertItemData* item) const
 {
-    QVariant itemState = item->contentWidgetData("state");
-    if ((itemState.isValid()) && 
-        (itemState == CpDivertSelectionCustomitem::Enabled)) {
-        item->setContentWidgetData(
-            "state", CpDivertSelectionCustomitem::Deactivated);
+    DPRINT << ": IN";
+    
+    QVariant itemState = item->contentWidgetData("checkState");
+    if ((itemState.isValid()) && (itemState == Qt::Checked)) {
+        item->setContentWidgetData("checkState", Qt::Unchecked);
+        item->setContentWidgetData("text", QString(""));
+        
+        if (!item->description().isEmpty()) {
+            item->setDescription("");
+        }
     }
     item->setEnabled(false);
+    
+    DPRINT << ": OUT";
 }
 
 /*!
@@ -1132,13 +1202,15 @@
 void CpDivertPluginGroup::activateDependentDivertOption(
         CpDivertItemData* item, bool fetchFromNetwork)
 {
-    if ((CpDivertSelectionCustomitem::Deactivated == 
-            item->contentWidgetData("state").toInt()) &&
+    DPRINT << ": IN";
+    
+    if ((Qt::Unchecked == item->contentWidgetData("checkState").toInt()) &&
             fetchFromNetwork) {
-        addToDivertingRequestQueue(
-            CheckDivertStatus, *item);
+        addToDivertingRequestQueue(CheckDivertStatus, *item);
     }
     item->setEnabled(true);
+    
+    DPRINT << ": OUT";
 }
 
 /*!
@@ -1152,31 +1224,28 @@
     // CFNrc before concluding that not available divert is enabled, because
     // some networks may not return divert number for inactive diverts.
     int cfbState = 
-        m_DataItemVoiceIfBusy->contentWidgetData("state").toInt();
+        m_DataItemVoiceIfBusy->contentWidgetData("checkState").toInt();
     int cfnryState = 
-        m_DataItemVoiceIfNotAnswered->contentWidgetData("state").toInt();
+        m_DataItemVoiceIfNotAnswered->contentWidgetData("checkState").toInt();
     int cfnrcState = 
-        m_DataItemVoiceIfOutOfReach->contentWidgetData("state").toInt();
+        m_DataItemVoiceIfOutOfReach->contentWidgetData("checkState").toInt();
     QVariant cfbNumber = 
-        m_DataItemVoiceIfBusy->contentWidgetData("number");
+        m_DataItemVoiceIfBusy->contentWidgetData("text");
     QVariant cfnryNumber = 
-        m_DataItemVoiceIfNotAnswered->contentWidgetData("number");
+        m_DataItemVoiceIfNotAnswered->contentWidgetData("text");
     QVariant cfnrcNumber = 
-        m_DataItemVoiceIfOutOfReach->contentWidgetData("number");
+        m_DataItemVoiceIfOutOfReach->contentWidgetData("text");
     
     if ((cfbNumber == cfnryNumber) && (cfbNumber == cfnrcNumber) &&
         (cfbState == cfnryState) && (cfbState == cfnrcState)) {
         m_DataItemVoiceIfNotAvailable->setContentWidgetData(
-            "number", m_DataItemVoiceIfBusy->contentWidgetData("number"));
-        m_DataItemVoiceIfNotAvailable->setContentWidgetData(
-            "timeout", m_DataItemVoiceIfNotAnswered->contentWidgetData("timeout"));
+            "text", m_DataItemVoiceIfBusy->contentWidgetData("text"));
         m_DataItemVoiceIfNotAvailable->setContentWidgetData(
-            "state", m_DataItemVoiceIfBusy->contentWidgetData("state"));
+            "checkState", m_DataItemVoiceIfBusy->contentWidgetData("checkState"));
     } else {
-        m_DataItemVoiceIfNotAvailable->setContentWidgetData("number", "");
-        m_DataItemVoiceIfNotAvailable->setContentWidgetData("timeout", 0);
+        m_DataItemVoiceIfNotAvailable->setContentWidgetData("text", "");
         m_DataItemVoiceIfNotAvailable->setContentWidgetData(
-            "state", CpDivertSelectionCustomitem::Disabled);
+            "checkState", Qt::Unchecked);
 
     }
     // Item dimming
@@ -1190,32 +1259,28 @@
     // CFNrc before concluding that not available divert is enabled, because
     // some networks may not return divert number for inactive diverts.
     cfbState = 
-        m_DataItemVideoIfBusy->contentWidgetData("state").toInt();
+        m_DataItemVideoIfBusy->contentWidgetData("checkState").toInt();
     cfnryState = 
-        m_DataItemVideoIfNotAnswered->contentWidgetData("state").toInt();
+        m_DataItemVideoIfNotAnswered->contentWidgetData("checkState").toInt();
     cfnrcState = 
-        m_DataItemVideoIfOutOfReach->contentWidgetData("state").toInt();
+        m_DataItemVideoIfOutOfReach->contentWidgetData("checkState").toInt();
     cfbNumber = 
-        m_DataItemVideoIfBusy->contentWidgetData("number");
+        m_DataItemVideoIfBusy->contentWidgetData("text");
     cfnryNumber = 
-        m_DataItemVideoIfNotAnswered->contentWidgetData("number");
+        m_DataItemVideoIfNotAnswered->contentWidgetData("text");
     cfnrcNumber = 
-        m_DataItemVideoIfOutOfReach->contentWidgetData("number");
+        m_DataItemVideoIfOutOfReach->contentWidgetData("text");
     
     if ((cfbNumber == cfnryNumber) && (cfbNumber == cfnrcNumber) &&
         (cfbState == cfnryState) && (cfbState == cfnrcState)) {
         m_DataItemVideoIfNotAvailable->setContentWidgetData(
-            "number", m_DataItemVideoIfBusy->contentWidgetData("number"));
+            "text", m_DataItemVideoIfBusy->contentWidgetData("text"));
         m_DataItemVideoIfNotAvailable->setContentWidgetData(
-            "timeout", m_DataItemVideoIfNotAnswered->contentWidgetData("timeout"));
-        m_DataItemVideoIfNotAvailable->setContentWidgetData(
-            "state", m_DataItemVideoIfBusy->contentWidgetData("state"));
+            "checkState", m_DataItemVideoIfBusy->contentWidgetData("checkState"));
     } else {
-        m_DataItemVideoIfNotAvailable->setContentWidgetData("number", "");
-        m_DataItemVideoIfNotAvailable->setContentWidgetData("timeout", 0);
+        m_DataItemVideoIfNotAvailable->setContentWidgetData("text", "");
         m_DataItemVideoIfNotAvailable->setContentWidgetData(
-            "state", CpDivertSelectionCustomitem::Disabled);
-
+            "checkState", Qt::Unchecked);
     }
     
     // Item dimming
@@ -1227,4 +1292,60 @@
     DPRINT << ": OUT";
 }
 
+void CpDivertPluginGroup::nextPhaseForActivateDivert(bool ok)
+{
+    DPRINT << ": IN";
+    
+    if (ok) {
+        switch (m_activateDivertPhase) {
+            case PopUpVoiceNumberListQueryPhase: {
+                CpDivertRequestQueueItem request = m_divertRequestQueue.head();
+                if (request.item->property("needTimeoutInfo").toBool()) {
+                    m_activateDivertPhase = PopUpTimerQueryPhase;
+                    popUpTimerQuery();
+                } else {
+                    m_activateDivertPhase = NonePhase;
+                    setCallDiverting(m_divertCommand);
+                    }
+            }
+                break;
+            case PopUpTimerQueryPhase: {
+                m_activateDivertPhase = NonePhase;
+                setCallDiverting(m_divertCommand);
+            }
+            default:
+                DPRINT << "Error: unknown enum value";
+                break;
+        }
+    } else {
+        // Query was cancelled
+        revertItemData(
+            m_divertCommand.iServiceGroup, 
+            m_divertCommand.iCondition);
+        m_divertRequestQueue.clear();
+        m_activateDivertPhase = NonePhase;
+    }
+    
+    DPRINT << ": OUT";
+}
+
+/*!
+  CpDivertPluginGroup::itemShown.
+ */
+bool CpDivertPluginGroup::isDivertSettingsItem(HbDataFormModelItem* modelItem) {
+    return (
+        modelItem == m_DataItemVoiceAllCalls ||
+        modelItem == m_DataItemVoiceIfBusy ||
+        modelItem == m_DataItemVoiceIfNotAnswered ||
+        modelItem == m_DataItemVoiceIfOutOfReach ||
+        modelItem == m_DataItemVoiceIfNotAvailable ||
+        
+        modelItem == m_DataItemVideoAllCalls ||
+        modelItem == m_DataItemVideoIfBusy ||
+        modelItem == m_DataItemVideoIfNotAnswered ||
+        modelItem == m_DataItemVideoIfOutOfReach ||
+        modelItem == m_DataItemVideoIfNotAvailable
+    );
+}
+
 // End of File. 
--- a/phonesettings/cpphonesettingsplugins/divertplugin/src/cpdivertplugingroup.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phonesettings/cpphonesettingsplugins/divertplugin/src/cpdivertplugingroup.h	Thu Jul 22 16:33:21 2010 +0100
@@ -36,6 +36,7 @@
 class CpDivertItemData;
 class QEventLoop; 
 class HbLineEdit; 
+class HbDataFormModelItem;
 
 using namespace CpTelephonyUtils;
 
@@ -60,6 +61,13 @@
         CpDivertItemData *item;
     };
     
+    // Activate divert phases
+    enum ActivateDivertPhases
+    {
+        NonePhase,
+        PopUpVoiceNumberListQueryPhase,
+        PopUpTimerQueryPhase
+    };
     
 public:
 
@@ -134,14 +142,14 @@
     /**
      Show to user divert number query list.
      */
-    bool popUpVoiceNumberListQuery(
-            const QString& heading, QString& result, PsServiceGroup serviceGroup);
+    void popUpVoiceNumberListQuery(
+            const QString& heading, PsServiceGroup serviceGroup);
     
     /**
      Show to user number query.
      */
     void popUpNumberEditor(
-            const QString& heading, QString& result);
+            const QString& heading);
     
     
     /**
@@ -152,7 +160,7 @@
     /**
      Show to user divert time out query list.
      */
-    bool popUpTimerQuery(int &timeout);
+    void popUpTimerQuery();
     
     /**
      Desides which bsc parameters to use.
@@ -223,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
@@ -231,6 +239,10 @@
      */
     void updateNotAvailableDivertOption();
     
+    void nextPhaseForActivateDivert(bool ok);
+    
+    bool isDivertSettingsItem(HbDataFormModelItem* modelItem);
+     
 private:   // data
 
     // Setting wrappers 
@@ -256,9 +268,6 @@
     int m_activeNoteId;
     int m_activeProgressNoteId;
 
-    // To prevent adding vmbx number to defaultlist
-    bool m_divertToVoiceMailBox;
-
     /**
      Divert request queue
      */
@@ -266,14 +275,11 @@
 
     CpItemDataHelper &m_helper;
     
-    int m_divertTimeout;
-    
-    HbListWidget *m_voiceNumberList;
-    HbListWidget *m_popupTimerList; 
-    QString m_divertNumber; 
-    HbLineEdit *m_voiceNumberEditor; 
-    QEventLoop *m_eventLoop; 
-    
+    ActivateDivertPhases m_activateDivertPhase;
+    PSCallDivertingCommand m_divertCommand;
+    int m_timerId;
+    HbDialog *m_dialog;
+
 };
 
 #endif // CPDIVERTPLUGINGROUP_H
--- a/phonesettings/cpphonesettingsplugins/divertplugin/src/cpdivertselectioncustomitem.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,189 +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 "cpdivertselectioncustomitem.h"
-#include <hblabel.h>
-#include <hbcheckbox.h>
-#include <qgraphicsgridlayout.h>
-#include <cppluginlogging.h>
-
-
-/*!
-  CpDivertSelectionCustomitem::CpDivertSelectionCustomitem.
- */
-CpDivertSelectionCustomitem::CpDivertSelectionCustomitem(
-        QGraphicsItem *parent /**=0*/,
-        Qt::WindowFlags wFlags /**=0*/):
-        HbWidget(parent, wFlags),
-        layout(NULL),
-        checkbox(NULL),
-        timeoutLabel(NULL),
-        timeoutValueLabel(NULL),
-        m_state(Disabled)
-{
-    DPRINT;
-
-    layout = new QGraphicsGridLayout(this);
-    layout->setSpacing(0);
-    layout->setContentsMargins(0,0,0,0);
-    layout->setRowMaximumHeight(0,0);
-    layout->setRowMaximumHeight(1,0);
-
-    checkbox = new HbCheckBox(this);
-    HbStyle::setItemName(checkbox, "dataItem_ContentWidget");
-
-    layout->addItem(checkbox, 0, 0, 1, 2);
-    connect(checkbox,SIGNAL(clicked()), this, SIGNAL(clicked()));
-
-    timeoutLabel = new HbLabel(this);
-    HbStyle::setItemName(timeoutLabel, "dataItem_ContentWidget");
-    timeoutLabel->setAlignment(Qt::AlignRight);
-    layout->addItem(timeoutLabel, 1, 0);
-
-    timeoutLabel->hide();
-    timeoutValueLabel = new HbLabel(this);
-    HbStyle::setItemName(timeoutValueLabel, "dataItem_ContentWidget");
-    timeoutValueLabel->hide();
-    layout->addItem(timeoutValueLabel, 1, 1);
-
-    setLayout(layout);
-}
-
-
-/*!
-  CpDivertSelectionCustomitem::~CpDivertSelectionCustomitem. 
- */
-CpDivertSelectionCustomitem::~CpDivertSelectionCustomitem()
-{
-    DPRINT;
-}
-
-
-/*!
-  CpDivertSelectionCustomitem::number.
- */
-const QString CpDivertSelectionCustomitem::number() const
-{
-    DPRINT;
-    return checkbox->text();
-}
-
-
-/*!
-  CpDivertSelectionCustomitem::setNumber.
- */
-void CpDivertSelectionCustomitem::setNumber(const QString& number)
-{
-    DPRINT << number;    
-    checkbox->setText(number);
-}
-
-
-/*!
-  CpDivertSelectionCustomitem::timeout.
- */
-int CpDivertSelectionCustomitem::timeout() const
-{
-    DPRINT;
-    return timeoutValueLabel->plainText().toInt();
-}
-
-
-/*!
-  CpDivertSelectionCustomitem::setTimeout.
- */
-void CpDivertSelectionCustomitem::setTimeout(int timeout)
-{
-    DPRINT << timeout;
-    timeoutValueLabel->setPlainText(QString::number(timeout));
-}
-
-
-/*!
-  CpDivertSelectionCustomitem::timeoutText.
- */
-const QString CpDivertSelectionCustomitem::timeoutText() const
-{
-    DPRINT;
-    return timeoutLabel->plainText();
-}
-
-
-/*!
-  CpDivertSelectionCustomitem::setTimeoutText.
- */
-void CpDivertSelectionCustomitem::setTimeoutText( const QString& text )
-{
-    DPRINT << text;
-    timeoutLabel->setPlainText(text);
-
-    if (text != QString("")) {
-        timeoutLabel->show();
-        timeoutValueLabel->show();
-
-    } else {
-        timeoutLabel->hide();
-        timeoutValueLabel->hide();
-    }
-}
-
-
-/*!
-  CpDivertSelectionCustomitem::state.
- */
-int CpDivertSelectionCustomitem::state() const
-{
-    DPRINT << m_state;
-    return m_state;
-}
-
-
-/*!
-  CpDivertSelectionCustomitem::setState.
- */
-void CpDivertSelectionCustomitem::setState(int state)
-{
-    DPRINT << state;
-    m_state = state;
-    updateCheckState();
-}
-
-
-/*!
-  CpDivertSelectionCustomitem::updateCheckState.
- */
-void CpDivertSelectionCustomitem::updateCheckState()
-{
-    DPRINT << m_state;
-    
-    switch (m_state) {
-        case Enabled:
-            checkbox->setCheckState(Qt::Checked);
-            break;
-        case Deactivated:
-            setNumber(QString(""));
-            setTimeout(0);
-			//intended fall-through
-        case Disabled:
-            checkbox->setCheckState(Qt::Unchecked);
-            break;
-        default:
-            break;
-    }
-}
-
-// End of File. 
--- a/phonesettings/cpphonesettingsplugins/divertplugin/src/cpdivertselectioncustomitem.h	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,83 +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 CPDIVERTSELECTIONCUSTOMITEM_H
-#define CPDIVERTSELECTIONCUSTOMITEM_H
-
-#include <hbwidget.h>
-
-class QGraphicsGridLayout;
-class HbCheckBox;
-class HbLabel;
-
-class CpDivertSelectionCustomitem : public HbWidget
-{
-    Q_OBJECT
-    Q_PROPERTY(QString number READ number WRITE setNumber)
-    Q_PROPERTY(QString timeoutText READ timeoutText WRITE setTimeoutText)
-    Q_PROPERTY(int timeout READ timeout WRITE setTimeout)
-    Q_PROPERTY(int state READ state WRITE setState)
-
-public:    
-    enum State {
-        /** Divert is registered and activated.*/
-        Enabled,
-        /** Divert is registered but inactive.*/
-        Deactivated,
-        /** Divert is not registered.*/
-        Disabled
-    };
-
-public:
-    CpDivertSelectionCustomitem(
-            QGraphicsItem *parent=0,
-            Qt::WindowFlags wFlags=0);
-
-    ~CpDivertSelectionCustomitem();
-
-    const QString number() const;
-
-    void setNumber( const QString& number );
-
-    int timeout() const;
-
-    void setTimeout( int timeout);
-
-    const QString timeoutText() const;
-
-    void setTimeoutText( const QString& text );
-    
-    int state() const;
-
-    void setState( int state);
-    
-signals:
-    void clicked();
-
-private:
-    void removeItemFromLayout( QGraphicsWidget* item );
-    void updateCheckState();
-
-private:
-    QGraphicsGridLayout *layout;
-    HbCheckBox *checkbox;
-    HbLabel *timeoutLabel;
-    HbLabel *timeoutValueLabel;
-    int m_state;
-};
-
-#endif // CPDIVERTSELECTIONCUSTOMITEM_H
--- a/phonesettings/cpphonesettingsplugins/divertplugin/src/cpdivertselectionitem.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,96 +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 "cpdivertselectionitem.h"
-#include "cpdivertselectioncustomitem.h"
-#include <HbDataFormModel>
-#include <HbAbstractItemView>
-#include <cppluginlogging.h>
-#include <qmetaobject.h>
-
-
-
-CpDivertSelectionItem::CpDivertSelectionItem(QGraphicsItem *parent )
-: HbDataFormViewItem(parent)
-{
-    DPRINT;
-}
-
-CpDivertSelectionItem::~CpDivertSelectionItem()
-{
-    DPRINT;
-}
-
-HbAbstractViewItem* CpDivertSelectionItem::createItem()
-{
-    DPRINT;
-    return new CpDivertSelectionItem(*this);
-}
-
-bool CpDivertSelectionItem::canSetModelIndex(const QModelIndex &index) const
-{
-    DPRINT << "index:" << index;
-    int type = index.data(HbDataFormModelItem::ItemTypeRole).toInt();
-    return type == CpDivertSelectionItemId;
-}
-
-HbWidget *CpDivertSelectionItem::createCustomWidget()
-{
-    DPRINT << ": IN";
-
-    int type = modelIndex().data(HbDataFormModelItem::ItemTypeRole).toInt();
-
-    if (type == CpDivertSelectionItemId) {
-            CpDivertSelectionCustomitem *retWidget =
-                    new CpDivertSelectionCustomitem(this);
-
-            DPRINT << ": OUT, retWidget";
-            return retWidget;
-    }
-    DPRINT << ": OUT, 0";
-    return 0;
-}
-
-
-void CpDivertSelectionItem::restore()
-{
-    HbDataFormViewItem::restore();
-
-    if (dataItemContentWidget()) {
-        HbDataFormModelItem::DataItemType itemType = static_cast<HbDataFormModelItem::DataItemType>(
-            modelIndex().data(HbDataFormModelItem::ItemTypeRole).toInt());
-
-        if (CpDivertSelectionItemId == itemType) {
-
-            QModelIndex itemIndex = modelIndex();
-            HbDataFormModel *model = static_cast<HbDataFormModel*>(itemView()->model());
-            HbDataFormModelItem *modelItem = static_cast<HbDataFormModelItem*>(
-                model->itemFromIndex(itemIndex));
-
-            const QMetaObject *metaObj = dataItemContentWidget()->metaObject();
-            int count = metaObj->propertyCount();
-            for (int i = 0; i < count; i++) {
-                QMetaProperty metaProperty = metaObj->property(i);
-                if (metaProperty.isValid() && metaProperty.isWritable()) {
-                    metaProperty.write(
-                            dataItemContentWidget(),
-                            modelItem->contentWidgetData(metaProperty.name()));
-                }
-            }
-        }
-    }
-
-}
--- a/phonesettings/cpphonesettingsplugins/divertplugin/src/cpdivertselectionitem.h	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,42 +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 CPDIVERTSELECTIONITEM_H
-#define CPDIVERTSELECTIONITEM_H
-
-#include <hbdataformviewitem.h>
-#include <hbdataformmodelitem.h>
-
-
-class CpDivertSelectionItem : public HbDataFormViewItem
-{
-    Q_OBJECT
-public:
-    enum { CpDivertSelectionItemId = HbDataFormModelItem::CustomItemBase + 66 };
-
-    explicit CpDivertSelectionItem(QGraphicsItem *parent = 0);
-    virtual ~CpDivertSelectionItem();
-    virtual HbAbstractViewItem* createItem();
-    virtual bool canSetModelIndex(const QModelIndex &index) const;
-    void restore();
-protected:
-    virtual HbWidget* createCustomWidget();
-};
-
-#endif //CPDIVERTSELECTIONITEM_H
-
--- a/phonesettings/cpphonesettingsplugins/divertplugin/tsrc/run_auto_tests_qt.bat	Tue Jun 15 14:14:38 2010 +0100
+++ b/phonesettings/cpphonesettingsplugins/divertplugin/tsrc/run_auto_tests_qt.bat	Thu Jul 22 16:33:21 2010 +0100
@@ -169,7 +169,7 @@
 ::::::::::::::::::::::::::::::::::::::::::::::::::::::
 :CALCULATECOVERAGE
 echo Calculating coverage
-ctcpost %PATH_TO_COVERAGE_DATA%\*.sym | ctcmerge -i - -o profile.txt
+ctcpost %PATH_TO_COVERAGE_DATA%\*.sym -p - | ctcmerge -i - -o profile.txt
 call ctc2html -t 70 -i profile.txt -o \coverage_result -nsb
 goto end
 
--- a/phonesettings/cpphonesettingsplugins/divertplugin/tsrc/ut_cpdivertplugin/qtestmains60ui.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phonesettings/cpphonesettingsplugins/divertplugin/tsrc/ut_cpdivertplugin/qtestmains60ui.h	Thu Jul 22 16:33:21 2010 +0100
@@ -41,6 +41,11 @@
 mainWindow = new HbMainWindow;\
 mainWindow->show(); \
 int ret = QTest::qExec(&tc, 3, new_argv); \
+/* Core dump if HbIconLoader instance is not destroyed before the application instance. */ \
+/* HbIconLoader uses QCoreApplication::aboutToQuit() signal to destroy itself. */ \
+/* app.exec() where the signal is normally emitted is not called here. */ \
+/* So, invoking the signal explicitly. */ \
+QMetaObject::invokeMethod(app, "aboutToQuit", Qt::DirectConnection); \
 delete mainWindow; \
 delete app; \
 return ret; \
--- a/phonesettings/cpphonesettingsplugins/divertplugin/tsrc/ut_cpdivertplugin/ut_cpdivertplugin.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phonesettings/cpphonesettingsplugins/divertplugin/tsrc/ut_cpdivertplugin/ut_cpdivertplugin.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -30,7 +30,6 @@
 #include "cpitemdatahelper.h"
 #include "cpdivertitemdata.h"
 #include "psetwrappertypes.h"
-#include "cpdivertselectioncustomitem.h"
 
 #define private public
 #include "cpdivertplugin.h"
@@ -48,7 +47,7 @@
     ~CPsetContainer(){};
 };
 
-void fillNumber(QString& number)
+void fillNumber(QString& number, PsService /*service*/)
 {
     number = "1234567";
 }
@@ -96,6 +95,9 @@
     m_divertpluginGroup = qobject_cast<CpDivertPluginGroup *>(list.takeFirst());
     QVERIFY(m_divertpluginGroup);
     
+    m_dataForm = new HbDataFormModel;
+    m_dataForm->appendDataFormItem(m_divertpluginGroup);
+    
     QVERIFY(verify());
 }
 
@@ -105,7 +107,10 @@
 void UT_CpDivertPlugin::cleanup()
 {
     reset();
-    delete m_divertpluginGroup;
+    delete m_dataForm;
+    m_dataForm = NULL;
+    
+    //delete m_divertpluginGroup; // dataForm owned
     m_divertpluginGroup = NULL;
 
     delete m_helper;
@@ -148,23 +153,28 @@
 void UT_CpDivertPlugin::t_changeDivertingStateRequested()
 {
     //except user cancels
-    appendAction("All voice calls:", selectAction, "Cancel");
+    /*
+    appendAction("txt_phone_setlabel_all_calls", selectAction, "Cancel");
     expect("PSetCallDivertingWrapper::getDefaultNumbers");
-    m_divertpluginGroup->m_DataItemVoiceAllCalls->setContentWidgetData("number", "");
+    m_divertpluginGroup->m_DataItemVoiceAllCalls->setContentWidgetData("text", "");
     m_divertpluginGroup->m_DataItemVoiceAllCalls->setContentWidgetData(
-            "state", CpDivertSelectionCustomitem::Disabled);
+        "checkState", Qt::Checked);
     m_divertpluginGroup->m_DataItemVoiceAllCalls->thisItemClicked();
+    waitForQueueEmpty();
     QVERIFY(verify());
     
     //except user selects vmb
-    appendAction("All voice calls:", selectItem, "txt_phone_setlabel_voice_mbx");
+    appendAction("txt_phone_setlabel_all_calls", selectItem, "txt_phone_setlabel_voice_mbx");
     expect("PSetCallDivertingWrapper::getDefaultNumbers");
-    expect("PSetCallDivertingWrapper::getVoiceMailBoxNumber").willOnce(invoke(fillNumber));
+    expect("PSetCallDivertingWrapper::queryVoiceMailBoxNumber").willOnce(invoke(fillNumber)).returns(0);
     expect("SsSettingsWrapper::get");
     expect("PSetCallDivertingWrapper::setCallDiverting");
     expect("CpPhoneNotes::noteShowing").returns(false);
     expect("CpPhoneNotes::showGlobalProgressNote");
+    m_divertpluginGroup->m_DataItemVoiceAllCalls->setContentWidgetData(
+        "checkState", Qt::Checked);
     m_divertpluginGroup->m_DataItemVoiceAllCalls->thisItemClicked();
+    waitForQueueEmpty();
     QVERIFY(verify()); // Verify item click
     PSCallDivertingCommand command;
     command.iNumber = "12345";
@@ -172,32 +182,32 @@
     command.iCondition = qvariant_cast<PsCallDivertingCondition>(
             m_divertpluginGroup->m_DataItemVoiceAllCalls->property("condition"));
     command.iServiceGroup = ServiceGroupVoice;
-    expect("CpPhoneNotes::showGlobalNote");
+    expect("CpPhoneNotes::showNotificationDialog");
     m_divertpluginGroup->handleDivertingChanged(command, false);
     expect("CpPhoneNotes::cancelNote");
     m_divertpluginGroup->divertRequestProcessed();
     QVERIFY(verify()); // Verify result processing
 
     //except user selects one of the default numbers
-    m_divertpluginGroup->m_DataItemVoiceAllCalls->setContentWidgetData("number","");
+    m_divertpluginGroup->m_DataItemVoiceAllCalls->setContentWidgetData("text", "");
     m_divertpluginGroup->m_DataItemVoiceAllCalls->setContentWidgetData(
-            "state", CpDivertSelectionCustomitem::Disabled);
-    appendAction("All voice calls:", selectItem, "0401234567");
+        "checkState", Qt::Checked);
+    appendAction("txt_phone_setlabel_all_calls", selectItem, "0401234567");
     expect("PSetCallDivertingWrapper::getDefaultNumbers");
     expect("SsSettingsWrapper::get");
     expect("PSetCallDivertingWrapper::setCallDiverting");
     expect("CpPhoneNotes::noteShowing").returns(false);
     expect("CpPhoneNotes::showGlobalProgressNote");
     m_divertpluginGroup->m_DataItemVoiceAllCalls->thisItemClicked();
+    waitForQueueEmpty();
     command.iNumber = "0401234567";
     command.iStatus = DivertingStatusActive;
     command.iCondition = qvariant_cast<PsCallDivertingCondition>(
             m_divertpluginGroup->m_DataItemVoiceAllCalls->property("condition"));
     command.iServiceGroup = ServiceGroupVoice;
     expect("CpPhoneNotes::cancelNote");
-    expect("CpPhoneNotes::showGlobalNote");
+    expect("CpPhoneNotes::showNotificationDialog");
     expect("PSetCallDivertingWrapper::setNewDefaultNumber").with(QString("0401234567"));
-    expect("Tools::voipSupported").returns(false);
     m_divertpluginGroup->handleDivertingChanged(command, true);
     expect("CpPhoneNotes::cancelNote");
     m_divertpluginGroup->divertRequestProcessed();
@@ -208,25 +218,32 @@
     expect("PSetCallDivertingWrapper::setCallDiverting"); // Disable divert
     expect("CpPhoneNotes::noteShowing").returns(false);
     expect("CpPhoneNotes::showGlobalProgressNote");
+    m_divertpluginGroup->m_DataItemVoiceAllCalls->setContentWidgetData(
+        "checkState", Qt::Unchecked);
     m_divertpluginGroup->m_DataItemVoiceAllCalls->thisItemClicked();
+    waitForQueueEmpty();
     command.iNumber = "";
     command.iStatus = DivertingStatusInactive;
     command.iCondition = qvariant_cast<PsCallDivertingCondition>(
             m_divertpluginGroup->m_DataItemVoiceAllCalls->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());
-    
+    */
     //except user selects other number, inserts number and cancels
+    /* BUG in framework (Crash in QGestureManager::getState due to QWeakPointer) */
+    /*
     appendAction("All voice calls:", selectItem, "Other number");
     appendAction("Number:", insertText, "12345");
     appendAction("Number:", selectAction, "Cancel");
     expect("PSetCallDivertingWrapper::getDefaultNumbers");
     m_divertpluginGroup->m_DataItemVoiceAllCalls->thisItemClicked();
+    waitForQueueEmpty();
     QVERIFY(verify());
+    */
 }
 
 /*!
@@ -234,22 +251,19 @@
  */
 void UT_CpDivertPlugin::t_itemShown()
 {
-    HbDataFormModel* model = 
-            qobject_cast<HbDataFormModel*>(m_divertpluginGroup->model());
-    
     expect("PSetCallDivertingWrapper::getCallDivertingStatus");
     expect("CpPhoneNotes::noteShowing").returns(false);
     expect("CpPhoneNotes::showGlobalProgressNote");
     m_divertpluginGroup->itemShown(
-            model->indexFromItem(m_divertpluginGroup->m_DataItemVoiceAllCalls));
+            m_dataForm->indexFromItem(m_divertpluginGroup->m_DataItemVoiceAllCalls));
     m_divertpluginGroup->itemShown(
-            model->indexFromItem(m_divertpluginGroup->m_DataItemVoiceIfBusy));
+            m_dataForm->indexFromItem(m_divertpluginGroup->m_DataItemVoiceIfBusy));
     m_divertpluginGroup->itemShown(
-            model->indexFromItem(m_divertpluginGroup->m_DataItemVoiceIfNotAnswered));
+            m_dataForm->indexFromItem(m_divertpluginGroup->m_DataItemVoiceIfNotAnswered));
     m_divertpluginGroup->itemShown(
-            model->indexFromItem(m_divertpluginGroup->m_DataItemVoiceIfOutOfReach));
+            m_dataForm->indexFromItem(m_divertpluginGroup->m_DataItemVoiceIfOutOfReach));
     m_divertpluginGroup->itemShown(
-            model->indexFromItem(m_divertpluginGroup->m_DataItemVoiceIfNotAvailable));
+            m_dataForm->indexFromItem(m_divertpluginGroup->m_DataItemVoiceIfNotAvailable));
     
     QList<PSCallDivertingStatus*> list;
     PSCallDivertingStatus divertStatus;
@@ -279,15 +293,15 @@
 
     // Test, Do not check status again
     m_divertpluginGroup->itemShown(
-            model->indexFromItem(m_divertpluginGroup->m_DataItemVoiceAllCalls));
+            m_dataForm->indexFromItem(m_divertpluginGroup->m_DataItemVoiceAllCalls));
     m_divertpluginGroup->itemShown(
-            model->indexFromItem(m_divertpluginGroup->m_DataItemVoiceIfBusy));
+            m_dataForm->indexFromItem(m_divertpluginGroup->m_DataItemVoiceIfBusy));
     m_divertpluginGroup->itemShown(
-            model->indexFromItem(m_divertpluginGroup->m_DataItemVoiceIfNotAnswered));
+            m_dataForm->indexFromItem(m_divertpluginGroup->m_DataItemVoiceIfNotAnswered));
     m_divertpluginGroup->itemShown(
-            model->indexFromItem(m_divertpluginGroup->m_DataItemVoiceIfOutOfReach));
+            m_dataForm->indexFromItem(m_divertpluginGroup->m_DataItemVoiceIfOutOfReach));
     m_divertpluginGroup->itemShown(
-            model->indexFromItem(m_divertpluginGroup->m_DataItemVoiceIfNotAvailable));
+            m_dataForm->indexFromItem(m_divertpluginGroup->m_DataItemVoiceIfNotAvailable));
     
 
     QVERIFY(verify());
@@ -298,24 +312,20 @@
  */
 void UT_CpDivertPlugin::t_popUpTimerQuery()
 {
-    appendAction("If not answered:", selectItem, "0401234567");
-    appendAction("Time out", selectAction, "Cancel");
-    expect("PSetCallDivertingWrapper::getDefaultNumbers");
-    m_divertpluginGroup->m_DataItemVoiceIfNotAnswered->setContentWidgetData("number", "");
-    m_divertpluginGroup->m_DataItemVoiceIfNotAnswered->setContentWidgetData(
-            "state", CpDivertSelectionCustomitem::Disabled);
-    m_divertpluginGroup->m_DataItemVoiceIfNotAnswered->thisItemClicked();
-    QVERIFY(verify());
-    
-    appendAction("If not answered:", selectItem, "Other number");
-    appendAction("Number:", insertText, "12345");
-    appendAction("Number:", selectAction, "OK");
-    appendAction("Time out", selectItem, "15 second");
-    //except user chooses other number and inserts number and timeout
+    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, delayLnString);
+    // expect user chooses other number and inserts number and timeout
     expect("PSetCallDivertingWrapper::getDefaultNumbers");    
     expect("SsSettingsWrapper::get");
     expect("PSetCallDivertingWrapper::setCallDiverting");
+    m_divertpluginGroup->m_DataItemVoiceIfNotAnswered->setContentWidgetData(
+        "checkState", Qt::Checked);
     m_divertpluginGroup->m_DataItemVoiceIfNotAnswered->thisItemClicked();
+    waitForQueueEmpty();
     PSCallDivertingCommand command;
     command.iNumber = "12345";
     command.iNoReplyTimer = 15;
@@ -323,7 +333,7 @@
     command.iCondition = qvariant_cast<PsCallDivertingCondition>(
             m_divertpluginGroup->m_DataItemVoiceIfNotAnswered->property("condition"));
     command.iServiceGroup = ServiceGroupVoice;
-    expect("CpPhoneNotes::showGlobalNote");
+    expect("CpPhoneNotes::showNotificationDialog");
     m_divertpluginGroup->handleDivertingChanged(command, false);
     expect("CpPhoneNotes::cancelNote");
     m_divertpluginGroup->divertRequestProcessed();
@@ -331,14 +341,17 @@
     
     expect("SsSettingsWrapper::get");
     expect("PSetCallDivertingWrapper::setCallDiverting");
+    m_divertpluginGroup->m_DataItemVoiceIfNotAnswered->setContentWidgetData(
+        "checkState", Qt::Unchecked);
     m_divertpluginGroup->m_DataItemVoiceIfNotAnswered->thisItemClicked();
+    waitForQueueEmpty();
     command.iNumber = "";
     command.iNoReplyTimer = 0;
     command.iStatus = DivertingStatusInactive;
     command.iCondition = qvariant_cast<PsCallDivertingCondition>(
             m_divertpluginGroup->m_DataItemVoiceIfNotAnswered->property("condition"));
     command.iServiceGroup = ServiceGroupVoice;
-    expect("CpPhoneNotes::showGlobalNote");
+    expect("CpPhoneNotes::showNotificationDialog");
     m_divertpluginGroup->handleDivertingChanged(command, false);
     expect("CpPhoneNotes::cancelNote");
     m_divertpluginGroup->divertRequestProcessed();
@@ -355,18 +368,16 @@
     
     c.iStatus = DivertingStatusActive;
     c.iServiceGroup = ServiceGroupAllTeleservices;
-    bool bRet = false;
+    c.iNumber = QString("0401234567890");
     expect("PSetCallDivertingWrapper::setNewDefaultNumber");
-    expect("Tools::voipSupported").returns(bRet);
     m_divertpluginGroup->handleDivertingChanged(c, true);
     
     QVERIFY(verify());
     
-    bRet = true;
     c.iServiceGroup = ServiceGroupAllTeleservices;
     c.iCondition = DivertConditionUnconditional;
+    c.iNumber = QString("0401234567890");
     expect("PSetCallDivertingWrapper::setNewDefaultNumber");
-    expect("Tools::voipSupported").returns(bRet);
     m_divertpluginGroup->handleDivertingChanged(c, false);
     
     QVERIFY(verify());
@@ -510,7 +521,7 @@
     HbListWidget *list = qobject_cast<HbListWidget*>(d->contentWidget());
     QVERIFY(list);
     
-    bool ok=true;
+    bool ok=false;
     HbListWidgetItem *itemObject = 0;
     for (int i=0; i < list->count();i++) {
         itemObject = list->item(i);
@@ -524,6 +535,7 @@
                 QTest::qWait(50);
             }
             QTest::qWait(50);
+            break;
         }
         
     }
@@ -539,7 +551,6 @@
 {
     HbDialog* d = visibleDialog(dialog);
     QVERIFY(d);
-    
     QAction* o;
     bool ok=false;
     foreach (o, d->actions()) {
@@ -552,6 +563,7 @@
                 QTest::qWait(50);
             }
             QTest::qWait(50);
+            break;
         }
     }
     QVERIFY(ok);
@@ -569,9 +581,23 @@
     executeAction(*actionQueue.takeFirst());
     if (actionQueue.count()) {
         startTimer(1000);
+    } else {
+        emit queueEmpty();
     }
 
     qDebug() << "timerEvent, OUT";
 }
 
+/*!
+  UT_CpDivertPlugin::waitForQueueEmpty
+ */
+void UT_CpDivertPlugin::waitForQueueEmpty()
+{
+    if (actionQueue.count()) {
+        QSignalSpy spy(this, SIGNAL(queueEmpty()));
+        while (spy.count() == 0)
+            QTest::qWait(200);
+    }
+}
+
 QTEST_MAIN_S60UI(UT_CpDivertPlugin)
--- a/phonesettings/cpphonesettingsplugins/divertplugin/tsrc/ut_cpdivertplugin/ut_cpdivertplugin.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phonesettings/cpphonesettingsplugins/divertplugin/tsrc/ut_cpdivertplugin/ut_cpdivertplugin.h	Thu Jul 22 16:33:21 2010 +0100
@@ -25,6 +25,7 @@
 class CpDivertPluginGroup;
 class CpItemDataHelper;
 class HbDialog;
+class HbDataFormModel;
 
 class UT_CpDivertPlugin : public QObject, MockService
 {
@@ -37,21 +38,20 @@
 private slots:
 
     void init();
+    void cleanup();
     
     void t_createSettingFormItemData();
 
     void t_changeDivertingStateRequested();
     
     void t_itemShown();
-    void t_popUpTimerQuery();
     
     void t_handleDivertingChanged();
     void t_handleDivertingStatus();
     void t_handleDivertingError();
-    
-    void cleanup();
-    
+
     void t_memleak();
+    void t_popUpTimerQuery();
     
 private:
     
@@ -82,12 +82,17 @@
     void doAndVerifyAction( const QString& dialog, const QString& action );
     void selectItemFromListWidget( const QString& dialog, const QString& item );
     void timerEvent( QTimerEvent* event );
+    void waitForQueueEmpty();
+    
+signals:
+    void queueEmpty();
     
 private:
 
     CpDivertPlugin *m_divertplugin;
     CpDivertPluginGroup *m_divertpluginGroup;
     CpItemDataHelper *m_helper;
+    HbDataFormModel *m_dataForm;
 
     QQueue<dialogAction*> actionQueue;
     
--- a/phonesettings/cpphonesettingsplugins/divertplugin/tsrc/ut_cpdivertplugin/ut_cpdivertplugin.pro	Tue Jun 15 14:14:38 2010 +0100
+++ b/phonesettings/cpphonesettingsplugins/divertplugin/tsrc/ut_cpdivertplugin/ut_cpdivertplugin.pro	Thu Jul 22 16:33:21 2010 +0100
@@ -42,7 +42,6 @@
 HEADERS += ../../src/cpdivertplugin.h \
            ../../src/cpdivertplugingroup.h \
            ../../src/cpdivertitemdata.h \
-           ../../src/cpdivertselectionitem.h \
            ../../../cptelephonyutils/inc/cpphonenotes.h \
            ../../../cptelephonyutils/inc/cpplugincommon.h \
            /epoc32/include/platform/mw/psetwrapper.h \
@@ -57,8 +56,7 @@
            ../../src/cpdivertitemdata.cpp
 
 # mocks needed for testing
-SOURCES += ../../../tsrc/mocks/mock_cpdivertselectionitem.cpp \
-           ../../../tsrc/mocks/mock_psetcalldivertingwrapper.cpp \
+SOURCES += ../../../tsrc/mocks/mock_psetcalldivertingwrapper.cpp \
            ../../../tsrc/mocks/mock_sssettingswrapper.cpp \
            ../../../tsrc/mocks/mock_cpplugincommon.cpp \
            ../../../tsrc/mocks/mock_cpphonenotes.cpp \
--- a/phonesettings/cpphonesettingsplugins/divertplugin/tsrc/ut_cpdivertselectionitem/qtestmains60ui.h	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +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 QTESTMAINS60
-#define QTESTMAINS60
-
-#include <hbapplication.h>
-#include <hbmainwindow.h>
-
-char *new_argv[3];
-HbMainWindow *mainWindow;
-#define QTEST_MAIN_S60UI(TestObject) \
-int main(int argc, char *argv[]) \
-{ \
-HbApplication *app = new HbApplication(argc, argv); \
-QString str = "C:\\data\\" + QFileInfo(QCoreApplication::applicationFilePath()).baseName() + ".log"; \
-QByteArray   bytes  = str.toAscii(); \
-\
-char arg1[] = "-o"; \
-\
-new_argv[0] = argv[0]; \
-new_argv[1] = arg1; \
-new_argv[2] = bytes.data(); \
-\
-TestObject tc; \
-QResource::registerResource("../hbcore.rcc"); \
-mainWindow = new HbMainWindow;\
-mainWindow->show(); \
-int ret = QTest::qExec(&tc, 3, new_argv); \
-delete mainWindow; \
-delete app; \
-return ret; \
-}
-
-#endif
--- a/phonesettings/cpphonesettingsplugins/divertplugin/tsrc/ut_cpdivertselectionitem/ut_cpdivertselectionitem.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,150 +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 "ut_cpdivertselectionitem.h"
-#include "qtestmains60ui.h"
-#include <HbDataFormModel>
-#include <HbWidget>
-#include <HbDataForm>
-#include "cpdivertselectioncustomitem.h"
-
-#define protected public
-#define private public
-#include "cpdivertselectionitem.h"
-
-
-
-/*!
-  UT_CpDivertSelectionItem::UT_CpDivertSelectionItem
- */
-UT_CpDivertSelectionItem::UT_CpDivertSelectionItem() 
-    : m_item(NULL)
-{
-
-}
-
-/*!
-  UT_CpDivertSelectionItem::~UT_CpDivertSelectionItem
- */
-UT_CpDivertSelectionItem::~UT_CpDivertSelectionItem()
-{
-
-}
-
-/*!
-  UT_CpDivertSelectionItem::init
- */
-void UT_CpDivertSelectionItem::init()
-{
-    initialize();
-    m_item = new CpDivertSelectionItem();
-    m_form = new HbDataForm;
-    m_form->setModel(new HbDataFormModel);
-    
-    QList<HbAbstractViewItem *> prototypes = m_form->itemPrototypes();
-    prototypes.append(m_item);
-    m_form->setItemPrototypes(prototypes);
-}
-
-/*!
-  UT_CpDivertSelectionItem::cleanup
- */
-void UT_CpDivertSelectionItem::cleanup()
-{
-    reset();
-    if (m_form) {
-        delete m_form->model();
-    }
-    delete m_form;
-    m_form = NULL;
-}
-
-/*!
-  UT_CpDivertSelectionItem::t_memleak
- */
-void UT_CpDivertSelectionItem::t_memleak()
-{
-    
-}
-
-/*!
-  UT_CpDivertSelectionItem::t_createItem
- */
-void UT_CpDivertSelectionItem::t_createItem()
-{
-    delete m_item->createItem();
-}
-
-/*!
-  UT_CpDivertSelectionItem::t_canSetModelIndex
- */
-void UT_CpDivertSelectionItem::t_canSetModelIndex()
-{
-    QModelIndex index = qobject_cast<HbDataFormModel*>(m_form->model())->indexFromItem(
-            qobject_cast<HbDataFormModel*>(m_form->model())->appendDataFormItem(
-                    HbDataFormModelItem::TextItem, "test"));
-    
-    QVERIFY( !m_item->canSetModelIndex(index) );
-
-    index = qobject_cast<HbDataFormModel*>(m_form->model())->indexFromItem(
-                qobject_cast<HbDataFormModel*>(m_form->model())->appendDataFormItem(
-                    static_cast<HbDataFormModelItem::DataItemType>(
-                            CpDivertSelectionItem::CpDivertSelectionItemId), 
-                            "test2"));
-    
-    QVERIFY( m_item->canSetModelIndex(index) );
-}
-
-/*!
-  UT_CpDivertSelectionItem::t_createCustomWidget
- */
-void UT_CpDivertSelectionItem::t_createCustomWidget()
-{
-    QVERIFY( !m_item->createCustomWidget() );
-    
-    QModelIndex index = qobject_cast<HbDataFormModel*>(m_form->model())->indexFromItem(
-            qobject_cast<HbDataFormModel*>(m_form->model())->appendDataFormItem(
-                    static_cast<HbDataFormModelItem::DataItemType>(
-                            CpDivertSelectionItem::CpDivertSelectionItemId), 
-                            "test3"));
-    
-    m_item->setModelIndex(index);
-    HbWidget *widget=NULL;
-    QVERIFY( widget = m_item->createCustomWidget() );
-    QVERIFY( widget->setProperty("number", "12345") );
-    QVERIFY( widget->property("number").toString() == QString("12345") );
-    
-    QVERIFY( widget->setProperty("timeoutText", "Delay:") );
-    QVERIFY( widget->property("timeoutText").toString() == QString("Delay:") );
-    
-    QVERIFY( widget->setProperty("timeout", "25") );
-    QVERIFY( widget->property("timeout").toInt() == 25 );
-    
-    QVERIFY( widget->setProperty("state", "0"));
-    QVERIFY( widget->property("state").toInt() 
-        == CpDivertSelectionCustomitem::Enabled);
-    QVERIFY( widget->setProperty("state", "1"));
-    QVERIFY( widget->property("state").toInt() 
-        == CpDivertSelectionCustomitem::Deactivated);
-    QVERIFY( widget->setProperty("state", "2"));
-    QVERIFY( widget->property("state").toInt() 
-        == CpDivertSelectionCustomitem::Disabled);
-    
-    delete widget;
-}
-
-QTEST_MAIN_S60UI(UT_CpDivertSelectionItem)
--- a/phonesettings/cpphonesettingsplugins/divertplugin/tsrc/ut_cpdivertselectionitem/ut_cpdivertselectionitem.h	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +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 UT_CPDIVERTSELECTIONITEM_H
-#define UT_CPDIVERTSELECTIONITEM_H
-
-#include <QtTest/QtTest>
-#include <mockservice.h>
-
-class CpDivertSelectionItem;
-class HbDataForm;
-
-class UT_CpDivertSelectionItem : public QObject, MockService
-{
-    Q_OBJECT
-
-public:    
-    UT_CpDivertSelectionItem();
-    ~UT_CpDivertSelectionItem();
-    
-private slots:
-
-    void init();
-    
-    void cleanup();
-    
-    void t_memleak();
-    
-    void t_createItem();
-    void t_canSetModelIndex();
-    void t_createCustomWidget();
-private:
-    // Not own
-    CpDivertSelectionItem *m_item;
-    
-    // Own
-    HbDataForm *m_form;
-    
-};
-
-#endif // UT_CPDIVERTSELECTIONITEM_H
--- a/phonesettings/cpphonesettingsplugins/divertplugin/tsrc/ut_cpdivertselectionitem/ut_cpdivertselectionitem.pro	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +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: Project file for building unit test component
-#
-
-CONFIG += qtestlib hb
-TEMPLATE = app
-TARGET = 
-DEPENDPATH += . ../../src/
-INCLUDEPATH += .
-INCLUDEPATH +=../../../cptelephonyutils/inc
-DEFINES +=
-
-QT -= gui
-QT += testlib
-
-symbian: {
-  #CONFIG += no_icon
-  INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE
-  
-  LIBS += -lmocklib \
-        -lsymbianmock \
-        -lcpframework
-}
-
-# test code
-HEADERS += ut_cpdivertselectionitem.h
-SOURCES += ut_cpdivertselectionitem.cpp
-
-# code to be tested
-HEADERS += ../../src/cpdivertselectioncustomitem.h \
-           ../../src/cpdivertselectionitem.h
-           
-SOURCES += ../../src/cpdivertselectioncustomitem.cpp \
-           ../../src/cpdivertselectionitem.cpp
-
-# mocks needed for testing
-SOURCES += 
--- a/phonesettings/cpphonesettingsplugins/eabi/cptelephonyutilsu.def	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,78 +0,0 @@
-EXPORTS
-	_ZN12CpPhoneNotes10cancelNoteEi @ 1 NONAME
-	_ZN12CpPhoneNotes11noteShowingEv @ 2 NONAME
-	_ZN12CpPhoneNotes11qt_metacallEN11QMetaObject4CallEiPPv @ 3 NONAME
-	_ZN12CpPhoneNotes11qt_metacastEPKc @ 4 NONAME
-	_ZN12CpPhoneNotes14showGlobalNoteERiRK7QStringN12HbMessageBox14MessageBoxTypeE @ 5 NONAME
-	_ZN12CpPhoneNotes16staticMetaObjectE @ 6 NONAME DATA 16
-	_ZN12CpPhoneNotes19getStaticMetaObjectEv @ 7 NONAME
-	_ZN12CpPhoneNotes19passwordTextChangedEv @ 8 NONAME
-	_ZN12CpPhoneNotes19showGlobalErrorNoteERii @ 9 NONAME
-	_ZN12CpPhoneNotes20progressNoteCanceledEv @ 10 NONAME
-	_ZN12CpPhoneNotes20showBasicServiceListERK7QStringRK5QListIhE @ 11 NONAME
-	_ZN12CpPhoneNotes21launchNextNoteIfReadyEv @ 12 NONAME
-	_ZN12CpPhoneNotes21showCallDivertDetailsERK21PSCallDivertingStatus @ 13 NONAME
-	_ZN12CpPhoneNotes22activeNoteAboutToCloseEv @ 14 NONAME
-	_ZN12CpPhoneNotes22passwordQueryCompletedE7QStringb @ 15 NONAME
-	_ZN12CpPhoneNotes22showGlobalProgressNoteERiRK7QString @ 16 NONAME
-	_ZN12CpPhoneNotes23showPasswordQueryDialogERK7QStringRK10QValidatori @ 17 NONAME
-	_ZN12CpPhoneNotes26handleProgressNoteCanceledEv @ 18 NONAME
-	_ZN12CpPhoneNotes27finishedPasswordQueryDialogEP8HbAction @ 19 NONAME
-	_ZN12CpPhoneNotes8instanceEv @ 20 NONAME
-	_ZN12CpPhoneNotesC1Ev @ 21 NONAME
-	_ZN12CpPhoneNotesC2Ev @ 22 NONAME
-	_ZN12CpPhoneNotesD0Ev @ 23 NONAME
-	_ZN12CpPhoneNotesD1Ev @ 24 NONAME
-	_ZN12CpPhoneNotesD2Ev @ 25 NONAME
-	_ZN17CpSettingsWrapper11qt_metacallEN11QMetaObject4CallEiPPv @ 26 NONAME
-	_ZN17CpSettingsWrapper11qt_metacastEPKc @ 27 NONAME
-	_ZN17CpSettingsWrapper16showCallDurationEv @ 28 NONAME
-	_ZN17CpSettingsWrapper16staticMetaObjectE @ 29 NONAME DATA 16
-	_ZN17CpSettingsWrapper18readSoftRejectTextER7QStringRb @ 30 NONAME
-	_ZN17CpSettingsWrapper19getStaticMetaObjectEv @ 31 NONAME
-	_ZN17CpSettingsWrapper19setShowCallDurationEb @ 32 NONAME
-	_ZN17CpSettingsWrapper19writeSoftRejectTextERK7QStringb @ 33 NONAME
-	_ZN17CpSettingsWrapper51isFeatureCallWaitingDistiquishNotProvisionedEnabledEv @ 34 NONAME
-	_ZN17CpSettingsWrapperC1EP7QObject @ 35 NONAME
-	_ZN17CpSettingsWrapperC2EP7QObject @ 36 NONAME
-	_ZN17CpSettingsWrapperD0Ev @ 37 NONAME
-	_ZN17CpSettingsWrapperD1Ev @ 38 NONAME
-	_ZN17CpSettingsWrapperD2Ev @ 39 NONAME
-	_ZN5Tools11qt_metacallEN11QMetaObject4CallEiPPv @ 40 NONAME
-	_ZN5Tools11qt_metacastEPKc @ 41 NONAME
-	_ZN5Tools13voipSupportedEv @ 42 NONAME
-	_ZN5Tools14videoSupportedEv @ 43 NONAME
-	_ZN5Tools16staticMetaObjectE @ 44 NONAME DATA 16
-	_ZN5Tools19getStaticMetaObjectEv @ 45 NONAME
-	_ZN5Tools20errorCodeTextMappingEiR7QString @ 46 NONAME
-	_ZNK12CpPhoneNotes10metaObjectEv @ 47 NONAME
-	_ZNK12CpPhoneNotes17formatPhoneNumberE7QString @ 48 NONAME
-	_ZNK12CpPhoneNotes21basicServiceGroupNameEN16CpTelephonyUtils18BasicServiceGroupsE @ 49 NONAME
-	_ZNK17CpSettingsWrapper10metaObjectEv @ 50 NONAME
-	_ZNK17CpSettingsWrapper14isPhoneOfflineEv @ 51 NONAME
-	_ZNK17CpSettingsWrapper15readCenrepValueElm @ 52 NONAME
-	_ZNK17CpSettingsWrapper16readCenrepStringElm @ 53 NONAME
-	_ZNK17CpSettingsWrapper16writeCenrepValueElmRK8QVariant @ 54 NONAME
-	_ZNK17CpSettingsWrapper23numberGroupingSupportedEv @ 55 NONAME
-	_ZNK5Tools10metaObjectEv @ 56 NONAME
-	_ZTI12CpPhoneNotes @ 57 NONAME
-	_ZTI17CpSettingsWrapper @ 58 NONAME
-	_ZTI5Tools @ 59 NONAME
-	_ZTV12CpPhoneNotes @ 60 NONAME
-	_ZTV17CpSettingsWrapper @ 61 NONAME
-	_ZTV5Tools @ 62 NONAME
-	_ZN19CpPhoneLocalisation11qt_metacallEN11QMetaObject4CallEiPPv @ 63 NONAME
-	_ZN19CpPhoneLocalisation11qt_metacastEPKc @ 64 NONAME
-	_ZN19CpPhoneLocalisation16staticMetaObjectE @ 65 NONAME DATA 16
-	_ZN19CpPhoneLocalisation17installTranslatorENS_17TranslationFileIdE @ 66 NONAME
-	_ZN19CpPhoneLocalisation17removeTranslatorsEv @ 67 NONAME
-	_ZN19CpPhoneLocalisation19getStaticMetaObjectEv @ 68 NONAME
-	_ZN19CpPhoneLocalisationC1EP7QObject @ 69 NONAME
-	_ZN19CpPhoneLocalisationC2EP7QObject @ 70 NONAME
-	_ZN19CpPhoneLocalisationD0Ev @ 71 NONAME
-	_ZN19CpPhoneLocalisationD1Ev @ 72 NONAME
-	_ZN19CpPhoneLocalisationD2Ev @ 73 NONAME
-	_ZNK19CpPhoneLocalisation10metaObjectEv @ 74 NONAME
-	_ZTI19CpPhoneLocalisation @ 75 NONAME
-	_ZTV19CpPhoneLocalisation @ 76 NONAME
-
--- a/phonesettings/cpphonesettingsplugins/telephonyplugin/src/cptelephonyplugin.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phonesettings/cpphonesettingsplugins/telephonyplugin/src/cptelephonyplugin.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -71,6 +71,22 @@
     return ret;
 }
 
+/*!
+    CpTelephonyPlugin::createSettingView() const
+*/
+CpBaseSettingView *CpTelephonyPlugin::createSettingView(const QVariant &hint) const
+{
+    QVariantHash hash = hint.value<QVariantHash>();
+    
+    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);
 
 
--- a/phonesettings/cpphonesettingsplugins/telephonyplugin/src/cptelephonyplugin.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phonesettings/cpphonesettingsplugins/telephonyplugin/src/cptelephonyplugin.h	Thu Jul 22 16:33:21 2010 +0100
@@ -21,6 +21,7 @@
 #include <QObject>
 #include <QList>
 #include <cpplugininterface.h>
+#include <cplauncherinterface.h>
 #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<CpSettingFormItemData*> createSettingFormItemData(
             CpItemDataHelper &itemDataHelper) const;
     
+    /*!
+     From CpLauncherInterface.
+     @see CpLauncherInterface.
+     */
+    virtual CpBaseSettingView *createSettingView(const QVariant &hint) const;
+    
 private: 
     
     QScopedPointer<CpPhoneLocalisation> m_localisation; 
--- a/phonesettings/cpphonesettingsplugins/telephonyplugin/src/cptelephonypluginview.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phonesettings/cpphonesettingsplugins/telephonyplugin/src/cptelephonypluginview.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -15,8 +15,7 @@
 *
 */
 
-#include "cptelephonypluginview.h"
-#include "cppluginlogging.h"
+
 #include <QPluginLoader>
 #include <hbdataformmodel.h>
 #include <cpplugininterface.h>
@@ -24,10 +23,24 @@
 #include <cpitemdatahelper.h>
 #include <cppluginutility.h>
 #include <cppluginloader.h>
-
+#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<CpSettingFormItemData*> 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,39 +80,85 @@
         }
         
         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 &params) :
+    CpBaseSettingView(0,0),
+    m_helper(NULL)
+{
+    HbDataForm *form = qobject_cast<HbDataForm*>(widget());
+    if (form){
+        HbDataFormModel *model = new HbDataFormModel;
+        form->setHeading(hbTrId("txt_phone_subhead_telephone"));
+        m_helper = initializeItemDataHelper(); 
+        QList<CpSettingFormItemData*> 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<CpSettingFormItemData*> CpTelephonyPluginView::groupItemFromPlugin( const QString& plugin )
+QList<CpSettingFormItemData*> CpTelephonyPluginView::groupItemFromPlugin( 
+        const QString& plugin)
 {
     DPRINT << ": IN";
  
     QList<CpSettingFormItemData*> items;
     CpPluginInterface *p(NULL);
     try {
-        p = CpPluginLoader::loadCpPlugin(plugin);
-        if (p && m_helper){
+        p = CpPluginLoader::loadCpPluginInterface(plugin);
+        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()
 {
--- a/phonesettings/cpphonesettingsplugins/telephonyplugin/src/cptelephonypluginview.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phonesettings/cpphonesettingsplugins/telephonyplugin/src/cptelephonypluginview.h	Thu Jul 22 16:33:21 2010 +0100
@@ -19,34 +19,29 @@
 #define CPTELEPHONYPLUGINVIEW_H_
 
 #include <QObject>
+#include <QVariantList>
 #include <hbdataform.h>
 #include <cpbasesettingview.h>
 
 class HbDataFormModelItem;
 class CpSettingFormItemData;
 
-/*!
-    \class CpTelephonyPluginView
-    \brief The class CpTelephonyPluginView. 
- */
+// Class declaration 
 class CpTelephonyPluginView : public CpBaseSettingView
 {
     Q_OBJECT
 
 public:
     CpTelephonyPluginView();
+    CpTelephonyPluginView(const QVariantList &params);
     ~CpTelephonyPluginView();
 
 private: 
+    CpItemDataHelper* initializeItemDataHelper();
+    QList<CpSettingFormItemData*> groupItemFromPlugin(
+            const QString& plugin);
     
-    CpItemDataHelper* initializeItemDataHelper();
-
-private: 
- 
-    QList<CpSettingFormItemData*> groupItemFromPlugin(const QString& plugin);
-    
-private:   // data
- 
+private: // Data
     CpItemDataHelper *m_helper;
 };
 
--- a/phonesettings/cpphonesettingsplugins/telephonyplugin/tsrc/run_auto_tests_qt.bat	Tue Jun 15 14:14:38 2010 +0100
+++ b/phonesettings/cpphonesettingsplugins/telephonyplugin/tsrc/run_auto_tests_qt.bat	Thu Jul 22 16:33:21 2010 +0100
@@ -169,7 +169,7 @@
 ::::::::::::::::::::::::::::::::::::::::::::::::::::::
 :CALCULATECOVERAGE
 echo Calculating coverage
-ctcpost %PATH_TO_COVERAGE_DATA%\*.sym | ctcmerge -i - -o profile.txt
+ctcpost %PATH_TO_COVERAGE_DATA%\*.sym -p - | ctcmerge -i - -o profile.txt
 call ctc2html -t 70 -i profile.txt -o \coverage_result -nsb
 goto end
 
--- a/phonesettings/cpphonesettingsplugins/telephonyplugin/tsrc/ut_cptelephonyplugin/ut_cptelephonyplugin.pro	Tue Jun 15 14:14:38 2010 +0100
+++ b/phonesettings/cpphonesettingsplugins/telephonyplugin/tsrc/ut_cptelephonyplugin/ut_cptelephonyplugin.pro	Thu Jul 22 16:33:21 2010 +0100
@@ -32,7 +32,8 @@
   
   LIBS += -lmocklib \
         -lsymbianmock \
-        -lcpframework
+        -lcpframework \
+        -lcptelephonyutils
 }
 
 # test code
--- a/phonesettings/cpphonesettingsplugins/telephonyplugin/tsrc/ut_cptelephonypluginview/ut_cptelephonypluginview.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phonesettings/cpphonesettingsplugins/telephonyplugin/tsrc/ut_cptelephonypluginview/ut_cptelephonypluginview.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -23,7 +23,6 @@
 #include <smcmockclassincludes.h>
 #include <hbdataform.h>
 #include <hbdataformmodel.h>
-#include <hbsettingformitem.h>
 #include "cptelephonypluginview.h"
 
 
@@ -65,18 +64,21 @@
 void UT_CpTelephonyPluginView::init()
 {
     initialize();
+
     CpPluginInterface *nullPlugin=0;
-    expect("CpPluginLoader::loadCpPlugin").with(QString("cpcallsplugin")).returns(nullPlugin);
     DummyPlugin *ret = new DummyPlugin;
-    
-    //ret = new DummyPlugin;
+
     QList<CpSettingFormItemData*> list;
     list.append(new CpSettingFormItemData);
-    expect("CpPluginLoader::loadCpPlugin").with(QString("cpdivertplugin")).returns(ret); // cpnetworkplugin
+    expect("CpPluginLoader::loadCpPluginInterface").
+            with(QString("cpcallsplugin")).returns(ret);
     expect("DummyPlugin::createSettingFormItemData").returns(list);
+    expect("CpPluginLoader::loadCpPluginInterface").
+            with(QString("cpdivertplugin")).returns(nullPlugin);
     
     m_callspluginview = new CpTelephonyPluginView;
     QVERIFY( verify() );
+
 }
 
 /*!
@@ -98,11 +100,13 @@
     QList<CpSettingFormItemData*> list;
     list.append(new CpSettingFormItemData);
     DummyPlugin *ret = new DummyPlugin;
-    expect("CpPluginLoader::loadCpPlugin").with(QString("cpcallsplugin")).returns(ret);
+    expect("CpPluginLoader::loadCpPluginInterface").
+            with(QString("cpcallsplugin")).returns(ret);
     expect("DummyPlugin::createSettingFormItemData").returns(list);
     
     ret = new DummyPlugin;
-    expect("CpPluginLoader::loadCpPlugin").with(QString("cpdivertplugin")).returns(ret);
+    expect("CpPluginLoader::loadCpPluginInterface").
+            with(QString("cpdivertplugin")).returns(ret);
     expect("DummyPlugin::createSettingFormItemData").returns(list);
     
     
--- a/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_cmmanager.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_cmmanager.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -424,12 +424,12 @@
 
 
 // -----------------------------------------------------------------------------
-// RCmManager::UncategorizedIconL
+// RCmManager::GetUncategorizedIconL
 // -----------------------------------------------------------------------------
 //
-CGulIcon * RCmManager::UncategorizedIconL(  ) const
+HBufC * RCmManager::GetUncategorizedIconL( ) const
     {
-    SMC_MOCK_METHOD0( CGulIcon * )
+    //SMC_MOCK_METHOD0( CGulIcon * )
     }
 
 
--- a/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_cpbarringplugingroup.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_cpbarringplugingroup.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -138,9 +138,9 @@
 // CpBarringPluginGroup::changeBarringPasswordRequested
 // -----------------------------------------------------------------------------
 //
-void CpBarringPluginGroup::changeBarringPasswordRequested(bool checked)
+void CpBarringPluginGroup::changeBarringPasswordRequested()
 {
-    SMC_MOCK_METHOD1( void, bool, checked)
+    SMC_MOCK_METHOD0( void ) 
 }
 
 
--- a/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_cpbasesettingview.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_cpbasesettingview.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -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
@@ -45,23 +45,33 @@
 
 
 // -----------------------------------------------------------------------------
-// CpBaseSettingView::setSettingForm
+// CpBaseSettingView::returnValueDelivered
 // -----------------------------------------------------------------------------
 //
-void CpBaseSettingView::setSettingForm( 
-        HbDataForm * settingForm )
+void CpBaseSettingView::returnValueDelivered( 
+        const QVariant & returnValue )
     {
-
+    //SMC_MOCK_METHOD1( void, const QVariant &, returnValue )
     }
 
 
 // -----------------------------------------------------------------------------
-// CpBaseSettingView::settingForm
+// CpBaseSettingView::aboutToClose
 // -----------------------------------------------------------------------------
 //
-HbDataForm * CpBaseSettingView::settingForm(  ) const
+void CpBaseSettingView::aboutToClose(  )
     {
-    SMC_MOCK_METHOD0( HbDataForm * )
+    SMC_MOCK_METHOD0( void )
     }
 
 
+// -----------------------------------------------------------------------------
+// CpBaseSettingView::close
+// -----------------------------------------------------------------------------
+//
+void CpBaseSettingView::close(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
--- a/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_cpcallsplugingroup.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_cpcallsplugingroup.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -53,6 +53,17 @@
 
 
 // -----------------------------------------------------------------------------
+// CpCallsPluginGroup::ownVideoInReceivedCallStateChanged
+// -----------------------------------------------------------------------------
+//
+void CpCallsPluginGroup::ownVideoInReceivedCallStateChanged( 
+        int index )
+    {
+    Q_UNUSED( index )
+    }
+
+
+// -----------------------------------------------------------------------------
 // CpCallsPluginGroup::softRejectTextChanged
 // -----------------------------------------------------------------------------
 //
--- a/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_cpdivertselectionitem.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,87 +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 <QDebug>
-#include <smcmockclassincludes.h>
-#include "cpdivertselectionitem.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CpDivertSelectionItem::CpDivertSelectionItem
-// -----------------------------------------------------------------------------
-//
-CpDivertSelectionItem::CpDivertSelectionItem( 
-        QGraphicsItem * parent )
-    //:
-    //HbDataFormViewItem( /*parent*/ )
-    {
-    
-    }
-
-
-// -----------------------------------------------------------------------------
-// CpDivertSelectionItem::~CpDivertSelectionItem
-// -----------------------------------------------------------------------------
-//
-CpDivertSelectionItem::~CpDivertSelectionItem(  )
-    {
-    
-    }
-
-
-// -----------------------------------------------------------------------------
-// CpDivertSelectionItem::createItem
-// -----------------------------------------------------------------------------
-//
-HbAbstractViewItem * CpDivertSelectionItem::createItem(  )
-    {
-    SMC_MOCK_METHOD0( HbAbstractViewItem * )
-    }
-
-
-// -----------------------------------------------------------------------------
-// CpDivertSelectionItem::canSetModelIndex
-// -----------------------------------------------------------------------------
-//
-bool CpDivertSelectionItem::canSetModelIndex( 
-        const QModelIndex & index ) const
-    {
-    SMC_MOCK_METHOD1( bool, const QModelIndex &, index )
-    }
-
-
-// -----------------------------------------------------------------------------
-// CpDivertSelectionItem::restore
-// -----------------------------------------------------------------------------
-//
-void CpDivertSelectionItem::restore(  )
-    {
-    SMC_MOCK_METHOD0( void )
-    }
-
-
-// -----------------------------------------------------------------------------
-// CpDivertSelectionItem::createCustomWidget
-// -----------------------------------------------------------------------------
-//
-HbWidget * CpDivertSelectionItem::createCustomWidget(  )
-    {
-    SMC_MOCK_METHOD0( HbWidget * )
-    }
-
-
--- a/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_cpitemdatahelper.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_cpitemdatahelper.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -30,7 +30,7 @@
 // -----------------------------------------------------------------------------
 //
 CpItemDataHelper::CpItemDataHelper( 
-        HbDataForm * form )
+        HbDataForm * /*form*/ )
     //:
     //QObject( /*form*/ )
     {
--- a/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_cpnetworkplugin.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_cpnetworkplugin.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -15,6 +15,7 @@
 *
 */
 #include <QDebug>
+#include <smcmockclassincludes.h>
 #include "cpnetworkplugin.h"
 #include <cpsettingformitemdata.h>
 
@@ -44,9 +45,22 @@
 // CpNetworkPlugin::createSettingFormItemData
 // -----------------------------------------------------------------------------
 //
-QList<CpSettingFormItemData*> CpNetworkPlugin::createSettingFormItemData(
-        CpItemDataHelper &itemDataHelper) const
+QList <CpSettingFormItemData * > CpNetworkPlugin::createSettingFormItemData( 
+        CpItemDataHelper & itemDataHelper ) const
     {
     Q_UNUSED( itemDataHelper )
     return QList<CpSettingFormItemData *> ();
     }
+
+
+// -----------------------------------------------------------------------------
+// CpNetworkPlugin::createSettingView
+// -----------------------------------------------------------------------------
+//
+CpBaseSettingView * CpNetworkPlugin::createSettingView( 
+        const QVariant & hint ) const
+    {
+    SMC_MOCK_METHOD1( CpBaseSettingView *, const QVariant &, hint )
+    }
+
+
--- a/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_cpnetworkpluginform.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_cpnetworkpluginform.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -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
@@ -96,10 +96,9 @@
 // CpNetworkPluginForm::operatorSelectionStateChanged
 // -----------------------------------------------------------------------------
 //
-void CpNetworkPluginForm::operatorSelectionStateChanged( 
-        bool index )
+void CpNetworkPluginForm::operatorSelectionStateChanged(  )
     {
-    SMC_MOCK_METHOD1( void, bool, index )
+    SMC_MOCK_METHOD0( void )
     }
 
 
@@ -182,4 +181,14 @@
 //        PSetNetworkWrapper::RegistrationStatus &, status )
     }
 
+// -----------------------------------------------------------------------------
+// CpNetworkPluginForm::finishedManualSelectiondialog
+// -----------------------------------------------------------------------------
+//
+void CpNetworkPluginForm::finishedManualSelectiondialog( 
+        HbAction* /*action*/  )
+    {
+   // SMC_MOCK_METHOD1( void, HbAction *, action )
+    }
 
+
--- a/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_cpnetworkpluginview.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_cpnetworkpluginview.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -25,7 +25,7 @@
 // -----------------------------------------------------------------------------
 //
 CpNetworkPluginView::CpNetworkPluginView( 
-        QGraphicsItem * parent )
+        QGraphicsItem * /*parent*/ )
     :
     /*CpBaseSettingView(0, parent),*/
     m_networkSettingsForm(0)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_cpnetworkstatus.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,112 @@
+/*
+* 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 <QDebug>
+#include <smcmockclassincludes.h>
+#include <hbicon.h>
+#include "cpnetworkstatus.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CpNetworkStatus::CpNetworkStatus
+// -----------------------------------------------------------------------------
+//
+CpNetworkStatus::CpNetworkStatus(  )
+    //:
+    //QObject( /**/ )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// CpNetworkStatus::~CpNetworkStatus
+// -----------------------------------------------------------------------------
+//
+CpNetworkStatus::~CpNetworkStatus(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// CpNetworkStatus::statusText
+// -----------------------------------------------------------------------------
+//
+QString CpNetworkStatus::statusText(  ) const
+    {
+    SMC_MOCK_METHOD0( QString )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CpNetworkStatus::statusIcon
+// -----------------------------------------------------------------------------
+//
+HbIcon CpNetworkStatus::statusIcon(  ) const
+    {
+    SMC_MOCK_METHOD0( HbIcon )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CpNetworkStatus::statusIconLocicalName
+// -----------------------------------------------------------------------------
+//
+QString CpNetworkStatus::statusIconLocicalName(  ) const
+    {
+    SMC_MOCK_METHOD0( QString )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CpNetworkStatus::setSettingFormItemData
+// -----------------------------------------------------------------------------
+//
+void CpNetworkStatus::setSettingFormItemData( 
+        CpSettingFormItemData * data )
+    {
+    //SMC_MOCK_METHOD1( void, CpSettingFormItemData *, data )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CpNetworkStatus::networkNameChanged
+// -----------------------------------------------------------------------------
+//
+void CpNetworkStatus::networkNameChanged( 
+        QSystemNetworkInfo::NetworkMode mode,
+        const QString & netName )
+    {
+    //SMC_MOCK_METHOD2( void, QSystemNetworkInfo::NetworkMode, mode, 
+    //    const QString &, netName )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CpNetworkStatus::networkStatusChanged
+// -----------------------------------------------------------------------------
+//
+void CpNetworkStatus::networkStatusChanged( 
+        QSystemNetworkInfo::NetworkMode mode,
+        QSystemNetworkInfo::NetworkStatus status )
+    {
+    //SMC_MOCK_METHOD2( void, QSystemNetworkInfo::NetworkMode, mode, 
+    //    QSystemNetworkInfo::NetworkStatus, status )
+    }
+
+
--- a/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_cpphonelocalisation.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_cpphonelocalisation.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -25,7 +25,7 @@
 // -----------------------------------------------------------------------------
 //
 CpPhoneLocalisation::CpPhoneLocalisation( 
-        QObject * parent )
+        QObject * /*parent*/ )
     //:
     //QObject( /*parent*/ )
     {
--- a/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_cpphonenotes.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_cpphonenotes.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -90,19 +90,6 @@
 
 
 // -----------------------------------------------------------------------------
-// CpPhoneNotes::showBasicServiceList
-// -----------------------------------------------------------------------------
-//
-void CpPhoneNotes::showBasicServiceList( 
-        const QString & title,
-        const QList<unsigned char> & basicServiceGroupIds )
-    {
-    SMC_MOCK_METHOD2( void, const QString &, title, 
-        const QList<unsigned char> &, basicServiceGroupIds )
-    }
-
-
-// -----------------------------------------------------------------------------
 // CpPhoneNotes::showCallDivertDetails
 // -----------------------------------------------------------------------------
 //
@@ -154,11 +141,20 @@
 // -----------------------------------------------------------------------------
 //
 void CpPhoneNotes::finishedPasswordQueryDialog( 
-        HbAction * action )
+        HbAction * /*action*/ )
     {
     //SMC_MOCK_METHOD1( void, HbAction *, action )
     }
 
+// -----------------------------------------------------------------------------
+// CpPhoneNotes::showNotificationDialog
+// -----------------------------------------------------------------------------
+//
+void CpPhoneNotes::showNotificationDialog( 
+        const QString & text )
+    {
+    SMC_MOCK_METHOD1( void, const QString &, text )
+    }
 
 // -----------------------------------------------------------------------------
 // CpPhoneNotes::activeNoteAboutToClose
--- a/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_cpplugincommon.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_cpplugincommon.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -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,13 +55,35 @@
 // CpSettingsWrapper::setShowCallDuration
 // -----------------------------------------------------------------------------
 //
-int CpSettingsWrapper::setShowCallDuration( bool value )
+int CpSettingsWrapper::setShowCallDuration( 
+        bool value )
     {
     SMC_MOCK_METHOD1( int, bool, value )
     }
 
 
 // -----------------------------------------------------------------------------
+// CpSettingsWrapper::readVtVideoSending
+// -----------------------------------------------------------------------------
+//
+int CpSettingsWrapper::readVtVideoSending(  )
+    {
+    SMC_MOCK_METHOD0( int )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CpSettingsWrapper::writeVtVideoSending
+// -----------------------------------------------------------------------------
+//
+int CpSettingsWrapper::writeVtVideoSending( 
+        int value )
+    {
+    SMC_MOCK_METHOD1( int, int, value )
+    }
+
+
+// -----------------------------------------------------------------------------
 // CpSettingsWrapper::readSoftRejectText
 // -----------------------------------------------------------------------------
 //
@@ -75,7 +97,8 @@
         userDefined = true;
         i=1;
     }
-    SMC_MOCK_METHOD2( void, QString &, text, bool, userDefined )
+    SMC_MOCK_METHOD2( void, QString &, text,
+        bool &, userDefined )
     }
 
 
@@ -84,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 )
     }
 
 
@@ -104,19 +129,40 @@
 // 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
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CpSettingsWrapper::forbiddenIconSupported
+// -----------------------------------------------------------------------------
+//
+bool CpSettingsWrapper::forbiddenIconSupported(  ) const
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
 
 
 // -----------------------------------------------------------------------------
@@ -138,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 )
     }
-	
+
+
--- a/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_cppluginloader.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_cppluginloader.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -20,26 +20,21 @@
 #include "cppluginloader.h"
 
 // ============================ MEMBER FUNCTIONS ===============================
-
 // -----------------------------------------------------------------------------
-// CpPluginLoader::loadCpPlugin
+// CpPluginLoader::loadCpPluginInterface
 // -----------------------------------------------------------------------------
 //
-CpPluginInterface * CpPluginLoader::loadCpPlugin( 
-        const QString & pluginFile )
-    {
+CpPluginInterface *CpPluginLoader::loadCpPluginInterface(const QString &pluginFile)
+{
     SMC_MOCK_METHOD1( CpPluginInterface *, const QString &, pluginFile )
-    }
-
+}
 
 // -----------------------------------------------------------------------------
-// CpPluginLoader::loadPlatCpPlugin
+// CpPluginLoader::loadCpLauncherInterface
 // -----------------------------------------------------------------------------
 //
-CpPluginPlatInterface * CpPluginLoader::loadPlatCpPlugin( 
-        const QString & pluginFile )
-    {
-    SMC_MOCK_METHOD1( CpPluginPlatInterface *, const QString &, pluginFile )
-    }
+CpLauncherInterface *CpPluginLoader::loadCpLauncherInterface(const QString &pluginFile)
+{
+    SMC_MOCK_METHOD1( CpLauncherInterface *, const QString &, pluginFile )
+}
 
-
--- a/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_cpsettingformentryitemdata.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_cpsettingformentryitemdata.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -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
@@ -68,6 +68,42 @@
 
 
 // -----------------------------------------------------------------------------
+// CpSettingFormEntryItemData::CpSettingFormEntryItemData
+// -----------------------------------------------------------------------------
+//
+CpSettingFormEntryItemData::CpSettingFormEntryItemData( 
+        EntryItemType type,
+        CpItemDataHelper & itemDataHelper,
+        const QString & text,
+        const QString & description,
+        const QString & iconName,
+        const HbDataFormModelItem * parent )
+    //:
+    //CpSettingFormItemData( /*type, itemDataHelper, text, description, iconName, parent*/ )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// CpSettingFormEntryItemData::CpSettingFormEntryItemData
+// -----------------------------------------------------------------------------
+//
+CpSettingFormEntryItemData::CpSettingFormEntryItemData( 
+        EntryItemType type,
+        HbDataForm * dataForm,
+        const QString & text,
+        const QString & description,
+        const QString & iconName,
+        const HbDataFormModelItem * parent )
+    //:
+    //CpSettingFormItemData( /*type, dataForm, text, description, iconName, parent*/ )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
 // CpSettingFormEntryItemData::~CpSettingFormEntryItemData
 // -----------------------------------------------------------------------------
 //
@@ -120,12 +156,33 @@
 
 
 // -----------------------------------------------------------------------------
+// CpSettingFormEntryItemData::iconName
+// -----------------------------------------------------------------------------
+//
+QString CpSettingFormEntryItemData::iconName(  ) const
+    {
+    SMC_MOCK_METHOD0( QString )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CpSettingFormEntryItemData::setIconName
+// -----------------------------------------------------------------------------
+//
+void CpSettingFormEntryItemData::setIconName( 
+        const QString & icon )
+    {
+    SMC_MOCK_METHOD1( void, const QString &, icon )
+    }
+
+
+// -----------------------------------------------------------------------------
 // CpSettingFormEntryItemData::entryItemIcon
 // -----------------------------------------------------------------------------
 //
 HbIcon CpSettingFormEntryItemData::entryItemIcon(  ) const
     {
-//    SMC_MOCK_METHOD0( HbIcon )
+    SMC_MOCK_METHOD0( HbIcon )
     }
 
 
@@ -136,7 +193,17 @@
 void CpSettingFormEntryItemData::setEntryItemIcon( 
         const HbIcon & icon )
     {
-//    SMC_MOCK_METHOD1( void, const HbIcon &, icon )
+    SMC_MOCK_METHOD1( void, const HbIcon &, icon )
     }
 
 
+// -----------------------------------------------------------------------------
+// CpSettingFormEntryItemData::onLaunchView
+// -----------------------------------------------------------------------------
+//
+void CpSettingFormEntryItemData::onLaunchView(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
--- a/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_cptelephonypluginview.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_cptelephonypluginview.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -15,6 +15,7 @@
  *
  */
 #include <QDebug>
+#include <QVariantList>
 #include "cptelephonypluginview.h"
 
 // ============================ MEMBER FUNCTIONS ===============================
@@ -29,6 +30,15 @@
     
     }
 
+// -----------------------------------------------------------------------------
+// CpTelephonyPluginView::CpTelephonyPluginView
+// -----------------------------------------------------------------------------
+//
+CpTelephonyPluginView::CpTelephonyPluginView(const QVariantList &params)
+    :CpBaseSettingView(0, 0)
+    {
+    
+    }    
 
 // -----------------------------------------------------------------------------
 // CpTelephonyPluginView::~CpTelephonyPluginView
--- a/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_hbabstractitemview.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_hbabstractitemview.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -17,8 +17,7 @@
 #include <QDebug>
 #include <smcmockclassincludes.h>
 #include <hbabstractitemview.h>
-
-HbScrollAreaPrivate* pointerHbScrollAreaPrivate(NULL);
+#include <hbscrollarea.h>
 
 // ============================ MEMBER FUNCTIONS ===============================
 
@@ -27,10 +26,11 @@
 // -----------------------------------------------------------------------------
 //
 HbAbstractItemView::HbAbstractItemView( 
-        HbAbstractItemViewPrivate & dd,
-        HbAbstractItemContainer * container,
+        HbAbstractItemViewPrivate & /*dd*/,
+        HbAbstractItemContainer * /*container*/,
+        HbModelIterator *,
         QGraphicsItem * parent )
-    : HbScrollArea( *pointerHbScrollAreaPrivate, parent )
+    : HbScrollArea(parent)
     {
     
     }
@@ -47,23 +47,12 @@
 
 
 // -----------------------------------------------------------------------------
-// HbAbstractItemView::type
-// -----------------------------------------------------------------------------
-//
-/*
-int HbAbstractItemView::type(  ) const
-    {
-    SMC_MOCK_METHOD0( int )
-    }
-*/
-
-// -----------------------------------------------------------------------------
 // HbAbstractItemView::setModel
 // -----------------------------------------------------------------------------
 //
 void HbAbstractItemView::setModel( 
-        QAbstractItemModel * model,
-        HbAbstractViewItem * prototype )
+        QAbstractItemModel * ,
+        HbAbstractViewItem *  )
     {
 
     }
@@ -84,7 +73,7 @@
 // -----------------------------------------------------------------------------
 //
 void HbAbstractItemView::setItemPrototype( 
-        HbAbstractViewItem * prototype )
+        HbAbstractViewItem *  )
     {
 
     }
@@ -95,7 +84,7 @@
 // -----------------------------------------------------------------------------
 //
 void HbAbstractItemView::setItemPrototypes( 
-        const QList<HbAbstractViewItem *> & prototypes )
+        const QList<HbAbstractViewItem *> &  )
     {
   
     }
@@ -107,7 +96,7 @@
 //
 QList <HbAbstractViewItem * > HbAbstractItemView::itemPrototypes(  ) const
     {
-    
+    return QList <HbAbstractViewItem * >();
     }
 
 
@@ -116,7 +105,7 @@
 // -----------------------------------------------------------------------------
 //
 void HbAbstractItemView::setSelectionModel( 
-        QItemSelectionModel * selectionModel )
+        QItemSelectionModel *  )
     {
   
     }
@@ -128,7 +117,7 @@
 //
 QItemSelectionModel * HbAbstractItemView::selectionModel(  ) const
     {
-  
+    return 0;
     }
 
 
@@ -138,7 +127,7 @@
 //
 QModelIndex HbAbstractItemView::currentIndex(  ) const
     {
-   
+    return QModelIndex();
     }
 
 
@@ -148,7 +137,7 @@
 //
 QModelIndex HbAbstractItemView::rootIndex(  ) const
     {
-    
+    return QModelIndex();
     }
 
 
@@ -157,8 +146,7 @@
 // -----------------------------------------------------------------------------
 //
 void HbAbstractItemView::setSelectionMode( 
-        SelectionMode newMode,
-        bool resetSelection )
+        SelectionMode )
     {
 
     }
@@ -170,7 +158,7 @@
 //
 HbAbstractItemView::SelectionMode HbAbstractItemView::selectionMode(  ) const
     {
-
+    return NoSelection;
     }
 
 
@@ -210,12 +198,12 @@
 // HbAbstractItemView::isVisible
 // -----------------------------------------------------------------------------
 //
-bool HbAbstractItemView::isVisible( 
-        HbAbstractViewItem * item ) const
+/*bool HbAbstractItemView::isVisible( 
+        const QModelIndex & ) const
     {
-
+    return false;
     }
-
+*/
 
 // -----------------------------------------------------------------------------
 // HbAbstractItemView::currentViewItem
@@ -259,61 +247,6 @@
  
     }
 
-
-// -----------------------------------------------------------------------------
-// HbAbstractItemView::itemAtPosition
-// -----------------------------------------------------------------------------
-//
-HbAbstractViewItem * HbAbstractItemView::itemAtPosition( 
-        const QPointF & position ) const
-    {
-    
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbAbstractItemView::indexCount
-// -----------------------------------------------------------------------------
-//
-int HbAbstractItemView::indexCount(  ) const
-    {
-    SMC_MOCK_METHOD0( int )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbAbstractItemView::indexPosition
-// -----------------------------------------------------------------------------
-//
-int HbAbstractItemView::indexPosition( 
-        const QModelIndex & index ) const
-    {
-   
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbAbstractItemView::nextIndex
-// -----------------------------------------------------------------------------
-//
-QModelIndex HbAbstractItemView::nextIndex( 
-        const QModelIndex & index ) const
-    {
-
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbAbstractItemView::previousIndex
-// -----------------------------------------------------------------------------
-//
-QModelIndex HbAbstractItemView::previousIndex( 
-        const QModelIndex & index ) const
-    {
-
-    }
-
-
 // -----------------------------------------------------------------------------
 // HbAbstractItemView::layoutName
 // -----------------------------------------------------------------------------
@@ -476,92 +409,6 @@
     
     }
 
-// -----------------------------------------------------------------------------
-// HbAbstractItemView::mousePressEvent
-// -----------------------------------------------------------------------------
-//
-void HbAbstractItemView::mousePressEvent( 
-        QGraphicsSceneMouseEvent * event )
-    {
-    
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbAbstractItemView::mouseReleaseEvent
-// -----------------------------------------------------------------------------
-//
-void HbAbstractItemView::mouseReleaseEvent( 
-        QGraphicsSceneMouseEvent * event )
-    {
-    
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbAbstractItemView::mouseMoveEvent
-// -----------------------------------------------------------------------------
-//
-void HbAbstractItemView::mouseMoveEvent( 
-        QGraphicsSceneMouseEvent * event )
-    {
-    
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbAbstractItemView::focusOutEvent
-// -----------------------------------------------------------------------------
-//
-void HbAbstractItemView::focusOutEvent( 
-        QFocusEvent * event )
-    {
-    
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbAbstractItemView::upGesture
-// -----------------------------------------------------------------------------
-//
-void HbAbstractItemView::upGesture( 
-        int value )
-    {
-    SMC_MOCK_METHOD1( void, int, value )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbAbstractItemView::downGesture
-// -----------------------------------------------------------------------------
-//
-void HbAbstractItemView::downGesture( 
-        int value )
-    {
-    SMC_MOCK_METHOD1( void, int, value )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbAbstractItemView::leftGesture
-// -----------------------------------------------------------------------------
-//
-void HbAbstractItemView::leftGesture( 
-        int value )
-    {
-    SMC_MOCK_METHOD1( void, int, value )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbAbstractItemView::rightGesture
-// -----------------------------------------------------------------------------
-//
-void HbAbstractItemView::rightGesture( 
-        int value )
-    {
-    SMC_MOCK_METHOD1( void, int, value )
-    }
 
 
 // -----------------------------------------------------------------------------
@@ -607,17 +454,6 @@
    
     }
 
-
-// -----------------------------------------------------------------------------
-// HbAbstractItemView::container
-// -----------------------------------------------------------------------------
-//
-HbAbstractItemContainer * HbAbstractItemView::container(  ) const
-    {
-    
-    }
-
-
 // -----------------------------------------------------------------------------
 // HbAbstractItemView::itemChange
 // -----------------------------------------------------------------------------
@@ -791,25 +627,4 @@
     }
 
 
-// -----------------------------------------------------------------------------
-// HbAbstractItemView::panGesture
-// -----------------------------------------------------------------------------
-//
-void HbAbstractItemView::panGesture( 
-        const QPointF & point )
-    {
-    
-    }
 
-
-// -----------------------------------------------------------------------------
-// HbAbstractItemView::longPressGesture
-// -----------------------------------------------------------------------------
-//
-void HbAbstractItemView::longPressGesture( 
-        const QPointF & point )
-    {
-    
-    }
-
-
--- a/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_hbaction.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_hbaction.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -52,7 +52,7 @@
 // -----------------------------------------------------------------------------
 //
 HbAction::HbAction( 
-        Hb::SoftKeyAction action,
+        Hb::NavigationAction action,
         QObject * parent )
     : QAction( parent ), d_ptr(NULL)
     {
--- a/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_hbcheckbox.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_hbcheckbox.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -17,7 +17,6 @@
 
 #include <QDebug>
 #include <hbcheckbox.h>
-#include <hbstyleoptioncheckbox.h>
 #include <QGraphicsSceneMouseEvent>
 #include <QGraphicsItem>
 #include <smcmockclassincludes.h>
@@ -30,7 +29,7 @@
 // -----------------------------------------------------------------------------
 //
 HbCheckBox::HbCheckBox( 
-        const QString & text,
+        const QString & /*text*/,
         QGraphicsItem * parent )
     :
     HbAbstractButton( parent )
@@ -138,9 +137,9 @@
 // -----------------------------------------------------------------------------
 //
 void HbCheckBox::initStyleOption( 
-        HbStyleOptionCheckBox * option ) const
+        HbStyleOptionCheckBox *  ) const
     {
-    SMC_MOCK_METHOD1( void, HbStyleOptionCheckBox *, option )
+    
     }
 
 
@@ -186,6 +185,7 @@
     }
 
 
+#ifndef HB_GESTURE_FW
 // -----------------------------------------------------------------------------
 // HbCheckBox::mouseReleaseEvent
 // -----------------------------------------------------------------------------
@@ -206,6 +206,18 @@
     {
     SMC_MOCK_METHOD1( void, QGraphicsSceneMouseEvent *, event )
     }
+#endif
+#ifdef HB_GESTURE_FW
+    // -----------------------------------------------------------------------------
+    // HbCheckBox::gestureEvent
+    // -----------------------------------------------------------------------------
+    //
+    void HbCheckBox::gestureEvent( 
+            QGestureEvent * event )
+        {
+        SMC_MOCK_METHOD1( void, QGestureEvent *, event )
+        }
+#endif
 
 
 // -----------------------------------------------------------------------------
--- a/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_hbdataform.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_hbdataform.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -30,7 +30,7 @@
 HbDataForm::HbDataForm( 
         HbDataFormPrivate & /*dd*/,
         HbAbstractItemContainer * /*container*/,
-        QGraphicsItem * parent ) : HbAbstractItemView( *temp, temp2, parent)
+        QGraphicsItem * parent ) : HbAbstractItemView( *temp, temp2, 0, parent)
     {
     
     }
@@ -81,39 +81,6 @@
     //    ScrollHint, hint )
     }
 
-
-// -----------------------------------------------------------------------------
-// HbDataForm::indexCount
-// -----------------------------------------------------------------------------
-//
-int HbDataForm::indexCount(  ) const
-    {
-    SMC_MOCK_METHOD0( int )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbDataForm::nextIndex
-// -----------------------------------------------------------------------------
-//
-QModelIndex HbDataForm::nextIndex( 
-        const QModelIndex & index ) const
-    {
-//    SMC_MOCK_METHOD1( QModelIndex, const QModelIndex &, index )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbDataForm::previousIndex
-// -----------------------------------------------------------------------------
-//
-QModelIndex HbDataForm::previousIndex( 
-        const QModelIndex & index ) const
-    {
-//    SMC_MOCK_METHOD1( QModelIndex, const QModelIndex &, index )
-    }
-
-
 // -----------------------------------------------------------------------------
 // HbDataForm::setExpanded
 // -----------------------------------------------------------------------------
@@ -192,17 +159,6 @@
 
 
 // -----------------------------------------------------------------------------
-// HbDataForm::dataFormViewItem
-// -----------------------------------------------------------------------------
-//
-HbDataFormViewItem * HbDataForm::dataFormViewItem( 
-        const QModelIndex & index ) const
-    {
-  //  SMC_MOCK_METHOD1( HbDataFormViewItem *, const QModelIndex &, index )
-    }
-
-
-// -----------------------------------------------------------------------------
 // HbDataForm::setModel
 // -----------------------------------------------------------------------------
 //
@@ -271,26 +227,6 @@
 
 
 // -----------------------------------------------------------------------------
-// HbDataForm::loadSettings
-// -----------------------------------------------------------------------------
-//
-void HbDataForm::loadSettings(  )
-    {
-    SMC_MOCK_METHOD0( void )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbDataForm::storeSettings
-// -----------------------------------------------------------------------------
-//
-void HbDataForm::storeSettings(  )
-    {
-    SMC_MOCK_METHOD0( void )
-    }
-
-
-// -----------------------------------------------------------------------------
 // HbDataForm::itemShown
 // -----------------------------------------------------------------------------
 //
--- a/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_hbdialog.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_hbdialog.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -17,7 +17,7 @@
 #include <QDebug>
 #include <smcmockclassincludes.h>
 #include <hbdialog.h>
-#include <HbAction.h>
+#include <hbaction.h>
 
 // ============================ MEMBER FUNCTIONS ===============================
 
@@ -127,28 +127,6 @@
   //  SMC_MOCK_METHOD1( void, HbAction *, action )
     }
 
-
-// -----------------------------------------------------------------------------
-// HbDialog::type
-// -----------------------------------------------------------------------------
-//
-/*
-int HbDialog::type(  ) const
-    {
-    SMC_MOCK_METHOD0( int )
-    }
-*/
-
-// -----------------------------------------------------------------------------
-// HbDialog::exec
-// -----------------------------------------------------------------------------
-//
-HbAction * HbDialog::exec(  )
-    {
-  //  SMC_MOCK_METHOD0( HbAction * )
-    }
-
-
 // -----------------------------------------------------------------------------
 // HbDialog::HbDialog
 // -----------------------------------------------------------------------------
@@ -206,4 +184,12 @@
   //  SMC_MOCK_METHOD1( bool, QEvent *, event )
     }
 
+// -----------------------------------------------------------------------------
+// HbDialog::open
+// -----------------------------------------------------------------------------
+//
+void HbDialog::open( QObject* receiver, const char* member )
+    {
+        SMC_MOCK_METHOD2( void, QObject *, receiver, const char*, member )
+    }
 
--- a/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_hbicon.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_hbicon.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -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
@@ -44,7 +44,7 @@
 // -----------------------------------------------------------------------------
 //
 HbIcon::HbIcon( 
-        const QString & iconName )
+        const QString & /*iconName*/ )
     {
     
     }
@@ -55,7 +55,7 @@
 // -----------------------------------------------------------------------------
 //
 HbIcon::HbIcon( 
-        const QIcon & icon )
+        const QIcon & /*icon*/ )
     {
     
     }
@@ -66,7 +66,7 @@
 // -----------------------------------------------------------------------------
 //
 HbIcon::HbIcon( 
-        const HbIcon & other )
+        const HbIcon & /*other*/ )
     {
     
     }
@@ -92,6 +92,16 @@
 
 
 // -----------------------------------------------------------------------------
+// HbIcon::isBadged
+// -----------------------------------------------------------------------------
+//
+bool HbIcon::isBadged(  ) const
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+
+// -----------------------------------------------------------------------------
 // HbIcon::clear
 // -----------------------------------------------------------------------------
 //
@@ -116,7 +126,7 @@
 // -----------------------------------------------------------------------------
 //
 void HbIcon::setColor( 
-        const QColor & color )
+        const QColor & /*color*/ )
     {
 //    SMC_MOCK_METHOD1( void, const QColor &, color )
     }
@@ -158,8 +168,8 @@
 // -----------------------------------------------------------------------------
 //
 QString HbIcon::iconName( 
-        QIcon::Mode mode,
-        QIcon::State state ) const
+        QIcon::Mode /*mode*/,
+        QIcon::State /*state*/ ) const
     {
 //    SMC_MOCK_METHOD2( QString, QIcon::Mode, mode, 
 //        QIcon::State, state )
@@ -171,9 +181,9 @@
 // -----------------------------------------------------------------------------
 //
 void HbIcon::setIconName( 
-        const QString & iconName,
-        QIcon::Mode mode,
-        QIcon::State state )
+        const QString & /*iconName*/,
+        QIcon::Mode /*mode*/,
+        QIcon::State /*state*/ )
     {
 //    SMC_MOCK_METHOD3( void, const QString &, iconName, 
 //        QIcon::Mode, mode, 
@@ -206,7 +216,7 @@
 // -----------------------------------------------------------------------------
 //
 void HbIcon::setSize( 
-        const QSizeF & size )
+        const QSizeF & /*size*/ )
     {
 //    SMC_MOCK_METHOD1( void, const QSizeF &, size )
     }
@@ -217,7 +227,7 @@
 // -----------------------------------------------------------------------------
 //
 void HbIcon::setHeight( 
-        qreal height )
+        qreal /*height*/ )
     {
 //    SMC_MOCK_METHOD1( void, qreal, height )
     }
@@ -228,7 +238,7 @@
 // -----------------------------------------------------------------------------
 //
 void HbIcon::setWidth( 
-        qreal width )
+        qreal /*width*/ )
     {
 //    SMC_MOCK_METHOD1( void, qreal, width )
     }
@@ -253,22 +263,44 @@
 //    SMC_MOCK_METHOD0( qreal )
     }
 
+
+// -----------------------------------------------------------------------------
+// HbIcon::mirroringMode
+// -----------------------------------------------------------------------------
+//
+HbIcon::MirroringMode HbIcon::mirroringMode(  ) const
+    {
+    SMC_MOCK_METHOD0( MirroringMode )
+    }
+
+
 // -----------------------------------------------------------------------------
 // HbIcon::setMirroringMode
 // -----------------------------------------------------------------------------
 //
 void HbIcon::setMirroringMode( 
-        MirroringMode mode )
+        HbIcon::MirroringMode /*mode*/ )
     {
 //    SMC_MOCK_METHOD1( void, MirroringMode, mode )
     }
 
+
+// -----------------------------------------------------------------------------
+// HbIcon::flags
+// -----------------------------------------------------------------------------
+//
+HbIcon::Flags HbIcon::flags(  ) const
+    {
+    //SMC_MOCK_METHOD0( Flags )
+    }
+
+
 // -----------------------------------------------------------------------------
 // HbIcon::setFlags
 // -----------------------------------------------------------------------------
 //
 void HbIcon::setFlags( 
-        Flags flags )
+        Flags /*flags*/ )
     {
 //    SMC_MOCK_METHOD1( void, Flags, flags )
     }
@@ -279,12 +311,12 @@
 // -----------------------------------------------------------------------------
 //
 void HbIcon::paint( 
-        QPainter * painter,
-        const QRectF & rect,
-        Qt::AspectRatioMode aspectRatioMode,
-        Qt::Alignment alignment,
-        QIcon::Mode mode,
-        QIcon::State state ) const
+        QPainter * /*painter*/,
+        const QRectF & /*rect*/,
+        Qt::AspectRatioMode /*aspectRatioMode*/,
+        Qt::Alignment /*alignment*/,
+        QIcon::Mode /*mode*/,
+        QIcon::State /*state*/ ) const
     {
 /*    SMC_MOCK_METHOD6( void, QPainter *, painter, 
         const QRectF &, rect, 
@@ -296,6 +328,17 @@
 
 
 // -----------------------------------------------------------------------------
+// HbIcon::QVariant
+// -----------------------------------------------------------------------------
+//
+/*
+operator HbIcon::QVariant(  ) const
+    {
+    SMC_MOCK_METHOD0( operator )
+    }
+*/
+
+// -----------------------------------------------------------------------------
 // HbIcon::qicon
 // -----------------------------------------------------------------------------
 //
@@ -305,3 +348,41 @@
     }
 
 
+// -----------------------------------------------------------------------------
+// HbIcon::addBadge
+// -----------------------------------------------------------------------------
+//
+bool HbIcon::addBadge( 
+        Qt::Alignment alignment,
+        const HbIcon & badge,
+        int z )
+    {
+   /*
+    SMC_MOCK_METHOD3( bool, Qt::Alignment, alignment, 
+        const HbIcon &, badge, 
+        int, z )
+        */
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbIcon::removeBadge
+// -----------------------------------------------------------------------------
+//
+bool HbIcon::removeBadge( 
+        const HbIcon & badge )
+    {
+   // SMC_MOCK_METHOD1( bool, const HbIcon &, badge )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbIcon::removeAllBadges
+// -----------------------------------------------------------------------------
+//
+void HbIcon::removeAllBadges(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
--- a/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_hblistview.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_hblistview.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -18,7 +18,6 @@
 #include <smcmockclassincludes.h>
 #include <hblistview.h>
 #include <hbabstractitemview.h>
-#include <hbabstractitemcontainer.h>
 
 HbAbstractItemViewPrivate *pointerHbAbstractItemViewPrivate(NULL);
 HbAbstractItemContainer *pointerHbAbstractItemContainer(NULL);
@@ -33,13 +32,13 @@
         HbListViewPrivate & dd,
         HbAbstractItemContainer * container,
         QGraphicsItem * parent )
-    : HbAbstractItemView( *pointerHbAbstractItemViewPrivate, pointerHbAbstractItemContainer, parent )
+    : HbAbstractItemView( *pointerHbAbstractItemViewPrivate, pointerHbAbstractItemContainer, 0, parent )
     {
     
     }
 
 HbListView::HbListView(QGraphicsItem *parent)
-    : HbAbstractItemView( *pointerHbAbstractItemViewPrivate, pointerHbAbstractItemContainer, parent )
+    : HbAbstractItemView( *pointerHbAbstractItemViewPrivate, pointerHbAbstractItemContainer, 0, parent )
 		{
 		
 		}
@@ -189,38 +188,6 @@
     }
 
 
-// -----------------------------------------------------------------------------
-// HbListView::mousePressEvent
-// -----------------------------------------------------------------------------
-//
-void HbListView::mousePressEvent( 
-        QGraphicsSceneMouseEvent * event )
-    {
-  //   SMC_MOCK_METHOD1( void, QGraphicsSceneMouseEvent *, event )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbListView::mouseReleaseEvent
-// -----------------------------------------------------------------------------
-//
-void HbListView::mouseReleaseEvent( 
-        QGraphicsSceneMouseEvent * event )
-    {
-  //   SMC_MOCK_METHOD1( void, QGraphicsSceneMouseEvent *, event )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbListView::mouseMoveEvent
-// -----------------------------------------------------------------------------
-//
-void HbListView::mouseMoveEvent( 
-        QGraphicsSceneMouseEvent * event )
-    {
-  //   SMC_MOCK_METHOD1( void, QGraphicsSceneMouseEvent *, event )
-    }
-
 
 // -----------------------------------------------------------------------------
 // HbListView::move
--- a/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_hbpopup.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_hbpopup.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -196,16 +196,6 @@
 
 
 // -----------------------------------------------------------------------------
-// HbPopup::exec
-// -----------------------------------------------------------------------------
-//
-void HbPopup::exec(  )
-    {
-    SMC_MOCK_METHOD0( void )
-    }
-
-
-// -----------------------------------------------------------------------------
 // HbPopup::aboutToShow
 // -----------------------------------------------------------------------------
 //
@@ -284,15 +274,6 @@
     }
 
 
-// -----------------------------------------------------------------------------
-// HbPopup::keyPressEvent
-// -----------------------------------------------------------------------------
-//
-void HbPopup::keyPressEvent( 
-        QKeyEvent * event )
-    {
-    //SMC_MOCK_METHOD1( void, QKeyEvent *, event )
-    }
 
 
 // -----------------------------------------------------------------------------
--- a/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_hbscrollarea.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_hbscrollarea.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -374,15 +374,6 @@
     }
 
 
-// -----------------------------------------------------------------------------
-// HbScrollArea::mouseReleaseEvent
-// -----------------------------------------------------------------------------
-//
-void HbScrollArea::mouseReleaseEvent( 
-        QGraphicsSceneMouseEvent * event )
-    {
-
-    }
 
 
 // -----------------------------------------------------------------------------
@@ -496,15 +487,7 @@
     }
 
 
-// -----------------------------------------------------------------------------
-// HbScrollArea::gestureSceneFilterChanged
-// -----------------------------------------------------------------------------
-//
-void HbScrollArea::gestureSceneFilterChanged( 
-        HbGestureSceneFilter * newFilter )
-    {
-   
-    }
+
 
 
 // -----------------------------------------------------------------------------
--- a/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_hbview.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_hbview.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -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
@@ -25,7 +25,7 @@
 // -----------------------------------------------------------------------------
 //
 HbView::HbView( 
-        QGraphicsItem * parent )
+        QGraphicsItem * /*parent*/ )
     //:
     //HbWidget( /*parent*/ )
     {
@@ -219,19 +219,11 @@
 // -----------------------------------------------------------------------------
 //
 void HbView::setItemVisible( 
-        Hb::SceneItem ,
-        bool  )
+        Hb::SceneItem item,
+        bool visible )
     {
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbView::unsetVisibleItems
-// -----------------------------------------------------------------------------
-//
-void HbView::unsetVisibleItems(  )
-    {
-    SMC_MOCK_METHOD0( void )
+    SMC_MOCK_METHOD2( void, Hb::SceneItem, item, 
+        bool, visible )
     }
 
 
@@ -246,11 +238,12 @@
 
 
 // -----------------------------------------------------------------------------
-// HbView::titleBarFlags
+// HbView::viewFlags
 // -----------------------------------------------------------------------------
 //
-HbView::HbTitleBarFlags HbView::titleBarFlags(  ) const
+HbView::HbViewFlags HbView::viewFlags(  ) const
     {
+    // SMC_MOCK_METHOD0( HbViewFlags )
     }
 
 
@@ -265,15 +258,49 @@
     }
 
 
+// -----------------------------------------------------------------------------
+// HbView::setStatusBarVisible
+// -----------------------------------------------------------------------------
+//
+void HbView::setStatusBarVisible( 
+        bool visible )
+    {
+    SMC_MOCK_METHOD1( void, bool, visible )
+    }
+
+
 
 // -----------------------------------------------------------------------------
 // HbView::addAction
 // -----------------------------------------------------------------------------
 //
 void HbView::addAction( 
-        HbAction * ,
-        ActionContainer  )
+        HbAction * action,
+        ActionContainer preferredActionContainer )
     {
+   // SMC_MOCK_METHOD2( void, HbAction *, action, 
+     //   ActionContainer, preferredActionContainer )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbView::navigationAction
+// -----------------------------------------------------------------------------
+//
+HbAction * HbView::navigationAction(  ) const
+    {
+    SMC_MOCK_METHOD0( HbAction * )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbView::setNavigationAction
+// -----------------------------------------------------------------------------
+//
+void HbView::setNavigationAction( 
+        HbAction * action )
+    {
+ //   SMC_MOCK_METHOD1( void, HbAction *, action )
     }
 
 
@@ -300,12 +327,75 @@
 
 
 // -----------------------------------------------------------------------------
-// HbView::setTitleBarFlags
+// HbView::setViewFlags
+// -----------------------------------------------------------------------------
+//
+void HbView::setViewFlags( 
+        HbViewFlags flags )
+    {
+  //  SMC_MOCK_METHOD1( void, HbViewFlags, flags )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbView::titleChanged
+// -----------------------------------------------------------------------------
+//
+void HbView::titleChanged( 
+        const QString & title )
+    {
+    SMC_MOCK_METHOD1( void, const QString &, title )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbView::iconChanged
 // -----------------------------------------------------------------------------
 //
-void HbView::setTitleBarFlags( 
-        HbView::HbTitleBarFlags  )
+void HbView::iconChanged( 
+        const HbIcon & icon )
+    {
+  //  SMC_MOCK_METHOD1( void, const HbIcon &, icon )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbView::toolBarChanged
+// -----------------------------------------------------------------------------
+//
+void HbView::toolBarChanged(  )
     {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbView::visibleItemsChanged
+// -----------------------------------------------------------------------------
+//
+void HbView::visibleItemsChanged(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbView::contentFullScreenChanged
+// -----------------------------------------------------------------------------
+//
+void HbView::contentFullScreenChanged(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbView::dockWidgetChanged
+// -----------------------------------------------------------------------------
+//
+void HbView::dockWidgetChanged(  )
+    {
+    SMC_MOCK_METHOD0( void )
     }
 
 
@@ -314,8 +404,8 @@
 // -----------------------------------------------------------------------------
 //
 HbView::HbView( 
-        HbViewPrivate & ,
-        QGraphicsItem *  )
+        HbViewPrivate & dd,
+        QGraphicsItem * parent )
     //:
     //HbWidget( /*dd, parent*/ )
     {
@@ -328,8 +418,9 @@
 // -----------------------------------------------------------------------------
 //
 bool HbView::event( 
-        QEvent *  )
+        QEvent * event )
     {
+  //  SMC_MOCK_METHOD1( bool, QEvent *, event )
     }
 
 
--- a/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_hbwidget.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_hbwidget.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -125,6 +125,7 @@
 HbMainWindow * HbWidget::mainWindow(  ) const
     {
    // SMC_MOCK_METHOD0( HbMainWindow * )
+    return 0;
     }
 
 
@@ -133,9 +134,10 @@
 // -----------------------------------------------------------------------------
 //
 QGraphicsItem * HbWidget::primitive( 
-        HbStyle::Primitive primitive ) const
+        HbStyle::Primitive  ) const
     {
   //  SMC_MOCK_METHOD1( QGraphicsItem *, HbStyle::Primitive, primitive )
+    return 0;
     }
 
 
@@ -144,8 +146,8 @@
 // -----------------------------------------------------------------------------
 //
 void HbWidget::setFocusOrientation( 
-        Qt::Orientations previous,
-        Qt::Orientations next )
+        Qt::Orientations ,
+        Qt::Orientations  )
     {
    // SMC_MOCK_METHOD2( void, Qt::Orientations, previous, 
      //   Qt::Orientations, next )
@@ -159,6 +161,7 @@
 QKeySequence HbWidget::keyForFocusNextChild(  ) const
     {
    // SMC_MOCK_METHOD0( QKeySequence )
+    return QKeySequence();
     }
 
 
@@ -169,6 +172,7 @@
 QKeySequence HbWidget::keyForFocusPreviousChild(  ) const
     {
   //  SMC_MOCK_METHOD0( QKeySequence )
+    return QKeySequence();
     }
 
 
@@ -177,7 +181,7 @@
 // -----------------------------------------------------------------------------
 //
 void HbWidget::setKeyFocusMode( 
-        const QKeySequence & key )
+        const QKeySequence &  )
     {
 //    SMC_MOCK_METHOD1( void, const QKeySequence &, key )
     }
@@ -190,6 +194,7 @@
 QKeySequence HbWidget::keyFocusMode(  ) const
     {
 //    SMC_MOCK_METHOD0( QKeySequence )
+    return QKeySequence();
     }
 
 
@@ -200,6 +205,7 @@
 QGraphicsItem * HbWidget::lastFocusedChild(  ) const
     {
  //   SMC_MOCK_METHOD0( QGraphicsItem * )
+    return 0;
     }
 
 
@@ -208,8 +214,8 @@
 // -----------------------------------------------------------------------------
 //
 void HbWidget::setFocusOrder( 
-        QGraphicsItem * first,
-        QGraphicsItem * second )
+        QGraphicsItem * ,
+        QGraphicsItem *  )
     {
    // SMC_MOCK_METHOD2( void, QGraphicsItem *, first, 
      //   QGraphicsItem *, second )
@@ -221,7 +227,7 @@
 // -----------------------------------------------------------------------------
 //
 void HbWidget::setFocusDelegation( 
-        HbWidget::FocusDelegation focusDelegation )
+        HbWidget::FocusDelegation  )
     {
  //   SMC_MOCK_METHOD1( void, HbWidget::FocusDelegation, focusDelegation )
     }
@@ -284,8 +290,8 @@
 // -----------------------------------------------------------------------------
 //
 void HbWidget::setFocusHighlight( 
-        HbStyle::Primitive type,
-        HbWidget::FocusHighlight focusHighlight )
+        HbStyle::Primitive ,
+        HbWidget::FocusHighlight  )
     {
   //  SMC_MOCK_METHOD2( void, HbStyle::Primitive, type, 
     //    HbWidget::FocusHighlight, focusHighlight )
@@ -297,7 +303,7 @@
 // -----------------------------------------------------------------------------
 //
 HbStyle::Primitive HbWidget::focusHighlight( 
-        HbWidget::FocusHighlight focusHighlight )
+        HbWidget::FocusHighlight  )
     {
  //   SMC_MOCK_METHOD1( HbStyle::Primitive, HbWidget::FocusHighlight, focusHighlight )
     }
@@ -308,8 +314,8 @@
 // -----------------------------------------------------------------------------
 //
 void HbWidget::setBackgroundItem( 
-        HbStyle::Primitive type,
-        int zValue )
+        HbStyle::Primitive ,
+        int  )
     {
   //  SMC_MOCK_METHOD2( void, HbStyle::Primitive, type, 
     //    int, zValue )
@@ -321,8 +327,8 @@
 // -----------------------------------------------------------------------------
 //
 void HbWidget::setBackgroundItem( 
-        QGraphicsItem * item,
-        int zValue )
+        QGraphicsItem * ,
+        int  )
     {
    // SMC_MOCK_METHOD2( void, QGraphicsItem *, item, 
      //   int, zValue )
@@ -340,30 +346,6 @@
 
 
 // -----------------------------------------------------------------------------
-// HbWidget::overrideFeedback
-// -----------------------------------------------------------------------------
-//
-HbFeedback::InstantEffect HbWidget::overrideFeedback( 
-        Hb::InstantInteraction interaction ) const
-    {
-  //  SMC_MOCK_METHOD1( HbFeedback::InstantEffect, Hb::InstantInteraction, interaction )
-    }
-
-
-// -----------------------------------------------------------------------------
-// HbWidget::overrideContinuousFeedback
-// -----------------------------------------------------------------------------
-//
-HbFeedback::ContinuousEffect HbWidget::overrideContinuousFeedback( 
-        Hb::ContinuousInteraction interaction,
-        int * intensity ) const
-    {
-  //  SMC_MOCK_METHOD2( HbFeedback::ContinuousEffect, Hb::ContinuousInteraction, interaction, 
-    //    int *, intensity )
-    }
-
-
-// -----------------------------------------------------------------------------
 // HbWidget::recreatePrimitives
 // -----------------------------------------------------------------------------
 //
@@ -483,15 +465,6 @@
     }
 
 
-// -----------------------------------------------------------------------------
-// HbWidget::gestureEvent
-// -----------------------------------------------------------------------------
-//
-void HbWidget::gestureEvent( 
-        QGestureEvent * event )
-    {
-  //  SMC_MOCK_METHOD1( void, QGestureEvent *, event )
-    }
 
 
 // -----------------------------------------------------------------------------
@@ -499,9 +472,9 @@
 // -----------------------------------------------------------------------------
 //
 HbWidget::HbWidget( 
-        HbWidgetPrivate & dd,
-        QGraphicsItem * parent,
-        Qt::WindowFlags wFlags )
+        HbWidgetPrivate & /*dd*/,
+        QGraphicsItem * /*parent*/,
+        Qt::WindowFlags /*wFlags*/ )
     //:
     //HbWidgetBase( /*dd, parent, wFlags*/ )
     {
@@ -509,3 +482,13 @@
     }
 
 
+// -----------------------------------------------------------------------------
+// HbWidget::hideFocusHighlight
+// -----------------------------------------------------------------------------
+//
+void HbWidget::hideFocusHighlight()
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+ 
--- a/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_psetcalldivertingwrapper.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_psetcalldivertingwrapper.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -26,9 +26,11 @@
 //
 PSetCallDivertingWrapper::PSetCallDivertingWrapper( 
         CPsetContainer & psetContainer,
-        QObject * parent ) : QObject( parent )
+        QObject * parent )
+    //:
+    //QObject( /*psetContainer, parent*/ )
     {
-    Q_UNUSED(psetContainer);
+    
     }
 
 
@@ -88,15 +90,10 @@
 void PSetCallDivertingWrapper::getDefaultNumbers( 
         QStringList & aDefNumbers )
     {
-    static int i =0;
-    if(i == 0){
-        QStringList list;
-        list << "0401234567" << "0501234567" << "0451234567";
-        aDefNumbers = list;
-        i=1;
-    }else{
-        i=0;
-    }
+    QStringList list;
+    list << "0401234567" << "0501234567" << "0451234567";
+    aDefNumbers = list;
+    
     SMC_MOCK_METHOD1( void, QStringList &, aDefNumbers )
     }
 
@@ -111,11 +108,29 @@
     SMC_MOCK_METHOD1( void, QString, aNumber )
     }
 
+
 // -----------------------------------------------------------------------------
 // PSetCallDivertingWrapper::getVoiceMailBoxNumber
 // -----------------------------------------------------------------------------
 //
-void PSetCallDivertingWrapper::getVoiceMailBoxNumber(QString &number)
-{
-    SMC_MOCK_METHOD1( void, QString&, number )
-}
\ No newline at end of file
+int PSetCallDivertingWrapper::getVoiceMailBoxNumber( 
+        QString & aNumber,
+        PsService aService )
+    {
+    SMC_MOCK_METHOD2( int, QString &, aNumber, 
+        PsService, aService )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PSetCallDivertingWrapper::queryVoiceMailBoxNumber
+// -----------------------------------------------------------------------------
+//
+int PSetCallDivertingWrapper::queryVoiceMailBoxNumber( 
+        QString & aNumber,
+        PsService aService )
+    {
+    SMC_MOCK_METHOD2( int, QString &, aNumber, 
+        PsService, aService )
+    }
+
--- a/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_psetnetworkwrapper.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_psetnetworkwrapper.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -16,7 +16,7 @@
 */
 #include <QDebug>
 #include <smcmockclassincludes.h>
-#include "psetnetworkwrapper.h"
+#include <psetnetworkwrapper.h>
 
 // ============================ MEMBER FUNCTIONS ===============================
 
@@ -38,7 +38,7 @@
 //
 PSetNetworkWrapper::~PSetNetworkWrapper(  )
     {
-
+    
     }
 
 
@@ -105,3 +105,14 @@
     }
 
 
+// -----------------------------------------------------------------------------
+// PSetNetworkWrapper::isManualNetworkSelectionSupported
+// -----------------------------------------------------------------------------
+//
+bool PSetNetworkWrapper::isManualNetworkSelectionSupported(  ) const
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_qsysteminfo.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,544 @@
+/*
+* 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 <QDebug>
+#include <smcmockclassincludes.h>
+#include <qsysteminfo.h>
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+QTM_BEGIN_NAMESPACE
+
+
+// -----------------------------------------------------------------------------
+// QSystemStorageInfo::~QSystemStorageInfo
+// -----------------------------------------------------------------------------
+//
+QSystemStorageInfo::~QSystemStorageInfo(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemStorageInfo::totalDiskSpace
+// -----------------------------------------------------------------------------
+//
+Q_INVOKABLE qlonglong QSystemStorageInfo::totalDiskSpace( 
+        const QString & driveVolume )
+    {
+    SMC_MOCK_METHOD1( Q_INVOKABLE qlonglong, const QString &, driveVolume )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemStorageInfo::availableDiskSpace
+// -----------------------------------------------------------------------------
+//
+Q_INVOKABLE qlonglong QSystemStorageInfo::availableDiskSpace( 
+        const QString & driveVolume )
+    {
+    SMC_MOCK_METHOD1( Q_INVOKABLE qlonglong, const QString &, driveVolume )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemStorageInfo::logicalDrives
+// -----------------------------------------------------------------------------
+//
+QStringList QSystemStorageInfo::logicalDrives(  )
+    {
+    SMC_MOCK_METHOD0( QStringList )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemStorageInfo::typeForDrive
+// -----------------------------------------------------------------------------
+//
+Q_INVOKABLE QSystemStorageInfo::DriveType QSystemStorageInfo::typeForDrive( 
+        const QString & driveVolume )
+    {
+    SMC_MOCK_METHOD1( Q_INVOKABLE QSystemStorageInfo::DriveType, const QString &, driveVolume )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemDeviceInfo::QSystemDeviceInfo
+// -----------------------------------------------------------------------------
+//
+QSystemDeviceInfo::QSystemDeviceInfo( 
+        QObject * parent )
+    //:
+    //QObject( /*parent*/ )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemDeviceInfo::~QSystemDeviceInfo
+// -----------------------------------------------------------------------------
+//
+QSystemDeviceInfo::~QSystemDeviceInfo(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemDeviceInfo::inputMethodType
+// -----------------------------------------------------------------------------
+//
+QSystemDeviceInfo::InputMethodFlags QSystemDeviceInfo::inputMethodType(  )
+    {
+    SMC_MOCK_METHOD0( QSystemDeviceInfo::InputMethodFlags )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemDeviceInfo::imei
+// -----------------------------------------------------------------------------
+//
+QString QSystemDeviceInfo::imei(  )
+    {
+    SMC_MOCK_METHOD0( QString )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemDeviceInfo::imsi
+// -----------------------------------------------------------------------------
+//
+QString QSystemDeviceInfo::imsi(  )
+    {
+    SMC_MOCK_METHOD0( QString )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemDeviceInfo::manufacturer
+// -----------------------------------------------------------------------------
+//
+QString QSystemDeviceInfo::manufacturer(  )
+    {
+    SMC_MOCK_METHOD0( QString )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemDeviceInfo::model
+// -----------------------------------------------------------------------------
+//
+QString QSystemDeviceInfo::model(  )
+    {
+    SMC_MOCK_METHOD0( QString )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemDeviceInfo::productName
+// -----------------------------------------------------------------------------
+//
+QString QSystemDeviceInfo::productName(  )
+    {
+    SMC_MOCK_METHOD0( QString )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemDeviceInfo::batteryLevel
+// -----------------------------------------------------------------------------
+//
+int QSystemDeviceInfo::batteryLevel(  ) const
+    {
+    SMC_MOCK_METHOD0( int )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemDeviceInfo::batteryStatus
+// -----------------------------------------------------------------------------
+//
+QSystemDeviceInfo::BatteryStatus QSystemDeviceInfo::batteryStatus(  )
+    {
+    SMC_MOCK_METHOD0( QSystemDeviceInfo::BatteryStatus )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemDeviceInfo::isDeviceLocked
+// -----------------------------------------------------------------------------
+//
+bool QSystemDeviceInfo::isDeviceLocked(  )
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemDeviceInfo::simStatus
+// -----------------------------------------------------------------------------
+//
+QSystemDeviceInfo::SimStatus QSystemDeviceInfo::simStatus(  )
+    {
+    SMC_MOCK_METHOD0( QSystemDeviceInfo::SimStatus )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemDeviceInfo::currentProfile
+// -----------------------------------------------------------------------------
+//
+QSystemDeviceInfo::Profile QSystemDeviceInfo::currentProfile(  )
+    {
+    SMC_MOCK_METHOD0( QSystemDeviceInfo::Profile )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemDeviceInfo::currentPowerState
+// -----------------------------------------------------------------------------
+//
+QSystemDeviceInfo::PowerState QSystemDeviceInfo::currentPowerState(  )
+    {
+    SMC_MOCK_METHOD0( QSystemDeviceInfo::PowerState )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemInfo::QSystemInfo
+// -----------------------------------------------------------------------------
+//
+QSystemInfo::QSystemInfo( 
+        QObject * parent )
+    //:
+    //QObject( /*parent*/ )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemInfo::~QSystemInfo
+// -----------------------------------------------------------------------------
+//
+QSystemInfo::~QSystemInfo(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemInfo::currentLanguage
+// -----------------------------------------------------------------------------
+//
+QString QSystemInfo::currentLanguage(  )
+    {
+    SMC_MOCK_METHOD0( QString )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemInfo::availableLanguages
+// -----------------------------------------------------------------------------
+//
+QStringList QSystemInfo::availableLanguages(  )
+    {
+    SMC_MOCK_METHOD0( QStringList )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemInfo::currentCountryCode
+// -----------------------------------------------------------------------------
+//
+QString QSystemInfo::currentCountryCode(  )
+    {
+    SMC_MOCK_METHOD0( QString )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemInfo::version
+// -----------------------------------------------------------------------------
+//
+QString QSystemInfo::version( 
+        QSystemInfo::Version type,
+        const QString & parameter )
+    {
+    SMC_MOCK_METHOD2( QString, QSystemInfo::Version, type, 
+        const QString &, parameter )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemInfo::hasFeatureSupported
+// -----------------------------------------------------------------------------
+//
+bool QSystemInfo::hasFeatureSupported( 
+        QSystemInfo::Feature feature )
+    {
+    SMC_MOCK_METHOD1( bool, QSystemInfo::Feature, feature )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemNetworkInfo::QSystemNetworkInfo
+// -----------------------------------------------------------------------------
+//
+QSystemNetworkInfo::QSystemNetworkInfo( 
+        QObject * parent )
+    //:
+    //QObject( /*parent*/ )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemNetworkInfo::~QSystemNetworkInfo
+// -----------------------------------------------------------------------------
+//
+QSystemNetworkInfo::~QSystemNetworkInfo(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemNetworkInfo::networkStatus
+// -----------------------------------------------------------------------------
+//
+Q_INVOKABLE QSystemNetworkInfo::NetworkStatus QSystemNetworkInfo::networkStatus( 
+        QSystemNetworkInfo::NetworkMode mode )
+    {
+    SMC_MOCK_METHOD1( Q_INVOKABLE QSystemNetworkInfo::NetworkStatus, QSystemNetworkInfo::NetworkMode, mode )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemNetworkInfo::networkSignalStrength
+// -----------------------------------------------------------------------------
+//
+Q_INVOKABLE  int QSystemNetworkInfo::networkSignalStrength( 
+        QSystemNetworkInfo::NetworkMode mode )
+    {
+    SMC_MOCK_METHOD1( Q_INVOKABLE  int, QSystemNetworkInfo::NetworkMode, mode )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemNetworkInfo::macAddress
+// -----------------------------------------------------------------------------
+//
+QString QSystemNetworkInfo::macAddress( 
+        QSystemNetworkInfo::NetworkMode mode )
+    {
+    SMC_MOCK_METHOD1( QString, QSystemNetworkInfo::NetworkMode, mode )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemNetworkInfo::currentMode
+// -----------------------------------------------------------------------------
+//
+QSystemNetworkInfo::NetworkMode QSystemNetworkInfo::currentMode(  )
+    {
+    SMC_MOCK_METHOD0( QSystemNetworkInfo::NetworkMode )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemNetworkInfo::cellId
+// -----------------------------------------------------------------------------
+//
+int QSystemNetworkInfo::cellId(  )
+    {
+    SMC_MOCK_METHOD0( int )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemNetworkInfo::locationAreaCode
+// -----------------------------------------------------------------------------
+//
+int QSystemNetworkInfo::locationAreaCode(  )
+    {
+    SMC_MOCK_METHOD0( int )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemNetworkInfo::currentMobileCountryCode
+// -----------------------------------------------------------------------------
+//
+QString QSystemNetworkInfo::currentMobileCountryCode(  )
+    {
+    SMC_MOCK_METHOD0( QString )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemNetworkInfo::currentMobileNetworkCode
+// -----------------------------------------------------------------------------
+//
+QString QSystemNetworkInfo::currentMobileNetworkCode(  )
+    {
+    SMC_MOCK_METHOD0( QString )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemNetworkInfo::homeMobileCountryCode
+// -----------------------------------------------------------------------------
+//
+QString QSystemNetworkInfo::homeMobileCountryCode(  )
+    {
+    SMC_MOCK_METHOD0( QString )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemNetworkInfo::homeMobileNetworkCode
+// -----------------------------------------------------------------------------
+//
+QString QSystemNetworkInfo::homeMobileNetworkCode(  )
+    {
+    SMC_MOCK_METHOD0( QString )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemNetworkInfo::networkName
+// -----------------------------------------------------------------------------
+//
+Q_INVOKABLE  QString QSystemNetworkInfo::networkName( 
+        QSystemNetworkInfo::NetworkMode mode )
+    {
+    SMC_MOCK_METHOD1( Q_INVOKABLE  QString, QSystemNetworkInfo::NetworkMode, mode )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemNetworkInfo::interfaceForMode
+// -----------------------------------------------------------------------------
+//
+QNetworkInterface QSystemNetworkInfo::interfaceForMode( 
+        QSystemNetworkInfo::NetworkMode mode )
+    {
+    SMC_MOCK_METHOD1( QNetworkInterface, QSystemNetworkInfo::NetworkMode, mode )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemNetworkInfo::connectNotify
+// -----------------------------------------------------------------------------
+//
+void QSystemNetworkInfo::connectNotify( 
+        const char * signal )
+    {
+    SMC_MOCK_METHOD1( void, const char *, signal )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemNetworkInfo::disconnectNotify
+// -----------------------------------------------------------------------------
+//
+void QSystemNetworkInfo::disconnectNotify( 
+        const char * signal )
+    {
+    SMC_MOCK_METHOD1( void, const char *, signal )
+    }
+
+
+
+// -----------------------------------------------------------------------------
+// QSystemScreenSaver::~QSystemScreenSaver
+// -----------------------------------------------------------------------------
+//
+QSystemScreenSaver::~QSystemScreenSaver(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemScreenSaver::screenSaverInhibited
+// -----------------------------------------------------------------------------
+//
+bool QSystemScreenSaver::screenSaverInhibited(  )
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemScreenSaver::setScreenSaverInhibit
+// -----------------------------------------------------------------------------
+//
+Q_INVOKABLE bool QSystemScreenSaver::setScreenSaverInhibit(  )
+    {
+    SMC_MOCK_METHOD0( Q_INVOKABLE bool )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemDisplayInfo::QSystemDisplayInfo
+// -----------------------------------------------------------------------------
+//
+QSystemDisplayInfo::QSystemDisplayInfo( 
+        QObject * parent )
+    //:
+    //QObject( /*parent*/ )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemDisplayInfo::~QSystemDisplayInfo
+// -----------------------------------------------------------------------------
+//
+QSystemDisplayInfo::~QSystemDisplayInfo(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemDisplayInfo::displayBrightness
+// -----------------------------------------------------------------------------
+//
+int QSystemDisplayInfo::displayBrightness( 
+        int screen )
+    {
+    SMC_MOCK_METHOD1( int, int, screen )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QSystemDisplayInfo::colorDepth
+// -----------------------------------------------------------------------------
+//
+int QSystemDisplayInfo::colorDepth( 
+        int screen )
+    {
+    SMC_MOCK_METHOD1( int, int, screen )
+    }
+
+QTM_END_NAMESPACE
--- a/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_xqsettingsmanager.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_xqsettingsmanager.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -61,10 +61,7 @@
         const XQSettingsKey & key,
         const QVariant & value )
     {
-    Q_UNUSED( key )
-    Q_UNUSED( value )
-    bool variable;
-    return variable;
+    SMC_MOCK_METHOD2( bool, XQSettingsKey &, key, QVariant &, value )
     }
 
 
--- a/phonesettings/cpphonesettingsplugins/tsrc/mocks/ut_mockintegrity.pro	Tue Jun 15 14:14:38 2010 +0100
+++ b/phonesettings/cpphonesettingsplugins/tsrc/mocks/ut_mockintegrity.pro	Thu Jul 22 16:33:21 2010 +0100
@@ -48,6 +48,7 @@
 HEADERS += ../../callsplugin/src/cpcallsplugin.h                \
            ../../cptelephonyutils/inc/cpphonenotes.h            \
            ../../cptelephonyutils/inc/cpplugincommon.h          \
+           ../../cptelephonyutils/inc/cpphonelocalisation.h     \
            /epoc32/include/platform/mw/psetwrapper.h            \
            /epoc32/include/platform/mw/psetcliwrapper.h         \
            /epoc32/include/platform/mw/sssettingswrapper.h      \
@@ -55,9 +56,9 @@
            /epoc32/include/platform/mw/psetcalldivertingwrapper.h \
            /epoc32/include/platform/mw/psetnetworkwrapper.h     \
            /epoc32/include/platform/mw/psetcallbarringwrapper.h \
-           /epoc32/include/mw/xqsettingskey.h                   \
-           /epoc32/include/mw/xqsettingsmanager.h               \
-           /epoc32/include/mw/xqsysinfo.h
+           /epoc32/include/platform/mw/xqsettingskey.h          \
+           /epoc32/include/platform/mw/xqsettingsmanager.h      \
+           /epoc32/include/platform/mw/xqsysinfo.h
 
 SOURCES += *.cpp
 
--- a/phoneuis/bubblemanager2/bubblecore/bubblecore.pro	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneuis/bubblemanager2/bubblecore/bubblecore.pro	Thu Jul 22 16:33:21 2010 +0100
@@ -27,12 +27,11 @@
     TARGET.UID3 = 0x100058FF
     
     defFiles = \
-        "$${LITERAL_HASH}ifdef WINS" \
-            "DEFFILE bwins/bubblecore.def" \
-        "$${LITERAL_HASH}else" \
-            "DEFFILE eabi/bubblecore.def" \
-        "$${LITERAL_HASH}endif"
-    
+    "$${LITERAL_HASH}ifdef WINS" \
+        "DEFFILE bwins/bubblemanager2.def" \
+    "$${LITERAL_HASH}else" \
+        "DEFFILE eabi/bubblemanager2.def" \
+    "$${LITERAL_HASH}endif"
     MMP_RULES += defFiles
 
     LIBS += -lthumbnailmanagerqt
--- a/phoneuis/bubblemanager2/bubblecore/bubblecore.qrc	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneuis/bubblemanager2/bubblecore/bubblecore.qrc	Thu Jul 22 16:33:21 2010 +0100
@@ -5,51 +5,6 @@
         <file>xml/bubble_layout_3.docml</file>
         <file>xml/bubble_layout_4.docml</file>
         <file>xml/bubble_layout_5.docml</file>
-        <file>themes/icons/hbdefault/scalable/qtg_large_avatar.svg</file>
-        <file>themes/icons/hbdefault/scalable/qtg_fr_btn_green_normal_b.svg</file>
-        <file>themes/icons/hbdefault/scalable/qtg_fr_btn_green_normal_bl.svg</file>
-        <file>themes/icons/hbdefault/scalable/qtg_fr_btn_green_normal_br.svg</file>
-        <file>themes/icons/hbdefault/scalable/qtg_fr_btn_green_normal_c.svg</file>
-        <file>themes/icons/hbdefault/scalable/qtg_fr_btn_green_normal_l.svg</file>
-        <file>themes/icons/hbdefault/scalable/qtg_fr_btn_green_normal_r.svg</file>
-        <file>themes/icons/hbdefault/scalable/qtg_fr_btn_green_normal_t.svg</file>
-        <file>themes/icons/hbdefault/scalable/qtg_fr_btn_green_normal_tl.svg</file>
-        <file>themes/icons/hbdefault/scalable/qtg_fr_btn_green_normal_tr.svg</file>
-        <file>themes/icons/hbdefault/scalable/qtg_fr_btn_green_pressed_b.svg</file>
-        <file>themes/icons/hbdefault/scalable/qtg_fr_btn_green_pressed_bl.svg</file>
-        <file>themes/icons/hbdefault/scalable/qtg_fr_btn_green_pressed_br.svg</file>
-        <file>themes/icons/hbdefault/scalable/qtg_fr_btn_green_pressed_c.svg</file>
-        <file>themes/icons/hbdefault/scalable/qtg_fr_btn_green_pressed_l.svg</file>
-        <file>themes/icons/hbdefault/scalable/qtg_fr_btn_green_pressed_r.svg</file>
-        <file>themes/icons/hbdefault/scalable/qtg_fr_btn_green_pressed_t.svg</file>
-        <file>themes/icons/hbdefault/scalable/qtg_fr_btn_green_pressed_tl.svg</file>
-        <file>themes/icons/hbdefault/scalable/qtg_fr_btn_green_pressed_tr.svg</file>
-        <file>themes/icons/hbdefault/scalable/qtg_fr_btn_red_normal_b.svg</file>
-        <file>themes/icons/hbdefault/scalable/qtg_fr_btn_red_normal_bl.svg</file>
-        <file>themes/icons/hbdefault/scalable/qtg_fr_btn_red_normal_br.svg</file>
-        <file>themes/icons/hbdefault/scalable/qtg_fr_btn_red_normal_c.svg</file>
-        <file>themes/icons/hbdefault/scalable/qtg_fr_btn_red_normal_l.svg</file>
-        <file>themes/icons/hbdefault/scalable/qtg_fr_btn_red_normal_r.svg</file>
-        <file>themes/icons/hbdefault/scalable/qtg_fr_btn_red_normal_t.svg</file>
-        <file>themes/icons/hbdefault/scalable/qtg_fr_btn_red_normal_tl.svg</file>
-        <file>themes/icons/hbdefault/scalable/qtg_fr_btn_red_normal_tr.svg</file>
-        <file>themes/icons/hbdefault/scalable/qtg_fr_btn_red_pressed_b.svg</file>
-        <file>themes/icons/hbdefault/scalable/qtg_fr_btn_red_pressed_bl.svg</file>
-        <file>themes/icons/hbdefault/scalable/qtg_fr_btn_red_pressed_br.svg</file>
-        <file>themes/icons/hbdefault/scalable/qtg_fr_btn_red_pressed_c.svg</file>
-        <file>themes/icons/hbdefault/scalable/qtg_fr_btn_red_pressed_l.svg</file>
-        <file>themes/icons/hbdefault/scalable/qtg_fr_btn_red_pressed_r.svg</file>
-        <file>themes/icons/hbdefault/scalable/qtg_fr_btn_red_pressed_t.svg</file>
-        <file>themes/icons/hbdefault/scalable/qtg_fr_btn_red_pressed_tl.svg</file>
-        <file>themes/icons/hbdefault/scalable/qtg_fr_btn_red_pressed_tr.svg</file>
-        <file>themes/icons/hbdefault/scalable/qtg_large_waiting_call.svg</file>
-        <file>themes/icons/hbdefault/scalable/qtg_large_active_call.svg</file>
-        <file>themes/icons/hbdefault/scalable/qtg_large_end_call.svg</file>
-        <file>themes/icons/hbdefault/scalable/qtg_large_video_call_active.svg</file>
-        <file>themes/icons/hbdefault/scalable/qtg_large_video_call_waiting.svg</file>
-        <file>themes/icons/hbdefault/scalable/qtg_large_voip_call_active.svg</file>
-        <file>themes/icons/hbdefault/scalable/qtg_large_voip_call_waiting.svg</file>
-        <file>themes/icons/hbdefault/scalable/qtg_mono_ciphering_off.svg</file>
         <file alias="bubble_muted_disappear.fxml">effects/bubble_muted_disappear.fxml</file>
         <file alias="bubble_muted_appear.fxml">effects/bubble_muted_appear.fxml</file>
         <file alias="bubbleheadingwidget.widgetml">xml/bubbleheadingwidget.widgetml</file>
@@ -58,7 +13,8 @@
         <file alias="bubbleparticipantlistitem.css">xml/bubbleparticipantlistitem.css</file>
         <file alias="bubbleparticipantlistitem.widgetml">xml/bubbleparticipantlistitem.widgetml</file>
         <file alias="bubbleheadingwidget.css">xml/bubbleheadingwidget.css</file>
-        <file alias="qtg_mono_call_diverted.svg">themes/icons/hbdefault/scalable/qtg_mono_call_diverted.svg</file>
         <file alias="bubble_icon_anim.axml">resources/bubble_icon_anim.axml</file>
+        <file alias="bubbleparticipantlistbuttons.widgetml">xml/bubbleparticipantlistbuttons.widgetml</file>
+        <file alias="bubbleparticipantlistbuttons.css">xml/bubbleparticipantlistbuttons.css</file>
     </qresource>
 </RCC>
--- a/phoneuis/bubblemanager2/bubblecore/bwins/bubblecoreu.def	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,65 +0,0 @@
-EXPORTS
-	?connectSignals@BubbleManager@@AAEXPAVQGraphicsWidget@@@Z @ 1 NONAME ; void BubbleManager::connectSignals(class QGraphicsWidget *)
-	?createConference@BubbleManager@@UAEHHH@Z @ 2 NONAME ; int BubbleManager::createConference(int, int)
-	?tr@BubbleManager@@SA?AVQString@@PBD0H@Z @ 3 NONAME ; class QString BubbleManager::tr(char const *, char const *, int)
-	?staticMetaObject@BubbleManager@@2UQMetaObject@@B @ 4 NONAME ; struct QMetaObject const BubbleManager::staticMetaObject
-	?setState@BubbleManager@@UAEXHW4PhoneCallState@BubbleManagerIF@@@Z @ 5 NONAME ; void BubbleManager::setState(int, enum BubbleManagerIF::PhoneCallState)
-	?tr@BubbleManager@@SA?AVQString@@PBD0@Z @ 6 NONAME ; class QString BubbleManager::tr(char const *, char const *)
-	?selectionInConference@BubbleManager@@UBEHXZ @ 7 NONAME ; int BubbleManager::selectionInConference(void) const
-	??_EBubbleManager@@UAE@I@Z @ 8 NONAME ; BubbleManager::~BubbleManager(unsigned int)
-	?addToLayout@BubbleManager@@AAE_NPAVQGraphicsWidget@@@Z @ 9 NONAME ; bool BubbleManager::addToLayout(class QGraphicsWidget *)
-	?updateCallTime@BubbleManager@@UAEXHABVQString@@@Z @ 10 NONAME ; void BubbleManager::updateCallTime(int, class QString const &)
-	?removeFromLayout@BubbleManager@@AAEXPAVQGraphicsWidget@@@Z @ 11 NONAME ; void BubbleManager::removeFromLayout(class QGraphicsWidget *)
-	?polishEvent@BubbleManager@@EAEXXZ @ 12 NONAME ; void BubbleManager::polishEvent(void)
-	?graphicsWidgetForAction@BubbleManager@@UBEPAVQGraphicsWidget@@PAVHbAction@@@Z @ 13 NONAME ; class QGraphicsWidget * BubbleManager::graphicsWidgetForAction(class HbAction *) const
-	?setCallObjectImage@BubbleManager@@UAEXHABVQString@@@Z @ 14 NONAME ; void BubbleManager::setCallObjectImage(int, class QString const &)
-	?isConferenceExpanded@BubbleManager@@UBE_NXZ @ 15 NONAME ; bool BubbleManager::isConferenceExpanded(void) const
-	?setNumberType@BubbleManager@@UAEXHW4PhoneNumberType@BubbleManagerIF@@@Z @ 16 NONAME ; void BubbleManager::setNumberType(int, enum BubbleManagerIF::PhoneNumberType)
-	?selectView@BubbleManager@@AAEPAVQGraphicsWidget@@XZ @ 17 NONAME ; class QGraphicsWidget * BubbleManager::selectView(void)
-	?startChanges@BubbleManager@@UAEXXZ @ 18 NONAME ; void BubbleManager::startChanges(void)
-	?removeRowFromConference@BubbleManager@@UAEXH@Z @ 19 NONAME ; void BubbleManager::removeRowFromConference(int)
-	?clearActions@BubbleManager@@UAEXH@Z @ 20 NONAME ; void BubbleManager::clearActions(int)
-	?qt_metacall@BubbleManager@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 21 NONAME ; int BubbleManager::qt_metacall(enum QMetaObject::Call, int, void * *)
-	?findActiveHeader@BubbleManager@@AAE_NHAAPAVBubbleHeader@@@Z @ 22 NONAME ; bool BubbleManager::findActiveHeader(int, class BubbleHeader * &)
-	?shownHeaderCount@BubbleManager@@UBEHXZ @ 23 NONAME ; int BubbleManager::shownHeaderCount(void) const
-	?setBubbleSelectionDisabled@BubbleManager@@UAEX_N@Z @ 24 NONAME ; void BubbleManager::setBubbleSelectionDisabled(bool)
-	??1BubbleManager@@UAE@XZ @ 25 NONAME ; BubbleManager::~BubbleManager(void)
-	?findNextDrawableHeader@BubbleManager@@ABEXAAH@Z @ 26 NONAME ; void BubbleManager::findNextDrawableHeader(int &) const
-	?trUtf8@BubbleManager@@SA?AVQString@@PBD0@Z @ 27 NONAME ; class QString BubbleManager::trUtf8(char const *, char const *)
-	??0BubbleManager@@QAE@PAVQGraphicsItem@@@Z @ 28 NONAME ; BubbleManager::BubbleManager(class QGraphicsItem *)
-	?expandedBubble@BubbleManager@@UBEHXZ @ 29 NONAME ; int BubbleManager::expandedBubble(void) const
-	?setSelectionIdInConference@BubbleManager@@UAEXH@Z @ 30 NONAME ; void BubbleManager::setSelectionIdInConference(int)
-	?moveHighlightOneUpInConference@BubbleManager@@UAEXXZ @ 31 NONAME ; void BubbleManager::moveHighlightOneUpInConference(void)
-	?createCallHeader@BubbleManager@@UAEHXZ @ 32 NONAME ; int BubbleManager::createCallHeader(void)
-	?setCallObjectFromTheme@BubbleManager@@UAEXH@Z @ 33 NONAME ; void BubbleManager::setCallObjectFromTheme(int)
-	?handleOrientationChange@BubbleManager@@QAEXW4Orientation@Qt@@@Z @ 34 NONAME ; void BubbleManager::handleOrientationChange(enum Qt::Orientation)
-	?setSecondaryCli@BubbleManager@@UAEXHABVQString@@W4TextElideMode@Qt@@@Z @ 35 NONAME ; void BubbleManager::setSecondaryCli(int, class QString const &, enum Qt::TextElideMode)
-	?selectionIdInConference@BubbleManager@@UBEHXZ @ 36 NONAME ; int BubbleManager::selectionIdInConference(void) const
-	?addAction@BubbleManager@@UAEXHPAVHbAction@@@Z @ 37 NONAME ; void BubbleManager::addAction(int, class HbAction *)
-	?qt_metacast@BubbleManager@@UAEPAXPBD@Z @ 38 NONAME ; void * BubbleManager::qt_metacast(char const *)
-	?getStaticMetaObject@BubbleManager@@SAABUQMetaObject@@XZ @ 39 NONAME ; struct QMetaObject const & BubbleManager::getStaticMetaObject(void)
-	?moveHighlightOneDownInConference@BubbleManager@@UAEXXZ @ 40 NONAME ; void BubbleManager::moveHighlightOneDownInConference(void)
-	?removeConference@BubbleManager@@UAEXXZ @ 41 NONAME ; void BubbleManager::removeConference(void)
-	?removeCallHeader@BubbleManager@@UAEXH@Z @ 42 NONAME ; void BubbleManager::removeCallHeader(int)
-	?setViewData@BubbleManager@@AAEXPAVQGraphicsWidget@@@Z @ 43 NONAME ; void BubbleManager::setViewData(class QGraphicsWidget *)
-	?setPhoneMuted@BubbleManager@@UAEX_N@Z @ 44 NONAME ; void BubbleManager::setPhoneMuted(bool)
-	?metaObject@BubbleManager@@UBEPBUQMetaObject@@XZ @ 45 NONAME ; struct QMetaObject const * BubbleManager::metaObject(void) const
-	?updateCLI@BubbleManager@@UAEXHABVQString@@W4TextElideMode@Qt@@@Z @ 46 NONAME ; void BubbleManager::updateCLI(int, class QString const &, enum Qt::TextElideMode)
-	?addParticipantListAction@BubbleManager@@UAEXPAVHbAction@@@Z @ 47 NONAME ; void BubbleManager::addParticipantListAction(class HbAction *)
-	?setCallTime@BubbleManager@@UAEXHABVQString@@@Z @ 48 NONAME ; void BubbleManager::setCallTime(int, class QString const &)
-	?endChanges@BubbleManager@@UAEXXZ @ 49 NONAME ; void BubbleManager::endChanges(void)
-	?setSelectionInConference@BubbleManager@@UAEXH@Z @ 50 NONAME ; void BubbleManager::setSelectionInConference(int)
-	?setParticipantListCli@BubbleManager@@UAEXHW4ParticipantListCli@BubbleManagerIF@@@Z @ 51 NONAME ; void BubbleManager::setParticipantListCli(int, enum BubbleManagerIF::ParticipantListCli)
-	?setCallFlag@BubbleManager@@UAEXHV?$QFlags@W4PhoneCallFlag@BubbleManagerIF@@@@_N@Z @ 52 NONAME ; void BubbleManager::setCallFlag(int, class QFlags<enum BubbleManagerIF::PhoneCallFlag>, bool)
-	?setExpandAction@BubbleManager@@UAEXHPAVHbAction@@@Z @ 53 NONAME ; void BubbleManager::setExpandAction(int, class HbAction *)
-	?trUtf8@BubbleManager@@SA?AVQString@@PBD0H@Z @ 54 NONAME ; class QString BubbleManager::trUtf8(char const *, char const *, int)
-	?showExpanded@BubbleManager@@AAEXH@Z @ 55 NONAME ; void BubbleManager::showExpanded(int)
-	?setCli@BubbleManager@@UAEXHABVQString@@W4TextElideMode@Qt@@@Z @ 56 NONAME ; void BubbleManager::setCli(int, class QString const &, enum Qt::TextElideMode)
-	?conferenceRowCount@BubbleManager@@UBEHXZ @ 57 NONAME ; int BubbleManager::conferenceRowCount(void) const
-	?setExpandedConferenceCallHeader@BubbleManager@@UAEX_N@Z @ 58 NONAME ; void BubbleManager::setExpandedConferenceCallHeader(bool)
-	?clearParticipantListActions@BubbleManager@@UAEXXZ @ 59 NONAME ; void BubbleManager::clearParticipantListActions(void)
-	?setCallFlags@BubbleManager@@UAEXHH@Z @ 60 NONAME ; void BubbleManager::setCallFlags(int, int)
-	?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 &)
-
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblecore/bwins/bubblemanager2u.def	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,66 @@
+EXPORTS
+	?connectSignals@BubbleManager@@AAEXPAVQGraphicsWidget@@@Z @ 1 NONAME ; void BubbleManager::connectSignals(class QGraphicsWidget *)
+	?createConference@BubbleManager@@UAEHHH@Z @ 2 NONAME ; int BubbleManager::createConference(int, int)
+	?tr@BubbleManager@@SA?AVQString@@PBD0H@Z @ 3 NONAME ; class QString BubbleManager::tr(char const *, char const *, int)
+	?staticMetaObject@BubbleManager@@2UQMetaObject@@B @ 4 NONAME ; struct QMetaObject const BubbleManager::staticMetaObject
+	?setState@BubbleManager@@UAEXHW4PhoneCallState@BubbleManagerIF@@@Z @ 5 NONAME ; void BubbleManager::setState(int, enum BubbleManagerIF::PhoneCallState)
+	?tr@BubbleManager@@SA?AVQString@@PBD0@Z @ 6 NONAME ; class QString BubbleManager::tr(char const *, char const *)
+	?selectionInConference@BubbleManager@@UBEHXZ @ 7 NONAME ; int BubbleManager::selectionInConference(void) const
+	??_EBubbleManager@@UAE@I@Z @ 8 NONAME ; BubbleManager::~BubbleManager(unsigned int)
+	?addToLayout@BubbleManager@@AAE_NPAVQGraphicsWidget@@@Z @ 9 NONAME ; bool BubbleManager::addToLayout(class QGraphicsWidget *)
+	?updateCallTime@BubbleManager@@UAEXHABVQString@@@Z @ 10 NONAME ; void BubbleManager::updateCallTime(int, class QString const &)
+	?removeFromLayout@BubbleManager@@AAEXPAVQGraphicsWidget@@@Z @ 11 NONAME ; void BubbleManager::removeFromLayout(class QGraphicsWidget *)
+	?polishEvent@BubbleManager@@EAEXXZ @ 12 NONAME ; void BubbleManager::polishEvent(void)
+	?graphicsWidgetForAction@BubbleManager@@UBEPAVQGraphicsWidget@@PAVHbAction@@@Z @ 13 NONAME ; class QGraphicsWidget * BubbleManager::graphicsWidgetForAction(class HbAction *) const
+	?setCallObjectImage@BubbleManager@@UAEXHABVQString@@@Z @ 14 NONAME ; void BubbleManager::setCallObjectImage(int, class QString const &)
+	?isConferenceExpanded@BubbleManager@@UBE_NXZ @ 15 NONAME ; bool BubbleManager::isConferenceExpanded(void) const
+	?setNumberType@BubbleManager@@UAEXHW4PhoneNumberType@BubbleManagerIF@@@Z @ 16 NONAME ; void BubbleManager::setNumberType(int, enum BubbleManagerIF::PhoneNumberType)
+	?selectView@BubbleManager@@AAEPAVQGraphicsWidget@@XZ @ 17 NONAME ; class QGraphicsWidget * BubbleManager::selectView(void)
+	?startChanges@BubbleManager@@UAEXXZ @ 18 NONAME ; void BubbleManager::startChanges(void)
+	?removeRowFromConference@BubbleManager@@UAEXH@Z @ 19 NONAME ; void BubbleManager::removeRowFromConference(int)
+	?clearActions@BubbleManager@@UAEXH@Z @ 20 NONAME ; void BubbleManager::clearActions(int)
+	?qt_metacall@BubbleManager@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 21 NONAME ; int BubbleManager::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?findActiveHeader@BubbleManager@@AAE_NHAAPAVBubbleHeader@@@Z @ 22 NONAME ; bool BubbleManager::findActiveHeader(int, class BubbleHeader * &)
+	?shownHeaderCount@BubbleManager@@UBEHXZ @ 23 NONAME ; int BubbleManager::shownHeaderCount(void) const
+	?setBubbleSelectionDisabled@BubbleManager@@UAEX_N@Z @ 24 NONAME ; void BubbleManager::setBubbleSelectionDisabled(bool)
+	??1BubbleManager@@UAE@XZ @ 25 NONAME ; BubbleManager::~BubbleManager(void)
+	?findNextDrawableHeader@BubbleManager@@ABEXAAH@Z @ 26 NONAME ; void BubbleManager::findNextDrawableHeader(int &) const
+	?trUtf8@BubbleManager@@SA?AVQString@@PBD0@Z @ 27 NONAME ; class QString BubbleManager::trUtf8(char const *, char const *)
+	??0BubbleManager@@QAE@PAVQGraphicsItem@@@Z @ 28 NONAME ; BubbleManager::BubbleManager(class QGraphicsItem *)
+	?expandedBubble@BubbleManager@@UBEHXZ @ 29 NONAME ; int BubbleManager::expandedBubble(void) const
+	?setSelectionIdInConference@BubbleManager@@UAEXH@Z @ 30 NONAME ; void BubbleManager::setSelectionIdInConference(int)
+	?moveHighlightOneUpInConference@BubbleManager@@UAEXXZ @ 31 NONAME ; void BubbleManager::moveHighlightOneUpInConference(void)
+	?createCallHeader@BubbleManager@@UAEHXZ @ 32 NONAME ; int BubbleManager::createCallHeader(void)
+	?setCallObjectFromTheme@BubbleManager@@UAEXH@Z @ 33 NONAME ; void BubbleManager::setCallObjectFromTheme(int)
+	?handleOrientationChange@BubbleManager@@QAEXW4Orientation@Qt@@@Z @ 34 NONAME ; void BubbleManager::handleOrientationChange(enum Qt::Orientation)
+	?setSecondaryCli@BubbleManager@@UAEXHABVQString@@W4TextElideMode@Qt@@@Z @ 35 NONAME ; void BubbleManager::setSecondaryCli(int, class QString const &, enum Qt::TextElideMode)
+	?selectionIdInConference@BubbleManager@@UBEHXZ @ 36 NONAME ; int BubbleManager::selectionIdInConference(void) const
+	?addAction@BubbleManager@@UAEXHPAVHbAction@@@Z @ 37 NONAME ; void BubbleManager::addAction(int, class HbAction *)
+	?qt_metacast@BubbleManager@@UAEPAXPBD@Z @ 38 NONAME ; void * BubbleManager::qt_metacast(char const *)
+	?getStaticMetaObject@BubbleManager@@SAABUQMetaObject@@XZ @ 39 NONAME ; struct QMetaObject const & BubbleManager::getStaticMetaObject(void)
+	?moveHighlightOneDownInConference@BubbleManager@@UAEXXZ @ 40 NONAME ; void BubbleManager::moveHighlightOneDownInConference(void)
+	?removeConference@BubbleManager@@UAEXXZ @ 41 NONAME ; void BubbleManager::removeConference(void)
+	?removeCallHeader@BubbleManager@@UAEXH@Z @ 42 NONAME ; void BubbleManager::removeCallHeader(int)
+	?setViewData@BubbleManager@@AAEXPAVQGraphicsWidget@@@Z @ 43 NONAME ; void BubbleManager::setViewData(class QGraphicsWidget *)
+	?setPhoneMuted@BubbleManager@@UAEX_N@Z @ 44 NONAME ; void BubbleManager::setPhoneMuted(bool)
+	?metaObject@BubbleManager@@UBEPBUQMetaObject@@XZ @ 45 NONAME ; struct QMetaObject const * BubbleManager::metaObject(void) const
+	?updateCLI@BubbleManager@@UAEXHABVQString@@W4TextElideMode@Qt@@@Z @ 46 NONAME ; void BubbleManager::updateCLI(int, class QString const &, enum Qt::TextElideMode)
+	?addParticipantListAction@BubbleManager@@UAEXPAVHbAction@@@Z @ 47 NONAME ; void BubbleManager::addParticipantListAction(class HbAction *)
+	?setCallTime@BubbleManager@@UAEXHABVQString@@@Z @ 48 NONAME ; void BubbleManager::setCallTime(int, class QString const &)
+	?endChanges@BubbleManager@@UAEXXZ @ 49 NONAME ; void BubbleManager::endChanges(void)
+	?setSelectionInConference@BubbleManager@@UAEXH@Z @ 50 NONAME ; void BubbleManager::setSelectionInConference(int)
+	?setParticipantListCli@BubbleManager@@UAEXHW4ParticipantListCli@BubbleManagerIF@@@Z @ 51 NONAME ; void BubbleManager::setParticipantListCli(int, enum BubbleManagerIF::ParticipantListCli)
+	?setCallFlag@BubbleManager@@UAEXHV?$QFlags@W4PhoneCallFlag@BubbleManagerIF@@@@_N@Z @ 52 NONAME ; void BubbleManager::setCallFlag(int, class QFlags<enum BubbleManagerIF::PhoneCallFlag>, bool)
+	?setExpandAction@BubbleManager@@UAEXHPAVHbAction@@@Z @ 53 NONAME ; void BubbleManager::setExpandAction(int, class HbAction *)
+	?trUtf8@BubbleManager@@SA?AVQString@@PBD0H@Z @ 54 NONAME ; class QString BubbleManager::trUtf8(char const *, char const *, int)
+	?showExpanded@BubbleManager@@AAEXH@Z @ 55 NONAME ; void BubbleManager::showExpanded(int)
+	?setCli@BubbleManager@@UAEXHABVQString@@W4TextElideMode@Qt@@@Z @ 56 NONAME ; void BubbleManager::setCli(int, class QString const &, enum Qt::TextElideMode)
+	?conferenceRowCount@BubbleManager@@UBEHXZ @ 57 NONAME ; int BubbleManager::conferenceRowCount(void) const
+	?setExpandedConferenceCallHeader@BubbleManager@@UAEX_N@Z @ 58 NONAME ; void BubbleManager::setExpandedConferenceCallHeader(bool)
+	?clearParticipantListActions@BubbleManager@@UAEXXZ @ 59 NONAME ; void BubbleManager::clearParticipantListActions(void)
+	?setCallFlags@BubbleManager@@UAEXHH@Z @ 60 NONAME ; void BubbleManager::setCallFlags(int, int)
+	?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)
+
--- a/phoneuis/bubblemanager2/bubblecore/eabi/bubblecoreu.def	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,109 +0,0 @@
-EXPORTS
-	_ZN13BubbleManager10endChangesEv @ 1 NONAME
-	_ZN13BubbleManager10selectViewEv @ 2 NONAME
-	_ZN13BubbleManager11addToLayoutEP15QGraphicsWidget @ 3 NONAME
-	_ZN13BubbleManager11polishEventEv @ 4 NONAME
-	_ZN13BubbleManager11qt_metacallEN11QMetaObject4CallEiPPv @ 5 NONAME
-	_ZN13BubbleManager11qt_metacastEPKc @ 6 NONAME
-	_ZN13BubbleManager11setCallFlagEi6QFlagsIN15BubbleManagerIF13PhoneCallFlagEEb @ 7 NONAME
-	_ZN13BubbleManager11setCallTimeEiRK7QString @ 8 NONAME
-	_ZN13BubbleManager11setViewDataEP15QGraphicsWidget @ 9 NONAME
-	_ZN13BubbleManager12clearActionsEi @ 10 NONAME
-	_ZN13BubbleManager12setCallFlagsEii @ 11 NONAME
-	_ZN13BubbleManager12showExpandedEi @ 12 NONAME
-	_ZN13BubbleManager12startChangesEv @ 13 NONAME
-	_ZN13BubbleManager13setNumberTypeEiN15BubbleManagerIF15PhoneNumberTypeE @ 14 NONAME
-	_ZN13BubbleManager13setPhoneMutedEb @ 15 NONAME
-	_ZN13BubbleManager14connectSignalsEP15QGraphicsWidget @ 16 NONAME
-	_ZN13BubbleManager14updateCallTimeEiRK7QString @ 17 NONAME
-	_ZN13BubbleManager15setExpandActionEiP8HbAction @ 18 NONAME
-	_ZN13BubbleManager15setSecondaryCliEiRK7QStringN2Qt13TextElideModeE @ 19 NONAME
-	_ZN13BubbleManager16createCallHeaderEv @ 20 NONAME
-	_ZN13BubbleManager16createConferenceEii @ 21 NONAME
-	_ZN13BubbleManager16findActiveHeaderEiRP12BubbleHeader @ 22 NONAME
-	_ZN13BubbleManager16removeCallHeaderEi @ 23 NONAME
-	_ZN13BubbleManager16removeConferenceEv @ 24 NONAME
-	_ZN13BubbleManager16removeFromLayoutEP15QGraphicsWidget @ 25 NONAME
-	_ZN13BubbleManager16staticMetaObjectE @ 26 NONAME DATA 16
-	_ZN13BubbleManager18addRowToConferenceEi @ 27 NONAME
-	_ZN13BubbleManager18setCallObjectImageEiRK7QString @ 28 NONAME
-	_ZN13BubbleManager19getStaticMetaObjectEv @ 29 NONAME
-	_ZN13BubbleManager21setParticipantListCliEiN15BubbleManagerIF18ParticipantListCliE @ 30 NONAME
-	_ZN13BubbleManager22setCallObjectFromThemeEi @ 31 NONAME
-	_ZN13BubbleManager23handleOrientationChangeEN2Qt11OrientationE @ 32 NONAME
-	_ZN13BubbleManager23removeRowFromConferenceEi @ 33 NONAME
-	_ZN13BubbleManager24addParticipantListActionEP8HbAction @ 34 NONAME
-	_ZN13BubbleManager24setSelectionInConferenceEi @ 35 NONAME
-	_ZN13BubbleManager26setBubbleSelectionDisabledEb @ 36 NONAME
-	_ZN13BubbleManager26setSelectionIdInConferenceEi @ 37 NONAME
-	_ZN13BubbleManager27clearParticipantListActionsEv @ 38 NONAME
-	_ZN13BubbleManager30moveHighlightOneUpInConferenceEv @ 39 NONAME
-	_ZN13BubbleManager31setExpandedConferenceCallHeaderEb @ 40 NONAME
-	_ZN13BubbleManager32moveHighlightOneDownInConferenceEv @ 41 NONAME
-	_ZN13BubbleManager6setCliEiRK7QStringN2Qt13TextElideModeE @ 42 NONAME
-	_ZN13BubbleManager8setLabelEiRK7QStringN2Qt13TextElideModeE @ 43 NONAME
-	_ZN13BubbleManager8setStateEiN15BubbleManagerIF14PhoneCallStateE @ 44 NONAME
-	_ZN13BubbleManager9addActionEiP8HbAction @ 45 NONAME
-	_ZN13BubbleManager9updateCLIEiRK7QStringN2Qt13TextElideModeE @ 46 NONAME
-	_ZN13BubbleManagerC1EP13QGraphicsItem @ 47 NONAME
-	_ZN13BubbleManagerC2EP13QGraphicsItem @ 48 NONAME
-	_ZN13BubbleManagerD0Ev @ 49 NONAME
-	_ZN13BubbleManagerD1Ev @ 50 NONAME
-	_ZN13BubbleManagerD2Ev @ 51 NONAME
-	_ZNK13BubbleManager10metaObjectEv @ 52 NONAME
-	_ZNK13BubbleManager14expandedBubbleEv @ 53 NONAME
-	_ZNK13BubbleManager16shownHeaderCountEv @ 54 NONAME
-	_ZNK13BubbleManager18conferenceRowCountEv @ 55 NONAME
-	_ZNK13BubbleManager20isConferenceExpandedEv @ 56 NONAME
-	_ZNK13BubbleManager21selectionInConferenceEv @ 57 NONAME
-	_ZNK13BubbleManager22findNextDrawableHeaderERi @ 58 NONAME
-	_ZNK13BubbleManager23graphicsWidgetForActionEP8HbAction @ 59 NONAME
-	_ZNK13BubbleManager23selectionIdInConferenceEv @ 60 NONAME
-	_ZTI13BubbleManager @ 61 NONAME
-	_ZTV13BubbleManager @ 62 NONAME
-	_ZThn16_N13BubbleManagerD0Ev @ 63 NONAME
-	_ZThn16_N13BubbleManagerD1Ev @ 64 NONAME
-	_ZThn28_N13BubbleManager10endChangesEv @ 65 NONAME
-	_ZThn28_N13BubbleManager11setCallFlagEi6QFlagsIN15BubbleManagerIF13PhoneCallFlagEEb @ 66 NONAME
-	_ZThn28_N13BubbleManager11setCallTimeEiRK7QString @ 67 NONAME
-	_ZThn28_N13BubbleManager12clearActionsEi @ 68 NONAME
-	_ZThn28_N13BubbleManager12setCallFlagsEii @ 69 NONAME
-	_ZThn28_N13BubbleManager12startChangesEv @ 70 NONAME
-	_ZThn28_N13BubbleManager13setNumberTypeEiN15BubbleManagerIF15PhoneNumberTypeE @ 71 NONAME
-	_ZThn28_N13BubbleManager13setPhoneMutedEb @ 72 NONAME
-	_ZThn28_N13BubbleManager14updateCallTimeEiRK7QString @ 73 NONAME
-	_ZThn28_N13BubbleManager15setExpandActionEiP8HbAction @ 74 NONAME
-	_ZThn28_N13BubbleManager15setSecondaryCliEiRK7QStringN2Qt13TextElideModeE @ 75 NONAME
-	_ZThn28_N13BubbleManager16createCallHeaderEv @ 76 NONAME
-	_ZThn28_N13BubbleManager16createConferenceEii @ 77 NONAME
-	_ZThn28_N13BubbleManager16removeCallHeaderEi @ 78 NONAME
-	_ZThn28_N13BubbleManager16removeConferenceEv @ 79 NONAME
-	_ZThn28_N13BubbleManager18addRowToConferenceEi @ 80 NONAME
-	_ZThn28_N13BubbleManager18setCallObjectImageEiRK7QString @ 81 NONAME
-	_ZThn28_N13BubbleManager21setParticipantListCliEiN15BubbleManagerIF18ParticipantListCliE @ 82 NONAME
-	_ZThn28_N13BubbleManager22setCallObjectFromThemeEi @ 83 NONAME
-	_ZThn28_N13BubbleManager23removeRowFromConferenceEi @ 84 NONAME
-	_ZThn28_N13BubbleManager24addParticipantListActionEP8HbAction @ 85 NONAME
-	_ZThn28_N13BubbleManager24setSelectionInConferenceEi @ 86 NONAME
-	_ZThn28_N13BubbleManager26setBubbleSelectionDisabledEb @ 87 NONAME
-	_ZThn28_N13BubbleManager26setSelectionIdInConferenceEi @ 88 NONAME
-	_ZThn28_N13BubbleManager27clearParticipantListActionsEv @ 89 NONAME
-	_ZThn28_N13BubbleManager30moveHighlightOneUpInConferenceEv @ 90 NONAME
-	_ZThn28_N13BubbleManager31setExpandedConferenceCallHeaderEb @ 91 NONAME
-	_ZThn28_N13BubbleManager32moveHighlightOneDownInConferenceEv @ 92 NONAME
-	_ZThn28_N13BubbleManager6setCliEiRK7QStringN2Qt13TextElideModeE @ 93 NONAME
-	_ZThn28_N13BubbleManager8setLabelEiRK7QStringN2Qt13TextElideModeE @ 94 NONAME
-	_ZThn28_N13BubbleManager8setStateEiN15BubbleManagerIF14PhoneCallStateE @ 95 NONAME
-	_ZThn28_N13BubbleManager9addActionEiP8HbAction @ 96 NONAME
-	_ZThn28_N13BubbleManager9updateCLIEiRK7QStringN2Qt13TextElideModeE @ 97 NONAME
-	_ZThn28_NK13BubbleManager14expandedBubbleEv @ 98 NONAME
-	_ZThn28_NK13BubbleManager16shownHeaderCountEv @ 99 NONAME
-	_ZThn28_NK13BubbleManager18conferenceRowCountEv @ 100 NONAME
-	_ZThn28_NK13BubbleManager20isConferenceExpandedEv @ 101 NONAME
-	_ZThn28_NK13BubbleManager21selectionInConferenceEv @ 102 NONAME
-	_ZThn28_NK13BubbleManager23graphicsWidgetForActionEP8HbAction @ 103 NONAME
-	_ZThn28_NK13BubbleManager23selectionIdInConferenceEv @ 104 NONAME
-	_ZThn8_N13BubbleManagerD0Ev @ 105 NONAME
-	_ZThn8_N13BubbleManagerD1Ev @ 106 NONAME
-	_ZN13BubbleManager21releaseImageIfNotUsedERK7QString @ 107 NONAME
-
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblecore/eabi/bubblemanager2u.def	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,110 @@
+EXPORTS
+	_ZN13BubbleManager10endChangesEv @ 1 NONAME
+	_ZN13BubbleManager10selectViewEv @ 2 NONAME
+	_ZN13BubbleManager11addToLayoutEP15QGraphicsWidget @ 3 NONAME
+	_ZN13BubbleManager11polishEventEv @ 4 NONAME
+	_ZN13BubbleManager11qt_metacallEN11QMetaObject4CallEiPPv @ 5 NONAME
+	_ZN13BubbleManager11qt_metacastEPKc @ 6 NONAME
+	_ZN13BubbleManager11setCallFlagEi6QFlagsIN15BubbleManagerIF13PhoneCallFlagEEb @ 7 NONAME
+	_ZN13BubbleManager11setCallTimeEiRK7QString @ 8 NONAME
+	_ZN13BubbleManager11setViewDataEP15QGraphicsWidget @ 9 NONAME
+	_ZN13BubbleManager12clearActionsEi @ 10 NONAME
+	_ZN13BubbleManager12setCallFlagsEii @ 11 NONAME
+	_ZN13BubbleManager12showExpandedEi @ 12 NONAME
+	_ZN13BubbleManager12startChangesEv @ 13 NONAME
+	_ZN13BubbleManager13setNumberTypeEiN15BubbleManagerIF15PhoneNumberTypeE @ 14 NONAME
+	_ZN13BubbleManager13setPhoneMutedEb @ 15 NONAME
+	_ZN13BubbleManager14connectSignalsEP15QGraphicsWidget @ 16 NONAME
+	_ZN13BubbleManager14updateCallTimeEiRK7QString @ 17 NONAME
+	_ZN13BubbleManager15setExpandActionEiP8HbAction @ 18 NONAME
+	_ZN13BubbleManager15setSecondaryCliEiRK7QStringN2Qt13TextElideModeE @ 19 NONAME
+	_ZN13BubbleManager16createCallHeaderEv @ 20 NONAME
+	_ZN13BubbleManager16createConferenceEii @ 21 NONAME
+	_ZN13BubbleManager16findActiveHeaderEiRP12BubbleHeader @ 22 NONAME
+	_ZN13BubbleManager16removeCallHeaderEi @ 23 NONAME
+	_ZN13BubbleManager16removeConferenceEv @ 24 NONAME
+	_ZN13BubbleManager16removeFromLayoutEP15QGraphicsWidget @ 25 NONAME
+	_ZN13BubbleManager16staticMetaObjectE @ 26 NONAME DATA 16
+	_ZN13BubbleManager18addRowToConferenceEi @ 27 NONAME
+	_ZN13BubbleManager18setCallObjectImageEiRK7QString @ 28 NONAME
+	_ZN13BubbleManager19getStaticMetaObjectEv @ 29 NONAME
+	_ZN13BubbleManager21setParticipantListCliEiN15BubbleManagerIF18ParticipantListCliE @ 30 NONAME
+	_ZN13BubbleManager22setCallObjectFromThemeEi @ 31 NONAME
+	_ZN13BubbleManager23handleOrientationChangeEN2Qt11OrientationE @ 32 NONAME
+	_ZN13BubbleManager23removeRowFromConferenceEi @ 33 NONAME
+	_ZN13BubbleManager24addParticipantListActionEP8HbAction @ 34 NONAME
+	_ZN13BubbleManager24setSelectionInConferenceEi @ 35 NONAME
+	_ZN13BubbleManager26setBubbleSelectionDisabledEb @ 36 NONAME
+	_ZN13BubbleManager26setSelectionIdInConferenceEi @ 37 NONAME
+	_ZN13BubbleManager27clearParticipantListActionsEv @ 38 NONAME
+	_ZN13BubbleManager30moveHighlightOneUpInConferenceEv @ 39 NONAME
+	_ZN13BubbleManager31setExpandedConferenceCallHeaderEb @ 40 NONAME
+	_ZN13BubbleManager32moveHighlightOneDownInConferenceEv @ 41 NONAME
+	_ZN13BubbleManager6setCliEiRK7QStringN2Qt13TextElideModeE @ 42 NONAME
+	_ZN13BubbleManager8setLabelEiRK7QStringN2Qt13TextElideModeE @ 43 NONAME
+	_ZN13BubbleManager8setStateEiN15BubbleManagerIF14PhoneCallStateE @ 44 NONAME
+	_ZN13BubbleManager9addActionEiP8HbAction @ 45 NONAME
+	_ZN13BubbleManager9updateCLIEiRK7QStringN2Qt13TextElideModeE @ 46 NONAME
+	_ZN13BubbleManagerC1EP13QGraphicsItem @ 47 NONAME
+	_ZN13BubbleManagerC2EP13QGraphicsItem @ 48 NONAME
+	_ZN13BubbleManagerD0Ev @ 49 NONAME
+	_ZN13BubbleManagerD1Ev @ 50 NONAME
+	_ZN13BubbleManagerD2Ev @ 51 NONAME
+	_ZNK13BubbleManager10metaObjectEv @ 52 NONAME
+	_ZNK13BubbleManager14expandedBubbleEv @ 53 NONAME
+	_ZNK13BubbleManager16shownHeaderCountEv @ 54 NONAME
+	_ZNK13BubbleManager18conferenceRowCountEv @ 55 NONAME
+	_ZNK13BubbleManager20isConferenceExpandedEv @ 56 NONAME
+	_ZNK13BubbleManager21selectionInConferenceEv @ 57 NONAME
+	_ZNK13BubbleManager22findNextDrawableHeaderERi @ 58 NONAME
+	_ZNK13BubbleManager23graphicsWidgetForActionEP8HbAction @ 59 NONAME
+	_ZNK13BubbleManager23selectionIdInConferenceEv @ 60 NONAME
+	_ZTI13BubbleManager @ 61 NONAME
+	_ZTV13BubbleManager @ 62 NONAME
+	_ZThn16_N13BubbleManagerD0Ev @ 63 NONAME
+	_ZThn16_N13BubbleManagerD1Ev @ 64 NONAME
+	_ZThn28_N13BubbleManager10endChangesEv @ 65 NONAME
+	_ZThn28_N13BubbleManager11setCallFlagEi6QFlagsIN15BubbleManagerIF13PhoneCallFlagEEb @ 66 NONAME
+	_ZThn28_N13BubbleManager11setCallTimeEiRK7QString @ 67 NONAME
+	_ZThn28_N13BubbleManager12clearActionsEi @ 68 NONAME
+	_ZThn28_N13BubbleManager12setCallFlagsEii @ 69 NONAME
+	_ZThn28_N13BubbleManager12startChangesEv @ 70 NONAME
+	_ZThn28_N13BubbleManager13setNumberTypeEiN15BubbleManagerIF15PhoneNumberTypeE @ 71 NONAME
+	_ZThn28_N13BubbleManager13setPhoneMutedEb @ 72 NONAME
+	_ZThn28_N13BubbleManager14updateCallTimeEiRK7QString @ 73 NONAME
+	_ZThn28_N13BubbleManager15setExpandActionEiP8HbAction @ 74 NONAME
+	_ZThn28_N13BubbleManager15setSecondaryCliEiRK7QStringN2Qt13TextElideModeE @ 75 NONAME
+	_ZThn28_N13BubbleManager16createCallHeaderEv @ 76 NONAME
+	_ZThn28_N13BubbleManager16createConferenceEii @ 77 NONAME
+	_ZThn28_N13BubbleManager16removeCallHeaderEi @ 78 NONAME
+	_ZThn28_N13BubbleManager16removeConferenceEv @ 79 NONAME
+	_ZThn28_N13BubbleManager18addRowToConferenceEi @ 80 NONAME
+	_ZThn28_N13BubbleManager18setCallObjectImageEiRK7QString @ 81 NONAME
+	_ZThn28_N13BubbleManager21setParticipantListCliEiN15BubbleManagerIF18ParticipantListCliE @ 82 NONAME
+	_ZThn28_N13BubbleManager22setCallObjectFromThemeEi @ 83 NONAME
+	_ZThn28_N13BubbleManager23removeRowFromConferenceEi @ 84 NONAME
+	_ZThn28_N13BubbleManager24addParticipantListActionEP8HbAction @ 85 NONAME
+	_ZThn28_N13BubbleManager24setSelectionInConferenceEi @ 86 NONAME
+	_ZThn28_N13BubbleManager26setBubbleSelectionDisabledEb @ 87 NONAME
+	_ZThn28_N13BubbleManager26setSelectionIdInConferenceEi @ 88 NONAME
+	_ZThn28_N13BubbleManager27clearParticipantListActionsEv @ 89 NONAME
+	_ZThn28_N13BubbleManager30moveHighlightOneUpInConferenceEv @ 90 NONAME
+	_ZThn28_N13BubbleManager31setExpandedConferenceCallHeaderEb @ 91 NONAME
+	_ZThn28_N13BubbleManager32moveHighlightOneDownInConferenceEv @ 92 NONAME
+	_ZThn28_N13BubbleManager6setCliEiRK7QStringN2Qt13TextElideModeE @ 93 NONAME
+	_ZThn28_N13BubbleManager8setLabelEiRK7QStringN2Qt13TextElideModeE @ 94 NONAME
+	_ZThn28_N13BubbleManager8setStateEiN15BubbleManagerIF14PhoneCallStateE @ 95 NONAME
+	_ZThn28_N13BubbleManager9addActionEiP8HbAction @ 96 NONAME
+	_ZThn28_N13BubbleManager9updateCLIEiRK7QStringN2Qt13TextElideModeE @ 97 NONAME
+	_ZThn28_NK13BubbleManager14expandedBubbleEv @ 98 NONAME
+	_ZThn28_NK13BubbleManager16shownHeaderCountEv @ 99 NONAME
+	_ZThn28_NK13BubbleManager18conferenceRowCountEv @ 100 NONAME
+	_ZThn28_NK13BubbleManager20isConferenceExpandedEv @ 101 NONAME
+	_ZThn28_NK13BubbleManager21selectionInConferenceEv @ 102 NONAME
+	_ZThn28_NK13BubbleManager23graphicsWidgetForActionEP8HbAction @ 103 NONAME
+	_ZThn28_NK13BubbleManager23selectionIdInConferenceEv @ 104 NONAME
+	_ZThn8_N13BubbleManagerD0Ev @ 105 NONAME
+	_ZThn8_N13BubbleManagerD1Ev @ 106 NONAME
+	_ZN13BubbleManager21releaseImageIfNotUsedERK7QString @ 107 NONAME
+	_ZN13BubbleManager21releaseNonCachedViewsEv @ 108 NONAME
+
--- a/phoneuis/bubblemanager2/bubblecore/src/bubblebutton.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneuis/bubblemanager2/bubblecore/src/bubblebutton.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -17,6 +17,8 @@
 
 #include <hbevent.h>
 #include <hbframeitem.h>
+#include <hbiconitem.h>
+#include <hbcolorscheme.h>
 
 #include "bubblebutton.h"
 
@@ -44,7 +46,7 @@
     bool result = HbPushButton::sceneEvent(event);
 
     if (event->type() == QEvent::UngrabMouse) {
-        if (isDown()) {
+        if (isVisible() && isDown()) {
             // this is needed in situation, where
             // longpress launches a dialog (vmbx)
             // and button release event goes to
@@ -63,29 +65,54 @@
     HbPushButton::updatePrimitives();
 
     HbFrameItem* frame =
-        qgraphicsitem_cast<HbFrameItem*>(HbWidget::primitive("background"));
+        qgraphicsitem_cast<HbFrameItem*>(HbWidget::primitive(
+            QLatin1String("background")));
 
     if (!frame) {
         return;
     }
 
     QString graphicsName;
+    QColor iconColor; // CSS doesn't work with changing icon color
 
     if (isDown()) {
         if (buttonType()==GreenButton) {
-            graphicsName = "qtg_fr_btn_green_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";
+            graphicsName = QLatin1String("qtg_fr_btn_red_pressed");
+            iconColor = HbColorScheme::color(
+                QLatin1String("qtc_callhandling_reject_pressed"));
+        } else {
+            iconColor = HbColorScheme::color(
+                QLatin1String("qtc_button_pressed"));
         }
     } else {
         if (buttonType()==GreenButton) {
-            graphicsName = "qtg_fr_btn_green_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";
+            graphicsName = QLatin1String("qtg_fr_btn_red_normal");
+            iconColor = HbColorScheme::color(
+                QLatin1String("qtc_callhandling_reject_normal"));
+        } else {
+            iconColor = HbColorScheme::color(
+                QLatin1String("qtc_button_normal"));
         }
     }
 
     if (graphicsName.length()) {
         frame->frameDrawer().setFrameGraphicsName(graphicsName);
     }
+
+    // set icon color
+    HbIconItem* iconItem =
+        qgraphicsitem_cast<HbIconItem*>(HbWidget::primitive("icon"));
+
+    if (iconItem && iconColor.isValid()) {
+        iconItem->setColor(iconColor);
+    }
 }
--- a/phoneuis/bubblemanager2/bubblecore/src/bubbleconferencehandler.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneuis/bubblemanager2/bubblecore/src/bubbleconferencehandler.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -15,12 +15,12 @@
 *
 */
 
-#include <QtGui>
+#include <QTimer>
+
 #include <hbaction.h>
 #include <hbtextitem.h>
 #include <hblabel.h>
 #include <hblistview.h>
-#include <hbcolorscheme.h>
 
 #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<HbLabel*>(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<BubbleHeadingWidget*>(widget(BubbleWidgetManager::Heading));
+    Q_ASSERT(mHeading);
 
     mButtonCenter =
         qobject_cast<BubbleButton*>(widget(BubbleWidgetManager::CenterButton));
@@ -63,6 +59,11 @@
     Q_ASSERT(mList);
     mModel = new BubbleParticipantListModel();
     mList->setModel(mModel);
+    
+    HbAbstractItemView::ItemAnimations noCreationAndRemovalAnimations = HbAbstractItemView::All;
+    noCreationAndRemovalAnimations ^= HbAbstractItemView::Appear;
+    noCreationAndRemovalAnimations ^= HbAbstractItemView::Disappear;
+    mList->setEnabledAnimations(noCreationAndRemovalAnimations);
 
     mPrototype =
         qobject_cast<BubbleParticipantListItem*>(
@@ -91,7 +92,7 @@
 
     mSelectionTimer->stop();
     mPrototype->clearActions();
-    mTimerLabel->hide();
+    mHeading->reset();
     mButtonCenter->hide();
     mButtonCenter->setDown(false);
     mButtonCenter->disconnect();
@@ -125,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());
 
@@ -148,6 +141,8 @@
         BubbleUtils::setButtonStyleForAction(*mButtonCenter,*action);
         connect(mButtonCenter, SIGNAL( clicked() ),
                 action, SLOT( trigger() ) );
+        connect(mButtonCenter, SIGNAL( longPress(QPointF)),
+                action, SLOT( trigger() ) );
         mButtonCenter->show();
     } else  if (actions.count()==2 && mButtonLeft && mButtonRight ) {
         // Left button
@@ -156,6 +151,8 @@
         BubbleUtils::setButtonStyleForAction(*mButtonLeft,*action1);
         connect( mButtonLeft, SIGNAL( clicked() ),
                  action1, SLOT( trigger() ) );
+        connect(mButtonLeft, SIGNAL( longPress(QPointF)),
+                action1, SLOT( trigger() ) );
         mButtonLeft->show();
         // Right button
         HbAction* action2 = actions.at(1);
@@ -163,6 +160,8 @@
         BubbleUtils::setButtonStyleForAction(*mButtonRight,*action2);
         connect( mButtonRight, SIGNAL( clicked() ),
                  action2, SLOT( trigger() ) );
+        connect(mButtonRight, SIGNAL( longPress(QPointF)),
+                action2, SLOT( trigger() ) );
         mButtonRight->show();
     }
 }
@@ -183,10 +182,7 @@
 
 void BubbleConferenceHandler::updateTimerDisplayNow()
 {
-    Q_ASSERT(mHeader);
-
-    mTimerLabel->setPlainText(mHeader->timerCost());
-    mTimerLabel->update();
+    mHeading->updateTimerDisplayNow();
 }
 
 void BubbleConferenceHandler::handleItemSelected(
--- a/phoneuis/bubblemanager2/bubblecore/src/bubbleconferencehandler.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneuis/bubblemanager2/bubblecore/src/bubbleconferencehandler.h	Thu Jul 22 16:33:21 2010 +0100
@@ -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;
--- a/phoneuis/bubblemanager2/bubblecore/src/bubblecontainerwidget.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneuis/bubblemanager2/bubblecore/src/bubblecontainerwidget.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -15,7 +15,8 @@
 *
 */
 
-#include <QtGui>
+#include <QGraphicsSceneMouseEvent>
+#include <QPainter>
 #include <hbstyle.h>
 #include <hbframeitem.h>
 #include <hbframedrawer.h>
@@ -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();
     }
 }
 
--- a/phoneuis/bubblemanager2/bubblecore/src/bubblecontainerwidget.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneuis/bubblemanager2/bubblecore/src/bubblecontainerwidget.h	Thu Jul 22 16:33:21 2010 +0100
@@ -33,7 +33,7 @@
 signals:
     void clicked();
 
-private:
+protected:
     void createPrimitives();
     void updatePrimitives();
 
--- a/phoneuis/bubblemanager2/bubblecore/src/bubbleeffecthandler.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneuis/bubblemanager2/bubblecore/src/bubbleeffecthandler.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -18,10 +18,10 @@
 #include <QtCore>
 #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)
 {
--- a/phoneuis/bubblemanager2/bubblecore/src/bubbleeffecthandler.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneuis/bubblemanager2/bubblecore/src/bubbleeffecthandler.h	Thu Jul 22 16:33:21 2010 +0100
@@ -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);
--- a/phoneuis/bubblemanager2/bubblecore/src/bubbleexpandedhandler.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneuis/bubblemanager2/bubblecore/src/bubbleexpandedhandler.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -100,6 +100,8 @@
         mButtonCenter->setIcon( action->icon() );
         connect(mButtonCenter, SIGNAL( clicked() ),
                 action, SLOT( trigger() ) );
+        connect(mButtonCenter, SIGNAL( longPress(QPointF)),
+                action, SLOT( trigger() ) );
         BubbleUtils::setButtonStyleForAction(*mButtonCenter,*action);
         mButtonCenter->show();
     } else  if (actions.count()==2 && mButtonLeft && mButtonRight ) {
@@ -108,6 +110,8 @@
         mButtonLeft->setIcon(action1->icon());
         connect( mButtonLeft, SIGNAL( clicked() ),
                  action1, SLOT( trigger() ) );
+        connect( mButtonLeft, SIGNAL( longPress(QPointF)),
+                 action1, SLOT( trigger() ) );
         BubbleUtils::setButtonStyleForAction(*mButtonLeft,*action1);
         mButtonLeft->show();
         // Right button
@@ -115,6 +119,8 @@
         mButtonRight->setIcon( action2->icon() );
         connect( mButtonRight, SIGNAL( clicked() ),
                  action2, SLOT( trigger() ) );
+        connect( mButtonRight, SIGNAL( longPress(QPointF)),
+                 action2, SLOT( trigger() ) );
         BubbleUtils::setButtonStyleForAction(*mButtonRight,*action2);
         mButtonRight->show();
     }
--- a/phoneuis/bubblemanager2/bubblecore/src/bubbleheadingwidget.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneuis/bubblemanager2/bubblecore/src/bubbleheadingwidget.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -23,8 +23,6 @@
 #include <hbfontspec.h>
 #include <hbdeviceprofile.h>
 #include <hbstyleloader.h>
-#include <hbiconanimationmanager.h>
-#include <hbiconanimator.h>
 
 #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 &params)
 {
+    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();
-}
--- a/phoneuis/bubblemanager2/bubblecore/src/bubbleheadingwidget.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneuis/bubblemanager2/bubblecore/src/bubbleheadingwidget.h	Thu Jul 22 16:33:21 2010 +0100
@@ -50,9 +50,7 @@
     void updatePrimitives();
 
 protected:
-    void polishEvent();
-    void changeEvent(QEvent *event);
-    void showEvent(QShowEvent *event);
+    void polish(HbStyleParameters &params);
 
 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;
--- a/phoneuis/bubblemanager2/bubblecore/src/bubbleimagemanager_p.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneuis/bubblemanager2/bubblecore/src/bubbleimagemanager_p.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -35,6 +35,7 @@
 BubbleImageManagerPrivate::BubbleImageManagerPrivate(
     BubbleImageManager* parent)
     : q_ptr(parent),
+      mThumbnailManager(0),
       mInitialized(false)
 {
 }
--- a/phoneuis/bubblemanager2/bubblecore/src/bubbleimagewidget.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneuis/bubblemanager2/bubblecore/src/bubbleimagewidget.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -17,19 +17,27 @@
 */
 
 #include <QPainter>
+#include <QGraphicsSceneResizeEvent>
+#include <QDebug>
 #include <hbstyle.h>
 #include <hbiconitem.h>
 #include <hbstyleloader.h>
+#include <hbdeviceprofile.h>
 #include "bubbleimagemanager.h"
 #include "bubbleimagewidget.h"
 
+static const qreal BubbbleImageRounding = 1.5; // units
+
 BubbleImageWidget::BubbleImageWidget(
     BubbleImageManager& imageManager,
     QGraphicsItem* parent)
     : HbWidget(parent),
       mImageManager(imageManager),
-      mDefaultAvatar(0)
+      mDefaultAvatar(0),
+      mKeepSquareShape(0)
 {
+    setFlag(QGraphicsItem::ItemHasNoContents, false);
+
     // create avatar
     mDefaultAvatar = new HbIconItem(this);
     style()->setItemName( mDefaultAvatar, "default_avatar" );
@@ -39,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()
@@ -50,13 +60,14 @@
 void BubbleImageWidget::setImage(const QString& name)
 {
     mImageName = name;
+    mUpdateCount = 0;
 
     if (!mImageName.isEmpty()) {
         mDefaultAvatar->setVisible(false);
         mDefaultAvatar->setIcon(HbIcon());
         mImageManager.loadImage(mImageName);
     } else {
-        mDefaultAvatar->setIconName("qtg_large_avatar");
+        mDefaultAvatar->setIconName(QLatin1String("qtg_large_avatar"));
         mDefaultAvatar->setVisible(true);
     }
 }
@@ -75,7 +86,7 @@
 {
     Q_UNUSED(option);
     Q_UNUSED(widget);
-    
+
     if (mImageName.isEmpty())
         return;
 
@@ -83,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());
@@ -95,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
@@ -102,6 +122,68 @@
 #else        
         painter->drawPixmap(rect().toRect(),*pixmap,sourceRect);
 #endif        
-        
+        painter->restore();
+    }
+}
+
+QSizeF BubbleImageWidget::sizeHint(
+    Qt::SizeHint which,
+    const QSizeF & constraint) const
+{
+    Q_UNUSED(which);
+    Q_UNUSED(constraint);
+
+    if (mKeepSquareShape && which==Qt::PreferredSize ) {
+        QSizeF hint(size().height(), size().height());
+        if (hint.isNull()) {
+            hint = QSizeF(100,100);
+        }
+
+        // workaround, sometimes last resize event is missing
+        if ((size().width()!=size().height()) && (mUpdateCount<10)) {
+            BubbleImageWidget* mutableThis = const_cast<BubbleImageWidget*>(this);
+            mutableThis->updateGeometry();
+            mutableThis->mUpdateCount++; // prevent looping
+        }
+
+        // qDebug() << "size hint: " << hint;
+        return hint;
+    } else {
+        return HbWidget::sizeHint(which,constraint);
     }
 }
+
+void BubbleImageWidget::resizeEvent(QGraphicsSceneResizeEvent * event)
+{
+    // qDebug() << "size:" << event->newSize();
+    if ( event->newSize().height()!= event->oldSize().height() &&
+         event->newSize().height() > 1 ) {
+        updateGeometry();
+    }
+
+    HbWidget::resizeEvent(event);
+}
+
+bool BubbleImageWidget::keepSquareShape() const
+{
+    return mKeepSquareShape;
+}
+
+void BubbleImageWidget::setKeepSquareShape(bool keepSquare)
+{
+    mKeepSquareShape = keepSquare;
+
+    if (mKeepSquareShape) {
+        setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Expanding);
+    } else {
+        setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
+    }
+
+    updateGeometry();
+}
+
+
+
+
+
+
--- a/phoneuis/bubblemanager2/bubblecore/src/bubbleimagewidget.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneuis/bubblemanager2/bubblecore/src/bubbleimagewidget.h	Thu Jul 22 16:33:21 2010 +0100
@@ -26,6 +26,8 @@
 class BubbleImageWidget : public HbWidget
     {
     Q_OBJECT
+
+    Q_PROPERTY(bool keepSquareShape READ keepSquareShape WRITE setKeepSquareShape)
     
 public:
     explicit BubbleImageWidget(
@@ -35,6 +37,9 @@
 
     void setImage(const QString& name);
 
+    bool keepSquareShape() const;
+    void setKeepSquareShape(bool keepSquare);
+
 protected slots:
     void imageLoaded(QString imageFileName);
 
@@ -44,10 +49,18 @@
         const QStyleOptionGraphicsItem* option,
         QWidget* widget);
 
+    QSizeF sizeHint(
+        Qt::SizeHint which,
+        const QSizeF & constraint) const;
+
+    void resizeEvent(QGraphicsSceneResizeEvent * event);
+
 private:
     BubbleImageManager& mImageManager;
     QString  mImageName;
     HbIconItem* mDefaultAvatar;
+    bool mKeepSquareShape;
+    int mUpdateCount;
     };
 
 #endif /* BUBBLEIMAGEWIDGET_H_ */
--- a/phoneuis/bubblemanager2/bubblecore/src/bubblemanager2.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneuis/bubblemanager2/bubblecore/src/bubblemanager2.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -24,6 +24,7 @@
 #include <hbaction.h>
 #include <hbstackedlayout.h>
 #include <hbmainwindow.h>
+#include <hbstyleloader.h>
 
 #include "bubblemanager2.h"
 #include "bubbleheader.h"
@@ -145,7 +146,9 @@
     }
 
     if (!mActiveHeaders.count()) {
+        // all calls ended
         mBubbleImageManager->releasePixmaps();
+        releaseNonCachedViews();
     }
 
     // restore mute state
@@ -549,6 +552,7 @@
         } else if (!muted && mMuted) {
             mEffectHandler->startEffect(BubbleMutedDisappear);
         } else {
+            mEffectHandler->cancelAllEffects(mMutedIcon);
             mMutedIcon->setVisible(muted);
         }
     }
@@ -925,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);
+            }
+        }
+    }
+}
--- a/phoneuis/bubblemanager2/bubblecore/src/bubbleparticipantlistitem.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneuis/bubblemanager2/bubblecore/src/bubbleparticipantlistitem.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -16,10 +16,10 @@
 */
 
 #include <QGraphicsLinearLayout>
-#include <hbiconitem.h>
-#include <hbtextitem.h>
+#include <QTimer>
 #include <hbaction.h>
 #include <hbpushbutton.h>
+#include <hbgroupbox.h>
 #include <hbstyleloader.h>
 #include <hbabstractitemview.h>
 #include <hblistviewitem.h>
@@ -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<BubbleParticipantListItem*>(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<BubbleParticipantListItem*>(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"
+
--- a/phoneuis/bubblemanager2/bubblecore/src/bubbleparticipantlistitem.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneuis/bubblemanager2/bubblecore/src/bubbleparticipantlistitem.h	Thu Jul 22 16:33:21 2010 +0100
@@ -21,11 +21,8 @@
 #include <hbabstractviewitem.h>
 
 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 &current,
                              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<HbAction*> mActions;
-
-    bool mExpanded;
 };
 
 #endif // BUBBLEPARTICIPANTLISTITEM_H
--- a/phoneuis/bubblemanager2/bubblecore/src/bubbleutils.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneuis/bubblemanager2/bubblecore/src/bubbleutils.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -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,104 +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.svg") );
-
-        // temporary, diverted icon is not yet in theme and
-        // because of that css coloring doesn't work
-        QColor color;
-        color = HbColorScheme::color("qtc_list_item_title_normal");
-        if (color.isValid()) {
-            icon.setColor(Qt::white);
-        }
-
-        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();
-    }
-}
-
--- a/phoneuis/bubblemanager2/bubblecore/src/bubbleutils.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneuis/bubblemanager2/bubblecore/src/bubbleutils.h	Thu Jul 22 16:33:21 2010 +0100
@@ -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(
--- a/phoneuis/bubblemanager2/bubblecore/src/bubblewidgetmanager.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneuis/bubblemanager2/bubblecore/src/bubblewidgetmanager.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -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<BubbleHandler*>* 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<HbWidget*>(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
     }
 }
--- a/phoneuis/bubblemanager2/bubblecore/src/bubblewidgetmanager.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneuis/bubblemanager2/bubblecore/src/bubblewidgetmanager.h	Thu Jul 22 16:33:21 2010 +0100
@@ -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<int,BubbleDocumentLoader*>  mDocumentLoaders;
+    QMap<int,QObjectList>            mDocumentObjects;
     QMap<int,QList<BubbleHandler*>*> mDocumentHandlers;
     QMap<int,QGraphicsWidget*>       mDocumentContent;
 
--- a/phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_fr_btn_green_normal_b.svg	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
-	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
-]>
-<svg version="1.1"
-	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
-	 x="0px" y="0px" width="50px" height="10px" viewBox="0 0 50 10" enable-background="new 0 0 50 10" xml:space="preserve">
-<defs>
-</defs>
-<rect fill="none" width="50" height="10"/>
-<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="24.9995" y1="-39.8838" x2="24.9995" y2="10.0715">
-	<stop  offset="0" style="stop-color:#85BF24"/>
-	<stop  offset="1" style="stop-color:#387300"/>
-</linearGradient>
-<rect fill="url(#SVGID_1_)" width="50" height="10"/>
-<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="24.9995" y1="-39.8838" x2="24.9995" y2="9.8873">
-	<stop  offset="0" style="stop-color:#FFFFFF"/>
-	<stop  offset="1" style="stop-color:#999999"/>
-</linearGradient>
-<rect y="9" opacity="0.35" fill="url(#SVGID_2_)" width="50" height="1"/>
-<rect fill="none" width="50" height="10"/>
-</svg>
--- a/phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_fr_btn_green_normal_bl.svg	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
-	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
-]>
-<svg version="1.1"
-	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
-	 x="0px" y="0px" width="10px" height="10px" viewBox="0 0 10 10" enable-background="new 0 0 10 10" xml:space="preserve">
-<defs>
-</defs>
-<rect fill="none" width="10" height="10"/>
-<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="5" y1="-39.8838" x2="5" y2="10.0715">
-	<stop  offset="0" style="stop-color:#85BF24"/>
-	<stop  offset="1" style="stop-color:#387300"/>
-</linearGradient>
-<path fill="url(#SVGID_1_)" d="M0,5c0,2.762,2.238,5,5,5h5V0H0V5z"/>
-<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="5" y1="-39.8838" x2="5" y2="9.8873">
-	<stop  offset="0" style="stop-color:#FFFFFF"/>
-	<stop  offset="1" style="stop-color:#999999"/>
-</linearGradient>
-<path opacity="0.35" fill="url(#SVGID_2_)" d="M0,0v5c0,2.762,2.238,5,5,5h5V9H5C2.794,9,1,7.206,1,5V0H0z"/>
-<rect fill="none" width="10" height="10"/>
-</svg>
--- a/phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_fr_btn_green_normal_br.svg	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
-	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
-]>
-<svg version="1.1"
-	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
-	 x="0px" y="0px" width="10px" height="10px" viewBox="0 0 10 10" enable-background="new 0 0 10 10" xml:space="preserve">
-<defs>
-</defs>
-<rect fill="none" width="10" height="10"/>
-<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="5" y1="-39.8838" x2="5" y2="10.0715">
-	<stop  offset="0" style="stop-color:#85BF24"/>
-	<stop  offset="1" style="stop-color:#387300"/>
-</linearGradient>
-<path fill="url(#SVGID_1_)" d="M0,10h5c2.762,0,5-2.238,5-5V0H0V10z"/>
-<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="5" y1="-39.8838" x2="5" y2="9.8873">
-	<stop  offset="0" style="stop-color:#FFFFFF"/>
-	<stop  offset="1" style="stop-color:#999999"/>
-</linearGradient>
-<path opacity="0.35" fill="url(#SVGID_2_)" d="M9,5c0,2.206-1.794,4-4,4H0v1h5c2.762,0,5-2.238,5-5V0H9V5z"/>
-<rect fill="none" width="10" height="10"/>
-</svg>
--- a/phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_fr_btn_green_normal_c.svg	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
-	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
-]>
-<svg version="1.1"
-	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
-	 x="0px" y="0px" width="50px" height="30px" viewBox="0 0 50 30" enable-background="new 0 0 50 30" xml:space="preserve">
-<defs>
-</defs>
-<rect fill="none" width="50" height="30"/>
-<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="24.9995" y1="-9.8843" x2="24.9995" y2="40.0719">
-	<stop  offset="0" style="stop-color:#85BF24"/>
-	<stop  offset="1" style="stop-color:#387300"/>
-</linearGradient>
-<rect fill="url(#SVGID_1_)" width="50" height="30"/>
-<rect fill="none" width="50" height="30"/>
-<rect opacity="0.1" fill="#FFFFFF" width="50" height="9"/>
-</svg>
--- a/phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_fr_btn_green_normal_l.svg	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
-	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
-]>
-<svg version="1.1"
-	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
-	 x="0px" y="0px" width="10px" height="30px" viewBox="0 0 10 30" enable-background="new 0 0 10 30" xml:space="preserve">
-<defs>
-</defs>
-<rect fill="none" width="10" height="30"/>
-<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="5" y1="-9.8843" x2="5" y2="40.0719">
-	<stop  offset="0" style="stop-color:#85BF24"/>
-	<stop  offset="1" style="stop-color:#387300"/>
-</linearGradient>
-<rect fill="url(#SVGID_1_)" width="10" height="30"/>
-<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="0.5" y1="-9.8843" x2="0.5" y2="39.8876">
-	<stop  offset="0" style="stop-color:#FFFFFF"/>
-	<stop  offset="1" style="stop-color:#999999"/>
-</linearGradient>
-<rect opacity="0.35" fill="url(#SVGID_2_)" width="1" height="30"/>
-<rect fill="none" width="10" height="30"/>
-<rect x="3" opacity="0.1" fill="#FFFFFF" width="7" height="9"/>
-</svg>
--- a/phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_fr_btn_green_normal_r.svg	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
-	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
-]>
-<svg version="1.1"
-	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
-	 x="0px" y="0px" width="10px" height="30px" viewBox="0 0 10 30" enable-background="new 0 0 10 30" xml:space="preserve">
-<defs>
-</defs>
-<rect fill="none" width="10" height="30"/>
-<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="5" y1="-9.8843" x2="5" y2="40.0719">
-	<stop  offset="0" style="stop-color:#85BF24"/>
-	<stop  offset="1" style="stop-color:#387300"/>
-</linearGradient>
-<rect fill="url(#SVGID_1_)" width="10" height="30"/>
-<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="9.5" y1="-9.8843" x2="9.5" y2="39.8876">
-	<stop  offset="0" style="stop-color:#FFFFFF"/>
-	<stop  offset="1" style="stop-color:#999999"/>
-</linearGradient>
-<rect x="9" opacity="0.35" fill="url(#SVGID_2_)" width="1" height="30"/>
-<rect fill="none" width="10" height="30"/>
-<rect opacity="0.1" fill="#FFFFFF" width="7" height="9"/>
-</svg>
--- a/phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_fr_btn_green_normal_t.svg	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
-	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
-]>
-<svg version="1.1"
-	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
-	 x="0px" y="0px" width="50px" height="10px" viewBox="0 0 50 10" enable-background="new 0 0 50 10" xml:space="preserve">
-<defs>
-</defs>
-<rect fill="none" width="50" height="10"/>
-<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="24.9995" y1="0.1157" x2="24.9995" y2="50.071">
-	<stop  offset="0" style="stop-color:#85BF24"/>
-	<stop  offset="1" style="stop-color:#387300"/>
-</linearGradient>
-<rect fill="url(#SVGID_1_)" width="50" height="10"/>
-<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="24.9995" y1="0.1157" x2="24.9995" y2="49.8868">
-	<stop  offset="0" style="stop-color:#FFFFFF"/>
-	<stop  offset="1" style="stop-color:#999999"/>
-</linearGradient>
-<rect opacity="0.35" fill="url(#SVGID_2_)" width="50" height="1"/>
-<rect fill="none" width="50" height="10"/>
-<rect y="3" opacity="0.1" fill="#FFFFFF" width="50" height="7"/>
-</svg>
--- a/phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_fr_btn_green_normal_tl.svg	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
-	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
-]>
-<svg version="1.1"
-	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
-	 x="0px" y="0px" width="10px" height="10px" viewBox="0 0 10 10" enable-background="new 0 0 10 10" xml:space="preserve">
-<defs>
-</defs>
-<rect fill="none" width="10" height="10"/>
-<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="5" y1="0.1157" x2="5" y2="50.071">
-	<stop  offset="0" style="stop-color:#85BF24"/>
-	<stop  offset="1" style="stop-color:#387300"/>
-</linearGradient>
-<path fill="url(#SVGID_1_)" d="M10,0H5C2.238,0,0,2.238,0,5v5h10V0z"/>
-<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="5" y1="0.1157" x2="5" y2="49.8868">
-	<stop  offset="0" style="stop-color:#FFFFFF"/>
-	<stop  offset="1" style="stop-color:#999999"/>
-</linearGradient>
-<path opacity="0.35" fill="url(#SVGID_2_)" d="M1,5c0-2.206,1.794-4,4-4h5V0H5C2.238,0,0,2.238,0,5v5h1V5z"/>
-<rect fill="none" width="10" height="10"/>
-<path opacity="0.1" fill="#FFFFFF" d="M10,3H5C3.897,3,3,3.896,3,5v5h7V3z"/>
-</svg>
--- a/phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_fr_btn_green_normal_tr.svg	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
-	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
-]>
-<svg version="1.1"
-	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
-	 x="0px" y="0px" width="10px" height="10px" viewBox="0 0 10 10" enable-background="new 0 0 10 10" xml:space="preserve">
-<defs>
-</defs>
-<rect fill="none" width="10" height="10"/>
-<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="5" y1="0.1157" x2="5" y2="50.071">
-	<stop  offset="0" style="stop-color:#85BF24"/>
-	<stop  offset="1" style="stop-color:#387300"/>
-</linearGradient>
-<path fill="url(#SVGID_1_)" d="M10,5c0-2.762-2.238-5-5-5H0v10h10V5z"/>
-<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="5" y1="0.1157" x2="5" y2="49.8868">
-	<stop  offset="0" style="stop-color:#FFFFFF"/>
-	<stop  offset="1" style="stop-color:#999999"/>
-</linearGradient>
-<path opacity="0.35" fill="url(#SVGID_2_)" d="M10,5c0-2.762-2.238-5-5-5H0v1h5c2.206,0,4,1.794,4,4v5h1V5z"/>
-<rect fill="none" width="10" height="10"/>
-<path opacity="0.1" fill="#FFFFFF" d="M7,5c0-1.104-0.896-2-2-2H0v7h7V5z"/>
-</svg>
--- a/phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_fr_btn_green_pressed_b.svg	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
-	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
-]>
-<svg version="1.1"
-	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
-	 x="0px" y="0px" width="50px" height="10px" viewBox="0 0 50 10" enable-background="new 0 0 50 10" xml:space="preserve">
-<defs>
-</defs>
-<rect fill="none" width="50" height="10"/>
-<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="25.0005" y1="10.1279" x2="25.0005" y2="-39.7534">
-	<stop  offset="0" style="stop-color:#85BF24"/>
-	<stop  offset="1" style="stop-color:#387300"/>
-</linearGradient>
-<rect fill="url(#SVGID_1_)" width="50" height="10"/>
-<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="24.9995" y1="-39.8838" x2="24.9995" y2="9.8873">
-	<stop  offset="0" style="stop-color:#FFFFFF"/>
-	<stop  offset="1" style="stop-color:#999999"/>
-</linearGradient>
-<rect y="9" opacity="0.35" fill="url(#SVGID_2_)" width="50" height="1"/>
-<rect fill="none" width="50" height="10"/>
-</svg>
--- a/phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_fr_btn_green_pressed_bl.svg	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
-	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
-]>
-<svg version="1.1"
-	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
-	 x="0px" y="0px" width="10px" height="10px" viewBox="0 0 10 10" enable-background="new 0 0 10 10" xml:space="preserve">
-<defs>
-</defs>
-<rect fill="none" width="10" height="10"/>
-<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="5" y1="10.1279" x2="5" y2="-39.7534">
-	<stop  offset="0" style="stop-color:#85BF24"/>
-	<stop  offset="1" style="stop-color:#387300"/>
-</linearGradient>
-<path fill="url(#SVGID_1_)" d="M0,5c0,2.762,2.238,5,5,5h5V0H0V5z"/>
-<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="5" y1="-39.8838" x2="5" y2="9.8873">
-	<stop  offset="0" style="stop-color:#FFFFFF"/>
-	<stop  offset="1" style="stop-color:#999999"/>
-</linearGradient>
-<path opacity="0.35" fill="url(#SVGID_2_)" d="M0,0v5c0,2.762,2.238,5,5,5h5V9H5C2.794,9,1,7.206,1,5V0H0z"/>
-<rect fill="none" width="10" height="10"/>
-</svg>
--- a/phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_fr_btn_green_pressed_br.svg	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
-	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
-]>
-<svg version="1.1"
-	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
-	 x="0px" y="0px" width="10px" height="10px" viewBox="0 0 10 10" enable-background="new 0 0 10 10" xml:space="preserve">
-<defs>
-</defs>
-<rect fill="none" width="10" height="10"/>
-<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="5" y1="10.1279" x2="5" y2="-39.7534">
-	<stop  offset="0" style="stop-color:#85BF24"/>
-	<stop  offset="1" style="stop-color:#387300"/>
-</linearGradient>
-<path fill="url(#SVGID_1_)" d="M0,10h5c2.762,0,5-2.238,5-5V0H0V10z"/>
-<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="5" y1="-39.8838" x2="5" y2="9.8873">
-	<stop  offset="0" style="stop-color:#FFFFFF"/>
-	<stop  offset="1" style="stop-color:#999999"/>
-</linearGradient>
-<path opacity="0.35" fill="url(#SVGID_2_)" d="M9,5c0,2.206-1.794,4-4,4H0v1h5c2.762,0,5-2.238,5-5V0H9V5z"/>
-<rect fill="none" width="10" height="10"/>
-</svg>
--- a/phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_fr_btn_green_pressed_c.svg	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
-	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
-]>
-<svg version="1.1"
-	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
-	 x="0px" y="0px" width="50px" height="30px" viewBox="0 0 50 30" enable-background="new 0 0 50 30" xml:space="preserve">
-<defs>
-</defs>
-<rect fill="none" width="50" height="30"/>
-<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="25.0005" y1="40.127" x2="25.0005" y2="-9.7536">
-	<stop  offset="0" style="stop-color:#85BF24"/>
-	<stop  offset="1" style="stop-color:#387300"/>
-</linearGradient>
-<rect fill="url(#SVGID_1_)" width="50" height="30"/>
-<rect fill="none" width="50" height="30"/>
-<rect opacity="0.1" fill="#FFFFFF" width="50" height="9"/>
-</svg>
--- a/phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_fr_btn_green_pressed_l.svg	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
-	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
-]>
-<svg version="1.1"
-	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
-	 x="0px" y="0px" width="10px" height="30px" viewBox="0 0 10 30" enable-background="new 0 0 10 30" xml:space="preserve">
-<defs>
-</defs>
-<rect fill="none" width="10" height="30"/>
-<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="5" y1="40.127" x2="5" y2="-9.7536">
-	<stop  offset="0" style="stop-color:#85BF24"/>
-	<stop  offset="1" style="stop-color:#387300"/>
-</linearGradient>
-<rect fill="url(#SVGID_1_)" width="10" height="30"/>
-<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="0.5" y1="-9.8843" x2="0.5" y2="39.8876">
-	<stop  offset="0" style="stop-color:#FFFFFF"/>
-	<stop  offset="1" style="stop-color:#999999"/>
-</linearGradient>
-<rect opacity="0.35" fill="url(#SVGID_2_)" width="1" height="30"/>
-<rect fill="none" width="10" height="30"/>
-<rect x="3" opacity="0.1" fill="#FFFFFF" width="7" height="9"/>
-</svg>
--- a/phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_fr_btn_green_pressed_r.svg	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
-	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
-]>
-<svg version="1.1"
-	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
-	 x="0px" y="0px" width="10px" height="30px" viewBox="0 0 10 30" enable-background="new 0 0 10 30" xml:space="preserve">
-<defs>
-</defs>
-<rect fill="none" width="10" height="30"/>
-<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="5" y1="40.127" x2="5" y2="-9.7536">
-	<stop  offset="0" style="stop-color:#85BF24"/>
-	<stop  offset="1" style="stop-color:#387300"/>
-</linearGradient>
-<rect fill="url(#SVGID_1_)" width="10" height="30"/>
-<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="9.5" y1="-9.8843" x2="9.5" y2="39.8876">
-	<stop  offset="0" style="stop-color:#FFFFFF"/>
-	<stop  offset="1" style="stop-color:#999999"/>
-</linearGradient>
-<rect x="9" opacity="0.35" fill="url(#SVGID_2_)" width="1" height="30"/>
-<rect fill="none" width="10" height="30"/>
-<rect opacity="0.1" fill="#FFFFFF" width="7" height="9"/>
-</svg>
--- a/phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_fr_btn_green_pressed_t.svg	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
-	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
-]>
-<svg version="1.1"
-	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
-	 x="0px" y="0px" width="50px" height="10px" viewBox="0 0 50 10" enable-background="new 0 0 50 10" xml:space="preserve">
-<defs>
-</defs>
-<rect fill="none" width="50" height="10"/>
-<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="25.0005" y1="50.1279" x2="25.0005" y2="0.2466">
-	<stop  offset="0" style="stop-color:#85BF24"/>
-	<stop  offset="1" style="stop-color:#387300"/>
-</linearGradient>
-<rect fill="url(#SVGID_1_)" width="50" height="10"/>
-<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="24.9995" y1="0.1157" x2="24.9995" y2="49.8868">
-	<stop  offset="0" style="stop-color:#FFFFFF"/>
-	<stop  offset="1" style="stop-color:#999999"/>
-</linearGradient>
-<rect opacity="0.35" fill="url(#SVGID_2_)" width="50" height="1"/>
-<rect fill="none" width="50" height="10"/>
-<rect y="3" opacity="0.1" fill="#FFFFFF" width="50" height="7"/>
-</svg>
--- a/phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_fr_btn_green_pressed_tl.svg	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
-	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
-]>
-<svg version="1.1"
-	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
-	 x="0px" y="0px" width="10px" height="10px" viewBox="0 0 10 10" enable-background="new 0 0 10 10" xml:space="preserve">
-<defs>
-</defs>
-<rect fill="none" width="10" height="10"/>
-<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="5" y1="50.1279" x2="5" y2="0.2466">
-	<stop  offset="0" style="stop-color:#85BF24"/>
-	<stop  offset="1" style="stop-color:#387300"/>
-</linearGradient>
-<path fill="url(#SVGID_1_)" d="M10,0H5C2.238,0,0,2.238,0,5v5h10V0z"/>
-<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="5" y1="0.1157" x2="5" y2="49.8868">
-	<stop  offset="0" style="stop-color:#FFFFFF"/>
-	<stop  offset="1" style="stop-color:#999999"/>
-</linearGradient>
-<path opacity="0.35" fill="url(#SVGID_2_)" d="M1,5c0-2.206,1.794-4,4-4h5V0H5C2.238,0,0,2.238,0,5v5h1V5z"/>
-<rect fill="none" width="10" height="10"/>
-<path opacity="0.1" fill="#FFFFFF" d="M10,3H5C3.897,3,3,3.897,3,5v5h7V3z"/>
-</svg>
--- a/phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_fr_btn_green_pressed_tr.svg	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
-	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
-]>
-<svg version="1.1"
-	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
-	 x="0px" y="0px" width="10px" height="10px" viewBox="0 0 10 10" enable-background="new 0 0 10 10" xml:space="preserve">
-<defs>
-</defs>
-<rect fill="none" width="10" height="10"/>
-<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="5" y1="50.1279" x2="5" y2="0.2466">
-	<stop  offset="0" style="stop-color:#85BF24"/>
-	<stop  offset="1" style="stop-color:#387300"/>
-</linearGradient>
-<path fill="url(#SVGID_1_)" d="M10,5c0-2.762-2.238-5-5-5H0v10h10V5z"/>
-<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="5" y1="0.1157" x2="5" y2="49.8868">
-	<stop  offset="0" style="stop-color:#FFFFFF"/>
-	<stop  offset="1" style="stop-color:#999999"/>
-</linearGradient>
-<path opacity="0.35" fill="url(#SVGID_2_)" d="M10,5c0-2.762-2.238-5-5-5H0v1h5c2.206,0,4,1.794,4,4v5h1V5z"/>
-<rect fill="none" width="10" height="10"/>
-<path opacity="0.1" fill="#FFFFFF" d="M7,5c0-1.103-0.896-2-2-2H0v7h7V5z"/>
-</svg>
--- a/phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_fr_btn_red_normal_b.svg	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
-	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
-]>
-<svg version="1.1"
-	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
-	 x="0px" y="0px" width="50px" height="10px" viewBox="0 0 50 10" enable-background="new 0 0 50 10" xml:space="preserve">
-<defs>
-</defs>
-<rect fill="none" width="50" height="10"/>
-<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="25.0005" y1="9.8145" x2="25.0005" y2="-39.8316">
-	<stop  offset="0" style="stop-color:#700000"/>
-	<stop  offset="1" style="stop-color:#CF1708"/>
-</linearGradient>
-<rect fill="url(#SVGID_1_)" width="50" height="10"/>
-<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="24.9995" y1="-39.8838" x2="24.9995" y2="9.8873">
-	<stop  offset="0" style="stop-color:#FFFFFF"/>
-	<stop  offset="1" style="stop-color:#999999"/>
-</linearGradient>
-<rect y="9" opacity="0.35" fill="url(#SVGID_2_)" width="50" height="1"/>
-<rect fill="none" width="50" height="10"/>
-</svg>
--- a/phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_fr_btn_red_normal_bl.svg	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
-	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
-]>
-<svg version="1.1"
-	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
-	 x="0px" y="0px" width="10px" height="10px" viewBox="0 0 10 10" enable-background="new 0 0 10 10" xml:space="preserve">
-<defs>
-</defs>
-<rect fill="none" width="10" height="10"/>
-<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="5" y1="9.8145" x2="5" y2="-39.8316">
-	<stop  offset="0" style="stop-color:#700000"/>
-	<stop  offset="1" style="stop-color:#CF1708"/>
-</linearGradient>
-<path fill="url(#SVGID_1_)" d="M0,5c0,2.762,2.238,5,5,5h5V0H0V5z"/>
-<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="5" y1="-39.8838" x2="5" y2="9.8873">
-	<stop  offset="0" style="stop-color:#FFFFFF"/>
-	<stop  offset="1" style="stop-color:#999999"/>
-</linearGradient>
-<path opacity="0.35" fill="url(#SVGID_2_)" d="M0,0v5c0,2.762,2.238,5,5,5h5V9H5C2.794,9,1,7.206,1,5V0H0z"/>
-<rect fill="none" width="10" height="10"/>
-</svg>
--- a/phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_fr_btn_red_normal_br.svg	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
-	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
-]>
-<svg version="1.1"
-	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
-	 x="0px" y="0px" width="10px" height="10px" viewBox="0 0 10 10" enable-background="new 0 0 10 10" xml:space="preserve">
-<defs>
-</defs>
-<rect fill="none" width="10" height="10"/>
-<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="5" y1="9.8145" x2="5" y2="-39.8316">
-	<stop  offset="0" style="stop-color:#700000"/>
-	<stop  offset="1" style="stop-color:#CF1708"/>
-</linearGradient>
-<path fill="url(#SVGID_1_)" d="M0,10h5c2.762,0,5-2.238,5-5V0H0V10z"/>
-<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="5" y1="-39.8838" x2="5" y2="9.8873">
-	<stop  offset="0" style="stop-color:#FFFFFF"/>
-	<stop  offset="1" style="stop-color:#999999"/>
-</linearGradient>
-<path opacity="0.35" fill="url(#SVGID_2_)" d="M9,5c0,2.206-1.794,4-4,4H0v1h5c2.762,0,5-2.238,5-5V0H9V5z"/>
-<rect fill="none" width="10" height="10"/>
-</svg>
--- a/phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_fr_btn_red_normal_c.svg	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
-	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
-]>
-<svg version="1.1"
-	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
-	 x="0px" y="0px" width="50px" height="30px" viewBox="0 0 50 30" enable-background="new 0 0 50 30" xml:space="preserve">
-<defs>
-</defs>
-<rect fill="none" width="50" height="30"/>
-<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="25.0005" y1="39.8135" x2="25.0005" y2="-9.8318">
-	<stop  offset="0" style="stop-color:#700000"/>
-	<stop  offset="1" style="stop-color:#CF1708"/>
-</linearGradient>
-<rect fill="url(#SVGID_1_)" width="50" height="30"/>
-<rect fill="none" width="50" height="30"/>
-<rect opacity="0.1" fill="#FFFFFF" width="50" height="9"/>
-</svg>
--- a/phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_fr_btn_red_normal_l.svg	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
-	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
-]>
-<svg version="1.1"
-	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
-	 x="0px" y="0px" width="10px" height="30px" viewBox="0 0 10 30" enable-background="new 0 0 10 30" xml:space="preserve">
-<defs>
-</defs>
-<rect fill="none" width="10" height="30"/>
-<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="5" y1="39.8135" x2="5" y2="-9.8318">
-	<stop  offset="0" style="stop-color:#700000"/>
-	<stop  offset="1" style="stop-color:#CF1708"/>
-</linearGradient>
-<rect fill="url(#SVGID_1_)" width="10" height="30"/>
-<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="0.5" y1="-9.8843" x2="0.5" y2="39.8876">
-	<stop  offset="0" style="stop-color:#FFFFFF"/>
-	<stop  offset="1" style="stop-color:#999999"/>
-</linearGradient>
-<rect opacity="0.35" fill="url(#SVGID_2_)" width="1" height="30"/>
-<rect fill="none" width="10" height="30"/>
-<rect x="3" opacity="0.1" fill="#FFFFFF" width="7" height="9"/>
-</svg>
--- a/phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_fr_btn_red_normal_r.svg	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
-	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
-]>
-<svg version="1.1"
-	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
-	 x="0px" y="0px" width="10px" height="30px" viewBox="0 0 10 30" enable-background="new 0 0 10 30" xml:space="preserve">
-<defs>
-</defs>
-<rect fill="none" width="10" height="30"/>
-<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="5" y1="39.8135" x2="5" y2="-9.8318">
-	<stop  offset="0" style="stop-color:#700000"/>
-	<stop  offset="1" style="stop-color:#CF1708"/>
-</linearGradient>
-<rect fill="url(#SVGID_1_)" width="10" height="30"/>
-<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="9.5" y1="-9.8843" x2="9.5" y2="39.8876">
-	<stop  offset="0" style="stop-color:#FFFFFF"/>
-	<stop  offset="1" style="stop-color:#999999"/>
-</linearGradient>
-<rect x="9" opacity="0.35" fill="url(#SVGID_2_)" width="1" height="30"/>
-<rect fill="none" width="10" height="30"/>
-<rect opacity="0.1" fill="#FFFFFF" width="7" height="9"/>
-</svg>
--- a/phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_fr_btn_red_normal_t.svg	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
-	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
-]>
-<svg version="1.1"
-	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
-	 x="0px" y="0px" width="50px" height="10px" viewBox="0 0 50 10" enable-background="new 0 0 50 10" xml:space="preserve">
-<defs>
-</defs>
-<rect fill="none" width="50" height="10"/>
-<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="25.0005" y1="49.8145" x2="25.0005" y2="0.1684">
-	<stop  offset="0" style="stop-color:#700000"/>
-	<stop  offset="1" style="stop-color:#CF1708"/>
-</linearGradient>
-<rect fill="url(#SVGID_1_)" width="50" height="10"/>
-<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="24.9995" y1="0.1157" x2="24.9995" y2="49.8868">
-	<stop  offset="0" style="stop-color:#FFFFFF"/>
-	<stop  offset="1" style="stop-color:#999999"/>
-</linearGradient>
-<rect opacity="0.35" fill="url(#SVGID_2_)" width="50" height="1"/>
-<rect fill="none" width="50" height="10"/>
-<rect y="3" opacity="0.1" fill="#FFFFFF" width="50" height="7"/>
-</svg>
--- a/phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_fr_btn_red_normal_tl.svg	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
-	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
-]>
-<svg version="1.1"
-	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
-	 x="0px" y="0px" width="10px" height="10px" viewBox="0 0 10 10" enable-background="new 0 0 10 10" xml:space="preserve">
-<defs>
-</defs>
-<rect fill="none" width="10" height="10"/>
-<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="5" y1="49.8145" x2="5" y2="0.1684">
-	<stop  offset="0" style="stop-color:#700000"/>
-	<stop  offset="1" style="stop-color:#CF1708"/>
-</linearGradient>
-<path fill="url(#SVGID_1_)" d="M10,0H5C2.238,0,0,2.238,0,5v5h10V0z"/>
-<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="5" y1="0.1157" x2="5" y2="49.8868">
-	<stop  offset="0" style="stop-color:#FFFFFF"/>
-	<stop  offset="1" style="stop-color:#999999"/>
-</linearGradient>
-<path opacity="0.35" fill="url(#SVGID_2_)" d="M1,5c0-2.206,1.794-4,4-4h5V0H5C2.238,0,0,2.238,0,5v5h1V5z"/>
-<rect fill="none" width="10" height="10"/>
-<path opacity="0.1" fill="#FFFFFF" d="M10,3H5C3.897,3,3,3.897,3,5v5h7V3z"/>
-</svg>
--- a/phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_fr_btn_red_normal_tr.svg	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
-	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
-]>
-<svg version="1.1"
-	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
-	 x="0px" y="0px" width="10px" height="10px" viewBox="0 0 10 10" enable-background="new 0 0 10 10" xml:space="preserve">
-<defs>
-</defs>
-<rect fill="none" width="10" height="10"/>
-<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="5" y1="49.8145" x2="5" y2="0.1684">
-	<stop  offset="0" style="stop-color:#700000"/>
-	<stop  offset="1" style="stop-color:#CF1708"/>
-</linearGradient>
-<path fill="url(#SVGID_1_)" d="M10,5c0-2.762-2.238-5-5-5H0v10h10V5z"/>
-<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="5" y1="0.1157" x2="5" y2="49.8868">
-	<stop  offset="0" style="stop-color:#FFFFFF"/>
-	<stop  offset="1" style="stop-color:#999999"/>
-</linearGradient>
-<path opacity="0.35" fill="url(#SVGID_2_)" d="M10,5c0-2.762-2.238-5-5-5H0v1h5c2.206,0,4,1.794,4,4v5h1V5z"/>
-<rect fill="none" width="10" height="10"/>
-<path opacity="0.1" fill="#FFFFFF" d="M7,5c0-1.103-0.896-2-2-2H0v7h7V5z"/>
-</svg>
--- a/phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_fr_btn_red_pressed_b.svg	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
-	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
-]>
-<svg version="1.1"
-	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
-	 x="0px" y="0px" width="50px" height="10px" viewBox="0 0 50 10" enable-background="new 0 0 50 10" xml:space="preserve">
-<defs>
-</defs>
-<rect fill="none" width="50" height="10"/>
-<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="24.9995" y1="-39.667" x2="24.9995" y2="10.422">
-	<stop  offset="0" style="stop-color:#700000"/>
-	<stop  offset="1" style="stop-color:#CF1708"/>
-</linearGradient>
-<rect fill="url(#SVGID_1_)" width="50" height="10"/>
-<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="24.9995" y1="-39.8838" x2="24.9995" y2="9.8873">
-	<stop  offset="0" style="stop-color:#FFFFFF"/>
-	<stop  offset="1" style="stop-color:#999999"/>
-</linearGradient>
-<rect y="9" opacity="0.35" fill="url(#SVGID_2_)" width="50" height="1"/>
-<rect fill="none" width="50" height="10"/>
-</svg>
--- a/phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_fr_btn_red_pressed_bl.svg	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
-	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
-]>
-<svg version="1.1"
-	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
-	 x="0px" y="0px" width="10px" height="10px" viewBox="0 0 10 10" enable-background="new 0 0 10 10" xml:space="preserve">
-<defs>
-</defs>
-<rect fill="none" width="10" height="10"/>
-<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="5" y1="-39.667" x2="5" y2="10.422">
-	<stop  offset="0" style="stop-color:#700000"/>
-	<stop  offset="1" style="stop-color:#CF1708"/>
-</linearGradient>
-<path fill="url(#SVGID_1_)" d="M0,5c0,2.762,2.238,5,5,5h5V0H0V5z"/>
-<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="5" y1="-39.8838" x2="5" y2="9.8873">
-	<stop  offset="0" style="stop-color:#FFFFFF"/>
-	<stop  offset="1" style="stop-color:#999999"/>
-</linearGradient>
-<path opacity="0.35" fill="url(#SVGID_2_)" d="M0,0v5c0,2.762,2.238,5,5,5h5V9H5C2.794,9,1,7.206,1,5V0H0z"/>
-<rect fill="none" width="10" height="10"/>
-</svg>
--- a/phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_fr_btn_red_pressed_br.svg	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
-	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
-]>
-<svg version="1.1"
-	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
-	 x="0px" y="0px" width="10px" height="10px" viewBox="0 0 10 10" enable-background="new 0 0 10 10" xml:space="preserve">
-<defs>
-</defs>
-<rect fill="none" width="10" height="10"/>
-<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="5" y1="-39.667" x2="5" y2="10.422">
-	<stop  offset="0" style="stop-color:#700000"/>
-	<stop  offset="1" style="stop-color:#CF1708"/>
-</linearGradient>
-<path fill="url(#SVGID_1_)" d="M0,10h5c2.762,0,5-2.238,5-5V0H0V10z"/>
-<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="5" y1="-39.8838" x2="5" y2="9.8873">
-	<stop  offset="0" style="stop-color:#FFFFFF"/>
-	<stop  offset="1" style="stop-color:#999999"/>
-</linearGradient>
-<path opacity="0.35" fill="url(#SVGID_2_)" d="M9,5c0,2.206-1.794,4-4,4H0v1h5c2.762,0,5-2.238,5-5V0H9V5z"/>
-<rect fill="none" width="10" height="10"/>
-</svg>
--- a/phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_fr_btn_red_pressed_c.svg	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
-	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
-]>
-<svg version="1.1"
-	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
-	 x="0px" y="0px" width="50px" height="30px" viewBox="0 0 50 30" enable-background="new 0 0 50 30" xml:space="preserve">
-<defs>
-</defs>
-<rect fill="none" width="50" height="30"/>
-<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="24.9995" y1="-9.6675" x2="24.9995" y2="40.4223">
-	<stop  offset="0" style="stop-color:#700000"/>
-	<stop  offset="1" style="stop-color:#CF1708"/>
-</linearGradient>
-<rect fill="url(#SVGID_1_)" width="50" height="30"/>
-<rect fill="none" width="50" height="30"/>
-<rect opacity="0.1" fill="#FFFFFF" width="50" height="9"/>
-</svg>
--- a/phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_fr_btn_red_pressed_l.svg	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
-	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
-]>
-<svg version="1.1"
-	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
-	 x="0px" y="0px" width="10px" height="30px" viewBox="0 0 10 30" enable-background="new 0 0 10 30" xml:space="preserve">
-<defs>
-</defs>
-<rect fill="none" width="10" height="30"/>
-<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="5" y1="-9.6675" x2="5" y2="40.4223">
-	<stop  offset="0" style="stop-color:#700000"/>
-	<stop  offset="1" style="stop-color:#CF1708"/>
-</linearGradient>
-<rect fill="url(#SVGID_1_)" width="10" height="30"/>
-<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="0.5" y1="-9.8843" x2="0.5" y2="39.8876">
-	<stop  offset="0" style="stop-color:#FFFFFF"/>
-	<stop  offset="1" style="stop-color:#999999"/>
-</linearGradient>
-<rect opacity="0.35" fill="url(#SVGID_2_)" width="1" height="30"/>
-<rect fill="none" width="10" height="30"/>
-<rect x="3" opacity="0.1" fill="#FFFFFF" width="7" height="9"/>
-</svg>
--- a/phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_fr_btn_red_pressed_r.svg	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
-	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
-]>
-<svg version="1.1"
-	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
-	 x="0px" y="0px" width="10px" height="30px" viewBox="0 0 10 30" enable-background="new 0 0 10 30" xml:space="preserve">
-<defs>
-</defs>
-<rect fill="none" width="10" height="30"/>
-<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="5" y1="-9.6675" x2="5" y2="40.4223">
-	<stop  offset="0" style="stop-color:#700000"/>
-	<stop  offset="1" style="stop-color:#CF1708"/>
-</linearGradient>
-<rect fill="url(#SVGID_1_)" width="10" height="30"/>
-<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="9.5" y1="-9.8843" x2="9.5" y2="39.8876">
-	<stop  offset="0" style="stop-color:#FFFFFF"/>
-	<stop  offset="1" style="stop-color:#999999"/>
-</linearGradient>
-<rect x="9" opacity="0.35" fill="url(#SVGID_2_)" width="1" height="30"/>
-<rect fill="none" width="10" height="30"/>
-<rect opacity="0.1" fill="#FFFFFF" width="7" height="9"/>
-</svg>
--- a/phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_fr_btn_red_pressed_t.svg	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
-	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
-]>
-<svg version="1.1"
-	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
-	 x="0px" y="0px" width="50px" height="10px" viewBox="0 0 50 10" enable-background="new 0 0 50 10" xml:space="preserve">
-<defs>
-</defs>
-<rect fill="none" width="50" height="10"/>
-<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="24.9995" y1="0.3325" x2="24.9995" y2="50.4215">
-	<stop  offset="0" style="stop-color:#700000"/>
-	<stop  offset="1" style="stop-color:#CF1708"/>
-</linearGradient>
-<rect fill="url(#SVGID_1_)" width="50" height="10"/>
-<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="24.9995" y1="0.1157" x2="24.9995" y2="49.8868">
-	<stop  offset="0" style="stop-color:#FFFFFF"/>
-	<stop  offset="1" style="stop-color:#999999"/>
-</linearGradient>
-<rect opacity="0.35" fill="url(#SVGID_2_)" width="50" height="1"/>
-<rect fill="none" width="50" height="10"/>
-<rect y="3" opacity="0.1" fill="#FFFFFF" width="50" height="7"/>
-</svg>
--- a/phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_fr_btn_red_pressed_tl.svg	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
-	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
-]>
-<svg version="1.1"
-	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
-	 x="0px" y="0px" width="10px" height="10px" viewBox="0 0 10 10" enable-background="new 0 0 10 10" xml:space="preserve">
-<defs>
-</defs>
-<rect fill="none" width="10" height="10"/>
-<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="5" y1="0.3325" x2="5" y2="50.4215">
-	<stop  offset="0" style="stop-color:#700000"/>
-	<stop  offset="1" style="stop-color:#CF1708"/>
-</linearGradient>
-<path fill="url(#SVGID_1_)" d="M10,0H5C2.238,0,0,2.238,0,5v5h10V0z"/>
-<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="5" y1="0.1157" x2="5" y2="49.8868">
-	<stop  offset="0" style="stop-color:#FFFFFF"/>
-	<stop  offset="1" style="stop-color:#999999"/>
-</linearGradient>
-<path opacity="0.35" fill="url(#SVGID_2_)" d="M1,5c0-2.206,1.794-4,4-4h5V0H5C2.238,0,0,2.238,0,5v5h1V5z"/>
-<rect fill="none" width="10" height="10"/>
-<path opacity="0.1" fill="#FFFFFF" d="M10,3H5C3.897,3,3,3.897,3,5v5h7V3z"/>
-</svg>
--- a/phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_fr_btn_red_pressed_tr.svg	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
-	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
-]>
-<svg version="1.1"
-	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
-	 x="0px" y="0px" width="10px" height="10px" viewBox="0 0 10 10" enable-background="new 0 0 10 10" xml:space="preserve">
-<defs>
-</defs>
-<rect fill="none" width="10" height="10"/>
-<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="5" y1="0.3325" x2="5" y2="50.4215">
-	<stop  offset="0" style="stop-color:#700000"/>
-	<stop  offset="1" style="stop-color:#CF1708"/>
-</linearGradient>
-<path fill="url(#SVGID_1_)" d="M10,5c0-2.762-2.238-5-5-5H0v10h10V5z"/>
-<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="5" y1="0.1157" x2="5" y2="49.8868">
-	<stop  offset="0" style="stop-color:#FFFFFF"/>
-	<stop  offset="1" style="stop-color:#999999"/>
-</linearGradient>
-<path opacity="0.35" fill="url(#SVGID_2_)" d="M10,5c0-2.762-2.238-5-5-5H0v1h5c2.206,0,4,1.794,4,4v5h1V5z"/>
-<rect fill="none" width="10" height="10"/>
-<path opacity="0.1" fill="#FFFFFF" d="M7,5c0-1.103-0.896-2-2-2H0v7h7V5z"/>
-</svg>
--- a/phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_large_active_call.svg	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg baseProfile="tiny" height="60" viewBox="0 0 60 60" width="60" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-<g>
-<linearGradient gradientTransform="matrix(0.2118 0.9773 -0.9773 0.2118 -634.5609 -270.4865)" gradientUnits="userSpaceOnUse" id="SVGID_1_" x1="423.0967" x2="429.6524" y1="-578.646" y2="-582.9078">
-<stop offset="0" style="stop-color:#A7E722"/>
-<stop offset="0.1333" style="stop-color:#A7E722"/>
-<stop offset="0.6303" style="stop-color:#428C0F"/>
-<stop offset="1" style="stop-color:#5CA617"/>
-</linearGradient>
-<path d="M19.081,33.91c2.089-3.595,4.591-6.496,7.281-9.188c2.593-2.591,6.72-5.3,8.562-6.256l9.604-10.282  c-0.845-0.3-3.693-0.464-7.279,0.616c-3.586,1.083-11.736,6.303-16.979,11.547c-5.242,5.246-9.727,12.347-10.581,14.595  c-1.343,3.541-1.221,7.445-0.929,8.58c0,0,0.34,1.035,1.144,2.377C10.248,46.475,19.081,33.91,19.081,33.91z" fill="url(#SVGID_1_)"/>
-<path d="M31.184,20.8c1.488-1.036,2.87-1.882,3.74-2.334L44.271,8.46  c-0.132-0.058-0.209-0.088-0.209-0.088c-0.247-0.088-0.642-0.162-1.124-0.219c-0.793,0.006-1.596,0.093-2.401,0.27  C34.843,9.673,31.019,14.958,31.184,20.8z" fill="#020202" fill-opacity="0.05" stroke-opacity="0.05"/>
-<path d="M31.906,20.306c1.205-0.809,2.291-1.462,3.018-1.84l9.377-10.04  c-0.146-0.063-0.233-0.098-0.233-0.098c-0.231-0.08-0.604-0.152-1.06-0.203c-0.751,0.006-1.51,0.087-2.27,0.253  C35.275,9.576,31.636,14.695,31.906,20.306z" fill="#020202" fill-opacity="0.1" stroke-opacity="0.1"/>
-<path d="M44.079,8.263c-0.21-0.073-0.55-0.137-0.962-0.186c-0.681,0.006-1.369,0.08-2.06,0.231  c-5.087,1.116-8.426,5.984-7.978,11.233c0.725-0.455,1.363-0.826,1.844-1.076l9.424-10.088C44.178,8.302,44.079,8.263,44.079,8.263z  " fill="#020202" fill-opacity="0.1" stroke-opacity="0.1"/>
-<radialGradient cx="40.9697" cy="9.21" gradientUnits="userSpaceOnUse" id="SVGID_2_" r="12.2872">
-<stop offset="0" style="stop-color:#A7E722"/>
-<stop offset="0.6242" style="stop-color:#428C0F"/>
-<stop offset="1" style="stop-color:#5CA617"/>
-</radialGradient>
-<path d="M34.924,18.466l0.929,1.55c0,0,15.101-6.784,14.084-8.038c-0.513-0.631-0.577-0.656-1.237-1.263  c-1.985-1.815-4.172-2.531-4.172-2.531c-0.186-0.063-0.481-0.12-0.845-0.161c-0.596,0.004-1.2,0.068-1.806,0.201  c-4.591,1.009-7.57,5.501-6.963,10.257C34.916,18.477,34.921,18.47,34.924,18.466z" fill="url(#SVGID_2_)"/>
-<path d="M17.483,34.105c-0.988-0.139-2.007-0.119-3.027,0.105c-2.418,0.531-4.376,2.066-5.646,4.131  c-0.367,2.35-0.25,4.408-0.05,5.18c0,0,0.34,1.035,1.144,2.377c0.29,0.482,6.54-8.264,8.556-11.107L17.483,34.105z" fill="#020202" fill-opacity="0.1" stroke-opacity="0.1"/>
-<path d="M18.366,34.135c-0.989-0.139-2.008-0.117-3.029,0.105c-3.313,0.727-5.775,3.332-6.76,6.623  c-0.026,1.025,0.034,1.873,0.127,2.398c0.003,0.012,0.005,0.033,0.01,0.047c0,0,0.34,1.033,1.144,2.379  c0.3,0.498,6.981-8.887,8.75-11.383L18.366,34.135z" fill="#020202" fill-opacity="0.1" stroke-opacity="0.1"/>
-<radialGradient cx="437.4258" cy="-571.231" gradientTransform="matrix(0.2095 0.9787 -0.9682 0.2124 -629.4526 -270.6148)" gradientUnits="userSpaceOnUse" id="SVGID_3_" r="14.6187">
-<stop offset="0" style="stop-color:#A7E722"/>
-<stop offset="0.6242" style="stop-color:#428C0F"/>
-<stop offset="1" style="stop-color:#5CA617"/>
-</radialGradient>
-<path d="M11.202,47.738c0.616,0.74,0.646,0.953,1.295,1.523c1.194,1.055,9.301-13.611,9.301-13.611  l-2.683-1.719c-0.941-0.111-1.914-0.08-2.89,0.135c-4.777,1.049-7.806,5.869-6.87,10.832C9.749,45.686,10.349,46.709,11.202,47.738z  " fill="url(#SVGID_3_)"/>
-<path d="M49.937,11.978c-0.179-0.22-0.381-0.446-0.578-0.67l-13.944,7.959l0.438,0.749  C35.853,20.016,50.953,13.231,49.937,11.978z" fill="#020202" fill-opacity="0.4" stroke-opacity="0.4"/>
-<linearGradient gradientTransform="matrix(0.2118 0.9773 -0.9773 0.2118 -634.5599 -270.4865)" gradientUnits="userSpaceOnUse" id="SVGID_4_" x1="422.2881" x2="427.4786" y1="-610.9287" y2="-594.4409">
-<stop offset="0" style="stop-color:#C6FF45"/>
-<stop offset="0.6788" style="stop-color:#387300"/>
-<stop offset="1" style="stop-color:#66A00E"/>
-</linearGradient>
-<path d="M35.853,20.016l1.178,1.981c0.302,0.515,0.972,0.674,1.569,0.422l4.09-2.334l8.043-4.668  c0.632-0.363,0.878-1.119,0.549-1.686c0,0-0.333-0.501-1.349-1.751L35.853,20.016z" fill="url(#SVGID_4_)"/>
-<path d="M21.798,35.65l-0.725-0.473l-9.215,13.486c0.216,0.205,0.43,0.414,0.639,0.598  C13.691,50.316,21.798,35.65,21.798,35.65z" fill="#020202" fill-opacity="0.4" stroke-opacity="0.4"/>
-<linearGradient gradientTransform="matrix(0.2118 0.9773 -0.9773 0.2118 -634.5599 -270.4865)" gradientUnits="userSpaceOnUse" id="SVGID_5_" x1="439.6982" x2="451.5232" y1="-577.7549" y2="-564.7323">
-<stop offset="0" style="stop-color:#C6FF45"/>
-<stop offset="0.6788" style="stop-color:#387300"/>
-<stop offset="1" style="stop-color:#66A00E"/>
-</linearGradient>
-<path d="M12.498,49.262c1.193,1.049,1.686,1.369,1.686,1.369c0.567,0.367,1.363,0.17,1.781-0.441l7.9-11.605  c0.419-0.615,0.307-1.412-0.26-1.777l-1.808-1.156L12.498,49.262z" fill="url(#SVGID_5_)"/>
-<rect fill="none" height="60" width="60"/>
-</g>
-</svg>
--- a/phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_large_avatar.svg	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg baseProfile="tiny" height="60" viewBox="0 0 60 60" width="60" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-<g>
-<path d="M46.691,42.35c-1.665-0.866-9.918-3.756-10.072-3.936l-0.002,0.002  c-0.934-1.068-0.896-3.433-0.43-4.46c0.001-0.001,0.002-0.001,0.002-0.002c0.032-0.071,0.065-0.139,0.104-0.197  c0.113-0.177,0.219-0.354,0.326-0.533l0,0c0.813-1.329,1.494-2.651,2.054-3.892c1.009,0.349,2.307-0.59,2.95-2.18  c0.667-1.645,0.379-3.354-0.645-3.815c-0.058-0.026-0.119-0.03-0.178-0.048c0-0.001,0-0.002,0-0.002  c0.133-0.521,0.191-0.826,0.191-0.826c1.77-7.934-2.078-14.223-11.402-14.533c-3.832,0-5.617,0.578-7.039,2.398  c-2.313,0.357-6.039,3.642-3.453,12.927c-0.098,0.016-0.195,0.031-0.289,0.071c-1.032,0.436-1.355,2.128-0.724,3.782  c0.633,1.653,1.983,2.643,3.017,2.208c0.063-0.027,0.117-0.072,0.176-0.11c0.568,1.279,1.266,2.646,2.104,4.02H23.38  c0.022,0.037,0.046,0.073,0.067,0.11c0.023,0.038,0.045,0.076,0.068,0.114c0.002,0.003,0.005,0.005,0.007,0.008  c0.061,0.101,0.12,0.201,0.185,0.301c0.532,0.833,0.663,3.229-0.166,4.457c-0.208,0.283-8.346,3.135-10.23,4.136  c-2.161,1.147-5.688,3.782-5.688,9.723h44.756C52.378,46.132,48.354,43.216,46.691,42.35z" fill="url(#SVGID_1_)"/>
-<path d="M7.659,51.072c-0.022,0.323-0.037,0.655-0.037,1h44.756c0-0.345-0.017-0.676-0.042-1H7.659z" fill="#FFFFFF" fill-opacity="0.15" stroke-opacity="0.15"/>
-<path d="M22.551,11.326c1.422-1.82,3.207-2.398,7.039-2.398c7.565,0.252,11.524,4.44,11.804,10.248  C41.535,12.856,37.58,8.194,29.59,7.928c-3.832,0-5.617,0.578-7.039,2.398c-1.81,0.279-4.472,2.367-4.311,7.704  C18.419,13.429,20.858,11.588,22.551,11.326z" fill="#FFFFFF" fill-opacity="0.5" stroke-opacity="0.5"/>
-<path d="M36.617,38.416c-0.441-0.505-0.66-1.3-0.725-2.106c-0.086,1.09,0.098,2.389,0.725,3.106  l0.002-0.002c0.154,0.18,8.407,3.069,10.072,3.936c1.566,0.816,5.225,3.453,5.645,8.723h0.042c0-5.94-4.024-8.856-5.687-9.723  c-1.665-0.866-9.918-3.756-10.072-3.936L36.617,38.416z" fill="#FFFFFF" fill-opacity="0.5" stroke-opacity="0.5"/>
-<path d="M13.311,43.35c1.885-1.001,10.022-3.853,10.23-4.136c0.508-0.752,0.652-1.938,0.568-2.938  c-0.053,0.717-0.225,1.429-0.568,1.938c-0.208,0.283-8.346,3.135-10.23,4.136c-2.161,1.147-5.688,3.782-5.688,9.723h0.037  C8.029,46.833,11.275,44.431,13.311,43.35z" fill="#FFFFFF" fill-opacity="0.5" stroke-opacity="0.5"/>
-<rect fill="none" height="60" width="60"/>
-<defs>
-<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_1_" x1="29.9995" x2="29.9995" y1="8.5967" y2="52.3536">
-<stop offset="0" style="stop-color:#8E8E8E"/>
-<stop offset="1" style="stop-color:#444444"/>
-</linearGradient>
-</defs>
-</g>
-</svg>
--- a/phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_large_end_call.svg	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg baseProfile="tiny" height="60" viewBox="0 0 60 60" width="60" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-<g>
-<linearGradient gradientTransform="matrix(-0.5413 0.8408 -0.8408 -0.5413 1896.0922 -2198.2874)" gradientUnits="userSpaceOnUse" id="SVGID_1_" x1="2876.6201" x2="2883.1765" y1="367.9102" y2="363.6479">
-<stop offset="0" style="stop-color:#FF7236"/>
-<stop offset="0.6242" style="stop-color:#BA1212"/>
-<stop offset="1" style="stop-color:#E8522A"/>
-</linearGradient>
-<path d="M19.072,29.698c4.021-1.066,7.842-1.348,11.646-1.35c3.666,0.002,8.5,1.004,10.479,1.631l14.061-0.48  c-0.385-0.81-2.283-2.939-5.582-4.711c-3.303-1.771-11.847-3.841-20.172-3.841S13.896,22.8,11.703,23.785  c-3.453,1.555-6.129,4.401-6.725,5.411c0,0-0.49,0.972-0.873,2.489C3.943,32.337,19.072,29.698,19.072,29.698z" fill="url(#SVGID_1_)"/>
-<path d="M36.902,28.984c1.785,0.32,3.359,0.699,4.295,0.995l13.684-0.467  c-0.053-0.134-0.086-0.21-0.086-0.21c-0.111-0.236-0.338-0.568-0.639-0.949c-0.566-0.557-1.195-1.063-1.889-1.508  C47.357,23.704,40.916,24.737,36.902,28.984z" fill="#020202" fill-opacity="0.05" stroke-opacity="0.05"/>
-<path d="M37.762,29.146c1.424,0.28,2.654,0.586,3.436,0.833l13.729-0.47  c-0.059-0.148-0.096-0.233-0.096-0.233c-0.105-0.221-0.318-0.535-0.605-0.894c-0.535-0.526-1.129-1.006-1.783-1.426  C47.73,23.941,41.537,24.988,37.762,29.146z" fill="#020202" fill-opacity="0.1" stroke-opacity="0.1"/>
-<path d="M54.885,29.238c-0.096-0.2-0.291-0.485-0.549-0.812c-0.484-0.478-1.023-0.911-1.619-1.293  c-4.387-2.808-10.189-1.726-13.584,2.303c0.834,0.19,1.547,0.38,2.064,0.543l13.797-0.47C54.928,29.336,54.885,29.238,54.885,29.238  z" fill="#020202" fill-opacity="0.1" stroke-opacity="0.1"/>
-<radialGradient cx="-362.4932" cy="2606.3809" gradientTransform="matrix(0.7071 0.7071 -0.7071 0.7071 2153.4434 -1558.1849)" gradientUnits="userSpaceOnUse" id="SVGID_2_" r="14.0807">
-<stop offset="0" style="stop-color:#FF7236"/>
-<stop offset="0.6242" style="stop-color:#BA1212"/>
-<stop offset="1" style="stop-color:#E8522A"/>
-</radialGradient>
-<path d="M41.197,29.979l-0.439,1.752c0,0,15.475,5.881,15.643,4.275c0.084-0.809,0.057-0.872,0.018-1.768  c-0.119-2.688-1.16-4.74-1.16-4.74c-0.086-0.176-0.256-0.425-0.482-0.711c-0.424-0.419-0.898-0.801-1.42-1.135  c-3.959-2.533-9.242-1.463-12.176,2.329C41.184,29.981,41.191,29.979,41.197,29.979z" fill="url(#SVGID_2_)"/>
-<path d="M17.805,28.706c-0.6-0.797-1.334-1.503-2.215-2.065c-2.084-1.335-4.555-1.633-6.914-1.072  c-1.92,1.402-3.293,2.939-3.697,3.628c0,0-0.49,0.972-0.873,2.489c-0.135,0.546,10.469-1.219,13.904-1.805L17.805,28.706z" fill="#020202" fill-opacity="0.1" stroke-opacity="0.1"/>
-<path d="M18.408,29.352c-0.6-0.799-1.336-1.504-2.217-2.067c-2.855-1.829-6.439-1.728-9.463-0.097  c-0.744,0.706-1.299,1.348-1.605,1.785c-0.006,0.011-0.02,0.027-0.027,0.04c0,0-0.49,0.972-0.873,2.491  c-0.141,0.564,11.221-1.348,14.236-1.862L18.408,29.352z" fill="#020202" fill-opacity="0.1" stroke-opacity="0.1"/>
-<radialGradient cx="2885.8242" cy="377.8994" gradientTransform="matrix(-0.5439 0.8402 -0.8348 -0.5344 1899.8433 -2194.1335)" gradientUnits="userSpaceOnUse" id="SVGID_3_" r="14.6192">
-<stop offset="0" style="stop-color:#FF7236"/>
-<stop offset="0.6242" style="stop-color:#BA1212"/>
-<stop offset="1" style="stop-color:#E8522A"/>
-</radialGradient>
-<path d="M3.725,33.904c-0.088,0.959-0.219,1.131-0.162,1.993c0.098,1.591,16.201-3.049,16.201-3.049  l-0.682-3.112c-0.586-0.744-1.297-1.409-2.139-1.947c-4.119-2.637-9.67-1.369-12.518,2.802C4.148,31.425,3.848,32.573,3.725,33.904z  " fill="url(#SVGID_3_)"/>
-<path d="M56.4,36.007c0.029-0.282,0.047-0.585,0.064-0.883l-15.488-4.232l-0.219,0.84  C40.758,31.731,56.232,37.612,56.4,36.007z" fill="#020202" fill-opacity="0.4" stroke-opacity="0.4"/>
-<linearGradient gradientTransform="matrix(-0.5413 0.8408 -0.8408 -0.5413 1896.0941 -2198.2864)" gradientUnits="userSpaceOnUse" id="SVGID_4_" x1="2875.8125" x2="2881.0032" y1="335.625" y2="352.1139">
-<stop offset="0" style="stop-color:#FF7236"/>
-<stop offset="0.6242" style="stop-color:#BA1212"/>
-<stop offset="1" style="stop-color:#E8522A"/>
-</linearGradient>
-<path d="M40.758,31.731l-0.568,2.234c-0.15,0.577,0.211,1.163,0.811,1.408l4.543,1.241l8.988,2.387  c0.703,0.189,1.412-0.171,1.58-0.804c0,0,0.119-0.59,0.283-2.192L40.758,31.731z" fill="url(#SVGID_4_)"/>
-<path d="M19.764,32.849l-0.178-0.846L3.533,35.023c0.008,0.297,0.012,0.597,0.029,0.874  C3.66,37.488,19.764,32.849,19.764,32.849z" fill="#020202" fill-opacity="0.4" stroke-opacity="0.4"/>
-<linearGradient gradientTransform="matrix(-0.5413 0.8408 -0.8408 -0.5413 1896.0941 -2198.2869)" gradientUnits="userSpaceOnUse" id="SVGID_5_" x1="2893.2236" x2="2905.0479" y1="368.8027" y2="381.8245">
-<stop offset="0" style="stop-color:#FF7236"/>
-<stop offset="0.6242" style="stop-color:#BA1212"/>
-<stop offset="1" style="stop-color:#E8522A"/>
-</linearGradient>
-<path d="M3.563,35.897c0.102,1.587,0.225,2.161,0.225,2.161c0.141,0.66,0.844,1.083,1.572,0.946l13.793-2.62  c0.73-0.138,1.213-0.78,1.072-1.44l-0.461-2.096L3.563,35.897z" fill="url(#SVGID_5_)"/>
-<rect fill="none" height="60" width="60"/>
-</g>
-</svg>
--- a/phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_large_video_call_active.svg	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,138 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg baseProfile="tiny" height="60" viewBox="0 0 60 60" width="60" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-<g>
-<linearGradient gradientTransform="matrix(0.2118 0.9773 -0.9773 0.2118 -634.5609 -270.4865)" gradientUnits="userSpaceOnUse" id="SVGID_1_" x1="423.0967" x2="429.6524" y1="-578.646" y2="-582.9078">
-<stop offset="0" style="stop-color:#A7E722"/>
-<stop offset="0.1333" style="stop-color:#A7E722"/>
-<stop offset="0.6303" style="stop-color:#428C0F"/>
-<stop offset="1" style="stop-color:#5CA617"/>
-</linearGradient>
-<path d="M19.081,33.91c2.089-3.595,4.591-6.496,7.281-9.188c2.593-2.591,6.72-5.3,8.562-6.256l9.604-10.282  c-0.845-0.3-3.693-0.464-7.279,0.616c-3.586,1.083-11.736,6.303-16.979,11.547c-5.242,5.246-9.727,12.347-10.581,14.595  c-1.343,3.541-1.221,7.445-0.929,8.58c0,0,0.34,1.035,1.144,2.377C10.248,46.475,19.081,33.91,19.081,33.91z" fill="url(#SVGID_1_)"/>
-<path d="M31.184,20.8c1.488-1.036,2.87-1.882,3.74-2.334L44.271,8.46  c-0.132-0.058-0.209-0.088-0.209-0.088c-0.247-0.088-0.642-0.162-1.124-0.219c-0.793,0.006-1.596,0.093-2.401,0.27  C34.843,9.673,31.019,14.958,31.184,20.8z" fill="#020202" fill-opacity="0.05" stroke-opacity="0.05"/>
-<path d="M31.906,20.306c1.205-0.809,2.291-1.462,3.018-1.84l9.377-10.04  c-0.146-0.063-0.233-0.098-0.233-0.098c-0.231-0.08-0.604-0.152-1.06-0.203c-0.751,0.006-1.51,0.087-2.27,0.253  C35.275,9.576,31.636,14.695,31.906,20.306z" fill="#020202" fill-opacity="0.1" stroke-opacity="0.1"/>
-<path d="M44.079,8.263c-0.21-0.073-0.55-0.137-0.962-0.186c-0.681,0.006-1.369,0.08-2.06,0.231  c-5.087,1.116-8.426,5.984-7.978,11.233c0.725-0.455,1.363-0.826,1.844-1.076l9.424-10.088C44.178,8.302,44.079,8.263,44.079,8.263z  " fill="#020202" fill-opacity="0.1" stroke-opacity="0.1"/>
-<radialGradient cx="40.9697" cy="9.21" gradientUnits="userSpaceOnUse" id="SVGID_2_" r="12.2872">
-<stop offset="0" style="stop-color:#A7E722"/>
-<stop offset="0.6242" style="stop-color:#428C0F"/>
-<stop offset="1" style="stop-color:#5CA617"/>
-</radialGradient>
-<path d="M34.924,18.466l0.929,1.55c0,0,15.101-6.784,14.084-8.038c-0.513-0.631-0.577-0.656-1.237-1.263  c-1.985-1.815-4.172-2.531-4.172-2.531c-0.186-0.063-0.481-0.12-0.845-0.161c-0.596,0.004-1.2,0.068-1.806,0.201  c-4.591,1.009-7.57,5.501-6.963,10.257C34.916,18.477,34.921,18.47,34.924,18.466z" fill="url(#SVGID_2_)"/>
-<path d="M17.483,34.105c-0.988-0.139-2.007-0.119-3.027,0.105c-2.418,0.531-4.376,2.066-5.646,4.131  c-0.367,2.35-0.25,4.408-0.05,5.18c0,0,0.34,1.035,1.144,2.377c0.29,0.482,6.54-8.264,8.556-11.107L17.483,34.105z" fill="#020202" fill-opacity="0.1" stroke-opacity="0.1"/>
-<path d="M18.366,34.135c-0.989-0.139-2.008-0.117-3.029,0.105c-3.313,0.727-5.775,3.332-6.76,6.623  c-0.026,1.025,0.034,1.873,0.127,2.398c0.003,0.012,0.005,0.033,0.01,0.047c0,0,0.34,1.033,1.144,2.379  c0.3,0.498,6.981-8.887,8.75-11.383L18.366,34.135z" fill="#020202" fill-opacity="0.1" stroke-opacity="0.1"/>
-<radialGradient cx="437.4258" cy="-571.231" gradientTransform="matrix(0.2095 0.9787 -0.9682 0.2124 -629.4526 -270.6148)" gradientUnits="userSpaceOnUse" id="SVGID_3_" r="14.6187">
-<stop offset="0" style="stop-color:#A7E722"/>
-<stop offset="0.6242" style="stop-color:#428C0F"/>
-<stop offset="1" style="stop-color:#5CA617"/>
-</radialGradient>
-<path d="M11.202,47.738c0.616,0.74,0.646,0.953,1.295,1.523c1.194,1.055,9.301-13.611,9.301-13.611  l-2.683-1.719c-0.941-0.111-1.914-0.08-2.89,0.135c-4.777,1.049-7.806,5.869-6.87,10.832C9.749,45.686,10.349,46.709,11.202,47.738z  " fill="url(#SVGID_3_)"/>
-<path d="M49.937,11.978c-0.179-0.22-0.381-0.446-0.578-0.67l-13.944,7.959l0.438,0.749  C35.853,20.016,50.953,13.231,49.937,11.978z" fill="#020202" fill-opacity="0.4" stroke-opacity="0.4"/>
-<linearGradient gradientTransform="matrix(0.2118 0.9773 -0.9773 0.2118 -634.5599 -270.4865)" gradientUnits="userSpaceOnUse" id="SVGID_4_" x1="422.2881" x2="427.4786" y1="-610.9287" y2="-594.4409">
-<stop offset="0" style="stop-color:#C6FF45"/>
-<stop offset="0.6788" style="stop-color:#387300"/>
-<stop offset="1" style="stop-color:#66A00E"/>
-</linearGradient>
-<path d="M35.853,20.016l1.178,1.981c0.302,0.515,0.972,0.674,1.569,0.422l4.09-2.334l8.043-4.668  c0.632-0.363,0.878-1.119,0.549-1.686c0,0-0.333-0.501-1.349-1.751L35.853,20.016z" fill="url(#SVGID_4_)"/>
-<path d="M21.798,35.65l-0.725-0.473l-9.215,13.486c0.216,0.205,0.43,0.414,0.639,0.598  C13.691,50.316,21.798,35.65,21.798,35.65z" fill="#020202" fill-opacity="0.4" stroke-opacity="0.4"/>
-<linearGradient gradientTransform="matrix(0.2118 0.9773 -0.9773 0.2118 -634.5599 -270.4865)" gradientUnits="userSpaceOnUse" id="SVGID_5_" x1="439.6982" x2="451.5232" y1="-577.7549" y2="-564.7323">
-<stop offset="0" style="stop-color:#C6FF45"/>
-<stop offset="0.6788" style="stop-color:#387300"/>
-<stop offset="1" style="stop-color:#66A00E"/>
-</linearGradient>
-<path d="M12.498,49.262c1.193,1.049,1.686,1.369,1.686,1.369c0.567,0.367,1.363,0.17,1.781-0.441l7.9-11.605  c0.419-0.615,0.307-1.412-0.26-1.777l-1.808-1.156L12.498,49.262z" fill="url(#SVGID_5_)"/>
-<rect fill="none" height="60" width="60"/>
-</g>
-<g transform="matrix(1 0 0 1 30 30)">
-<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_1__" x1="12.3789" x2="17.6203" y1="23.6504" y2="23.6504">
-<stop offset="0" style="stop-color:#878A8C"/>
-<stop offset="0.2606" style="stop-color:#BDC2C4"/>
-<stop offset="0.6606" style="stop-color:#5B6163"/>
-<stop offset="1" style="stop-color:#959A9C"/>
-</linearGradient>
-<rect fill="url(#SVGID_1__)" height="7.853" width="5.105" x="12.447" y="19.724"/>
-<path d="M12.447,24.655c0.82,0.199,1.673,0.315,2.553,0.315c0.881,0,1.732-0.116,2.553-0.315v-4.294  h-5.105V24.655z" fill="#020202" fill-opacity="0.2" stroke-opacity="0.2"/>
-<path d="M12.447,24.018c0.82,0.199,1.673,0.315,2.553,0.315c0.881,0,1.732-0.116,2.553-0.315v-4.294  h-5.105V24.018z" fill="#020202" fill-opacity="0.2" stroke-opacity="0.2"/>
-<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_2__" x1="14.9995" x2="14.9995" y1="1.9746" y2="23.6704">
-<stop offset="0" style="stop-color:#F2F2F2"/>
-<stop offset="0.3212" style="stop-color:#E6E6E6"/>
-<stop offset="1" style="stop-color:#666666"/>
-</linearGradient>
-<path d="M15,23.695c-5.98,0-10.848-4.867-10.848-10.848S9.02,2,15,2c5.982,0,10.848,4.866,10.848,10.847  S20.982,23.695,15,23.695L15,23.695z" fill="url(#SVGID_2__)"/>
-<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_3__" x1="14.9995" x2="14.9995" y1="2.6143" y2="23.0332">
-<stop offset="0" style="stop-color:#D1D7D9"/>
-<stop offset="0.0667" style="stop-color:#D1D7D9"/>
-<stop offset="0.2606" style="stop-color:#BDC2C4"/>
-<stop offset="0.6606" style="stop-color:#7C8487"/>
-<stop offset="1" style="stop-color:#ADB3B5"/>
-</linearGradient>
-<circle cx="15" cy="12.847" fill="url(#SVGID_3__)" r="10.209"/>
-<path d="M15,21.989c-5.315,0-9.657-4.23-9.843-9.5c-0.004,0.116-0.009,0.231-0.009,0.349  c0,5.431,4.419,9.851,9.852,9.851s9.852-4.42,9.852-9.851c0-0.117-0.005-0.232-0.009-0.349C24.658,17.759,20.315,21.989,15,21.989z" fill="#FFFFFF" fill-opacity="0.1" stroke-opacity="0.1"/>
-<path d="M23.295,12.413c0,4.704-3.715,9.346-8.299,9.345c-4.58-0.003-8.292-4.646-8.291-9.35  c0.002-4.706,3.718-8.517,8.298-8.517C19.584,3.894,23.298,7.707,23.295,12.413z" fill="#231F20" fill-opacity="0.3" stroke-opacity="0.3"/>
-<path d="M14.996,21.066c-2.387-0.002-4.63-0.932-6.315-2.619c-1.688-1.688-2.615-3.932-2.614-6.318  c0-4.923,4.009-8.929,8.935-8.929c2.387,0,4.632,0.931,6.317,2.618c1.688,1.688,2.616,3.933,2.615,6.318  c-0.002,4.924-4.01,8.93-8.934,8.93H14.996z" fill="#231F20" fill-opacity="0.2" stroke-opacity="0.2"/>
-<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_4__" x1="14.9995" x2="14.9995" y1="3.7212" y2="20.3517">
-<stop offset="0" style="stop-color:#CFCFCF"/>
-<stop offset="0.1091" style="stop-color:#CFCFCF"/>
-<stop offset="0.6848" style="stop-color:#121212"/>
-<stop offset="1" style="stop-color:#A6A6A6"/>
-</linearGradient>
-<path d="M14.996,20.428c-2.216-0.002-4.298-0.864-5.864-2.432c-1.567-1.566-2.428-3.65-2.427-5.866  c0-4.573,3.723-8.293,8.296-8.293c2.218,0.001,4.3,0.864,5.866,2.432c1.566,1.568,2.43,3.651,2.428,5.867  c-0.001,4.573-3.723,8.292-8.295,8.292H14.996z" fill="url(#SVGID_4__)"/>
-<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_5__" x1="14.9995" x2="14.9995" y1="4.3682" y2="19.7187">
-<stop offset="0" style="stop-color:#F2F2F2"/>
-<stop offset="1" style="stop-color:#606769"/>
-</linearGradient>
-<circle cx="15" cy="12.133" fill="url(#SVGID_5__)" r="7.657"/>
-<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_6_" x1="14.9995" x2="14.9995" y1="5.7715" y2="18.454">
-<stop offset="0" style="stop-color:#1A1A1A"/>
-<stop offset="0.503" style="stop-color:#343434"/>
-<stop offset="0.7515" style="stop-color:#9E9E9E"/>
-<stop offset="1" style="stop-color:#CFCFCF"/>
-</linearGradient>
-<path d="M15,18.514c-1.706-0.001-3.309-0.666-4.514-1.871c-1.204-1.206-1.867-2.808-1.867-4.512  c0-3.517,2.862-6.378,6.382-6.378c1.706,0,3.308,0.664,4.513,1.871c1.205,1.205,1.868,2.808,1.867,4.513  C21.381,15.652,18.519,18.514,15,18.514L15,18.514z" fill="url(#SVGID_6_)"/>
-<radialGradient cx="25.7734" cy="10.2729" gradientTransform="matrix(1.0143 3.000000e-004 -3.000000e-004 1.0141 -10.5185 2.1979)" gradientUnits="userSpaceOnUse" id="SVGID_7_" r="6.4991">
-<stop offset="0" style="stop-color:#000000"/>
-<stop offset="0.5917" style="stop-color:#000000"/>
-<stop offset="0.627" style="stop-color:#050505"/>
-<stop offset="0.7652" style="stop-color:#121212"/>
-<stop offset="0.8876" style="stop-color:#171717"/>
-<stop offset="1" style="stop-color:#171717"/>
-</radialGradient>
-<path d="M20.743,12.135c0,3.172-2.574,5.74-5.744,5.74c-3.175-0.001-5.743-2.573-5.741-5.745  c0-3.171,2.573-5.742,5.745-5.74C18.173,6.391,20.744,8.962,20.743,12.135z" fill="url(#SVGID_7_)"/>
-<radialGradient cx="21.6543" cy="5.0659" gradientTransform="matrix(1.0143 0 0 1.0141 -9.5579 3.1299)" gradientUnits="userSpaceOnUse" id="SVGID_8_" r="10.3515">
-<stop offset="0" style="stop-color:#242424"/>
-<stop offset="0.4303" style="stop-color:#242424"/>
-<stop offset="0.7818" style="stop-color:#000000"/>
-<stop offset="1" style="stop-color:#000000"/>
-</radialGradient>
-<circle cx="15" cy="12.133" fill="url(#SVGID_8_)" r="4.712"/>
-<radialGradient cx="23.9639" cy="3.5498" gradientTransform="matrix(1.0143 3.000000e-004 -3.000000e-004 1.0141 -10.5185 2.1979)" gradientUnits="userSpaceOnUse" id="SVGID_9_" r="11.3574">
-<stop offset="0" style="stop-color:#A700F5"/>
-<stop offset="0.3091" style="stop-color:#A700F5"/>
-<stop offset="0.4364" style="stop-color:#5E008A"/>
-<stop offset="0.8061" style="stop-color:#0E1402"/>
-<stop offset="1" style="stop-color:#0E1402"/>
-</radialGradient>
-<path d="M19.211,12.133c0,2.326-1.886,4.21-4.212,4.21c-2.326-0.002-4.213-1.888-4.213-4.212  c0.004-2.327,1.89-4.21,4.213-4.21C17.328,7.923,19.214,9.808,19.211,12.133z" fill="url(#SVGID_9_)"/>
-<radialGradient cx="25.1709" cy="13.2505" gradientTransform="matrix(1.0143 3.000000e-004 -3.000000e-004 1.0141 -10.5185 2.1979)" gradientUnits="userSpaceOnUse" id="SVGID_10_" r="4.6113">
-<stop offset="0" style="stop-color:#48630C"/>
-<stop offset="0.7879" style="stop-color:#000000"/>
-<stop offset="1" style="stop-color:#000000"/>
-</radialGradient>
-<path d="M19.211,12.133c0,2.326-1.886,4.21-4.212,4.21c-2.326-0.002-4.213-1.888-4.213-4.212  c0,0,1.444,2.569,4.213,2.569C17.767,14.701,19.211,12.133,19.211,12.133z" fill="url(#SVGID_10_)"/>
-<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_11_" x1="14.979" x2="14.979" y1="7.0654" y2="12.0939">
-<stop offset="0" style="stop-color:#F8FBFF"/>
-<stop offset="1" style="stop-color:#808080"/>
-</linearGradient>
-<path d="M14.979,12.069c1.828,0,3.549-0.277,5.067-0.765  c-0.431-2.41-2.532-4.239-5.067-4.239c-2.532,0-4.632,1.83-5.065,4.239C11.431,11.792,13.153,12.069,14.979,12.069z" fill="url(#SVGID_11_)" fill-opacity="0.35" stroke-opacity="0.35"/>
-<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_12_" x1="5.7617" x2="24.2852" y1="26.7236" y2="26.7236">
-<stop offset="0" style="stop-color:#878A8C"/>
-<stop offset="0.2606" style="stop-color:#BDC2C4"/>
-<stop offset="0.6606" style="stop-color:#5B6163"/>
-<stop offset="1" style="stop-color:#959A9C"/>
-</linearGradient>
-<path d="M24.245,28c0.025-0.635,0.04-0.508,0.04-0.639v-0.035c0-1.037-0.852-1.879-1.901-1.879H7.662  c-1.05,0-1.9,0.842-1.9,1.879v0.035c0,0.131,0.014,0.004,0.04,0.639H24.245z" fill="url(#SVGID_12_)"/>
-<path d="M5.879,26.7h18.29c-0.084-0.234-0.212-0.444-0.377-0.626H6.256  C6.092,26.256,5.963,26.466,5.879,26.7z" fill="#FFFFFF" fill-opacity="0.2" stroke-opacity="0.2"/>
-<path d="M5.772,27.361C5.779,27.492,5.789,27.684,5.802,28h18.443  c0.012-0.316,0.022-0.508,0.028-0.639H5.772z" fill="#020202" fill-opacity="0.2" stroke-opacity="0.2"/>
-<path d="M6.255,26.074h17.536c-0.348-0.383-0.846-0.627-1.407-0.627H7.662  C7.102,25.447,6.603,25.691,6.255,26.074z" fill="#FFFFFF" fill-opacity="0.4" stroke-opacity="0.4"/>
-<rect fill="none" height="30" width="30"/>
-</g>
-</svg>
--- a/phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_large_video_call_waiting.svg	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,137 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg baseProfile="tiny" height="60" viewBox="0 0 60 60" width="60" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-<g>
-<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_1_" x1="20.3613" x2="26.6141" y1="20.2744" y2="26.4485">
-<stop offset="0" style="stop-color:#FEE16E"/>
-<stop offset="0.5939" style="stop-color:#D96900"/>
-<stop offset="1" style="stop-color:#FED43A"/>
-</linearGradient>
-<path d="M19.081,33.911c2.089-3.597,4.591-6.497,7.281-9.189c2.593-2.591,6.72-5.3,8.562-6.256l9.604-10.282  c-0.845-0.3-3.693-0.464-7.279,0.616c-3.586,1.083-11.736,6.303-16.979,11.547c-5.242,5.246-9.727,12.347-10.581,14.595  c-1.343,3.541-1.221,7.445-0.929,8.581c0,0,0.34,1.034,1.144,2.377C10.248,46.476,19.081,33.911,19.081,33.911z" fill="url(#SVGID_1_)"/>
-<path d="M31.184,20.8c1.488-1.036,2.87-1.882,3.74-2.334L44.271,8.46  c-0.132-0.058-0.209-0.088-0.209-0.088c-0.247-0.088-0.642-0.162-1.124-0.219c-0.793,0.006-1.596,0.093-2.401,0.27  C34.843,9.673,31.019,14.958,31.184,20.8z" fill="#020202" fill-opacity="0.05" stroke-opacity="0.05"/>
-<path d="M31.906,20.306c1.205-0.809,2.291-1.462,3.018-1.84l9.377-10.04  c-0.146-0.063-0.233-0.098-0.233-0.098c-0.231-0.08-0.604-0.152-1.06-0.203c-0.751,0.006-1.51,0.087-2.27,0.253  C35.275,9.576,31.636,14.695,31.906,20.306z" fill="#020202" fill-opacity="0.1" stroke-opacity="0.1"/>
-<path d="M44.079,8.263c-0.21-0.073-0.55-0.137-0.962-0.186c-0.681,0.006-1.369,0.08-2.06,0.231  c-5.087,1.116-8.426,5.984-7.978,11.233c0.725-0.455,1.363-0.826,1.844-1.076l9.424-10.088C44.178,8.302,44.079,8.263,44.079,8.263z  " fill="#020202" fill-opacity="0.1" stroke-opacity="0.1"/>
-<radialGradient cx="43.6406" cy="10.1128" gradientUnits="userSpaceOnUse" id="SVGID_2_" r="13.348">
-<stop offset="0" style="stop-color:#FEE16E"/>
-<stop offset="0.6061" style="stop-color:#F1830A"/>
-<stop offset="1" style="stop-color:#FED43A"/>
-</radialGradient>
-<path d="M34.924,18.466l0.929,1.55c0,0,15.101-6.784,14.084-8.038c-0.513-0.631-0.577-0.656-1.237-1.263  c-1.985-1.815-4.172-2.531-4.172-2.531c-0.186-0.063-0.481-0.12-0.845-0.161c-0.596,0.004-1.2,0.068-1.806,0.201  c-4.591,1.009-7.57,5.501-6.963,10.257C34.916,18.477,34.921,18.47,34.924,18.466z" fill="url(#SVGID_2_)"/>
-<path d="M17.483,34.106c-0.988-0.14-2.007-0.119-3.027,0.105c-2.418,0.53-4.376,2.066-5.646,4.131  c-0.367,2.35-0.25,4.407-0.05,5.18c0,0,0.34,1.034,1.144,2.377c0.29,0.482,6.54-8.264,8.556-11.107L17.483,34.106z" fill="#020202" fill-opacity="0.1" stroke-opacity="0.1"/>
-<path d="M18.366,34.136c-0.989-0.14-2.008-0.118-3.029,0.105c-3.313,0.727-5.775,3.332-6.76,6.623  c-0.026,1.025,0.034,1.872,0.127,2.397c0.003,0.013,0.005,0.034,0.01,0.048c0,0,0.34,1.033,1.144,2.379  c0.3,0.498,6.981-8.888,8.75-11.384L18.366,34.136z" fill="#020202" fill-opacity="0.1" stroke-opacity="0.1"/>
-<radialGradient cx="437.4258" cy="-571.231" gradientTransform="matrix(0.2095 0.9787 -0.9682 0.2124 -629.4526 -270.6148)" gradientUnits="userSpaceOnUse" id="SVGID_3_" r="14.6198">
-<stop offset="0" style="stop-color:#FEE16E"/>
-<stop offset="0.6061" style="stop-color:#F1830A"/>
-<stop offset="1" style="stop-color:#FED43A"/>
-</radialGradient>
-<path d="M11.202,47.738c0.616,0.74,0.646,0.954,1.295,1.524c1.194,1.055,9.301-13.612,9.301-13.612  l-2.683-1.719c-0.941-0.111-1.914-0.079-2.89,0.136c-4.777,1.048-7.806,5.868-6.87,10.832C9.749,45.686,10.349,46.71,11.202,47.738z  " fill="url(#SVGID_3_)"/>
-<path d="M49.937,11.978c-0.179-0.22-0.381-0.446-0.578-0.67l-13.944,7.959l0.438,0.749  C35.853,20.016,50.953,13.231,49.937,11.978z" fill="#020202" fill-opacity="0.5" stroke-opacity="0.5"/>
-<linearGradient gradientTransform="matrix(0.2118 0.9773 -0.9773 0.2118 -634.5599 -270.4865)" gradientUnits="userSpaceOnUse" id="SVGID_4_" x1="422.2881" x2="427.4786" y1="-610.9287" y2="-594.4409">
-<stop offset="0" style="stop-color:#FEE16E"/>
-<stop offset="0.7576" style="stop-color:#D96900"/>
-<stop offset="1" style="stop-color:#FED43A"/>
-</linearGradient>
-<path d="M35.853,20.016l1.178,1.981c0.302,0.515,0.972,0.674,1.569,0.422l4.09-2.334l8.043-4.668  c0.632-0.363,0.878-1.119,0.549-1.686c0,0-0.333-0.501-1.349-1.751L35.853,20.016z" fill="url(#SVGID_4_)"/>
-<path d="M21.798,35.65l-0.725-0.472l-9.215,13.486c0.216,0.204,0.43,0.414,0.639,0.598  C13.691,50.317,21.798,35.65,21.798,35.65z" fill="#020202" fill-opacity="0.5" stroke-opacity="0.5"/>
-<linearGradient gradientTransform="matrix(0.2118 0.9773 -0.9773 0.2118 -634.5599 -270.4865)" gradientUnits="userSpaceOnUse" id="SVGID_5_" x1="439.6982" x2="451.5232" y1="-577.7549" y2="-564.7323">
-<stop offset="0" style="stop-color:#FEE16E"/>
-<stop offset="0.7576" style="stop-color:#D96900"/>
-<stop offset="1" style="stop-color:#FED43A"/>
-</linearGradient>
-<path d="M12.498,49.262c1.193,1.05,1.686,1.37,1.686,1.37c0.567,0.367,1.363,0.169,1.781-0.442l7.9-11.605  c0.419-0.614,0.307-1.411-0.26-1.777l-1.808-1.156L12.498,49.262z" fill="url(#SVGID_5_)"/>
-<rect fill="none" height="60" width="60"/>
-</g>
-<g transform="matrix(1 0 0 1 30 30)">
-<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_1__" x1="12.3789" x2="17.6203" y1="23.6504" y2="23.6504">
-<stop offset="0" style="stop-color:#878A8C"/>
-<stop offset="0.2606" style="stop-color:#BDC2C4"/>
-<stop offset="0.6606" style="stop-color:#5B6163"/>
-<stop offset="1" style="stop-color:#959A9C"/>
-</linearGradient>
-<rect fill="url(#SVGID_1__)" height="7.853" width="5.105" x="12.447" y="19.724"/>
-<path d="M12.447,24.655c0.82,0.199,1.673,0.315,2.553,0.315c0.881,0,1.732-0.116,2.553-0.315v-4.294  h-5.105V24.655z" fill="#020202" fill-opacity="0.2" stroke-opacity="0.2"/>
-<path d="M12.447,24.018c0.82,0.199,1.673,0.315,2.553,0.315c0.881,0,1.732-0.116,2.553-0.315v-4.294  h-5.105V24.018z" fill="#020202" fill-opacity="0.2" stroke-opacity="0.2"/>
-<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_2__" x1="14.9995" x2="14.9995" y1="1.9746" y2="23.6704">
-<stop offset="0" style="stop-color:#F2F2F2"/>
-<stop offset="0.3212" style="stop-color:#E6E6E6"/>
-<stop offset="1" style="stop-color:#666666"/>
-</linearGradient>
-<path d="M15,23.695c-5.98,0-10.848-4.867-10.848-10.848S9.02,2,15,2c5.982,0,10.848,4.866,10.848,10.847  S20.982,23.695,15,23.695L15,23.695z" fill="url(#SVGID_2__)"/>
-<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_3__" x1="14.9995" x2="14.9995" y1="2.6143" y2="23.0332">
-<stop offset="0" style="stop-color:#D1D7D9"/>
-<stop offset="0.0667" style="stop-color:#D1D7D9"/>
-<stop offset="0.2606" style="stop-color:#BDC2C4"/>
-<stop offset="0.6606" style="stop-color:#7C8487"/>
-<stop offset="1" style="stop-color:#ADB3B5"/>
-</linearGradient>
-<circle cx="15" cy="12.847" fill="url(#SVGID_3__)" r="10.209"/>
-<path d="M15,21.989c-5.315,0-9.657-4.23-9.843-9.5c-0.004,0.116-0.009,0.231-0.009,0.349  c0,5.431,4.419,9.851,9.852,9.851s9.852-4.42,9.852-9.851c0-0.117-0.005-0.232-0.009-0.349C24.658,17.759,20.315,21.989,15,21.989z" fill="#FFFFFF" fill-opacity="0.1" stroke-opacity="0.1"/>
-<path d="M23.295,12.413c0,4.704-3.715,9.346-8.299,9.345c-4.58-0.003-8.292-4.646-8.291-9.35  c0.002-4.706,3.718-8.517,8.298-8.517C19.584,3.894,23.298,7.707,23.295,12.413z" fill="#231F20" fill-opacity="0.3" stroke-opacity="0.3"/>
-<path d="M14.996,21.066c-2.387-0.002-4.63-0.932-6.315-2.619c-1.688-1.688-2.615-3.932-2.614-6.318  c0-4.923,4.009-8.929,8.935-8.929c2.387,0,4.632,0.931,6.317,2.618c1.688,1.688,2.616,3.933,2.615,6.318  c-0.002,4.924-4.01,8.93-8.934,8.93H14.996z" fill="#231F20" fill-opacity="0.2" stroke-opacity="0.2"/>
-<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_4__" x1="14.9995" x2="14.9995" y1="3.7212" y2="20.3517">
-<stop offset="0" style="stop-color:#CFCFCF"/>
-<stop offset="0.1091" style="stop-color:#CFCFCF"/>
-<stop offset="0.6848" style="stop-color:#121212"/>
-<stop offset="1" style="stop-color:#A6A6A6"/>
-</linearGradient>
-<path d="M14.996,20.428c-2.216-0.002-4.298-0.864-5.864-2.432c-1.567-1.566-2.428-3.65-2.427-5.866  c0-4.573,3.723-8.293,8.296-8.293c2.218,0.001,4.3,0.864,5.866,2.432c1.566,1.568,2.43,3.651,2.428,5.867  c-0.001,4.573-3.723,8.292-8.295,8.292H14.996z" fill="url(#SVGID_4__)"/>
-<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_5__" x1="14.9995" x2="14.9995" y1="4.3682" y2="19.7187">
-<stop offset="0" style="stop-color:#F2F2F2"/>
-<stop offset="1" style="stop-color:#606769"/>
-</linearGradient>
-<circle cx="15" cy="12.133" fill="url(#SVGID_5__)" r="7.657"/>
-<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_6_" x1="14.9995" x2="14.9995" y1="5.7715" y2="18.454">
-<stop offset="0" style="stop-color:#1A1A1A"/>
-<stop offset="0.503" style="stop-color:#343434"/>
-<stop offset="0.7515" style="stop-color:#9E9E9E"/>
-<stop offset="1" style="stop-color:#CFCFCF"/>
-</linearGradient>
-<path d="M15,18.514c-1.706-0.001-3.309-0.666-4.514-1.871c-1.204-1.206-1.867-2.808-1.867-4.512  c0-3.517,2.862-6.378,6.382-6.378c1.706,0,3.308,0.664,4.513,1.871c1.205,1.205,1.868,2.808,1.867,4.513  C21.381,15.652,18.519,18.514,15,18.514L15,18.514z" fill="url(#SVGID_6_)"/>
-<radialGradient cx="25.7734" cy="10.2729" gradientTransform="matrix(1.0143 3.000000e-004 -3.000000e-004 1.0141 -10.5185 2.1979)" gradientUnits="userSpaceOnUse" id="SVGID_7_" r="6.4991">
-<stop offset="0" style="stop-color:#000000"/>
-<stop offset="0.5917" style="stop-color:#000000"/>
-<stop offset="0.627" style="stop-color:#050505"/>
-<stop offset="0.7652" style="stop-color:#121212"/>
-<stop offset="0.8876" style="stop-color:#171717"/>
-<stop offset="1" style="stop-color:#171717"/>
-</radialGradient>
-<path d="M20.743,12.135c0,3.172-2.574,5.74-5.744,5.74c-3.175-0.001-5.743-2.573-5.741-5.745  c0-3.171,2.573-5.742,5.745-5.74C18.173,6.391,20.744,8.962,20.743,12.135z" fill="url(#SVGID_7_)"/>
-<radialGradient cx="21.6543" cy="5.0659" gradientTransform="matrix(1.0143 0 0 1.0141 -9.5579 3.1299)" gradientUnits="userSpaceOnUse" id="SVGID_8_" r="10.3515">
-<stop offset="0" style="stop-color:#242424"/>
-<stop offset="0.4303" style="stop-color:#242424"/>
-<stop offset="0.7818" style="stop-color:#000000"/>
-<stop offset="1" style="stop-color:#000000"/>
-</radialGradient>
-<circle cx="15" cy="12.133" fill="url(#SVGID_8_)" r="4.712"/>
-<radialGradient cx="23.9639" cy="3.5498" gradientTransform="matrix(1.0143 3.000000e-004 -3.000000e-004 1.0141 -10.5185 2.1979)" gradientUnits="userSpaceOnUse" id="SVGID_9_" r="11.3574">
-<stop offset="0" style="stop-color:#A700F5"/>
-<stop offset="0.3091" style="stop-color:#A700F5"/>
-<stop offset="0.4364" style="stop-color:#5E008A"/>
-<stop offset="0.8061" style="stop-color:#0E1402"/>
-<stop offset="1" style="stop-color:#0E1402"/>
-</radialGradient>
-<path d="M19.211,12.133c0,2.326-1.886,4.21-4.212,4.21c-2.326-0.002-4.213-1.888-4.213-4.212  c0.004-2.327,1.89-4.21,4.213-4.21C17.328,7.923,19.214,9.808,19.211,12.133z" fill="url(#SVGID_9_)"/>
-<radialGradient cx="25.1709" cy="13.2505" gradientTransform="matrix(1.0143 3.000000e-004 -3.000000e-004 1.0141 -10.5185 2.1979)" gradientUnits="userSpaceOnUse" id="SVGID_10_" r="4.6113">
-<stop offset="0" style="stop-color:#48630C"/>
-<stop offset="0.7879" style="stop-color:#000000"/>
-<stop offset="1" style="stop-color:#000000"/>
-</radialGradient>
-<path d="M19.211,12.133c0,2.326-1.886,4.21-4.212,4.21c-2.326-0.002-4.213-1.888-4.213-4.212  c0,0,1.444,2.569,4.213,2.569C17.767,14.701,19.211,12.133,19.211,12.133z" fill="url(#SVGID_10_)"/>
-<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_11_" x1="14.979" x2="14.979" y1="7.0654" y2="12.0939">
-<stop offset="0" style="stop-color:#F8FBFF"/>
-<stop offset="1" style="stop-color:#808080"/>
-</linearGradient>
-<path d="M14.979,12.069c1.828,0,3.549-0.277,5.067-0.765  c-0.431-2.41-2.532-4.239-5.067-4.239c-2.532,0-4.632,1.83-5.065,4.239C11.431,11.792,13.153,12.069,14.979,12.069z" fill="url(#SVGID_11_)" fill-opacity="0.35" stroke-opacity="0.35"/>
-<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_12_" x1="5.7617" x2="24.2852" y1="26.7236" y2="26.7236">
-<stop offset="0" style="stop-color:#878A8C"/>
-<stop offset="0.2606" style="stop-color:#BDC2C4"/>
-<stop offset="0.6606" style="stop-color:#5B6163"/>
-<stop offset="1" style="stop-color:#959A9C"/>
-</linearGradient>
-<path d="M24.245,28c0.025-0.635,0.04-0.508,0.04-0.639v-0.035c0-1.037-0.852-1.879-1.901-1.879H7.662  c-1.05,0-1.9,0.842-1.9,1.879v0.035c0,0.131,0.014,0.004,0.04,0.639H24.245z" fill="url(#SVGID_12_)"/>
-<path d="M5.879,26.7h18.29c-0.084-0.234-0.212-0.444-0.377-0.626H6.256  C6.092,26.256,5.963,26.466,5.879,26.7z" fill="#FFFFFF" fill-opacity="0.2" stroke-opacity="0.2"/>
-<path d="M5.772,27.361C5.779,27.492,5.789,27.684,5.802,28h18.443  c0.012-0.316,0.022-0.508,0.028-0.639H5.772z" fill="#020202" fill-opacity="0.2" stroke-opacity="0.2"/>
-<path d="M6.255,26.074h17.536c-0.348-0.383-0.846-0.627-1.407-0.627H7.662  C7.102,25.447,6.603,25.691,6.255,26.074z" fill="#FFFFFF" fill-opacity="0.4" stroke-opacity="0.4"/>
-<rect fill="none" height="30" width="30"/>
-</g>
-</svg>
--- a/phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_large_voip_call_active.svg	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,78 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg baseProfile="tiny" height="60" viewBox="0 0 60 60" width="60" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-<g>
-<linearGradient gradientTransform="matrix(0.2118 0.9773 -0.9773 0.2118 -634.5609 -270.4865)" gradientUnits="userSpaceOnUse" id="SVGID_1_" x1="423.0967" x2="429.6524" y1="-578.646" y2="-582.9078">
-<stop offset="0" style="stop-color:#A7E722"/>
-<stop offset="0.1333" style="stop-color:#A7E722"/>
-<stop offset="0.6303" style="stop-color:#428C0F"/>
-<stop offset="1" style="stop-color:#5CA617"/>
-</linearGradient>
-<path d="M19.081,33.91c2.089-3.595,4.591-6.496,7.281-9.188c2.593-2.591,6.72-5.3,8.562-6.256l9.604-10.282  c-0.845-0.3-3.693-0.464-7.279,0.616c-3.586,1.083-11.736,6.303-16.979,11.547c-5.242,5.246-9.727,12.347-10.581,14.595  c-1.343,3.541-1.221,7.445-0.929,8.58c0,0,0.34,1.035,1.144,2.377C10.248,46.475,19.081,33.91,19.081,33.91z" fill="url(#SVGID_1_)"/>
-<path d="M31.184,20.8c1.488-1.036,2.87-1.882,3.74-2.334L44.271,8.46  c-0.132-0.058-0.209-0.088-0.209-0.088c-0.247-0.088-0.642-0.162-1.124-0.219c-0.793,0.006-1.596,0.093-2.401,0.27  C34.843,9.673,31.019,14.958,31.184,20.8z" fill="#020202" fill-opacity="0.05" stroke-opacity="0.05"/>
-<path d="M31.906,20.306c1.205-0.809,2.291-1.462,3.018-1.84l9.377-10.04  c-0.146-0.063-0.233-0.098-0.233-0.098c-0.231-0.08-0.604-0.152-1.06-0.203c-0.751,0.006-1.51,0.087-2.27,0.253  C35.275,9.576,31.636,14.695,31.906,20.306z" fill="#020202" fill-opacity="0.1" stroke-opacity="0.1"/>
-<path d="M44.079,8.263c-0.21-0.073-0.55-0.137-0.962-0.186c-0.681,0.006-1.369,0.08-2.06,0.231  c-5.087,1.116-8.426,5.984-7.978,11.233c0.725-0.455,1.363-0.826,1.844-1.076l9.424-10.088C44.178,8.302,44.079,8.263,44.079,8.263z  " fill="#020202" fill-opacity="0.1" stroke-opacity="0.1"/>
-<radialGradient cx="40.9697" cy="9.21" gradientUnits="userSpaceOnUse" id="SVGID_2_" r="12.2872">
-<stop offset="0" style="stop-color:#A7E722"/>
-<stop offset="0.6242" style="stop-color:#428C0F"/>
-<stop offset="1" style="stop-color:#5CA617"/>
-</radialGradient>
-<path d="M34.924,18.466l0.929,1.55c0,0,15.101-6.784,14.084-8.038c-0.513-0.631-0.577-0.656-1.237-1.263  c-1.985-1.815-4.172-2.531-4.172-2.531c-0.186-0.063-0.481-0.12-0.845-0.161c-0.596,0.004-1.2,0.068-1.806,0.201  c-4.591,1.009-7.57,5.501-6.963,10.257C34.916,18.477,34.921,18.47,34.924,18.466z" fill="url(#SVGID_2_)"/>
-<path d="M17.483,34.105c-0.988-0.139-2.007-0.119-3.027,0.105c-2.418,0.531-4.376,2.066-5.646,4.131  c-0.367,2.35-0.25,4.408-0.05,5.18c0,0,0.34,1.035,1.144,2.377c0.29,0.482,6.54-8.264,8.556-11.107L17.483,34.105z" fill="#020202" fill-opacity="0.1" stroke-opacity="0.1"/>
-<path d="M18.366,34.135c-0.989-0.139-2.008-0.117-3.029,0.105c-3.313,0.727-5.775,3.332-6.76,6.623  c-0.026,1.025,0.034,1.873,0.127,2.398c0.003,0.012,0.005,0.033,0.01,0.047c0,0,0.34,1.033,1.144,2.379  c0.3,0.498,6.981-8.887,8.75-11.383L18.366,34.135z" fill="#020202" fill-opacity="0.1" stroke-opacity="0.1"/>
-<radialGradient cx="437.4258" cy="-571.231" gradientTransform="matrix(0.2095 0.9787 -0.9682 0.2124 -629.4526 -270.6148)" gradientUnits="userSpaceOnUse" id="SVGID_3_" r="14.6187">
-<stop offset="0" style="stop-color:#A7E722"/>
-<stop offset="0.6242" style="stop-color:#428C0F"/>
-<stop offset="1" style="stop-color:#5CA617"/>
-</radialGradient>
-<path d="M11.202,47.738c0.616,0.74,0.646,0.953,1.295,1.523c1.194,1.055,9.301-13.611,9.301-13.611  l-2.683-1.719c-0.941-0.111-1.914-0.08-2.89,0.135c-4.777,1.049-7.806,5.869-6.87,10.832C9.749,45.686,10.349,46.709,11.202,47.738z  " fill="url(#SVGID_3_)"/>
-<path d="M49.937,11.978c-0.179-0.22-0.381-0.446-0.578-0.67l-13.944,7.959l0.438,0.749  C35.853,20.016,50.953,13.231,49.937,11.978z" fill="#020202" fill-opacity="0.4" stroke-opacity="0.4"/>
-<linearGradient gradientTransform="matrix(0.2118 0.9773 -0.9773 0.2118 -634.5599 -270.4865)" gradientUnits="userSpaceOnUse" id="SVGID_4_" x1="422.2881" x2="427.4786" y1="-610.9287" y2="-594.4409">
-<stop offset="0" style="stop-color:#C6FF45"/>
-<stop offset="0.6788" style="stop-color:#387300"/>
-<stop offset="1" style="stop-color:#66A00E"/>
-</linearGradient>
-<path d="M35.853,20.016l1.178,1.981c0.302,0.515,0.972,0.674,1.569,0.422l4.09-2.334l8.043-4.668  c0.632-0.363,0.878-1.119,0.549-1.686c0,0-0.333-0.501-1.349-1.751L35.853,20.016z" fill="url(#SVGID_4_)"/>
-<path d="M21.798,35.65l-0.725-0.473l-9.215,13.486c0.216,0.205,0.43,0.414,0.639,0.598  C13.691,50.316,21.798,35.65,21.798,35.65z" fill="#020202" fill-opacity="0.4" stroke-opacity="0.4"/>
-<linearGradient gradientTransform="matrix(0.2118 0.9773 -0.9773 0.2118 -634.5599 -270.4865)" gradientUnits="userSpaceOnUse" id="SVGID_5_" x1="439.6982" x2="451.5232" y1="-577.7549" y2="-564.7323">
-<stop offset="0" style="stop-color:#C6FF45"/>
-<stop offset="0.6788" style="stop-color:#387300"/>
-<stop offset="1" style="stop-color:#66A00E"/>
-</linearGradient>
-<path d="M12.498,49.262c1.193,1.049,1.686,1.369,1.686,1.369c0.567,0.367,1.363,0.17,1.781-0.441l7.9-11.605  c0.419-0.615,0.307-1.412-0.26-1.777l-1.808-1.156L12.498,49.262z" fill="url(#SVGID_5_)"/>
-<rect fill="none" height="60" width="60"/>
-</g>
-<g transform="matrix(0.5 0 0 0.5 30 30)">
-<path d="M30,54.705C16.376,54.705,5.294,43.623,5.294,30  C5.294,16.376,16.376,5.294,30,5.294c13.623,0,24.705,11.083,24.705,24.706C54.705,43.623,43.623,54.705,30,54.705L30,54.705z" style="opacity:0.6;enable-background:new    ;"/>
-<radialGradient cx="2.7217" cy="-242.9165" gradientTransform="matrix(0.618 0 0 -0.618 28.3176 -128.0637)" gradientUnits="userSpaceOnUse" id="SVGID_1__" r="48.9069">
-<stop offset="0" style="stop-color:#94FFFF"/>
-<stop offset="0.5" style="stop-color:#36B5FF"/>
-<stop offset="1" style="stop-color:#1B66D8"/>
-</radialGradient>
-<circle cx="30" cy="30" r="22.941" style="fill:url(#SVGID_1__);"/>
-<path d="M52.122,28.744c-0.509-8.961-6.312-16.677-14.788-19.661l-1.032,0.169  l-5.995-1.147l-7.474,4.456l-0.281,1.878h-4.336l1.714,2.914l-4.643,3.787l-1.082,4.675l3.834,6.795l3.914-0.799l1.429,1.229  l1.117,0.111l0.738,2.883l-0.974,2.527l3.552,9.086h3.623l3.592-2.9v-1.185l0.947-1.47l0.783-0.4  c-0.199,0.303-0.512,0.998-0.512,0.998c-0.033,0.236,0.51,4.862,2.104,4.5c1.211-0.273,5.533-8.303,5.615-9.066  c0.164-1.51-0.658-2.134-1.162-2.37l-0.562-0.265l-2.58,2.587c-0.276,0.021-0.526,0.067-0.751,0.134v-2.147l2.802-2.737l1.426-4.595  l2.173-1.769l-0.477-0.866l1.639-1.578l-0.916-1.669l0.697,0.084l4.082,9.138l0.836-0.666c-0.025-0.447-0.074-0.887-0.125-1.329  L52.122,28.744z M30.275,18.466l-0.341-0.911h2.049l0.997,2.243h-1.484v-1.333H30.275z M37.035,22.983l1.637,2.388l0.111,0.286  l-1.677-1.013l-0.401-1.445L37.035,22.983z M39.496,27.155l0.494,0.494l-0.639,0.143l-0.145-0.177L39.496,27.155z M26.695,11.093  l1.041,1.611l-1.183,0.362l-0.462-0.263L26.695,11.093z" style="opacity:0.3;enable-background:new    ;"/>
-<path d="M30,7.059C17.331,7.059,7.059,17.331,7.059,30  c0,12.674,10.272,22.941,22.941,22.941c12.674,0,22.941-10.268,22.941-22.941C52.941,17.331,42.674,7.059,30,7.059z M30,51.176  C18.323,51.176,8.823,41.677,8.823,30c0-11.677,9.5-21.177,21.177-21.177c11.677,0,21.176,9.5,21.176,21.177  C51.176,41.677,41.677,51.176,30,51.176z" style="opacity:0.3;fill:url(#SVGID_2__);enable-background:new    ;"/>
-<radialGradient cx="182.1514" cy="-162.9028" gradientTransform="matrix(1.7647 0 0 -1.7647 -290.1173 -274.2362)" gradientUnits="userSpaceOnUse" id="SVGID_3__" r="15.4155">
-<stop offset="0" style="stop-color:#94FF26"/>
-<stop offset="0.3152" style="stop-color:#94FF26"/>
-<stop offset="0.7273" style="stop-color:#1FC211"/>
-<stop offset="1" style="stop-color:#0BA133"/>
-</radialGradient>
-<path d="M42.431,36.555l-2.388,2.391c0,0-1.443,0-1.511,0.572c-0.032,0.246-0.111,1.313-0.354,1.863  c-0.48,0.332-1.054,1.434-1.054,1.434s-0.298,2.129,1.296,1.768C40.004,44.224,44.883,37.707,42.431,36.555z" style="fill:url(#SVGID_3__);"/>
-<radialGradient cx="182.1514" cy="-162.9023" gradientTransform="matrix(1.7647 0 0 -1.7647 -290.1173 -274.2362)" gradientUnits="userSpaceOnUse" id="SVGID_4__" r="17.8322">
-<stop offset="0" style="stop-color:#94FF26"/>
-<stop offset="0.3152" style="stop-color:#94FF26"/>
-<stop offset="0.7273" style="stop-color:#1FC211"/>
-<stop offset="1" style="stop-color:#0BA133"/>
-</radialGradient>
-<path d="M37.041,9.916c-0.392,0.148-0.66,0.25-0.66,0.25L30.48,9.037l-2.894,1.811l1.523,2.356  l-2.663,0.819l-1.435-0.819l0.504-1.431l-1.871,1.295l-0.333,2.255h-3.554l1.314,2.238l-4.996,4.073l-0.94,4.066l1.855,3.591  L18.104,30l3.914-0.799l1.43,1.228l1.299,0.127l1.414,5.53l-0.941,2.446l2.079,4.595l0.585,1.908h3.623l2.048-1.108l1.543-1.793  v-2.169l2.936-1.498v-3.213l1.16-2.208l2.59-2.329l0.619-2.7l-3.387,0.755l-0.891-1.085l0.633-1.013l-2.404-1.454l-1.025-3.687  l1.776-1.158l1.636,2.388l0.613,1.572l1.228,1.229l1.435,0.75l1.594-0.258l1.77-1.703l-1.246-2.273l-1.568,0.409L41.146,20.8  l1.349-0.94l4.23,0.512v1.505l3.681,7.585l0.837-0.669C50.746,20.045,44.965,12.704,37.041,9.916z M35.119,20.169l-1.932,0.512  h-2.573v-1.333h-2.46l-1.946,0.514l-2.966-0.821l-0.821-1.535l4.096-0.921h4.098L30,14.945h2.049l1.14,2.561l1.933,0.678v1.985  H35.119z M39.523,16.79l-3.482-0.616v-1.228l1.741-0.41l0.512-0.614l1.229,1.023L39.523,16.79L39.523,16.79z" style="fill:url(#SVGID_4__);"/>
-<rect height="60" style="fill:none;" width="60"/>
-<defs>
-<linearGradient gradientTransform="matrix(1.7647 0 0 -1.7647 -290.1173 -274.2362)" gradientUnits="userSpaceOnUse" id="SVGID_2__" x1="181.4004" x2="181.4004" y1="-159.4634" y2="-185.5335">
-<stop offset="0" style="stop-color:#31A7F8"/>
-<stop offset="0.497" style="stop-color:#1E74DC"/>
-<stop offset="1" style="stop-color:#C8E4EB"/>
-</linearGradient>
-</defs>
-</g>
-</svg>
--- a/phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_large_voip_call_waiting.svg	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,77 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg baseProfile="tiny" height="60" viewBox="0 0 60 60" width="60" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-<g>
-<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_1_" x1="20.3613" x2="26.6141" y1="20.2744" y2="26.4485">
-<stop offset="0" style="stop-color:#FEE16E"/>
-<stop offset="0.5939" style="stop-color:#D96900"/>
-<stop offset="1" style="stop-color:#FED43A"/>
-</linearGradient>
-<path d="M19.081,33.911c2.089-3.597,4.591-6.497,7.281-9.189c2.593-2.591,6.72-5.3,8.562-6.256l9.604-10.282  c-0.845-0.3-3.693-0.464-7.279,0.616c-3.586,1.083-11.736,6.303-16.979,11.547c-5.242,5.246-9.727,12.347-10.581,14.595  c-1.343,3.541-1.221,7.445-0.929,8.581c0,0,0.34,1.034,1.144,2.377C10.248,46.476,19.081,33.911,19.081,33.911z" fill="url(#SVGID_1_)"/>
-<path d="M31.184,20.8c1.488-1.036,2.87-1.882,3.74-2.334L44.271,8.46  c-0.132-0.058-0.209-0.088-0.209-0.088c-0.247-0.088-0.642-0.162-1.124-0.219c-0.793,0.006-1.596,0.093-2.401,0.27  C34.843,9.673,31.019,14.958,31.184,20.8z" fill="#020202" fill-opacity="0.05" stroke-opacity="0.05"/>
-<path d="M31.906,20.306c1.205-0.809,2.291-1.462,3.018-1.84l9.377-10.04  c-0.146-0.063-0.233-0.098-0.233-0.098c-0.231-0.08-0.604-0.152-1.06-0.203c-0.751,0.006-1.51,0.087-2.27,0.253  C35.275,9.576,31.636,14.695,31.906,20.306z" fill="#020202" fill-opacity="0.1" stroke-opacity="0.1"/>
-<path d="M44.079,8.263c-0.21-0.073-0.55-0.137-0.962-0.186c-0.681,0.006-1.369,0.08-2.06,0.231  c-5.087,1.116-8.426,5.984-7.978,11.233c0.725-0.455,1.363-0.826,1.844-1.076l9.424-10.088C44.178,8.302,44.079,8.263,44.079,8.263z  " fill="#020202" fill-opacity="0.1" stroke-opacity="0.1"/>
-<radialGradient cx="43.6406" cy="10.1128" gradientUnits="userSpaceOnUse" id="SVGID_2_" r="13.348">
-<stop offset="0" style="stop-color:#FEE16E"/>
-<stop offset="0.6061" style="stop-color:#F1830A"/>
-<stop offset="1" style="stop-color:#FED43A"/>
-</radialGradient>
-<path d="M34.924,18.466l0.929,1.55c0,0,15.101-6.784,14.084-8.038c-0.513-0.631-0.577-0.656-1.237-1.263  c-1.985-1.815-4.172-2.531-4.172-2.531c-0.186-0.063-0.481-0.12-0.845-0.161c-0.596,0.004-1.2,0.068-1.806,0.201  c-4.591,1.009-7.57,5.501-6.963,10.257C34.916,18.477,34.921,18.47,34.924,18.466z" fill="url(#SVGID_2_)"/>
-<path d="M17.483,34.106c-0.988-0.14-2.007-0.119-3.027,0.105c-2.418,0.53-4.376,2.066-5.646,4.131  c-0.367,2.35-0.25,4.407-0.05,5.18c0,0,0.34,1.034,1.144,2.377c0.29,0.482,6.54-8.264,8.556-11.107L17.483,34.106z" fill="#020202" fill-opacity="0.1" stroke-opacity="0.1"/>
-<path d="M18.366,34.136c-0.989-0.14-2.008-0.118-3.029,0.105c-3.313,0.727-5.775,3.332-6.76,6.623  c-0.026,1.025,0.034,1.872,0.127,2.397c0.003,0.013,0.005,0.034,0.01,0.048c0,0,0.34,1.033,1.144,2.379  c0.3,0.498,6.981-8.888,8.75-11.384L18.366,34.136z" fill="#020202" fill-opacity="0.1" stroke-opacity="0.1"/>
-<radialGradient cx="437.4258" cy="-571.231" gradientTransform="matrix(0.2095 0.9787 -0.9682 0.2124 -629.4526 -270.6148)" gradientUnits="userSpaceOnUse" id="SVGID_3_" r="14.6198">
-<stop offset="0" style="stop-color:#FEE16E"/>
-<stop offset="0.6061" style="stop-color:#F1830A"/>
-<stop offset="1" style="stop-color:#FED43A"/>
-</radialGradient>
-<path d="M11.202,47.738c0.616,0.74,0.646,0.954,1.295,1.524c1.194,1.055,9.301-13.612,9.301-13.612  l-2.683-1.719c-0.941-0.111-1.914-0.079-2.89,0.136c-4.777,1.048-7.806,5.868-6.87,10.832C9.749,45.686,10.349,46.71,11.202,47.738z  " fill="url(#SVGID_3_)"/>
-<path d="M49.937,11.978c-0.179-0.22-0.381-0.446-0.578-0.67l-13.944,7.959l0.438,0.749  C35.853,20.016,50.953,13.231,49.937,11.978z" fill="#020202" fill-opacity="0.5" stroke-opacity="0.5"/>
-<linearGradient gradientTransform="matrix(0.2118 0.9773 -0.9773 0.2118 -634.5599 -270.4865)" gradientUnits="userSpaceOnUse" id="SVGID_4_" x1="422.2881" x2="427.4786" y1="-610.9287" y2="-594.4409">
-<stop offset="0" style="stop-color:#FEE16E"/>
-<stop offset="0.7576" style="stop-color:#D96900"/>
-<stop offset="1" style="stop-color:#FED43A"/>
-</linearGradient>
-<path d="M35.853,20.016l1.178,1.981c0.302,0.515,0.972,0.674,1.569,0.422l4.09-2.334l8.043-4.668  c0.632-0.363,0.878-1.119,0.549-1.686c0,0-0.333-0.501-1.349-1.751L35.853,20.016z" fill="url(#SVGID_4_)"/>
-<path d="M21.798,35.65l-0.725-0.472l-9.215,13.486c0.216,0.204,0.43,0.414,0.639,0.598  C13.691,50.317,21.798,35.65,21.798,35.65z" fill="#020202" fill-opacity="0.5" stroke-opacity="0.5"/>
-<linearGradient gradientTransform="matrix(0.2118 0.9773 -0.9773 0.2118 -634.5599 -270.4865)" gradientUnits="userSpaceOnUse" id="SVGID_5_" x1="439.6982" x2="451.5232" y1="-577.7549" y2="-564.7323">
-<stop offset="0" style="stop-color:#FEE16E"/>
-<stop offset="0.7576" style="stop-color:#D96900"/>
-<stop offset="1" style="stop-color:#FED43A"/>
-</linearGradient>
-<path d="M12.498,49.262c1.193,1.05,1.686,1.37,1.686,1.37c0.567,0.367,1.363,0.169,1.781-0.442l7.9-11.605  c0.419-0.614,0.307-1.411-0.26-1.777l-1.808-1.156L12.498,49.262z" fill="url(#SVGID_5_)"/>
-<rect fill="none" height="60" width="60"/>
-</g>
-<g transform="matrix(0.5 0 0 0.5 30 30)">
-<path d="M30,54.705C16.376,54.705,5.294,43.623,5.294,30  C5.294,16.376,16.376,5.294,30,5.294c13.623,0,24.705,11.083,24.705,24.706C54.705,43.623,43.623,54.705,30,54.705L30,54.705z" style="opacity:0.6;enable-background:new    ;"/>
-<radialGradient cx="2.7217" cy="-242.9165" gradientTransform="matrix(0.618 0 0 -0.618 28.3176 -128.0637)" gradientUnits="userSpaceOnUse" id="SVGID_1__" r="48.9069">
-<stop offset="0" style="stop-color:#94FFFF"/>
-<stop offset="0.5" style="stop-color:#36B5FF"/>
-<stop offset="1" style="stop-color:#1B66D8"/>
-</radialGradient>
-<circle cx="30" cy="30" r="22.941" style="fill:url(#SVGID_1__);"/>
-<path d="M52.122,28.744c-0.509-8.961-6.312-16.677-14.788-19.661l-1.032,0.169  l-5.995-1.147l-7.474,4.456l-0.281,1.878h-4.336l1.714,2.914l-4.643,3.787l-1.082,4.675l3.834,6.795l3.914-0.799l1.429,1.229  l1.117,0.111l0.738,2.883l-0.974,2.527l3.552,9.086h3.623l3.592-2.9v-1.185l0.947-1.47l0.783-0.4  c-0.199,0.303-0.512,0.998-0.512,0.998c-0.033,0.236,0.51,4.862,2.104,4.5c1.211-0.273,5.533-8.303,5.615-9.066  c0.164-1.51-0.658-2.134-1.162-2.37l-0.562-0.265l-2.58,2.587c-0.276,0.021-0.526,0.067-0.751,0.134v-2.147l2.802-2.737l1.426-4.595  l2.173-1.769l-0.477-0.866l1.639-1.578l-0.916-1.669l0.697,0.084l4.082,9.138l0.836-0.666c-0.025-0.447-0.074-0.887-0.125-1.329  L52.122,28.744z M30.275,18.466l-0.341-0.911h2.049l0.997,2.243h-1.484v-1.333H30.275z M37.035,22.983l1.637,2.388l0.111,0.286  l-1.677-1.013l-0.401-1.445L37.035,22.983z M39.496,27.155l0.494,0.494l-0.639,0.143l-0.145-0.177L39.496,27.155z M26.695,11.093  l1.041,1.611l-1.183,0.362l-0.462-0.263L26.695,11.093z" style="opacity:0.3;enable-background:new    ;"/>
-<path d="M30,7.059C17.331,7.059,7.059,17.331,7.059,30  c0,12.674,10.272,22.941,22.941,22.941c12.674,0,22.941-10.268,22.941-22.941C52.941,17.331,42.674,7.059,30,7.059z M30,51.176  C18.323,51.176,8.823,41.677,8.823,30c0-11.677,9.5-21.177,21.177-21.177c11.677,0,21.176,9.5,21.176,21.177  C51.176,41.677,41.677,51.176,30,51.176z" style="opacity:0.3;fill:url(#SVGID_2__);enable-background:new    ;"/>
-<radialGradient cx="182.1514" cy="-162.9028" gradientTransform="matrix(1.7647 0 0 -1.7647 -290.1173 -274.2362)" gradientUnits="userSpaceOnUse" id="SVGID_3__" r="15.4155">
-<stop offset="0" style="stop-color:#94FF26"/>
-<stop offset="0.3152" style="stop-color:#94FF26"/>
-<stop offset="0.7273" style="stop-color:#1FC211"/>
-<stop offset="1" style="stop-color:#0BA133"/>
-</radialGradient>
-<path d="M42.431,36.555l-2.388,2.391c0,0-1.443,0-1.511,0.572c-0.032,0.246-0.111,1.313-0.354,1.863  c-0.48,0.332-1.054,1.434-1.054,1.434s-0.298,2.129,1.296,1.768C40.004,44.224,44.883,37.707,42.431,36.555z" style="fill:url(#SVGID_3__);"/>
-<radialGradient cx="182.1514" cy="-162.9023" gradientTransform="matrix(1.7647 0 0 -1.7647 -290.1173 -274.2362)" gradientUnits="userSpaceOnUse" id="SVGID_4__" r="17.8322">
-<stop offset="0" style="stop-color:#94FF26"/>
-<stop offset="0.3152" style="stop-color:#94FF26"/>
-<stop offset="0.7273" style="stop-color:#1FC211"/>
-<stop offset="1" style="stop-color:#0BA133"/>
-</radialGradient>
-<path d="M37.041,9.916c-0.392,0.148-0.66,0.25-0.66,0.25L30.48,9.037l-2.894,1.811l1.523,2.356  l-2.663,0.819l-1.435-0.819l0.504-1.431l-1.871,1.295l-0.333,2.255h-3.554l1.314,2.238l-4.996,4.073l-0.94,4.066l1.855,3.591  L18.104,30l3.914-0.799l1.43,1.228l1.299,0.127l1.414,5.53l-0.941,2.446l2.079,4.595l0.585,1.908h3.623l2.048-1.108l1.543-1.793  v-2.169l2.936-1.498v-3.213l1.16-2.208l2.59-2.329l0.619-2.7l-3.387,0.755l-0.891-1.085l0.633-1.013l-2.404-1.454l-1.025-3.687  l1.776-1.158l1.636,2.388l0.613,1.572l1.228,1.229l1.435,0.75l1.594-0.258l1.77-1.703l-1.246-2.273l-1.568,0.409L41.146,20.8  l1.349-0.94l4.23,0.512v1.505l3.681,7.585l0.837-0.669C50.746,20.045,44.965,12.704,37.041,9.916z M35.119,20.169l-1.932,0.512  h-2.573v-1.333h-2.46l-1.946,0.514l-2.966-0.821l-0.821-1.535l4.096-0.921h4.098L30,14.945h2.049l1.14,2.561l1.933,0.678v1.985  H35.119z M39.523,16.79l-3.482-0.616v-1.228l1.741-0.41l0.512-0.614l1.229,1.023L39.523,16.79L39.523,16.79z" style="fill:url(#SVGID_4__);"/>
-<rect height="60" style="fill:none;" width="60"/>
-<defs>
-<linearGradient gradientTransform="matrix(1.7647 0 0 -1.7647 -290.1173 -274.2362)" gradientUnits="userSpaceOnUse" id="SVGID_2__" x1="181.4004" x2="181.4004" y1="-159.4634" y2="-185.5335">
-<stop offset="0" style="stop-color:#31A7F8"/>
-<stop offset="0.497" style="stop-color:#1E74DC"/>
-<stop offset="1" style="stop-color:#C8E4EB"/>
-</linearGradient>
-</defs>
-</g>
-</svg>
--- a/phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_large_waiting_call.svg	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg baseProfile="tiny" height="60" viewBox="0 0 60 60" width="60" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-<g>
-<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_1_" x1="20.3613" x2="26.6141" y1="20.2744" y2="26.4485">
-<stop offset="0" style="stop-color:#FEE16E"/>
-<stop offset="0.5939" style="stop-color:#D96900"/>
-<stop offset="1" style="stop-color:#FED43A"/>
-</linearGradient>
-<path d="M19.081,33.911c2.089-3.597,4.591-6.497,7.281-9.189c2.593-2.591,6.72-5.3,8.562-6.256l9.604-10.282  c-0.845-0.3-3.693-0.464-7.279,0.616c-3.586,1.083-11.736,6.303-16.979,11.547c-5.242,5.246-9.727,12.347-10.581,14.595  c-1.343,3.541-1.221,7.445-0.929,8.581c0,0,0.34,1.034,1.144,2.377C10.248,46.476,19.081,33.911,19.081,33.911z" fill="url(#SVGID_1_)"/>
-<path d="M31.184,20.8c1.488-1.036,2.87-1.882,3.74-2.334L44.271,8.46  c-0.132-0.058-0.209-0.088-0.209-0.088c-0.247-0.088-0.642-0.162-1.124-0.219c-0.793,0.006-1.596,0.093-2.401,0.27  C34.843,9.673,31.019,14.958,31.184,20.8z" fill="#020202" fill-opacity="0.05" stroke-opacity="0.05"/>
-<path d="M31.906,20.306c1.205-0.809,2.291-1.462,3.018-1.84l9.377-10.04  c-0.146-0.063-0.233-0.098-0.233-0.098c-0.231-0.08-0.604-0.152-1.06-0.203c-0.751,0.006-1.51,0.087-2.27,0.253  C35.275,9.576,31.636,14.695,31.906,20.306z" fill="#020202" fill-opacity="0.1" stroke-opacity="0.1"/>
-<path d="M44.079,8.263c-0.21-0.073-0.55-0.137-0.962-0.186c-0.681,0.006-1.369,0.08-2.06,0.231  c-5.087,1.116-8.426,5.984-7.978,11.233c0.725-0.455,1.363-0.826,1.844-1.076l9.424-10.088C44.178,8.302,44.079,8.263,44.079,8.263z  " fill="#020202" fill-opacity="0.1" stroke-opacity="0.1"/>
-<radialGradient cx="43.6406" cy="10.1128" gradientUnits="userSpaceOnUse" id="SVGID_2_" r="13.348">
-<stop offset="0" style="stop-color:#FEE16E"/>
-<stop offset="0.6061" style="stop-color:#F1830A"/>
-<stop offset="1" style="stop-color:#FED43A"/>
-</radialGradient>
-<path d="M34.924,18.466l0.929,1.55c0,0,15.101-6.784,14.084-8.038c-0.513-0.631-0.577-0.656-1.237-1.263  c-1.985-1.815-4.172-2.531-4.172-2.531c-0.186-0.063-0.481-0.12-0.845-0.161c-0.596,0.004-1.2,0.068-1.806,0.201  c-4.591,1.009-7.57,5.501-6.963,10.257C34.916,18.477,34.921,18.47,34.924,18.466z" fill="url(#SVGID_2_)"/>
-<path d="M17.483,34.106c-0.988-0.14-2.007-0.119-3.027,0.105c-2.418,0.53-4.376,2.066-5.646,4.131  c-0.367,2.35-0.25,4.407-0.05,5.18c0,0,0.34,1.034,1.144,2.377c0.29,0.482,6.54-8.264,8.556-11.107L17.483,34.106z" fill="#020202" fill-opacity="0.1" stroke-opacity="0.1"/>
-<path d="M18.366,34.136c-0.989-0.14-2.008-0.118-3.029,0.105c-3.313,0.727-5.775,3.332-6.76,6.623  c-0.026,1.025,0.034,1.872,0.127,2.397c0.003,0.013,0.005,0.034,0.01,0.048c0,0,0.34,1.033,1.144,2.379  c0.3,0.498,6.981-8.888,8.75-11.384L18.366,34.136z" fill="#020202" fill-opacity="0.1" stroke-opacity="0.1"/>
-<radialGradient cx="437.4258" cy="-571.231" gradientTransform="matrix(0.2095 0.9787 -0.9682 0.2124 -629.4526 -270.6148)" gradientUnits="userSpaceOnUse" id="SVGID_3_" r="14.6198">
-<stop offset="0" style="stop-color:#FEE16E"/>
-<stop offset="0.6061" style="stop-color:#F1830A"/>
-<stop offset="1" style="stop-color:#FED43A"/>
-</radialGradient>
-<path d="M11.202,47.738c0.616,0.74,0.646,0.954,1.295,1.524c1.194,1.055,9.301-13.612,9.301-13.612  l-2.683-1.719c-0.941-0.111-1.914-0.079-2.89,0.136c-4.777,1.048-7.806,5.868-6.87,10.832C9.749,45.686,10.349,46.71,11.202,47.738z  " fill="url(#SVGID_3_)"/>
-<path d="M49.937,11.978c-0.179-0.22-0.381-0.446-0.578-0.67l-13.944,7.959l0.438,0.749  C35.853,20.016,50.953,13.231,49.937,11.978z" fill="#020202" fill-opacity="0.5" stroke-opacity="0.5"/>
-<linearGradient gradientTransform="matrix(0.2118 0.9773 -0.9773 0.2118 -634.5599 -270.4865)" gradientUnits="userSpaceOnUse" id="SVGID_4_" x1="422.2881" x2="427.4786" y1="-610.9287" y2="-594.4409">
-<stop offset="0" style="stop-color:#FEE16E"/>
-<stop offset="0.7576" style="stop-color:#D96900"/>
-<stop offset="1" style="stop-color:#FED43A"/>
-</linearGradient>
-<path d="M35.853,20.016l1.178,1.981c0.302,0.515,0.972,0.674,1.569,0.422l4.09-2.334l8.043-4.668  c0.632-0.363,0.878-1.119,0.549-1.686c0,0-0.333-0.501-1.349-1.751L35.853,20.016z" fill="url(#SVGID_4_)"/>
-<path d="M21.798,35.65l-0.725-0.472l-9.215,13.486c0.216,0.204,0.43,0.414,0.639,0.598  C13.691,50.317,21.798,35.65,21.798,35.65z" fill="#020202" fill-opacity="0.5" stroke-opacity="0.5"/>
-<linearGradient gradientTransform="matrix(0.2118 0.9773 -0.9773 0.2118 -634.5599 -270.4865)" gradientUnits="userSpaceOnUse" id="SVGID_5_" x1="439.6982" x2="451.5232" y1="-577.7549" y2="-564.7323">
-<stop offset="0" style="stop-color:#FEE16E"/>
-<stop offset="0.7576" style="stop-color:#D96900"/>
-<stop offset="1" style="stop-color:#FED43A"/>
-</linearGradient>
-<path d="M12.498,49.262c1.193,1.05,1.686,1.37,1.686,1.37c0.567,0.367,1.363,0.169,1.781-0.442l7.9-11.605  c0.419-0.614,0.307-1.411-0.26-1.777l-1.808-1.156L12.498,49.262z" fill="url(#SVGID_5_)"/>
-<rect fill="none" height="60" width="60"/>
-</g>
-</svg>
--- a/phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_mono_call_diverted.svg	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg width="32" height="32" viewBox="0 0 32 32">
-<polygon points="20.57,25.147 4.998,25.147 4.998,28.813 22.889,28.819 25.58,24.735 22.346,22.573 "/>
-<polygon points="20.492,21.345 22.346,22.573 25.58,24.735 25.602,24.751 27.445,26.001 28.82,16.104 "/>
-</svg>
\ No newline at end of file
--- a/phoneuis/bubblemanager2/bubblecore/themes/icons/hbdefault/scalable/qtg_mono_ciphering_off.svg	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg baseProfile="tiny" height="8.005" version="1.1" viewBox="0 0 9 8.005" width="9" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-<g>
-<path d="M7.029,3.005V1c0-0.553-0.446-1-1-1L4,0.005v0.997c0.492-0.001,1.326,0,1.375,0.001c0.006,0,0.01,0.001,0.017,0.001   C6.008,1.022,6.01,1.15,6.01,2L6.002,3.005H1v5h7v-5H7.029z M5,7.005H4v-3h1V7.005z"/>
-<rect fill="none" height="8" width="9" y="0.005"/>
-</g>
-</svg>
--- a/phoneuis/bubblemanager2/bubblecore/xml/bubble_layout_1.docml	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneuis/bubblemanager2/bubblecore/xml/bubble_layout_1.docml	Thu Jul 22 16:33:21 2010 +0100
@@ -3,22 +3,22 @@
     <widget name="content" type="HbWidget">
         <widget name="expandedBubble" type="BubbleContainerWidget">
             <widget name="eb:bubbleHeading" type="BubbleHeadingWidget">
-                <sizehint height="13.0un" type="PREFERRED"/>
                 <integer name="lines" value="3"/>
             </widget>
             <widget name="eb:callImage" type="BubbleImageWidget">
+                <bool name="keepSquareShape" value="TRUE"/>
             </widget>
             <widget name="eb:centerButton" type="BubbleButton">
                 <sizehint height="9.0un" type="FIXED"/>
-                <sizehint width="28.0un" type="PREFERRED"/>
+                <sizehint width="24.5un" type="PREFERRED"/>
             </widget>
             <widget name="eb:leftButton" type="BubbleButton">
                 <sizehint height="9.0un" type="FIXED"/>
-                <sizehint width="28.0un" type="PREFERRED"/>                
+                <sizehint width="24.5un" type="PREFERRED"/>                
             </widget>
             <widget name="eb:rightButton" type="BubbleButton">
                 <sizehint height="9.0un" type="FIXED"/>
-                <sizehint width="28.0un" type="PREFERRED"/>                
+                <sizehint width="24.5un" type="PREFERRED"/>                
             </widget>
         </widget>
     </widget>
@@ -30,30 +30,31 @@
         <anchoritem src="expandedBubble" srcEdge="TOP" dst="" dstEdge="TOP"/>
         <anchoritem src="expandedBubble" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM"/>
     </layout>
-    
+
     <layout type="anchor" widget="expandedBubble">
-        <anchoritem src="eb:bubbleHeading" srcEdge="LEFT" dst="" dstEdge="LEFT" spacing="-2.0un"/>
-        <anchoritem src="eb:bubbleHeading" srcEdge="RIGHT" dst="" dstEdge="RIGHT" spacing="2.0un"/>
-        <anchoritem src="eb:bubbleHeading" srcEdge="TOP" dst="" dstEdge="TOP" spacing="-2.0un"/>
-        <anchoritem src="eb:bubbleHeading" srcEdge="BOTTOM" dst="eb:callImage" dstEdge="TOP" spacing="2.0un"/>
-        <anchoritem src="eb:callImage" srcEdge="LEFT" dst="" dstEdge="LEFT" spacing="-4.0un"/>
-        <anchoritem src="eb:callImage" srcEdge="RIGHT" dst="" dstEdge="RIGHT" spacing="4.0un"/>
-        <anchoritem src="eb:callImage" srcEdge="BOTTOM" dst="eb:centerButton" dstEdge="TOP"  spacing="3.0un"/>
-        <anchoritem src="eb:leftButton" srcEdge="RIGHT" dst="" dstEdge="CENTERH" spacing="1.0un"/>
-        <anchoritem src="eb:leftButton" srcEdge="LEFT" dst="" dstEdge="LEFT" spacing="-4.0un"/>
-        <anchoritem src="eb:leftButton" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" spacing="4.0un"/>
-        <anchoritem src="eb:rightButton" srcEdge="LEFT" dst="" dstEdge="CENTERH" spacing="-1.0un"/>
-        <anchoritem src="eb:rightButton" srcEdge="RIGHT" dst="" dstEdge="RIGHT" spacing="4.0un"/>
-        <anchoritem src="eb:rightButton" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" spacing="4.0un"/>
+        <anchoritem src="eb:bubbleHeading" srcEdge="LEFT" dst="" dstEdge="LEFT" spacing="-var(hb-param-margin-gene-left)"/>
+        <anchoritem src="eb:bubbleHeading" srcEdge="RIGHT" dst="" dstEdge="RIGHT" spacing="var(hb-param-margin-gene-right)"/>
+        <anchoritem src="eb:bubbleHeading" srcEdge="TOP" dst="" dstEdge="TOP" spacing="-1.5un"/>
+        <anchoritem src="eb:bubbleHeading" srcEdge="BOTTOM" dst="eb:callImage" dstEdge="TOP" spacing="1.5un"/>
+        
+        <anchoritem src="eb:callImage" srcEdge="CENTERH" dst="" dstEdge="CENTERH"/>
+        <anchoritem src="eb:callImage" srcEdge="BOTTOM" dst="eb:centerButton" dstEdge="TOP"  spacing="1.5un"/>
+        
+        <anchoritem src="eb:leftButton" srcEdge="RIGHT" dst="" dstEdge="CENTERH" spacing="expr(var(hb-param-margin-gene-middle-horizontal)/2)"/>
+        <anchoritem src="eb:leftButton" srcEdge="LEFT" dst="" dstEdge="LEFT" spacing="-var(hb-param-margin-gene-left)"/>
+        <anchoritem src="eb:leftButton" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" spacing="3.0un"/>
+        
+        <anchoritem src="eb:rightButton" srcEdge="LEFT" dst="" dstEdge="CENTERH" spacing="-expr(var(hb-param-margin-gene-middle-horizontal)/2)"/>
+        <anchoritem src="eb:rightButton" srcEdge="RIGHT" dst="" dstEdge="RIGHT" spacing="var(hb-param-margin-gene-right)"/>
+        <anchoritem src="eb:rightButton" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" spacing="3.0un"/>
+        
         <anchoritem src="eb:centerButton" srcEdge="CENTERH" dst="" dstEdge="CENTERH"/>
-        <anchoritem src="eb:centerButton" srcEdge="LEFT" dst="" dstEdge="LEFT" spacing="-16.0un"/>
-        <anchoritem src="eb:centerButton" srcEdge="RIGHT" dst="" dstEdge="RIGHT" spacing="16.0un"/>
-        <anchoritem src="eb:centerButton" srcEdge="CENTERH" dst="" dstEdge="CENTERH"/>
-        <anchoritem src="eb:centerButton" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" spacing="4.0un"/>
+        <anchoritem src="eb:centerButton" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" spacing="3.0un"/>
     </layout>
 </section>
 
 <section name="landscape">
+
     <layout type="anchor" widget="content">
         <anchoritem src="expandedBubble" srcEdge="LEFT" dst="" dstEdge="LEFT"/>
         <anchoritem src="expandedBubble" srcEdge="RIGHT" dst="" dstEdge="RIGHT"/>
@@ -61,24 +62,24 @@
         <anchoritem src="expandedBubble" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM"/>
     </layout>
 
-    <layout type="anchor" widget="expandedBubble">        
-        <anchoritem src="eb:bubbleHeading" srcEdge="LEFT" dst="eb:leftButton" dstEdge="LEFT"/>
-        <anchoritem src="eb:bubbleHeading" srcEdge="RIGHT" dst="" dstEdge="RIGHT" spacing="2.0un"/>
-        <anchoritem src="eb:bubbleHeading" srcEdge="TOP" dst="" dstEdge="TOP" spacing="-2.0un"/>
+    <layout type="anchor" widget="expandedBubble">                        
+        <anchoritem src="eb:callImage" srcEdge="LEFT" dst="" dstEdge="LEFT" spacing="-var(hb-param-margin-gene-left)"/>
+        <anchoritem src="eb:callImage" srcEdge="TOP" dst="" dstEdge="TOP" spacing="-var(hb-param-margin-gene-top)"/>
+        <anchoritem src="eb:callImage" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" spacing="var(hb-param-margin-gene-bottom)"/>
+        
+        <anchoritem src="eb:bubbleHeading" srcEdge="LEFT" dst="eb:callImage" dstEdge="RIGHT" spacing="-var(hb-param-margin-gene-left)"/>
+        <anchoritem src="eb:bubbleHeading" srcEdge="RIGHT" dst="" dstEdge="RIGHT" spacing="var(hb-param-margin-gene-right)"/>
+        <anchoritem src="eb:bubbleHeading" srcEdge="TOP" dst="" dstEdge="TOP" spacing="-var(hb-param-margin-gene-top)"/>
         
         <anchoritem src="eb:centerButton" srcEdge="CENTERH" dst="eb:bubbleHeading" dstEdge="CENTERH"/>
-        <anchoritem src="eb:centerButton" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" spacing="2.0un"/>
-        
-        <anchoritem src="eb:leftButton" srcEdge="LEFT" dst="eb:callImage" dstEdge="RIGHT" spacing="-2.0un"/>
-        <anchoritem src="eb:leftButton" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" spacing="2.0un"/>
+        <anchoritem src="eb:centerButton" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" spacing="var(hb-param-margin-gene-bottom)"/>
         
-        <anchoritem src="eb:rightButton" srcEdge="LEFT" dst="eb:leftButton" dstEdge="RIGHT" spacing="-2.0un"/>
-        <anchoritem src="eb:rightButton" srcEdge="RIGHT" dst="" dstEdge="RIGHT" spacing="2.0un"/>
-        <anchoritem src="eb:rightButton" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" spacing="2.0un"/>        
+        <anchoritem src="eb:leftButton" srcEdge="LEFT" dst="eb:bubbleHeading" dstEdge="LEFT"/>
+        <anchoritem src="eb:leftButton" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" spacing="var(hb-param-margin-gene-bottom)"/>
         
-        <anchoritem src="eb:callImage" srcEdge="LEFT" dst="" dstEdge="LEFT" spacing="-2.0un"/>
-        <anchoritem src="eb:callImage" srcEdge="TOP" dst="" dstEdge="TOP" spacing="-2.0un"/>
-        <anchoritem src="eb:callImage" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" spacing="2.0un"/>
+        <anchoritem src="eb:rightButton" srcEdge="LEFT" dst="eb:leftButton" dstEdge="RIGHT" spacing="-var(hb-param-margin-gene-middle-horizontal)"/>
+        <anchoritem src="eb:rightButton" srcEdge="RIGHT" dst="" dstEdge="RIGHT" spacing="var(hb-param-margin-gene-right)"/>
+        <anchoritem src="eb:rightButton" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" spacing="var(hb-param-margin-gene-bottom)"/>        
     </layout>
 </section>
 
--- a/phoneuis/bubblemanager2/bubblecore/xml/bubble_layout_2.docml	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneuis/bubblemanager2/bubblecore/xml/bubble_layout_2.docml	Thu Jul 22 16:33:21 2010 +0100
@@ -1,42 +1,28 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <hbdocument version="0.1">
     <widget name="content" type="HbWidget">
-<section name="portrait">
         <widget name="collapsedBubble" type="BubbleContainerWidget">
-            <sizehint height="11.0un" type="FIXED"/>
             <widget name="cb:bubbleHeading" type="BubbleHeadingWidget">
-                <integer name="lines" value="2"/>
             </widget>
-        </widget>
-</section>
-<section name="landscape">        
-        <widget name="collapsedBubble" type="BubbleContainerWidget">
-            <sizehint height="9.0un" type="FIXED"/>
-            <real name="z" value="-1.0"/>
-            <widget name="cb:bubbleHeading" type="BubbleHeadingWidget">
-                <integer name="lines" value="1"/>
-            </widget>
-        </widget>
-</section>            
-        
+        </widget>        
         <widget name="expandedBubble" type="BubbleContainerWidget">
             <widget name="eb:bubbleHeading" type="BubbleHeadingWidget">
-                <sizehint height="14.0un" type="PREFERRED"/>
                 <integer name="lines" value="3"/>
             </widget>
             <widget name="eb:callImage" type="BubbleImageWidget">
+                <bool name="keepSquareShape" value="TRUE"/>
             </widget>
             <widget name="eb:centerButton" type="BubbleButton">
                 <sizehint height="9.0un" type="FIXED"/>
-                <sizehint width="28.0un" type="PREFERRED"/>                
+                <sizehint width="24.5un" type="PREFERRED"/>                
             </widget>
             <widget name="eb:leftButton" type="BubbleButton">
                 <sizehint height="9.0un" type="FIXED"/>
-                <sizehint width="28.0un" type="PREFERRED"/>                
+                <sizehint width="24.5un" type="PREFERRED"/>                
             </widget>
             <widget name="eb:rightButton" type="BubbleButton">
                 <sizehint height="9.0un" type="FIXED"/>
-                <sizehint width="28.0un" type="PREFERRED"/>                
+                <sizehint width="24.5un" type="PREFERRED"/>                
             </widget>
         </widget>
         
@@ -44,6 +30,14 @@
 
 <section name="portrait">
 
+    <widget name="collapsedBubble" type="BubbleContainerWidget">
+        <sizehint height="11.5un" type="FIXED"/>
+    </widget>		
+    
+    <widget name="cb:bubbleHeading" type="BubbleHeadingWidget">
+        <integer name="lines" value="2"/>
+    </widget>    
+
     <layout type="anchor" widget="content">
         <anchoritem src="collapsedBubble" srcEdge="TOP" dst="" dstEdge="TOP"/>        
         <anchoritem src="collapsedBubble" srcEdge="LEFT" dst="" dstEdge="LEFT"/>
@@ -55,34 +49,40 @@
     </layout>
 
     <layout type="anchor" widget="collapsedBubble">
-        <anchoritem src="cb:bubbleHeading" srcEdge="TOP" dst="" dstEdge="TOP" spacing="-2.0un"/>        
-        <anchoritem src="cb:bubbleHeading" srcEdge="LEFT" dst="" dstEdge="LEFT" spacing="-2.0un"/>
-        <anchoritem src="cb:bubbleHeading" srcEdge="RIGHT" dst="" dstEdge="RIGHT" spacing="2.0un"/>
-        <anchoritem src="cb:bubbleHeading" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" spacing="2.0un"/>
+        <anchoritem src="cb:bubbleHeading" srcEdge="TOP" dst="" dstEdge="TOP" spacing="-1.5un"/>        
+        <anchoritem src="cb:bubbleHeading" srcEdge="LEFT" dst="" dstEdge="LEFT" spacing="-var(hb-param-margin-gene-left)"/>
+        <anchoritem src="cb:bubbleHeading" srcEdge="RIGHT" dst="" dstEdge="RIGHT" spacing="var(hb-param-margin-gene-right)"/>
+        <anchoritem src="cb:bubbleHeading" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM"/>
     </layout>
 
     <layout type="anchor" widget="expandedBubble">
-        <anchoritem src="eb:bubbleHeading" srcEdge="TOP" dst="" dstEdge="TOP" spacing="-2.0un"/>
-        <anchoritem src="eb:bubbleHeading" srcEdge="LEFT" dst="" dstEdge="LEFT" spacing="-2.0un"/>
-        <anchoritem src="eb:bubbleHeading" srcEdge="RIGHT" dst="" dstEdge="RIGHT" spacing="2.0un"/>
-        <anchoritem src="eb:bubbleHeading" srcEdge="BOTTOM" dst="eb:callImage" dstEdge="TOP" spacing="2.0un"/>
-        <anchoritem src="eb:callImage" srcEdge="LEFT" dst="" dstEdge="LEFT" spacing="-10.75un"/>
-        <anchoritem src="eb:callImage" srcEdge="RIGHT" dst="" dstEdge="RIGHT" spacing="10.75un"/>
-        <anchoritem src="eb:callImage" srcEdge="BOTTOM" dst="eb:centerButton" dstEdge="TOP"  spacing="3.0un"/>
-        <anchoritem src="eb:leftButton" srcEdge="RIGHT" dst="" dstEdge="CENTERH" spacing="1.0un"/>
-        <anchoritem src="eb:leftButton" srcEdge="LEFT" dst="" dstEdge="LEFT" spacing="-4.0un"/>
-        <anchoritem src="eb:leftButton" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" spacing="4.0un"/>
-        <anchoritem src="eb:rightButton" srcEdge="LEFT" dst="" dstEdge="CENTERH" spacing="-1.0un"/>
-        <anchoritem src="eb:rightButton" srcEdge="RIGHT" dst="" dstEdge="RIGHT" spacing="4.0un"/>
-        <anchoritem src="eb:rightButton" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" spacing="4.0un"/>
+        <anchoritem src="eb:bubbleHeading" srcEdge="TOP" dst="" dstEdge="TOP" spacing="-1.5un"/>
+        <anchoritem src="eb:bubbleHeading" srcEdge="LEFT" dst="" dstEdge="LEFT" spacing="-var(hb-param-margin-gene-left)"/>
+        <anchoritem src="eb:bubbleHeading" srcEdge="RIGHT" dst="" dstEdge="RIGHT" spacing="var(hb-param-margin-gene-right)"/>
+        <anchoritem src="eb:bubbleHeading" srcEdge="BOTTOM" dst="eb:callImage" dstEdge="TOP" spacing="1.5un"/>
+        <anchoritem src="eb:callImage" srcEdge="BOTTOM" dst="eb:centerButton" dstEdge="TOP"  spacing="1.5un"/>
+        <anchoritem src="eb:callImage" srcEdge="CENTERH" dst="" dstEdge="CENTERH"/>
+        <anchoritem src="eb:leftButton" srcEdge="RIGHT" dst="" dstEdge="CENTERH" spacing="expr(var(hb-param-margin-gene-middle-horizontal)/2)"/>
+        <anchoritem src="eb:leftButton" srcEdge="LEFT" dst="" dstEdge="LEFT" spacing="-var(hb-param-margin-gene-left)"/>
+        <anchoritem src="eb:leftButton" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" spacing="3.0un"/>
+        <anchoritem src="eb:rightButton" srcEdge="LEFT" dst="" dstEdge="CENTERH" spacing="-expr(var(hb-param-margin-gene-middle-horizontal)/2)"/>
+        <anchoritem src="eb:rightButton" srcEdge="RIGHT" dst="" dstEdge="RIGHT" spacing="var(hb-param-margin-gene-right)"/>
+        <anchoritem src="eb:rightButton" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" spacing="3.0un"/>
         <anchoritem src="eb:centerButton" srcEdge="CENTERH" dst="" dstEdge="CENTERH"/>
-        <anchoritem src="eb:centerButton" srcEdge="LEFT" dst="" dstEdge="LEFT" spacing="-16.0un"/>
-        <anchoritem src="eb:centerButton" srcEdge="RIGHT" dst="" dstEdge="RIGHT" spacing="16.0un"/>
-        <anchoritem src="eb:centerButton" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" spacing="4.0un"/>
+        <anchoritem src="eb:centerButton" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" spacing="3.0un"/>
     </layout>
 </section>
 
 <section name="landscape">
+		
+    <widget name="collapsedBubble" type="BubbleContainerWidget">
+        <sizehint height="8.5un" type="FIXED"/>
+    </widget>		
+        
+    <widget name="cb:bubbleHeading" type="BubbleHeadingWidget">
+        <integer name="lines" value="1"/>
+    </widget>
+
     <layout type="anchor" widget="content">
         <anchoritem src="collapsedBubble" srcEdge="TOP" dst="" dstEdge="TOP"/>        
         <anchoritem src="collapsedBubble" srcEdge="LEFT" dst="" dstEdge="LEFT"/>
@@ -94,30 +94,30 @@
     </layout>
 
     <layout type="anchor" widget="collapsedBubble">
-        <anchoritem src="cb:bubbleHeading" srcEdge="TOP" dst="" dstEdge="TOP" spacing="-1.5un"/>        
-        <anchoritem src="cb:bubbleHeading" srcEdge="LEFT" dst="" dstEdge="LEFT" spacing="-2.0un"/>
-        <anchoritem src="cb:bubbleHeading" srcEdge="RIGHT" dst="" dstEdge="RIGHT" spacing="2.0un"/>
-        <anchoritem src="cb:bubbleHeading" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" spacing="2.0un"/>
+        <anchoritem src="cb:bubbleHeading" srcEdge="TOP" dst="" dstEdge="TOP" spacing="-1.5"/>        
+        <anchoritem src="cb:bubbleHeading" srcEdge="LEFT" dst="" dstEdge="LEFT" spacing="-var(hb-param-margin-gene-left)"/>
+        <anchoritem src="cb:bubbleHeading" srcEdge="RIGHT" dst="" dstEdge="RIGHT" spacing="var(hb-param-margin-gene-right)"/>
+        <anchoritem src="cb:bubbleHeading" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM"/>
     </layout>
     
-    <layout type="anchor" widget="expandedBubble">
-        <anchoritem src="eb:bubbleHeading" srcEdge="LEFT" dst="eb:callImage" dstEdge="RIGHT" spacing="-2.0un"/>
-        <anchoritem src="eb:bubbleHeading" srcEdge="RIGHT" dst="" dstEdge="RIGHT" spacing="2.0un"/>
-        <anchoritem src="eb:bubbleHeading" srcEdge="TOP" dst="" dstEdge="TOP" spacing="-2.0un"/>
-
+    <layout type="anchor" widget="expandedBubble">        
+        <anchoritem src="eb:bubbleHeading" srcEdge="LEFT" dst="eb:callImage" dstEdge="RIGHT" spacing="-var(hb-param-margin-gene-left)"/>
+        <anchoritem src="eb:bubbleHeading" srcEdge="RIGHT" dst="" dstEdge="RIGHT" spacing="var(hb-param-margin-gene-right)"/>
+        <anchoritem src="eb:bubbleHeading" srcEdge="TOP" dst="" dstEdge="TOP" spacing="-1.5un"/>
+        
+        <anchoritem src="eb:callImage" srcEdge="LEFT" dst="" dstEdge="LEFT" spacing="-var(hb-param-margin-gene-left)"/>
+        <anchoritem src="eb:callImage" srcEdge="TOP" dst="" dstEdge="TOP" spacing="-1.5un"/>
+        <anchoritem src="eb:callImage" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" spacing="var(hb-param-margin-gene-bottom)"/>        
+        
         <anchoritem src="eb:centerButton" srcEdge="CENTERH" dst="eb:bubbleHeading" dstEdge="CENTERH"/>
-        <anchoritem src="eb:centerButton" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" spacing="2.0un"/>
-
-        <anchoritem src="eb:leftButton" srcEdge="LEFT" dst="eb:callImage" dstEdge="RIGHT" spacing="-10.5un"/>
-        <anchoritem src="eb:leftButton" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" spacing="2.0un"/>
+        <anchoritem src="eb:centerButton" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" spacing="var(hb-param-margin-gene-bottom)"/>
         
-        <anchoritem src="eb:rightButton" srcEdge="LEFT" dst="eb:leftButton" dstEdge="RIGHT" spacing="-2.0un"/>
-        <anchoritem src="eb:rightButton" srcEdge="RIGHT" dst="" dstEdge="RIGHT" spacing="2.0un"/>
-        <anchoritem src="eb:rightButton" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" spacing="2.0un"/>
-
-        <anchoritem src="eb:callImage" srcEdge="LEFT" dst="" dstEdge="LEFT" spacing="-2.0un"/>
-        <anchoritem src="eb:callImage" srcEdge="TOP" dst="" dstEdge="TOP" spacing="-2.0un"/>
-        <anchoritem src="eb:callImage" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" spacing="2.0un"/>
+        <anchoritem src="eb:leftButton" srcEdge="LEFT" dst="eb:bubbleHeading" dstEdge="LEFT"/>
+        <anchoritem src="eb:leftButton" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" spacing="var(hb-param-margin-gene-bottom)"/>
+        
+        <anchoritem src="eb:rightButton" srcEdge="LEFT" dst="eb:leftButton" dstEdge="RIGHT" spacing="-var(hb-param-margin-gene-middle-horizontal)"/>
+        <anchoritem src="eb:rightButton" srcEdge="RIGHT" dst="" dstEdge="RIGHT" spacing="var(hb-param-margin-gene-right)"/>
+        <anchoritem src="eb:rightButton" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" spacing="var(hb-param-margin-gene-bottom)"/>
     </layout>    
     
 </section>
--- a/phoneuis/bubblemanager2/bubblecore/xml/bubble_layout_3.docml	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneuis/bubblemanager2/bubblecore/xml/bubble_layout_3.docml	Thu Jul 22 16:33:21 2010 +0100
@@ -1,87 +1,63 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <hbdocument version="0.1">
     <widget name="content" type="HbWidget">
-<section name="portrait">
         <widget name="collapsedBubble2" type="BubbleContainerWidget">
-            <sizehint height="11.0un" type="FIXED"/>
             <widget name="cb2:bubbleHeading" type="BubbleHeadingWidget">
-                <integer name="lines" value="2"/>
             </widget>
         </widget>
 
         <widget name="collapsedBubble" type="BubbleContainerWidget">
-            <sizehint height="11.0un" type="FIXED"/>
             <widget name="cb:bubbleHeading" type="BubbleHeadingWidget">
-                <integer name="lines" value="2"/>
             </widget>
         </widget>
 
         <widget name="expandedBubble" type="BubbleContainerWidget">
             <widget name="eb:bubbleHeading" type="BubbleHeadingWidget">
-                <sizehint height="13.0un" type="PREFERRED"/>
-                <integer name="lines" value="3"/>
             </widget>
             <widget name="eb:callImage" type="BubbleImageWidget">
+                <bool name="keepSquareShape" value="TRUE"/>
             </widget>
             <widget name="eb:centerButton" type="BubbleButton">
                 <sizehint height="9.0un" type="FIXED"/>
-                <sizehint width="20.0un" type="PREFERRED"/>
+                <sizehint width="24.5un" type="PREFERRED"/>
             </widget>
             <widget name="eb:leftButton" type="BubbleButton">
                 <sizehint height="9.0un" type="FIXED"/>
-                <sizehint width="20.0un" type="PREFERRED"/>                
+                <sizehint width="24.5un" type="PREFERRED"/>                
             </widget>
             <widget name="eb:rightButton" type="BubbleButton">
                 <sizehint height="9.0un" type="FIXED"/>
-                <sizehint width="20.0un" type="PREFERRED"/>                
-            </widget>
-        </widget>
-
-</section>
-
-<section name="landscape">        
-        <widget name="collapsedBubble2" type="BubbleContainerWidget">
-            <sizehint height="9.0un" type="FIXED"/>
-            <real name="z" value="-1.0"/>           
-            <widget name="cb2:bubbleHeading" type="BubbleHeadingWidget">
-                <integer name="lines" value="1"/>
-            </widget>
-        </widget>
-
-        <widget name="collapsedBubble" type="BubbleContainerWidget">
-            <sizehint height="9.0un" type="FIXED"/>
-            <real name="z" value="-1.0"/>
-            <widget name="cb:bubbleHeading" type="BubbleHeadingWidget">
-                <integer name="lines" value="1"/>
+                <sizehint width="24.5un" type="PREFERRED"/>                
             </widget>
         </widget>
-
-        <widget name="expandedBubble" type="BubbleContainerWidget">
-            <widget name="eb:bubbleHeading" type="BubbleHeadingWidget">
-                <sizehint height="13.0un" type="PREFERRED"/>
-                <integer name="lines" value="2"/>
-            </widget>
-            <widget name="eb:callImage" type="BubbleImageWidget">
-            </widget>
-            <widget name="eb:centerButton" type="BubbleButton">
-                <sizehint height="9.0un" type="FIXED"/>
-                <sizehint width="20.0un" type="PREFERRED"/>                
-            </widget>
-            <widget name="eb:leftButton" type="BubbleButton">
-                <sizehint height="9.0un" type="FIXED"/>
-                <sizehint width="20.0un" type="PREFERRED"/>
-            </widget>
-            <widget name="eb:rightButton" type="BubbleButton">
-                <sizehint height="9.0un" type="FIXED"/>
-                <sizehint width="20.0un" type="PREFERRED"/>
-            </widget>
-        </widget>
-</section>
-
     </widget>
 
 <section name="portrait">
 
+    <widget name="collapsedBubble2" type="BubbleContainerWidget">
+        <sizehint height="11.5un" type="FIXED"/>
+    </widget>
+    
+    <widget name="cb2:bubbleHeading" type="BubbleHeadingWidget">
+        <integer name="lines" value="2"/>
+    </widget>
+    
+    <widget name="collapsedBubble" type="BubbleContainerWidget">
+        <sizehint height="11.5un" type="FIXED"/>
+    </widget>
+    
+    <widget name="cb:bubbleHeading" type="BubbleHeadingWidget">
+        <integer name="lines" value="2"/>
+    </widget>    
+
+    <widget name="eb:bubbleHeading" type="BubbleHeadingWidget">
+        <integer name="lines" value="3"/>
+    </widget>
+    
+    <widget name="eb:centerButton" type="BubbleButton">
+        <sizehint width="24.5un" type="PREFERRED"/>
+    </widget>    
+    
     <layout type="anchor" widget="content">
         <anchoritem src="collapsedBubble2" srcEdge="TOP" dst="" dstEdge="TOP"/>        
         <anchoritem src="collapsedBubble2" srcEdge="LEFT" dst="" dstEdge="LEFT"/>
@@ -96,41 +72,64 @@
     </layout>
 
     <layout type="anchor" widget="collapsedBubble2">
-        <anchoritem src="cb2:bubbleHeading" srcEdge="TOP" dst="" dstEdge="TOP" spacing="-2.0un"/>        
-        <anchoritem src="cb2:bubbleHeading" srcEdge="LEFT" dst="" dstEdge="LEFT" spacing="-2.0un"/>
-        <anchoritem src="cb2:bubbleHeading" srcEdge="RIGHT" dst="" dstEdge="RIGHT" spacing="2.0un"/>
-        <anchoritem src="cb2:bubbleHeading" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" spacing="2.0un"/>
+        <anchoritem src="cb2:bubbleHeading" srcEdge="TOP" dst="" dstEdge="TOP" spacing="-1.5un"/>        
+        <anchoritem src="cb2:bubbleHeading" srcEdge="LEFT" dst="" dstEdge="LEFT" spacing="-var(hb-param-margin-gene-left)"/>
+        <anchoritem src="cb2:bubbleHeading" srcEdge="RIGHT" dst="" dstEdge="RIGHT" spacing="var(hb-param-margin-gene-right)"/>
+        <anchoritem src="cb2:bubbleHeading" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM"/>
     </layout>
 
     <layout type="anchor" widget="collapsedBubble">
-        <anchoritem src="cb:bubbleHeading" srcEdge="TOP" dst="" dstEdge="TOP" spacing="-2.0un"/>        
-        <anchoritem src="cb:bubbleHeading" srcEdge="LEFT" dst="" dstEdge="LEFT" spacing="-2.0un"/>
-        <anchoritem src="cb:bubbleHeading" srcEdge="RIGHT" dst="" dstEdge="RIGHT" spacing="2.0un"/>
-        <anchoritem src="cb:bubbleHeading" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" spacing="2.0un"/>
+        <anchoritem src="cb:bubbleHeading" srcEdge="TOP" dst="" dstEdge="TOP" spacing="-1.5un"/>        
+        <anchoritem src="cb:bubbleHeading" srcEdge="LEFT" dst="" dstEdge="LEFT" spacing="-var(hb-param-margin-gene-left)"/>
+        <anchoritem src="cb:bubbleHeading" srcEdge="RIGHT" dst="" dstEdge="RIGHT" spacing="var(hb-param-margin-gene-right)"/>
+        <anchoritem src="cb:bubbleHeading" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM"/>
     </layout>
 
     <layout type="anchor" widget="expandedBubble">
-        <anchoritem src="eb:bubbleHeading" srcEdge="TOP" dst="" dstEdge="TOP" spacing="-2.0un"/>
-        <anchoritem src="eb:bubbleHeading" srcEdge="LEFT" dst="" dstEdge="LEFT" spacing="-2.0un"/>
-        <anchoritem src="eb:bubbleHeading" srcEdge="RIGHT" dst="" dstEdge="RIGHT" spacing="2.0un"/>
-        <anchoritem src="eb:bubbleHeading" srcEdge="BOTTOM" dst="eb:callImage" dstEdge="TOP" spacing="2.0un"/>
-        <anchoritem src="eb:callImage" srcEdge="LEFT" dst="" dstEdge="LEFT" spacing="-14.75un"/>
-        <anchoritem src="eb:callImage" srcEdge="RIGHT" dst="" dstEdge="RIGHT" spacing="14.75un"/>
-        <anchoritem src="eb:callImage" srcEdge="BOTTOM" dst="eb:centerButton" dstEdge="TOP"  spacing="3.0un"/>
-        <anchoritem src="eb:leftButton" srcEdge="RIGHT" dst="" dstEdge="CENTERH" spacing="1.0un"/>
-        <anchoritem src="eb:leftButton" srcEdge="LEFT" dst="" dstEdge="LEFT" spacing="-4.0un"/>
-        <anchoritem src="eb:leftButton" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" spacing="4.0un"/>
-        <anchoritem src="eb:rightButton" srcEdge="LEFT" dst="" dstEdge="CENTERH" spacing="-1.0un"/>
-        <anchoritem src="eb:rightButton" srcEdge="RIGHT" dst="" dstEdge="RIGHT" spacing="4.0un"/>
-        <anchoritem src="eb:rightButton" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" spacing="4.0un"/>
+        <anchoritem src="eb:bubbleHeading" srcEdge="TOP" dst="" dstEdge="TOP" spacing="-1.5un"/>
+        <anchoritem src="eb:bubbleHeading" srcEdge="LEFT" dst="" dstEdge="LEFT" spacing="-var(hb-param-margin-gene-left)"/>
+        <anchoritem src="eb:bubbleHeading" srcEdge="RIGHT" dst="" dstEdge="RIGHT" spacing="var(hb-param-margin-gene-right)"/>
+        <anchoritem src="eb:bubbleHeading" srcEdge="BOTTOM" dst="eb:callImage" dstEdge="TOP" spacing="1.5un"/>
+        <anchoritem src="eb:callImage" srcEdge="BOTTOM" dst="eb:centerButton" dstEdge="TOP"  spacing="1.5un"/>
+        <anchoritem src="eb:callImage" srcEdge="CENTERH" dst="" dstEdge="CENTERH"/>
+        <anchoritem src="eb:leftButton" srcEdge="RIGHT" dst="" dstEdge="CENTERH" spacing="expr(var(hb-param-margin-gene-middle-horizontal)/2)"/>
+        <anchoritem src="eb:leftButton" srcEdge="LEFT" dst="" dstEdge="LEFT" spacing="-var(hb-param-margin-gene-left)"/>
+        <anchoritem src="eb:leftButton" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" spacing="3.0un"/>
+        <anchoritem src="eb:rightButton" srcEdge="LEFT" dst="" dstEdge="CENTERH" spacing="-expr(var(hb-param-margin-gene-middle-horizontal)/2)"/>
+        <anchoritem src="eb:rightButton" srcEdge="RIGHT" dst="" dstEdge="RIGHT" spacing="var(hb-param-margin-gene-right)"/>
+        <anchoritem src="eb:rightButton" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" spacing="3.0un"/>
         <anchoritem src="eb:centerButton" srcEdge="CENTERH" dst="" dstEdge="CENTERH"/>
-        <anchoritem src="eb:centerButton" srcEdge="LEFT" dst="" dstEdge="LEFT" spacing="-16.0un"/>
-        <anchoritem src="eb:centerButton" srcEdge="RIGHT" dst="" dstEdge="RIGHT" spacing="16.0un"/>
-        <anchoritem src="eb:centerButton" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" spacing="4.0un"/>
+        <anchoritem src="eb:centerButton" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" spacing="3.0un"/>
     </layout>
 </section>
 
 <section name="landscape">
+
+    <widget name="collapsedBubble2" type="BubbleContainerWidget">
+        <sizehint height="8.5un" type="FIXED"/>
+    </widget>
+    
+    <widget name="cb2:bubbleHeading" type="BubbleHeadingWidget">
+        <integer name="lines" value="1"/>
+    </widget>
+    
+
+    <widget name="collapsedBubble" type="BubbleContainerWidget">
+        <sizehint height="8.5un" type="FIXED"/>
+    </widget>
+    
+    <widget name="cb:bubbleHeading" type="BubbleHeadingWidget">
+        <integer name="lines" value="1"/>
+    </widget>        
+
+    <widget name="eb:bubbleHeading" type="BubbleHeadingWidget">
+        <integer name="lines" value="3"/>
+    </widget>
+    
+    <widget name="eb:centerButton" type="BubbleButton">
+        <sizehint width="22.0un" type="FIXED"/>
+    </widget>    
+
     <layout type="anchor" widget="content">
         <anchoritem src="collapsedBubble2" srcEdge="TOP" dst="" dstEdge="TOP"/>        
         <anchoritem src="collapsedBubble2" srcEdge="LEFT" dst="" dstEdge="LEFT"/>
@@ -148,37 +147,37 @@
 
     <layout type="anchor" widget="collapsedBubble2">
         <anchoritem src="cb2:bubbleHeading" srcEdge="TOP" dst="" dstEdge="TOP" spacing="-1.5un"/>        
-        <anchoritem src="cb2:bubbleHeading" srcEdge="LEFT" dst="" dstEdge="LEFT" spacing="-2.0un"/>
-        <anchoritem src="cb2:bubbleHeading" srcEdge="RIGHT" dst="" dstEdge="RIGHT" spacing="2.0un"/>
-        <anchoritem src="cb2:bubbleHeading" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" spacing="2.0un"/>
+        <anchoritem src="cb2:bubbleHeading" srcEdge="LEFT" dst="" dstEdge="LEFT" spacing="-var(hb-param-margin-gene-left)"/>
+        <anchoritem src="cb2:bubbleHeading" srcEdge="RIGHT" dst="" dstEdge="RIGHT" spacing="var(hb-param-margin-gene-right)"/>
+        <anchoritem src="cb2:bubbleHeading" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM"/>
     </layout>
 
     <layout type="anchor" widget="collapsedBubble">
         <anchoritem src="cb:bubbleHeading" srcEdge="TOP" dst="" dstEdge="TOP" spacing="-1.5un"/>        
-        <anchoritem src="cb:bubbleHeading" srcEdge="LEFT" dst="" dstEdge="LEFT" spacing="-2.0un"/>
-        <anchoritem src="cb:bubbleHeading" srcEdge="RIGHT" dst="" dstEdge="RIGHT" spacing="2.0un"/>
-        <anchoritem src="cb:bubbleHeading" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" spacing="2.0un"/>
+        <anchoritem src="cb:bubbleHeading" srcEdge="LEFT" dst="" dstEdge="LEFT" spacing="-var(hb-param-margin-gene-left)"/>
+        <anchoritem src="cb:bubbleHeading" srcEdge="RIGHT" dst="" dstEdge="RIGHT" spacing="var(hb-param-margin-gene-right)"/>
+        <anchoritem src="cb:bubbleHeading" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM"/>
     </layout>    
 
     <layout type="anchor" widget="expandedBubble">
-        <anchoritem src="eb:bubbleHeading" srcEdge="LEFT" dst="eb:callImage" dstEdge="RIGHT" spacing="-2.0un"/>
-        <anchoritem src="eb:bubbleHeading" srcEdge="RIGHT" dst="eb:centerButton" dstEdge="LEFT" spacing="2.0un"/>
-        <anchoritem src="eb:bubbleHeading" srcEdge="TOP" dst="" dstEdge="TOP" spacing="-2.0un"/>
+        <anchoritem src="eb:callImage" srcEdge="LEFT" dst="" dstEdge="LEFT" spacing="-var(hb-param-margin-gene-left)"/>
+        <anchoritem src="eb:callImage" srcEdge="TOP" dst="" dstEdge="TOP" spacing="-1.5un"/>
+        <anchoritem src="eb:callImage" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" spacing="var(hb-param-margin-gene-bottom)"/>        
         
-        <anchoritem src="eb:centerButton" srcEdge="RIGHT" dst="" dstEdge="RIGHT" spacing="2.0un"/>
-        <anchoritem src="eb:centerButton" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" spacing="2.0un"/>
+        <anchoritem src="eb:bubbleHeading" srcEdge="TOP" dst="" dstEdge="TOP" spacing="-1.5un"/>
+        <anchoritem src="eb:bubbleHeading" srcEdge="RIGHT" dst="eb:centerButton" dstEdge="LEFT" spacing="var(hb-param-margin-gene-middle-horizontal)"/>
+        <anchoritem src="eb:bubbleHeading" srcEdge="LEFT" dst="eb:callImage" dstEdge="RIGHT" spacing="-var(hb-param-margin-gene-left)"/>         
         
-        <anchoritem src="eb:leftButton" srcEdge="CENTERH" dst="eb:centerButton" dstEdge="CENTERH" spacing="2.0un"/>
-        <anchoritem src="eb:leftButton" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" spacing="2.0un"/>
+        <anchoritem src="eb:centerButton" srcEdge="RIGHT" dst="" dstEdge="RIGHT" spacing="var(hb-param-margin-gene-middle-horizontal)"/>
+        <anchoritem src="eb:centerButton" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" spacing="var(hb-param-margin-gene-bottom)"/>
         
-        <anchoritem src="eb:rightButton" srcEdge="CENTERH" dst="eb:centerButton" dstEdge="CENTERH" spacing="2.0un"/>
-        <anchoritem src="eb:rightButton" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" spacing="2.0un"/>
+        <anchoritem src="eb:leftButton" srcEdge="CENTERH" dst="eb:centerButton" dstEdge="CENTERH" spacing="var(hb-param-margin-gene-middle-horizontal)"/>
+        <anchoritem src="eb:leftButton" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" spacing="var(hb-param-margin-gene-bottom)"/>
         
-        <anchoritem src="eb:callImage" srcEdge="LEFT" dst="" dstEdge="LEFT" spacing="-2.0un"/>
-        <anchoritem src="eb:callImage" srcEdge="RIGHT" dst="" dstEdge="LEFT" spacing="-20.0un"/>
-        <anchoritem src="eb:callImage" srcEdge="TOP" dst="" dstEdge="TOP" spacing="-2.0un"/>
-        <anchoritem src="eb:callImage" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" spacing="2.0un"/>
+        <anchoritem src="eb:rightButton" srcEdge="CENTERH" dst="eb:centerButton" dstEdge="CENTERH" spacing="var(hb-param-margin-gene-middle-horizontal)"/>
+        <anchoritem src="eb:rightButton" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" spacing="var(hb-param-margin-gene-bottom)"/>        
     </layout>    
     
 </section>
+
 </hbdocument>
--- a/phoneuis/bubblemanager2/bubblecore/xml/bubble_layout_4.docml	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneuis/bubblemanager2/bubblecore/xml/bubble_layout_4.docml	Thu Jul 22 16:33:21 2010 +0100
@@ -4,18 +4,23 @@
         <widget name="expandedBubble" type="BubbleContainerWidget">
             <widget name="eb:participantList" type="HbListView">
             </widget>
-            <widget name="eb:callTimer" type="HbLabel">
-                <string name="text" value="00:01"/>
-                <sizehint height="4.0un" width="22.0un" type="FIXED"/>
+            <widget name="eb:bubbleHeading" type="BubbleHeadingWidget">
+                <integer name="lines" value="2"/>
             </widget>            
+            <widget name="eb:cipheringIcon" type="HbLabel">
+                <sizehint height="var(hb-param-graphic-size-secondary)" width="var(hb-param-graphic-size-secondary)" type="FIXED"/>
+            </widget>                        
             <widget name="eb:centerButton" type="BubbleButton">
                 <sizehint height="9.0un" type="FIXED"/>
+                <sizehint width="24.5un" type="PREFERRED"/>
             </widget>
             <widget name="eb:leftButton" type="BubbleButton">
                 <sizehint height="9.0un" type="FIXED"/>
+                <sizehint width="24.5un" type="PREFERRED"/>
             </widget>
             <widget name="eb:rightButton" type="BubbleButton">
                 <sizehint height="9.0un" type="FIXED"/>
+                <sizehint width="24.5un" type="PREFERRED"/>
             </widget>
         </widget>
     </widget>
@@ -28,24 +33,27 @@
         <anchoritem src="expandedBubble" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM"/>
     </layout>
     
-    <layout type="anchor" widget="expandedBubble">
-        <anchoritem src="eb:participantList" srcEdge="LEFT" dst="" dstEdge="LEFT" spacing="-2.0un"/>
-        <anchoritem src="eb:participantList" srcEdge="RIGHT" dst="" dstEdge="RIGHT" spacing="2.0un"/>
-        <anchoritem src="eb:participantList" srcEdge="TOP" dst="" dstEdge="TOP" spacing="-2.0un"/>
-        <anchoritem src="eb:participantList" srcEdge="BOTTOM" dst="eb:callTimer" dstEdge="TOP" spacing="2.0un"/>
-        <anchoritem src="eb:callTimer" srcEdge="CENTERH" dst="" dstEdge="CENTERH"/>
-        <anchoritem src="eb:callTimer" srcEdge="BOTTOM" dst="eb:centerButton" dstEdge="TOP" spacing="3.0un"/>        
-        <anchoritem src="eb:leftButton" srcEdge="RIGHT" dst="" dstEdge="CENTERH" spacing="1.0un"/>
-        <anchoritem src="eb:leftButton" srcEdge="LEFT" dst="" dstEdge="LEFT" spacing="-4.0un"/>
-        <anchoritem src="eb:leftButton" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" spacing="4.0un"/>
-        <anchoritem src="eb:rightButton" srcEdge="LEFT" dst="" dstEdge="CENTERH" spacing="-1.0un"/>
-        <anchoritem src="eb:rightButton" srcEdge="RIGHT" dst="" dstEdge="RIGHT" spacing="4.0un"/>
-        <anchoritem src="eb:rightButton" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" spacing="4.0un"/>
+    <layout type="anchor" widget="expandedBubble">        
+        <anchoritem src="eb:bubbleHeading" srcEdge="TOP" dst="" dstEdge="TOP" spacing="-1.5un"/>
+        <anchoritem src="eb:bubbleHeading" srcEdge="LEFT" dst="" dstEdge="LEFT" spacing="-var(hb-param-margin-gene-left)"/>               
+        <anchoritem src="eb:bubbleHeading" srcEdge="RIGHT" dst="" dstEdge="RIGHT" spacing="var(hb-param-margin-gene-right)"/>
+        <anchoritem src="eb:bubbleHeading" srcEdge="BOTTOM" dst="eb:participantList" dstEdge="TOP" spacing="var(hb-param-margin-gene-middle-horizontal)"/>
+        
+        <anchoritem src="eb:participantList" srcEdge="LEFT" dst="" dstEdge="LEFT" spacing="-var(hb-param-margin-gene-left)"/>
+        <anchoritem src="eb:participantList" srcEdge="RIGHT" dst="" dstEdge="RIGHT" spacing="var(hb-param-margin-gene-right)"/>
+        <anchoritem src="eb:participantList" srcEdge="BOTTOM" dst="eb:centerButton" dstEdge="TOP" spacing="var(hb-param-margin-gene-middle-horizontal)"/>
+        
+        <anchoritem src="eb:leftButton" srcEdge="RIGHT" dst="" dstEdge="CENTERH" spacing="expr(var(hb-param-margin-gene-middle-horizontal)/2)"/>
+        <anchoritem src="eb:leftButton" srcEdge="LEFT" dst="" dstEdge="LEFT" spacing="-var(hb-param-margin-gene-left)"/>
+        <anchoritem src="eb:leftButton" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" spacing="3.0un"/>
+        
+        <anchoritem src="eb:rightButton" srcEdge="LEFT" dst="" dstEdge="CENTERH" spacing="-expr(var(hb-param-margin-gene-middle-horizontal)/2)"/>
+        <anchoritem src="eb:rightButton" srcEdge="RIGHT" dst="" dstEdge="RIGHT" spacing="var(hb-param-margin-gene-right)"/>
+        <anchoritem src="eb:rightButton" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" spacing="3.0un"/>
+        
         <anchoritem src="eb:centerButton" srcEdge="CENTERH" dst="" dstEdge="CENTERH"/>
-        <anchoritem src="eb:centerButton" srcEdge="LEFT" dst="" dstEdge="LEFT" spacing="-16.0un"/>
-        <anchoritem src="eb:centerButton" srcEdge="RIGHT" dst="" dstEdge="RIGHT" spacing="16.0un"/>
-        <anchoritem src="eb:centerButton" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" spacing="4.0un"/>
-    </layout>
+        <anchoritem src="eb:centerButton" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" spacing="3.0un"/>
+   </layout>
 </section>
 
 <section name="landscape">
@@ -57,8 +65,10 @@
     </layout>
 
     <layout type="anchor" widget="expandedBubble">
-        <anchoritem src="eb:callTimer" srcEdge="CENTERV" dst="" dstEdge="CENTERV"/>
-        <anchoritem src="eb:callTimer" srcEdge="LEFT" dst="" dstEdge="CENTERH" spacing="-2.0un"/>
+        <anchoritem src="eb:bubbleHeading" srcEdge="TOP" dst="" dstEdge="TOP" spacing="-1.5un"/>
+        <anchoritem src="eb:bubbleHeading" srcEdge="LEFT" dst="" dstEdge="CENTERH" spacing="-var(hb-param-margin-gene-left)"/>
+        <anchoritem src="eb:bubbleHeading" srcEdge="RIGHT" dst="" dstEdge="RIGHT" spacing="var(hb-param-margin-gene-right)"/>
+        
         <anchoritem src="eb:centerButton" srcEdge="LEFT" dst="" dstEdge="CENTERH" spacing="-13.0un"/>
         <anchoritem src="eb:centerButton" srcEdge="RIGHT" dst="" dstEdge="RIGHT" spacing="13.0un"/>
         <anchoritem src="eb:centerButton" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" spacing="3.0un"/>
--- a/phoneuis/bubblemanager2/bubblecore/xml/bubble_layout_5.docml	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneuis/bubblemanager2/bubblecore/xml/bubble_layout_5.docml	Thu Jul 22 16:33:21 2010 +0100
@@ -27,8 +27,8 @@
 
 <section name="landscape">
     <layout type="anchor" widget="content">
-        <anchoritem src="mutedIcon" srcEdge="TOP" dst="" dstEdge="TOP" spacing="-2.0un"/>
-        <anchoritem src="mutedIcon" srcEdge="RIGHT" dst="" dstEdge="RIGHT" spacing="21.0un"/>        
+        <anchoritem src="mutedIcon" srcEdge="TOP" dst="" dstEdge="TOP" spacing="-1.5un"/>
+        <anchoritem src="mutedIcon" srcEdge="RIGHT" dst="" dstEdge="RIGHT" spacing="20.5un"/>        
     </layout>
 </section>
 
--- a/phoneuis/bubblemanager2/bubblecore/xml/bubbleheadingwidget.css	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneuis/bubblemanager2/bubblecore/xml/bubbleheadingwidget.css	Thu Jul 22 16:33:21 2010 +0100
@@ -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);
 }
--- a/phoneuis/bubblemanager2/bubblecore/xml/bubbleheadingwidget.widgetml	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneuis/bubblemanager2/bubblecore/xml/bubbleheadingwidget.widgetml	Thu Jul 22 16:33:21 2010 +0100
@@ -1,63 +1,136 @@
 <hbwidget version="0.1" type="be">  
   <layout name="three_lines_layout" type="mesh">
-    <meshitem src="status_icon" srcEdge="LEFT" dst="" dstEdge="LEFT"/>
-    <meshitem src="status_icon" srcEdge="TOP" dst="" dstEdge="TOP"/>
-    
-    <meshitem src="number_type_icon" srcEdge="RIGHT" dst="status_icon" dstEdge="RIGHT"/>
-    <meshitem src="number_type_icon" srcEdge="BOTTOM" dst="status_icon" dstEdge="BOTTOM"/>
-    
-    <meshitem src="ciphering_icon" srcEdge="LEFT" dst="status_icon" dstEdge="LEFT"/>
-    <meshitem src="ciphering_icon" srcEdge="TOP" dst="status_icon" dstEdge="TOP"/>    
-    
-    <meshitem src="text_line_1" srcEdge="LEFT" dst="status_icon" dstEdge="RIGHT"/>
+    <meshitem src="text_line_1" srcEdge="LEFT" dst="" dstEdge="LEFT"/>
     <meshitem src="text_line_1" srcEdge="RIGHT" dst="" dstEdge="RIGHT"/>
     <meshitem src="text_line_1" srcEdge="TOP" dst="" dstEdge="TOP"/>
     
     <meshitem src="text_line_2" srcEdge="TOP" dst="text_line_1" dstEdge="BOTTOM"/>
-    <meshitem src="text_line_2" srcEdge="LEFT" dst="status_icon" dstEdge="RIGHT"/>
+    <meshitem src="text_line_2" srcEdge="LEFT" dst="" dstEdge="LEFT"/>
+    <meshitem src="text_line_2" srcEdge="RIGHT" dst="" dstEdge="RIGHT"/>
+    
+    <meshitem src="text_line_3" srcEdge="TOP" dst="text_line_2" dstEdge="BOTTOM"/>
+    <meshitem src="text_line_3" srcEdge="LEFT" dst="" dstEdge="LEFT"/>
+    <meshitem src="text_line_3" srcEdge="RIGHT" dst="" dstEdge="RIGHT"/>
+    <meshitem src="text_line_3" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM"/>
+  </layout>
+  
+  <layout name="three_lines_layout_1" type="mesh">
+    <meshitem src="text_line_1" srcEdge="LEFT" dst="" dstEdge="LEFT"/>
+    <meshitem src="text_line_1" srcEdge="RIGHT" dst="indicator_icon_1" dstEdge="LEFT" spacing="var(hb-param-margin-gene-middle-horizontal)"/>
+    <meshitem src="text_line_1" srcEdge="TOP" dst="" dstEdge="TOP"/>
+    
+    <meshitem src="indicator_icon_1" srcEdge="RIGHT" dst="" dstEdge="RIGHT"/>
+    <meshitem src="indicator_icon_1" srcEdge="CENTERV" dst="text_line_1" dstEdge="CENTERV"/>
+    
+    <meshitem src="text_line_2" srcEdge="TOP" dst="text_line_1" dstEdge="BOTTOM"/>
+    <meshitem src="text_line_2" srcEdge="LEFT" dst="" dstEdge="LEFT"/>
+    <meshitem src="text_line_2" srcEdge="RIGHT" dst="" dstEdge="RIGHT"/>
+    
+    <meshitem src="text_line_3" srcEdge="TOP" dst="text_line_2" dstEdge="BOTTOM"/>
+    <meshitem src="text_line_3" srcEdge="LEFT" dst="" dstEdge="LEFT"/>
+    <meshitem src="text_line_3" srcEdge="RIGHT" dst="" dstEdge="RIGHT"/>
+    <meshitem src="text_line_3" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM"/>
+  </layout>  
+  
+  <layout name="three_lines_layout_2" type="mesh">
+    <meshitem src="text_line_1" srcEdge="LEFT" dst="" dstEdge="LEFT"/>
+    <meshitem src="text_line_1" srcEdge="RIGHT" dst="indicator_icon_1" dstEdge="LEFT" spacing="var(hb-param-margin-gene-middle-horizontal)"/>
+    <meshitem src="text_line_1" srcEdge="TOP" dst="" dstEdge="TOP"/>
+    
+    <meshitem src="indicator_icon_1" srcEdge="RIGHT" dst="indicator_icon_2" dstEdge="LEFT"/>
+    <meshitem src="indicator_icon_1" srcEdge="CENTERV" dst="text_line_1" dstEdge="CENTERV"/>
+    
+    <meshitem src="indicator_icon_2" srcEdge="RIGHT" dst="" dstEdge="RIGHT"/>
+    <meshitem src="indicator_icon_2" srcEdge="CENTERV" dst="text_line_1" dstEdge="CENTERV"/>    
+    
+    <meshitem src="text_line_2" srcEdge="TOP" dst="text_line_1" dstEdge="BOTTOM"/>
+    <meshitem src="text_line_2" srcEdge="LEFT" dst="" dstEdge="LEFT"/>
     <meshitem src="text_line_2" srcEdge="RIGHT" dst="" dstEdge="RIGHT"/>
     
     <meshitem src="text_line_3" srcEdge="TOP" dst="text_line_2" dstEdge="BOTTOM"/>
-    <meshitem src="text_line_3" srcEdge="LEFT" dst="status_icon" dstEdge="RIGHT"/>
+    <meshitem src="text_line_3" srcEdge="LEFT" dst="" dstEdge="LEFT"/>
     <meshitem src="text_line_3" srcEdge="RIGHT" dst="" dstEdge="RIGHT"/>
-  </layout>
+    <meshitem src="text_line_3" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM"/>
+  </layout>  
 
   <layout name="two_lines_layout" type="mesh">
-    <meshitem src="status_icon" srcEdge="LEFT" dst="" dstEdge="LEFT"/>
-    <meshitem src="status_icon" srcEdge="TOP" dst="" dstEdge="TOP"/>
-    
-    <meshitem src="number_type_icon" srcEdge="RIGHT" dst="status_icon" dstEdge="RIGHT"/>
-    <meshitem src="number_type_icon" srcEdge="BOTTOM" dst="status_icon" dstEdge="BOTTOM"/>
-
-    <meshitem src="ciphering_icon" srcEdge="LEFT" dst="status_icon" dstEdge="LEFT"/>
-    <meshitem src="ciphering_icon" srcEdge="TOP" dst="status_icon" dstEdge="TOP"/>    
-    
-    <meshitem src="text_line_1" srcEdge="LEFT" dst="status_icon" dstEdge="RIGHT"/>
+    <meshitem src="text_line_1" srcEdge="LEFT" dst="" dstEdge="LEFT"/>
     <meshitem src="text_line_1" srcEdge="RIGHT" dst="" dstEdge="RIGHT"/>
     <meshitem src="text_line_1" srcEdge="TOP" dst="" dstEdge="TOP"/>
     
-    <meshitem src="text_line_2" srcEdge="LEFT" dst="status_icon" dstEdge="RIGHT"/>
+    <meshitem src="text_line_2" srcEdge="LEFT" dst="" dstEdge="LEFT"/>
+    <meshitem src="text_line_2" srcEdge="RIGHT" dst="" dstEdge="RIGHT"/>
+    <meshitem src="text_line_2" srcEdge="TOP" dst="text_line_1" dstEdge="BOTTOM"/>
+    <meshitem src="text_line_2" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM"/>
+  </layout>
+  
+  <layout name="two_lines_layout_1" type="mesh">
+    <meshitem src="text_line_1" srcEdge="LEFT" dst="" dstEdge="LEFT"/>
+    <meshitem src="text_line_1" srcEdge="RIGHT" dst="indicator_icon_1" dstEdge="LEFT" spacing="var(hb-param-margin-gene-middle-horizontal)"/>
+    <meshitem src="text_line_1" srcEdge="TOP" dst="" dstEdge="TOP"/>
+    
+    <meshitem src="indicator_icon_1" srcEdge="RIGHT" dst="" dstEdge="RIGHT"/>
+    <meshitem src="indicator_icon_1" srcEdge="CENTERV" dst="text_line_1" dstEdge="CENTERV"/>
+    
+    <meshitem src="text_line_2" srcEdge="LEFT" dst="" dstEdge="LEFT"/>
     <meshitem src="text_line_2" srcEdge="RIGHT" dst="" dstEdge="RIGHT"/>
     <meshitem src="text_line_2" srcEdge="TOP" dst="text_line_1" dstEdge="BOTTOM"/>
-  </layout>
+    <meshitem src="text_line_2" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM"/>
+  </layout>  
+  
+  <layout name="two_lines_layout_2" type="mesh">
+    <meshitem src="text_line_1" srcEdge="LEFT" dst="" dstEdge="LEFT"/>
+    <meshitem src="text_line_1" srcEdge="RIGHT" dst="indicator_icon_1" dstEdge="LEFT" spacing="var(hb-param-margin-gene-middle-horizontal)"/>
+    <meshitem src="text_line_1" srcEdge="TOP" dst="" dstEdge="TOP"/>
+    
+    <meshitem src="indicator_icon_1" srcEdge="RIGHT" dst="indicator_icon_2" dstEdge="LEFT"/>
+    <meshitem src="indicator_icon_1" srcEdge="CENTERV" dst="text_line_1" dstEdge="CENTERV"/>
+    
+    <meshitem src="indicator_icon_2" srcEdge="RIGHT" dst="" dstEdge="RIGHT"/>
+    <meshitem src="indicator_icon_2" srcEdge="CENTERV" dst="text_line_1" dstEdge="CENTERV"/>
+    
+    <meshitem src="text_line_2" srcEdge="LEFT" dst="" dstEdge="LEFT"/>
+    <meshitem src="text_line_2" srcEdge="RIGHT" dst="" dstEdge="RIGHT"/>
+    <meshitem src="text_line_2" srcEdge="TOP" dst="text_line_1" dstEdge="BOTTOM"/>
+    <meshitem src="text_line_2" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM"/>
+  </layout>  
 
   <layout name="one_line_layout" type="mesh">
-    <meshitem src="status_icon" srcEdge="LEFT" dst="" dstEdge="LEFT"/>
-    <meshitem src="status_icon" srcEdge="CENTERV" dst="" dstEdge="CENTERV"/>
-    
-    <meshitem src="number_type_icon" srcEdge="RIGHT" dst="status_icon" dstEdge="RIGHT"/>
-    <meshitem src="number_type_icon" srcEdge="BOTTOM" dst="status_icon" dstEdge="BOTTOM"/>
-    
-    <meshitem src="ciphering_icon" srcEdge="LEFT" dst="status_icon" dstEdge="LEFT"/>
-    <meshitem src="ciphering_icon" srcEdge="TOP" dst="status_icon" dstEdge="TOP"/>    
-    
-    <meshitem src="text_line_1" srcEdge="LEFT" dst="status_icon" dstEdge="RIGHT"/>
+    <meshitem src="text_line_1" srcEdge="LEFT" dst="" dstEdge="LEFT"/>
     <meshitem src="text_line_1" srcEdge="CENTERV" dst="" dstEdge="CENTERV"/>
-    <meshitem src="text_line_1" srcEdge="RIGHT" dst="text_line_2" dstEdge="LEFT"/>
+    <meshitem src="text_line_1" srcEdge="RIGHT" dst="text_line_2" dstEdge="LEFT" spacing="var(hb-param-margin-gene-middle-horizontal)"/>
     
     <meshitem src="text_line_2" srcEdge="CENTERV" dst="" dstEdge="CENTERV"/>
     <meshitem src="text_line_2" srcEdge="RIGHT" dst="" dstEdge="RIGHT"/>
   </layout>
   
+  <layout name="one_line_layout_1" type="mesh">
+    <meshitem src="text_line_1" srcEdge="LEFT" dst="" dstEdge="LEFT"/>
+    <meshitem src="text_line_1" srcEdge="CENTERV" dst="" dstEdge="CENTERV"/>
+    <meshitem src="text_line_1" srcEdge="RIGHT" dst="text_line_2" dstEdge="LEFT" spacing="var(hb-param-margin-gene-middle-horizontal)"/>
+    
+    <meshitem src="text_line_2" srcEdge="CENTERV" dst="" dstEdge="CENTERV"/>
+    <meshitem src="text_line_2" srcEdge="RIGHT" dst="indicator_icon_1" dstEdge="LEFT"  spacing="var(hb-param-margin-gene-middle-horizontal)"/>
+    
+    <meshitem src="indicator_icon_1" srcEdge="RIGHT" dst="" dstEdge="RIGHT"/>
+    <meshitem src="indicator_icon_1" srcEdge="CENTERV" dst="text_line_1" dstEdge="CENTERV"/>        
+  </layout>  
+  
+  <layout name="one_line_layout_2" type="mesh">
+    <meshitem src="text_line_1" srcEdge="LEFT" dst="" dstEdge="LEFT"/>
+    <meshitem src="text_line_1" srcEdge="CENTERV" dst="" dstEdge="CENTERV"/>
+    <meshitem src="text_line_1" srcEdge="RIGHT" dst="text_line_2" dstEdge="LEFT" spacing="var(hb-param-margin-gene-middle-horizontal)"/>
+    
+    <meshitem src="text_line_2" srcEdge="CENTERV" dst="" dstEdge="CENTERV"/>
+    <meshitem src="text_line_2" srcEdge="RIGHT" dst="indicator_icon_1" dstEdge="LEFT"  spacing="var(hb-param-margin-gene-middle-horizontal)"/>
+    
+    <meshitem src="indicator_icon_1" srcEdge="RIGHT" dst="indicator_icon_2" dstEdge="LEFT"/>
+    <meshitem src="indicator_icon_1" srcEdge="CENTERV" dst="text_line_1" dstEdge="CENTERV"/>        
+    
+    <meshitem src="indicator_icon_2" srcEdge="RIGHT" dst="" dstEdge="RIGHT"/>
+    <meshitem src="indicator_icon_2" srcEdge="CENTERV" dst="text_line_1" dstEdge="CENTERV"/>
+    
+  </layout>  
+  
 </hbwidget>
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblecore/xml/bubbleparticipantlistbuttons.css	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,12 @@
+
+BubbleParticipantListButtons{
+    layout:default;
+}
+
+BubbleParticipantListButtons::button-1 {
+    fixed-height: 7.5un;
+}
+
+BubbleParticipantListButtons::button-2 {
+    fixed-height: 7.5un;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblecore/xml/bubbleparticipantlistbuttons.widgetml	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,30 @@
+<hbwidget version="0.1" type="bl">
+
+  <layout name="default" type="mesh">
+
+    <meshitem src="button-1" srcEdge="TOP" dst="" dstEdge="TOP"/>    
+    <meshitem src="button-1" srcEdge="LEFT" dst="" dstEdge="LEFT" spacing="-var(hb-param-margin-gene-left)"/>
+    <meshitem src="button-1" srcEdge="RIGHT" dst="button-2" dstEdge="LEFT" spacing="var(hb-param-margin-gene-middle-horizontal)"/>
+    <meshitem src="button-1" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM"/>
+    
+    <meshitem src="button-2" srcEdge="TOP" dst="" dstEdge="TOP"/>    
+    <meshitem src="button-2" srcEdge="RIGHT" dst="" dstEdge="RIGHT" spacing="var(hb-param-margin-gene-right)"/>
+    <meshitem src="button-2" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM"/>    
+    
+  </layout>
+  
+</hbwidget>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
--- a/phoneuis/bubblemanager2/bubblecore/xml/bubbleparticipantlistitem.css	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneuis/bubblemanager2/bubblecore/xml/bubbleparticipantlistitem.css	Thu Jul 22 16:33:21 2010 +0100
@@ -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;
-}
--- a/phoneuis/bubblemanager2/bubblecore/xml/bubbleparticipantlistitem.widgetml	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneuis/bubblemanager2/bubblecore/xml/bubbleparticipantlistitem.widgetml	Thu Jul 22 16:33:21 2010 +0100
@@ -1,50 +1,14 @@
 <hbwidget version="0.1" type="bl">
 
-  <layout name="collapsed" type="mesh">
-    
-    <meshitem src="icon" srcEdge="LEFT" dst="" dstEdge="LEFT"/>
-    <meshitem src="icon" srcEdge="CENTERV" dst="" dstEdge="CENTERV"/>
-    <meshitem src="icon" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" spacing="1.0un" spacer="spacer1"/>
-    <meshitem src="icon" srcEdge="TOP" dst="" dstEdge="TOP" spacing="1.0un" spacer="spacer2"/>
+  <layout name="default" type="mesh">
     
-    <meshitem src="ciphering" srcEdge="LEFT" dst="icon" dstEdge="LEFT"/>
-    <meshitem src="ciphering" srcEdge="TOP" dst="icon" dstEdge="TOP"/>
-
-    <meshitem src="text" srcEdge="LEFT" dst="icon" dstEdge="RIGHT"/>
-    <meshitem src="text" srcEdge="RIGHT" dst="expand-indi" dstEdge="LEFT"/>
-    <meshitem src="text" srcEdge="CENTERV" dst="icon" dstEdge="CENTERV"/>
+    <meshitem src="group-box" srcEdge="LEFT" dst="" dstEdge="LEFT"/>
+    <meshitem src="group-box" srcEdge="RIGHT" dst="" dstEdge="RIGHT"/>
+    <meshitem src="group-box" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM"/>
+    <meshitem src="group-box" srcEdge="TOP" dst="" dstEdge="TOP"/>
     
-    <meshitem src="expand-indi" srcEdge="RIGHT" dst="" dstEdge="RIGHT"/>
-    <meshitem src="expand-indi" srcEdge="CENTERV" dst="" dstEdge="CENTERV"/>
-
   </layout>
   
-  <layout name="expanded" type="mesh">
-    
-    <meshitem src="icon" srcEdge="LEFT" dst="" dstEdge="LEFT"/>
-    <meshitem src="icon" srcEdge="TOP" dst="" dstEdge="TOP" spacing="-1.5un"/>
-    <meshitem src="icon" srcEdge="BOTTOM" dst="button-1" dstEdge="TOP" spacing="1.0un"/>
-    
-    <meshitem src="ciphering" srcEdge="LEFT" dst="icon" dstEdge="LEFT"/>
-    <meshitem src="ciphering" srcEdge="TOP" dst="icon" dstEdge="TOP"/>
-
-    <meshitem src="text" srcEdge="LEFT" dst="icon" dstEdge="RIGHT"/>
-    <meshitem src="text" srcEdge="RIGHT" dst="expand-indi" dstEdge="LEFT"/>
-    <meshitem src="text" srcEdge="CENTERV" dst="icon" dstEdge="CENTERV"/>
-    
-    <meshitem src="expand-indi" srcEdge="RIGHT" dst="" dstEdge="RIGHT"/>
-    <meshitem src="expand-indi" srcEdge="TOP" dst="" dstEdge="TOP" spacing="-1.5un"/>
-    
-    <meshitem src="button-1" srcEdge="RIGHT" dst="" dstEdge="CENTERH" spacing="1.0un"/>
-    <meshitem src="button-1" srcEdge="LEFT" dst="" dstEdge="LEFT" spacing="-2.0un"/>
-    <meshitem src="button-1" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" spacing="2.0un"/>        
-    
-    <meshitem src="button-2" srcEdge="LEFT" dst="" dstEdge="CENTERH" spacing="-1.0un"/>
-    <meshitem src="button-2" srcEdge="RIGHT" dst="" dstEdge="RIGHT" spacing="2.0un"/>
-    <meshitem src="button-2" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" spacing="2.0un"/>        
-    
-  </layout>  
-
 </hbwidget>
 
 
--- a/phoneuis/bubblemanager2/inc/bubblemanager2.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneuis/bubblemanager2/inc/bubblemanager2.h	Thu Jul 22 16:33:21 2010 +0100
@@ -344,6 +344,7 @@
     void findNextDrawableHeader(int& index) const;
     void polishEvent();
     void releaseImageIfNotUsed(const QString& imageFileName);
+    void releaseNonCachedViews();
 
 private slots:
     void showExpanded( int bubbleId );
--- a/phoneuis/bubblemanager2/tsrc/bubbletest2/bubbletest2.pro	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneuis/bubblemanager2/tsrc/bubbletest2/bubbletest2.pro	Thu Jul 22 16:33:21 2010 +0100
@@ -19,7 +19,6 @@
 TARGET = 
 DEPENDPATH += .
 CONFIG += hb
-QT += network xml
 INCLUDEPATH += . \
     ../../inc
 win32:INCLUDEPATH += c:/hb/include/hbcore \
@@ -33,11 +32,9 @@
 }
 
 # Input
-HEADERS += bubbletestview.h \
-    bubbletester.h
+HEADERS += bubbletestview.h
 SOURCES += main.cpp \
-    bubbletestview.cpp \
-    bubbletester.cpp
+    bubbletestview.cpp
 RESOURCES += bubbletest2.qrc
 
 # Libraries
--- a/phoneuis/bubblemanager2/tsrc/bubbletest2/bubbletester.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,141 +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:  Animated icon.
-*
-*/
-
-#include <QLocalSocket>
-
-#include "bubbletester.h"
-
-
-BubbleTester::BubbleTester() : mLocalSocket(new QLocalSocket())
-{
-}
-
-BubbleTester::~BubbleTester()
-{
-    mLocalSocket->disconnectFromServer();
-    delete mLocalSocket;
-}
-
-bool BubbleTester::connectToServer()
-{
-    mLocalSocket->connectToServer("bubbletestserver");
-
-    // This logic needs to be improved
-    bool success = mLocalSocket->waitForConnected(500);
-
-    qDebug() << "Socket Connect status: " << success;
-
-    if (success) {
-        connect(mLocalSocket, SIGNAL(readyRead()), this, SLOT(readData()));
-    }
-
-    return success;
-}
-
-void BubbleTester::readData()        
-{
-    QByteArray inputByteArray = mLocalSocket->readAll();
-    QDataStream inputDataStream(inputByteArray);
-    QString textDocument;
-    inputDataStream >> textDocument;
-
-    QString errorStr;
-    int errorLine;
-    int errorColumn;
-
-    if (!mDomDocument.setContent(textDocument, true, &errorStr, &errorLine,
-                                &errorColumn)) {
-        qDebug() << "Cannot read tester data!";
-    } else {
-        emit dataChanged();
-    }
-}
-
-QList<QString> BubbleTester::bubbles()
-{
-    QDomNodeList list = mDomDocument.elementsByTagName("bubble");
-
-    QList<QString> testBubbles;
-
-    for (int i=0; i<list.count(); i++ ) {
-        QDomNode node = list.at(i);
-        if (node.isElement()) {
-            QDomElement e = node.toElement();
-            QString id = e.attribute("id");
-            testBubbles.append(id);
-        }
-    }
-
-    return testBubbles;
-}
-
-QString BubbleTester::dataField( const QString&  bubble, const QString& fieldName )
-{
-    QString text("");
-    QDomElement elem = bubbleElement(bubble);
-
-    if (!elem.isNull()) {
-        QDomNodeList list = elem.elementsByTagName(fieldName);
-
-        if (list.count()) {
-            QDomNode node = list.at(0);
-            if (node.isElement()) {
-                QDomElement e = node.toElement();
-                text = e.text();
-            }
-        }
-    }
-
-    return text;
-}
-
-QDomElement BubbleTester::bubbleElement(const QString&  bubble)
-{
-    QDomNodeList list = mDomDocument.elementsByTagName("bubble");
-
-    QDomElement elem;
-
-    for (int i=0; i<list.count(); i++ ) {
-        QDomNode node = list.at(i);
-        if (node.isElement()) {
-            QDomElement e = node.toElement();
-            QString id = e.attribute("id");
-            if (id == bubble) {
-                elem = e;
-                break;
-            }
-        }
-    }
-
-    return elem;
-}
-
-QString BubbleTester::dataField(const QString& fieldName)
-{
-    QString text("");
-    QDomNodeList list = mDomDocument.elementsByTagName(fieldName);
-
-    if (list.count()) {
-        QDomNode node = list.at(0);
-        if (node.isElement()) {
-            QDomElement e = node.toElement();
-            text = e.text();
-        }
-    }
-
-    return text;
-}
--- a/phoneuis/bubblemanager2/tsrc/bubbletest2/bubbletester.h	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +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:  Animated icon.
-*
-*/
-
-#ifndef BUBBLETESTER_H
-#define BUBBLETESTER_H
-
-#include <QObject>
-#include <QDomDocument>
-
-class QLocalSocket;
-
-class BubbleTester : public QObject
-{
-    Q_OBJECT
-
-public:
-    BubbleTester();
-    ~BubbleTester();
-
-    bool connectToServer();
-
-    QList<QString> bubbles();
-    QString dataField(const QString& fieldName);
-    QString dataField(const QString&  bubble, const QString& fieldName);
-    QDomElement bubbleElement(const QString&  bubble);
-
-signals:
-    void dataChanged();
-
-private slots:
-    void readData();
-
-private:
-    QLocalSocket* mLocalSocket;
-    QDomDocument  mDomDocument;
-};
-
-#endif // BUBBLETESTER_H
--- a/phoneuis/bubblemanager2/tsrc/bubbletest2/bubbletester/bubbledata.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,153 +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:  Animated icon.
-*
-*/
-
-#include <QFile>
-#include <QMessageBox>
-#include <QDomDocument>
-#include "bubbledata.h"
-
-BubbleData::BubbleData( QObject *parent ) : QObject(parent)
-{
-    QFile file(":/testdata.xml");
-
-    if (!file.open(QFile::ReadOnly | QFile::Text)) {
-        QMessageBox::critical((QWidget*)parent, tr("Bubble tester"),
-                              tr("Cannot read testdata.xml") );
-        return;
-    }
-
-    createDomFromFile(&file);
-}
-
-void BubbleData::createDomFromFile(QIODevice *device)
-{
-    QString errorStr;
-    int errorLine;
-    int errorColumn;
-
-    if (!mDomDocument.setContent(device, true, &errorStr, &errorLine,
-                                &errorColumn)) {
-        QMessageBox::information((QWidget*)parent(), tr("Bubble tester"),
-                                 tr("Parse error at line %1, column %2:\n%3")
-                                 .arg(errorLine)
-                                 .arg(errorColumn)
-                                 .arg(errorStr));
-    }
-}
-
-QString BubbleData::dataField( const QString&  bubble, const QString& fieldName )
-{
-    QString text("");
-    QDomElement elem = bubbleElement(bubble);
-
-    if (!elem.isNull()) {
-        QDomNodeList list = elem.elementsByTagName(fieldName);
-
-        if (list.count()) {
-            QDomNode node = list.at(0);
-            if (node.isElement()) {
-                QDomElement e = node.toElement();
-                text = e.text();
-            }
-        }
-    }
-
-    return text;
-}
-
-QDomElement BubbleData::bubbleElement(const QString&  bubble)
-{
-    QDomNodeList list = mDomDocument.elementsByTagName("bubble");
-
-    QDomElement elem;
-
-    for (int i=0; i<list.count(); i++ ) {
-        QDomNode node = list.at(i);
-        if (node.isElement()) {
-            QDomElement e = node.toElement();
-            QString id = e.attribute("id");
-            if (id == bubble) {
-                elem = e;
-                break;
-            }
-        }
-    }
-
-    return elem;
-}
-
-void BubbleData::setDataField( const QString&  bubble, const QString& fieldName, const QString& value )
-{
-    QDomElement elem = bubbleElement(bubble);
-    if (elem.isNull()) {
-        return;
-    }
-
-    QDomText domText = mDomDocument.createTextNode(value);
-    QDomElement newElem = mDomDocument.createElement(fieldName);
-    newElem.appendChild(domText);
-
-    QDomNodeList list = elem.elementsByTagName(fieldName);
-
-    if (list.count()) {
-        QDomNode node = list.at(0);
-        if (node.isElement()) {
-            QDomNode parent = node.parentNode();
-            parent.replaceChild(newElem,node);
-        }
-    }
-}
-
-QString BubbleData::dataField(const QString& fieldName)
-{
-    QString text("");
-    QDomNodeList list = mDomDocument.elementsByTagName(fieldName);
-
-    if (list.count()) {
-        QDomNode node = list.at(0);
-        if (node.isElement()) {
-            QDomElement e = node.toElement();
-            text = e.text();
-        }
-    }
-
-    return text;
-}
-
-void BubbleData::setDataField(const QString& fieldName, const QString& value)
-{
-    QDomText domText = mDomDocument.createTextNode(value);
-    QDomElement newElem = mDomDocument.createElement(fieldName);
-    newElem.appendChild(domText);
-
-    QDomNodeList list = mDomDocument.elementsByTagName(fieldName);
-
-    if (list.count()) {
-        QDomNode node = list.at(0);
-        if (node.isElement()) {
-            QDomNode parent = node.parentNode();
-            parent.replaceChild(newElem,node);
-        }
-    }
-
-}
-
-const QDomDocument& BubbleData::document() const
-{
-    return mDomDocument;
-}
-
--- a/phoneuis/bubblemanager2/tsrc/bubbletest2/bubbletester/bubbledata.h	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +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:  Animated icon.
-*
-*/
-
-#ifndef BUBBLEDATA_H
-#define BUBBLEDATA_H
-
-#include <QObject>
-#include <QDomDocument>
-
-class BubbleData : public QObject
-{
-public:
-    BubbleData( QObject *parent = 0 );
-
-    void createDomFromFile(QIODevice *device);
-
-    // generic
-    QString dataField(const QString& fieldName);
-    void setDataField(const QString& fieldName, const QString& value);
-
-    // bubble related
-    QString dataField(const QString&  bubble, const QString& fieldName);
-    void setDataField(const QString&  bubble, const QString& fieldName, const QString& value);
-
-    const QDomDocument& document() const;
-
-private:
-    QDomElement bubbleElement(const QString&  bubble);
-
-private:
-    QDomDocument mDomDocument;
-};
-
-#endif // BUBBLEDATA_H
--- a/phoneuis/bubblemanager2/tsrc/bubbletest2/bubbletester/bubbletester.pro	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +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:
-#
-#
-
-TARGET = bubbletester
-TEMPLATE = app
-QT = core \
-    gui \
-    svg \
-    network \
-    xml
-SOURCES += main.cpp \
-    mainwindow.cpp \
-    bubbledata.cpp
-HEADERS += mainwindow.h \
-    bubbledata.h
-FORMS += mainwindow.ui
-RESOURCES += bubbletester.qrc
--- a/phoneuis/bubblemanager2/tsrc/bubbletest2/bubbletester/bubbletester.qrc	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-<RCC>
-    <qresource prefix="/" >
-        <file>testdata.xml</file>
-    </qresource>
-</RCC>
--- a/phoneuis/bubblemanager2/tsrc/bubbletest2/bubbletester/main.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +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:  Animated icon.
-*
-*/
-
-#include <QtGui/QApplication>
-#include "mainwindow.h"
-
-int main(int argc, char *argv[])
-{
-    QApplication a(argc, argv);
-    MainWindow w;
-    w.show();
-    w.start();
-    return a.exec();
-}
--- a/phoneuis/bubblemanager2/tsrc/bubbletest2/bubbletester/mainwindow.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,184 +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:  Animated icon.
-*
-*/
-
-#include <QLocalServer>
-#include <QLocalSocket>
-#include <QMessageBox>
-#include <QLabel>
-#include <QStatusBar>
-#include <QDomDocument>
-
-#include "mainwindow.h"
-#include "ui_mainwindow.h"
-#include "bubbledata.h"
-
-
-MainWindow::MainWindow(QWidget *parent)
-    : QMainWindow(parent),
-      ui(new Ui::MainWindow),
-      mServer(new QLocalServer(this)),
-      mClientConnection(0),
-      mStatusLabel(new QLabel(this)),
-      mBubbleId("1")
-{
-    ui->setupUi(this);
-    statusBar()->addWidget(mStatusLabel,1);
-
-    connect( ui->comboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(bubbleChanged()) );
-    connect( ui->lineEdit, SIGNAL(editingFinished()), this, SLOT(updateName()) );
-    connect( ui->lineEdit_2, SIGNAL(editingFinished()), this, SLOT(updateNumber()) );
-    connect( ui->comboBox_2, SIGNAL(currentIndexChanged(int)), this, SLOT(updateState()) );
-    connect( ui->checkBox, SIGNAL(stateChanged(int)) , this, SLOT(updateDivert(int)) );
-    connect( ui->checkBox_2, SIGNAL(stateChanged(int)) , this, SLOT(updateMute(int)) );
-
-    mDataModel = new BubbleData(this);
-
-    initUi();
-}
-
-MainWindow::~MainWindow()
-{
-    delete ui;
-    mServer->close();
-    delete mServer;
-}
-
-
-bool MainWindow::start()
-{
-    bool success = false;
-    if (!mServer->listen("bubbletestserver")) {
-        QMessageBox::critical( this,
-                               tr("Bubble Tester"),
-                               tr("Unable to start the server: %1.").arg(mServer->errorString()));
-        return success;
-    }
-
-    mStatusLabel->setText(tr("Server running"));
-
-    connect( mServer, SIGNAL(newConnection()), this, SLOT(clientConnected()));
-    success = true;
-    return success;
-}
-
-
-void MainWindow::clientConnected()
-{
-    if (mClientConnection) {
-        return;
-    }
-
-    // get the next pending connection
-    mClientConnection = mServer->nextPendingConnection();
-
-    mStatusLabel->setText(tr("Connected"));
-
-    connect(mClientConnection, SIGNAL(disconnected()), this, SLOT(clientDisconnected()));
-}
-
-void MainWindow::clientDisconnected()
-{
-    mClientConnection = 0;
-    connect((QLocalSocket*)sender(), SIGNAL(disconnected()), (QLocalSocket*)sender(), SLOT(deleteLater()));
-    mStatusLabel->setText(tr("Disconnected"));
-}
-
-void MainWindow::sendData()
-{
-    QByteArray block;
-    QDataStream out(&block, QIODevice::WriteOnly);
-
-    out << mDataModel->document().toString();
-
-    if (mClientConnection) {
-        mClientConnection->write(block);
-    }
-}
-
-void MainWindow::initUi()
-{
-    ui->lineEdit->setText(mDataModel->dataField(mBubbleId,"name"));
-    ui->lineEdit_2->setText(mDataModel->dataField(mBubbleId,"number"));
-
-    QString state = mDataModel->dataField(mBubbleId,"state");
-    int index = ui->comboBox_2->findText(state);
-    ui->comboBox_2->setCurrentIndex(index);
-
-    QString divert = mDataModel->dataField(mBubbleId,"divert");
-    ui->checkBox->setChecked((divert=="On"));
-
-    QString mute = mDataModel->dataField("mute");
-    ui->checkBox_2->setChecked((mute=="On"));
-}
-
-void MainWindow::bubbleChanged()
-{
-    mBubbleId = ui->comboBox->currentText();
-    initUi();
-}
-
-void MainWindow::updateName()
-{
-    mDataModel->setDataField(mBubbleId,"name",ui->lineEdit->text());
-    sendData();
-}
-
-void MainWindow::updateNumber()
-{
-    mDataModel->setDataField(mBubbleId,"number",ui->lineEdit_2->text());
-    sendData();
-}
-
-void MainWindow::updateState()
-{
-    mDataModel->setDataField(mBubbleId,"state",ui->comboBox_2->currentText());
-    sendData();
-}
-
-void MainWindow::updateDivert(int state)
-{
-    if (!state) {
-        mDataModel->setDataField(mBubbleId,"divert","Off");
-    } else {
-        mDataModel->setDataField(mBubbleId,"divert","On");
-    }
-
-    sendData();
-}
-
-void MainWindow::updateMute(int state)
-{
-    if (!state) {
-        mDataModel->setDataField("mute","Off");
-    } else {
-        mDataModel->setDataField("mute","On");
-    }
-
-    sendData();
-}
-
-
-
-
-
-
-
-
-
-
-
-
--- a/phoneuis/bubblemanager2/tsrc/bubbletest2/bubbletester/mainwindow.h	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,69 +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:  Animated icon.
-*
-*/
-
-#ifndef MAINWINDOW_H
-#define MAINWINDOW_H
-
-#include <QtGui/QMainWindow>
-
-namespace Ui
-{
-    class MainWindow;
-}
-
-class QLocalServer;
-class QLocalSocket;
-class QLabel;
-class BubbleData;
-
-class MainWindow : public QMainWindow
-{
-    Q_OBJECT
-
-public:
-    MainWindow(QWidget *parent = 0);
-    ~MainWindow();
-
-    bool start();
-
-private slots:
-    void clientConnected();
-    void clientDisconnected();
-
-    void bubbleChanged();
-    void updateName();
-    void updateNumber();
-    void updateState();
-    void updateDivert(int);
-    void updateMute(int);
-
-    void sendData();
-
-private:
-    void initUi();
-
-private:
-    Ui::MainWindow *ui;
-
-    QLocalServer *mServer;
-    QLocalSocket *mClientConnection;
-    QLabel       *mStatusLabel;
-    BubbleData   *mDataModel;
-    QString      mBubbleId;
-};
-
-#endif // MAINWINDOW_H
--- a/phoneuis/bubblemanager2/tsrc/bubbletest2/bubbletester/mainwindow.ui	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,253 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>MainWindow</class>
- <widget class="QMainWindow" name="MainWindow">
-  <property name="geometry">
-   <rect>
-    <x>0</x>
-    <y>0</y>
-    <width>397</width>
-    <height>277</height>
-   </rect>
-  </property>
-  <property name="windowTitle">
-   <string>Bubble Tester</string>
-  </property>
-  <widget class="QWidget" name="centralWidget">
-   <widget class="QComboBox" name="comboBox">
-    <property name="geometry">
-     <rect>
-      <x>60</x>
-      <y>20</y>
-      <width>51</width>
-      <height>22</height>
-     </rect>
-    </property>
-    <item>
-     <property name="text">
-      <string>1</string>
-     </property>
-    </item>
-    <item>
-     <property name="text">
-      <string>2</string>
-     </property>
-    </item>
-   </widget>
-   <widget class="QLabel" name="label">
-    <property name="geometry">
-     <rect>
-      <x>10</x>
-      <y>20</y>
-      <width>41</width>
-      <height>20</height>
-     </rect>
-    </property>
-    <property name="text">
-     <string>Bubble</string>
-    </property>
-   </widget>
-   <widget class="QLabel" name="label_2">
-    <property name="geometry">
-     <rect>
-      <x>10</x>
-      <y>60</y>
-      <width>46</width>
-      <height>14</height>
-     </rect>
-    </property>
-    <property name="text">
-     <string>Name</string>
-    </property>
-   </widget>
-   <widget class="QLineEdit" name="lineEdit">
-    <property name="geometry">
-     <rect>
-      <x>60</x>
-      <y>60</y>
-      <width>301</width>
-      <height>20</height>
-     </rect>
-    </property>
-    <property name="text">
-     <string>Gloria Andersson</string>
-    </property>
-   </widget>
-   <widget class="QLabel" name="label_3">
-    <property name="geometry">
-     <rect>
-      <x>10</x>
-      <y>100</y>
-      <width>46</width>
-      <height>14</height>
-     </rect>
-    </property>
-    <property name="text">
-     <string>Number</string>
-    </property>
-   </widget>
-   <widget class="QLineEdit" name="lineEdit_2">
-    <property name="geometry">
-     <rect>
-      <x>60</x>
-      <y>100</y>
-      <width>301</width>
-      <height>20</height>
-     </rect>
-    </property>
-    <property name="text">
-     <string>+35850123456789</string>
-    </property>
-   </widget>
-   <widget class="QComboBox" name="comboBox_2">
-    <property name="geometry">
-     <rect>
-      <x>60</x>
-      <y>140</y>
-      <width>121</width>
-      <height>22</height>
-     </rect>
-    </property>
-    <item>
-     <property name="text">
-      <string>Idle</string>
-     </property>
-    </item>
-    <item>
-     <property name="text">
-      <string>Incoming</string>
-     </property>
-    </item>
-    <item>
-     <property name="text">
-      <string>Outgoing</string>
-     </property>
-    </item>
-    <item>
-     <property name="text">
-      <string>Waiting</string>
-     </property>
-    </item>
-    <item>
-     <property name="text">
-      <string>Active</string>
-     </property>
-    </item>
-    <item>
-     <property name="text">
-      <string>OnHold</string>
-     </property>
-    </item>
-    <item>
-     <property name="text">
-      <string>Disconnected</string>
-     </property>
-    </item>
-   </widget>
-   <widget class="QLabel" name="label_4">
-    <property name="geometry">
-     <rect>
-      <x>10</x>
-      <y>140</y>
-      <width>46</width>
-      <height>14</height>
-     </rect>
-    </property>
-    <property name="text">
-     <string>State</string>
-    </property>
-   </widget>
-   <widget class="QCheckBox" name="checkBox">
-    <property name="geometry">
-     <rect>
-      <x>60</x>
-      <y>220</y>
-      <width>71</width>
-      <height>19</height>
-     </rect>
-    </property>
-    <property name="text">
-     <string>Diverted</string>
-    </property>
-   </widget>
-   <widget class="QLabel" name="label_5">
-    <property name="geometry">
-     <rect>
-      <x>10</x>
-      <y>220</y>
-      <width>46</width>
-      <height>14</height>
-     </rect>
-    </property>
-    <property name="text">
-     <string>Flags</string>
-    </property>
-   </widget>
-   <widget class="QCheckBox" name="checkBox_2">
-    <property name="geometry">
-     <rect>
-      <x>140</x>
-      <y>220</y>
-      <width>71</width>
-      <height>19</height>
-     </rect>
-    </property>
-    <property name="text">
-     <string>Muted</string>
-    </property>
-   </widget>
-   <widget class="QLabel" name="label_6">
-    <property name="geometry">
-     <rect>
-      <x>10</x>
-      <y>180</y>
-      <width>46</width>
-      <height>14</height>
-     </rect>
-    </property>
-    <property name="text">
-     <string>Type</string>
-    </property>
-   </widget>
-   <widget class="QComboBox" name="comboBox_3">
-    <property name="geometry">
-     <rect>
-      <x>60</x>
-      <y>180</y>
-      <width>121</width>
-      <height>22</height>
-     </rect>
-    </property>
-    <item>
-     <property name="text">
-      <string>Mobile</string>
-     </property>
-    </item>
-    <item>
-     <property name="text">
-      <string>Work</string>
-     </property>
-    </item>
-    <item>
-     <property name="text">
-      <string>Home</string>
-     </property>
-    </item>
-   </widget>
-  </widget>
-  <widget class="QMenuBar" name="menuBar">
-   <property name="geometry">
-    <rect>
-     <x>0</x>
-     <y>0</y>
-     <width>397</width>
-     <height>19</height>
-    </rect>
-   </property>
-  </widget>
-  <widget class="QStatusBar" name="statusBar"/>
- </widget>
- <layoutdefault spacing="6" margin="11"/>
- <resources/>
- <connections/>
-</ui>
--- a/phoneuis/bubblemanager2/tsrc/bubbletest2/bubbletester/testdata.xml	Tue Jun 15 14:14:38 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE xbel>
-<xbel version="1.0">
-    <mute>Off</mute>
-    <bubble id="1">
-        <name>Elvis Pelvis</name>
-        <number>12345</number>
-        <state>Idle</state>
-        <type>Mobile</type>
-        <divert>Off</divert>
-    </bubble>
-    <bubble id="2">
-        <name>Jim Morrison</name>
-        <number>67890</number>
-        <state>Idle</state>
-        <type>Mobile</type>
-        <divert>Off</divert>
-    </bubble>
-</xbel>
-
--- a/phoneuis/bubblemanager2/tsrc/bubbletest2/bubbletestview.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneuis/bubblemanager2/tsrc/bubbletest2/bubbletestview.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -22,9 +22,8 @@
 #include <bubblemanager2.h>
 #include <hbmenu.h>
 #include <hbmainwindow.h>
-
 #include "bubbletestview.h"
-#include "bubbletester.h"
+#include <hbeffect.h>
 
 BubbleTestView::BubbleTestView(HbMainWindow& window, QGraphicsItem *parent) :
     HbView (parent), mMainWindow(window), mMuted(0), mConfBubbleId(-1),
@@ -50,33 +49,13 @@
     // create actions for push buttons
     createBubbleActions();
 
-    // tester
-    mBubbleTester = new BubbleTester();
-    connect(mBubbleTester,SIGNAL(dataChanged()),this,SLOT(handleTesterDataChanged()));
-    mBubbleTester->connectToServer();
-
-    // create state map
-    mStateMap.insert("Idle", BubbleManagerIF::None );
-    mStateMap.insert("Incoming", BubbleManagerIF::Incoming );
-    mStateMap.insert("Active", BubbleManagerIF::Active );
-    mStateMap.insert("Disconnected", BubbleManagerIF::Disconnected );
-    mStateMap.insert("Outgoing", BubbleManagerIF::Outgoing );
-    mStateMap.insert("Waiting", BubbleManagerIF::Waiting );
-    mStateMap.insert("OnHold", BubbleManagerIF::OnHold );
-    // create label map
-    mLabelMap.insert("Idle", "" );
-    mLabelMap.insert("Incoming", "calling" );
-    mLabelMap.insert("Active", "" );
-    mLabelMap.insert("Disconnected", "disconnected" );
-    mLabelMap.insert("Outgoing", "Calling" );
-    mLabelMap.insert("Waiting", "waiting" );
-    mLabelMap.insert("OnHold", "on hold" );
+    // disable toolbar effects
+    HbEffect::disable(toolBar());
 }
 
 BubbleTestView::~BubbleTestView()
 {
     toolBar()->clearActions();
-    delete mBubbleTester;
 }
 
 void BubbleTestView::keyPressEvent(QKeyEvent *event)
@@ -338,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);
@@ -476,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");
@@ -500,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);
@@ -528,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 );
@@ -541,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 );
         }
@@ -559,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" );
         }
@@ -606,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<TestCall> 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;
     }
@@ -648,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;
         }
@@ -765,7 +696,17 @@
 void BubbleTestView::setMuted()
 {
     mMuted = !mMuted;
-    updateToolBarActions();
+    int bubble = bubbleManager().expandedBubble();
+    QListIterator<TestCall> 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
 }
@@ -797,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();
@@ -870,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);
@@ -919,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);
@@ -1047,13 +1000,13 @@
     callIndexByBubbleId(mConfBubbleId, i);
     BubbleManagerIF::PhoneCallState confState =
         (BubbleManagerIF::PhoneCallState)mCalls[i].callState;
-    qDebug() << "toggleConferenceHoldDelayed state:" << confState;
+    // qDebug() << "toggleConferenceHoldDelayed state:" << confState;
 
     QListIterator<TestCall> 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);
@@ -1068,52 +1021,3 @@
     }
 }
 
-void BubbleTestView::connectToTester()
-{
-    mBubbleTester->connectToServer();
-}
-
-void BubbleTestView::handleTesterDataChanged()
-{
-    bubbleManager().startChanges();
-
-    QString mute = mBubbleTester->dataField("mute");
-    bubbleManager().setPhoneMuted( mute == "On" );
-
-    QList<QString> testBubbles = mBubbleTester->bubbles();
-
-    foreach (QString bubbleId, testBubbles) {
-        QString state = mBubbleTester->dataField(bubbleId,"state");
-
-        // create or remove bubble
-        if ( mTestBubbleIds.contains(bubbleId) && state=="Idle" ) {
-            bubbleManager().removeCallHeader(mTestBubbleIds.value(bubbleId));
-            mTestBubbleIds.remove(bubbleId);
-        } else if (!mTestBubbleIds.contains(bubbleId) && state!="Idle" ) {
-            int id = bubbleManager().createCallHeader();
-            mTestBubbleIds.insert(bubbleId,id);
-        }
-
-        // set data
-        if (mTestBubbleIds.contains(bubbleId)) {
-            int id = mTestBubbleIds.value(bubbleId);
-
-            QString name = mBubbleTester->dataField(bubbleId,"name");
-            QString number = mBubbleTester->dataField(bubbleId,"number");
-            QString divert = mBubbleTester->dataField(bubbleId,"divert");
-
-            bubbleManager().setState(id, mStateMap.value(state));
-            bubbleManager().setCli(id, name, Qt::ElideRight);
-            bubbleManager().setSecondaryCli(id, number );
-            bubbleManager().setLabel(id, mLabelMap.value(state), Qt::ElideRight);
-
-            bubbleManager().setCallFlag(id, BubbleManager::Diverted, (divert == "On") );
-
-            setCallObject(id,":resources/contactpic.jpg");
-
-            setBubbleActions(id, mStateMap.value(state) );
-        }
-    }
-
-    bubbleManager().endChanges();
-}
--- a/phoneuis/bubblemanager2/tsrc/bubbletest2/bubbletestview.h	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneuis/bubblemanager2/tsrc/bubbletest2/bubbletestview.h	Thu Jul 22 16:33:21 2010 +0100
@@ -25,7 +25,6 @@
 class HbMainWindow;
 class QSignalMapper;
 class HbToolBar;
-class BubbleTester;
 class BubbleManager;
 
 class BubbleTestView : public HbView
@@ -60,9 +59,6 @@
     void switchOrientation();
     void handleOrientationChange(Qt::Orientation orientation);
 
-    void connectToTester();
-    void handleTesterDataChanged();
-
 private:
     void keyPressEvent(QKeyEvent *event);
     
@@ -89,7 +85,7 @@
     BubbleManager    *mBubbleManager;
     QList<HbAction*>  mBubbleActions;
     
-    // settings
+    // Settings
     HbAction          *mCallDivert;
     HbAction          *mCipheringOff;
     HbAction          *mCallTimer;
@@ -140,11 +136,7 @@
     bool mMuted;
 
     HbAction         *mConnectTester;
-    BubbleTester     *mBubbleTester;
     QMap<QString, int> mTestBubbleIds;
-    QMap<QString, BubbleManagerIF::PhoneCallState> mStateMap;
-    QMap<QString, QString> mLabelMap;
-    QString mPhoneNumber;
     int mConfBubbleId;
     bool mProvideJoin;
 };
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/tsrc/unit/loctest/loctest.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,254 @@
+/*!
+* 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: Test cases to measure localisation metrics.
+*
+*/
+
+#include <QtGui>
+#include <QtTest/QtTest>
+
+#include <hbapplication.h>
+#include <hbmainwindow.h>
+#include <hbaction.h>
+#include <hbtoolbar.h>
+#include <hbview.h>
+#include <private/hbtextmeasurementutility_p.h> // hb "configure --developer" required
+#include <hbdeviceprofile.h>
+
+#include "bubbletest.h"
+#include "bubblemanager2.h"
+
+const int WAIT_TIME = 1000;
+
+class LocTest : public QObject
+{
+    Q_OBJECT
+
+private slots:
+    void initTestCase();
+    void cleanupTestCase();
+
+    void testPortraitStrings();
+
+    void changeOrientation();
+
+    void testLandscapeStrings();
+
+private:
+    void testLabel(int bubbleId, const char *id);
+    void testCli(int bubbleId, const char *id);
+
+private:
+    HbMainWindow*  mainWindow;
+    BubbleManager* bubbleManager; // widget under test
+    HbAction*      toolbarAction;
+    HbView*        view; // not owned
+};
+
+void LocTest::initTestCase()
+{
+    mainWindow = new HbMainWindow;
+
+    bubbleManager = new BubbleManager();
+    connect(mainWindow,SIGNAL(orientationChanged(Qt::Orientation)),
+            bubbleManager,SLOT(handleOrientationChange(Qt::Orientation)));
+
+    view = mainWindow->addView( bubbleManager );
+
+    HbToolBar *toolBar = new HbToolBar();
+    toolbarAction = new HbAction(this);
+    toolBar->addAction( toolbarAction );
+    toolBar->addAction( toolbarAction );
+    mainWindow->currentView()->setToolBar(toolBar);
+
+    mainWindow->show();
+    QTest::qWait( 3000 );
+}
+
+void LocTest::cleanupTestCase()
+{
+    delete mainWindow;
+    delete toolbarAction;
+}
+
+void LocTest::testPortraitStrings()
+{
+    view->setTitle( "Measuring portrait" );
+
+    // In portrait all text fields have same width, only font
+    // is different between label and cli field.
+
+    // create test bubble
+    bubbleManager->startChanges();
+    int bubbleId = bubbleManager->createCallHeader();
+    bubbleManager->setState( bubbleId, BubbleManager::Incoming );
+    HbAction action1("Answer", this);
+    action1.setSoftKeyRole(QAction::PositiveSoftKey);
+    bubbleManager->addAction( bubbleId, &action1 );
+    HbAction action2("Reject", this);
+    action2.setSoftKeyRole(QAction::NegativeSoftKey);
+    bubbleManager->addAction( bubbleId, &action2 );
+    bubbleManager->setCallObjectFromTheme(bubbleId);
+    bubbleManager->endChanges();
+
+    QTest::qWait( WAIT_TIME );
+
+    // measure label texts
+    testLabel(bubbleId,"txt_phone_other_calling");
+
+    testLabel(bubbleId,"txt_phone_other_incoming_call");
+
+    testLabel(bubbleId,"txt_phone_other_waiting");
+
+    testLabel(bubbleId,"txt_phone_other_on_hold");
+
+    testLabel(bubbleId,"txt_phone_other_disconnected");
+
+    testLabel(bubbleId,"txt_phone_other_attempting");
+
+    // measure cli texts
+    testCli(bubbleId,"txt_phone_other_conference_call");
+
+    testCli(bubbleId,"txt_phone_other_unknown_number");
+
+    testCli(bubbleId,"txt_phone_other_remote_sim");
+
+    testCli(bubbleId,"txt_phone_other_private_number");
+
+    testCli(bubbleId,"txt_phone_other_emergency_call");
+
+    // write results
+    QTest::qWait( WAIT_TIME );
+    HbDeviceProfile profile = HbDeviceProfile::profile(mainWindow);
+    QFileInfo info(QCoreApplication::applicationFilePath());
+    HbTextMeasurementUtility* utility = HbTextMeasurementUtility::instance();
+    utility->writeReport(profile, info.baseName());
+    utility->reset();
+
+    QTest::qWait( WAIT_TIME );
+    bubbleManager->startChanges();
+    bubbleManager->removeCallHeader( bubbleId );
+    bubbleManager->endChanges();
+    QTest::qWait( WAIT_TIME );
+}
+
+void LocTest::changeOrientation()
+{
+    view->setTitle( "Changing orientation" );
+    mainWindow->setOrientation(Qt::Horizontal);
+    mainWindow->resize(640,360);
+    QTest::qWait(3000);
+}
+
+void LocTest::testLandscapeStrings()
+{
+    view->setTitle( "Measuring landscape" );
+
+    // In landscape text field width depends on call situation,
+    // measure according to most narrow case.
+
+    // create test bubble
+    bubbleManager->startChanges();
+    int bubbleId = bubbleManager->createCallHeader();
+    bubbleManager->setState( bubbleId, BubbleManager::OnHold );
+    HbAction action1("End call", this);
+    action1.setSoftKeyRole(QAction::PositiveSoftKey);
+    bubbleManager->addAction( bubbleId, &action1 );
+    bubbleManager->setCallObjectFromTheme(bubbleId);
+    bubbleManager->endChanges();
+
+
+    // only in single call texts
+    testLabel(bubbleId,"txt_phone_other_incoming_call");
+
+    testLabel(bubbleId,"txt_phone_other_attempting");
+
+    testCli(bubbleId,"txt_phone_other_emergency_call");
+
+    // multicall
+    bubbleManager->startChanges();
+    int bubbleId2 = bubbleManager->createCallHeader();
+    bubbleManager->setState( bubbleId2, BubbleManager::OnHold );
+    int bubbleId3 = bubbleManager->createCallHeader();
+    bubbleManager->setState( bubbleId3, BubbleManager::Waiting );
+    HbAction action2("Replace", this);
+    action2.setSoftKeyRole(QAction::PositiveSoftKey);
+    bubbleManager->addAction( bubbleId3, &action1 );
+    bubbleManager->setCallObjectFromTheme(bubbleId3);
+    bubbleManager->endChanges();
+
+    // measure label texts
+    testLabel(bubbleId2,"txt_phone_other_calling");
+
+    testLabel(bubbleId2,"txt_phone_other_waiting");
+
+    testLabel(bubbleId2,"txt_phone_other_on_hold");
+
+    testLabel(bubbleId2,"txt_phone_other_disconnected");
+
+    // measure cli texts
+    testCli(bubbleId2,"txt_phone_other_conference_call");
+
+    testCli(bubbleId3,"txt_phone_other_unknown_number");
+
+    testCli(bubbleId3,"txt_phone_other_remote_sim");
+
+    testCli(bubbleId3,"txt_phone_other_private_number");
+
+    // write results
+    QTest::qWait( WAIT_TIME );
+    HbDeviceProfile profile = HbDeviceProfile::profile(mainWindow);
+    QFileInfo info(QCoreApplication::applicationFilePath());
+    HbTextMeasurementUtility* utility = HbTextMeasurementUtility::instance();
+    utility->writeReport(profile, info.baseName());
+    utility->reset();
+
+    QTest::qWait( WAIT_TIME );
+    bubbleManager->startChanges();
+    bubbleManager->removeCallHeader( bubbleId );
+    bubbleManager->removeCallHeader( bubbleId2 );
+    bubbleManager->removeCallHeader( bubbleId3 );
+    bubbleManager->endChanges();
+    QTest::qWait( WAIT_TIME );
+}
+
+void LocTest::testLabel(int bubbleId, const char *id)
+{
+    HbTextMeasurementUtility* utility = HbTextMeasurementUtility::instance();
+    bubbleManager->startChanges();
+    bubbleManager->setLabel( bubbleId, hbTrId(id));
+    bubbleManager->endChanges();
+    utility->measureItems(100);
+    QTest::qWait( WAIT_TIME );
+    bubbleManager->startChanges();
+    bubbleManager->setLabel( bubbleId, "");
+    bubbleManager->endChanges();
+}
+
+void LocTest::testCli(int bubbleId, const char *id)
+{
+    HbTextMeasurementUtility* utility = HbTextMeasurementUtility::instance();
+    bubbleManager->startChanges();
+    bubbleManager->setCli( bubbleId, hbTrId(id), Qt::ElideRight);
+    bubbleManager->endChanges();
+    utility->measureItems(100);
+    QTest::qWait( WAIT_TIME );
+    bubbleManager->startChanges();
+    bubbleManager->setCli( bubbleId, "", Qt::ElideRight);
+    bubbleManager->endChanges();
+}
+
+BUBBLE_TEST_MAIN(LocTest)
+#include "loctest.moc"
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/tsrc/unit/loctest/loctest.pro	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,35 @@
+#
+# 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 =
+INCLUDEPATH += . ../../../inc  ../shared
+
+CONFIG += hb qtestlib
+
+symbian {
+    INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
+} else:win32 {
+    DESTDIR = ./
+}
+
+#
+SOURCES += loctest.cpp
+
+# 
+unix:!symbian: LIBS += -L../../../bubblecore
+LIBS += -lbubblemanager2
--- a/phoneuis/bubblemanager2/tsrc/unit/mt_bubblemanager2/mt_bubblemanager2.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneuis/bubblemanager2/tsrc/unit/mt_bubblemanager2/mt_bubblemanager2.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -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 );
 
--- a/phoneuis/bubblemanager2/tsrc/unit/runall.cmd	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneuis/bubblemanager2/tsrc/unit/runall.cmd	Thu Jul 22 16:33:21 2010 +0100
@@ -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
 )
 
--- a/phoneuis/bubblemanager2/tsrc/unit/unit.pro	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneuis/bubblemanager2/tsrc/unit/unit.pro	Thu Jul 22 16:33:21 2010 +0100
@@ -26,4 +26,5 @@
 SUBDIRS += ut_bubbleimagewidget
 SUBDIRS += ut_bubbleparticipantlistitem
 SUBDIRS += ut_bubbleeffecthandler
+SUBDIRS += ut_bubblebutton
 SUBDIRS += mt_bubblemanager2
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/tsrc/unit/ut_bubblebutton/resources/qtg_mono_call.svg	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
+<svg baseProfile="tiny" height="30" viewBox="0 0 30 30" width="30" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<rect fill="none" height="30" width="30"/>
+<path d="M28.58,7.523l-7.359,4.248c-0.364,0.152-0.771,0.057-0.953-0.256l-1.277-2.142c-0.002,0.002-0.006,0.007-0.007,0.008-0.001-0.001,0-0.003-0.001-0.004-1.119,0.582-3.617,2.223-5.187,3.79-1.632,1.635-3.149,3.394-4.417,5.576,0,0-0.006,0.008-0.008,0.01,0.009,0.002,0.018,0.002,0.027,0.003l2.725,1.743c0.344,0.222,0.412,0.706,0.158,1.078l-4.794,7.05c-0.254,0.37-0.736,0.491-1.081,0.268,0,0-0.298-0.194-1.021-0.83h-0.003c-0.394-0.347-0.411-0.476-0.785-0.925-0.319-0.385-0.573-0.765-0.783-1.114-0.001-0.001-0.004,0-0.005-0.002-0.043-0.071-0.081-0.139-0.119-0.207-0.005-0.009-0.01-0.018-0.015-0.024-0.391-0.698-0.56-1.211-0.56-1.211-0.178-0.688-0.252-3.057,0.563-5.205,0.52-1.364,3.24-5.672,6.42-8.854,3.181-3.182,8.125-6.349,10.3-7.005,2.176-0.656,3.903-0.556,4.417-0.374,0,0,1.326,0.434,2.53,1.536,0.401,0.367,0.439,0.382,0.751,0.765,0.002,0.003,0,0.006,0.002,0.008-0.002-0.002-0.002-0.004-0.004-0.005,0.615,0.757,0.818,1.062,0.818,1.062,0.19,0.327,0.04,0.787-0.34,1.006z"/>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/tsrc/unit/ut_bubblebutton/ut_bubblebutton.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -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 <QtGui>
+#include <QtTest/QtTest>
+
+#include <hbapplication.h>
+#include <hbwidget.h>
+#include <hbframeitem.h>
+#include <hbframedrawer.h>
+#include <hbcolorscheme.h>
+#include <hbiconitem.h>
+
+#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<HbFrameItem*>(
+            static_cast<HbWidget*>(mButton)->primitive("background"));
+    QVERIFY(frame);
+
+    HbIconItem* icon =
+        qgraphicsitem_cast<HbIconItem*>(
+            static_cast<HbWidget*>(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"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/tsrc/unit/ut_bubblebutton/ut_bubblebutton.pro	Thu Jul 22 16:33:21 2010 +0100
@@ -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
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/tsrc/unit/ut_bubblebutton/ut_bubblebutton.qrc	Thu Jul 22 16:33:21 2010 +0100
@@ -0,0 +1,5 @@
+<RCC>
+    <qresource prefix="/" >
+        <file>resources/qtg_mono_call.svg</file>
+    </qresource>
+</RCC>
--- a/phoneuis/bubblemanager2/tsrc/unit/ut_bubblecontainerwidget/ut_bubblecontainerwidget.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneuis/bubblemanager2/tsrc/unit/ut_bubblecontainerwidget/ut_bubblecontainerwidget.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -24,10 +24,21 @@
 #include <hbmainwindow.h>
 #include <hbinstance.h>
 #include <hbstyle.h>
+#include <hbframeitem.h>
 
 #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<HbFrameItem*>(
+            static_cast<HbWidget*>(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)
--- a/phoneuis/bubblemanager2/tsrc/unit/ut_bubbleeffecthandler/ut_bubbleeffecthandler.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneuis/bubblemanager2/tsrc/unit/ut_bubbleeffecthandler/ut_bubbleeffecthandler.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -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"
--- a/phoneuis/bubblemanager2/tsrc/unit/ut_bubbleheadingwidget/resources/bubbleheadingwidget.css	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneuis/bubblemanager2/tsrc/unit/ut_bubbleheadingwidget/resources/bubbleheadingwidget.css	Thu Jul 22 16:33:21 2010 +0100
@@ -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);
 }
--- a/phoneuis/bubblemanager2/tsrc/unit/ut_bubbleheadingwidget/resources/bubbleheadingwidget.widgetml	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneuis/bubblemanager2/tsrc/unit/ut_bubbleheadingwidget/resources/bubbleheadingwidget.widgetml	Thu Jul 22 16:33:21 2010 +0100
@@ -1,63 +1,136 @@
 <hbwidget version="0.1" type="be">  
   <layout name="three_lines_layout" type="mesh">
-    <meshitem src="status_icon" srcEdge="LEFT" dst="" dstEdge="LEFT"/>
-    <meshitem src="status_icon" srcEdge="TOP" dst="" dstEdge="TOP"/>
-    
-    <meshitem src="number_type_icon" srcEdge="RIGHT" dst="status_icon" dstEdge="RIGHT"/>
-    <meshitem src="number_type_icon" srcEdge="BOTTOM" dst="status_icon" dstEdge="BOTTOM"/>
-    
-    <meshitem src="ciphering_icon" srcEdge="LEFT" dst="status_icon" dstEdge="LEFT"/>
-    <meshitem src="ciphering_icon" srcEdge="TOP" dst="status_icon" dstEdge="TOP"/>    
-    
-    <meshitem src="text_line_1" srcEdge="LEFT" dst="status_icon" dstEdge="RIGHT"/>
+    <meshitem src="text_line_1" srcEdge="LEFT" dst="" dstEdge="LEFT"/>
     <meshitem src="text_line_1" srcEdge="RIGHT" dst="" dstEdge="RIGHT"/>
     <meshitem src="text_line_1" srcEdge="TOP" dst="" dstEdge="TOP"/>
     
     <meshitem src="text_line_2" srcEdge="TOP" dst="text_line_1" dstEdge="BOTTOM"/>
-    <meshitem src="text_line_2" srcEdge="LEFT" dst="status_icon" dstEdge="RIGHT"/>
+    <meshitem src="text_line_2" srcEdge="LEFT" dst="" dstEdge="LEFT"/>
+    <meshitem src="text_line_2" srcEdge="RIGHT" dst="" dstEdge="RIGHT"/>
+    
+    <meshitem src="text_line_3" srcEdge="TOP" dst="text_line_2" dstEdge="BOTTOM"/>
+    <meshitem src="text_line_3" srcEdge="LEFT" dst="" dstEdge="LEFT"/>
+    <meshitem src="text_line_3" srcEdge="RIGHT" dst="" dstEdge="RIGHT"/>
+    <meshitem src="text_line_3" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM"/>
+  </layout>
+  
+  <layout name="three_lines_layout_1" type="mesh">
+    <meshitem src="text_line_1" srcEdge="LEFT" dst="" dstEdge="LEFT"/>
+    <meshitem src="text_line_1" srcEdge="RIGHT" dst="indicator_icon_1" dstEdge="LEFT" spacing="var(hb-param-margin-gene-middle-horizontal)"/>
+    <meshitem src="text_line_1" srcEdge="TOP" dst="" dstEdge="TOP"/>
+    
+    <meshitem src="indicator_icon_1" srcEdge="RIGHT" dst="" dstEdge="RIGHT"/>
+    <meshitem src="indicator_icon_1" srcEdge="CENTERV" dst="text_line_1" dstEdge="CENTERV"/>
+    
+    <meshitem src="text_line_2" srcEdge="TOP" dst="text_line_1" dstEdge="BOTTOM"/>
+    <meshitem src="text_line_2" srcEdge="LEFT" dst="" dstEdge="LEFT"/>
+    <meshitem src="text_line_2" srcEdge="RIGHT" dst="" dstEdge="RIGHT"/>
+    
+    <meshitem src="text_line_3" srcEdge="TOP" dst="text_line_2" dstEdge="BOTTOM"/>
+    <meshitem src="text_line_3" srcEdge="LEFT" dst="" dstEdge="LEFT"/>
+    <meshitem src="text_line_3" srcEdge="RIGHT" dst="" dstEdge="RIGHT"/>
+    <meshitem src="text_line_3" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM"/>
+  </layout>  
+  
+  <layout name="three_lines_layout_2" type="mesh">
+    <meshitem src="text_line_1" srcEdge="LEFT" dst="" dstEdge="LEFT"/>
+    <meshitem src="text_line_1" srcEdge="RIGHT" dst="indicator_icon_1" dstEdge="LEFT" spacing="var(hb-param-margin-gene-middle-horizontal)"/>
+    <meshitem src="text_line_1" srcEdge="TOP" dst="" dstEdge="TOP"/>
+    
+    <meshitem src="indicator_icon_1" srcEdge="RIGHT" dst="indicator_icon_2" dstEdge="LEFT"/>
+    <meshitem src="indicator_icon_1" srcEdge="CENTERV" dst="text_line_1" dstEdge="CENTERV"/>
+    
+    <meshitem src="indicator_icon_2" srcEdge="RIGHT" dst="" dstEdge="RIGHT"/>
+    <meshitem src="indicator_icon_2" srcEdge="CENTERV" dst="text_line_1" dstEdge="CENTERV"/>    
+    
+    <meshitem src="text_line_2" srcEdge="TOP" dst="text_line_1" dstEdge="BOTTOM"/>
+    <meshitem src="text_line_2" srcEdge="LEFT" dst="" dstEdge="LEFT"/>
     <meshitem src="text_line_2" srcEdge="RIGHT" dst="" dstEdge="RIGHT"/>
     
     <meshitem src="text_line_3" srcEdge="TOP" dst="text_line_2" dstEdge="BOTTOM"/>
-    <meshitem src="text_line_3" srcEdge="LEFT" dst="status_icon" dstEdge="RIGHT"/>
+    <meshitem src="text_line_3" srcEdge="LEFT" dst="" dstEdge="LEFT"/>
     <meshitem src="text_line_3" srcEdge="RIGHT" dst="" dstEdge="RIGHT"/>
-  </layout>
+    <meshitem src="text_line_3" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM"/>
+  </layout>  
 
   <layout name="two_lines_layout" type="mesh">
-    <meshitem src="status_icon" srcEdge="LEFT" dst="" dstEdge="LEFT"/>
-    <meshitem src="status_icon" srcEdge="TOP" dst="" dstEdge="TOP"/>
-    
-    <meshitem src="number_type_icon" srcEdge="RIGHT" dst="status_icon" dstEdge="RIGHT"/>
-    <meshitem src="number_type_icon" srcEdge="BOTTOM" dst="status_icon" dstEdge="BOTTOM"/>
-
-    <meshitem src="ciphering_icon" srcEdge="LEFT" dst="status_icon" dstEdge="LEFT"/>
-    <meshitem src="ciphering_icon" srcEdge="TOP" dst="status_icon" dstEdge="TOP"/>    
-    
-    <meshitem src="text_line_1" srcEdge="LEFT" dst="status_icon" dstEdge="RIGHT"/>
+    <meshitem src="text_line_1" srcEdge="LEFT" dst="" dstEdge="LEFT"/>
     <meshitem src="text_line_1" srcEdge="RIGHT" dst="" dstEdge="RIGHT"/>
     <meshitem src="text_line_1" srcEdge="TOP" dst="" dstEdge="TOP"/>
     
-    <meshitem src="text_line_2" srcEdge="LEFT" dst="status_icon" dstEdge="RIGHT"/>
+    <meshitem src="text_line_2" srcEdge="LEFT" dst="" dstEdge="LEFT"/>
+    <meshitem src="text_line_2" srcEdge="RIGHT" dst="" dstEdge="RIGHT"/>
+    <meshitem src="text_line_2" srcEdge="TOP" dst="text_line_1" dstEdge="BOTTOM"/>
+    <meshitem src="text_line_2" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM"/>
+  </layout>
+  
+  <layout name="two_lines_layout_1" type="mesh">
+    <meshitem src="text_line_1" srcEdge="LEFT" dst="" dstEdge="LEFT"/>
+    <meshitem src="text_line_1" srcEdge="RIGHT" dst="indicator_icon_1" dstEdge="LEFT" spacing="var(hb-param-margin-gene-middle-horizontal)"/>
+    <meshitem src="text_line_1" srcEdge="TOP" dst="" dstEdge="TOP"/>
+    
+    <meshitem src="indicator_icon_1" srcEdge="RIGHT" dst="" dstEdge="RIGHT"/>
+    <meshitem src="indicator_icon_1" srcEdge="CENTERV" dst="text_line_1" dstEdge="CENTERV"/>
+    
+    <meshitem src="text_line_2" srcEdge="LEFT" dst="" dstEdge="LEFT"/>
     <meshitem src="text_line_2" srcEdge="RIGHT" dst="" dstEdge="RIGHT"/>
     <meshitem src="text_line_2" srcEdge="TOP" dst="text_line_1" dstEdge="BOTTOM"/>
-  </layout>
+    <meshitem src="text_line_2" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM"/>
+  </layout>  
+  
+  <layout name="two_lines_layout_2" type="mesh">
+    <meshitem src="text_line_1" srcEdge="LEFT" dst="" dstEdge="LEFT"/>
+    <meshitem src="text_line_1" srcEdge="RIGHT" dst="indicator_icon_1" dstEdge="LEFT" spacing="var(hb-param-margin-gene-middle-horizontal)"/>
+    <meshitem src="text_line_1" srcEdge="TOP" dst="" dstEdge="TOP"/>
+    
+    <meshitem src="indicator_icon_1" srcEdge="RIGHT" dst="indicator_icon_2" dstEdge="LEFT"/>
+    <meshitem src="indicator_icon_1" srcEdge="CENTERV" dst="text_line_1" dstEdge="CENTERV"/>
+    
+    <meshitem src="indicator_icon_2" srcEdge="RIGHT" dst="" dstEdge="RIGHT"/>
+    <meshitem src="indicator_icon_2" srcEdge="CENTERV" dst="text_line_1" dstEdge="CENTERV"/>
+    
+    <meshitem src="text_line_2" srcEdge="LEFT" dst="" dstEdge="LEFT"/>
+    <meshitem src="text_line_2" srcEdge="RIGHT" dst="" dstEdge="RIGHT"/>
+    <meshitem src="text_line_2" srcEdge="TOP" dst="text_line_1" dstEdge="BOTTOM"/>
+    <meshitem src="text_line_2" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM"/>
+  </layout>  
 
   <layout name="one_line_layout" type="mesh">
-    <meshitem src="status_icon" srcEdge="LEFT" dst="" dstEdge="LEFT"/>
-    <meshitem src="status_icon" srcEdge="CENTERV" dst="" dstEdge="CENTERV"/>
-    
-    <meshitem src="number_type_icon" srcEdge="RIGHT" dst="status_icon" dstEdge="RIGHT"/>
-    <meshitem src="number_type_icon" srcEdge="BOTTOM" dst="status_icon" dstEdge="BOTTOM"/>
-    
-    <meshitem src="ciphering_icon" srcEdge="LEFT" dst="status_icon" dstEdge="LEFT"/>
-    <meshitem src="ciphering_icon" srcEdge="TOP" dst="status_icon" dstEdge="TOP"/>    
-    
-    <meshitem src="text_line_1" srcEdge="LEFT" dst="status_icon" dstEdge="RIGHT"/>
+    <meshitem src="text_line_1" srcEdge="LEFT" dst="" dstEdge="LEFT"/>
     <meshitem src="text_line_1" srcEdge="CENTERV" dst="" dstEdge="CENTERV"/>
-    <meshitem src="text_line_1" srcEdge="RIGHT" dst="text_line_2" dstEdge="LEFT"/>
+    <meshitem src="text_line_1" srcEdge="RIGHT" dst="text_line_2" dstEdge="LEFT" spacing="var(hb-param-margin-gene-middle-horizontal)"/>
     
     <meshitem src="text_line_2" srcEdge="CENTERV" dst="" dstEdge="CENTERV"/>
     <meshitem src="text_line_2" srcEdge="RIGHT" dst="" dstEdge="RIGHT"/>
   </layout>
   
+  <layout name="one_line_layout_1" type="mesh">
+    <meshitem src="text_line_1" srcEdge="LEFT" dst="" dstEdge="LEFT"/>
+    <meshitem src="text_line_1" srcEdge="CENTERV" dst="" dstEdge="CENTERV"/>
+    <meshitem src="text_line_1" srcEdge="RIGHT" dst="text_line_2" dstEdge="LEFT" spacing="var(hb-param-margin-gene-middle-horizontal)"/>
+    
+    <meshitem src="text_line_2" srcEdge="CENTERV" dst="" dstEdge="CENTERV"/>
+    <meshitem src="text_line_2" srcEdge="RIGHT" dst="indicator_icon_1" dstEdge="LEFT"  spacing="var(hb-param-margin-gene-middle-horizontal)"/>
+    
+    <meshitem src="indicator_icon_1" srcEdge="RIGHT" dst="" dstEdge="RIGHT"/>
+    <meshitem src="indicator_icon_1" srcEdge="CENTERV" dst="text_line_1" dstEdge="CENTERV"/>        
+  </layout>  
+  
+  <layout name="one_line_layout_2" type="mesh">
+    <meshitem src="text_line_1" srcEdge="LEFT" dst="" dstEdge="LEFT"/>
+    <meshitem src="text_line_1" srcEdge="CENTERV" dst="" dstEdge="CENTERV"/>
+    <meshitem src="text_line_1" srcEdge="RIGHT" dst="text_line_2" dstEdge="LEFT" spacing="var(hb-param-margin-gene-middle-horizontal)"/>
+    
+    <meshitem src="text_line_2" srcEdge="CENTERV" dst="" dstEdge="CENTERV"/>
+    <meshitem src="text_line_2" srcEdge="RIGHT" dst="indicator_icon_1" dstEdge="LEFT"  spacing="var(hb-param-margin-gene-middle-horizontal)"/>
+    
+    <meshitem src="indicator_icon_1" srcEdge="RIGHT" dst="indicator_icon_2" dstEdge="LEFT"/>
+    <meshitem src="indicator_icon_1" srcEdge="CENTERV" dst="text_line_1" dstEdge="CENTERV"/>        
+    
+    <meshitem src="indicator_icon_2" srcEdge="RIGHT" dst="" dstEdge="RIGHT"/>
+    <meshitem src="indicator_icon_2" srcEdge="CENTERV" dst="text_line_1" dstEdge="CENTERV"/>
+    
+  </layout>  
+  
 </hbwidget>
 
--- a/phoneuis/bubblemanager2/tsrc/unit/ut_bubbleheadingwidget/ut_bubbleheadingwidget.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneuis/bubblemanager2/tsrc/unit/ut_bubbleheadingwidget/ut_bubbleheadingwidget.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -24,6 +24,8 @@
 #include <hbmainwindow.h>
 #include <hbinstance.h>
 #include <hbstyle.h>
+#include <hbtextitem.h>
+#include <hbiconitem.h>
 
 #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<HbTextItem*>(
+                 static_cast<HbWidget*>(mHeading)->primitive("text_line_1"));
+    QVERIFY(mText1);
+    mText2 = qgraphicsitem_cast<HbTextItem*>(
+                 static_cast<HbWidget*>(mHeading)->primitive("text_line_2"));
+    QVERIFY(mText2);
+    mText3 = qgraphicsitem_cast<HbTextItem*>(
+                 static_cast<HbWidget*>(mHeading)->primitive("text_line_3"));
+    QVERIFY(mText3);
+
+    mIndi1 = qgraphicsitem_cast<HbIconItem*>(
+                static_cast<HbWidget*>(mHeading)->primitive("indicator_icon_1"));
+    QVERIFY(mIndi1);
+    mIndi2 = qgraphicsitem_cast<HbIconItem*>(
+                static_cast<HbWidget*>(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)
--- a/phoneuis/bubblemanager2/tsrc/unit/ut_bubbleimagemanager/ut_bubbleimagemanager.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneuis/bubblemanager2/tsrc/unit/ut_bubbleimagemanager/ut_bubbleimagemanager.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -81,7 +81,7 @@
     mImageManager->loadImage(imageFile1);
 
     // wait loading to finish
-    QTest::qWait(2*WAIT_TIME);
+    QTest::qWait(4*WAIT_TIME);
 
     QVERIFY(spy.count()==1);
     QList<QVariant> arguments = spy.takeFirst();
@@ -170,7 +170,7 @@
     QString imageFile1 = fileNameWithPath("testpic1.png");
     qDebug() << imageFile1;
     mImageManager->loadImage(imageFile1);
-    QTest::qWait(50);
+    QTest::qWait(5);
     mImageManager->unloadImage(imageFile1);
     mImageManager->unloadImage("foobar.png");
 
@@ -186,7 +186,7 @@
     qDebug() << imageFile2;
     mImageManager->loadImage(imageFile2);
 
-    QTest::qWait(50);
+    QTest::qWait(5);
     mImageManager->unloadImage(imageFile2);
 
     // wait loading to finish
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/tsrc/unit/ut_bubbleimagewidget/mock_bubbleimagemanager.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -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 <QImage>
+#include <QPixmap>
+#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()
+{
+}
--- a/phoneuis/bubblemanager2/tsrc/unit/ut_bubbleimagewidget/ut_bubbleimagewidget.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneuis/bubblemanager2/tsrc/unit/ut_bubbleimagewidget/ut_bubbleimagewidget.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -24,6 +24,7 @@
 #include <hbmainwindow.h>
 #include <hbinstance.h>
 #include <hbstyle.h>
+#include <hbiconitem.h>
 
 #include "bubbletest.h"
 #include "bubbleimagewidget.h"
@@ -37,9 +38,11 @@
     void initTestCase();
     void cleanupTestCase();
 
-    void testPixmap();
-    void testWidePixmap();
-    void testDefaultAvatar();
+    void testSetImage();
+
+    void testSetKeepSquareShape();
+
+    void testSizeHint();
 
 private:
     QString fileNameWithPath(const QString& fileName);    
@@ -48,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();
@@ -66,6 +61,12 @@
     mImage = new BubbleImageWidget(*mImageManager);
     mMainWindow->addView(mImage);
     mMainWindow->show();
+
+    mAvatar = qgraphicsitem_cast<HbIconItem*>(
+            static_cast<HbWidget*>(mImage)->primitive("default_avatar"));
+    QVERIFY(mAvatar);
+    QVERIFY(mAvatar->alignment()==Qt::AlignCenter);
+    QVERIFY(mAvatar->aspectRatioMode()==Qt::KeepAspectRatioByExpanding);
 }
 
 void ut_BubbleImageWidget::cleanupTestCase()
@@ -74,32 +75,41 @@
     delete mImageManager;
 }
 
-void ut_BubbleImageWidget::testPixmap()
-{    
-    mImage->hide();
-    mImage->setImage(fileNameWithPath("pixmap.png"));
+void ut_BubbleImageWidget::testSetImage()
+{
+    mImage->setImage("");
+    QVERIFY(mAvatar->iconName()=="qtg_large_avatar");
+    QVERIFY(mAvatar->isVisible());
+
+    QSignalSpy spy( mImageManager, SIGNAL(pixmapReady(QString)));
+    mImage->setImage(":/data/pixmap.png");
+    QVERIFY(mAvatar->isNull());
+    QVERIFY(!mAvatar->isVisible());
+    QVERIFY(spy.count()==1);
+    QList<QVariant> arguments = spy.takeFirst();
+    QVERIFY(arguments.at(0).toString()==":/data/pixmap.png");
+
     mImage->show();
-    // set same image again
-    QTest::qWait(500);
-    // there is now way to verify using public API
+    QTest::qWait(100);
 }
 
-void ut_BubbleImageWidget::testWidePixmap()
+void ut_BubbleImageWidget::testSetKeepSquareShape()
 {
-    mImage->hide();
-    mImage->setImage(fileNameWithPath("pixmap_wide.png"));
-    mImage->show();
-    QTest::qWait(500);
-    // there is now way to verify using public API
+    mImage->setKeepSquareShape(true);
+    QVERIFY(mImage->keepSquareShape()==true);
+    QVERIFY(mImage->sizePolicy().verticalPolicy()==QSizePolicy::Expanding);
+    QVERIFY(mImage->sizePolicy().horizontalPolicy()==QSizePolicy::Fixed);
+    mImage->setKeepSquareShape(false);
+    QVERIFY(mImage->keepSquareShape()==false);
+    QVERIFY(mImage->sizePolicy().verticalPolicy()==QSizePolicy::Expanding);
+    QVERIFY(mImage->sizePolicy().horizontalPolicy()==QSizePolicy::Expanding);
 }
 
-void ut_BubbleImageWidget::testDefaultAvatar()
+void ut_BubbleImageWidget::testSizeHint()
 {
-    mImage->hide();
-    mImage->setImage("");
-    mImage->show();
-    QTest::qWait(500);
-    // there is now way to verify using public API
+    mImage->setKeepSquareShape(true);
+    QSizeF hint = mImage->preferredSize();
+    // ..
 }
 
 BUBBLE_TEST_MAIN(ut_BubbleImageWidget)
--- a/phoneuis/bubblemanager2/tsrc/unit/ut_bubbleimagewidget/ut_bubbleimagewidget.pro	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneuis/bubblemanager2/tsrc/unit/ut_bubbleimagewidget/ut_bubbleimagewidget.pro	Thu Jul 22 16:33:21 2010 +0100
@@ -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
 
--- a/phoneuis/bubblemanager2/tsrc/unit/ut_bubbleparticipantlistitem/ut_bubbleparticipantlistitem.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneuis/bubblemanager2/tsrc/unit/ut_bubbleparticipantlistitem/ut_bubbleparticipantlistitem.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -75,7 +75,6 @@
     mItem->addAction(&act1);
     mItem->addAction(&act2);
     mItem->updateChildItems();
-    mItem->setExpanded(true);
     mItem->updateChildItems();
 }
 
--- a/phoneuis/bubblemanager2/tsrc/unit/ut_bubbleutils/ut_bubbleutils.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneuis/bubblemanager2/tsrc/unit/ut_bubbleutils/ut_bubbleutils.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -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.svg");
-    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.svg");
-    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)
--- a/phoneuis/ussdeditor/rom/ussdeditor.iby	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneuis/ussdeditor/rom/ussdeditor.iby	Thu Jul 22 16:33:21 2010 +0100
@@ -1,19 +1,19 @@
-;
-; 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: IBY file for satapp application
-;
-;
+/*
+* 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: IBY file for satapp application
+*
+*/
 
 #ifndef __USSDEDITOR_IBY__
 #define __USSDEDITOR_IBY__
@@ -22,5 +22,7 @@
 
 file=ABI_DIR\BUILD_DIR\ussdeditor.exe                  SHARED_LIB_DIR\ussdeditor.exe
 data=ZSYSTEM\install\ussdeditor_stub.sis               system\install\ussdeditor_stub.sis
+data=DATAZ_\RESOURCE_FILES_DIR\ussdeditor.rsc          RESOURCE_FILES_DIR\ussdeditor.rsc
+data=ZPRIVATE\10003a3f\import\apps\ussdeditor_reg.rsc  private\10003a3f\import\apps\ussdeditor_reg.rsc
 
 #endif
--- a/phoneuis/ussdeditor/rom/ussdeditorresources.iby	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneuis/ussdeditor/rom/ussdeditorresources.iby	Thu Jul 22 16:33:21 2010 +0100
@@ -21,9 +21,6 @@
 
 #include <data_caging_paths_for_iby.hrh>
 
-data=DATAZ_\RESOURCE_FILES_DIR\ussdeditor.rsc RESOURCE_FILES_DIR\ussdeditor.rsc
-data=ZPRIVATE\10003a3f\import\apps\ussdeditor_reg.rsc  private\10003a3f\import\apps\ussdeditor_reg.rsc
-
-//data=DATAZ_\QT_TRANSLATIONS_DIR\phcltsrvussd.qm QT_TRANSLATIONS_DIR\phcltsrvussd.qm
+data=DATAZ_\QT_TRANSLATIONS_DIR\ussd.qm QT_TRANSLATIONS_DIR\ussd.qm
 
 #endif
--- a/phoneuis/ussdeditor/src/main.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneuis/ussdeditor/src/main.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -20,6 +20,7 @@
 #include <hbapplication.h>
 #include <hbmainwindow.h> 
 #include <hbview.h>
+#include <QTranslator>
 
 #include "ussdeditorquery.h"
 #include "ussdcomms.h"
@@ -38,29 +39,33 @@
     // Create application instance
     HbApplication application(argc, argv);
     TFLOGSTRING("USSDEDITOR: main app")
-    
+
+    QTranslator translator;
+    QString path = "Z:/resource/qt/translations/";
+    QString lang = QLocale::system().name();
+    bool ok = translator.load("ussd_"+lang, path);
+    TFLOGSTRING2("USSDEDITOR: main, translation %d (1=OK, 0=fail)", ok )
+    application.installTranslator(&translator);
+
     // Create main widow
     HbMainWindow window;
     window.show();
     TFLOGSTRING("USSDEDITOR: main window")
-   
+
     // Add a virtual view and hidden it
     HbView *view = new HbView();
-    // TODO: Still show
-    view->setViewFlags(HbView::ViewStatusBarHidden);
-    view->setViewFlags(HbView::ViewTitleBarHidden);
     window.addView(view);
     TFLOGSTRING("USSDEDITOR: main addView")
 
     // Create CUssdComms - ussd client
     CUssdComms *ussdComms = new CUssdComms(view);
     TFLOGSTRING("USSDEDITOR: main ussdComms")
-    
+
     // Create HbInputDialog
     UssdEditorQuery *query = new UssdEditorQuery(*ussdComms);
     query->show();
     TFLOGSTRING("USSDEDITOR: main query")
-   
+
     // Execute application loop
     int result = application.exec();
     TFLOGSTRING2("USSDEDITOR: main application OUT %d", result)
--- a/phoneuis/ussdeditor/src/ussdeditorquery.cpp	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneuis/ussdeditor/src/ussdeditorquery.cpp	Thu Jul 22 16:33:21 2010 +0100
@@ -46,26 +46,24 @@
     :HbInputDialog(parent), mComms(ussd)
 {
     TFLOGSTRING("USSDEDITOR: UssdEditorQuery::UssdEditorQuery IN")
-    setPromptText(hbTrId("Reply"));
+    setPromptText(hbTrId("txt_ussd_title_reply"));
 
     if (lineEdit()){
         // Set max length and rows
         lineEdit()->setMaxLength(KUssdEditorMaxLength);
         lineEdit()->setMaxRows(KUssdMaxNumberOfEditorLines);
         lineEdit()->setText(QString());
+        lineEdit()->setFocus();
 
         // 0-9, *, +, #
-        HbEditorInterface interface(lineEdit());
-        interface.setFilter(HbPhoneNumberFilter::instance());
-        // TODO: cannot open keypad
-        interface.vkbHost()->openKeypad();
+        HbEditorInterface inputMode(lineEdit());
+        inputMode.setFilter(HbPhoneNumberFilter::instance());
 
         mComms.appStarting();
         // Disable Ok key by default
-        primaryAction()->setEnabled(false);
-
+        actions().at(0)->setEnabled(false);
         bool ret(false);
-        ret = connect(primaryAction(), SIGNAL(triggered(bool)),
+        ret = connect(actions().at(0), SIGNAL(triggered(bool)),
                       this, SLOT(sendUssdString()));
         TFLOGSTRING2("USSDEDITOR: UssdEditorQuery::UssdEditorQuery \
             connect send %d", ret);  
@@ -76,7 +74,7 @@
             connect ok button %d", ret);
         
         // Connect cancel
-        ret = connect(secondaryAction(), SIGNAL(triggered(bool)),
+        ret = connect(actions().at(1), SIGNAL(triggered(bool)),
                       this, SLOT(cancelUssdString()));
         TFLOGSTRING2("USSDEDITOR: UssdEditorQuery::UssdEditorQuery \
             connect send %d", ret);
@@ -134,9 +132,9 @@
 {
     TFLOGSTRING("USSDEDITOR: UssdEditorQuery::updateButtonVisible IN"); 
     if (text.length() > 0) {
-        primaryAction()->setEnabled(true);
+        actions().at(0)->setEnabled(true);
     } else {
-        primaryAction()->setEnabled(false);
+        actions().at(0)->setEnabled(false);
     }
     TFLOGSTRING("USSDEDITOR: UssdEditorQuery::updateOkButton OUT");
 }
--- a/phoneuis/ussdeditor/ussdeditor.pro	Tue Jun 15 14:14:38 2010 +0100
+++ b/phoneuis/ussdeditor/ussdeditor.pro	Thu Jul 22 16:33:21 2010 +0100
@@ -17,8 +17,6 @@
 #
 
 TEMPLATE = app
-#the application will be "invisible"
-CONFIG += no_icon
 
 TARGET = ussdeditor
 DEPENDPATH += .
@@ -29,9 +27,11 @@
 
 symbian: {
 
-TARGET.CAPABILITY = CAP_GENERAL_DLL
+TARGET.CAPABILITY = CAP_APPLICATION NetworkControl
 TARGET.UID3 = 0x10005955
 
+RSS_RULES = "hidden = KAppIsHidden;"
+
 INCLUDEPATH += . 
 INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE 
 INCLUDEPATH += MOC_DIR
@@ -52,6 +52,5 @@
                              "rom/ussdeditorresources.iby LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(ussdeditorresources.iby)" \
                              "rom/ussdeditor_stub.sis /epoc32/data/z/system/install/ussdeditor_stub.sis"
 
-#The next line will be opened when the official translations already
-#TRANSLATIONS = phcltsrvussd.ts
+TRANSLATIONS = ussd.ts
 }