Merge branch 'master' of https://code.grnet.gr/git/pithos-ms-client
[pithos-ms-client] / trunk / Pithos.Client.WPF / PreferencesView.xaml
1 <Window x:Class="Pithos.Client.WPF.PreferencesView"
2         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
3         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
4         xmlns:tb="clr-namespace:Hardcodet.Wpf.TaskbarNotification;assembly=Hardcodet.Wpf.TaskbarNotification"
5         xmlns:cal="http://www.caliburnproject.org" 
6         x:Name="TheView"
7         Title="Pithos Preferences" Height="382" Width="445" 
8         ShowInTaskbar="true"
9         WindowStartupLocation="CenterScreen"
10         Icon="/Pithos.Client.WPF;component/Images/Tray.ico"
11         Background="#FFD4D0C8">
12     <Window.Resources>
13         <ResourceDictionary>
14         <ResourceDictionary.MergedDictionaries>
15             <ResourceDictionary Source="PithosStyles.xaml" />
16             </ResourceDictionary.MergedDictionaries>
17         </ResourceDictionary>
18     </Window.Resources>
19     <Window.TaskbarItemInfo>
20         <TaskbarItemInfo Description="{Binding StatusMessage}" >
21             <TaskbarItemInfo.ThumbButtonInfos>
22                 <ThumbButtonInfo>
23                     
24                 </ThumbButtonInfo>
25             </TaskbarItemInfo.ThumbButtonInfos>
26         </TaskbarItemInfo>
27     </Window.TaskbarItemInfo>
28     <Grid>
29         <Grid.RowDefinitions>
30             <RowDefinition Height="*"/>
31             <RowDefinition Height="Auto"/>
32         </Grid.RowDefinitions>
33
34         <tb:TaskbarIcon x:Name="TaskbarView"                           
35                         IconSource="{Binding StatusIcon}" 
36                         ToolTipText="{Binding StatusMessage}"
37                         DataContext="{Binding Taskbar}"
38                         MenuActivation="LeftOrRightClick" 
39                         DoubleClickCommand="{Binding DataContext.Taskbar.OpenPithosFolderCommand,ElementName=TheView}"                         
40                         cal:Bind.Model="{Binding DataContext.Taskbar,ElementName=TheView}">
41             <tb:TaskbarIcon.ContextMenu>
42                 <ContextMenu x:Name="TaskbarMenu" >
43                     <MenuItem Header="Open PITHOS Folder" x:Name="OpenPithosFolder" cal:Message.Attach="OpenPithosFolder" FontWeight="Bold" />
44                     <MenuItem Header="Launch PITHOS Site"  x:Name="GoToSite" cal:Message.Attach="GoToSite" />
45                     <MenuItem Header="Recently Changed Files" x:Name="Taskbar_RecentFiles" ItemsSource="{Binding RecentFiles}">
46                             <MenuItem.ItemTemplate>
47                                 <DataTemplate>
48                                     <TextBlock Text="{Binding FileName}"/>
49                                 </DataTemplate>
50                             </MenuItem.ItemTemplate>
51                     </MenuItem>
52                     <Separator  />
53                     <MenuItem Header="{Binding UsageMessage}" x:Name="UsageMessage" />
54                     <Separator  />
55                     <MenuItem Header="{Binding StatusMessage}" x:Name="StatusMessage" />
56                     <Separator  />
57                     <MenuItem  Header="{Binding PauseSyncCaption}" x:Name="ToggleSynching" cal:Message.Attach="ToggleSynching"  />
58                     <Separator  />
59                     <MenuItem  Header="Preferences ..." x:Name="ShowPreferences"  Click="ShowPreferences_Click" cal:Message.Attach="ShowPreferences" />
60                     <Separator  />
61                     <MenuItem  Header="Exit" Name="ExitPithos" cal:Message.Attach="ExitPithos" />
62                 </ContextMenu>
63             </tb:TaskbarIcon.ContextMenu>
64         </tb:TaskbarIcon>
65
66
67
68         <TabControl Grid.Row="0">  
69             <TabItem VerticalContentAlignment="Stretch" HorizontalContentAlignment="Stretch">
70                 <TabItem.Header>
71                     <StackPanel>
72                         <Image Source="/Pithos.Client.WPF;component/Images/General.png" Stretch="Uniform" Height="32"/>
73                         <TextBlock Text="General"/>
74                     </StackPanel>
75                 </TabItem.Header>
76                 <GroupBox  Height="66" VerticalAlignment="Top" Name="groupBox1" Margin="10,5">
77                     <StackPanel>
78                         <CheckBox Content="Show Desktop Notifications" Height="16" Name="Settings_ShowDesktopNotifications" Margin="5,10,5,0" />
79                         <CheckBox Content="Start on System Startup" Height="16" Name="Settings_StartOnSystemStartup" Margin="5,5,5,0" />
80                     </StackPanel>
81                 </GroupBox>
82             </TabItem>
83             <TabItem VerticalContentAlignment="Stretch" HorizontalContentAlignment="Stretch">
84                 <TabItem.Header>
85                     <StackPanel>
86                         <Image Source="/Pithos.Client.WPF;component/Images/Accounts.png" Stretch="Uniform" Height="32"/>
87                         <TextBlock Text="Accounts"/>
88                     </StackPanel>
89                 </TabItem.Header>
90                 <StackPanel Orientation="Horizontal" VerticalAlignment="Stretch" >
91                     <Grid Margin="5,10,5,5">
92                         <Grid.RowDefinitions>
93                             <RowDefinition Height="*"/>
94                             <RowDefinition Height="Auto"/>
95                         </Grid.RowDefinitions>
96                         <ListBox Name="Settings_Accounts" SelectedIndex="{Binding SelectedAccountIndex}" Grid.Row="0" 
97                                  VerticalAlignment="Stretch" >
98                             <ListBox.ItemTemplate>
99                                 <DataTemplate>
100                                     <TextBlock Text="{Binding AccountName}" />
101                                 </DataTemplate>
102                             </ListBox.ItemTemplate>
103                         </ListBox>
104                         <StackPanel Orientation="Horizontal" Grid.Row="1">
105                             <Button Name="AddAccount" Content="Add" Style="{StaticResource ButtonStyle}" Width="50"/>
106                             <Button Name="RemoveAccount" Content="Remove" Style="{StaticResource ButtonStyle}" Width="50"/>
107                         </StackPanel>
108                     </Grid>
109                         <GroupBox Header="Account" Padding="5" Margin="5" Height="190" HorizontalAlignment="Stretch" VerticalAlignment="Top" Width="272">
110                         <Grid>
111                             <Grid.ColumnDefinitions>
112                                 <ColumnDefinition Width="Auto"/>
113                                 <ColumnDefinition Width="91*"/>
114                             </Grid.ColumnDefinitions>
115                             <Grid.RowDefinitions>
116                                 <RowDefinition Height="Auto"/>
117                                 <RowDefinition Height="Auto"/>
118                                 <RowDefinition Height="Auto"/>
119                                 <RowDefinition Height="Auto"/>
120                                 <RowDefinition Height="Auto"/>
121                                 <RowDefinition />
122                             </Grid.RowDefinitions>
123                             <Label Content="Account" Grid.Column="0" Grid.Row="0" Margin="0,5" HorizontalAlignment="Left"/>
124                             <TextBox Name="CurrentAccount_AccountName" Grid.Column="1" Grid.Row="0" Margin="5"/>
125                             <Label Content="API Key" Grid.Column="0" Grid.Row="1" Margin="0,5" HorizontalAlignment="Left"/>
126                             <TextBox  Name="CurrentAccount_ApiKey" Grid.Column="1" Grid.Row="1" Margin="5"/>
127                             <CheckBox Name="CurrentAccount_IsActive" Content="Account is Active" Grid.Column="1" Grid.Row="2" Margin="5"/>
128                             <CheckBox Name="CurrentAccount_UsePithos" Content="Use Pithos Extensions" Grid.Column="1" Grid.Row="3" Margin="5"/>
129                             <Button Name="SelectSyncFolders" Content="Selective Sync" Width="Auto" HorizontalAlignment="Left" Style="{StaticResource ButtonStyle}" Grid.Column="1" Grid.Row="4"/>
130                             
131                         </Grid>
132                     </GroupBox>
133                 </StackPanel>
134             </TabItem>
135             <TabItem VerticalContentAlignment="Stretch" HorizontalContentAlignment="Stretch">
136                 <TabItem.Header>
137                     <StackPanel>
138                         <Image Source="/Pithos.Client.WPF;component/Images/Bandwidth.png" Stretch="Uniform" Height="32"/>
139                         <TextBlock Text="Bandwidth"/>
140                     </StackPanel>
141                 </TabItem.Header>
142                 <StackPanel>
143                     <GroupBox Header="Download Rate" Height="100"   Margin="10,5" VerticalAlignment="Top">
144                         <Grid />
145                     </GroupBox>
146                     <GroupBox Header="Upload Rate" Height="100"   Margin="10,5" VerticalAlignment="Top">
147                         <Grid />
148                     </GroupBox>
149                 </StackPanel>
150             </TabItem>
151             <TabItem VerticalContentAlignment="Stretch" HorizontalContentAlignment="Stretch">
152                 <TabItem.Header>
153                     <StackPanel>
154                         <Image Source="/Pithos.Client.WPF;component/Images/Network.png" Stretch="Uniform" Height="32"/>
155                         <TextBlock Text="Proxy"/>
156                     </StackPanel>
157                 </TabItem.Header>
158                 <GroupBox Header="Proxy Settings" Height="275"  Margin="10,5" VerticalAlignment="Top" Width="396">
159                     <Grid>
160                         <RadioButton Name="Settings_UseDefaultProxy" Content="Use System Defaults" Margin="5,6,5,0" Height="16" VerticalAlignment="Top"/>
161                         <RadioButton Name="Settings_UseManualProxy" Content="Manual" Margin="5,28,5,0" Height="16" VerticalAlignment="Top"/>
162                         <Label Content="Server" Height="28" HorizontalAlignment="Left" Margin="5,47,0,0" Name="label2" VerticalAlignment="Top" />
163                         <TextBox Height="23" HorizontalAlignment="Left" Margin="76,51,0,0" Name="Settings_ProxyServer" VerticalAlignment="Top" Width="162" IsEnabled="{Binding ElementName=Settings_UseManualProxy, Path=IsChecked}"/>
164                         <TextBlock Height="23" HorizontalAlignment="Left" Margin="244,51,0,0" Name="textBlock1" Text=":" VerticalAlignment="Top" />
165                         <TextBox Height="23" HorizontalAlignment="Left" Margin="254,51,0,0" Name="Settings_ProxyPort" VerticalAlignment="Top" Width="65" IsEnabled="{Binding ElementName=Settings_UseManualProxy, Path=IsChecked}"/>
166
167                         <GroupBox Height="109" HorizontalAlignment="Left" Margin="5,80,0,0" Name="groupBox2" VerticalAlignment="Top" Width="373" IsEnabled="{Binding ElementName=Settings_UseManualProxy, Path=IsChecked}">
168                             <GroupBox.Header>
169                                 <CheckBox Content="Proxy requires authentication" Height="16" VerticalAlignment="Top" Name="Settings_ProxyAuthentication" />
170                             </GroupBox.Header>
171                             <Grid >
172                                 <Label Content="Username" Height="28" HorizontalAlignment="Left" Margin="0,6,0,0" Name="label3" VerticalAlignment="Top" />
173                                 <Label Content="Password" Height="28" HorizontalAlignment="Left" Margin="0,32,0,0" Name="label4" VerticalAlignment="Top" />
174                                 <TextBox Height="23" HorizontalAlignment="Left" Margin="65,6,0,0" Name="Settings_ProxyUsername" VerticalAlignment="Top" Width="157" IsEnabled="{Binding IsChecked,ElementName=Settings_ProxyAuthentication}"/>
175                                 <TextBox Height="23" HorizontalAlignment="Left" Margin="65,37,0,0" Name="Settings_ProxyPassword" VerticalAlignment="Top" Width="157" IsEnabled="{Binding IsChecked,ElementName=Settings_ProxyAuthentication}"/>
176                             </Grid>
177                         </GroupBox>
178                     </Grid>
179                 </GroupBox>
180             </TabItem>
181             <TabItem VerticalContentAlignment="Stretch" HorizontalContentAlignment="Stretch">
182                 <TabItem.Header>
183                     <StackPanel>
184                         <Image Source="/Pithos.Client.WPF;component/Images/Advanced.png" Stretch="Uniform" Height="32"/>
185                         <TextBlock Text="Advanced"/>
186                     </StackPanel>
187                 </TabItem.Header>
188                 <StackPanel>
189                 
190                 <GroupBox Header="Pithos Folder" Height="60" Name="groupBox3" Margin="5" VerticalAlignment="Top">
191                     <Grid>
192                         <TextBox Height="23" HorizontalAlignment="Left" Margin="6,6,0,0" Name="Settings_PithosPath"  VerticalAlignment="Top" Width="247" />
193                         <Button Content="Move" Height="23" HorizontalAlignment="Left" Margin="259,6,0,0" Name="ChangePithosFolder" VerticalAlignment="Top" Width="75" />
194                     </Grid>
195                 </GroupBox>
196                     <CheckBox Content="Activate Shell Extensions" Height="16" HorizontalAlignment="Left" Margin="5" Name="ExtensionsActivated" VerticalAlignment="Top" />
197                     <Button Content="Refresh Overlays" Name="RefreshOverlays" HorizontalAlignment="Left" Margin="5" Style="{StaticResource ButtonStyle}" Width="Auto" />
198                 </StackPanel>
199             </TabItem>
200         </TabControl>
201
202         <StackPanel Orientation="Horizontal" Grid.Row="1" HorizontalAlignment="Right">
203             <Button Name="SaveChanges" Content="OK" Click="SaveChanges_Click" Margin="5,5,10,5" Style="{StaticResource ButtonStyle}"/>
204             <Button Name="RejectChanges" Content="Cancel" Click="RejectChanges_Click" Margin="5,5,10,5" Style="{StaticResource ButtonStyle}"/>
205             <Button Name="ApplyChanges" Content="Apply" Style="{StaticResource ButtonStyle}" />
206         </StackPanel>
207     </Grid>
208 </Window>