-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMainWindow.xaml
103 lines (85 loc) · 6.67 KB
/
MainWindow.xaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
<Window x:Class="AutoRename.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:autoRename="clr-namespace:AutoRename"
Icon="icon.ico" FontSize="13" AllowDrop="True"
Width="640" Height="400" MinWidth="480" MinHeight="300"
Loaded="Window_Loaded" Closed="Window_Closed" DragEnter="Window_DragEnter" Drop="Window_Drop">
<Window.Resources>
<autoRename:ShowGridLinesConverter x:Key="ShowGridLinesConverter" />
</Window.Resources>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="66" />
<RowDefinition Height="*" />
<RowDefinition Height="50" />
</Grid.RowDefinitions>
<ToolBarTray Grid.Row="0" HorizontalAlignment="Stretch" VerticalAlignment="Top" Margin="0,0,0,0">
<ToolBar HorizontalAlignment="Stretch" VerticalAlignment="Top" Margin="0,0,0,0" ToolBarTray.IsLocked="True" >
<Button Command="{Binding AddFileButtonClick}" Margin="0,0,0,-1" Height="53" Width="95" >
<TextBlock Text="Add file" FontSize="14" TextAlignment="Center"/>
</Button>
<GridSplitter Width="4" IsEnabled="False" Background="#210080FF"/>
<Button Command="{Binding WebsiteButtonClick}" Margin="0,0,0,-1" Height="53" Width="95" >
<TextBlock Text="{Binding WebsiteButton}" FontSize="14" TextAlignment="Center"/>
</Button>
<GridSplitter Width="4" IsEnabled="False" Background="#210080FF"/>
<StackPanel Orientation="Vertical" Margin="5,2,0,0">
<CheckBox Content="Words start with upper case" IsChecked="{Binding Path=StartWithUpperCase, Mode=TwoWay}" Margin="10,2,10,1"/>
<CheckBox Content="Remove text in brackets" IsChecked="{Binding Path=RemoveBrackets, Mode=TwoWay}" Margin="10,2,10,1"/>
<CheckBox Content="Remove starting number" IsChecked="{Binding Path=RemoveStartingNumber, Mode=TwoWay}" Margin="10,2,10,1"/>
</StackPanel>
<StackPanel Orientation="Vertical" Margin="5,2,0,0">
<CheckBox Content="Show file extension" IsChecked="{Binding Path=ShowExtension, Mode=TwoWay}" Margin="10,2,10,1"/>
<CheckBox Content="Show full path" IsChecked="{Binding Path=ShowFullPath, Mode=TwoWay}" Margin="10,2,10,1"/>
<CheckBox Content="Show grid lines" IsChecked="{Binding Path=ShowGridLines, Mode=TwoWay}" Margin="10,2,10,1"/>
</StackPanel>
<StackPanel Orientation="Vertical" Margin="5,2,0,0">
<CheckBox Content="Exit after renaming" IsChecked="{Binding Path=ExitAfterRename, Mode=TwoWay}" Margin="10,2,10,1"/>
</StackPanel>
</ToolBar>
</ToolBarTray>
<DataGrid Grid.Row="1" ItemsSource="{Binding Path=DataGridRows, Mode=TwoWay}" SelectedItem="{Binding Path=SelectedItem, Mode=TwoWay}"
GridLinesVisibility="{Binding ShowGridLines, Converter={StaticResource ShowGridLinesConverter}}"
AutoGenerateColumns="False" SelectionMode="Single" SelectionUnit="FullRow" HorizontalScrollBarVisibility="Disabled"
Background="{x:Null}" CanUserAddRows="False" CanUserDeleteRows="True" CanUserResizeRows="False"
CanUserReorderColumns="False" CanUserResizeColumns="True" CanUserSortColumns="False">
<DataGrid.Resources>
<Style TargetType="{x:Type DataGridCell}">
<Setter Property="FontSize" Value="14"></Setter>
<Style.Triggers>
<!--<Trigger Property="IsMouseOver" Value="true"> https://stackoverflow.com/a/3702183/2576489
<Setter Property="Background" Value="LightGray"/>
</Trigger>-->
<Trigger Property="IsSelected" Value="true">
<Setter Property="Foreground" Value="White" />
<Setter Property="Background" Value="{DynamicResource {x:Static SystemColors.HighlightBrushKey}}" />
<Setter Property="BorderBrush" Value="Black" />
</Trigger>
<DataTrigger Binding="{Binding Path=State}" Value="{x:Static autoRename:RowState.Error}">
<Setter Property="Background" Value="Red" />
</DataTrigger>
</Style.Triggers>
</Style>
</DataGrid.Resources>
<DataGrid.Columns>
<DataGridTextColumn Header="Current name" Width="*" Binding="{Binding Path=OldViewPath}" IsReadOnly="True"></DataGridTextColumn>
<DataGridTextColumn Header="New name" Width="*" Binding="{Binding Path=NewViewPath, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"></DataGridTextColumn>
</DataGrid.Columns>
<DataGrid.ContextMenu>
<ContextMenu Name="Menu">
<MenuItem Visibility="{Binding RowSettingsEnabled}" Header="Words start with upper case" IsCheckable="True" IsChecked="{Binding SelectedItem.StartWithUpperCase, Mode=TwoWay}"/>
<MenuItem Visibility="{Binding RowSettingsEnabled}" Header="Remove text in brackets" IsCheckable="True" IsChecked="{Binding SelectedItem.RemoveBrackets, Mode=TwoWay}"/>
<MenuItem Visibility="{Binding RowSettingsEnabled}" Header="Remove starting number" IsCheckable="True" IsChecked="{Binding SelectedItem.RemoveStartingNumber, Mode=TwoWay}"/>
<Separator Visibility="{Binding RowSettingsEnabled}" />
<MenuItem Visibility="{Binding RowSettingsEnabled}" Header="Show file extension" IsCheckable="True" IsChecked="{Binding SelectedItem.ShowExtension, Mode=TwoWay}"/>
<MenuItem Visibility="{Binding RowSettingsEnabled}" Header="Show full path" IsCheckable="True" IsChecked="{Binding SelectedItem.ShowFullPath, Mode=TwoWay}"/>
<Separator Visibility="{Binding RowSettingsEnabled}" />
<MenuItem Visibility="{Binding RowSettingsEnabled}" Header="Remove" Command="{Binding RemoveSelectedCommand}"/>
<MenuItem IsEnabled="{Binding ContextMenuEnabled}" Header="Clear all" Command="{Binding RemoveAllCommand}"/>
</ContextMenu>
</DataGrid.ContextMenu>
</DataGrid>
<Button Grid.Row="2" Content="Rename" FontSize="16" FontWeight="SemiBold" Command="{Binding RenameButtonClick}" IsEnabled="{Binding RenameButtonEnabled}" />
</Grid>
</Window>