mirror of
https://github.com/PepperDash/Essentials.git
synced 2026-02-14 20:24:57 +00:00
more work on dualdisplay UI driver
This commit is contained in:
@@ -8,6 +8,7 @@ using Crestron.SimplSharpPro.DeviceSupport;
|
|||||||
using PepperDash.Essentials;
|
using PepperDash.Essentials;
|
||||||
using PepperDash.Essentials.Core;
|
using PepperDash.Essentials.Core;
|
||||||
using PepperDash.Essentials.Core.PageManagers;
|
using PepperDash.Essentials.Core.PageManagers;
|
||||||
|
using PepperDash.Essentials.Core.Touchpanels.Keyboards;
|
||||||
using PepperDash.Essentials.UIDrivers;
|
using PepperDash.Essentials.UIDrivers;
|
||||||
using PepperDash.Essentials.UIDrivers.VC;
|
using PepperDash.Essentials.UIDrivers.VC;
|
||||||
|
|
||||||
@@ -47,10 +48,32 @@ namespace PepperDashEssentials.UIDrivers.EssentialsDualDisplay
|
|||||||
private EssentialsVideoCodecUiDriver _vcDriver;
|
private EssentialsVideoCodecUiDriver _vcDriver;
|
||||||
private EssentialsHuddleTechPageDriver _techDriver;
|
private EssentialsHuddleTechPageDriver _techDriver;
|
||||||
|
|
||||||
|
public bool ShowVolumeGauge { get; set; }
|
||||||
|
public uint PowerOffTimeout { get; set; }
|
||||||
|
public string DefaultRoomKey { get; set; }
|
||||||
|
|
||||||
|
public EssentialsRoomBase CurrentRoom
|
||||||
|
{
|
||||||
|
get { return _currentRoom; }
|
||||||
|
set { SetCurrentRoom(value); }
|
||||||
|
}
|
||||||
|
|
||||||
|
public SubpageReferenceList MeetingOrContactMethodModalSrl { get; set; }
|
||||||
|
public JoinedSigInterlock PopupInterlock { get; private set; }
|
||||||
|
public HabaneroKeyboardController Keyboard { get; private set; }
|
||||||
|
|
||||||
public EssentialsDualDisplayPanelAvFunctionsDriver(PanelDriverBase parent, CrestronTouchpanelPropertiesConfig config) : base(parent.TriList)
|
public EssentialsDualDisplayPanelAvFunctionsDriver(PanelDriverBase parent, CrestronTouchpanelPropertiesConfig config) : base(parent.TriList)
|
||||||
{
|
{
|
||||||
|
_config = config;
|
||||||
|
_parent = parent;
|
||||||
|
|
||||||
|
_sourceStagingSrl = new SubpageReferenceList(TriList, UISmartObjectJoin.SourceStagingSRL, 3, 3, 3);
|
||||||
|
_activityFooterSrl = new SubpageReferenceList(TriList, UISmartObjectJoin.ActivityFooterSRL, 3, 3, 3);
|
||||||
|
_callButtonSig = _activityFooterSrl.BoolInputSig(2, 1);
|
||||||
|
_shareButtonSig = _activityFooterSrl.BoolInputSig(1, 1);
|
||||||
|
_endMeetingButtonSig = _activityFooterSrl.BoolInputSig(3, 1);
|
||||||
|
|
||||||
|
MeetingOrContactMethodModalSrl = new SubpageReferenceList(TriList, UISmartObjectJoin.MeetingListSRL, 3, 3, 3);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -187,7 +187,7 @@ namespace PepperDash.Essentials
|
|||||||
get
|
get
|
||||||
{
|
{
|
||||||
return _techDriver ?? (_techDriver = new EssentialsHuddleTechPageDriver(TriList,
|
return _techDriver ?? (_techDriver = new EssentialsHuddleTechPageDriver(TriList,
|
||||||
CurrentRoom.PropertiesConfig.Tech));
|
_currentRoom.PropertiesConfig.Tech));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -196,10 +196,10 @@ namespace PepperDash.Essentials
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
///
|
///
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public EssentialsHuddleVtc1Room CurrentRoom
|
public EssentialsRoomBase CurrentRoom
|
||||||
{
|
{
|
||||||
get { return _currentRoom; }
|
get { return _currentRoom; }
|
||||||
set { SetCurrentRoom(value); }
|
set { SetCurrentRoom(value as EssentialsHuddleVtc1Room); }
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -344,8 +344,8 @@ namespace PepperDash.Essentials
|
|||||||
TriList.SetBool(UIBoolJoin.ActivityFooterVisible, true);
|
TriList.SetBool(UIBoolJoin.ActivityFooterVisible, true);
|
||||||
|
|
||||||
// Privacy mute button
|
// Privacy mute button
|
||||||
TriList.SetSigFalseAction(UIBoolJoin.Volume1SpeechMutePressAndFB, CurrentRoom.PrivacyModeToggle);
|
TriList.SetSigFalseAction(UIBoolJoin.Volume1SpeechMutePressAndFB, _currentRoom.PrivacyModeToggle);
|
||||||
CurrentRoom.PrivacyModeIsOnFeedback.LinkInputSig(
|
_currentRoom.PrivacyModeIsOnFeedback.LinkInputSig(
|
||||||
TriList.BooleanInput[UIBoolJoin.Volume1SpeechMutePressAndFB]);
|
TriList.BooleanInput[UIBoolJoin.Volume1SpeechMutePressAndFB]);
|
||||||
|
|
||||||
// Default to showing rooms/sources now.
|
// Default to showing rooms/sources now.
|
||||||
@@ -406,7 +406,7 @@ namespace PepperDash.Essentials
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
var videoCodecBase = CurrentRoom.ScheduleSource as VideoCodecBase;
|
var videoCodecBase = _currentRoom.ScheduleSource as VideoCodecBase;
|
||||||
if (videoCodecBase != null && videoCodecBase.IsInCall)
|
if (videoCodecBase != null && videoCodecBase.IsInCall)
|
||||||
{
|
{
|
||||||
PopupInterlock.ShowInterlockedWithToggle(UIBoolJoin.HeaderActiveCallsListVisible);
|
PopupInterlock.ShowInterlockedWithToggle(UIBoolJoin.HeaderActiveCallsListVisible);
|
||||||
@@ -462,7 +462,7 @@ namespace PepperDash.Essentials
|
|||||||
|
|
||||||
private void SetupNextMeetingTimer()
|
private void SetupNextMeetingTimer()
|
||||||
{
|
{
|
||||||
var ss = CurrentRoom.ScheduleSource;
|
var ss = _currentRoom.ScheduleSource;
|
||||||
if (ss != null)
|
if (ss != null)
|
||||||
{
|
{
|
||||||
_nextMeetingTimer = new CTimer(o => ShowNextMeetingTimerCallback(), null, 0, 60000);
|
_nextMeetingTimer = new CTimer(o => ShowNextMeetingTimerCallback(), null, 0, 60000);
|
||||||
@@ -477,7 +477,7 @@ namespace PepperDash.Essentials
|
|||||||
// Every 60 seconds, refresh the calendar
|
// Every 60 seconds, refresh the calendar
|
||||||
RefreshMeetingsList();
|
RefreshMeetingsList();
|
||||||
// check meetings list for the closest, joinable meeting
|
// check meetings list for the closest, joinable meeting
|
||||||
var ss = CurrentRoom.ScheduleSource;
|
var ss = _currentRoom.ScheduleSource;
|
||||||
var meetings = ss.CodecSchedule.Meetings;
|
var meetings = ss.CodecSchedule.Meetings;
|
||||||
|
|
||||||
if (meetings.Count > 0)
|
if (meetings.Count > 0)
|
||||||
@@ -574,7 +574,7 @@ namespace PepperDash.Essentials
|
|||||||
{
|
{
|
||||||
Action dialAction = () =>
|
Action dialAction = () =>
|
||||||
{
|
{
|
||||||
var d = CurrentRoom.ScheduleSource as VideoCodecBase;
|
var d = _currentRoom.ScheduleSource as VideoCodecBase;
|
||||||
if (d != null)
|
if (d != null)
|
||||||
{
|
{
|
||||||
d.Dial(meeting);
|
d.Dial(meeting);
|
||||||
@@ -726,7 +726,7 @@ namespace PepperDash.Essentials
|
|||||||
{
|
{
|
||||||
if (!CurrentRoom.OnFeedback.BoolValue)
|
if (!CurrentRoom.OnFeedback.BoolValue)
|
||||||
{
|
{
|
||||||
CurrentRoom.RunDefaultCallRoute();
|
_currentRoom.RunDefaultCallRoute();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1054,7 +1054,7 @@ namespace PepperDash.Essentials
|
|||||||
var essentialsPanelMainInterfaceDriver = _parent as EssentialsPanelMainInterfaceDriver;
|
var essentialsPanelMainInterfaceDriver = _parent as EssentialsPanelMainInterfaceDriver;
|
||||||
if (essentialsPanelMainInterfaceDriver != null)
|
if (essentialsPanelMainInterfaceDriver != null)
|
||||||
{
|
{
|
||||||
essentialsPanelMainInterfaceDriver.HeaderDriver.SetupHeaderButtons(this, CurrentRoom);
|
essentialsPanelMainInterfaceDriver.HeaderDriver.SetupHeaderButtons(this, _currentRoom);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -1066,7 +1066,7 @@ namespace PepperDash.Essentials
|
|||||||
|
|
||||||
private void SetCurrentRoom(EssentialsHuddleVtc1Room room)
|
private void SetCurrentRoom(EssentialsHuddleVtc1Room room)
|
||||||
{
|
{
|
||||||
if (_currentRoom == room)
|
if (_currentRoom == room || room == null)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -1095,7 +1095,7 @@ namespace PepperDash.Essentials
|
|||||||
/// <param name="e"></param>
|
/// <param name="e"></param>
|
||||||
private void CurrentRoom_InCallFeedback_OutputChange(object sender, EventArgs e)
|
private void CurrentRoom_InCallFeedback_OutputChange(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
var inCall = CurrentRoom.InCallFeedback.BoolValue;
|
var inCall = _currentRoom.InCallFeedback.BoolValue;
|
||||||
if (inCall)
|
if (inCall)
|
||||||
{
|
{
|
||||||
// Check if transitioning to in call - and non-sharable source is in use
|
// Check if transitioning to in call - and non-sharable source is in use
|
||||||
@@ -1114,7 +1114,7 @@ namespace PepperDash.Essentials
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
private void SetupSourceList()
|
private void SetupSourceList()
|
||||||
{
|
{
|
||||||
var inCall = CurrentRoom.InCallFeedback.BoolValue;
|
var inCall = _currentRoom.InCallFeedback.BoolValue;
|
||||||
var config = ConfigReader.ConfigObject.SourceLists;
|
var config = ConfigReader.ConfigObject.SourceLists;
|
||||||
if (config.ContainsKey(_currentRoom.SourceListKey))
|
if (config.ContainsKey(_currentRoom.SourceListKey))
|
||||||
{
|
{
|
||||||
@@ -1224,7 +1224,7 @@ namespace PepperDash.Essentials
|
|||||||
TriList.SetString(UIStringJoin.MeetingsOrContactMethodListTitleText, "Today's Meetings");
|
TriList.SetString(UIStringJoin.MeetingsOrContactMethodListTitleText, "Today's Meetings");
|
||||||
|
|
||||||
ushort i = 0;
|
ushort i = 0;
|
||||||
foreach (var m in CurrentRoom.ScheduleSource.CodecSchedule.Meetings)
|
foreach (var m in _currentRoom.ScheduleSource.CodecSchedule.Meetings)
|
||||||
{
|
{
|
||||||
i++;
|
i++;
|
||||||
MeetingOrContactMethodModalSrl.StringInputSig(i, 1).StringValue = m.StartTime.ToShortTimeString();
|
MeetingOrContactMethodModalSrl.StringInputSig(i, 1).StringValue = m.StartTime.ToShortTimeString();
|
||||||
@@ -1238,7 +1238,7 @@ namespace PepperDash.Essentials
|
|||||||
{
|
{
|
||||||
PopupInterlock.Hide();
|
PopupInterlock.Hide();
|
||||||
ActivityCallButtonPressed();
|
ActivityCallButtonPressed();
|
||||||
var d = CurrentRoom.ScheduleSource as VideoCodecBase;
|
var d = _currentRoom.ScheduleSource as VideoCodecBase;
|
||||||
if (d != null)
|
if (d != null)
|
||||||
{
|
{
|
||||||
RoomOnAndDialMeeting(mm);
|
RoomOnAndDialMeeting(mm);
|
||||||
@@ -1558,7 +1558,7 @@ namespace PepperDash.Essentials
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public interface IAVWithVCDriver : IAVDriver
|
public interface IAVWithVCDriver : IAVDriver
|
||||||
{
|
{
|
||||||
EssentialsHuddleVtc1Room CurrentRoom { get; }
|
EssentialsRoomBase CurrentRoom { get; }
|
||||||
|
|
||||||
HabaneroKeyboardController Keyboard { get; }
|
HabaneroKeyboardController Keyboard { get; }
|
||||||
SubpageReferenceList MeetingOrContactMethodModalSrl { get; }
|
SubpageReferenceList MeetingOrContactMethodModalSrl { get; }
|
||||||
|
|||||||
Reference in New Issue
Block a user