diff --git a/docs/Changelog.md b/docs/Changelog.md index 163c1d8..5af7910 100644 --- a/docs/Changelog.md +++ b/docs/Changelog.md @@ -1,5 +1,7 @@ -5.4.9.5 Beta (2021-??-??) +5.4.9.6 Beta (2021-??-??) + +5.4.9.5 Beta (2021-08-25) - Message boxes are themed. diff --git a/src/Misc/App.cs b/src/Misc/App.cs index dec94b9..6790c5a 100644 --- a/src/Misc/App.cs +++ b/src/Misc/App.cs @@ -150,32 +150,26 @@ namespace mpvnet public static void InvokeOnMainThread(Action action) => MainForm.Instance.BeginInvoke(action); - public static void ShowInfo(string title, string msg = null) + public static void ShowInfo(string msg) { if (IsTerminalAttached) { - if (title != null) - Terminal.Write(title); - if (msg != null) Terminal.Write(msg); } else - InvokeOnMainThread(() => Msg.ShowInfo(title, msg)); + InvokeOnMainThread(() => Msg.ShowInfo(msg)); } - public static void ShowError(string title, string msg = null) + public static void ShowError(string msg) { if (IsTerminalAttached) { - if (title != null) - Terminal.WriteError(title); - if (msg != null) Terminal.WriteError(msg); } else - InvokeOnMainThread(() => Msg.ShowError(title, msg)); + InvokeOnMainThread(() => Msg.ShowError(msg)); } static void Core_Initialized() diff --git a/src/Misc/Commands.cs b/src/Misc/Commands.cs index 100171a..536b043 100644 --- a/src/Misc/Commands.cs +++ b/src/Misc/Commands.cs @@ -121,7 +121,7 @@ namespace mpvnet ProcessHelp.ShellExecute(Core.ConfigFolder + "history.txt"); else { - if (Msg.ShowQuestion("Create history.txt file in config folder?", + if (Msg.ShowQuestion("Create history.txt file in config folder?" + BR2 + "mpv.net will write the date, time and filename of opened files to it.") == MessageBoxResult.OK) File.WriteAllText(Core.ConfigFolder + "history.txt", ""); @@ -220,7 +220,7 @@ namespace mpvnet if (string.IsNullOrEmpty(clipboard) || (!clipboard.Contains("://") && !File.Exists(clipboard)) || clipboard.Contains("\n")) { - App.ShowError("No URL found", "The clipboard does not contain a valid URL or file."); + App.ShowError("No URL found, the clipboard does not contain a valid URL or file."); return; } @@ -432,7 +432,7 @@ namespace mpvnet if (propValue.ContainsEx("${")) propValue += BR2 + Core.Expand(propValue); - App.ShowInfo(prop + ": " +propValue); + App.ShowInfo(prop + ": " + propValue); } }; diff --git a/src/Misc/CorePlayer.cs b/src/Misc/CorePlayer.cs index 6cf46af..7c2c546 100644 --- a/src/Misc/CorePlayer.cs +++ b/src/Misc/CorePlayer.cs @@ -1163,7 +1163,7 @@ namespace mpvnet { System.Windows.MessageBoxResult result = Msg.ShowQuestion("Click Yes for Blu-ray and No for DVD.", - null, System.Windows.MessageBoxButton.YesNoCancel); + System.Windows.MessageBoxButton.YesNoCancel); switch (result) { diff --git a/src/Misc/MainForm.cs b/src/Misc/MainForm.cs index c64b8a7..13619ca 100644 --- a/src/Misc/MainForm.cs +++ b/src/Misc/MainForm.cs @@ -14,6 +14,7 @@ using WpfControls = System.Windows.Controls; using static mpvnet.Native; using static mpvnet.Global; +using MsgBoxEx; namespace mpvnet { @@ -1000,6 +1001,9 @@ namespace mpvnet WPF.Init(); App.UpdateWpfColors(); + MessageBoxEx.MessageForeground = Theme.Current.GetBrush("heading"); + MessageBoxEx.MessageBackground = Theme.Current.GetBrush("background"); + MessageBoxEx.ButtonBackground = Theme.Current.GetBrush("highlight"); ContextMenu = new WpfControls.ContextMenu(); ContextMenu.Closed += ContextMenu_Closed; BuildMenu(); diff --git a/src/Misc/Msg.cs b/src/Misc/Msg.cs index 1fb80bb..0a489c5 100644 --- a/src/Misc/Msg.cs +++ b/src/Misc/Msg.cs @@ -12,39 +12,40 @@ public class Msg { private static readonly string WindowTitle = WinForms.Application.ProductName; - public static void ShowInfo(object title, object content = null) + public static void ShowInfo(object title) { - Show(title, content, MessageBoxImage.Information); + Show(title, MessageBoxImage.Information); } - public static void ShowError(object title, object content = null) + public static void ShowError(object title) { - Show(title, content, MessageBoxImage.Error); + Show(title, MessageBoxImage.Error); } - public static void ShowWarning(object title, object content = null) + public static void ShowWarning(object title) { - Show(title, content, MessageBoxImage.Warning); + Show(title, MessageBoxImage.Warning); } - public static MessageBoxResult ShowQuestion(object title, object content = null, + public static MessageBoxResult ShowQuestion(object title, MessageBoxButton buttons = MessageBoxButton.OKCancel) { - return Show(title, content, MessageBoxImage.Question, buttons); + return Show(title, MessageBoxImage.Question, buttons); } public static void ShowException(Exception exception) { - Show(exception, null, MessageBoxImage.Error); + Show(exception.Message, MessageBoxImage.Error, MessageBoxButton.OK, exception.ToString()); } public static MessageBoxResult Show( object title, - object content, MessageBoxImage img, - MessageBoxButton buttons = MessageBoxButton.OK) + MessageBoxButton buttons = MessageBoxButton.OK, + string details = null) { - string msg = (title?.ToString().TrimEx() + BR2 + content?.ToString().TrimEx()).Trim(); + string msg = title?.ToString().TrimEx(); + MessageBoxEx.DetailsText = details; return MessageBoxEx.OpenMessageBox(null, msg, WindowTitle, buttons, img); } } diff --git a/src/Misc/PowerShell.cs b/src/Misc/PowerShell.cs index 7b68fe4..7fdc407 100644 --- a/src/Misc/PowerShell.cs +++ b/src/Misc/PowerShell.cs @@ -156,7 +156,7 @@ namespace mpvnet break; default: - App.ShowError("Invalid Type", "Valid types are: bool or boolean, string, int or integer, float or double, nil or none or native"); + App.ShowError("Invalid Type, valid types are: bool or boolean, string, int or integer, float or double, nil or none or native"); break; } } diff --git a/src/Properties/AssemblyInfo.cs b/src/Properties/AssemblyInfo.cs index 7a21de2..5c516e6 100644 --- a/src/Properties/AssemblyInfo.cs +++ b/src/Properties/AssemblyInfo.cs @@ -32,5 +32,5 @@ using System.Runtime.InteropServices; // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("5.4.9.4")] -[assembly: AssemblyFileVersion("5.4.9.4")] +[assembly: AssemblyVersion("5.4.9.5")] +[assembly: AssemblyFileVersion("5.4.9.5")] diff --git a/src/WPF/ConfWindow.xaml.cs b/src/WPF/ConfWindow.xaml.cs index 2331c91..1aeb787 100644 --- a/src/WPF/ConfWindow.xaml.cs +++ b/src/WPF/ConfWindow.xaml.cs @@ -329,7 +329,7 @@ namespace mpvnet ProcessHelp.ShellExecute(Path.GetDirectoryName(Core.ConfPath)); void PreviewTextBlock_MouseUp(object sender, MouseButtonEventArgs e) => - Msg.ShowInfo("mpv.conf Preview", GetContent("mpv")); + Msg.ShowInfo("mpv.conf Preview" + BR2 + GetContent("mpv")); void ShowManualTextBlock_MouseUp(object sender, MouseButtonEventArgs e) => ProcessHelp.ShellExecute("https://mpv.io/manual/master/"); diff --git a/src/WPF/InputWindow.xaml.cs b/src/WPF/InputWindow.xaml.cs index afeca7f..f5d4537 100644 --- a/src/WPF/InputWindow.xaml.cs +++ b/src/WPF/InputWindow.xaml.cs @@ -40,7 +40,7 @@ namespace mpvnet { SearchControl.SearchTextBox.Text = ""; - Msg.ShowInfo("Filtering", + Msg.ShowInfo("Filtering" + BR2 + "Reduce the filter scope with:" + BR2 + "i input" + BR2 + "m menu" + BR2 + diff --git a/src/WPF/MsgBox/MessageBoxEx.xaml b/src/WPF/MsgBox/MessageBoxEx.xaml index 4c860dc..383f6dd 100644 --- a/src/WPF/MsgBox/MessageBoxEx.xaml +++ b/src/WPF/MsgBox/MessageBoxEx.xaml @@ -159,8 +159,9 @@ - @@ -187,11 +188,10 @@ Style="{StaticResource GroupBoxExpanderToggleButtonStyle}" IsChecked="{Binding Path=IsExpanded, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}" /> + TextElement.Foreground="{Binding ElementName=textboxMessage, Path=Foreground}" + SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" + Grid.Column="1" VerticalAlignment="Center" HorizontalAlignment="Left" + />