Skip to content
This repository was archived by the owner on Nov 27, 2024. It is now read-only.

Commit 4f1b503

Browse files
committed
Only show video filenames not full path
1 parent af44161 commit 4f1b503

File tree

5 files changed

+55
-10
lines changed

5 files changed

+55
-10
lines changed

OnnxStack.UI/App.xaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
<converters:DiffuserVisibilityConverter x:Key="DiffuserVisibilityConverter" />
3838
<converters:PipelineVisibilityConverter x:Key="PipelineVisibilityConverter" />
3939
<converters:EnumDescriptionConverter x:Key="EnumDescriptionConverter" />
40+
<converters:FullPathToFileNameConverter x:Key="FullPathToFileNameConverter" />
4041

4142
<ObjectDataProvider x:Key="ListSortDirection" MethodName="GetValues" ObjectType="{x:Type system:Enum}">
4243
<ObjectDataProvider.MethodParameters>
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
using System;
2+
using System.Globalization;
3+
using System.IO;
4+
using System.Windows.Data;
5+
6+
namespace OnnxStack.UI.Converters
7+
{
8+
[ValueConversion(typeof(string), typeof(string))]
9+
public class FullPathToFileNameConverter : IValueConverter
10+
{
11+
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
12+
{
13+
if (value is not string fullPath)
14+
return value;
15+
16+
return Path.GetFileName(fullPath);
17+
}
18+
19+
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
20+
{
21+
throw new NotImplementedException();
22+
}
23+
}
24+
}

OnnxStack.UI/UserControls/VideoInputControl.xaml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,10 @@
2323

2424
<StackPanel DockPanel.Dock="Bottom">
2525
<UniformGrid Columns="1" Height="30" Visibility="{Binding HasVideoResult, Converter={StaticResource BooleanToHiddenConverter}}">
26-
<StackPanel Orientation="Horizontal" HorizontalAlignment="Left" Margin="0,3">
27-
<TextBlock Text="Video File:" Margin="5,0,0,0" FontSize="10" Opacity=".6" VerticalAlignment="Center" FontStyle="Italic"/>
28-
<TextBlock Text="{Binding VideoResult.FileName}" Margin="5,0,0,0" VerticalAlignment="Center"/>
29-
</StackPanel>
26+
<DockPanel HorizontalAlignment="Left" Margin="0,3" MaxWidth="500">
27+
<TextBlock DockPanel.Dock="Left" Text="Video File:" Margin="5,0,0,0" FontSize="10" Opacity=".6" VerticalAlignment="Center" FontStyle="Italic"/>
28+
<TextBlock Text="{Binding VideoResult.FileName, Converter={StaticResource FullPathToFileNameConverter}}" Margin="5,0,0,0" VerticalAlignment="Center" TextTrimming="CharacterEllipsis"/>
29+
</DockPanel>
3030
</UniformGrid>
3131
<DockPanel Height="30" IsEnabled="{Binding IsGenerating, Converter={StaticResource InverseBoolConverter}}" >
3232
<Button DockPanel.Dock="Right" Command="{Binding ClearVideoCommand}" Width="50" IsEnabled="{Binding HasVideoResult}">
@@ -68,9 +68,9 @@
6868
</StackPanel>
6969

7070
<Grid>
71-
<Image Source="{StaticResource PlaceholderImage}" Width="{Binding SchedulerOptions.Width}" Height="{Binding SchedulerOptions.Height}" />
72-
<MediaElement x:Name="VideoMediaElement" Source="{Binding VideoResult.FileName}" Width="{Binding SchedulerOptions.Width}" Height="{Binding SchedulerOptions.Height}" MinHeight="512" MinWidth="512" ClipToBounds="True" LoadedBehavior="Manual" Loaded="MediaElement_Loaded" MediaEnded="MediaElement_MediaEnded" Volume="0" MouseLeftButtonDown="MediaElement_MouseDown" />
73-
<Image Source="{Binding PreviewImage}" Width="{Binding SchedulerOptions.Width}" Height="{Binding SchedulerOptions.Height}" />
71+
<Image Source="{StaticResource PlaceholderImage}" Width="{Binding SchedulerOptions.Width}" Height="{Binding SchedulerOptions.Height}" Visibility="{Binding IsPreviewVisible, Converter={StaticResource InverseBooleanToHiddenConverter}}"/>
72+
<MediaElement x:Name="VideoMediaElement" Source="{Binding VideoResult.FileName}" Width="{Binding SchedulerOptions.Width}" Height="{Binding SchedulerOptions.Height}" MinHeight="512" MinWidth="512" ClipToBounds="True" LoadedBehavior="Manual" Loaded="MediaElement_Loaded" MediaEnded="MediaElement_MediaEnded" Volume="0" MouseLeftButtonDown="MediaElement_MouseDown" Visibility="{Binding IsPreviewVisible, Converter={StaticResource InverseBooleanToHiddenConverter}}" />
73+
<Image Source="{Binding PreviewImage}" Width="{Binding SchedulerOptions.Width}" Height="{Binding SchedulerOptions.Height}" Stretch="Uniform" HorizontalAlignment="Center" />
7474
</Grid>
7575

7676
</DockPanel>

OnnxStack.UI/UserControls/VideoInputControl.xaml.cs

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,14 @@ public bool IsGenerating
6464
set { SetValue(IsGeneratingProperty, value); }
6565
}
6666
public static readonly DependencyProperty IsGeneratingProperty =
67-
DependencyProperty.Register("IsGenerating", typeof(bool), typeof(VideoInputControl));
67+
DependencyProperty.Register("IsGenerating", typeof(bool), typeof(VideoInputControl), new PropertyMetadata((s, e) =>
68+
{
69+
if (s is VideoInputControl control && e.NewValue is bool isGenerating)
70+
{
71+
if (!isGenerating)
72+
control.IsPreviewVisible = false;
73+
}
74+
}));
6875

6976
public bool HasVideoResult
7077
{
@@ -80,7 +87,20 @@ public BitmapImage PreviewImage
8087
set { SetValue(PreviewImageProperty, value); }
8188
}
8289
public static readonly DependencyProperty PreviewImageProperty =
83-
DependencyProperty.Register("PreviewImage", typeof(BitmapImage), typeof(VideoInputControl));
90+
DependencyProperty.Register("PreviewImage", typeof(BitmapImage), typeof(VideoInputControl), new PropertyMetadata((s, e) =>
91+
{
92+
if (s is VideoInputControl control && !control.IsPreviewVisible)
93+
control.IsPreviewVisible = true;
94+
}));
95+
96+
private bool _isPreviewVisible;
97+
98+
public bool IsPreviewVisible
99+
{
100+
get { return _isPreviewVisible; }
101+
set { _isPreviewVisible = value; NotifyPropertyChanged(); }
102+
}
103+
84104

85105

86106
/// <summary>

OnnxStack.UI/UserControls/VideoResultControl.xaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
<UniformGrid Columns="1" Height="30" Visibility="{Binding HasVideoResult, Converter={StaticResource BooleanToVisibilityConverter}}">
1818
<StackPanel Orientation="Horizontal" HorizontalAlignment="Left" Margin="0,3">
1919
<TextBlock Text="Video File:" Margin="5,0,0,0" FontSize="10" Opacity=".6" VerticalAlignment="Center" FontStyle="Italic"/>
20-
<TextBlock Text="{Binding VideoResult.FileName}" Margin="5,0,0,0" VerticalAlignment="Center"/>
20+
<TextBlock Text="{Binding VideoResult.FileName, Converter={StaticResource FullPathToFileNameConverter}}" Margin="5,0,0,0" VerticalAlignment="Center"/>
2121
</StackPanel>
2222
</UniformGrid>
2323

0 commit comments

Comments
 (0)