Statistics
| Branch: | Revision:

root / trunk / Pithos.Client.WPF / Preferences / PreferencesView.xaml @ 311d1cde

History | View | Annotate | Download (16.6 kB)

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="/PithosPlus;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
            <BooleanToVisibilityConverter x:Key="BoolToVisible" />
21
        </ResourceDictionary>
22
    </Window.Resources>
23
<!--    <Window.TaskbarItemInfo>
24
        <TaskbarItemInfo Description="{Binding StatusMessage}" >
25
            <TaskbarItemInfo.ThumbButtonInfos>
26
                <ThumbButtonInfo>
27
                    
28
                </ThumbButtonInfo>
29
            </TaskbarItemInfo.ThumbButtonInfos>
30
        </TaskbarItemInfo>
31
    </Window.TaskbarItemInfo>-->
32
    <Grid>
33
        <Grid.RowDefinitions>
34
            <RowDefinition Height="*"/>
35
            <RowDefinition Height="Auto"/>
36
        </Grid.RowDefinitions>
37

    
38
       
39
        <TabControl Grid.Row="0" x:Name="Tabs" >  
40
            <TabItem VerticalContentAlignment="Stretch" HorizontalContentAlignment="Stretch" x:Name="GeneralTab">
41
                <TabItem.Header>
42
                    <StackPanel>
43
                        <Image Source="/PithosPlus;component/Images/General.png" Stretch="Uniform" Height="32"/>
44
                        <TextBlock Text="General"/>
45
                    </StackPanel>
46
                </TabItem.Header>
47
                <GroupBox  Height="66" VerticalAlignment="Top" Name="groupBox1" Margin="10,5">
48
                    <StackPanel>
49
                        <CheckBox Content="Show Desktop Notifications" Height="16" Name="Settings_ShowDesktopNotifications" Margin="5,10,5,0" />
50
                        <CheckBox Content="Start on System Startup" Height="16" Name="Settings_StartOnSystemStartup" Margin="5,5,5,0" />
51
                    </StackPanel>
52
                </GroupBox>
53
            </TabItem>
54
            <TabItem VerticalContentAlignment="Stretch" HorizontalContentAlignment="Stretch" x:Name="AccountTab" IsSelected="{Binding AccountTabSelected,Mode=OneWay}">
55
                <TabItem.Header>
56
                    <StackPanel>
57
                        <Image Source="/PithosPlus;component/Images/Accounts.png" Stretch="Uniform" Height="32"/>
58
                        <TextBlock Text="Accounts"/>
59
                    </StackPanel>
60
                </TabItem.Header>
61
                <Grid VerticalAlignment="Stretch" >
62
                    <Grid.ColumnDefinitions>
63
                        <ColumnDefinition Width="Auto"/>
64
                        <ColumnDefinition Width="*"/>
65
                    </Grid.ColumnDefinitions>
66
                    <Grid Margin="5,10,5,5" Column="0" Width="250">
67
                        <Grid.RowDefinitions>
68
                            <RowDefinition Height="*"/>
69
                            <RowDefinition Height="Auto"/>
70
                        </Grid.RowDefinitions>
71
                        <ListBox Name="Accounts" Grid.Row="0" VerticalAlignment="Stretch" ItemsSource="{Binding Accounts,Mode=OneWay}" SelectedItem="{Binding CurrentAccount,Mode=TwoWay}" >
72
                            <ListBox.ItemTemplate>
73
                                <DataTemplate>
74
                                    <StackPanel Orientation="Horizontal">
75
                                    <Image Visibility="{Binding Converter={StaticResource BoolToVisible}, Path=IsExpired,Mode=OneWay}" Source="/PithosPlus;component/Images/SmallWarning.png" Margin="2,0"/>
76
                                        <StackPanel>
77
                                    <TextBlock Text="{Binding AccountName}" />
78
                                    <TextBlock Text="{Binding ServerUrl}" FontStyle="Italic" FontSize="10" />
79
                                        </StackPanel>
80
                                    </StackPanel>
81
                                </DataTemplate>
82
                            </ListBox.ItemTemplate>
83
                        </ListBox>
84
                        <StackPanel Orientation="Horizontal" Grid.Row="1">
85
                            <Button Name="AddAccount" Content="Add " ToolTip="Enter account details manually" Style="{StaticResource ButtonStyle}" Width="75"/>
86
                            <Button Name="RemoveAccount" Content="Remove" Style="{StaticResource ButtonStyle}" Width="75"/>                            
87
                        </StackPanel>
88
                    </Grid>
89
                    <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'}"
90
                              HorizontalContentAlignment="Center" VerticalContentAlignment="Center">
91
                        <TextBlock VerticalAlignment="Center" HorizontalAlignment="Center" TextWrapping="Wrap" >
92
                            No account is selected. Please select an account or add a new one.
93
                        </TextBlock>    
94
                    </GroupBox>
95
                    <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}}">
96
                            <Grid>
97
                            <Grid.ColumnDefinitions>
98
                                <ColumnDefinition Width="Auto"/>
99
                                <ColumnDefinition Width="91*"/>
100
                            </Grid.ColumnDefinitions>
101
                            <Grid.RowDefinitions>
102
                                <RowDefinition Height="Auto"/>
103
                                <RowDefinition Height="Auto"/>
104
                                <RowDefinition Height="Auto"/>
105
                                <RowDefinition Height="Auto"/>
106
                                <RowDefinition Height="Auto"/>
107
                                <RowDefinition Height="Auto"/>
108
                                <RowDefinition />
109
                            </Grid.RowDefinitions>
110
                            <Label Content="Server" Grid.Column="0" Grid.Row="0" Margin="0,5" HorizontalAlignment="Left"/>
111
                            <TextBox Name="CurrentAccount_ServerUrl" Grid.Column="1" Grid.Row="0" Margin="5"/>
112
                            <Label Content="Account" Grid.Column="0" Grid.Row="1" Margin="0,5" HorizontalAlignment="Left"/>
113
                            <TextBox Name="CurrentAccount_AccountName" Grid.Column="1" Grid.Row="1" Margin="5"/>
114
                            <Grid Grid.Column="0" Grid.Row="2" Grid.ColumnSpan="2" >
115
                                <Grid.ColumnDefinitions>
116
                                    <ColumnDefinition Width="Auto"/>
117
                                    <ColumnDefinition Width="*"/>
118
                                    <ColumnDefinition Width="Auto"/>
119
                                </Grid.ColumnDefinitions>
120
                                <Label Content="API Key" Grid.Column="0"  Margin="0,5" HorizontalAlignment="Left"/>
121
                                <TextBox  Name="CurrentAccount_ApiKey" Grid.Column="1" Margin="5" />
122
                                <Button Name="RefreshApiKey" Grid.Column="2" Content="Refresh" Margin="5"/>
123
                            </Grid>
124
                            <Label Content="Folder" Grid.Column="0" Grid.Row="3" Margin="0,5" HorizontalAlignment="Left"/>
125
                            <Grid Grid.Row="3" Grid.Column="1" >
126
                                <Grid.ColumnDefinitions>
127
                                    <ColumnDefinition Width="*"/>
128
                                    <ColumnDefinition Width="Auto"/>
129
                                </Grid.ColumnDefinitions>
130
                                <TextBox  Name="CurrentAccount_RootPath" Margin="1,5,5,-30" HorizontalAlignment="Stretch" IsReadOnly="True" ToolTip="{Binding CurrentAccount.RootPath}" Height="61" TextWrapping="WrapWithOverflow" />
131
                            </Grid>
132
                            <CheckBox Name="CurrentAccount_IsActive" Content="Account is Active" Grid.Row="6" Margin="6,66,126,6" Grid.ColumnSpan="2" />
133
                            <Button Name="SelectiveSyncFolders" Content="Selective Sync" Width="Auto" HorizontalAlignment="Right" Style="{StaticResource ButtonStyle}" Grid.Row="6" Margin="0,40,18,24" Grid.Column="1" />
134
                            <Button Name="MoveAccountFolder" Content="Move ..." Margin="6,40,126,24" Grid.Row="6" Grid.Column="1" />
135
                        </Grid>
136
                        
137
                    </GroupBox>
138
                    
139
                </Grid>
140
            </TabItem>
141
            <TabItem VerticalContentAlignment="Stretch" HorizontalContentAlignment="Stretch" Visibility="Collapsed" x:Name="RateTab">
142
                <TabItem.Header>
143
                    <StackPanel>
144
                        <Image Source="/PithosPlus;component/Images/Bandwidth.png" Stretch="Uniform" Height="32"/>
145
                        <TextBlock Text="Bandwidth"/>
146
                    </StackPanel>
147
                </TabItem.Header>
148
                <StackPanel>
149
                    <GroupBox Header="Download Rate" Height="100"   Margin="10,5" VerticalAlignment="Top">
150
                        <Grid />
151
                    </GroupBox>
152
                    <GroupBox Header="Upload Rate" Height="100"   Margin="10,5" VerticalAlignment="Top">
153
                        <Grid />
154
                    </GroupBox>
155
                </StackPanel>
156
            </TabItem>
157
            <TabItem VerticalContentAlignment="Stretch" HorizontalContentAlignment="Stretch" x:Name="ProxyTab">
158
                <TabItem.Header>
159
                    <StackPanel>
160
                        <Image Source="/PithosPlus;component/Images/Network.png" Stretch="Uniform" Height="32"/>
161
                        <TextBlock Text="Proxy"/>
162
                    </StackPanel>
163
                </TabItem.Header>
164
                    <Grid Margin="10,5">
165
                        <RadioButton Name="Settings_UseDefaultProxy" Content="Use System Defaults" Margin="5,6,5,0" Height="16" VerticalAlignment="Top"/>
166
                    <RadioButton Name="Settings_UseNoProxy" Content="No Proxy" Margin="5,25,5,0" Height="16" VerticalAlignment="Top"/>
167
                    <RadioButton Name="Settings_UseManualProxy" Content="Manual" Margin="5,44,5,0" Height="16" VerticalAlignment="Top"/>
168
                        <Label Content="Server" Height="28" HorizontalAlignment="Left" Margin="5,63,0,0" Name="label2" VerticalAlignment="Top" />
169
                        <TextBox Height="23" HorizontalAlignment="Left" Margin="76,67,0,0" Name="Settings_ProxyServer" VerticalAlignment="Top" Width="162" IsEnabled="{Binding ElementName=Settings_UseManualProxy, Path=IsChecked}"/>
170
                        <TextBlock Height="23" HorizontalAlignment="Left" Margin="244,67,0,0" Name="textBlock1" Text=":" VerticalAlignment="Top" />
171
                        <TextBox Height="23" HorizontalAlignment="Left" Margin="254,67,0,0" Name="Settings_ProxyPort" VerticalAlignment="Top" Width="65" IsEnabled="{Binding ElementName=Settings_UseManualProxy, Path=IsChecked}"/>
172

    
173
                        <GroupBox Height="109" HorizontalAlignment="Left" Margin="5,96,0,0" Name="groupBox2" VerticalAlignment="Top" Width="373" IsEnabled="{Binding ElementName=Settings_UseManualProxy, Path=IsChecked}">
174
                            <GroupBox.Header>
175
                                <CheckBox Content="Proxy requires authentication" Height="16" VerticalAlignment="Top" Name="Settings_ProxyAuthentication" />
176
                            </GroupBox.Header>
177
                            <Grid >
178
                            <Grid.RowDefinitions>
179
                                <RowDefinition/>
180
                                <RowDefinition/>
181
                                <RowDefinition/>
182
                            </Grid.RowDefinitions>
183
                            <Grid.ColumnDefinitions>
184
                                <ColumnDefinition/>
185
                                <ColumnDefinition/>
186
                            </Grid.ColumnDefinitions>
187
                                <Label Content="Username" Height="28" HorizontalAlignment="Left" Grid.Row="0" Grid.Column="0" VerticalAlignment="Top" />
188
                            <Label Content="Password" Height="28" HorizontalAlignment="Left" Grid.Row="1" Grid.Column="0" VerticalAlignment="Top" />
189
                            <Label Content="Domain" Height="28" HorizontalAlignment="Left" Grid.Row="2" Grid.Column="0"  VerticalAlignment="Top" />
190
                            <TextBox Height="23" HorizontalAlignment="Left" Grid.Row="0" Grid.Column="1" Name="Settings_ProxyUsername" VerticalAlignment="Top" Width="157" IsEnabled="{Binding IsChecked,ElementName=Settings_ProxyAuthentication}"/>
191
                            <TextBox Height="23" HorizontalAlignment="Left" Grid.Row="1" Grid.Column="1" Name="Settings_ProxyPassword" VerticalAlignment="Top" Width="157" IsEnabled="{Binding IsChecked,ElementName=Settings_ProxyAuthentication}"/>
192
                            <TextBox Height="23" HorizontalAlignment="Left" Grid.Row="2" Grid.Column="1" Name="Settings_ProxyDomain" VerticalAlignment="Top" Width="157" IsEnabled="{Binding IsChecked,ElementName=Settings_ProxyAuthentication}"/>
193
                            </Grid>
194
                        </GroupBox>
195
                    </Grid>
196
            </TabItem>
197
            <TabItem VerticalContentAlignment="Stretch" HorizontalContentAlignment="Stretch" x:Name="AdvancedTab">
198
                <TabItem.Header>
199
                    <StackPanel>
200
                        <Image Source="/PithosPlus;component/Images/Advanced.png" Stretch="Uniform" Height="32"/>
201
                        <TextBlock Text="Advanced"/>                        
202
                    </StackPanel>
203
                </TabItem.Header>
204
                <WrapPanel Orientation="Vertical">
205
                    <CheckBox Content="Activate Shell Extensions" Height="16" HorizontalAlignment="Left" Margin="5" Name="ExtensionsActivated" VerticalAlignment="Top" />
206
                    <Button Content="Refresh Overlays" Name="RefreshOverlays" HorizontalAlignment="Left" Margin="5" Style="{StaticResource ButtonStyle}" Width="Auto" />
207
                    <TextBlock Text="Polling Interval (secs)" Margin="5"/>
208
                    <extToolkit:IntegerUpDown x:Name="Settings_PollingInterval" HorizontalAlignment="Left" Width="100" Margin="5,0" Watermark="Enter seconds" Minimum="10" />                    
209
                    <TextBlock Text="Hashing Parallelism" Margin="5"/>
210
                    <extToolkit:IntegerUpDown x:Name="Settings_HashingParallelism" HorizontalAlignment="Left" Width="100" Margin="5,0" Watermark="Enter number of tasks" Minimum="1" />                    
211
                    <TextBlock Text="Startup Delay (minutes)" Margin="5"/>
212
                    <extToolkit:IntegerUpDown x:Name="StartupDelay" HorizontalAlignment="Left" Width="100" Margin="5,0" Watermark="Enter number of tasks" Minimum="0" />
213
                    <GroupBox Header="Logging">
214
                        <StackPanel Margin="5">
215
                        <CheckBox Content="Enable Debug Logging" Height="16" HorizontalAlignment="Left" Margin="5,10,5,5" Name="DebugLoggingEnabled" VerticalAlignment="Top"/>
216
                        <Button x:Name="OpenLogPath" Content="Open Log Path" HorizontalAlignment="Left" Margin="5" Style="{StaticResource ButtonStyle}" Width="Auto"/>
217
                        <Button x:Name="OpenLogConsole" Content="Open Log Console" HorizontalAlignment="Left" Margin="5" Style="{StaticResource ButtonStyle}" Width="Auto" Visibility="Collapsed"/>
218
                        </StackPanel>
219
                    </GroupBox>
220
                </WrapPanel>
221
            </TabItem>
222
        </TabControl>
223

    
224
        <StackPanel Orientation="Horizontal" Grid.Row="1" HorizontalAlignment="Right">
225
            <Button Name="SaveChanges" Content="OK" Margin="5,5,10,5" Style="{StaticResource ButtonStyle}"/>
226
            <Button Name="RejectChanges" Content="Cancel" Margin="5,5,10,5" Style="{StaticResource ButtonStyle}"/>
227
            <Button Name="ApplyChanges" Content="Apply" Style="{StaticResource ButtonStyle}" />
228
        </StackPanel>
229
    </Grid>
230
</Window>