From f498d55dd6a07c88107dca5fcaab6a87eda71ce1 Mon Sep 17 00:00:00 2001 From: Heath Volmer Date: Thu, 21 Sep 2017 21:23:48 -0600 Subject: [PATCH] ecs-411: Most of keyboard driver --- .../PepperDash_Essentials_Core.csproj | 9 +- .../DeviceStatusListController.cs | 0 .../SourceListSubpageReferenceList.cs | 0 .../SubpageReferenceList.cs | 0 .../SubpageReferenceListItem.cs | 0 .../Keyboards/HabaneroKeyboardController.cs | 185 ++++++++++++++++++ .../OTHER/Fusion/FusionSystemController.cs | 4 +- .../UI/EssentialsTouchpanelController.cs | 2 +- .../UI/JoinConstants/UIBoolJoin.cs | 43 +++- .../UI/JoinConstants/UISmartObjectJoin.cs | 6 + .../HuddleVTCPanelAvFunctionsDriver.cs | 26 +-- .../VC/EssentialsVideoCodecUiDriver.cs | 84 ++++++-- Release Package/PepperDashEssentials.cpz | Bin 2545605 -> 2546071 bytes Release Package/PepperDashEssentials.dll | Bin 201912 -> 202936 bytes 14 files changed, 320 insertions(+), 39 deletions(-) rename Essentials Core/PepperDashEssentialsBase/{ => SmartObjects}/SubpageReferencList/DeviceStatusListController.cs (100%) rename Essentials Core/PepperDashEssentialsBase/{ => SmartObjects}/SubpageReferencList/SourceListSubpageReferenceList.cs (100%) rename Essentials Core/PepperDashEssentialsBase/{ => SmartObjects}/SubpageReferencList/SubpageReferenceList.cs (100%) rename Essentials Core/PepperDashEssentialsBase/{ => SmartObjects}/SubpageReferencList/SubpageReferenceListItem.cs (100%) create mode 100644 Essentials Core/PepperDashEssentialsBase/Touchpanels/Keyboards/HabaneroKeyboardController.cs diff --git a/Essentials Core/PepperDashEssentialsBase/PepperDash_Essentials_Core.csproj b/Essentials Core/PepperDashEssentialsBase/PepperDash_Essentials_Core.csproj index 94e66af1..6fe716eb 100644 --- a/Essentials Core/PepperDashEssentialsBase/PepperDash_Essentials_Core.csproj +++ b/Essentials Core/PepperDashEssentialsBase/PepperDash_Essentials_Core.csproj @@ -184,6 +184,7 @@ + @@ -208,7 +209,7 @@ - + @@ -216,9 +217,9 @@ - - - + + + diff --git a/Essentials Core/PepperDashEssentialsBase/SubpageReferencList/DeviceStatusListController.cs b/Essentials Core/PepperDashEssentialsBase/SmartObjects/SubpageReferencList/DeviceStatusListController.cs similarity index 100% rename from Essentials Core/PepperDashEssentialsBase/SubpageReferencList/DeviceStatusListController.cs rename to Essentials Core/PepperDashEssentialsBase/SmartObjects/SubpageReferencList/DeviceStatusListController.cs diff --git a/Essentials Core/PepperDashEssentialsBase/SubpageReferencList/SourceListSubpageReferenceList.cs b/Essentials Core/PepperDashEssentialsBase/SmartObjects/SubpageReferencList/SourceListSubpageReferenceList.cs similarity index 100% rename from Essentials Core/PepperDashEssentialsBase/SubpageReferencList/SourceListSubpageReferenceList.cs rename to Essentials Core/PepperDashEssentialsBase/SmartObjects/SubpageReferencList/SourceListSubpageReferenceList.cs diff --git a/Essentials Core/PepperDashEssentialsBase/SubpageReferencList/SubpageReferenceList.cs b/Essentials Core/PepperDashEssentialsBase/SmartObjects/SubpageReferencList/SubpageReferenceList.cs similarity index 100% rename from Essentials Core/PepperDashEssentialsBase/SubpageReferencList/SubpageReferenceList.cs rename to Essentials Core/PepperDashEssentialsBase/SmartObjects/SubpageReferencList/SubpageReferenceList.cs diff --git a/Essentials Core/PepperDashEssentialsBase/SubpageReferencList/SubpageReferenceListItem.cs b/Essentials Core/PepperDashEssentialsBase/SmartObjects/SubpageReferencList/SubpageReferenceListItem.cs similarity index 100% rename from Essentials Core/PepperDashEssentialsBase/SubpageReferencList/SubpageReferenceListItem.cs rename to Essentials Core/PepperDashEssentialsBase/SmartObjects/SubpageReferencList/SubpageReferenceListItem.cs diff --git a/Essentials Core/PepperDashEssentialsBase/Touchpanels/Keyboards/HabaneroKeyboardController.cs b/Essentials Core/PepperDashEssentialsBase/Touchpanels/Keyboards/HabaneroKeyboardController.cs new file mode 100644 index 00000000..a5e2fead --- /dev/null +++ b/Essentials Core/PepperDashEssentialsBase/Touchpanels/Keyboards/HabaneroKeyboardController.cs @@ -0,0 +1,185 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using Crestron.SimplSharp; +using Crestron.SimplSharpPro.DeviceSupport; + +namespace PepperDash.Essentials.Core.Touchpanels.Keyboards +{ + public class HabaneroKeyboardController + { + public BasicTriList TriList { get; private set; } + + int ShiftMode; + + public StringFeedback OutputFeedback { get; private set; } + StringBuilder Output; + + + /// + /// + /// + /// + public HabaneroKeyboardController(BasicTriList trilist) + { + TriList = trilist; + Output = new StringBuilder(); + OutputFeedback = new StringFeedback(() => Output.ToString()); + + } + + /// + /// Puts actions on buttons + /// + void SetUp() + { + TriList.SetSigTrueAction(KeyboardClosePress, Hide); + + TriList.SetSigTrueAction(2921, () => Append(A(ShiftMode))); + TriList.SetSigTrueAction(2922, () => Append(B(ShiftMode))); + TriList.SetSigTrueAction(2923, () => Append(C(ShiftMode))); + TriList.SetSigTrueAction(2924, () => Append(D(ShiftMode))); + TriList.SetSigTrueAction(2925, () => Append(E(ShiftMode))); + TriList.SetSigTrueAction(2926, () => Append(F(ShiftMode))); + TriList.SetSigTrueAction(2927, () => Append(G(ShiftMode))); + TriList.SetSigTrueAction(2928, () => Append(H(ShiftMode))); + TriList.SetSigTrueAction(2929, () => Append(I(ShiftMode))); + TriList.SetSigTrueAction(2930, () => Append(J(ShiftMode))); + TriList.SetSigTrueAction(2931, () => Append(K(ShiftMode))); + TriList.SetSigTrueAction(2932, () => Append(L(ShiftMode))); + TriList.SetSigTrueAction(2933, () => Append(M(ShiftMode))); + TriList.SetSigTrueAction(2934, () => Append(N(ShiftMode))); + TriList.SetSigTrueAction(2935, () => Append(O(ShiftMode))); + TriList.SetSigTrueAction(2936, () => Append(P(ShiftMode))); + TriList.SetSigTrueAction(2937, () => Append(Q(ShiftMode))); + TriList.SetSigTrueAction(2938, () => Append(R(ShiftMode))); + TriList.SetSigTrueAction(2939, () => Append(S(ShiftMode))); + TriList.SetSigTrueAction(2940, () => Append(T(ShiftMode))); + TriList.SetSigTrueAction(2941, () => Append(U(ShiftMode))); + TriList.SetSigTrueAction(2942, () => Append(V(ShiftMode))); + TriList.SetSigTrueAction(2943, () => Append(W(ShiftMode))); + TriList.SetSigTrueAction(2944, () => Append(X(ShiftMode))); + TriList.SetSigTrueAction(2945, () => Append(Y(ShiftMode))); + TriList.SetSigTrueAction(2946, () => Append(Z(ShiftMode))); + TriList.SetSigTrueAction(2947, () => Append('.')); + TriList.SetSigTrueAction(2948, () => Append('@')); + TriList.SetSigTrueAction(2949, () => Append(' ')); + TriList.SetSigTrueAction(2950, Backspace); + TriList.SetSigTrueAction(2951, Clear); + TriList.SetSigTrueAction(2952, Shift); + TriList.SetSigTrueAction(2953, NumShift); + + } + + public void Show() + { + TriList.SetBool(KeyboardVisible, true); + } + + public void Hide() + { + TriList.SetBool(KeyboardVisible, false); + } + + void Append(char c) + { + Output.Append(c); + OutputFeedback.FireUpdate(); + } + + char A(int i) { return new char[] { 'a', 'A', '?', '?' }[i]; } + char B(int i) { return new char[] { 'b', 'B', ':', ':' }[i]; } + char C(int i) { return new char[] { 'c', 'C', '>', '>' }[i]; } + char D(int i) { return new char[] { 'd', 'D', '_', '_' }[i]; } + char E(int i) { return new char[] { 'e', 'E', '3', '#' }[i]; } + char F(int i) { return new char[] { 'f', 'F', '=', '=' }[i]; } + char G(int i) { return new char[] { 'g', 'G', '+', '+' }[i]; } + char H(int i) { return new char[] { 'h', 'H', '[', '[' }[i]; } + char I(int i) { return new char[] { 'i', 'I', '8', '*' }[i]; } + char J(int i) { return new char[] { 'j', 'J', ']', ']' }[i]; } + char K(int i) { return new char[] { 'k', 'K', '/', '/' }[i]; } + char L(int i) { return new char[] { 'l', 'L', '\\', '\\' }[i]; } + char M(int i) { return new char[] { 'm', 'M', '"', '"' }[i]; } + char N(int i) { return new char[] { 'n', 'N', '\'', '\'' }[i]; } + char O(int i) { return new char[] { 'o', 'O', '9', '(' }[i]; } + char P(int i) { return new char[] { 'p', 'P', '0', ')' }[i]; } + char Q(int i) { return new char[] { 'q', 'Q', '1', '!' }[i]; } + char R(int i) { return new char[] { 'r', 'R', '4', '$' }[i]; } + char S(int i) { return new char[] { 's', 'S', '-', '-' }[i]; } + char T(int i) { return new char[] { 't', 'T', '5', '%' }[i]; } + char U(int i) { return new char[] { 'u', 'U', '7', '&' }[i]; } + char V(int i) { return new char[] { 'v', 'V', ';', ';' }[i]; } + char W(int i) { return new char[] { 'w', 'W', '2', '@' }[i]; } + char X(int i) { return new char[] { 'x', 'X', '<', '<' }[i]; } + char Y(int i) { return new char[] { 'y', 'Y', '6', '^' }[i]; } + char Z(int i) { return new char[] { 'z', 'Z', ',', ',' }[i]; } + + void Backspace() + { + if (Output.Length > 0) + { + Output.Remove(Output.Length - 1, 1); + OutputFeedback.FireUpdate(); + } + } + + void Clear() + { + Output.Remove(0, Output.Length); + OutputFeedback.FireUpdate(); + } + + void Shift() + { + if (ShiftMode == 0) + ShiftMode = 1; + else if (ShiftMode == 1) + ShiftMode = 0; + else if (ShiftMode == 2) + ShiftMode = 3; + else + ShiftMode = 2; + + TriList.SetUshort(2951, 0); // 0 = up, 1 = down, 2 = #, 3 = 123 + TriList.SetUshort(2952, 0); // 0 = #, 1 = abc + } + + void NumShift() + { + if (ShiftMode == 0 || ShiftMode == 1) + ShiftMode = 2; + else if (ShiftMode == 2) + ShiftMode = 3; + else + ShiftMode = 0; + } + + + /// + /// 2901 + /// + public const uint KeyboardVisible = 2901; + /// + /// 2902 + /// + public const uint KeyboardClosePress = 2902; + /// + /// 2903 + /// + public const uint KeyboardButton1Press = 2903; + /// + /// 2904 + /// + public const uint KeyboardButton1Press = 2904; + /// + /// 2910 + /// + public const uint KeyboardClearPress = 2910; + /// + /// 2911 + /// + public const uint KeyboardClearVisible = 2911; + + } +} \ No newline at end of file diff --git a/Essentials/PepperDashEssentials/OTHER/Fusion/FusionSystemController.cs b/Essentials/PepperDashEssentials/OTHER/Fusion/FusionSystemController.cs index 59b53112..1bcccf51 100644 --- a/Essentials/PepperDashEssentials/OTHER/Fusion/FusionSystemController.cs +++ b/Essentials/PepperDashEssentials/OTHER/Fusion/FusionSystemController.cs @@ -26,8 +26,8 @@ namespace PepperDash.Essentials.Fusion public class EssentialsHuddleSpaceFusionSystemController : Device { public event EventHandler ScheduleChange; - public event EventHandler MeetingEndWarning; - public event EventHandler NextMeetingBeginWarning; + //public event EventHandler MeetingEndWarning; + //public event EventHandler NextMeetingBeginWarning; FusionRoom FusionRoom; EssentialsHuddleSpaceRoom Room; diff --git a/Essentials/PepperDashEssentials/UI/EssentialsTouchpanelController.cs b/Essentials/PepperDashEssentials/UI/EssentialsTouchpanelController.cs index 21130a5f..637dca18 100644 --- a/Essentials/PepperDashEssentials/UI/EssentialsTouchpanelController.cs +++ b/Essentials/PepperDashEssentials/UI/EssentialsTouchpanelController.cs @@ -154,7 +154,7 @@ namespace PepperDash.Essentials { Debug.Console(0, this, "Adding huddle space driver"); var avDriver = new EssentialsHuddleVtc1PanelAvFunctionsDriver(mainDriver, props); - var codecDriver = new PepperDash.Essentials.UIDrivers.VC.EssentialsVideoCodecUiDriver(Panel, + var codecDriver = new PepperDash.Essentials.UIDrivers.VC.EssentialsVideoCodecUiDriver(Panel, avDriver, (room as EssentialsHuddleVtc1Room).VideoCodec); avDriver.SetVideoCodecDriver(codecDriver); avDriver.CurrentRoom = room as EssentialsHuddleVtc1Room; diff --git a/Essentials/PepperDashEssentials/UI/JoinConstants/UIBoolJoin.cs b/Essentials/PepperDashEssentials/UI/JoinConstants/UIBoolJoin.cs index c055ff77..1cf624a1 100644 --- a/Essentials/PepperDashEssentials/UI/JoinConstants/UIBoolJoin.cs +++ b/Essentials/PepperDashEssentials/UI/JoinConstants/UIBoolJoin.cs @@ -22,8 +22,21 @@ namespace PepperDash.Essentials /// public const uint VolumeDownPress = 902; - //****************************************************** + //**************************************************** + // Codec General + + /// + /// 1001 + /// + public const uint CallEndPress = 1001; + /// + /// 1002 + /// + public const uint CallEndAllConfirmPress = 1002; + + // Audio Conference +#warning Move these to 1100's /// /// 1001 /// @@ -153,7 +166,21 @@ namespace PepperDash.Essentials /// /// 2901 /// - public const uint KeyboardVisible = 2901; + public const uint KeyboardVisible = 2901; + /// + /// 2902 + /// + public const uint KeyboardClosePress = 2902; + /// + /// 2903 + /// + public const uint KeyboardButton1Press = 2903; + /// + /// 2904 + /// + public const uint KeyboardButton1Press = 2904; + + /// /// 2910 /// @@ -163,6 +190,9 @@ namespace PepperDash.Essentials /// public const uint KeyboardClearVisible = 2911; + // Letter joins start at 2921; + + //****************************************************** /// /// 3811 /// @@ -476,32 +506,31 @@ namespace PepperDash.Essentials /// 15060 /// public const uint Display2AudioButtonPressAndFb = 15060; - /// /// 15061 Reveals the dual-display subpage /// public const uint DualDisplayPageVisible = 15061; - /// /// 15062 Reveals the toggle switch for the sharing mode /// public const uint ToggleSharingModeVisible = 15062; - /// /// 15063 Press for the toggle mode switch /// public const uint ToggleSharingModePress = 15063; - /// /// 15064 /// public const uint LogoDefaultVisible = 15064; - /// /// 15065 /// public const uint LogoUrlVisible = 15065; /// + /// 15066 - Reveals the active calls header item + /// + public const uint HeaderActiveCallsListVisible = 15066; + /// /// 15083 - Press for Call help desk on AC/VC /// public const uint HelpPageShowCallButtonPress = 15083; diff --git a/Essentials/PepperDashEssentials/UI/JoinConstants/UISmartObjectJoin.cs b/Essentials/PepperDashEssentials/UI/JoinConstants/UISmartObjectJoin.cs index 3fdd58be..ceea3a89 100644 --- a/Essentials/PepperDashEssentials/UI/JoinConstants/UISmartObjectJoin.cs +++ b/Essentials/PepperDashEssentials/UI/JoinConstants/UISmartObjectJoin.cs @@ -3,6 +3,12 @@ public class UISmartObjectJoin { //****************************************************** + // Conference + /// + /// 1001 - The list that reveals in header to show calls + /// + public const uint CodecActiveCallsHeaderList = 1001; + // Video Conference /// diff --git a/Essentials/PepperDashEssentials/UIDrivers/EssentialsHuddleVTC/HuddleVTCPanelAvFunctionsDriver.cs b/Essentials/PepperDashEssentials/UIDrivers/EssentialsHuddleVTC/HuddleVTCPanelAvFunctionsDriver.cs index b041e28f..e511d7d0 100644 --- a/Essentials/PepperDashEssentials/UIDrivers/EssentialsHuddleVTC/HuddleVTCPanelAvFunctionsDriver.cs +++ b/Essentials/PepperDashEssentials/UIDrivers/EssentialsHuddleVTC/HuddleVTCPanelAvFunctionsDriver.cs @@ -16,7 +16,7 @@ namespace PepperDash.Essentials /// /// /// - public class EssentialsHuddleVtc1PanelAvFunctionsDriver : PanelDriverBase + public class EssentialsHuddleVtc1PanelAvFunctionsDriver : PanelDriverBase, IHasPopupInterlock { CrestronTouchpanelPropertiesConfig Config; @@ -118,7 +118,7 @@ namespace PepperDash.Essentials /// /// Represents /// - JoinedSigInterlock PopupInterlock; + public JoinedSigInterlock PopupInterlock { get; private set; } /// /// Interlock for various source, camera, call control bars. The bar above the activity footer. This is also @@ -155,12 +155,6 @@ namespace PepperDash.Essentials //PowerOffTimeout = 30000; //TriList.StringInput[UIStringJoin.StartActivityText].StringValue = "Tap an activity below"; - - // Reveal proper header buttons with/without lighting - if(false) // has lighting - TriList.SetBool(UIBoolJoin.CallLeftHeaderButtonVisible, true); - else - TriList.SetBool(UIBoolJoin.CallRightHeaderButtonVisible, true); } /// @@ -272,9 +266,14 @@ namespace PepperDash.Essentials if(roomConf.OneButtonMeeting != null && roomConf.OneButtonMeeting.Enable) { TriList.SetBool(UIBoolJoin.CalendarHeaderButtonVisible, true); - TriList.SetSigFalseAction(UIBoolJoin.CallHeaderButtonPress, () => - { }); - } + TriList.SetBool(UIBoolJoin.CallLeftHeaderButtonVisible, true); + } + else + TriList.SetBool(UIBoolJoin.CallRightHeaderButtonVisible, true); + + TriList.SetSigFalseAction(UIBoolJoin.CallHeaderButtonPress, () => + PopupInterlock.ShowInterlockedWithToggle(UIBoolJoin.HeaderActiveCallsListVisible)); + // Setup button - shows volumes with default button OR hold for tech page TriList.SetSigHeldAction(UIBoolJoin.GearHeaderButtonPress, 2000, @@ -978,4 +977,9 @@ namespace PepperDash.Essentials RefreshSourceInfo(); } } + + public interface IHasPopupInterlock + { + JoinedSigInterlock PopupInterlock { get; } + } } diff --git a/Essentials/PepperDashEssentials/UIDrivers/VC/EssentialsVideoCodecUiDriver.cs b/Essentials/PepperDashEssentials/UIDrivers/VC/EssentialsVideoCodecUiDriver.cs index 81d40683..471cf8d0 100644 --- a/Essentials/PepperDashEssentials/UIDrivers/VC/EssentialsVideoCodecUiDriver.cs +++ b/Essentials/PepperDashEssentials/UIDrivers/VC/EssentialsVideoCodecUiDriver.cs @@ -16,8 +16,6 @@ namespace PepperDash.Essentials.UIDrivers.VC { -#warning When InCall, keypad text should clear. Keypad becomes DTMF only. Delete is gone and disabled. Send keypresses immediately to SendDTMF. Queue them in disaply string. -#warning when Call ends, clear keypad text. #warning FOR SPARK - (GFX also) we need a staging bar for in call state where there is no camera button /// /// This fella will likely need to interact with the room's source, although that is routed via the spark... @@ -26,6 +24,8 @@ namespace PepperDash.Essentials.UIDrivers.VC /// public class EssentialsVideoCodecUiDriver : PanelDriverBase { + IHasPopupInterlock Parent; + /// /// /// @@ -60,6 +60,8 @@ namespace PepperDash.Essentials.UIDrivers.VC SmartObjectNumeric DialKeypad; + SubpageReferenceList ActiveCallsSRL; + // These are likely temp until we get a keyboard built StringFeedback DialStringFeedback; StringBuilder DialStringBuilder = new StringBuilder(); @@ -67,17 +69,20 @@ namespace PepperDash.Essentials.UIDrivers.VC ModalDialog IncomingCallModal; + eKeypadMode KeypadMode; + /// /// /// /// /// - public EssentialsVideoCodecUiDriver(BasicTriListWithSmartObject triList, VideoCodecBase codec) + public EssentialsVideoCodecUiDriver(BasicTriListWithSmartObject triList, IHasPopupInterlock parent, VideoCodecBase codec) : base(triList) { Codec = codec; SetupCallStagingPopover(); SetupDialKeypad(); + ActiveCallsSRL = new SubpageReferenceList(TriList, UISmartObjectJoin.CodecActiveCallsHeaderList, 3, 3, 3); codec.CallStatusChange += new EventHandler(Codec_CallStatusChange); @@ -118,6 +123,10 @@ namespace PepperDash.Essentials.UIDrivers.VC case eCodecCallStatus.Connected: // fire at SRL item Debug.Console(1, "*#* UI: Call Connected {0}", call.Name); + KeypadMode = eKeypadMode.DTMF; + DialStringBuilder.Remove(0, DialStringBuilder.Length); + DialStringFeedback.FireUpdate(); + TriList.SetBool(UIBoolJoin.KeyboardClearVisible, false); break; case eCodecCallStatus.Connecting: // fire at SRL item @@ -128,6 +137,12 @@ namespace PepperDash.Essentials.UIDrivers.VC break; case eCodecCallStatus.Disconnected: Debug.Console(1, "*#* UI: Call Disconnecting {0}", call.Name); + if (!Codec.IsInCall) + { + KeypadMode = eKeypadMode.Dial; + DialStringBuilder.Remove(0, DialStringBuilder.Length); + DialStringFeedback.FireUpdate(); + } break; case eCodecCallStatus.Disconnecting: break; @@ -153,6 +168,7 @@ namespace PepperDash.Essentials.UIDrivers.VC TriList.UShortInput[UIUshortJoin.VCStagingConnectButtonMode].UShortValue = (ushort)(Codec.IsInCall ? 1 : 0); StagingBarInterlock.ShowInterlocked(Codec.IsInCall ? UIBoolJoin.VCStagingActivePopoverVisible : UIBoolJoin.VCStagingInactivePopoverVisible); + // Set mode of header button if (!Codec.IsInCall) TriList.SetUshort(UIUshortJoin.CallHeaderButtonMode, 0); @@ -162,9 +178,29 @@ namespace PepperDash.Essentials.UIDrivers.VC TriList.SetUshort(UIUshortJoin.CallHeaderButtonMode, 1); // Update list of calls - var activeList = Codec.ActiveCalls.Where(c => c.IsActiveCall).ToList(); - Debug.Console(1, "*#* UI - Codec has {0} calls", activeList.Count); + UpdateCallsHeaderList(call); + } + /// + /// Redraws the calls list on the header + /// + void UpdateCallsHeaderList(CodecActiveCallItem call) + { + var activeList = Codec.ActiveCalls.Where(c => c.IsActiveCall).ToList(); + ActiveCallsSRL.Clear(); + ushort i = 1; + foreach (var c in activeList) + { + var item = new SubpageReferenceListItem(1, ActiveCallsSRL); + ActiveCallsSRL.StringInputSig(i, 1).StringValue = c.Name; + ActiveCallsSRL.StringInputSig(i, 2).StringValue = c.Number; + ActiveCallsSRL.StringInputSig(i, 3).StringValue = c.Status.ToString(); + ActiveCallsSRL.UShortInputSig(i, 1).UShortValue = (ushort)(c.Type == eCodecCallType.Video ? 2 : 1); + var cc = c; // for scope in lambda + ActiveCallsSRL.GetBoolFeedbackSig(i, 1).SetSigFalseAction(() => Codec.EndCall(cc)); + i++; + } + ActiveCallsSRL.Count = (ushort)activeList.Count; } /// @@ -222,9 +258,17 @@ namespace PepperDash.Essentials.UIDrivers.VC void SetupCallStagingPopover() { TriList.SetSigFalseAction(UIBoolJoin.VCStagingDirectoryPress, ShowDirectory); - TriList.SetSigFalseAction(UIBoolJoin.VCStagingConnectPress, ConnectPress); TriList.SetSigFalseAction(UIBoolJoin.VCStagingKeypadPress, ShowKeypad); TriList.SetSigFalseAction(UIBoolJoin.VCStagingRecentsPress, ShowRecents); + TriList.SetSigFalseAction(UIBoolJoin.VCStagingConnectPress, ConnectPress); + TriList.SetSigFalseAction(UIBoolJoin.CallEndPress, () => + { + if (Codec.ActiveCalls.Count > 1) + Parent.PopupInterlock.ShowInterlocked(UIBoolJoin.HeaderActiveCallsListVisible); + else + Codec.EndAllCalls(); + }); + TriList.SetSigFalseAction(UIBoolJoin.CallEndAllConfirmPress, Codec.EndAllCalls); } /// @@ -290,10 +334,7 @@ namespace PepperDash.Essentials.UIDrivers.VC /// void ConnectPress() { - if (Codec.IsInCall) - Codec.EndAllCalls(); - else - Codec.Dial(DialStringBuilder.ToString()); + Codec.Dial(DialStringBuilder.ToString()); } @@ -303,10 +344,20 @@ namespace PepperDash.Essentials.UIDrivers.VC /// void DialKeypadPress(string i) { - DialStringBuilder.Append(i); - DialStringFeedback.FireUpdate(); - TriList.BooleanInput[UIBoolJoin.KeyboardClearVisible].BoolValue = - DialStringBuilder.Length > 0; + if (KeypadMode == eKeypadMode.Dial) + { + DialStringBuilder.Append(i); + DialStringFeedback.FireUpdate(); + TriList.BooleanInput[UIBoolJoin.KeyboardClearVisible].BoolValue = + DialStringBuilder.Length > 0; + } + else + { + Codec.SendDtmf(i); + DialStringBuilder.Append(i); + DialStringFeedback.FireUpdate(); + // no delete key in this mode! + } } /// @@ -320,5 +371,10 @@ namespace PepperDash.Essentials.UIDrivers.VC DialStringBuilder.Length > 0; TriList.SetBool(UIBoolJoin.VCStagingConnectEnable, DialStringBuilder.Length > 0); } + + enum eKeypadMode + { + Dial, DTMF + } } } \ No newline at end of file diff --git a/Release Package/PepperDashEssentials.cpz b/Release Package/PepperDashEssentials.cpz index feb3c651b4322feafe7a703d175a8bfee91480f3..6abfc34282306ce71a044ec146333c8f581b306b 100644 GIT binary patch delta 260594 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 z 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