mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-06-15 12:10:47 +01:00
Pushing missing changes
This commit is contained in:
180
MediaBrowser.UI/Controls/ModalWindow.xaml.cs
Normal file
180
MediaBrowser.UI/Controls/ModalWindow.xaml.cs
Normal file
@@ -0,0 +1,180 @@
|
||||
using System;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Media.Animation;
|
||||
|
||||
namespace MediaBrowser.UI.Controls
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaction logic for ModalWindow.xaml
|
||||
/// </summary>
|
||||
public partial class ModalWindow : BaseModalWindow
|
||||
{
|
||||
public MessageBoxResult MessageBoxResult { get; set; }
|
||||
|
||||
public UIElement TextContent
|
||||
{
|
||||
set
|
||||
{
|
||||
pnlContent.Children.Clear();
|
||||
|
||||
var textBlock = value as TextBlock;
|
||||
|
||||
if (textBlock != null)
|
||||
{
|
||||
textBlock.SetResourceReference(TextBlock.StyleProperty, "ModalTextStyle");
|
||||
}
|
||||
pnlContent.Children.Add(value);
|
||||
}
|
||||
}
|
||||
|
||||
public string Text
|
||||
{
|
||||
set { TextContent = new TextBlock { Text = value }; }
|
||||
}
|
||||
|
||||
private MessageBoxButton _button;
|
||||
public MessageBoxButton Button
|
||||
{
|
||||
get { return _button; }
|
||||
set
|
||||
{
|
||||
_button = value;
|
||||
UpdateButtonVisibility();
|
||||
OnPropertyChanged("Button");
|
||||
}
|
||||
}
|
||||
|
||||
private MessageBoxIcon _messageBoxImage;
|
||||
public MessageBoxIcon MessageBoxImage
|
||||
{
|
||||
get { return _messageBoxImage; }
|
||||
set
|
||||
{
|
||||
_messageBoxImage = value;
|
||||
OnPropertyChanged("MessageBoxImage");
|
||||
}
|
||||
}
|
||||
|
||||
private string _caption;
|
||||
public string Caption
|
||||
{
|
||||
get { return _caption; }
|
||||
set
|
||||
{
|
||||
_caption = value;
|
||||
txtCaption.Visibility = string.IsNullOrEmpty(value) ? Visibility.Collapsed : Visibility.Visible;
|
||||
OnPropertyChanged("Caption");
|
||||
}
|
||||
}
|
||||
|
||||
public ModalWindow()
|
||||
: base()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
protected override void OnInitialized(EventArgs e)
|
||||
{
|
||||
base.OnInitialized(e);
|
||||
|
||||
btnOk.Click += btnOk_Click;
|
||||
btnCancel.Click += btnCancel_Click;
|
||||
btnYes.Click += btnYes_Click;
|
||||
btnNo.Click += btnNo_Click;
|
||||
}
|
||||
|
||||
void btnNo_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
MessageBoxResult = MessageBoxResult.No;
|
||||
CloseModal();
|
||||
}
|
||||
|
||||
void btnYes_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
MessageBoxResult = MessageBoxResult.Yes;
|
||||
CloseModal();
|
||||
}
|
||||
|
||||
void btnCancel_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
MessageBoxResult = MessageBoxResult.Cancel;
|
||||
CloseModal();
|
||||
}
|
||||
|
||||
void btnOk_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
MessageBoxResult = MessageBoxResult.OK;
|
||||
CloseModal();
|
||||
}
|
||||
|
||||
private void UpdateButtonVisibility()
|
||||
{
|
||||
btnYes.Visibility = Button == MessageBoxButton.YesNo || Button == MessageBoxButton.YesNoCancel
|
||||
? Visibility.Visible
|
||||
: Visibility.Collapsed;
|
||||
|
||||
btnNo.Visibility = Button == MessageBoxButton.YesNo || Button == MessageBoxButton.YesNoCancel
|
||||
? Visibility.Visible
|
||||
: Visibility.Collapsed;
|
||||
|
||||
btnOk.Visibility = Button == MessageBoxButton.OK || Button == MessageBoxButton.OKCancel
|
||||
? Visibility.Visible
|
||||
: Visibility.Collapsed;
|
||||
|
||||
btnCancel.Visibility = Button == MessageBoxButton.OKCancel || Button == MessageBoxButton.YesNoCancel
|
||||
? Visibility.Visible
|
||||
: Visibility.Collapsed;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// I had to make my own enum that essentially clones MessageBoxImage
|
||||
/// Some of the options share the same enum int value, and this was preventing databinding from working properly.
|
||||
/// </summary>
|
||||
public enum MessageBoxIcon
|
||||
{
|
||||
// Summary:
|
||||
// No icon is displayed.
|
||||
None,
|
||||
//
|
||||
// Summary:
|
||||
// The message box contains a symbol consisting of white X in a circle with
|
||||
// a red background.
|
||||
Error,
|
||||
//
|
||||
// Summary:
|
||||
// The message box contains a symbol consisting of a white X in a circle with
|
||||
// a red background.
|
||||
Hand,
|
||||
//
|
||||
// Summary:
|
||||
// The message box contains a symbol consisting of white X in a circle with
|
||||
// a red background.
|
||||
Stop,
|
||||
//
|
||||
// Summary:
|
||||
// The message box contains a symbol consisting of a question mark in a circle.
|
||||
Question,
|
||||
//
|
||||
// Summary:
|
||||
// The message box contains a symbol consisting of an exclamation point in a
|
||||
// triangle with a yellow background.
|
||||
Exclamation,
|
||||
//
|
||||
// Summary:
|
||||
// The message box contains a symbol consisting of an exclamation point in a
|
||||
// triangle with a yellow background.
|
||||
Warning,
|
||||
//
|
||||
// Summary:
|
||||
// The message box contains a symbol consisting of a lowercase letter i in a
|
||||
// circle.
|
||||
Information,
|
||||
//
|
||||
// Summary:
|
||||
// The message box contains a symbol consisting of a lowercase letter i in a
|
||||
// circle.
|
||||
Asterisk
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user