diff --git a/Essentials/PepperDashEssentials/UI/JoinConstants/UIBoolJoin.cs b/Essentials/PepperDashEssentials/UI/JoinConstants/UIBoolJoin.cs index 2e3c93d5..26cc59ea 100644 --- a/Essentials/PepperDashEssentials/UI/JoinConstants/UIBoolJoin.cs +++ b/Essentials/PepperDashEssentials/UI/JoinConstants/UIBoolJoin.cs @@ -545,6 +545,10 @@ namespace PepperDash.Essentials /// public const uint HeaderActiveCallsListVisible = 15066; /// + /// 15067 + /// + public const uint NotificationRibbonVisible = 15067; + /// /// 15083 - Press for Call help desk on AC/VC /// public const uint HelpPageShowCallButtonPress = 15083; diff --git a/Essentials/PepperDashEssentials/UI/JoinConstants/UIStringlJoin.cs b/Essentials/PepperDashEssentials/UI/JoinConstants/UIStringlJoin.cs index d588b38b..c49fae06 100644 --- a/Essentials/PepperDashEssentials/UI/JoinConstants/UIStringlJoin.cs +++ b/Essentials/PepperDashEssentials/UI/JoinConstants/UIStringlJoin.cs @@ -94,6 +94,11 @@ namespace PepperDash.Essentials /// public const uint SourceBackgroundOverlayTitle = 3914; + /// + /// 3915 + /// + public const uint NotificationRibbonText = 3915; + /// /// 3922 /// diff --git a/Essentials/PepperDashEssentials/UIDrivers/EssentialsHuddleVTC/HuddleVTCPanelAvFunctionsDriver.cs b/Essentials/PepperDashEssentials/UIDrivers/EssentialsHuddleVTC/HuddleVTCPanelAvFunctionsDriver.cs index 45d7de30..3a0f6183 100644 --- a/Essentials/PepperDashEssentials/UIDrivers/EssentialsHuddleVTC/HuddleVTCPanelAvFunctionsDriver.cs +++ b/Essentials/PepperDashEssentials/UIDrivers/EssentialsHuddleVTC/HuddleVTCPanelAvFunctionsDriver.cs @@ -125,6 +125,8 @@ namespace PepperDash.Essentials PepperDash.Essentials.UIDrivers.VC.EssentialsVideoCodecUiDriver VCDriver; + CTimer RibbonTimer; + public PepperDash.Essentials.Core.Touchpanels.Keyboards.HabaneroKeyboardController Keyboard { get; private set; } /// @@ -342,6 +344,39 @@ namespace PepperDash.Essentials base.Hide(); } + /// + /// Reveals a message on the notification ribbon until cleared + /// + /// Text to display + /// Time in ms to display. 0 to keep on screen + public void ShowNotificationRibbon(string message, int timeout) + { + TriList.SetString(UIStringJoin.NotificationRibbonText, message); + TriList.SetBool(UIBoolJoin.NotificationRibbonVisible, true); + if (timeout > 0) + { + if (RibbonTimer != null) + RibbonTimer.Stop(); + RibbonTimer = new CTimer(o => { + TriList.SetBool(UIBoolJoin.NotificationRibbonVisible, false); + RibbonTimer = null; + }, timeout); + } + } + + /// + /// Hides the notification ribbon + /// + public void HideNotificationRibbon() + { + TriList.SetBool(UIBoolJoin.NotificationRibbonVisible, false); + if (RibbonTimer != null) + { + RibbonTimer.Stop(); + RibbonTimer = null; + } + } + /// /// When the room is off, set the footer SRL /// @@ -952,5 +987,7 @@ namespace PepperDash.Essentials { PepperDash.Essentials.Core.Touchpanels.Keyboards.HabaneroKeyboardController Keyboard { get; } JoinedSigInterlock PopupInterlock { get; } + void ShowNotificationRibbon(string message, int timeout); + void HideNotificationRibbon(); } } diff --git a/Essentials/PepperDashEssentials/UIDrivers/VC/EssentialsVideoCodecUiDriver.cs b/Essentials/PepperDashEssentials/UIDrivers/VC/EssentialsVideoCodecUiDriver.cs index f7e47cd6..0ef34d84 100644 --- a/Essentials/PepperDashEssentials/UIDrivers/VC/EssentialsVideoCodecUiDriver.cs +++ b/Essentials/PepperDashEssentials/UIDrivers/VC/EssentialsVideoCodecUiDriver.cs @@ -131,13 +131,16 @@ namespace PepperDash.Essentials.UIDrivers.VC DialStringBuilder.Remove(0, DialStringBuilder.Length); DialStringFeedback.FireUpdate(); TriList.SetBool(UIBoolJoin.VCKeypadBackspaceVisible, false); + Parent.ShowNotificationRibbon("Connected", 2000); break; case eCodecCallStatus.Connecting: // fire at SRL item Debug.Console(1, "*#* UI: Call Connecting {0}", call.Name); + Parent.ShowNotificationRibbon("Connecting", 0); break; case eCodecCallStatus.Dialing: Debug.Console(1, "*#* UI: Call Dialing {0}", call.Name); + Parent.ShowNotificationRibbon("Dialing", 0); break; case eCodecCallStatus.Disconnected: Debug.Console(1, "*#* UI: Call Disconnecting {0}", call.Name); @@ -146,6 +149,7 @@ namespace PepperDash.Essentials.UIDrivers.VC KeypadMode = eKeypadMode.Dial; DialStringBuilder.Remove(0, DialStringBuilder.Length); DialStringFeedback.FireUpdate(); + Parent.ShowNotificationRibbon("Disonnected", 2000); } break; case eCodecCallStatus.Disconnecting: @@ -243,6 +247,7 @@ namespace PepperDash.Essentials.UIDrivers.VC { VCControlsInterlock.Show(); StagingBarInterlock.Show(); + DialStringFeedback.FireUpdate(); base.Show(); } @@ -373,24 +378,6 @@ namespace PepperDash.Essentials.UIDrivers.VC VCControlsInterlock.ShowInterlocked(UIBoolJoin.VCDirectoryVisible); StagingButtonFeedbackInterlock.ShowInterlocked(UIBoolJoin.VCStagingDirectoryPress); - TriList.SetSigFalseAction(UIBoolJoin.CodecDirectorySearchTextPress, () => - { - var kb = Parent.Keyboard; - kb.OutputFeedback.OutputChange += new EventHandler(DirectoryKeyboardChange); - kb.HideAction += () => - { - kb.OutputFeedback.OutputChange -= DirectoryKeyboardChange; - }; - - }); - } - - /// - /// - /// - void DirectoryKeyboardChange(object sender, EventArgs e) - { - } void ShowRecents() @@ -469,7 +456,11 @@ namespace PepperDash.Essentials.UIDrivers.VC /// /// string GetFormattedDialString(string ds) - { + { + if (DialStringBuilder.Length == 0 && !Codec.IsInCall) + { + return "Dial or touch to enter address"; + } if(Regex.Match(ds, @"^\d{4,7}$").Success) // 456-7890 return string.Format("{0}-{1}", ds.Substring(0, 3), ds.Substring(3)); if (Regex.Match(ds, @"^9\d{4,7}$").Success) // 456-7890 diff --git a/Release Package/PepperDashEssentials.cpz b/Release Package/PepperDashEssentials.cpz index 9481f0f4..2b9a781e 100644 Binary files a/Release Package/PepperDashEssentials.cpz and b/Release Package/PepperDashEssentials.cpz differ diff --git a/Release Package/PepperDashEssentials.dll b/Release Package/PepperDashEssentials.dll index 963be8ff..a4dee1dd 100644 Binary files a/Release Package/PepperDashEssentials.dll and b/Release Package/PepperDashEssentials.dll differ