new combo box control
This commit is contained in:
@@ -1,5 +1,12 @@
|
||||
|
||||
# v7.0.0.3 Beta (2023-??-??)
|
||||
# v7.0.0.4 Beta (2023-??-??)
|
||||
|
||||
- The conf editor uses a newly developed combo box control instead of radio buttons
|
||||
whenever an option has more than 3 items.
|
||||
- New zhongfly libmpv build.
|
||||
|
||||
|
||||
# v7.0.0.3 Beta (2023-12-15)
|
||||
|
||||
- New conf editor option `Video/libplacebo/preset`.
|
||||
- New conf editor option `Video/libplacebo/Scaling/upscaler`.
|
||||
|
||||
@@ -53,6 +53,7 @@ public class Conf
|
||||
if (section.HasName("help")) baseSetting.Help = section.GetValue("help");
|
||||
if (section.HasName("url")) baseSetting.URL = section.GetValue("url");
|
||||
if (section.HasName("width")) baseSetting.Width = Convert.ToInt32(section.GetValue("width"));
|
||||
if (section.HasName("option-name-width")) baseSetting.OptionNameWidth = Convert.ToInt32(section.GetValue("option-name-width"));
|
||||
if (section.HasName("type")) baseSetting.Type = section.GetValue("type");
|
||||
|
||||
if (baseSetting.Help.ContainsEx("\\n"))
|
||||
|
||||
@@ -65,8 +65,6 @@ public class GuiCommand
|
||||
Window? win = Activator.CreateInstance(winType) as Window;
|
||||
new WindowInteropHelper(win).Owner = MainForm.Instance!.Handle;
|
||||
win?.ShowDialog();
|
||||
//TODO: Player.Command("quit");
|
||||
Player.Command("quit");
|
||||
}
|
||||
|
||||
public void LoadSubtitle(IList<string> args)
|
||||
|
||||
@@ -3,7 +3,7 @@ name = process-instance
|
||||
file = mpvnet
|
||||
default = single
|
||||
directory = General
|
||||
help = Defines if more then one mpv.net process is allowed. (mpv.net option)\n\nMulti can alternatively be enabled by pressing the SHIFT key.
|
||||
help = Defines if more then one mpv.net process is allowed.\nMulti can alternatively be enabled by pressing the SHIFT key. (mpv.net option)
|
||||
option = multi Create a new process everytime the shell starts mpv.net
|
||||
option = single Force a single process everytime the shell starts mpv.net
|
||||
option = queue Force a single process and add files to playlist
|
||||
@@ -73,14 +73,14 @@ option = auto enable best hw decoder
|
||||
option = yes exactly the same as auto
|
||||
option = auto-copy enable best hw decoder with copy-back
|
||||
option = auto-safe enable any whitelisted hw decoder
|
||||
option = dxva2 requires vo=gpu with gpu-context=d3d11, gpu-context=angle or gpu-context=dxinterop (Windows only)
|
||||
option = dxva2-copy copies video back to system RAM (Windows only)
|
||||
option = d3d11va requires vo=gpu with gpu-context=d3d11 or gpu-context=angle (Windows 8+ only)
|
||||
option = d3d11va-copy copies video back to system RAM (Windows 8+ only)
|
||||
option = dxva2 requires vo=gpu with gpu-context=d3d11, gpu-context=angle or gpu-context=dxinterop
|
||||
option = dxva2-copy copies video back to system RAM
|
||||
option = d3d11va requires vo=gpu with gpu-context=d3d11 or gpu-context=angle
|
||||
option = d3d11va-copy copies video back to system RAM
|
||||
option = cuda requires vo=gpu (Any platform CUDA is available)
|
||||
option = cuda-copy copies video back to system RAM (Any platform CUDA is available)
|
||||
option = cuda-copy copies video back to system RAM
|
||||
option = nvdec requires vo=gpu (Any platform CUDA is available)
|
||||
option = nvdec-copy copies video back to system RAM (Any platform CUDA is available)
|
||||
option = nvdec-copy copies video back to system RAM
|
||||
|
||||
name = gpu-api
|
||||
file = mpv
|
||||
@@ -122,48 +122,51 @@ name = d3d11va-zero-copy
|
||||
file = mpv
|
||||
default = no
|
||||
directory = Video
|
||||
help = By default, when using hardware decoding with --gpu-api=d3d11, the video image will be copied (GPU-to-GPU) from the decoder surface to a shader resource. Set this option to avoid that copy by sampling directly from the decoder image. This may increase performance and reduce power usage, but can cause the image to be sampled incorrectly on the bottom and right edges due to padding, and may invoke driver bugs, since Direct3D 11 technically does not allow sampling from a decoder surface (though most drivers support it.)
|
||||
url = https://mpv.io/manual/master/#options-d3d11va-zero-copy
|
||||
option = yes
|
||||
option = no
|
||||
|
||||
name = scale
|
||||
file = mpv
|
||||
default = bilinear
|
||||
default = lanczos
|
||||
directory = Video/Render Options
|
||||
help = The GPU renderer filter function to use when upscaling video. There are some more filters, but most are not as useful. For a complete list, pass help as value, e.g.: mpv --scale=help
|
||||
option = bilinear Bilinear hardware texture filtering (fastest, very low quality).
|
||||
option = spline36 Mid quality and speed. This is the default when using gpu-hq.
|
||||
option = lanczos Lanczos scaling. Provides mid quality and speed. Generally worse than spline36, but it results in a slightly sharper image which is good for some content types. The number of taps can be controlled with scale-radius, but is best left unchanged. (This filter is an alias for sinc-windowed sinc)
|
||||
option = ewa_lanczos Elliptic weighted average Lanczos scaling. Also known as Jinc. Relatively slow, but very good quality. The radius can be controlled with scale-radius. Increasing the radius makes the filter sharper but adds more ringing. (This filter is an alias for jinc-windowed jinc)
|
||||
option = ewa_lanczossharp A slightly sharpened version of ewa_lanczos, preconfigured to use an ideal radius and parameter. If your hardware can run it, this is probably what you should use by default.
|
||||
option = mitchell Mitchell-Netravali. The B and C parameters can be set with scale-param1 and scale-param2. This filter is very good at downscaling (see dscale).
|
||||
option = oversample A version of nearest neighbour that (naively) oversamples pixels, so that pixels overlapping edges get linearly interpolated instead of rounded. This essentially removes the small imperfections and judder artifacts caused by nearest-neighbour interpolation, in exchange for adding some blur. This filter is good at temporal interpolation, and also known as "smoothmotion" (see tscale).
|
||||
url = https://mpv.io/manual/master/#options-scale
|
||||
option = bilinear
|
||||
option = spline36
|
||||
option = lanczos
|
||||
option = ewa_lanczos
|
||||
option = ewa_lanczossharp
|
||||
option = mitchell
|
||||
option = oversample
|
||||
|
||||
name = cscale
|
||||
file = mpv
|
||||
default = bilinear
|
||||
directory = Video/Render Options
|
||||
help = As scale, but for interpolating chroma information. If the image is not subsampled, this option is ignored entirely.
|
||||
option = bilinear Bilinear hardware texture filtering (fastest, very low quality).
|
||||
option = spline36 Mid quality and speed. This is the default when using gpu-hq.
|
||||
option = lanczos Lanczos scaling. Provides mid quality and speed. Generally worse than spline36, but it results in a slightly sharper image which is good for some content types. The number of taps can be controlled with scale-radius, but is best left unchanged. (This filter is an alias for sinc-windowed sinc)
|
||||
option = ewa_lanczos Elliptic weighted average Lanczos scaling. Also known as Jinc. Relatively slow, but very good quality. The radius can be controlled with scale-radius. Increasing the radius makes the filter sharper but adds more ringing. (This filter is an alias for jinc-windowed jinc)
|
||||
option = ewa_lanczossharp A slightly sharpened version of ewa_lanczos, preconfigured to use an ideal radius and parameter. If your hardware can run it, this is probably what you should use by default.
|
||||
option = mitchell Mitchell-Netravali. The B and C parameters can be set with scale-param1 and scale-param2. This filter is very good at downscaling (see dscale).
|
||||
option = oversample A version of nearest neighbour that (naively) oversamples pixels, so that pixels overlapping edges get linearly interpolated instead of rounded. This essentially removes the small imperfections and judder artifacts caused by nearest-neighbour interpolation, in exchange for adding some blur. This filter is good at temporal interpolation, and also known as "smoothmotion" (see tscale).
|
||||
url = https://mpv.io/manual/master/#options-cscale
|
||||
option = bilinear
|
||||
option = spline36
|
||||
option = lanczos
|
||||
option = ewa_lanczos
|
||||
option = ewa_lanczossharp
|
||||
option = mitchell
|
||||
option = oversample
|
||||
|
||||
name = dscale
|
||||
file = mpv
|
||||
default =
|
||||
default = lanczos
|
||||
directory = Video/Render Options
|
||||
help = Like scale, but apply these filters on downscaling instead. \nIf no option is selected, it will keep the same with the upscaler.
|
||||
option = bilinear Bilinear hardware texture filtering (fastest, very low quality).
|
||||
option = spline36 Mid quality and speed. This is the default when using gpu-hq.
|
||||
option = lanczos Lanczos scaling. Provides mid quality and speed. Generally worse than spline36, but it results in a slightly sharper image which is good for some content types. The number of taps can be controlled with scale-radius, but is best left unchanged. (This filter is an alias for sinc-windowed sinc)
|
||||
option = ewa_lanczos Elliptic weighted average Lanczos scaling. Also known as Jinc. Relatively slow, but very good quality. The radius can be controlled with scale-radius. Increasing the radius makes the filter sharper but adds more ringing. (This filter is an alias for jinc-windowed jinc)
|
||||
option = ewa_lanczossharp A slightly sharpened version of ewa_lanczos, preconfigured to use an ideal radius and parameter. If your hardware can run it, this is probably what you should use by default.
|
||||
option = mitchell Mitchell-Netravali. The B and C parameters can be set with scale-param1 and scale-param2. This filter is very good at downscaling (see dscale).
|
||||
option = oversample A version of nearest neighbour that (naively) oversamples pixels, so that pixels overlapping edges get linearly interpolated instead of rounded. This essentially removes the small imperfections and judder artifacts caused by nearest-neighbour interpolation, in exchange for adding some blur. This filter is good at temporal interpolation, and also known as "smoothmotion" (see tscale).
|
||||
url = https://mpv.io/manual/master/#options-dscale
|
||||
option = bilinear
|
||||
option = spline36
|
||||
option = lanczos
|
||||
option = ewa_lanczos
|
||||
option = ewa_lanczossharp
|
||||
option = mitchell
|
||||
option = oversample
|
||||
|
||||
name = dither-depth
|
||||
file = mpv
|
||||
@@ -203,7 +206,7 @@ name = hdr-compute-peak
|
||||
file = mpv
|
||||
default = auto
|
||||
directory = Video/Render Options
|
||||
help = Compute the HDR peak and frame average brightness per-frame instead of relying on tagged metadata. These values are averaged over local regions as well as over several frames to prevent the value from jittering around too much. This option basically gives you dynamic, per-scene tone mapping. Requires compute shaders, which is a fairly recent OpenGL feature, and will probably also perform horribly on some drivers, so enable at your own risk. The special value auto (default) will enable HDR peak computation automatically if compute shaders and SSBOs are supported.
|
||||
url = https://mpv.io/manual/master/#options-hdr-compute-peak
|
||||
option = auto
|
||||
option = yes
|
||||
option = no
|
||||
@@ -212,7 +215,7 @@ name = allow-delayed-peak-detect
|
||||
file = mpv
|
||||
default = yes
|
||||
directory = Video/Render Options
|
||||
help = When using --hdr-compute-peak, allow delaying the detected peak by a frame when beneficial for performance. In particular, this is required to avoid an unnecessary FBO indirection when no advanced rendering is required otherwise. Has no effect if there already is an indirect pass, such as when advanced scaling is enabled. (Only affects --vo=gpu-next, note that --vo=gpu always delays the peak.)
|
||||
url = https://mpv.io/manual/master/#options-allow-delayed-peak-detect
|
||||
option = yes
|
||||
option = no
|
||||
|
||||
@@ -242,6 +245,7 @@ directory = Video/libplacebo/Scaling
|
||||
default = default
|
||||
help = Sets the filter used for upscaling. Defaults to lanczos.
|
||||
url = https://libplacebo.org/options/#upscalerfilter
|
||||
option-name-width = 135
|
||||
option = default Default.
|
||||
option = none No filter, only use basic GPU texture sampling.
|
||||
option = nearest Nearest-neighbour (box) sampling (very fast).
|
||||
@@ -260,7 +264,7 @@ file = mpv
|
||||
width = 500
|
||||
type = folder
|
||||
directory = Video/Screenshot
|
||||
help = Store screenshots in this directory. This path is joined with the filename generated by screenshot-template. If the template filename is already absolute, the directory is ignored.\n\nIf the directory does not exist, it is created on the first screenshot. If it is not a directory, an error is generated when trying to write a screenshot.
|
||||
help = Store screenshots in this directory. This path is joined with the filename generated by screenshot-template. If the template filename is already absolute, the directory is ignored.
|
||||
|
||||
name = screenshot-format
|
||||
file = mpv
|
||||
@@ -333,7 +337,7 @@ name = alang
|
||||
file = mpv
|
||||
directory = Audio
|
||||
type = string
|
||||
help = Specify a priority list of audio languages to use. Different container formats employ different language codes. DVDs use ISO 639-1 two-letter language codes, Matroska, MPEG-TS and NUT use ISO 639-2 three-letter language codes, while OGM uses a free-form identifier. See also aid.\n\nExamples\n\nmpv dvd://1 alang=hu,en chooses the Hungarian language track on a DVD and falls back on English if Hungarian is not available.\n\nmpv alang=jpn example.mkv plays a Matroska file with Japanese audio.
|
||||
help = Specify a priority list of audio languages to use. Different container formats employ different language codes. DVDs use ISO 639-1 two-letter language codes, Matroska, MPEG-TS and NUT use ISO 639-2 three-letter language codes, while OGM uses a free-form identifier. See also aid.
|
||||
|
||||
name = audio-file-auto
|
||||
file = mpv
|
||||
|
||||
@@ -16,6 +16,7 @@ public abstract class Setting
|
||||
public string? Value { get; set; }
|
||||
|
||||
public int Width { get; set; }
|
||||
public int OptionNameWidth { get; set; } = 100;
|
||||
|
||||
public ConfItem? ConfItem { get; set; }
|
||||
}
|
||||
@@ -35,6 +36,7 @@ public class OptionSettingOption
|
||||
|
||||
public string? Name { get; set; }
|
||||
public string? Help { get; set; }
|
||||
public int OptionWidth { get => OptionSetting!.OptionNameWidth; }
|
||||
|
||||
public OptionSetting? OptionSetting { get; set; }
|
||||
|
||||
|
||||
@@ -27,16 +27,25 @@
|
||||
Name="ComboBoxControl"
|
||||
Width="200"
|
||||
HorizontalAlignment="Left"
|
||||
MaxDropDownHeight="500"
|
||||
Foreground="{Binding Theme.Heading}"
|
||||
MaxDropDownHeight="2000"
|
||||
Foreground="{Binding Theme.Foreground}"
|
||||
Background="{Binding Theme.Background}"
|
||||
BorderBrush="{Binding Theme.Foreground}"
|
||||
Style="{DynamicResource ComboBoxStyle}"
|
||||
|
||||
SelectionChanged="ComboBoxControl_SelectionChanged"
|
||||
>
|
||||
<ComboBox.ItemTemplateSelector>
|
||||
<local:ComboBoxTemplateSelector/>
|
||||
</ComboBox.ItemTemplateSelector>
|
||||
|
||||
<ComboBox.ItemContainerStyle>
|
||||
<Style TargetType="ComboBoxItem">
|
||||
<Style.Resources>
|
||||
<Style TargetType="Border">
|
||||
<Setter Property="CornerRadius" Value="3"/>
|
||||
</Style>
|
||||
</Style.Resources>
|
||||
</Style>
|
||||
</ComboBox.ItemContainerStyle>
|
||||
</ComboBox>
|
||||
|
||||
<TextBox
|
||||
@@ -49,8 +58,14 @@
|
||||
Background="{Binding Theme.Background}"
|
||||
/>
|
||||
|
||||
<TextBlock x:Name="LinkTextBlock" Margin="0,10">
|
||||
<local:HyperlinkEx x:Name="Link"></local:HyperlinkEx>
|
||||
<TextBlock
|
||||
x:Name="LinkTextBlock"
|
||||
Margin="2,0"
|
||||
>
|
||||
<local:HyperlinkEx
|
||||
x:Name="Link"
|
||||
Foreground="{Binding Theme.Heading}"
|
||||
/>
|
||||
</TextBlock>
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
|
||||
@@ -65,9 +65,15 @@
|
||||
Foreground="{Binding Theme.Foreground}"
|
||||
Background="{Binding Theme.Background}"
|
||||
/>
|
||||
|
||||
<TextBlock x:Name="LinkTextBlock" Margin="0,10">
|
||||
<local:HyperlinkEx x:Name="Link"></local:HyperlinkEx>
|
||||
|
||||
<TextBlock
|
||||
x:Name="LinkTextBlock"
|
||||
Margin="2,0,0,0"
|
||||
>
|
||||
<local:HyperlinkEx
|
||||
x:Name="Link"
|
||||
Foreground="{Binding Theme.Heading}"
|
||||
/>
|
||||
</TextBlock>
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
|
||||
@@ -21,6 +21,10 @@ public partial class OptionSettingControl : UserControl, ISettingControl
|
||||
HelpTextBox.Visibility = Visibility.Collapsed;
|
||||
|
||||
HelpTextBox.Text = optionSetting.Help;
|
||||
|
||||
if (string.IsNullOrEmpty(optionSetting.Help))
|
||||
LinkTextBlock.Margin = new Thickness(2, 6, 0, 0);
|
||||
|
||||
ItemsControl.ItemsSource = optionSetting.Options;
|
||||
|
||||
if (string.IsNullOrEmpty(optionSetting.URL))
|
||||
|
||||
@@ -60,8 +60,14 @@
|
||||
Background="{Binding Theme.Background}"
|
||||
/>
|
||||
|
||||
<TextBlock x:Name="LinkTextBlock" Margin="0,10">
|
||||
<local:HyperlinkEx x:Name="Link"></local:HyperlinkEx>
|
||||
<TextBlock
|
||||
x:Name="LinkTextBlock"
|
||||
Margin="2,0"
|
||||
>
|
||||
<local:HyperlinkEx
|
||||
x:Name="Link"
|
||||
Foreground="{Binding Theme.Heading}"
|
||||
/>
|
||||
</TextBlock>
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
|
||||
@@ -6,6 +6,32 @@
|
||||
xmlns:local="clr-namespace:MpvNet.Windows.WPF"
|
||||
>
|
||||
|
||||
<DataTemplate x:Key="ComboBoxCollapsedDataTemplate" >
|
||||
<TextBlock Text="{Binding Text}"/>
|
||||
</DataTemplate>
|
||||
|
||||
<DataTemplate x:Key="ComboBoxExpandedDataTemplate" >
|
||||
<StackPanel Orientation="Horizontal" VerticalAlignment="Bottom">
|
||||
<Border>
|
||||
<TextBlock
|
||||
Text="{Binding Text}"
|
||||
Width="{Binding OptionWidth}"
|
||||
VerticalAlignment="Center"
|
||||
TextWrapping="Wrap"
|
||||
/>
|
||||
</Border>
|
||||
<Border>
|
||||
<TextBlock
|
||||
Text="{Binding Help}"
|
||||
MaxWidth="400"
|
||||
Padding="0,3"
|
||||
VerticalAlignment="Center"
|
||||
TextWrapping="Wrap"
|
||||
/>
|
||||
</Border>
|
||||
</StackPanel>
|
||||
</DataTemplate>
|
||||
|
||||
<Style x:Key="ComboBoxToggleButton" TargetType="ToggleButton">
|
||||
<Setter Property="Template">
|
||||
<Setter.Value>
|
||||
@@ -31,7 +57,7 @@
|
||||
VerticalAlignment="Center"
|
||||
Data="M 1,1.5 L 4.5,5 L 8,1.5"
|
||||
SnapsToDevicePixels="false"
|
||||
Stroke="#666"
|
||||
Stroke="{TemplateBinding Foreground}"
|
||||
StrokeThickness="1.5"
|
||||
/>
|
||||
</Grid>
|
||||
@@ -44,10 +70,9 @@
|
||||
<Border x:Name="PART_ContentHost" Focusable="True" />
|
||||
</ControlTemplate>
|
||||
|
||||
<Style x:Key="ComboBoxStyle" TargetType="{x:Type ComboBox}">
|
||||
<Style TargetType="{x:Type ComboBox}">
|
||||
<Setter Property="Foreground" Value="#333" />
|
||||
<Setter Property="BorderBrush" Value="Gray" />
|
||||
<Setter Property="Background" Value="White" />
|
||||
<Setter Property="BorderBrush" Value="{DynamicResource PrimaryTextBrush}" />
|
||||
<Setter Property="SnapsToDevicePixels" Value="true"/>
|
||||
<Setter Property="OverridesDefaultStyle" Value="true"/>
|
||||
<Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Auto"/>
|
||||
@@ -115,9 +140,9 @@
|
||||
<Border
|
||||
CornerRadius="3"
|
||||
x:Name="DropDownBorder"
|
||||
Background="White"
|
||||
Background="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ComboBox}}, Path=Background}"
|
||||
BorderBrush="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ComboBox}}, Path=Foreground}"
|
||||
BorderThickness="1"
|
||||
BorderBrush="#F6F6F6"
|
||||
/>
|
||||
|
||||
<ScrollViewer Margin="4,6,4,6" SnapsToDevicePixels="True">
|
||||
@@ -146,43 +171,18 @@
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
<Style.Triggers>
|
||||
<Trigger Property="IsEnabled" Value="false">
|
||||
<Setter Property="Opacity" Value="0.56"/>
|
||||
</Trigger>
|
||||
<Trigger Property="IsMouseOver" Value="true">
|
||||
<Setter Property="BorderBrush" Value="#FF7EB4EA"/>
|
||||
</Trigger>
|
||||
<Trigger Property="IsFocused" Value="true">
|
||||
<Setter Property="BorderBrush" Value="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Window}}, Path=DataContext.Theme.Heading}"/>
|
||||
</Trigger>
|
||||
</Style.Triggers>
|
||||
</Style>
|
||||
|
||||
<Style x:Key="ComboBoxItemStyle" TargetType="{x:Type ComboBoxItem}">
|
||||
<Setter Property="SnapsToDevicePixels" Value="true" />
|
||||
<Setter Property="HorizontalAlignment" Value="Stretch" />
|
||||
<Setter Property="VerticalAlignment" Value="Stretch" />
|
||||
<Setter Property="FontSize" Value="13" />
|
||||
<Setter Property="OverridesDefaultStyle" Value="true"/>
|
||||
<Setter Property="Template">
|
||||
<Setter.Value>
|
||||
<ControlTemplate TargetType="ComboBoxItem">
|
||||
<Border
|
||||
Name="Border"
|
||||
Padding="5"
|
||||
Margin="2"
|
||||
BorderThickness="2,0,0,0"
|
||||
CornerRadius="0"
|
||||
Background="Transparent"
|
||||
BorderBrush="Transparent"
|
||||
>
|
||||
|
||||
<TextBlock TextAlignment="Left">
|
||||
<ContentPresenter />
|
||||
</TextBlock>
|
||||
</Border>
|
||||
<ControlTemplate.Triggers>
|
||||
<Trigger Property="IsHighlighted" Value="true">
|
||||
<Setter TargetName="Border" Property="BorderBrush" Value="#B3CB37"/>
|
||||
<Setter TargetName="Border" Property="Background" Value="#F8FAEB"/>
|
||||
</Trigger>
|
||||
</ControlTemplate.Triggers>
|
||||
</ControlTemplate>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
</Style>
|
||||
|
||||
|
||||
<Style TargetType="local:HyperlinkEx">
|
||||
<Style.Triggers>
|
||||
<Trigger Property="IsMouseOver" Value="True">
|
||||
@@ -1222,24 +1222,5 @@
|
||||
<Style BasedOn="{StaticResource MenuItemBaseStyle}" TargetType="MenuItem"/>
|
||||
|
||||
<Style BasedOn="{StaticResource MenuBaseStyle}" TargetType="Menu"/>
|
||||
|
||||
<DataTemplate x:Key="ComboBoxCollapsedDataTemplate" >
|
||||
<TextBlock
|
||||
Text="{Binding Text}"
|
||||
|
||||
/>
|
||||
</DataTemplate>
|
||||
|
||||
<DataTemplate x:Key="ComboBoxExpandedDataTemplate" >
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<TextBlock
|
||||
Text="{Binding Text}"
|
||||
Width="100"
|
||||
/>
|
||||
<TextBlock
|
||||
Text="{Binding Help}"
|
||||
Padding="5,0,0,0"
|
||||
/>
|
||||
</StackPanel>
|
||||
</DataTemplate>
|
||||
|
||||
</ResourceDictionary>
|
||||
@@ -1258,9 +1258,6 @@ public partial class MainForm : Form
|
||||
WinMpvHelp.AddToPath();
|
||||
}, DispatcherPriority.Background);
|
||||
});
|
||||
|
||||
//TODO: Player.Command("script-message-to mpvnet show-conf-editor");
|
||||
Player.Command("script-message-to mpvnet show-conf-editor");
|
||||
}
|
||||
|
||||
void ContextMenu_Closed(object sender, System.Windows.RoutedEventArgs e) => MenuAutoResetEvent.Set();
|
||||
|
||||
Reference in New Issue
Block a user