1 <Window x:Class="Pithos.Client.WPF.Preferences.PreferencesView"
\r
2 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
\r
3 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
\r
4 xmlns:cal="http://www.caliburnproject.org"
\r
5 xmlns:extToolkit="http://schemas.microsoft.com/winfx/2006/xaml/presentation/toolkit/extended"
\r
6 xmlns:Converters="clr-namespace:Pithos.Client.WPF.Converters"
\r
7 xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit" x:Name="TheView"
\r
8 Title="Pithos+ Preferences" Height="436" Width="732"
\r
9 WindowStartupLocation="CenterScreen"
\r
10 Icon="/PithosPlus;component/Images/PithosTaskbar.png"
\r
11 WindowStyle="ToolWindow"
\r
12 ResizeMode="NoResize"
\r
13 ShowInTaskbar="True"
\r
17 <!-- Background="{StaticResource {x:Static SystemColors.ControlBrushKey}}"> -->
\r
19 <ResourceDictionary>
\r
20 <ResourceDictionary.MergedDictionaries>
\r
21 <ResourceDictionary Source="..\PithosStyles.xaml" />
\r
22 </ResourceDictionary.MergedDictionaries>
\r
23 <Converters:NullToVisibilityConverter x:Key="NullToVisible" />
\r
24 <BooleanToVisibilityConverter x:Key="BoolToVisible" />
\r
25 </ResourceDictionary>
\r
27 <!-- <Window.TaskbarItemInfo>
\r
28 <TaskbarItemInfo Description="{Binding StatusMessage}" >
\r
29 <TaskbarItemInfo.ThumbButtonInfos>
\r
33 </TaskbarItemInfo.ThumbButtonInfos>
\r
35 </Window.TaskbarItemInfo>-->
\r
37 <Grid.RowDefinitions>
\r
38 <RowDefinition Height="*"/>
\r
39 <RowDefinition Height="Auto"/>
\r
40 </Grid.RowDefinitions>
\r
43 <TabControl Grid.Row="0" x:Name="Tabs" >
\r
44 <TabItem VerticalContentAlignment="Stretch" HorizontalContentAlignment="Stretch" x:Name="GeneralTab">
\r
47 <Image Source="/PithosPlus;component/Images/General.png" Stretch="Uniform" Height="32"/>
\r
48 <TextBlock Text="General"/>
\r
51 <GroupBox Height="66" VerticalAlignment="Top" Name="groupBox1" Margin="10,5">
\r
53 <CheckBox Content="Show Desktop Notifications" Height="16" Name="Settings_ShowDesktopNotifications" Margin="5,10,5,0" />
\r
54 <CheckBox Content="Start on System Startup" Height="16" Name="Settings_StartOnSystemStartup" Margin="5,5,5,0" />
\r
58 <TabItem VerticalContentAlignment="Stretch" HorizontalContentAlignment="Stretch" x:Name="AccountTab" IsSelected="{Binding AccountTabSelected,Mode=OneWay}">
\r
61 <Image Source="/PithosPlus;component/Images/Accounts.png" Stretch="Uniform" Height="32"/>
\r
62 <TextBlock Text="Accounts"/>
\r
65 <Grid VerticalAlignment="Stretch" >
\r
66 <Grid.ColumnDefinitions>
\r
67 <ColumnDefinition Width="Auto"/>
\r
68 <ColumnDefinition Width="*"/>
\r
69 </Grid.ColumnDefinitions>
\r
70 <Grid Margin="5,10,5,5" Column="0" Width="250">
\r
71 <Grid.RowDefinitions>
\r
72 <RowDefinition Height="*"/>
\r
73 <RowDefinition Height="Auto"/>
\r
74 </Grid.RowDefinitions>
\r
75 <ListBox Name="Accounts" Grid.Row="0" VerticalAlignment="Stretch" ItemsSource="{Binding Accounts,Mode=OneWay}" SelectedItem="{Binding CurrentAccount,Mode=TwoWay}" >
\r
76 <ListBox.ItemTemplate>
\r
78 <StackPanel Orientation="Horizontal">
\r
79 <Image Visibility="{Binding Converter={StaticResource BoolToVisible}, Path=IsExpired,Mode=OneWay}" Source="/PithosPlus;component/Images/SmallWarning.png" Margin="2,0"/>
\r
81 <TextBlock Text="{Binding AccountName}" />
\r
82 <TextBlock Text="{Binding ServerUrl}" FontStyle="Italic" FontSize="10" />
\r
86 </ListBox.ItemTemplate>
\r
89 <Grid.ColumnDefinitions>
\r
90 <ColumnDefinition Width="50*"/>
\r
91 <ColumnDefinition Width="50*"/>
\r
92 </Grid.ColumnDefinitions>
\r
93 <Button Name="AddAccount" Grid.Column="0" Content="Add" ToolTip="Enter account details manually" HorizontalAlignment="Center" Width="100"/>
\r
94 <Button Name="RemoveAccount" Grid.Column="1" Content="Remove" HorizontalAlignment="Center" Width="100"/>
\r
97 <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'}"
\r
98 HorizontalContentAlignment="Center" VerticalContentAlignment="Center">
\r
99 <TextBlock VerticalAlignment="Center" HorizontalAlignment="Center" TextWrapping="Wrap" >
\r
100 No account is selected. Please select an account or add a new one.
\r
103 <GroupBox Header="Account" Padding="5" Margin="5,5,5,0" Height="286" HorizontalAlignment="Stretch" VerticalAlignment="Top" Grid.Column="1" Visibility="{Binding Path=CurrentAccount, Converter={StaticResource NullToVisible}}">
\r
105 <Grid.ColumnDefinitions>
\r
106 <ColumnDefinition Width="Auto"/>
\r
107 <ColumnDefinition Width="91*"/>
\r
108 </Grid.ColumnDefinitions>
\r
109 <Grid.RowDefinitions>
\r
110 <RowDefinition Height="Auto"/>
\r
111 <RowDefinition Height="Auto"/>
\r
112 <RowDefinition Height="Auto"/>
\r
113 <RowDefinition Height="Auto"/>
\r
114 <RowDefinition Height="Auto"/>
\r
115 <RowDefinition Height="Auto"/>
\r
116 <RowDefinition Height="Auto"/>
\r
117 <RowDefinition Height="Auto"/>
\r
119 </Grid.RowDefinitions>
\r
120 <Label Content="Server" Grid.Column="0" Grid.Row="0" Margin="0,5" HorizontalAlignment="Left"/>
\r
121 <TextBox Name="CurrentAccount_ServerUrl" Grid.Column="1" Grid.Row="0" Margin="5"/>
\r
122 <Label Content="Account" Grid.Column="0" Grid.Row="1" Margin="0,5" HorizontalAlignment="Left"/>
\r
123 <TextBox Name="CurrentAccount_AccountName" Grid.Column="1" Grid.Row="1" Margin="5"/>
\r
124 <Grid Grid.Column="0" Grid.Row="2" Grid.ColumnSpan="2" >
\r
125 <Grid.ColumnDefinitions>
\r
126 <ColumnDefinition Width="Auto"/>
\r
127 <ColumnDefinition Width="*"/>
\r
128 <ColumnDefinition Width="Auto"/>
\r
129 </Grid.ColumnDefinitions>
\r
130 <Label Content="API Key" Grid.Column="0" Margin="0,5" HorizontalAlignment="Left"/>
\r
131 <TextBox Name="CurrentAccount_ApiKey" Grid.Column="1" Margin="5" />
\r
132 <Button Name="RefreshApiKey" Grid.Column="2" Content="Refresh" Margin="5"/>
\r
134 <Label Content="Folder" Grid.Column="0" Grid.Row="3" Margin="0,5" HorizontalAlignment="Left"/>
\r
135 <Grid Grid.Row="3" Grid.Column="1" >
\r
136 <Grid.ColumnDefinitions>
\r
137 <ColumnDefinition Width="*"/>
\r
138 <ColumnDefinition Width="Auto"/>
\r
139 </Grid.ColumnDefinitions>
\r
140 <TextBox Name="CurrentAccount_RootPath" Margin="5" HorizontalAlignment="Stretch" IsReadOnly="True" ToolTip="{Binding CurrentAccount.RootPath}" Height="61" TextWrapping="WrapWithOverflow" />
\r
142 <CheckBox Name="CurrentAccount_IsActive" Content="Account is Active" Grid.Row="6" Grid.Column="1" />
\r
143 <CheckBox Name="CurrentAccount_SelectiveSyncEnabled" Content="Selective Sync Enabled" Grid.Row="7" Grid.Column="1"/>
\r
144 <StackPanel Orientation="Horizontal" Grid.Row="8" Grid.Column="1">
\r
145 <Button Name="SelectiveSyncFolders" Width="100" Height="25" Content="Selective Sync" />
\r
146 <Button Name="MoveAccountFolder" Content="Move ..." Width="100" Margin="20,5,5,5" Height="25" Visibility="Hidden"/>
\r
147 <Button Name="ClearAccountCache" Content="Clear Cache" Width="100" Height="25"/>
\r
155 <TabItem VerticalContentAlignment="Stretch" HorizontalContentAlignment="Stretch" x:Name="PluginTab">
\r
158 <Image Source="/PithosPlus;component/Images/Plugins.png" Stretch="Uniform" Height="32"/>
\r
159 <TextBlock Text="Plugins"/>
\r
163 <TabItem VerticalContentAlignment="Stretch" HorizontalContentAlignment="Stretch" Visibility="Collapsed" x:Name="RateTab">
\r
166 <Image Source="/PithosPlus;component/Images/Bandwidth.png" Stretch="Uniform" Height="32"/>
\r
167 <TextBlock Text="Bandwidth"/>
\r
171 <GroupBox Header="Download Rate" Height="100" Margin="10,5" VerticalAlignment="Top">
\r
174 <GroupBox Header="Upload Rate" Height="100" Margin="10,5" VerticalAlignment="Top">
\r
179 <TabItem VerticalContentAlignment="Stretch" HorizontalContentAlignment="Stretch" x:Name="ProxyTab">
\r
182 <Image Source="/PithosPlus;component/Images/Network.png" Stretch="Uniform" Height="32"/>
\r
183 <TextBlock Text="Proxy"/>
\r
186 <Grid Margin="10,5">
\r
187 <RadioButton Name="Settings_UseDefaultProxy" Content="Use System Defaults" Margin="5,6,5,0" Height="16" VerticalAlignment="Top"/>
\r
188 <RadioButton Name="Settings_UseNoProxy" Content="No Proxy" Margin="5,25,5,0" Height="16" VerticalAlignment="Top"/>
\r
189 <RadioButton Name="Settings_UseManualProxy" Content="Manual" Margin="5,44,5,0" Height="16" VerticalAlignment="Top"/>
\r
190 <Label Content="Server" Height="28" HorizontalAlignment="Left" Margin="5,63,0,0" Name="label2" VerticalAlignment="Top" />
\r
191 <TextBox Height="23" HorizontalAlignment="Left" Margin="76,67,0,0" Name="Settings_ProxyServer" VerticalAlignment="Top" Width="162" IsEnabled="{Binding ElementName=Settings_UseManualProxy, Path=IsChecked}"/>
\r
192 <TextBlock Height="23" HorizontalAlignment="Left" Margin="244,67,0,0" Name="textBlock1" Text=":" VerticalAlignment="Top" />
\r
193 <TextBox Height="23" HorizontalAlignment="Left" Margin="254,67,0,0" Name="Settings_ProxyPort" VerticalAlignment="Top" Width="65" IsEnabled="{Binding ElementName=Settings_UseManualProxy, Path=IsChecked}"/>
\r
195 <GroupBox Height="109" HorizontalAlignment="Left" Margin="5,96,0,0" Name="groupBox2" VerticalAlignment="Top" Width="373" IsEnabled="{Binding ElementName=Settings_UseManualProxy, Path=IsChecked}">
\r
197 <CheckBox Content="Proxy requires authentication" Height="16" VerticalAlignment="Top" Name="Settings_ProxyAuthentication" />
\r
200 <Grid.RowDefinitions>
\r
204 </Grid.RowDefinitions>
\r
205 <Grid.ColumnDefinitions>
\r
206 <ColumnDefinition/>
\r
207 <ColumnDefinition/>
\r
208 </Grid.ColumnDefinitions>
\r
209 <Label Content="Username" Height="28" HorizontalAlignment="Left" Grid.Row="0" Grid.Column="0" VerticalAlignment="Top" />
\r
210 <Label Content="Password" Height="28" HorizontalAlignment="Left" Grid.Row="1" Grid.Column="0" VerticalAlignment="Top" />
\r
211 <Label Content="Domain" Height="28" HorizontalAlignment="Left" Grid.Row="2" Grid.Column="0" VerticalAlignment="Top" />
\r
212 <TextBox Height="23" HorizontalAlignment="Left" Grid.Row="0" Grid.Column="1" Name="Settings_ProxyUsername" VerticalAlignment="Top" Width="157" IsEnabled="{Binding IsChecked,ElementName=Settings_ProxyAuthentication}"/>
\r
213 <TextBox Height="23" HorizontalAlignment="Left" Grid.Row="1" Grid.Column="1" Name="Settings_ProxyPassword" VerticalAlignment="Top" Width="157" IsEnabled="{Binding IsChecked,ElementName=Settings_ProxyAuthentication}"/>
\r
214 <TextBox Height="23" HorizontalAlignment="Left" Grid.Row="2" Grid.Column="1" Name="Settings_ProxyDomain" VerticalAlignment="Top" Width="157" IsEnabled="{Binding IsChecked,ElementName=Settings_ProxyAuthentication}"/>
\r
219 <TabItem VerticalContentAlignment="Stretch" HorizontalContentAlignment="Stretch" x:Name="AdvancedTab">
\r
222 <Image Source="/PithosPlus;component/Images/Advanced.png" Stretch="Uniform" Height="32"/>
\r
223 <TextBlock Text="Advanced"/>
\r
226 <WrapPanel Orientation="Vertical">
\r
227 <GroupBox Header="Settings">
\r
228 <StackPanel Margin="5">
\r
229 <TextBlock Text="Polling Interval (Seconds)" Margin="5"/>
\r
230 <xctk:IntegerUpDown x:Name="Settings_PollingInterval" HorizontalAlignment="Left" Width="100" Margin="5,0" Watermark="Enter seconds" Minimum="1" />
\r
231 <TextBlock Text="Hashing Parallelism" Margin="5"/>
\r
232 <xctk:IntegerUpDown x:Name="Settings_HashingParallelism" HorizontalAlignment="Left" Width="100" Margin="5,0" Watermark="Enter number of tasks" Minimum="1" />
\r
233 <TextBlock Text="Startup Delay (Minutes)" Margin="5"/>
\r
234 <xctk:IntegerUpDown x:Name="StartupDelay" HorizontalAlignment="Left" Width="100" Margin="5,0" Watermark="Enter number of tasks" Minimum="0" />
\r
237 <GroupBox Header="Logging">
\r
238 <StackPanel Margin="5">
\r
239 <CheckBox Content="Debug Logging" Height="16" HorizontalAlignment="Left" Margin="5,10,5,5" Name="DebugLoggingEnabled" VerticalAlignment="Top"/>
\r
240 <Button x:Name="OpenLogPath" Content="Log Folder" HorizontalAlignment="Left" Margin="5" Height="25" Width="100" />
\r
241 <Button x:Name="OpenLogConsole" Content="Open Log Console" HorizontalAlignment="Left" Margin="5" Height="25" Width="100" Visibility="Collapsed"/>
\r
242 <CheckBox Content="Ignore Certificates" Height="16" Foreground="Red" HorizontalAlignment="Left" Margin="5,10,5,5" Name="IgnoreCertificateErrors" VerticalAlignment="Top"/>
\r
245 <Button Content="Refresh Overlays" Name="RefreshOverlays" HorizontalAlignment="Left" Margin="5" Height="25" Width="100" />
\r
246 <GroupBox Header="Warning">
\r
247 <StackPanel Margin="5">
\r
248 <Button x:Name="WipeAccount" Content="Wipe Account" HorizontalAlignment="Left" Margin="5" Height="25" Width="100" />
\r
256 <StackPanel Orientation="Horizontal" Grid.Row="1" HorizontalAlignment="Right" Margin="2">
\r
257 <Button Name="SaveChanges" Content="OK" Margin="5,5,10,5" Height="25" Width="100" />
\r
258 <Button Name="RejectChanges" Content="Cancel" Margin="5,5,10,5" Height="25" Width="100" />
\r
259 <Button Name="ApplyChanges" Content="Apply" Height="25" Width="100" />
\r
260 <!-- <Button Name="ApplyChanges" Content="Apply" Style="{StaticResource BorderlessButton}" /> -->
\r