Added manual token refresh button to account page. Closes #2095
[pithos-ms-client] / trunk / Pithos.Client.WPF / Preferences / PreferencesView.xaml
1 <Window x:Class="Pithos.Client.WPF.Preferences.PreferencesView"
2         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
3         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"        
4         xmlns:cal="http://www.caliburnproject.org"
5         xmlns:extToolkit="http://schemas.microsoft.com/winfx/2006/xaml/presentation/toolkit/extended"
6         xmlns:Converters="clr-namespace:Pithos.Client.WPF.Converters" 
7         x:Name="TheView"
8         Title="Pithos Preferences" Height="436" Width="600" 
9         ShowInTaskbar="true"
10         WindowStartupLocation="CenterScreen"
11         Icon="/Pithos.Client.WPF;component/Images/PithosTaskbar.png"
12         Background="{StaticResource {x:Static SystemColors.ControlBrushKey}}">
13         
14     <Window.Resources>
15         <ResourceDictionary>
16         <ResourceDictionary.MergedDictionaries>
17             <ResourceDictionary Source="..\PithosStyles.xaml" />
18             </ResourceDictionary.MergedDictionaries>
19             <Converters:NullToVisibilityConverter x:Key="NullToVisible" />
20         </ResourceDictionary>
21     </Window.Resources>
22 <!--    <Window.TaskbarItemInfo>
23         <TaskbarItemInfo Description="{Binding StatusMessage}" >
24             <TaskbarItemInfo.ThumbButtonInfos>
25                 <ThumbButtonInfo>
26                     
27                 </ThumbButtonInfo>
28             </TaskbarItemInfo.ThumbButtonInfos>
29         </TaskbarItemInfo>
30     </Window.TaskbarItemInfo>-->
31     <Grid>
32         <Grid.RowDefinitions>
33             <RowDefinition Height="*"/>
34             <RowDefinition Height="Auto"/>
35         </Grid.RowDefinitions>
36
37        
38         <TabControl Grid.Row="0">  
39             <TabItem VerticalContentAlignment="Stretch" HorizontalContentAlignment="Stretch">
40                 <TabItem.Header>
41                     <StackPanel>
42                         <Image Source="/Pithos.Client.WPF;component/Images/General.png" Stretch="Uniform" Height="32"/>
43                         <TextBlock Text="General"/>
44                     </StackPanel>
45                 </TabItem.Header>
46                 <GroupBox  Height="66" VerticalAlignment="Top" Name="groupBox1" Margin="10,5">
47                     <StackPanel>
48                         <CheckBox Content="Show Desktop Notifications" Height="16" Name="Settings_ShowDesktopNotifications" Margin="5,10,5,0" />
49                         <CheckBox Content="Start on System Startup" Height="16" Name="Settings_StartOnSystemStartup" Margin="5,5,5,0" />
50                     </StackPanel>
51                 </GroupBox>
52             </TabItem>
53             <TabItem VerticalContentAlignment="Stretch" HorizontalContentAlignment="Stretch">
54                 <TabItem.Header>
55                     <StackPanel>
56                         <Image Source="/Pithos.Client.WPF;component/Images/Accounts.png" Stretch="Uniform" Height="32"/>
57                         <TextBlock Text="Accounts"/>
58                     </StackPanel>
59                 </TabItem.Header>
60                 <Grid VerticalAlignment="Stretch" >
61                     <Grid.ColumnDefinitions>
62                         <ColumnDefinition Width="Auto"/>
63                         <ColumnDefinition Width="*"/>
64                     </Grid.ColumnDefinitions>
65                     <Grid Margin="5,10,5,5" Column="0" Width="250">
66                         <Grid.RowDefinitions>
67                             <RowDefinition Height="*"/>
68                             <RowDefinition Height="Auto"/>
69                         </Grid.RowDefinitions>
70                         <ListBox Name="Accounts" Grid.Row="0" VerticalAlignment="Stretch" ItemsSource="{Binding Accounts,Mode=OneWay}" SelectedItem="{Binding CurrentAccount,Mode=TwoWay}" >
71                             <ListBox.ItemTemplate>
72                                 <DataTemplate>
73                                     <TextBlock Text="{Binding AccountName}" />
74                                 </DataTemplate>
75                             </ListBox.ItemTemplate>
76                         </ListBox>
77                         <StackPanel Orientation="Horizontal" Grid.Row="1">
78                             <Button Name="AddAccount" Content="Add " ToolTip="Enter account details manually" Style="{StaticResource ButtonStyle}" Width="75"/>
79                             <Button Name="RemoveAccount" Content="Remove" Style="{StaticResource ButtonStyle}" Width="75"/>                            
80                         </StackPanel>
81                     </Grid>
82                     <GroupBox Header="Account" Padding="5" Margin="5" Height="231" HorizontalAlignment="Stretch" VerticalAlignment="Top" Grid.Column="1" Visibility="{Binding Path=CurrentAccount, Converter={StaticResource NullToVisible},ConverterParameter='Invert'}"
83                               HorizontalContentAlignment="Center" VerticalContentAlignment="Center">
84                         <TextBlock VerticalAlignment="Center" HorizontalAlignment="Center" TextWrapping="Wrap" >
85                             No account is selected. Please select an account or add a new one.
86                         </TextBlock>    
87                     </GroupBox>
88                     <GroupBox Header="Account" Padding="5" Margin="5,5,5,0" Height="266" HorizontalAlignment="Stretch" VerticalAlignment="Top" Grid.Column="1" Visibility="{Binding Path=CurrentAccount, Converter={StaticResource NullToVisible}}">
89                             <Grid>
90                             <Grid.ColumnDefinitions>
91                                 <ColumnDefinition Width="Auto"/>
92                                 <ColumnDefinition Width="91*"/>
93                             </Grid.ColumnDefinitions>
94                             <Grid.RowDefinitions>
95                                 <RowDefinition Height="Auto"/>
96                                 <RowDefinition Height="Auto"/>
97                                 <RowDefinition Height="Auto"/>
98                                 <RowDefinition Height="Auto"/>
99                                 <RowDefinition Height="Auto"/>
100                                 <RowDefinition Height="Auto"/>
101                                 <RowDefinition />
102                             </Grid.RowDefinitions>
103                             <Label Content="Server" Grid.Column="0" Grid.Row="0" Margin="0,5" HorizontalAlignment="Left"/>
104                             <TextBox Name="CurrentAccount_ServerUrl" Grid.Column="1" Grid.Row="0" Margin="5"/>
105                             <Label Content="Account" Grid.Column="0" Grid.Row="1" Margin="0,5" HorizontalAlignment="Left"/>
106                             <TextBox Name="CurrentAccount_AccountName" Grid.Column="1" Grid.Row="1" Margin="5"/>
107                             <Grid Grid.Column="0" Grid.Row="2" Grid.ColumnSpan="2" >
108                                 <Grid.ColumnDefinitions>
109                                     <ColumnDefinition Width="Auto"/>
110                                     <ColumnDefinition Width="*"/>
111                                     <ColumnDefinition Width="Auto"/>
112                                 </Grid.ColumnDefinitions>
113                                 <Label Content="API Key" Grid.Column="0"  Margin="0,5" HorizontalAlignment="Left"/>
114                                 <TextBox  Name="CurrentAccount_ApiKey" Grid.Column="1" Margin="5" />
115                                 <Button Name="RefreshApiKey" Grid.Column="2" Content="Refresh" Margin="5"/>
116                             </Grid>
117                             <Label Content="Folder" Grid.Column="0" Grid.Row="3" Margin="0,5" HorizontalAlignment="Left"/>
118                             <Grid Grid.Row="3" Grid.Column="1" >
119                                 <Grid.ColumnDefinitions>
120                                     <ColumnDefinition Width="*"/>
121                                     <ColumnDefinition Width="Auto"/>
122                                 </Grid.ColumnDefinitions>
123                                 <TextBox  Name="CurrentAccount_RootPath" Margin="5" HorizontalAlignment="Stretch" Grid.Column="0"/>
124                                 <Button Name="MoveAccountFolder" Content="Move ..." Width="60" Height="30" Grid.Column="1" />
125                             </Grid>
126                             <CheckBox Name="CurrentAccount_IsActive" Content="Account is Active" Grid.Column="1" Grid.Row="4" Margin="5"/>
127                             <Button Name="SelectiveSyncFolders" Content="Selective Sync" Width="Auto" HorizontalAlignment="Left" Style="{StaticResource ButtonStyle}" Grid.Column="1" Grid.Row="6"/>
128                             
129                         </Grid>
130                         
131                     </GroupBox>
132                     
133                 </Grid>
134             </TabItem>
135             <TabItem VerticalContentAlignment="Stretch" HorizontalContentAlignment="Stretch" Visibility="Collapsed">
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                     <Grid Margin="10,5">
159                         <RadioButton Name="Settings_UseDefaultProxy" Content="Use System Defaults" Margin="5,6,5,0" Height="16" VerticalAlignment="Top"/>
160                     <RadioButton Name="Settings_UseNoProxy" Content="No Proxy" Margin="5,25,5,0" Height="16" VerticalAlignment="Top"/>
161                     <RadioButton Name="Settings_UseManualProxy" Content="Manual" Margin="5,44,5,0" Height="16" VerticalAlignment="Top"/>
162                         <Label Content="Server" Height="28" HorizontalAlignment="Left" Margin="5,63,0,0" Name="label2" VerticalAlignment="Top" />
163                         <TextBox Height="23" HorizontalAlignment="Left" Margin="76,67,0,0" Name="Settings_ProxyServer" VerticalAlignment="Top" Width="162" IsEnabled="{Binding ElementName=Settings_UseManualProxy, Path=IsChecked}"/>
164                         <TextBlock Height="23" HorizontalAlignment="Left" Margin="244,67,0,0" Name="textBlock1" Text=":" VerticalAlignment="Top" />
165                         <TextBox Height="23" HorizontalAlignment="Left" Margin="254,67,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,96,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                             <Grid.RowDefinitions>
173                                 <RowDefinition/>
174                                 <RowDefinition/>
175                                 <RowDefinition/>
176                             </Grid.RowDefinitions>
177                             <Grid.ColumnDefinitions>
178                                 <ColumnDefinition/>
179                                 <ColumnDefinition/>
180                             </Grid.ColumnDefinitions>
181                                 <Label Content="Username" Height="28" HorizontalAlignment="Left" Grid.Row="0" Grid.Column="0" VerticalAlignment="Top" />
182                             <Label Content="Password" Height="28" HorizontalAlignment="Left" Grid.Row="1" Grid.Column="0" VerticalAlignment="Top" />
183                             <Label Content="Domain" Height="28" HorizontalAlignment="Left" Grid.Row="2" Grid.Column="0"  VerticalAlignment="Top" />
184                             <TextBox Height="23" HorizontalAlignment="Left" Grid.Row="0" Grid.Column="1" Name="Settings_ProxyUsername" VerticalAlignment="Top" Width="157" IsEnabled="{Binding IsChecked,ElementName=Settings_ProxyAuthentication}"/>
185                             <TextBox Height="23" HorizontalAlignment="Left" Grid.Row="1" Grid.Column="1" Name="Settings_ProxyPassword" VerticalAlignment="Top" Width="157" IsEnabled="{Binding IsChecked,ElementName=Settings_ProxyAuthentication}"/>
186                             <TextBox Height="23" HorizontalAlignment="Left" Grid.Row="2" Grid.Column="1" Name="Settings_ProxyDomain" VerticalAlignment="Top" Width="157" IsEnabled="{Binding IsChecked,ElementName=Settings_ProxyAuthentication}"/>
187                             </Grid>
188                         </GroupBox>
189                     </Grid>
190             </TabItem>
191             <TabItem VerticalContentAlignment="Stretch" HorizontalContentAlignment="Stretch">
192                 <TabItem.Header>
193                     <StackPanel>
194                         <Image Source="/Pithos.Client.WPF;component/Images/Advanced.png" Stretch="Uniform" Height="32"/>
195                         <TextBlock Text="Advanced"/>                        
196                     </StackPanel>
197                 </TabItem.Header>
198                 <StackPanel>
199                     <CheckBox Content="Activate Shell Extensions" Height="16" HorizontalAlignment="Left" Margin="5" Name="ExtensionsActivated" VerticalAlignment="Top" />
200                     <Button Content="Refresh Overlays" Name="RefreshOverlays" HorizontalAlignment="Left" Margin="5" Style="{StaticResource ButtonStyle}" Width="Auto" />
201                     <TextBlock Text="Polling Interval (secs)" Margin="5"/>
202                     <extToolkit:IntegerUpDown x:Name="Settings_PollingInterval" HorizontalAlignment="Left" Width="100" Margin="5,0" Watermark="Enter seconds" Minimum="10" />                    
203                     <TextBlock Text="Hashing Parallelism" Margin="5"/>
204                     <extToolkit:IntegerUpDown x:Name="Settings_HashingParallelism" HorizontalAlignment="Left" Width="100" Margin="5,0" Watermark="Enter number of tasks" Minimum="1" />                    
205                     <TextBlock Text="Startup Delay (minutes)" Margin="5"/>
206                     <extToolkit:IntegerUpDown x:Name="StartupDelay" HorizontalAlignment="Left" Width="100" Margin="5,0" Watermark="Enter number of tasks" Minimum="0" />                    
207                 </StackPanel>
208             </TabItem>
209         </TabControl>
210
211         <StackPanel Orientation="Horizontal" Grid.Row="1" HorizontalAlignment="Right">
212             <Button Name="SaveChanges" Content="OK" Margin="5,5,10,5" Style="{StaticResource ButtonStyle}"/>
213             <Button Name="RejectChanges" Content="Cancel" Margin="5,5,10,5" Style="{StaticResource ButtonStyle}"/>
214             <Button Name="ApplyChanges" Content="Apply" Style="{StaticResource ButtonStyle}" />
215         </StackPanel>
216     </Grid>
217 </Window>