using System.Windows;
using System.Windows.Controls;
using System.Windows.Media;
using XFEToolBox.Client.Model;
using XFEToolBox.Client.Views.Windows;
namespace XFEToolBox.Client.Views.Pages.Popups;
public partial class ToolConfigurationPopupPage : Page, IPopupPage
{
private readonly bool _requiresAdministrator;
private readonly bool _initialUserPreference;
public ToolConfigurationPopupPage(
string toolName,
bool userRunAsAdministrator,
bool requiresAdministrator,
ImageSource shieldIcon)
{
InitializeComponent();
_requiresAdministrator = requiresAdministrator;
_initialUserPreference = userRunAsAdministrator;
ToolNameText.Text = toolName;
RunAsAdministratorCheckBox.IsChecked = requiresAdministrator || userRunAsAdministrator;
RunAsAdministratorCheckBox.IsEnabled = !requiresAdministrator;
ManifestRequirementText.Visibility = requiresAdministrator ? Visibility.Visible : Visibility.Collapsed;
ShieldImage.Source = shieldIcon;
}
public PopupWindow? PopupWindow { get; set; }
public bool UserRunAsAdministrator { get; private set; }
private async void SaveButton_Click(object sender, RoutedEventArgs e)
{
UserRunAsAdministrator = _requiresAdministrator
? _initialUserPreference
: RunAsAdministratorCheckBox.IsChecked == true;
if (PopupWindow is not null)
await PopupWindow.CloseWithResultAsync(MessageBoxResult.OK);
}
private async void CancelButton_Click(object sender, RoutedEventArgs e)
{
if (PopupWindow is not null)
await PopupWindow.CloseWithResultAsync(MessageBoxResult.Cancel);
}
}
using System.Windows;
using System.Windows.Controls;
using System.Windows.Media;
using XFEToolBox.Client.Model;
using XFEToolBox.Client.Views.Windows;
namespace XFEToolBox.Client.Views.Pages.Popups;
public partial class ToolConfigurationPopupPage : Page, IPopupPage
{
private readonly bool _requiresAdministrator;
private readonly bool _initialUserPreference;
public ToolConfigurationPopupPage(
string toolName,
bool userRunAsAdministrator,
bool requiresAdministrator,
ImageSource shieldIcon)
{
InitializeComponent();
_requiresAdministrator = requiresAdministrator;
_initialUserPreference = userRunAsAdministrator;
ToolNameText.Text = toolName;
RunAsAdministratorCheckBox.IsChecked = requiresAdministrator || userRunAsAdministrator;
RunAsAdministratorCheckBox.IsEnabled = !requiresAdministrator;
ManifestRequirementText.Visibility = requiresAdministrator ? Visibility.Visible : Visibility.Collapsed;
ShieldImage.Source = shieldIcon;
}
public PopupWindow? PopupWindow { get; set; }
public bool UserRunAsAdministrator { get; private set; }
private async void SaveButton_Click(object sender, RoutedEventArgs e)
{
UserRunAsAdministrator = _requiresAdministrator
? _initialUserPreference
: RunAsAdministratorCheckBox.IsChecked == true;
if (PopupWindow is not null)
await PopupWindow.CloseWithResultAsync(MessageBoxResult.OK);
}
private async void CancelButton_Click(object sender, RoutedEventArgs e)
{
if (PopupWindow is not null)
await PopupWindow.CloseWithResultAsync(MessageBoxResult.Cancel);
}
}