Skip to content

Commit eddd8f7

Browse files
committed
UI tweaks
1 parent e9915be commit eddd8f7

File tree

5 files changed

+120
-51
lines changed

5 files changed

+120
-51
lines changed

CompactGUI/MainWindow.xaml

Lines changed: 90 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,26 @@
1-
<ui:FluentWindow x:Class="MainWindow" x:Name="MainWindow"
1+
<ui:FluentWindow x:Class="MainWindow"
22
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
33
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
4+
xmlns:bh="http://schemas.microsoft.com/xaml/behaviors"
45
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
56
xmlns:local="clr-namespace:CompactGUI"
67
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
7-
xmlns:ui="http://schemas.lepo.co/wpfui/2022/xaml"
88
xmlns:tray="http://schemas.lepo.co/wpfui/2022/xaml/tray"
9-
Title="MainWindow" xmlns:bh="http://schemas.microsoft.com/xaml/behaviors"
10-
Width="1300" Height="700" MinHeight="600" MinWidth="768"
9+
xmlns:ui="http://schemas.lepo.co/wpfui/2022/xaml"
10+
x:Name="MainWindow" Title="MainWindow"
11+
Width="1300" Height="700" MinWidth="768" MinHeight="600"
12+
d:DataContext="{d:DesignInstance Type=local:MainWindowViewModel}"
1113
ui:Design.Background="{DynamicResource ApplicationBackgroundBrush}"
1214
ui:Design.Foreground="{DynamicResource TextFillColorPrimaryBrush}"
13-
ExtendsContentIntoTitleBar="True"
15+
ExtendsContentIntoTitleBar="True"
1416
Foreground="{DynamicResource TextFillColorPrimaryBrush}"
15-
RenderOptions.BitmapScalingMode="HighQuality" WindowBackdropType="Mica"
17+
RenderOptions.BitmapScalingMode="HighQuality" WindowBackdropType="Mica"
1618
WindowCornerPreference="Round" WindowStartupLocation="CenterScreen"
17-
d:DataContext="{d:DesignInstance Type=local:MainWindowViewModel}"
1819
mc:Ignorable="d">
1920
<bh:Interaction.Triggers>
2021

2122
<bh:EventTrigger EventName="Closing">
22-
<bh:InvokeCommandAction Command="{Binding ClosingCommand}" PassEventArgsToCommand="True"/>
23+
<bh:InvokeCommandAction Command="{Binding ClosingCommand}" PassEventArgsToCommand="True" />
2324
</bh:EventTrigger>
2425
</bh:Interaction.Triggers>
2526
<Grid>
@@ -33,15 +34,17 @@
3334

3435

3536

36-
<ui:NavigationView Grid.Row="1" x:Name="NavigationView"
37+
<ui:NavigationView x:Name="NavigationView"
38+
Grid.Row="1" Transition="FadeIn"
3739
IsBackButtonVisible="Collapsed" PaneDisplayMode="Top">
38-
<ui:NavigationView.MenuItems >
40+
<ui:NavigationView.MenuItems>
3941

4042

41-
<ui:NavigationViewItem Content="Home"
43+
<ui:NavigationViewItem Content="Home"
4244
Margin="15,2,15,10"
4345
NavigationCacheMode="Required"
44-
Tag="{Binding}" TargetPageType="{x:Type local:HomePage}">
46+
Tag="{Binding}"
47+
TargetPageType="{x:Type local:HomePage}">
4548
<ui:NavigationViewItem.Icon>
4649
<ui:SymbolIcon Symbol="Home24" />
4750
</ui:NavigationViewItem.Icon>
@@ -51,7 +54,8 @@
5154
<ui:NavigationViewItem Content="Watcher"
5255
Margin="15,2,15,10"
5356
NavigationCacheMode="Required"
54-
Tag="{Binding}" TargetPageType="{x:Type local:WatcherPage}">
57+
Tag="{Binding}"
58+
TargetPageType="{x:Type local:WatcherPage}">
5559
<ui:NavigationViewItem.Icon>
5660
<ui:SymbolIcon Filled="False" Symbol="Eye24" />
5761
</ui:NavigationViewItem.Icon>
@@ -61,11 +65,12 @@
6165
</ui:NavigationView.MenuItems>
6266

6367
<ui:NavigationView.FooterMenuItems>
64-
68+
6569
<ui:NavigationViewItem Margin="-5,0,15,1"
66-
NavigationCacheMode="Required" TargetPageType="{x:Type local:SettingsPage}"
67-
Tag="{Binding}">
68-
<!--TargetPageType="{x:Type local:SettingsPage}"-->
70+
NavigationCacheMode="Required"
71+
Tag="{Binding}"
72+
TargetPageType="{x:Type local:SettingsPage}">
73+
<!-- TargetPageType="{x:Type local:SettingsPage}" -->
6974

7075
<ui:SymbolIcon Margin="0,0,-3,0"
7176
FontSize="16" Symbol="Settings48" />
@@ -84,19 +89,25 @@
8489
</ui:NavigationView>
8590

8691

87-
<Grid x:Name="RootContentDialog" Margin="0"
88-
Grid.Row="0" Grid.RowSpan="2"
89-
ClipToBounds="True" Panel.ZIndex="-1">
92+
<Grid x:Name="RootContentDialog"
93+
Grid.Row="0" Grid.RowSpan="2"
94+
Margin="0" Panel.ZIndex="-1"
95+
ClipToBounds="True">
9096

9197
<Border>
9298
<Border.Background>
93-
<LinearGradientBrush StartPoint="0,0.5" EndPoint="0.2,1" Opacity="0.4">
94-
<GradientStop Color="#283e51" Offset="0"/>
95-
<GradientStop Color="#2d425d" Offset="1"/>
99+
<LinearGradientBrush Opacity="0.4" StartPoint="0,0.5" EndPoint="0.2,1">
100+
<GradientStop Offset="0" Color="#283e51" />
101+
<GradientStop Offset="1" Color="#2d425d" />
96102
</LinearGradientBrush>
97103
</Border.Background>
98104
</Border>
99-
<local:ImageControl x:Name="SteamBg" Height="{Binding ActualHeight, ElementName=MainWindow}" Stretch="UniformToFill" Opacity="1" Margin="-75" HorizontalAlignment="Center" VerticalAlignment="Center" ClipToBounds="True" NewSource="{Binding BackgroundImage}">
105+
<local:ImageControl x:Name="SteamBg"
106+
Height="{Binding ActualHeight, ElementName=MainWindow}"
107+
Margin="-75" HorizontalAlignment="Center" VerticalAlignment="Center"
108+
ClipToBounds="True"
109+
NewSource="{Binding BackgroundImage}"
110+
Opacity="1" Stretch="UniformToFill">
100111

101112
<local:ImageControl.RenderTransform>
102113
<TransformGroup>
@@ -105,27 +116,29 @@
105116

106117
</local:ImageControl.RenderTransform>
107118
<local:ImageControl.RenderTransformOrigin>
108-
<Point X="0.5" Y="0.5"/>
119+
<Point X="0.5" Y="0.5" />
109120
</local:ImageControl.RenderTransformOrigin>
110121
<local:ImageControl.Triggers>
111122
<EventTrigger RoutedEvent="local:ImageControl.SourceChanged">
112123
<BeginStoryboard>
113124
<Storyboard>
114-
115-
<DoubleAnimation Storyboard.TargetProperty="(Image.Opacity)" From="0" To="0.6" Duration="0:0:2" >
125+
126+
<DoubleAnimation Storyboard.TargetProperty="(Image.Opacity)" From="0" To="0.6" Duration="0:0:2">
116127
<DoubleAnimation.EasingFunction>
117-
<QuadraticEase EasingMode="EaseInOut"/>
128+
<QuadraticEase EasingMode="EaseInOut" />
118129
</DoubleAnimation.EasingFunction>
119130
</DoubleAnimation>
120131
<DoubleAnimation Storyboard.TargetProperty="(Effect).Radius" From="100" To="12" Duration="0:0:5" />
121-
<DoubleAnimation Storyboard.TargetProperty="(RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleX)" From="2" To="1.0" Duration="0:0:6">
132+
<DoubleAnimation Storyboard.TargetProperty="(RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleX)"
133+
From="2" To="1.0" Duration="0:0:6">
122134
<DoubleAnimation.EasingFunction>
123-
<QuinticEase EasingMode="EaseOut"/>
135+
<QuinticEase EasingMode="EaseOut" />
124136
</DoubleAnimation.EasingFunction>
125137
</DoubleAnimation>
126-
<DoubleAnimation Storyboard.TargetProperty="(RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleY)" From="1.2" To="1.00" Duration="0:0:8">
138+
<DoubleAnimation Storyboard.TargetProperty="(RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleY)"
139+
From="1.2" To="1.00" Duration="0:0:8">
127140
<DoubleAnimation.EasingFunction>
128-
<QuinticEase EasingMode="EaseOut"/>
141+
<QuinticEase EasingMode="EaseOut" />
129142
</DoubleAnimation.EasingFunction>
130143
</DoubleAnimation>
131144

@@ -148,24 +161,59 @@
148161

149162

150163
<local:ImageControl.Effect>
151-
<BlurEffect Radius="0" RenderingBias="Quality" KernelType="Box" />
164+
<BlurEffect KernelType="Box" Radius="0" RenderingBias="Quality" />
152165
</local:ImageControl.Effect>
153166

154167

155168
</local:ImageControl>
156169

157-
<TextBlock x:Name="ProgTitle" Text="CompactGUI" Margin="20,14" FontSize="20" Visibility="Collapsed" d:Visibility="Visible" />
170+
<TextBlock x:Name="ProgTitle"
171+
Text="CompactGUI" Foreground="#10FFFFFF"
172+
Margin="20,16" HorizontalAlignment="Left"
173+
d:Visibility="Visible" FontSize="14" Visibility="Collapsed">
174+
<TextBlock.RenderTransform>
175+
<TranslateTransform x:Name="TransformL" Y="20" />
176+
</TextBlock.RenderTransform>
177+
<TextBlock.Style>
178+
<Style TargetType="TextBlock">
179+
<Setter Property="Opacity" Value="0" />
180+
<Style.Triggers>
181+
<DataTrigger Binding="{Binding Visibility, RelativeSource={RelativeSource Self}}" Value="Visible">
182+
<DataTrigger.EnterActions>
183+
<BeginStoryboard>
184+
<Storyboard>
185+
<DoubleAnimation Storyboard.TargetProperty="Opacity" From="0" To="0" />
186+
<!-- Fade-in animation -->
187+
<DoubleAnimation BeginTime="0:0:0.5"
188+
Storyboard.TargetProperty="Opacity" From="0" To="1" Duration="0:0:1.5" />
189+
190+
<!-- Move upwards animation -->
191+
<DoubleAnimation BeginTime="0:0:0.5"
192+
Storyboard.TargetProperty="(RenderTransform).(TranslateTransform.Y)" From="10" To="0"
193+
Duration="0:0:0.5">
194+
<DoubleAnimation.EasingFunction>
195+
<CircleEase />
196+
</DoubleAnimation.EasingFunction>
197+
</DoubleAnimation>
198+
</Storyboard>
199+
</BeginStoryboard>
200+
</DataTrigger.EnterActions>
201+
</DataTrigger>
202+
</Style.Triggers>
203+
</Style>
204+
</TextBlock.Style>
205+
</TextBlock>
158206
</Grid>
159-
<ui:SnackbarPresenter x:Name="RootSnackbar" MaxWidth="600"
160-
Grid.Row="1" Grid.Column="0" />
161-
<tray:NotifyIcon Grid.Row="0" x:Name="NotifyIconTray"
162-
FocusOnLeftClick="True"
163-
MenuOnRightClick="True"
164-
TooltipText="CompactGUI">
207+
<ui:SnackbarPresenter x:Name="RootSnackbar"
208+
Grid.Row="1" Grid.Column="0"
209+
MaxWidth="600" />
210+
<tray:NotifyIcon x:Name="NotifyIconTray"
211+
Grid.Row="0"
212+
FocusOnLeftClick="True" MenuOnRightClick="True" TooltipText="CompactGUI">
165213
<tray:NotifyIcon.Menu>
166214
<ContextMenu x:Name="NotifyIconTrayMenu">
167-
<MenuItem Header="Open" Command="{Binding NotifyIconOpenCommand}"/>
168-
<MenuItem Header="Exit" Command="{Binding NotifyIconExitCommand}"/>
215+
<MenuItem Command="{Binding NotifyIconOpenCommand}" Header="Open" />
216+
<MenuItem Command="{Binding NotifyIconExitCommand}" Header="Exit" />
169217
</ContextMenu>
170218
</tray:NotifyIcon.Menu>
171219
</tray:NotifyIcon>

CompactGUI/MainWindow.xaml.vb

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@ Imports Wpf.Ui.Abstractions
55
Imports Wpf.Ui.Controls
66

77
Class MainWindow : Implements INavigationWindow, INotifyPropertyChanged
8+
9+
Private ReadOnly _navigationService As INavigationService
10+
811
Public Sub New(navigationService As INavigationService, serviceProvider As IServiceProvider, snackbarService As CustomSnackBarService, viewmodel As MainWindowViewModel)
912

1013
' This call is required by the designer.
@@ -15,18 +18,35 @@ Class MainWindow : Implements INavigationWindow, INotifyPropertyChanged
1518
NavigationView.SetServiceProvider(serviceProvider)
1619
' Add any initialization after the InitializeComponent() call.
1720

21+
_navigationService = navigationService
22+
1823
DataContext = viewmodel
1924

2025
NotifyIconTrayMenu.DataContext = viewmodel
2126

2227
AddHandler Application.GetService(Of HomeViewModel)().PropertyChanged, AddressOf HVPropertyChanged
28+
AddHandler navigationService.GetNavigationControl.Navigated, AddressOf OnNavigated
29+
End Sub
30+
2331

32+
Private _isOnHomePage As Boolean
33+
34+
Private Sub OnNavigated(sender As NavigationView, args As NavigatedEventArgs)
35+
If args.Page.GetType Is GetType(HomePage) Then
36+
_isOnHomePage = True
37+
HVPropertyChanged(Application.GetService(Of HomeViewModel)(), New PropertyChangedEventArgs(NameOf(HomeViewModel.HomeViewIsFresh)))
38+
Else
39+
_isOnHomePage = False
40+
ProgTitle.Visibility = Visibility.Visible
41+
End If
2442
End Sub
2543

2644
Private Sub HVPropertyChanged(sender As Object, e As PropertyChangedEventArgs)
2745

2846
Dim homeVM As HomeViewModel = CType(sender, HomeViewModel)
29-
If e.PropertyName = NameOf(homeVM.HomeViewIsFresh) Then
47+
48+
49+
If _isOnHomePage AndAlso e.PropertyName = NameOf(homeVM.HomeViewIsFresh) Then
3050
If homeVM.HomeViewIsFresh Then
3151
ProgTitle.Visibility = Visibility.Collapsed
3252
Else

CompactGUI/Models/SemVersion.vb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@
6060
Public Function Friendly() As String
6161
Return If(PreRelease = "" OrElse PreRelease = Nothing OrElse PreRelease = "r",
6262
$"{Major}.{Minor}.{Patch}",
63-
$"{Major}.{Minor}.{Patch} - {PreRelease} {PreReleaseMinor}")
63+
$"{Major}.{Minor}.{Patch} {PreRelease} {PreReleaseMinor}")
6464

6565
End Function
6666

CompactGUI/Views/Components/FolderWatcherCard.xaml

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
d:DataContext="{d:DesignInstance Type=local:WatcherViewModel}"
1212
d:DesignHeight="500" d:DesignWidth="800"
1313
mc:Ignorable="d">
14-
<Grid VerticalAlignment="Stretch" Margin="10 0 10 0">
14+
<Grid VerticalAlignment="Stretch" Margin="30 10 30 0">
1515

1616
<Grid.Resources>
1717
<CollectionViewSource x:Key="Src" Source="{Binding Watcher.WatchedFolders}">
@@ -23,7 +23,7 @@
2323
</Grid.Resources>
2424

2525
<Grid.RowDefinitions>
26-
<RowDefinition Height="50" />
26+
<RowDefinition Height="40" />
2727
<RowDefinition Height="40" />
2828
<RowDefinition Height="20" />
2929
<RowDefinition />
@@ -33,14 +33,14 @@
3333

3434
<TextBlock Text="Watched folders"
3535
Grid.Row="0"
36-
FontSize="22" VerticalAlignment="Center"
36+
FontSize="26" VerticalAlignment="Top"
3737
Foreground="{StaticResource CardForeground}"
3838
Visibility="Visible" />
3939

4040
<Button Content="Add Folder To Watchlist"
4141
Grid.Row="0"
4242
Height="30"
43-
HorizontalAlignment="Right"
43+
HorizontalAlignment="Right" VerticalAlignment="Top"
4444
Command="{Binding ManuallyAddFolderToWatcherCommand}">
4545
<Button.ToolTip>
4646
<ToolTip ToolTipService.InitialShowDelay="100">
@@ -92,15 +92,16 @@
9292
HorizontalAlignment="Stretch"
9393
d:ItemsSource="{Binding Source={StaticResource Dtd}}"
9494
Background="Transparent" BorderThickness="0"
95-
ItemsSource="{Binding Source={StaticResource Src}}" ScrollViewer.CanContentScroll="True"
96-
KeyboardNavigation.TabNavigation="None" ScrollViewer.VerticalScrollBarVisibility="Visible">
95+
ItemsSource="{Binding Source={StaticResource Src}}"
96+
ScrollViewer.VerticalScrollBarVisibility="Visible">
9797

9898
<ListView.ItemContainerStyle>
9999
<Style TargetType="ListViewItem">
100100
<Setter Property="Margin" Value="0,0,0,0" />
101101
<Setter Property="Background" Value="Transparent" />
102102
<Setter Property="BorderBrush" Value="Transparent" />
103103
<Setter Property="VerticalContentAlignment" Value="Center" />
104+
<Setter Property="FocusVisualStyle" Value="{x:Null}"/>
104105
<Setter Property="Template">
105106
<Setter.Value>
106107
<ControlTemplate TargetType="{x:Type ListViewItem}">

CompactGUI/Views/Pages/WatcherPage.xaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,6 @@
99
d:DesignHeight="450" d:DesignWidth="800"
1010
Title="WatcherPage">
1111
<Grid Margin="10,10,10,10">
12-
<local:FolderWatcherCard Margin="20 20 20 0"/>
12+
<local:FolderWatcherCard />
1313
</Grid>
1414
</Page>

0 commit comments

Comments
 (0)