fixes ecs-521 ecs-522 ecs-526

This commit is contained in:
Neil Dorin
2017-10-13 16:09:22 -06:00
parent bff6d9e68d
commit f37d1e18b2
4 changed files with 72 additions and 28 deletions

View File

@@ -447,11 +447,11 @@ namespace PepperDash.Essentials
/// <summary>
/// 15024
/// </summary>
public const uint HeaderCallStatusRightPositionVisible = 15024;
public const uint HeaderCallStatusLeftPositionVisible = 15024;
/// <summary>
/// 15025
/// </summary>
public const uint HeaderCallStatusLeftPositionVisible = 15025;
public const uint HeaderCallStatusRightPositionVisible = 15025;
/// <summary>
/// 15026
/// </summary>

View File

@@ -162,7 +162,7 @@ namespace PepperDash.Essentials
/// <summary>
/// 3916 The "active call" label
/// </summary>
public const uint HeaderCallLabel = 3916;
public const uint HeaderCallStatusLabel = 3916;
/// <summary>
/// 3922

View File

@@ -63,10 +63,9 @@ namespace PepperDash.Essentials
BoolInputSig ShareButtonSig;
BoolInputSig EndMeetingButtonSig;
public HeaderListButton HeaderCallButton { get; private set; }
public HeaderListButton HeaderGearButton { get; private set; }
HeaderListButton HeaderCallButton;
HeaderListButton HeaderGearButton;
StringFeedback HeaderCallLabelTextFeedback { get; private set; }
/// <summary>
/// The parent driver for this
@@ -305,6 +304,9 @@ namespace PepperDash.Essentials
(CurrentRoom.DefaultDisplay as IPower).PowerToggle();
});
TriList.SetSigFalseAction(UIBoolJoin.HeaderCallStatusButtonPress, () =>
PopupInterlock.ShowInterlockedWithToggle(UIBoolJoin.HeaderActiveCallsListVisible));
SetupNextMeetingTimer();
base.Show();
@@ -964,11 +966,52 @@ namespace PepperDash.Essentials
blankBut.OutputSig.SetSigFalseAction(() => { });
}
// Call Status Label/Button
// Set Call Status Subpage Position
//HeaderCallLabel = new S
if (nextIndex == 1)
{
// Set to right position
TriList.SetBool(UIBoolJoin.HeaderCallStatusLeftPositionVisible, false);
TriList.SetBool(UIBoolJoin.HeaderCallStatusRightPositionVisible, true);
}
else if (nextIndex == 0)
{
// Set to left position
TriList.SetBool(UIBoolJoin.HeaderCallStatusLeftPositionVisible, true);
TriList.SetBool(UIBoolJoin.HeaderCallStatusRightPositionVisible, false);
}
}
/// <summary>
/// Evaluates the call status and sets the icon mode and text label
/// </summary>
public void ComputeHeaderCallStatus(VideoCodecBase codec)
{
// Set mode of header button
if (!codec.IsInCall)
{
HeaderCallButton.SetIcon(HeaderListButton.OnHook);
}
else if (codec.ActiveCalls.Any(c => c.Type == eCodecCallType.Video))
HeaderCallButton.SetIcon(HeaderListButton.Camera);
//TriList.SetUshort(UIUshortJoin.CallHeaderButtonMode, 2);
else
HeaderCallButton.SetIcon(HeaderListButton.Phone);
//TriList.SetUshort(UIUshortJoin.CallHeaderButtonMode, 1);
// Set the call status text
if (codec.ActiveCalls.Count > 0)
{
if (codec.ActiveCalls.Count == 1)
TriList.SetString(UIStringJoin.HeaderCallStatusLabel, "1 Active Call");
else if (codec.ActiveCalls.Count > 1)
TriList.SetString(UIStringJoin.HeaderCallStatusLabel, string.Format("{0} Active Calls", codec.ActiveCalls.Count));
}
else
TriList.SetString(UIStringJoin.HeaderCallStatusLabel, "No Active Calls");
}
/// <summary>
///
/// </summary>
@@ -1255,8 +1298,7 @@ namespace PepperDash.Essentials
JoinedSigInterlock PopupInterlock { get; }
void ShowNotificationRibbon(string message, int timeout);
void HideNotificationRibbon();
HeaderListButton HeaderGearButton { get; }
HeaderListButton HeaderCallButton { get; }
void ComputeHeaderCallStatus(VideoCodecBase codec);
SubpageReferenceList MeetingOrContactMethodModalSrl { get; }
}
}

View File

@@ -180,6 +180,8 @@ namespace PepperDash.Essentials.UIDrivers.VC
{
TriList.SetString(UIStringJoin.RoomPhoneText, Codec.CodecInfo.PhoneNumber);
TriList.SetString(UIStringJoin.RoomSipText, Codec.CodecInfo.SipUri);
Parent.ComputeHeaderCallStatus(Codec);
}
/// <summary>
@@ -245,16 +247,8 @@ namespace PepperDash.Essentials.UIDrivers.VC
StagingBarsInterlock.ShowInterlocked(Codec.IsInCall ?
UIBoolJoin.VCStagingActivePopoverVisible : UIBoolJoin.VCStagingInactivePopoverVisible);
// Set mode of header button
if (!Codec.IsInCall)
Parent.HeaderCallButton.SetIcon(HeaderListButton.OnHook);
//TriList.SetUshort(UIUshortJoin.CallHeaderButtonMode, 0);
else if (Codec.ActiveCalls.Any(c => c.Type == eCodecCallType.Video))
Parent.HeaderCallButton.SetIcon(HeaderListButton.Camera);
//TriList.SetUshort(UIUshortJoin.CallHeaderButtonMode, 2);
else
Parent.HeaderCallButton.SetIcon(HeaderListButton.Phone);
//TriList.SetUshort(UIUshortJoin.CallHeaderButtonMode, 1);
Parent.ComputeHeaderCallStatus(Codec);
// Update list of calls
UpdateCallsHeaderList(call);
@@ -697,7 +691,7 @@ namespace PepperDash.Essentials.UIDrivers.VC
{
var kb = Parent.Keyboard;
kb.KeyPress += new EventHandler<PepperDash.Essentials.Core.Touchpanels.Keyboards.KeyboardControllerPressEventArgs>(Keyboard_KeyPress);
kb.HideAction = this.DetachKeyboard;
kb.HideAction = this.DetachDialKeyboard;
kb.GoButtonText = "Connect";
kb.GoButtonVisible = true;
DialStringKeypadCheckEnables();
@@ -706,8 +700,8 @@ namespace PepperDash.Essentials.UIDrivers.VC
else if(VCControlsInterlock.CurrentJoin == UIBoolJoin.VCDirectoryVisible)
{
var kb = Parent.Keyboard;
kb.KeyPress += Keyboard_KeyPress;
kb.HideAction = this.DetachKeyboard;
kb.KeyPress += new EventHandler<KeyboardControllerPressEventArgs>(Search_KeyPress);
kb.HideAction = this.DetachSearchKeyboard;
kb.GoButtonText = "Search";
kb.GoButtonVisible = true;
SearchStringKeypadCheckEnables();
@@ -715,6 +709,7 @@ namespace PepperDash.Essentials.UIDrivers.VC
}
}
/// <summary>
///
/// </summary>
@@ -739,8 +734,12 @@ namespace PepperDash.Essentials.UIDrivers.VC
}
DialStringFeedback.FireUpdate();
DialStringKeypadCheckEnables();
}
else if (VCControlsInterlock.CurrentJoin == UIBoolJoin.VCDirectoryVisible)
}
}
void Search_KeyPress(object sender, KeyboardControllerPressEventArgs e)
{
if (VCControlsInterlock.CurrentJoin == UIBoolJoin.VCDirectoryVisible)
{
if (e.Text != null)
SearchStringBuilder.Append(e.Text);
@@ -759,15 +758,18 @@ namespace PepperDash.Essentials.UIDrivers.VC
SearchStringFeedback.FireUpdate();
SearchStringKeypadCheckEnables();
}
}
void DetachKeyboard()
void DetachDialKeyboard()
{
Parent.Keyboard.KeyPress -= Keyboard_KeyPress;
}
void DetachSearchKeyboard()
{
Parent.Keyboard.KeyPress -= Search_KeyPress;
}
/// <summary>
/// Shows the camera controls subpage
/// </summary>