This worked for me. It just merges in the activities for the current contact.
public class OpportunityMaint_ActivityDetailsGPExt : PXGraphExtension<OpportunityMaint_ActivityDetailsExt, OpportunityMaint>
{
PXOverride]
public Type GetLinkConditionClause()
{
//var op = this.Base.Opportunity.Current;
//var c = this.Base.Contacts.Current;
return typeof(Where<BqlChainableConditionBase<TypeArrayOf<IBqlBinary>.
FilledWith<
And<Compare<CRPMTimeActivity.refNoteID, In<P.AsGuid>>>>
>.Or<
Brackets<
BqlChainableConditionBase<TypeArrayOf<IBqlBinary>.
FilledWith<And<Compare<Current<CROpportunityClass.showContactActivities>, Equal<True>>>>
>.
And<BqlOperand<CRPMTimeActivity.refNoteID, IBqlGuid>.IsEqual<BqlField<CROpportunity.leadID, IBqlGuid>.FromCurrent>>>
>.
Or<BqlOperand<CRPMTimeActivity.refNoteID, IBqlGuid>.IsEqual<BqlField<Contact.noteID, IBqlGuid>.FromCurrent>>
>);
}
}
Thank you for sharing your solution with the community @Leif!