Add Phoenix remote desktop, action connector, documentation engine, and gamification support. Refactor support-case processing and search/action UI, and update installer assets and dependencies.
85 lines
2.9 KiB
C#
85 lines
2.9 KiB
C#
using C4IT.MultiLanguage;
|
|
using F4SD_AdaptableIcon;
|
|
using FasdDesktopUi.Basics.Converter;
|
|
using FasdDesktopUi.Basics.Helper;
|
|
using FasdDesktopUi.Basics.UiActions;
|
|
using System.Windows;
|
|
using System.Windows.Controls;
|
|
using System.Windows.Input;
|
|
|
|
namespace FasdDesktopUi.Basics.UserControls
|
|
{
|
|
public partial class FooterButton : UserControl
|
|
{
|
|
public string LabelText
|
|
{
|
|
get { return (string)GetValue(LabelTextProperty); }
|
|
set { SetValue(LabelTextProperty, value); }
|
|
}
|
|
|
|
public static readonly DependencyProperty LabelTextProperty =
|
|
DependencyProperty.Register(nameof(LabelText), typeof(string), typeof(FooterButton), new PropertyMetadata(string.Empty));
|
|
|
|
|
|
public cUiQuickAction QuickAction
|
|
{
|
|
get { return (cUiQuickAction)GetValue(QuickActionProperty); }
|
|
set { SetValue(QuickActionProperty, value); }
|
|
}
|
|
|
|
public static readonly DependencyProperty QuickActionProperty =
|
|
DependencyProperty.Register(nameof(QuickAction), typeof(cUiQuickAction), typeof(FooterButton), new PropertyMetadata(null, new PropertyChangedCallback(HandleQuickActionChanged)));
|
|
|
|
private static void HandleQuickActionChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
|
|
{
|
|
if (!(d is FooterButton button))
|
|
return;
|
|
|
|
button.UpdateButtonProperties();
|
|
}
|
|
|
|
private void UpdateButtonProperties()
|
|
{
|
|
MainGrid.Visibility = QuickAction is null ? Visibility.Collapsed : Visibility.Visible;
|
|
|
|
string tooltip = QuickAction != null ? null : cMultiLanguageSupport.GetItem("RemoteConnection.Button.Disabled");
|
|
SetEnableButton(QuickAction != null && QuickAction.DisplayType == Enums.enumActionDisplayType.enabled, tooltip);
|
|
|
|
IconData iconData = IconDataConverter.Convert(QuickAction.QuickActionConfig.Icon);
|
|
IconHelper.SetIconValue(ButtonIcon, iconData);
|
|
}
|
|
|
|
public FooterButton()
|
|
{
|
|
|
|
InitializeComponent();
|
|
}
|
|
|
|
private async void Button_Click(object sender, InputEventArgs e)
|
|
{
|
|
if (QuickAction is null)
|
|
return;
|
|
|
|
SetEnableButton(false);
|
|
cUiActionBase.RaiseEvent(QuickAction, this, this);
|
|
SetEnableButton(true);
|
|
}
|
|
|
|
internal void SetEnableButton(bool isEnabled, string tooltip = null)
|
|
{
|
|
if (isEnabled)
|
|
{
|
|
MainBorder.SetResourceReference(StyleProperty, "Menu.MainCategory");
|
|
MainBorder.ClearValue(OpacityProperty);
|
|
}
|
|
else
|
|
{
|
|
MainBorder.SetResourceReference(StyleProperty, "Menu.MainCategory.NoHover");
|
|
MainBorder.Opacity = 0.5;
|
|
}
|
|
|
|
MainBorder.ToolTip = tooltip;
|
|
}
|
|
}
|
|
}
|