Tag and Permission editing of File Permissions is functional.
[pithos-ms-client] / trunk / Pithos.Client.WPF / FileProperties / FilePropertiesView.xaml
index 8b2154f..d19aeb3 100644 (file)
@@ -3,11 +3,11 @@
              xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
              xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
              xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:cal="http://www.caliburnproject.org"
-        mc:Ignorable="d" 
-             d:DesignHeight="300" d:DesignWidth="300" MaxWidth="900"
-         Height="400" Icon="/Pithos.Client.WPF;component/Images/PithosTaskbar.png"
-        Background="{StaticResource {x:Static SystemColors.ControlBrushKey}}" 
-        >
+        xmlns:extToolkit="http://schemas.microsoft.com/winfx/2006/xaml/presentation/toolkit/extended" mc:Ignorable="d" 
+             d:DesignHeight="300" d:DesignWidth="400"  Width="400"
+         Height="400" Icon="/PithosPlus;component/Images/PithosTaskbar.png"
+        Background="{StaticResource {x:Static SystemColors.ControlBrushKey}}" WindowStartupLocation="CenterScreen" Topmost="False"
+        x:Name="ThisView">
     <Window.Resources>
         <ResourceDictionary>
             <ResourceDictionary.MergedDictionaries>
             <BooleanToVisibilityConverter x:Key="BoolToVisible" />
         </ResourceDictionary>       
     </Window.Resources>
-    <Grid>
-        <Grid.RowDefinitions>
-            <RowDefinition Height="Auto"/>
-            <RowDefinition Height="*"/>
-            <RowDefinition Height="Auto"/>
-        </Grid.RowDefinitions>
+    <extToolkit:BusyIndicator IsBusy="{Binding IsBusy}" BusyContent="Loading Object Info ..." >
+        <Grid>
+            <Grid.RowDefinitions>
+                <RowDefinition Height="Auto"/>
+                <RowDefinition Height="*"/>
+                <RowDefinition Height="Auto"/>
+            </Grid.RowDefinitions>
+
+            <Grid Grid.Row="0">
+                <Grid.ColumnDefinitions>
+                    <ColumnDefinition Width="Auto"/>
+                    <ColumnDefinition Width="*"/>
+                    <ColumnDefinition Width="Auto"/>
+                </Grid.ColumnDefinitions>
+                <Image x:Name="FileIcon" Width="48" Height="48" Margin="5" Grid.Column="0" Stretch="None"/>
+                <StackPanel Margin="5" Grid.Column="1">
+                    <TextBlock x:Name="FileName" Grid.Row="0" Text="File Name" FontSize="16" FontWeight="Bold"/>
+                    <StackPanel Orientation="Horizontal" Grid.Row="1">
+                        <TextBlock Text="Container: " />
+                        <TextBlock x:Name="Container" Text="Container" />
+                    </StackPanel>
+                    <StackPanel Orientation="Horizontal" Grid.Row="1">
+                        <TextBlock Text="Sync Status: " />
+                        <TextBlock x:Name="SynchStatus" Text="Normal" />
+                    </StackPanel>
 
-        <Grid Grid.Row="0">
-            <Grid.ColumnDefinitions>
-                <ColumnDefinition Width="Auto"/>
-                <ColumnDefinition Width="*"/>
-                <ColumnDefinition Width="Auto"/>
-            </Grid.ColumnDefinitions>
-            <Image x:Name="FileIcon" Width="48" Height="48" Margin="5" Grid.Column="0" Stretch="None"/>
-            <StackPanel Margin="5" Grid.Column="1">
-                <TextBlock x:Name="FileName" Grid.Row="0" Text="File Name" FontSize="16" FontWeight="Bold"/>
-                <StackPanel Orientation="Horizontal" Grid.Row="1">
-                    <TextBlock Text="Container: " />
-                    <TextBlock x:Name="Container" Text="Container" />
                 </StackPanel>
-            </StackPanel>
-            <TextBlock x:Name="ShortSize" Text="345 KB" FontWeight="Bold" FontSize="14" Grid.Column="2" HorizontalAlignment="Left" />
-        </Grid>
-        <TabControl Grid.Row="1">
-            <TabItem Header="General">
-                <Grid>
-                    <Grid.Resources>
-                        <Style x:Key="NameColumnStyle" TargetType="TextBlock">
-                            <Setter Property="HorizontalAlignment" Value="Right"/>
-                            <Setter Property="Margin" Value="5,2"/>
-                        </Style>
-                        <Style x:Key="ValueColumnStyle" TargetType="TextBlock">
-                            <Setter Property="HorizontalAlignment" Value="Left"/>
-                            <Setter Property="Margin" Value="5,2"/>
-                        </Style>
-                    </Grid.Resources>
-                    <Grid.ColumnDefinitions>
-                        <ColumnDefinition Width="Auto" />
-                        <ColumnDefinition Width="*"/>
-                    </Grid.ColumnDefinitions>
-                    <Grid.RowDefinitions>
-                        <RowDefinition Height="Auto"/>
-                        <RowDefinition Height="Auto"/>
-                        <RowDefinition Height="Auto"/>
-                        <RowDefinition Height="Auto"/>
-                    <RowDefinition Height="Auto"/>
-                    <RowDefinition Height="Auto"/>
-                    </Grid.RowDefinitions>
-                    <TextBlock Text="Kind :" Grid.Row="0" Grid.Column="0" Style="{StaticResource ResourceKey=NameColumnStyle}"/>
-                    <TextBlock Text="Size :" Grid.Row="1" Grid.Column="0" Style="{StaticResource ResourceKey=NameColumnStyle}"/>
-                    <TextBlock Text="Where :" Grid.Row="2" Grid.Column="0" Style="{StaticResource ResourceKey=NameColumnStyle}"/>
-                    <TextBlock Text="Modified :" Grid.Row="3" Grid.Column="0" Style="{StaticResource ResourceKey=NameColumnStyle}"/>
-                    <TextBlock Text="Modified By :" Grid.Row="4" Grid.Column="0" Style="{StaticResource ResourceKey=NameColumnStyle}"/>
-                    <TextBlock Text="Version :" Grid.Row="5" Grid.Column="0" Style="{StaticResource ResourceKey=NameColumnStyle}"/>
-                    <TextBlock x:Name="Kind" Text="application/pdf" Grid.Row="0" Grid.Column="1" Style="{StaticResource ResourceKey=ValueColumnStyle}"/>
-                    <TextBlock x:Name="Size" Text="345 KB (345,332 bytes)" Grid.Row="1" Grid.Column="1" Style="{StaticResource ResourceKey=ValueColumnStyle}"/>
-                    <TextBlock x:Name="Where" Text="pithos/somefile.pdf" Grid.Row="2" Grid.Column="1" Style="{StaticResource ResourceKey=ValueColumnStyle}"/>
-                    <TextBlock x:Name="Modified" Text="28/10/2011 11:34 AM" Grid.Row="3" Grid.Column="1" Style="{StaticResource ResourceKey=ValueColumnStyle}"/>
-                    <TextBlock x:Name="ModifiedBy" Text="SomeUser" Grid.Row="4" Grid.Column="1" Style="{StaticResource ResourceKey=ValueColumnStyle}"/>
-                    <TextBlock x:Name="Version" Text="2345456" Grid.Row="5" Grid.Column="1" Style="{StaticResource ResourceKey=ValueColumnStyle}"/>
-                </Grid>
-            </TabItem>
-            <TabItem Header="Metadata">
-                    <DataGrid ItemsSource="{Binding Tags}" x:Name="Tags"
-                    AutoGenerateColumns="False" CanUserAddRows="True" >
-                        <DataGrid.Columns>
-                            <DataGridTemplateColumn >
-                                <DataGridTemplateColumn.CellTemplate>
-                                    <DataTemplate>
-                                        <Button Content=" - " Command="DataGrid.DeleteCommand"/>
-                                    </DataTemplate>
-                                </DataGridTemplateColumn.CellTemplate>
-                            </DataGridTemplateColumn>
-                            <DataGridTextColumn Binding="{Binding Name}" Header="Key" />
-                            <DataGridTextColumn Binding="{Binding Value}" Header="Value"  />
-                        </DataGrid.Columns>
-                    </DataGrid>
-            </TabItem>
-            <TabItem Header="Permissions">
-                <StackPanel>
-                    <TextBlock Margin="5" Visibility="{Binding Path=IsPublic,FallbackValue=false, Converter={StaticResource BoolToVisible}}">
+                <TextBlock x:Name="ShortSize" Text="345 KB" FontWeight="Bold" FontSize="14" Grid.Column="2" HorizontalAlignment="Left" Margin="5"/>
+            </Grid>
+            <TabControl Grid.Row="1">
+                <TabItem Header="General">
+                    <Grid>
+                        <Grid.Resources>
+                            <Style x:Key="NameColumnStyle" TargetType="TextBlock">
+                                <Setter Property="HorizontalAlignment" Value="Right"/>
+                                <Setter Property="Margin" Value="5,2"/>
+                            </Style>
+                            <Style x:Key="ValueColumnStyle" TargetType="TextBlock">
+                                <Setter Property="HorizontalAlignment" Value="Left"/>
+                                <Setter Property="Margin" Value="5,2"/>
+                            </Style>
+                        </Grid.Resources>
+                        <Grid.ColumnDefinitions>
+                            <ColumnDefinition Width="Auto" />
+                            <ColumnDefinition Width="*"/>
+                        </Grid.ColumnDefinitions>
+                        <Grid.RowDefinitions>
+                            <RowDefinition Height="Auto"/>
+                            <RowDefinition Height="Auto"/>
+                            <RowDefinition Height="Auto"/>
+                            <RowDefinition Height="Auto"/>
+                            <RowDefinition Height="Auto"/>
+                            <RowDefinition Height="Auto"/>
+                            <RowDefinition Height="Auto"/>
+                            <RowDefinition Height="Auto"/>
+                            <RowDefinition Height="Auto"/>
+                        </Grid.RowDefinitions>
+                        <TextBlock Text="Kind :" Grid.Row="0" Grid.Column="0" Style="{StaticResource ResourceKey=NameColumnStyle}"/>
+                        <TextBlock Text="Size :" Grid.Row="1" Grid.Column="0" Style="{StaticResource ResourceKey=NameColumnStyle}"/>
+                        <TextBlock Text="Where :" Grid.Row="2" Grid.Column="0" Style="{StaticResource ResourceKey=NameColumnStyle}"/>
+                        <TextBlock Text="Modified :" Grid.Row="3" Grid.Column="0" Style="{StaticResource ResourceKey=NameColumnStyle}"/>
+                        <TextBlock Text="Modified By :" Grid.Row="4" Grid.Column="0" Style="{StaticResource ResourceKey=NameColumnStyle}"/>
+                        <TextBlock Text="Version :" Grid.Row="5" Grid.Column="0" Style="{StaticResource ResourceKey=NameColumnStyle}"/>
+                        <TextBlock x:Name="Kind" Text="application/pdf" Grid.Row="0" Grid.Column="1" Style="{StaticResource ResourceKey=ValueColumnStyle}"/>
+                        <TextBlock x:Name="Size" Text="345 KB (345,332 bytes)" Grid.Row="1" Grid.Column="1" Style="{StaticResource ResourceKey=ValueColumnStyle}"/>
+                        <TextBlock x:Name="Where" Text="pithos/somefile.pdf" Grid.Row="2" Grid.Column="1" Style="{StaticResource ResourceKey=ValueColumnStyle}"/>
+                        <TextBlock x:Name="Modified" Text="28/10/2011 11:34 AM" Grid.Row="3" Grid.Column="1" Style="{StaticResource ResourceKey=ValueColumnStyle}"/>
+                        <TextBlock x:Name="ModifiedBy" Text="SomeUser" Grid.Row="4" Grid.Column="1" Style="{StaticResource ResourceKey=ValueColumnStyle}"/>
+                        <TextBlock x:Name="Version" Text="2345456" Grid.Row="5" Grid.Column="1" Style="{StaticResource ResourceKey=ValueColumnStyle}"/>
+                    </Grid>
+                </TabItem>
+                <TabItem Header="Metadata">
+                    <StackPanel>
+                        <StackPanel Orientation="Horizontal">
+                            <TextBox x:Name="CurrentTag_Name" Width="145" Margin="5" Grid.Row="6"/>
+                            <TextBox x:Name="CurrentTag_Value" Width="145" Margin="5" Grid.Row="6"/>
+                            <Button x:Name="AddTag" Content="Update" Margin="5"/>
+                        </StackPanel>
+                        <DataGrid ItemsSource="{Binding Tags}" x:Name="Tags"
+                    AutoGenerateColumns="False" GridLinesVisibility="None" 
+                                  IsReadOnly="False"
+                                  CanUserDeleteRows="True"
+                                  CanUserAddRows="False">
+                            <DataGrid.Columns>
+                                <DataGridTextColumn Binding="{Binding Name}" Header="Key" MinWidth="150" IsReadOnly="True"/>
+                                <DataGridTextColumn Binding="{Binding Value}" Header="Value"  MinWidth="100" IsReadOnly="True"/>
+                            </DataGrid.Columns>
+                        </DataGrid>
+                        <Button x:Name="DeleteTag" Content="Delete" 
+                                Command="DataGrid.DeleteCommand" CommandTarget="{Binding ElementName=Tags}"
+                                Style="{StaticResource ResourceKey=ButtonStyle}" HorizontalAlignment="Left" />
+                    </StackPanel>
+                </TabItem>
+                <TabItem Header="Permissions">
+                    <StackPanel>
+                        <CheckBox x:Name="IsPublic" Content="Public" Margin="5"/>
+                        <StackPanel Orientation="Horizontal">
+                            <TextBox x:Name="CurrentPermission_UserName" Width="195" Margin="5" Grid.Row="6"/>
+                            <RadioButton x:Name="CurrentPermission_Read" Content="Read" Margin="5" Grid.Row="7"/>
+                            <RadioButton x:Name="CurrentPermission_Write" Content="Write" Margin="5" Grid.Row="8"/>
+                            <Button x:Name="AddPermission" Content="Update" Margin="5"/>
+                        </StackPanel>
+                        <TextBlock Margin="5" Visibility="{Binding Path=IsPublic,FallbackValue=Collapsed, Converter={StaticResource BoolToVisible}}">
                 <Run Text="Public URL:" />
                 <Run Text="{Binding PublicUrl,FallbackValue='http://someurl'}" />
-                    </TextBlock>
-                    <CheckBox x:Name="IsPublic" Content="Public" Margin="5"/>
-                    <DataGrid ItemsSource="{Binding Permissions}" 
-                AutoGenerateColumns="False" CanUserAddRows="True">
-                        <DataGrid.Columns>
-                            <DataGridTemplateColumn >
-                                <DataGridTemplateColumn.CellTemplate>
-                                    <DataTemplate>
-                                        <Button Content=" - " Command="DataGrid.DeleteCommand"/>
-                                    </DataTemplate>
-                                </DataGridTemplateColumn.CellTemplate>
-                            </DataGridTemplateColumn>
-                            <DataGridTextColumn Binding="{Binding UserName}" Header="Name"  />
-                            <DataGridCheckBoxColumn Binding="{Binding Read}" Header="Read"/>
-                            <DataGridCheckBoxColumn Binding="{Binding Write}" Header="Write"/>
-                        </DataGrid.Columns>
-                    </DataGrid>
-                </StackPanel>
-            </TabItem>
-            <TabItem Header="Other">
+                        </TextBlock>
+                        <DataGrid x:Name="Permissions" AutoGenerateColumns="False" GridLinesVisibility="None" 
+                                  IsReadOnly="False" 
+                                  CanUserDeleteRows="True"
+                                  CanUserAddRows="False"
+                                  >
+                            <DataGrid.Columns>
+                                <DataGridTextColumn Binding="{Binding UserName}" Header="Name"  MinWidth="150" IsReadOnly="True" />
+                                <DataGridTextColumn Binding="{Binding Value}" Header="Permission" IsReadOnly="True"/>
+                            </DataGrid.Columns>
+                        </DataGrid>
+                        <Button x:Name="DeletePermission" Content="Delete" 
+                                Command="DataGrid.DeleteCommand" CommandTarget="{Binding ElementName=Permissions}"
+                                Style="{StaticResource ResourceKey=ButtonStyle}" HorizontalAlignment="Left" />
+                    </StackPanel>
+                </TabItem>
+                <!--<TabItem Header="Other">
                     <Grid>
                         <Grid.Resources>
                             <Style x:Key="NameColumnStyle" TargetType="TextBlock">
                         <TextBox x:Name="ContentDisposition" Grid.Row="1" Grid.Column="1" Style="{StaticResource ResourceKey=ValueColumnStyle}"/>
                         <TextBox x:Name="Manifest" Grid.Row="2" Grid.Column="1" Style="{StaticResource ResourceKey=ValueColumnStyle}"/>
                     </Grid>
-            </TabItem>
-        </TabControl>
-        <StackPanel Orientation="Horizontal" Grid.Row="2" HorizontalAlignment="Right">
-            <Button Name="SaveChanges" Content="OK" Margin="5,5,10,5" Style="{StaticResource ButtonStyle}" IsDefault="False" />
-            <Button Name="RejectChanges" Content="Cancel" Margin="5,5,10,5" Style="{StaticResource ButtonStyle}" IsCancel="True" />
-            <Button Name="ApplyChanges" Content="Apply" Style="{StaticResource ButtonStyle}" />
-        </StackPanel>
+                </TabItem>-->
+            </TabControl>
+            <StackPanel Orientation="Horizontal" Grid.Row="2" HorizontalAlignment="Right">
+                <Button Name="SaveChanges" Content="OK" Margin="5,5,10,5" Style="{StaticResource ButtonStyle}" IsDefault="False" />
+                <Button Name="RejectChanges" Content="Cancel" Margin="5,5,10,5" Style="{StaticResource ButtonStyle}" IsCancel="True" />
+                <Button Name="ApplyChanges" Content="Apply" Style="{StaticResource ButtonStyle}" />
+            </StackPanel>
 
-    </Grid>
+        </Grid>
+    </extToolkit:BusyIndicator>
 </Window>