diff --git a/Essentials/PepperDashEssentials/UI/JoinConstants/UIBoolJoin.cs b/Essentials/PepperDashEssentials/UI/JoinConstants/UIBoolJoin.cs
index 89aa0372..bc8bc7d7 100644
--- a/Essentials/PepperDashEssentials/UI/JoinConstants/UIBoolJoin.cs
+++ b/Essentials/PepperDashEssentials/UI/JoinConstants/UIBoolJoin.cs
@@ -86,7 +86,7 @@ namespace PepperDash.Essentials
///
/// 1201
///
- public const uint VCKeypadVisible = 1201;
+ public const uint VCKeypadWithFavoritesVisible = 1201;
///
/// 1202
///
@@ -95,6 +95,10 @@ namespace PepperDash.Essentials
///
///
public const uint VCStagingActivePopoverVisible = 1203;
+ ///
+ ///
+ ///
+ public const uint VCKeypadVisible = 1204;
///
/// 1205
///
diff --git a/Essentials/PepperDashEssentials/UIDrivers/VC/EssentialsVideoCodecUiDriver.cs b/Essentials/PepperDashEssentials/UIDrivers/VC/EssentialsVideoCodecUiDriver.cs
index ebca3a35..c83b1e02 100644
--- a/Essentials/PepperDashEssentials/UIDrivers/VC/EssentialsVideoCodecUiDriver.cs
+++ b/Essentials/PepperDashEssentials/UIDrivers/VC/EssentialsVideoCodecUiDriver.cs
@@ -71,6 +71,8 @@ namespace PepperDash.Essentials.UIDrivers.VC
eKeypadMode KeypadMode;
+ bool CodecHasFavorites;
+
///
///
///
@@ -87,6 +89,7 @@ namespace PepperDash.Essentials.UIDrivers.VC
SetupDialKeypad();
ActiveCallsSRL = new SubpageReferenceList(TriList, UISmartObjectJoin.CodecActiveCallsHeaderList, 3, 3, 3);
SetupRecentCallsList();
+ SetupFavorites();
codec.CallStatusChange += new EventHandler(Codec_CallStatusChange);
@@ -100,7 +103,10 @@ namespace PepperDash.Essentials.UIDrivers.VC
LocalPrivacyIsMuted = new BoolFeedback(() => false);
VCControlsInterlock = new JoinedSigInterlock(triList);
- VCControlsInterlock.SetButDontShow(UIBoolJoin.VCKeypadVisible);
+ if(CodecHasFavorites)
+ VCControlsInterlock.SetButDontShow(UIBoolJoin.VCKeypadWithFavoritesVisible);
+ else
+ VCControlsInterlock.SetButDontShow(UIBoolJoin.VCKeypadVisible);
StagingBarsInterlock = new JoinedSigInterlock(triList);
StagingBarsInterlock.SetButDontShow(UIBoolJoin.VCStagingInactivePopoverVisible);
@@ -156,7 +162,7 @@ namespace PepperDash.Essentials.UIDrivers.VC
KeypadMode = eKeypadMode.DTMF;
DialStringBuilder.Remove(0, DialStringBuilder.Length);
DialStringFeedback.FireUpdate();
- TriList.SetBool(UIBoolJoin.VCKeypadBackspaceVisible, false);
+ TriList.SetBool(UIBoolJoin.VCKeypadVisible, false);
Parent.ShowNotificationRibbon("Connected", 2000);
StagingButtonsFeedbackInterlock.ShowInterlocked(UIBoolJoin.VCStagingKeypadPress);
VCControlsInterlock.ShowInterlocked(UIBoolJoin.VCKeypadVisible);
@@ -175,6 +181,7 @@ namespace PepperDash.Essentials.UIDrivers.VC
if (!Codec.IsInCall)
{
KeypadMode = eKeypadMode.Dial;
+ ShowKeypad();
DialStringBuilder.Remove(0, DialStringBuilder.Length);
DialStringFeedback.FireUpdate();
Parent.ShowNotificationRibbon("Disonnected", 2000);
@@ -382,6 +389,38 @@ namespace PepperDash.Essentials.UIDrivers.VC
}
}
+ ///
+ ///
+ ///
+ void SetupFavorites()
+ {
+ var c = Codec as IHasCallFavorites;
+ if (c != null && c.CallFavorites != null)
+ {
+ CodecHasFavorites = true;
+ var favs = c.CallFavorites.Favorites;
+ for (uint i = 0; i <= 3; i++)
+ {
+ if (i < favs.Count)
+ {
+ var fav = favs[(int)i];
+ TriList.SetString(1211 + i, fav.Name);
+ TriList.SetBool(1221 + i, true);
+ TriList.SetSigFalseAction(1211 + i, () =>
+ {
+ Codec.Dial(fav.Number);
+ });
+ }
+ else
+ TriList.SetBool(1221 + i, false);
+
+ }
+ }
+ }
+
+ ///
+ ///
+ ///
void SetupDirectoryList()
{
var codec = Codec as IHasDirectory;
@@ -456,7 +495,10 @@ namespace PepperDash.Essentials.UIDrivers.VC
void ShowKeypad()
{
- VCControlsInterlock.ShowInterlocked(UIBoolJoin.VCKeypadVisible);
+ if(CodecHasFavorites)
+ VCControlsInterlock.ShowInterlocked(UIBoolJoin.VCKeypadWithFavoritesVisible);
+ else
+ VCControlsInterlock.ShowInterlocked(UIBoolJoin.VCKeypadVisible);
StagingButtonsFeedbackInterlock.ShowInterlocked(UIBoolJoin.VCStagingKeypadPress);
}
diff --git a/Release Package/PepperDashEssentials.cpz b/Release Package/PepperDashEssentials.cpz
index e558124b..2dafd7e0 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 83fd5582..951fd7da 100644
Binary files a/Release Package/PepperDashEssentials.dll and b/Release Package/PepperDashEssentials.dll differ