root / trunk / Pithos.Client.WPF / Configuration / PithosSettings.cs @ 5d7b20e8
History | View | Annotate | Download (7 kB)
1 | 255f5f86 | Panagiotis Kanavos | #region |
---|---|---|---|
2 | 255f5f86 | Panagiotis Kanavos | /* ----------------------------------------------------------------------- |
3 | 255f5f86 | Panagiotis Kanavos | * <copyright file="PithosSettings.cs" company="GRNet"> |
4 | 255f5f86 | Panagiotis Kanavos | * |
5 | 255f5f86 | Panagiotis Kanavos | * Copyright 2011-2012 GRNET S.A. All rights reserved. |
6 | 255f5f86 | Panagiotis Kanavos | * |
7 | 255f5f86 | Panagiotis Kanavos | * Redistribution and use in source and binary forms, with or |
8 | 255f5f86 | Panagiotis Kanavos | * without modification, are permitted provided that the following |
9 | 255f5f86 | Panagiotis Kanavos | * conditions are met: |
10 | 255f5f86 | Panagiotis Kanavos | * |
11 | 255f5f86 | Panagiotis Kanavos | * 1. Redistributions of source code must retain the above |
12 | 255f5f86 | Panagiotis Kanavos | * copyright notice, this list of conditions and the following |
13 | 255f5f86 | Panagiotis Kanavos | * disclaimer. |
14 | 255f5f86 | Panagiotis Kanavos | * |
15 | 255f5f86 | Panagiotis Kanavos | * 2. Redistributions in binary form must reproduce the above |
16 | 255f5f86 | Panagiotis Kanavos | * copyright notice, this list of conditions and the following |
17 | 255f5f86 | Panagiotis Kanavos | * disclaimer in the documentation and/or other materials |
18 | 255f5f86 | Panagiotis Kanavos | * provided with the distribution. |
19 | 255f5f86 | Panagiotis Kanavos | * |
20 | 255f5f86 | Panagiotis Kanavos | * |
21 | 255f5f86 | Panagiotis Kanavos | * THIS SOFTWARE IS PROVIDED BY GRNET S.A. ``AS IS'' AND ANY EXPRESS |
22 | 255f5f86 | Panagiotis Kanavos | * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED |
23 | 255f5f86 | Panagiotis Kanavos | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR |
24 | 255f5f86 | Panagiotis Kanavos | * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GRNET S.A OR |
25 | 255f5f86 | Panagiotis Kanavos | * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
26 | 255f5f86 | Panagiotis Kanavos | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
27 | 255f5f86 | Panagiotis Kanavos | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF |
28 | 255f5f86 | Panagiotis Kanavos | * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED |
29 | 255f5f86 | Panagiotis Kanavos | * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT |
30 | 255f5f86 | Panagiotis Kanavos | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN |
31 | 255f5f86 | Panagiotis Kanavos | * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
32 | 255f5f86 | Panagiotis Kanavos | * POSSIBILITY OF SUCH DAMAGE. |
33 | 255f5f86 | Panagiotis Kanavos | * |
34 | 255f5f86 | Panagiotis Kanavos | * The views and conclusions contained in the software and |
35 | 255f5f86 | Panagiotis Kanavos | * documentation are those of the authors and should not be |
36 | 255f5f86 | Panagiotis Kanavos | * interpreted as representing official policies, either expressed |
37 | 255f5f86 | Panagiotis Kanavos | * or implied, of GRNET S.A. |
38 | 255f5f86 | Panagiotis Kanavos | * </copyright> |
39 | 255f5f86 | Panagiotis Kanavos | * ----------------------------------------------------------------------- |
40 | 255f5f86 | Panagiotis Kanavos | */ |
41 | 255f5f86 | Panagiotis Kanavos | #endregion |
42 | 9bae55d1 | Panagiotis Kanavos | using System.ComponentModel.Composition; |
43 | cd1bbba9 | Panagiotis Kanavos | using System.Diagnostics; |
44 | 9bae55d1 | Panagiotis Kanavos | using Pithos.Client.WPF.Properties; |
45 | 9bae55d1 | Panagiotis Kanavos | using Pithos.Interfaces; |
46 | 9bae55d1 | Panagiotis Kanavos | |
47 | 9bae55d1 | Panagiotis Kanavos | namespace Pithos.Client.WPF.Configuration |
48 | 9bae55d1 | Panagiotis Kanavos | { |
49 | 9bae55d1 | Panagiotis Kanavos | using System; |
50 | 9bae55d1 | Panagiotis Kanavos | |
51 | 9bae55d1 | Panagiotis Kanavos | [Export(typeof(IPithosSettings))] |
52 | 0c02aa65 | Panagiotis Kanavos | [Export] |
53 | 5bcf6d70 | Panagiotis Kanavos | public class PithosSettings : IPithosSettings |
54 | 9bae55d1 | Panagiotis Kanavos | { |
55 | f734ab5b | Panagiotis Kanavos | private readonly Settings _settings = Settings.Default; |
56 | f734ab5b | Panagiotis Kanavos | |
57 | 74d78c90 | Panagiotis Kanavos | public PithosSettings() |
58 | 74d78c90 | Panagiotis Kanavos | { |
59 | cd1bbba9 | Panagiotis Kanavos | //Settings should already be upgraded by the time we reach this point |
60 | cd1bbba9 | Panagiotis Kanavos | Debug.Assert(!_settings.MustUpgrade); |
61 | cd1bbba9 | Panagiotis Kanavos | //_settings.Upgrade(); |
62 | 74d78c90 | Panagiotis Kanavos | } |
63 | 74d78c90 | Panagiotis Kanavos | |
64 | 5bcf6d70 | Panagiotis Kanavos | public bool UseDefaultProxy |
65 | 5bcf6d70 | Panagiotis Kanavos | { |
66 | f734ab5b | Panagiotis Kanavos | get { return _settings.UseDefaultProxy; } |
67 | f734ab5b | Panagiotis Kanavos | set { _settings.UseDefaultProxy = value; } |
68 | 5bcf6d70 | Panagiotis Kanavos | } |
69 | 5bcf6d70 | Panagiotis Kanavos | |
70 | 5bcf6d70 | Panagiotis Kanavos | public bool UseManualProxy |
71 | 5bcf6d70 | Panagiotis Kanavos | { |
72 | f734ab5b | Panagiotis Kanavos | get { return _settings.UseManualProxy; } |
73 | f734ab5b | Panagiotis Kanavos | set { _settings.UseManualProxy = value; } |
74 | 5bcf6d70 | Panagiotis Kanavos | } |
75 | 5bcf6d70 | Panagiotis Kanavos | |
76 | 5bcf6d70 | Panagiotis Kanavos | public bool UseNoProxy |
77 | 5bcf6d70 | Panagiotis Kanavos | { |
78 | f734ab5b | Panagiotis Kanavos | get { return _settings.UseNoProxy; } |
79 | f734ab5b | Panagiotis Kanavos | set { _settings.UseNoProxy = value; } |
80 | 5bcf6d70 | Panagiotis Kanavos | } |
81 | 5bcf6d70 | Panagiotis Kanavos | |
82 | 9bae55d1 | Panagiotis Kanavos | public string PithosPath |
83 | 9bae55d1 | Panagiotis Kanavos | { |
84 | f734ab5b | Panagiotis Kanavos | get { return _settings.PithosPath; } |
85 | f734ab5b | Panagiotis Kanavos | set { _settings.PithosPath = value; } |
86 | 9bae55d1 | Panagiotis Kanavos | } |
87 | 9bae55d1 | Panagiotis Kanavos | |
88 | f734ab5b | Panagiotis Kanavos | /* public string PithosSite |
89 | 5bcf6d70 | Panagiotis Kanavos | { |
90 | f734ab5b | Panagiotis Kanavos | get { return _settings.PithosSite; } |
91 | f734ab5b | Panagiotis Kanavos | }*/ |
92 | 5bcf6d70 | Panagiotis Kanavos | |
93 | 20e9a378 | Panagiotis Kanavos | public string PithosLoginUrl |
94 | 20e9a378 | Panagiotis Kanavos | { |
95 | f734ab5b | Panagiotis Kanavos | get { return _settings.PithosLoginUrl; } |
96 | 20e9a378 | Panagiotis Kanavos | } |
97 | 20e9a378 | Panagiotis Kanavos | |
98 | 9bae55d1 | Panagiotis Kanavos | public string IconsPath |
99 | 9bae55d1 | Panagiotis Kanavos | { |
100 | f734ab5b | Panagiotis Kanavos | get { return _settings.IconPath; } |
101 | f734ab5b | Panagiotis Kanavos | set { _settings.IconPath = value; } |
102 | 9bae55d1 | Panagiotis Kanavos | } |
103 | 9bae55d1 | Panagiotis Kanavos | |
104 | 9bae55d1 | Panagiotis Kanavos | public string UserName |
105 | 9bae55d1 | Panagiotis Kanavos | { |
106 | f734ab5b | Panagiotis Kanavos | get { return _settings.UserName; } |
107 | f734ab5b | Panagiotis Kanavos | set { _settings.UserName = value; } |
108 | 9bae55d1 | Panagiotis Kanavos | } |
109 | 9bae55d1 | Panagiotis Kanavos | |
110 | 9bae55d1 | Panagiotis Kanavos | public string ApiKey |
111 | 9bae55d1 | Panagiotis Kanavos | { |
112 | f734ab5b | Panagiotis Kanavos | get { return _settings.ApiKey; } |
113 | f734ab5b | Panagiotis Kanavos | set { _settings.ApiKey = value; } |
114 | 9bae55d1 | Panagiotis Kanavos | } |
115 | 9bae55d1 | Panagiotis Kanavos | |
116 | 9bae55d1 | Panagiotis Kanavos | public AccountsCollection Accounts |
117 | 9bae55d1 | Panagiotis Kanavos | { |
118 | 049333d2 | Panagiotis Kanavos | get { return _settings.Accounts ?? (_settings.Accounts = new AccountsCollection()); } |
119 | f734ab5b | Panagiotis Kanavos | set { _settings.Accounts = value; } |
120 | 9bae55d1 | Panagiotis Kanavos | } |
121 | 9bae55d1 | Panagiotis Kanavos | |
122 | 9bae55d1 | Panagiotis Kanavos | public string ProxyServer |
123 | 9bae55d1 | Panagiotis Kanavos | { |
124 | f734ab5b | Panagiotis Kanavos | get { return _settings.ProxyServer; } |
125 | f734ab5b | Panagiotis Kanavos | set { _settings.ProxyServer = value; } |
126 | 9bae55d1 | Panagiotis Kanavos | } |
127 | 9bae55d1 | Panagiotis Kanavos | |
128 | 5bcf6d70 | Panagiotis Kanavos | public int ProxyPort |
129 | 9bae55d1 | Panagiotis Kanavos | { |
130 | f734ab5b | Panagiotis Kanavos | get { return _settings.ProxyPort; } |
131 | f734ab5b | Panagiotis Kanavos | set { _settings.ProxyPort = value; } |
132 | 9bae55d1 | Panagiotis Kanavos | } |
133 | 9bae55d1 | Panagiotis Kanavos | |
134 | 9bae55d1 | Panagiotis Kanavos | public string ProxyUsername |
135 | 9bae55d1 | Panagiotis Kanavos | { |
136 | f734ab5b | Panagiotis Kanavos | get { return _settings.ProxyUsername; } |
137 | f734ab5b | Panagiotis Kanavos | set { _settings.ProxyUsername = value; } |
138 | 9bae55d1 | Panagiotis Kanavos | } |
139 | 9bae55d1 | Panagiotis Kanavos | |
140 | 9bae55d1 | Panagiotis Kanavos | |
141 | 9bae55d1 | Panagiotis Kanavos | public string ProxyPassword |
142 | 9bae55d1 | Panagiotis Kanavos | { |
143 | f734ab5b | Panagiotis Kanavos | get { return _settings.ProxyPassword; } |
144 | f734ab5b | Panagiotis Kanavos | set { _settings.ProxyPassword = value; } |
145 | 9bae55d1 | Panagiotis Kanavos | } |
146 | 9bae55d1 | Panagiotis Kanavos | |
147 | 65282d58 | Panagiotis Kanavos | public string ProxyDomain |
148 | 65282d58 | Panagiotis Kanavos | { |
149 | 65282d58 | Panagiotis Kanavos | get { return _settings.ProxyDomain; } |
150 | 65282d58 | Panagiotis Kanavos | set { _settings.ProxyDomain = value; } |
151 | 65282d58 | Panagiotis Kanavos | } |
152 | 65282d58 | Panagiotis Kanavos | |
153 | 9bae55d1 | Panagiotis Kanavos | public bool ProxyAuthentication |
154 | 9bae55d1 | Panagiotis Kanavos | { |
155 | 9bae55d1 | Panagiotis Kanavos | |
156 | f734ab5b | Panagiotis Kanavos | get { return _settings.ProxyAuthentication; } |
157 | f734ab5b | Panagiotis Kanavos | set { _settings.ProxyAuthentication = value; } |
158 | 9bae55d1 | Panagiotis Kanavos | } |
159 | 20e9a378 | Panagiotis Kanavos | |
160 | 20e9a378 | Panagiotis Kanavos | |
161 | 9bae55d1 | Panagiotis Kanavos | |
162 | 9bae55d1 | Panagiotis Kanavos | public bool ExtensionsActivated |
163 | 9bae55d1 | Panagiotis Kanavos | { |
164 | 9bae55d1 | Panagiotis Kanavos | |
165 | f734ab5b | Panagiotis Kanavos | get { return _settings.ExtensionsActivated; } |
166 | f734ab5b | Panagiotis Kanavos | set { _settings.ExtensionsActivated = value; } |
167 | 9bae55d1 | Panagiotis Kanavos | } |
168 | 9bae55d1 | Panagiotis Kanavos | |
169 | 0c02aa65 | Panagiotis Kanavos | public bool ShowDesktopNotifications |
170 | 0c02aa65 | Panagiotis Kanavos | { |
171 | f734ab5b | Panagiotis Kanavos | get { return _settings.ShowDesktopNotifications; } |
172 | f734ab5b | Panagiotis Kanavos | set { _settings.ShowDesktopNotifications = value; } |
173 | 0c02aa65 | Panagiotis Kanavos | } |
174 | 133f83c2 | Panagiotis Kanavos | |
175 | 133f83c2 | Panagiotis Kanavos | |
176 | 133f83c2 | Panagiotis Kanavos | public int PollingInterval |
177 | 133f83c2 | Panagiotis Kanavos | { |
178 | 133f83c2 | Panagiotis Kanavos | get { return _settings.PollingInterval; } |
179 | 133f83c2 | Panagiotis Kanavos | set |
180 | 133f83c2 | Panagiotis Kanavos | { |
181 | 133f83c2 | Panagiotis Kanavos | if (value <= 0) |
182 | 133f83c2 | Panagiotis Kanavos | throw new ArgumentOutOfRangeException(); |
183 | 133f83c2 | Panagiotis Kanavos | _settings.PollingInterval = value; |
184 | 133f83c2 | Panagiotis Kanavos | } |
185 | 133f83c2 | Panagiotis Kanavos | } |
186 | 29a6b387 | Panagiotis Kanavos | |
187 | 759bd3c4 | Panagiotis Kanavos | public TimeSpan StartupDelay |
188 | 759bd3c4 | Panagiotis Kanavos | { |
189 | 759bd3c4 | Panagiotis Kanavos | get { return _settings.StartupDelay; } |
190 | 759bd3c4 | Panagiotis Kanavos | set |
191 | 759bd3c4 | Panagiotis Kanavos | { |
192 | 759bd3c4 | Panagiotis Kanavos | if (value < TimeSpan.Zero) |
193 | 759bd3c4 | Panagiotis Kanavos | throw new ArgumentOutOfRangeException(); |
194 | 759bd3c4 | Panagiotis Kanavos | _settings.StartupDelay = value; |
195 | 759bd3c4 | Panagiotis Kanavos | } |
196 | 759bd3c4 | Panagiotis Kanavos | } |
197 | 759bd3c4 | Panagiotis Kanavos | |
198 | 759bd3c4 | Panagiotis Kanavos | |
199 | 29a6b387 | Panagiotis Kanavos | public bool StartOnSystemStartup |
200 | 29a6b387 | Panagiotis Kanavos | { |
201 | 29a6b387 | Panagiotis Kanavos | get { return _settings.StartOnSystemStartup; } |
202 | 29a6b387 | Panagiotis Kanavos | set |
203 | 29a6b387 | Panagiotis Kanavos | { |
204 | 29a6b387 | Panagiotis Kanavos | _settings.StartOnSystemStartup = value; |
205 | 29a6b387 | Panagiotis Kanavos | } |
206 | 29a6b387 | Panagiotis Kanavos | } |
207 | 422c9598 | Panagiotis Kanavos | |
208 | 422c9598 | Panagiotis Kanavos | public byte HashingParallelism |
209 | 422c9598 | Panagiotis Kanavos | { |
210 | 422c9598 | Panagiotis Kanavos | get { return _settings.HashingParallelism; } |
211 | 422c9598 | Panagiotis Kanavos | set { _settings.HashingParallelism = value; } |
212 | 422c9598 | Panagiotis Kanavos | } |
213 | 9bae55d1 | Panagiotis Kanavos | |
214 | 049333d2 | Panagiotis Kanavos | public string UpdateUrl |
215 | 049333d2 | Panagiotis Kanavos | { |
216 | 049333d2 | Panagiotis Kanavos | get { return _settings.UpdateUrl; } |
217 | 049333d2 | Panagiotis Kanavos | } |
218 | 049333d2 | Panagiotis Kanavos | |
219 | 049333d2 | Panagiotis Kanavos | public bool UpdateDiagnostics |
220 | 049333d2 | Panagiotis Kanavos | { |
221 | 049333d2 | Panagiotis Kanavos | get { return _settings.UpdateDiagnostics; } |
222 | 049333d2 | Panagiotis Kanavos | } |
223 | 049333d2 | Panagiotis Kanavos | |
224 | 049333d2 | Panagiotis Kanavos | public TimeSpan UpdateCheckInterval |
225 | 049333d2 | Panagiotis Kanavos | { |
226 | 049333d2 | Panagiotis Kanavos | get { return _settings.UpdateCheckInterval; } |
227 | 049333d2 | Panagiotis Kanavos | } |
228 | 049333d2 | Panagiotis Kanavos | |
229 | bb679ec8 | Panagiotis Kanavos | public TimeSpan FileIdleTimeout |
230 | bb679ec8 | Panagiotis Kanavos | { |
231 | bb679ec8 | Panagiotis Kanavos | get { return _settings.FileIdleTimeout; } |
232 | bb679ec8 | Panagiotis Kanavos | } |
233 | bb679ec8 | Panagiotis Kanavos | |
234 | 5d7b20e8 | Panagiotis Kanavos | public bool UpdateForceCheck |
235 | 5d7b20e8 | Panagiotis Kanavos | { |
236 | 5d7b20e8 | Panagiotis Kanavos | get { return _settings.UpdateForceCheck; } |
237 | 5d7b20e8 | Panagiotis Kanavos | } |
238 | 5d7b20e8 | Panagiotis Kanavos | |
239 | 9bae55d1 | Panagiotis Kanavos | public void Save() |
240 | 9bae55d1 | Panagiotis Kanavos | { |
241 | f734ab5b | Panagiotis Kanavos | _settings.Save(); |
242 | 34bdb91d | Panagiotis Kanavos | Proxy.SetFromSettings(this); |
243 | 9bae55d1 | Panagiotis Kanavos | } |
244 | 9bae55d1 | Panagiotis Kanavos | |
245 | 9bae55d1 | Panagiotis Kanavos | public void Reload() |
246 | 9bae55d1 | Panagiotis Kanavos | { |
247 | f734ab5b | Panagiotis Kanavos | _settings.Reload(); |
248 | 9bae55d1 | Panagiotis Kanavos | } |
249 | 174bbb6e | Panagiotis Kanavos | |
250 | 174bbb6e | Panagiotis Kanavos | public void Reset() |
251 | 174bbb6e | Panagiotis Kanavos | { |
252 | 174bbb6e | Panagiotis Kanavos | _settings.Reset(); |
253 | 174bbb6e | Panagiotis Kanavos | _settings.Save(); |
254 | 174bbb6e | Panagiotis Kanavos | } |
255 | 9bae55d1 | Panagiotis Kanavos | } |
256 | 9bae55d1 | Panagiotis Kanavos | } |