Tag and Permission editing of File Permissions is functional.
[pithos-ms-client] / trunk / Pithos.Client.WPF / FileProperties / FilePropertiesView.xaml
1 <Window x:Class="Pithos.Client.WPF.FilePropertiesView"
2              xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
3              xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
4              xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
5              xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:cal="http://www.caliburnproject.org"
6         xmlns:extToolkit="http://schemas.microsoft.com/winfx/2006/xaml/presentation/toolkit/extended" mc:Ignorable="d" 
7              d:DesignHeight="300" d:DesignWidth="400"  Width="400"
8          Height="400" Icon="/PithosPlus;component/Images/PithosTaskbar.png"
9         Background="{StaticResource {x:Static SystemColors.ControlBrushKey}}" WindowStartupLocation="CenterScreen" Topmost="False"
10         x:Name="ThisView">
11     <Window.Resources>
12         <ResourceDictionary>
13             <ResourceDictionary.MergedDictionaries>
14                 <ResourceDictionary Source="..\PithosStyles.xaml" />
15             </ResourceDictionary.MergedDictionaries>
16             <BooleanToVisibilityConverter x:Key="BoolToVisible" />
17         </ResourceDictionary>       
18     </Window.Resources>
19     <extToolkit:BusyIndicator IsBusy="{Binding IsBusy}" BusyContent="Loading Object Info ..." >
20         <Grid>
21             <Grid.RowDefinitions>
22                 <RowDefinition Height="Auto"/>
23                 <RowDefinition Height="*"/>
24                 <RowDefinition Height="Auto"/>
25             </Grid.RowDefinitions>
26
27             <Grid Grid.Row="0">
28                 <Grid.ColumnDefinitions>
29                     <ColumnDefinition Width="Auto"/>
30                     <ColumnDefinition Width="*"/>
31                     <ColumnDefinition Width="Auto"/>
32                 </Grid.ColumnDefinitions>
33                 <Image x:Name="FileIcon" Width="48" Height="48" Margin="5" Grid.Column="0" Stretch="None"/>
34                 <StackPanel Margin="5" Grid.Column="1">
35                     <TextBlock x:Name="FileName" Grid.Row="0" Text="File Name" FontSize="16" FontWeight="Bold"/>
36                     <StackPanel Orientation="Horizontal" Grid.Row="1">
37                         <TextBlock Text="Container: " />
38                         <TextBlock x:Name="Container" Text="Container" />
39                     </StackPanel>
40                     <StackPanel Orientation="Horizontal" Grid.Row="1">
41                         <TextBlock Text="Sync Status: " />
42                         <TextBlock x:Name="SynchStatus" Text="Normal" />
43                     </StackPanel>
44
45                 </StackPanel>
46                 <TextBlock x:Name="ShortSize" Text="345 KB" FontWeight="Bold" FontSize="14" Grid.Column="2" HorizontalAlignment="Left" Margin="5"/>
47             </Grid>
48             <TabControl Grid.Row="1">
49                 <TabItem Header="General">
50                     <Grid>
51                         <Grid.Resources>
52                             <Style x:Key="NameColumnStyle" TargetType="TextBlock">
53                                 <Setter Property="HorizontalAlignment" Value="Right"/>
54                                 <Setter Property="Margin" Value="5,2"/>
55                             </Style>
56                             <Style x:Key="ValueColumnStyle" TargetType="TextBlock">
57                                 <Setter Property="HorizontalAlignment" Value="Left"/>
58                                 <Setter Property="Margin" Value="5,2"/>
59                             </Style>
60                         </Grid.Resources>
61                         <Grid.ColumnDefinitions>
62                             <ColumnDefinition Width="Auto" />
63                             <ColumnDefinition Width="*"/>
64                         </Grid.ColumnDefinitions>
65                         <Grid.RowDefinitions>
66                             <RowDefinition Height="Auto"/>
67                             <RowDefinition Height="Auto"/>
68                             <RowDefinition Height="Auto"/>
69                             <RowDefinition Height="Auto"/>
70                             <RowDefinition Height="Auto"/>
71                             <RowDefinition Height="Auto"/>
72                             <RowDefinition Height="Auto"/>
73                             <RowDefinition Height="Auto"/>
74                             <RowDefinition Height="Auto"/>
75                         </Grid.RowDefinitions>
76                         <TextBlock Text="Kind :" Grid.Row="0" Grid.Column="0" Style="{StaticResource ResourceKey=NameColumnStyle}"/>
77                         <TextBlock Text="Size :" Grid.Row="1" Grid.Column="0" Style="{StaticResource ResourceKey=NameColumnStyle}"/>
78                         <TextBlock Text="Where :" Grid.Row="2" Grid.Column="0" Style="{StaticResource ResourceKey=NameColumnStyle}"/>
79                         <TextBlock Text="Modified :" Grid.Row="3" Grid.Column="0" Style="{StaticResource ResourceKey=NameColumnStyle}"/>
80                         <TextBlock Text="Modified By :" Grid.Row="4" Grid.Column="0" Style="{StaticResource ResourceKey=NameColumnStyle}"/>
81                         <TextBlock Text="Version :" Grid.Row="5" Grid.Column="0" Style="{StaticResource ResourceKey=NameColumnStyle}"/>
82                         <TextBlock x:Name="Kind" Text="application/pdf" Grid.Row="0" Grid.Column="1" Style="{StaticResource ResourceKey=ValueColumnStyle}"/>
83                         <TextBlock x:Name="Size" Text="345 KB (345,332 bytes)" Grid.Row="1" Grid.Column="1" Style="{StaticResource ResourceKey=ValueColumnStyle}"/>
84                         <TextBlock x:Name="Where" Text="pithos/somefile.pdf" Grid.Row="2" Grid.Column="1" Style="{StaticResource ResourceKey=ValueColumnStyle}"/>
85                         <TextBlock x:Name="Modified" Text="28/10/2011 11:34 AM" Grid.Row="3" Grid.Column="1" Style="{StaticResource ResourceKey=ValueColumnStyle}"/>
86                         <TextBlock x:Name="ModifiedBy" Text="SomeUser" Grid.Row="4" Grid.Column="1" Style="{StaticResource ResourceKey=ValueColumnStyle}"/>
87                         <TextBlock x:Name="Version" Text="2345456" Grid.Row="5" Grid.Column="1" Style="{StaticResource ResourceKey=ValueColumnStyle}"/>
88                     </Grid>
89                 </TabItem>
90                 <TabItem Header="Metadata">
91                     <StackPanel>
92                         <StackPanel Orientation="Horizontal">
93                             <TextBox x:Name="CurrentTag_Name" Width="145" Margin="5" Grid.Row="6"/>
94                             <TextBox x:Name="CurrentTag_Value" Width="145" Margin="5" Grid.Row="6"/>
95                             <Button x:Name="AddTag" Content="Update" Margin="5"/>
96                         </StackPanel>
97                         <DataGrid ItemsSource="{Binding Tags}" x:Name="Tags"
98                     AutoGenerateColumns="False" GridLinesVisibility="None" 
99                                   IsReadOnly="False"
100                                   CanUserDeleteRows="True"
101                                   CanUserAddRows="False">
102                             <DataGrid.Columns>
103                                 <DataGridTextColumn Binding="{Binding Name}" Header="Key" MinWidth="150" IsReadOnly="True"/>
104                                 <DataGridTextColumn Binding="{Binding Value}" Header="Value"  MinWidth="100" IsReadOnly="True"/>
105                             </DataGrid.Columns>
106                         </DataGrid>
107                         <Button x:Name="DeleteTag" Content="Delete" 
108                                 Command="DataGrid.DeleteCommand" CommandTarget="{Binding ElementName=Tags}"
109                                 Style="{StaticResource ResourceKey=ButtonStyle}" HorizontalAlignment="Left" />
110                     </StackPanel>
111                 </TabItem>
112                 <TabItem Header="Permissions">
113                     <StackPanel>
114                         <CheckBox x:Name="IsPublic" Content="Public" Margin="5"/>
115                         <StackPanel Orientation="Horizontal">
116                             <TextBox x:Name="CurrentPermission_UserName" Width="195" Margin="5" Grid.Row="6"/>
117                             <RadioButton x:Name="CurrentPermission_Read" Content="Read" Margin="5" Grid.Row="7"/>
118                             <RadioButton x:Name="CurrentPermission_Write" Content="Write" Margin="5" Grid.Row="8"/>
119                             <Button x:Name="AddPermission" Content="Update" Margin="5"/>
120                         </StackPanel>
121                         <TextBlock Margin="5" Visibility="{Binding Path=IsPublic,FallbackValue=Collapsed, Converter={StaticResource BoolToVisible}}">
122                 <Run Text="Public URL:" />
123                 <Run Text="{Binding PublicUrl,FallbackValue='http://someurl'}" />
124                         </TextBlock>
125                         <DataGrid x:Name="Permissions" AutoGenerateColumns="False" GridLinesVisibility="None" 
126                                   IsReadOnly="False" 
127                                   CanUserDeleteRows="True"
128                                   CanUserAddRows="False"
129                                   >
130                             <DataGrid.Columns>
131                                 <DataGridTextColumn Binding="{Binding UserName}" Header="Name"  MinWidth="150" IsReadOnly="True" />
132                                 <DataGridTextColumn Binding="{Binding Value}" Header="Permission" IsReadOnly="True"/>
133                             </DataGrid.Columns>
134                         </DataGrid>
135                         <Button x:Name="DeletePermission" Content="Delete" 
136                                 Command="DataGrid.DeleteCommand" CommandTarget="{Binding ElementName=Permissions}"
137                                 Style="{StaticResource ResourceKey=ButtonStyle}" HorizontalAlignment="Left" />
138                     </StackPanel>
139                 </TabItem>
140                 <!--<TabItem Header="Other">
141                     <Grid>
142                         <Grid.Resources>
143                             <Style x:Key="NameColumnStyle" TargetType="TextBlock">
144                                 <Setter Property="HorizontalAlignment" Value="Right"/>
145                                 <Setter Property="Margin" Value="5,2"/>
146                             </Style>
147                             <Style x:Key="ValueColumnStyle" TargetType="TextBox">
148                                 <Setter Property="HorizontalAlignment" Value="Stretch"/>
149                                 <Setter Property="VerticalAlignment" Value="Top"/>
150                                 <Setter Property="Margin" Value="5,2"/>
151                             </Style>
152                         </Grid.Resources>
153                         <Grid.ColumnDefinitions>
154                             <ColumnDefinition Width="Auto" />
155                             <ColumnDefinition Width="*"/>
156                         </Grid.ColumnDefinitions>
157                         <Grid.RowDefinitions>
158                             <RowDefinition Height="Auto"/>
159                             <RowDefinition Height="Auto"/>
160                             <RowDefinition Height="Auto"/>
161                         </Grid.RowDefinitions>
162                         <TextBlock Text="Content Encoding :" Grid.Row="0" Grid.Column="0" Style="{StaticResource ResourceKey=NameColumnStyle}"/>
163                         <TextBlock Text="Content Disposition :" Grid.Row="1" Grid.Column="0" Style="{StaticResource ResourceKey=NameColumnStyle}"/>
164                         <TextBlock Text="Manifest :" Grid.Row="2" Grid.Column="0" Style="{StaticResource ResourceKey=NameColumnStyle}"/>
165                         <TextBox x:Name="ContentEncoding" Text="text/utf8" Grid.Row="0" Grid.Column="1" Style="{StaticResource ResourceKey=ValueColumnStyle}"/>
166                         <TextBox x:Name="ContentDisposition" Grid.Row="1" Grid.Column="1" Style="{StaticResource ResourceKey=ValueColumnStyle}"/>
167                         <TextBox x:Name="Manifest" Grid.Row="2" Grid.Column="1" Style="{StaticResource ResourceKey=ValueColumnStyle}"/>
168                     </Grid>
169                 </TabItem>-->
170             </TabControl>
171             <StackPanel Orientation="Horizontal" Grid.Row="2" HorizontalAlignment="Right">
172                 <Button Name="SaveChanges" Content="OK" Margin="5,5,10,5" Style="{StaticResource ButtonStyle}" IsDefault="False" />
173                 <Button Name="RejectChanges" Content="Cancel" Margin="5,5,10,5" Style="{StaticResource ButtonStyle}" IsCancel="True" />
174                 <Button Name="ApplyChanges" Content="Apply" Style="{StaticResource ButtonStyle}" />
175             </StackPanel>
176
177         </Grid>
178     </extToolkit:BusyIndicator>
179 </Window>