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