mirror of
https://github.com/PepperDash/Essentials.git
synced 2026-02-16 21:24:54 +00:00
add dual display presentation driver
This commit is contained in:
@@ -153,10 +153,10 @@
|
|||||||
<Compile Include="UIDrivers\Environment Drivers\EssentialsEnvironmentDriver.cs" />
|
<Compile Include="UIDrivers\Environment Drivers\EssentialsEnvironmentDriver.cs" />
|
||||||
<Compile Include="UIDrivers\Environment Drivers\EssentialsLightingDriver.cs" />
|
<Compile Include="UIDrivers\Environment Drivers\EssentialsLightingDriver.cs" />
|
||||||
<Compile Include="UIDrivers\Environment Drivers\EssentialsShadeDriver.cs" />
|
<Compile Include="UIDrivers\Environment Drivers\EssentialsShadeDriver.cs" />
|
||||||
|
<Compile Include="UIDrivers\EssentialsDualDisplay\EssentialsDualDisplayPanelAvFunctionsDriver.cs" />
|
||||||
<Compile Include="UIDrivers\Essentials\EssentialsHeaderDriver.cs" />
|
<Compile Include="UIDrivers\Essentials\EssentialsHeaderDriver.cs" />
|
||||||
<Compile Include="UIDrivers\JoinedSigInterlock.cs" />
|
<Compile Include="UIDrivers\JoinedSigInterlock.cs" />
|
||||||
<Compile Include="UIDrivers\SigInterlock.cs" />
|
<Compile Include="UIDrivers\SigInterlock.cs" />
|
||||||
<Compile Include="UIDrivers\EssentialsHuddleVTC\EssentialsHuddlePresentationUiDriver.cs" />
|
|
||||||
<Compile Include="UIDrivers\EssentialsHuddle\EssentialsHuddleTechPageDriver.cs" />
|
<Compile Include="UIDrivers\EssentialsHuddle\EssentialsHuddleTechPageDriver.cs" />
|
||||||
<Compile Include="UI\HttpLogoServer.cs" />
|
<Compile Include="UI\HttpLogoServer.cs" />
|
||||||
<Compile Include="UI\SmartObjectHeaderButtonList.cs" />
|
<Compile Include="UI\SmartObjectHeaderButtonList.cs" />
|
||||||
@@ -214,9 +214,6 @@
|
|||||||
<Name>Essentials Devices Common</Name>
|
<Name>Essentials Devices Common</Name>
|
||||||
</ProjectReference>
|
</ProjectReference>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
|
||||||
<Folder Include="UIDrivers\EssentialsDualDisplay\" />
|
|
||||||
</ItemGroup>
|
|
||||||
<Import Project="$(MSBuildBinPath)\Microsoft.CompactFramework.CSharp.targets" />
|
<Import Project="$(MSBuildBinPath)\Microsoft.CompactFramework.CSharp.targets" />
|
||||||
<ProjectExtensions>
|
<ProjectExtensions>
|
||||||
<VisualStudio>
|
<VisualStudio>
|
||||||
|
|||||||
@@ -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<BoolInputSig> _currentDisplayModeSigsInUse = new List<BoolInputSig>();
|
||||||
|
private readonly BoolInputSig _endMeetingButtonSig;
|
||||||
|
private readonly Dictionary<object, PageManager> _pageManagers = new Dictionary<object, PageManager>();
|
||||||
|
private readonly PanelDriverBase _parent;
|
||||||
|
private readonly BoolInputSig _shareButtonSig;
|
||||||
|
|
||||||
|
private readonly SubpageReferenceList _sourceStagingSrl;
|
||||||
|
|
||||||
|
private readonly CrestronTouchpanelPropertiesConfig _config;
|
||||||
|
private BoolFeedback _callSharingInfoVisibleFeedback;
|
||||||
|
private List<PanelDriverBase> _childDrivers = new List<PanelDriverBase>();
|
||||||
|
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)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -128,7 +128,7 @@ namespace PepperDash.Essentials
|
|||||||
|
|
||||||
private EssentialsHuddleVtc1Room _currentRoom;
|
private EssentialsHuddleVtc1Room _currentRoom;
|
||||||
|
|
||||||
private EssentialsHuddleTechPageDriver _TechDriver;
|
private EssentialsHuddleTechPageDriver _techDriver;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Constructor
|
/// Constructor
|
||||||
@@ -186,7 +186,7 @@ namespace PepperDash.Essentials
|
|||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
return _TechDriver ?? (_TechDriver = new EssentialsHuddleTechPageDriver(TriList,
|
return _techDriver ?? (_techDriver = new EssentialsHuddleTechPageDriver(TriList,
|
||||||
CurrentRoom.PropertiesConfig.Tech));
|
CurrentRoom.PropertiesConfig.Tech));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -530,15 +530,10 @@ namespace PepperDash.Essentials
|
|||||||
var indexOfNext = meetings.IndexOf(meeting) + 1;
|
var indexOfNext = meetings.IndexOf(meeting) + 1;
|
||||||
|
|
||||||
// indexOf = 3, 4 meetings :
|
// indexOf = 3, 4 meetings :
|
||||||
if (indexOfNext < meetings.Count)
|
|
||||||
{
|
|
||||||
TriList.SetString(UIStringJoin.NextMeetingFollowingMeetingText,
|
TriList.SetString(UIStringJoin.NextMeetingFollowingMeetingText,
|
||||||
meetings[indexOfNext].StartTime.ToShortTimeString());
|
indexOfNext < meetings.Count
|
||||||
}
|
? meetings[indexOfNext].StartTime.ToShortTimeString()
|
||||||
else
|
: "No more meetings today");
|
||||||
{
|
|
||||||
TriList.SetString(UIStringJoin.NextMeetingFollowingMeetingText, "No more meetings today");
|
|
||||||
}
|
|
||||||
|
|
||||||
TriList.SetSigFalseAction(UIBoolJoin.NextMeetingModalClosePress, () =>
|
TriList.SetSigFalseAction(UIBoolJoin.NextMeetingModalClosePress, () =>
|
||||||
{
|
{
|
||||||
@@ -1421,7 +1416,7 @@ namespace PepperDash.Essentials
|
|||||||
TriList.StringInput[UIStringJoin.CurrentSourceName].StringValue = routeInfo.PreferredName;
|
TriList.StringInput[UIStringJoin.CurrentSourceName].StringValue = routeInfo.PreferredName;
|
||||||
TriList.StringInput[UIStringJoin.CurrentSourceIcon].StringValue = routeInfo.Icon; // defaults to "blank"
|
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
|
// Connect controls
|
||||||
if (routeInfo.SourceDevice != null)
|
if (routeInfo.SourceDevice != null)
|
||||||
|
|||||||
Reference in New Issue
Block a user