mirror of
https://github.com/PepperDash/Essentials.git
synced 2026-04-12 03:57:27 +00:00
Updates necessary to make screen saver disappear on incoming call
This commit is contained in:
parent
b1040b56d5
commit
c9fce06bd7
5 changed files with 31 additions and 23 deletions
|
|
@ -14,6 +14,13 @@ namespace PepperDash.Essentials
|
|||
/// </summary>
|
||||
public class ScreenSaverController : PanelDriverBase
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// The parent driver for this
|
||||
/// </summary>
|
||||
EssentialsPanelMainInterfaceDriver Parent;
|
||||
|
||||
|
||||
CTimer PositionTimer;
|
||||
|
||||
uint PositionTimeoutMs;
|
||||
|
|
@ -25,36 +32,28 @@ namespace PepperDash.Essentials
|
|||
public ScreenSaverController(EssentialsPanelMainInterfaceDriver parent, CrestronTouchpanelPropertiesConfig config)
|
||||
: base(parent.TriList)
|
||||
{
|
||||
Parent = parent;
|
||||
|
||||
PositionTimeoutMs = config.ScreenSaverMovePositionIntervalMs;
|
||||
|
||||
TriList.SetSigFalseAction(UIBoolJoin.MCScreenSaverClosePress, () => this.Hide());
|
||||
|
||||
PositionJoins = new List<uint>()
|
||||
{ UIBoolJoin.MCScreenSaverPosition1Visible, UIBoolJoin.MCScreenSaverPosition2Visible, UIBoolJoin.MCScreenSaverPosition3Visible, UIBoolJoin.MCScreenSaverPosition4Visible };
|
||||
|
||||
CrestronConsole.AddNewConsoleCommand((o) => Show(), "showscreensaver", "Shows Panel Screensaver", ConsoleAccessLevelEnum.AccessOperator);
|
||||
}
|
||||
|
||||
public override void Show()
|
||||
{
|
||||
TriList.SetBool(UIBoolJoin.MCScreenSaverVisible, true);
|
||||
Parent.AvDriver.PopupInterlock.ShowInterlockedWithToggle(UIBoolJoin.MCScreenSaverVisible);
|
||||
//TriList.SetBool(UIBoolJoin.MCScreenSaverVisible, true);
|
||||
|
||||
CurrentPositionIndex = 0;
|
||||
SetCurrentPosition();
|
||||
StartPositionTimer();
|
||||
|
||||
base.Show();
|
||||
}
|
||||
|
||||
public override void Hide()
|
||||
{
|
||||
PositionTimer.Stop();
|
||||
PositionTimer.Dispose();
|
||||
PositionTimer = null;
|
||||
|
||||
ClearAllPositions();
|
||||
|
||||
TriList.SetBool(UIBoolJoin.MCScreenSaverVisible, false);
|
||||
Parent.AvDriver.PopupInterlock.HideAndClear();
|
||||
//TriList.SetBool(UIBoolJoin.MCScreenSaverVisible, false);
|
||||
|
||||
base.Hide();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -391,6 +391,15 @@ namespace PepperDash.Essentials.UIDrivers.VC
|
|||
icon = "Camera";
|
||||
msg = string.Format("Incoming video call from: {0}", call.Name);
|
||||
}
|
||||
|
||||
if (Parent.PopupInterlock.IsShown)
|
||||
{
|
||||
if (Parent.PopupInterlock.CurrentJoin == UIBoolJoin.MCScreenSaverVisible)
|
||||
{
|
||||
Parent.PopupInterlock.HideAndClear();
|
||||
}
|
||||
}
|
||||
|
||||
IncomingCallModal.PresentModalDialog(2, "Incoming Call", icon, msg,
|
||||
"Ignore", "Accept", false, false, b =>
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue