From 0192c50cf32bd77289a919906bc365ff4a759422 Mon Sep 17 00:00:00 2001 From: Andrew Welker Date: Wed, 8 Jul 2020 17:04:43 -0600 Subject: [PATCH] add dual display presentation driver --- .../PepperDashEssentials.csproj | 5 +- ...ntialsDualDisplayPanelAvFunctionsDriver.cs | 56 +++++++++++++++++++ ...entialsHuddleVtc1PanelAvFunctionsDriver.cs | 19 +++---- 3 files changed, 64 insertions(+), 16 deletions(-) create mode 100644 PepperDashEssentials/UIDrivers/EssentialsDualDisplay/EssentialsDualDisplayPanelAvFunctionsDriver.cs diff --git a/PepperDashEssentials/PepperDashEssentials.csproj b/PepperDashEssentials/PepperDashEssentials.csproj index b366d0f8..66e494fb 100644 --- a/PepperDashEssentials/PepperDashEssentials.csproj +++ b/PepperDashEssentials/PepperDashEssentials.csproj @@ -153,10 +153,10 @@ + - @@ -214,9 +214,6 @@ Essentials Devices Common - - - diff --git a/PepperDashEssentials/UIDrivers/EssentialsDualDisplay/EssentialsDualDisplayPanelAvFunctionsDriver.cs b/PepperDashEssentials/UIDrivers/EssentialsDualDisplay/EssentialsDualDisplayPanelAvFunctionsDriver.cs new file mode 100644 index 00000000..c7179216 --- /dev/null +++ b/PepperDashEssentials/UIDrivers/EssentialsDualDisplay/EssentialsDualDisplayPanelAvFunctionsDriver.cs @@ -0,0 +1,56 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using Crestron.SimplSharp; +using Crestron.SimplSharpPro; +using Crestron.SimplSharpPro.DeviceSupport; +using PepperDash.Essentials; +using PepperDash.Essentials.Core; +using PepperDash.Essentials.Core.PageManagers; +using PepperDash.Essentials.UIDrivers; +using PepperDash.Essentials.UIDrivers.VC; + +namespace PepperDashEssentials.UIDrivers.EssentialsDualDisplay +{ + public class EssentialsDualDisplayPanelAvFunctionsDriver:PanelDriverBase, IAVWithVCDriver + { + public enum UiDisplayMode + { + Presentation, + AudioSetup, + Call, + Start + } + + private readonly SubpageReferenceList _activityFooterSrl; + private readonly BoolInputSig _callButtonSig; + + private readonly List _currentDisplayModeSigsInUse = new List(); + private readonly BoolInputSig _endMeetingButtonSig; + private readonly Dictionary _pageManagers = new Dictionary(); + private readonly PanelDriverBase _parent; + private readonly BoolInputSig _shareButtonSig; + + private readonly SubpageReferenceList _sourceStagingSrl; + + private readonly CrestronTouchpanelPropertiesConfig _config; + private BoolFeedback _callSharingInfoVisibleFeedback; + private List _childDrivers = new List(); + private UiDisplayMode _currentMode = UiDisplayMode.Start; + private PageManager _currentSourcePageManager; + private string _lastMeetingDismissedId; + private CTimer _nextMeetingTimer; + private CTimer _powerOffTimer; + private CTimer _ribbonTimer; + private ModalDialog _powerDownModal; + private EssentialsVideoCodecUiDriver _vcDriver; + private EssentialsHuddleTechPageDriver _techDriver; + + + public EssentialsDualDisplayPanelAvFunctionsDriver(PanelDriverBase parent, CrestronTouchpanelPropertiesConfig config) : base(parent.TriList) + { + + } + } +} \ No newline at end of file diff --git a/PepperDashEssentials/UIDrivers/EssentialsHuddleVTC/EssentialsHuddleVtc1PanelAvFunctionsDriver.cs b/PepperDashEssentials/UIDrivers/EssentialsHuddleVTC/EssentialsHuddleVtc1PanelAvFunctionsDriver.cs index 5f0c030d..1941b277 100644 --- a/PepperDashEssentials/UIDrivers/EssentialsHuddleVTC/EssentialsHuddleVtc1PanelAvFunctionsDriver.cs +++ b/PepperDashEssentials/UIDrivers/EssentialsHuddleVTC/EssentialsHuddleVtc1PanelAvFunctionsDriver.cs @@ -128,7 +128,7 @@ namespace PepperDash.Essentials private EssentialsHuddleVtc1Room _currentRoom; - private EssentialsHuddleTechPageDriver _TechDriver; + private EssentialsHuddleTechPageDriver _techDriver; /// /// Constructor @@ -186,7 +186,7 @@ namespace PepperDash.Essentials { get { - return _TechDriver ?? (_TechDriver = new EssentialsHuddleTechPageDriver(TriList, + return _techDriver ?? (_techDriver = new EssentialsHuddleTechPageDriver(TriList, CurrentRoom.PropertiesConfig.Tech)); } } @@ -530,15 +530,10 @@ namespace PepperDash.Essentials var indexOfNext = meetings.IndexOf(meeting) + 1; // indexOf = 3, 4 meetings : - if (indexOfNext < meetings.Count) - { - TriList.SetString(UIStringJoin.NextMeetingFollowingMeetingText, - meetings[indexOfNext].StartTime.ToShortTimeString()); - } - else - { - TriList.SetString(UIStringJoin.NextMeetingFollowingMeetingText, "No more meetings today"); - } + TriList.SetString(UIStringJoin.NextMeetingFollowingMeetingText, + indexOfNext < meetings.Count + ? meetings[indexOfNext].StartTime.ToShortTimeString() + : "No more meetings today"); TriList.SetSigFalseAction(UIBoolJoin.NextMeetingModalClosePress, () => { @@ -1421,7 +1416,7 @@ namespace PepperDash.Essentials TriList.StringInput[UIStringJoin.CurrentSourceName].StringValue = routeInfo.PreferredName; TriList.StringInput[UIStringJoin.CurrentSourceIcon].StringValue = routeInfo.Icon; // defaults to "blank" - //code that was here was unreachable becuase if we get past the if statement, routeInfo is not null...no third option. + //code that was here was unreachable becuase if we get past the if statement, routeInfo is // Connect controls if (routeInfo.SourceDevice != null)