aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/FSE/Modules/Tango.FSE.PPCConsole/Views/FileSystemView.xaml
blob: fc23ca42c9970858292b55ce0a411ce07b045a7b (plain)
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
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
<UserControl x:Class="Tango.FSE.PPCConsole.Views.FileSystemView"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
             xmlns:global="clr-namespace:Tango.FSE.PPCConsole"
             xmlns:vm="clr-namespace:Tango.FSE.PPCConsole.ViewModels"
             xmlns:controls="clr-namespace:Tango.FSE.Common.Controls;assembly=Tango.FSE.Common"
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
             xmlns:local="clr-namespace:Tango.FSE.PPCConsole.Views"
             xmlns:material="http://materialdesigninxaml.net/winfx/xaml/themes"
             mc:Ignorable="d" 
             d:DesignHeight="450" d:DesignWidth="800" d:DataContext="{d:DesignInstance Type=vm:FileSystemViewVM, IsDesignTimeCreatable=False}" DataContext="{x:Static global:ViewModelLocator.FileSystemViewVM}">
    <Grid IsEnabled="{Binding IsFree}">
        <Grid Margin="0 20 0 0">
            <Grid.RowDefinitions>
                <RowDefinition Height="30" />
                <RowDefinition Height="1*" />
            </Grid.RowDefinitions>

            <DockPanel>
                <ListBox x:Name="listView" SelectedIndex="1" Background="{StaticResource FSE_PrimaryBackgroundLightBrush}" SelectionChanged="ListView_SelectionChanged" Style="{StaticResource MaterialDesignToolToggleListBox}" Margin="50 0 0 0" DockPanel.Dock="Right">
                    <ListBox.Resources>
                        <SolidColorBrush x:Key="MaterialDesignDivider" Color="{StaticResource FSE_PrimaryBackgroundDarkColor}"/>
                    </ListBox.Resources>
                    <ListBoxItem Width="60" HorizontalContentAlignment="Center" Tag="Large">
                        <material:PackIcon Kind="ViewList" Width="Auto" Height="20" />
                    </ListBoxItem>
                    <ListBoxItem Width="60" HorizontalContentAlignment="Center" Tag="Details">
                        <material:PackIcon Kind="FormatListBulleted" Width="Auto" Height="20" />
                    </ListBoxItem>
                </ListBox>
                <DockPanel>
                    <StackPanel DockPanel.Dock="Right" Orientation="Horizontal">
                        <Button Command="{Binding NavigateCommand}" material:ButtonAssist.CornerRadius="0 3 3 0" Style="{StaticResource FSE_RaisedButton_Dark_Hover}" Padding="0" Width="60" Height="Auto">
                            <material:PackIcon Kind="Refresh" Width="Auto" Height="20" />
                        </Button>
                    </StackPanel>
                    <StackPanel DockPanel.Dock="Left" Orientation="Horizontal">
                        <Button Command="{Binding BackCommand}" material:ButtonAssist.CornerRadius="3 0 0 3" Style="{StaticResource FSE_RaisedButton_Dark_Hover}" Padding="0" Width="60" Height="Auto">
                            <material:PackIcon Kind="ChevronLeft" Width="Auto" Height="20" />
                        </Button>
                    </StackPanel>
                    <Border>
                        <Border BorderThickness="3" BorderBrush="{StaticResource FSE_PrimaryBackgroundLightBrush}" Background="{StaticResource FSE_PrimaryBackgroundDarkBrush}">
                            <Border.Effect>
                                <DropShadowEffect BlurRadius="2" ShadowDepth="2" Opacity="0.3" Direction="270" />
                            </Border.Effect>
                            <Border IsHitTestVisible="False" Visibility="{Binding IsBusy,Converter={StaticResource BooleanToVisibilityConverter}}">
                                <Border.Background>
                                    <LinearGradientBrush>
                                        <GradientStop Offset="0" Color="Transparent" />
                                        <GradientStop Offset="0.5" Color="#6303A9F4" />
                                        <GradientStop Offset="1" Color="Transparent" />
                                    </LinearGradientBrush>
                                </Border.Background>
                                <Border.Style>
                                    <Style TargetType="Border">
                                        <Style.Triggers>
                                            <DataTrigger Binding="{Binding IsBusy}" Value="True">
                                                <DataTrigger.EnterActions>
                                                    <BeginStoryboard Name="loadingStory">
                                                        <Storyboard>
                                                            <DoubleAnimation Storyboard.TargetProperty="Background.GradientStops[1].Offset" From="0" To="1" AutoReverse="True" RepeatBehavior="Forever" />
                                                        </Storyboard>
                                                    </BeginStoryboard>
                                                </DataTrigger.EnterActions>
                                                <DataTrigger.ExitActions>
                                                    <RemoveStoryboard BeginStoryboardName="loadingStory" />
                                                </DataTrigger.ExitActions>
                                            </DataTrigger>
                                        </Style.Triggers>
                                    </Style>
                                </Border.Style>

                                <TextBox Padding="5 0 0 0" Text="{Binding CurrentPath,UpdateSourceTrigger=PropertyChanged,Mode=TwoWay}" Foreground="{StaticResource FSE_PrimaryForegroundBrush}" CaretBrush="{StaticResource FSE_PrimaryForegroundBrush}" Background="Transparent" BorderThickness="0" VerticalContentAlignment="Center" Style="{x:Null}">
                                    <TextBox.InputBindings>
                                        <KeyBinding Key="Return" Command="{Binding NavigateCommand}" />
                                    </TextBox.InputBindings>
                                </TextBox>
                            </Border>
                        </Border>
                    </Border>
                </DockPanel>
            </DockPanel>

            <Grid Grid.Row="1" Margin="0 10 0 0">
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="200" />
                    <ColumnDefinition Width="5" />
                    <ColumnDefinition Width="1*" />
                </Grid.ColumnDefinitions>

                <Border Background="{StaticResource FSE_PrimaryBackgroundDarkBrush}" BorderBrush="{StaticResource FSE_PrimaryBackgroundLightBrush}" BorderThickness="3" CornerRadius="3" Padding="10 5">
                    <StackPanel>
                        <controls:TextIconButton HorizontalContentAlignment="Left" Padding="5" Icon="Computer" Background="Transparent" BorderThickness="0" FocusVisualStyle="{x:Null}">Devices</controls:TextIconButton>
                        <StackPanel Margin="30 0 0 0">
                            <controls:TextIconButton HorizontalContentAlignment="Left" Padding="5" Icon="Harddisk" Background="Transparent" BorderThickness="0" FocusVisualStyle="{x:Null}">Local Disk 1</controls:TextIconButton>
                            <controls:TextIconButton HorizontalContentAlignment="Left" Padding="5" Icon="Harddisk" Background="Transparent" BorderThickness="0" FocusVisualStyle="{x:Null}">Local Disk 2</controls:TextIconButton>
                        </StackPanel>

                        <controls:TextIconButton HorizontalContentAlignment="Left" Padding="5" Icon="Computer" Background="Transparent" BorderThickness="0" FocusVisualStyle="{x:Null}">Computer</controls:TextIconButton>
                        <StackPanel Margin="30 0 0 0">
                            <controls:TextIconButton HorizontalContentAlignment="Left" Padding="5" Icon="DesktopMac" Background="Transparent" BorderThickness="0" FocusVisualStyle="{x:Null}">Desktop</controls:TextIconButton>
                            <controls:TextIconButton HorizontalContentAlignment="Left" Padding="5" Icon="Downloads" Background="Transparent" BorderThickness="0" FocusVisualStyle="{x:Null}">Downloads</controls:TextIconButton>
                            <controls:TextIconButton HorizontalContentAlignment="Left" Padding="5" Icon="FileDocument" Background="Transparent" BorderThickness="0" FocusVisualStyle="{x:Null}">Documents</controls:TextIconButton>
                            <controls:TextIconButton HorizontalContentAlignment="Left" Padding="5" Icon="Application" Background="Transparent" BorderThickness="0" FocusVisualStyle="{x:Null}">Tango</controls:TextIconButton>
                        </StackPanel>
                    </StackPanel>
                </Border>
                
                <controls:FileSystemControl Margin="10 0 0 0" Grid.Column="2"
                    CurrentItem="{Binding CurrentItem}" 
                    Mode="{Binding ElementName=listView,Path=SelectedItem.Tag}"
                    ItemDoubleClickedCommand="{Binding OpenItemCommand}"/>
            </Grid>
        </Grid>
    </Grid>
</UserControl>