phonebookui/Phonebook2/ccapplication/ccacommlauncherplugin/src/ccappcommlaunchercontainer.cpp
--- a/phonebookui/Phonebook2/ccapplication/ccacommlauncherplugin/src/ccappcommlaunchercontainer.cpp Tue May 25 12:26:45 2010 +0300
+++ b/phonebookui/Phonebook2/ccapplication/ccacommlauncherplugin/src/ccappcommlaunchercontainer.cpp Wed Jun 09 09:26:27 2010 +0300
@@ -447,7 +447,9 @@
iPlugin.CancelTimer();
TInt index;
- if ( iListBox->View()->XYPosToItemIndex( aPointerEvent.iPosition, index ) )
+ // start iLongTapDetector in listbox area and handle PointerEvent when dragged
+ if ( iListBox->View()->XYPosToItemIndex( aPointerEvent.iPosition, index )
+ || ( aPointerEvent.iType == TPointerEvent::EDrag ) )
{
if ( iLongTapDetector )
{
@@ -471,52 +473,48 @@
void CCCAppCommLauncherContainer::HandleLongTapEventL( const TPoint& /*aPenEventLocation*/,
const TPoint& /*aPenEventScreenLocation*/ )
{
- CCAContactorService* contactorService = iPlugin.ContactorService();
- if ( contactorService )
+ if ( iPlugin.CommandState().IsRunning() )
+ {
+ return;
+ }
+ else if ( CommMethodsAvailable() )
{
- if ( contactorService->IsBusy() )
- {
- return;
+ TPtrC fullName;
+ iPlugin.ContactHandler().ContactFieldItemDataL(
+ CCmsContactFieldItem::ECmsFullName, fullName );
+
+ TUint paramFlag = 0;//CCAContactorService::TCSParameter::EEnableDefaults;
+
+ VPbkFieldTypeSelectorFactory::TVPbkContactActionTypeSelector
+ contactActionType = iPlugin.Container().SelectedCommunicationMethod();
+
+ if ( !iLongTap && contactActionType
+ == VPbkFieldTypeSelectorFactory::EFindOnMapSelector )
+ {
+ iLongTap = ETrue;
+ DoShowMapCmdL( (TPbk2CommandId)EPbk2ExtensionShowOnMap );
}
- else if ( CommMethodsAvailable() )
+ else
{
- TPtrC fullName;
- iPlugin.ContactHandler().ContactFieldItemDataL(
- CCmsContactFieldItem::ECmsFullName, fullName );
-
- TUint paramFlag = 0;//CCAContactorService::TCSParameter::EEnableDefaults;
-
- VPbkFieldTypeSelectorFactory::TVPbkContactActionTypeSelector
- contactActionType = iPlugin.Container().SelectedCommunicationMethod();
+ CCAContactorService::TCSParameter param(
+ contactActionType,
+ *iPlugin.ContactHandler().ContactIdentifierLC(),//contactlinkarray
+ paramFlag,
+ fullName );
+
+ iPlugin.ExecuteServiceL( param );
- if ( !iLongTap && contactActionType
- == VPbkFieldTypeSelectorFactory::EFindOnMapSelector )
- {
- iLongTap = ETrue;
- DoShowMapCmdL( (TPbk2CommandId)EPbk2ExtensionShowOnMap );
- }
- else
+ //The Timer can be started after user selected any call item
+ if ( iPlugin.ContactorService()->IsSelected() &&
+ (contactActionType == VPbkFieldTypeSelectorFactory::EVoiceCallSelector ||
+ contactActionType == VPbkFieldTypeSelectorFactory::EVideoCallSelector ||
+ contactActionType == VPbkFieldTypeSelectorFactory::EVOIPCallSelector) )
{
- CCAContactorService::TCSParameter param(
- contactActionType,
- *iPlugin.ContactHandler().ContactIdentifierLC(),//contactlinkarray
- paramFlag,
- fullName );
-
- contactorService->ExecuteServiceL( param );
-
- //The Timer can be started after user selected any call item
- if ( contactorService->IsSelected() &&
- (contactActionType == VPbkFieldTypeSelectorFactory::EVoiceCallSelector ||
- contactActionType == VPbkFieldTypeSelectorFactory::EVideoCallSelector ||
- contactActionType == VPbkFieldTypeSelectorFactory::EVOIPCallSelector) )
- {
- iPlugin.StartTimerL();
- }
-
-
- CleanupStack::PopAndDestroy( 1 );// contactlinkarray
+ iPlugin.StartTimerL();
}
+
+
+ CleanupStack::PopAndDestroy( 1 );// contactlinkarray
}
}
}
@@ -552,9 +550,7 @@
iHasBeenDragged = EFalse;
}
- CCAContactorService* contactorService = iPlugin.ContactorService();
-
- if ( executeContactAction && contactorService && contactorService->IsBusy())
+ if ( executeContactAction && iPlugin.CommandState().IsRunning() )
{
executeContactAction = EFalse;
}
@@ -578,35 +574,32 @@
}
else
{
- if(contactorService)
- {
- TPtrC fullName;
-
- iPlugin.ContactHandler().ContactFieldItemDataL(
- CCmsContactFieldItem::ECmsFullName, fullName);
-
- TUint paramFlag = CCAContactorService::TCSParameter::EEnableDefaults;
-
- CCAContactorService::TCSParameter param(
- contactActionType,
- *iPlugin.ContactHandler().ContactIdentifierLC(),//contactlinkarray
- paramFlag,
- fullName);
+ TPtrC fullName;
+
+ iPlugin.ContactHandler().ContactFieldItemDataL(
+ CCmsContactFieldItem::ECmsFullName, fullName);
+
+ TUint paramFlag = CCAContactorService::TCSParameter::EEnableDefaults;
+
+ CCAContactorService::TCSParameter param(
+ contactActionType,
+ *iPlugin.ContactHandler().ContactIdentifierLC(),//contactlinkarray
+ paramFlag,
+ fullName);
+
+ iPlugin.ExecuteServiceL(param);
- contactorService->ExecuteServiceL(param);
-
- //The Timer can be started after user selected any call item
- if ( contactorService->IsSelected() &&
- (contactActionType == VPbkFieldTypeSelectorFactory::EVoiceCallSelector ||
- contactActionType == VPbkFieldTypeSelectorFactory::EVideoCallSelector ||
- contactActionType == VPbkFieldTypeSelectorFactory::EVOIPCallSelector) )
- {
- iPlugin.StartTimerL();
- }
-
- CleanupStack::PopAndDestroy(1);// contactlinkarray
- }
- }
+ //The Timer can be started after user selected any call item
+ if ( iPlugin.ContactorService()->IsSelected() &&
+ (contactActionType == VPbkFieldTypeSelectorFactory::EVoiceCallSelector ||
+ contactActionType == VPbkFieldTypeSelectorFactory::EVideoCallSelector ||
+ contactActionType == VPbkFieldTypeSelectorFactory::EVOIPCallSelector) )
+ {
+ iPlugin.StartTimerL();
+ }
+
+ CleanupStack::PopAndDestroy(1);// contactlinkarray
+ }
}
}