root / trunk / Pithos.Client.WPF / Configuration / PithosSettings.cs @ 20e9a378
History | View | Annotate | Download (4.4 kB)
1 | 9bae55d1 | Panagiotis Kanavos | // ----------------------------------------------------------------------- |
---|---|---|---|
2 | 9bae55d1 | Panagiotis Kanavos | // <copyright file="PithosSettings.cs" company="Microsoft"> |
3 | 9bae55d1 | Panagiotis Kanavos | // TODO: Update copyright text. |
4 | 9bae55d1 | Panagiotis Kanavos | // </copyright> |
5 | 9bae55d1 | Panagiotis Kanavos | // ----------------------------------------------------------------------- |
6 | 9bae55d1 | Panagiotis Kanavos | |
7 | 9bae55d1 | Panagiotis Kanavos | using System.ComponentModel.Composition; |
8 | 9bae55d1 | Panagiotis Kanavos | using System.Configuration; |
9 | 9bae55d1 | Panagiotis Kanavos | using System.Dynamic; |
10 | 9bae55d1 | Panagiotis Kanavos | using Pithos.Client.WPF.Properties; |
11 | 9bae55d1 | Panagiotis Kanavos | using Pithos.Interfaces; |
12 | 9bae55d1 | Panagiotis Kanavos | |
13 | 9bae55d1 | Panagiotis Kanavos | namespace Pithos.Client.WPF.Configuration |
14 | 9bae55d1 | Panagiotis Kanavos | { |
15 | 9bae55d1 | Panagiotis Kanavos | using System; |
16 | 9bae55d1 | Panagiotis Kanavos | using System.Collections.Generic; |
17 | 9bae55d1 | Panagiotis Kanavos | using System.Linq; |
18 | 9bae55d1 | Panagiotis Kanavos | using System.Text; |
19 | 9bae55d1 | Panagiotis Kanavos | |
20 | 9bae55d1 | Panagiotis Kanavos | [Export(typeof(IPithosSettings))] |
21 | 0c02aa65 | Panagiotis Kanavos | [Export] |
22 | 5bcf6d70 | Panagiotis Kanavos | public class PithosSettings : IPithosSettings |
23 | 9bae55d1 | Panagiotis Kanavos | { |
24 | 5bcf6d70 | Panagiotis Kanavos | public bool UseDefaultProxy |
25 | 5bcf6d70 | Panagiotis Kanavos | { |
26 | 5bcf6d70 | Panagiotis Kanavos | get { return Settings.Default.UseDefaultProxy; } |
27 | 5bcf6d70 | Panagiotis Kanavos | set { Settings.Default.UseDefaultProxy = value; } |
28 | 5bcf6d70 | Panagiotis Kanavos | } |
29 | 5bcf6d70 | Panagiotis Kanavos | |
30 | 5bcf6d70 | Panagiotis Kanavos | public bool UseManualProxy |
31 | 5bcf6d70 | Panagiotis Kanavos | { |
32 | 5bcf6d70 | Panagiotis Kanavos | get { return Settings.Default.UseManualProxy; } |
33 | 5bcf6d70 | Panagiotis Kanavos | set { Settings.Default.UseManualProxy = value; } |
34 | 5bcf6d70 | Panagiotis Kanavos | } |
35 | 5bcf6d70 | Panagiotis Kanavos | |
36 | 5bcf6d70 | Panagiotis Kanavos | public bool UseNoProxy |
37 | 5bcf6d70 | Panagiotis Kanavos | { |
38 | 5bcf6d70 | Panagiotis Kanavos | get { return Settings.Default.UseNoProxy; } |
39 | 5bcf6d70 | Panagiotis Kanavos | set { Settings.Default.UseNoProxy = value; } |
40 | 5bcf6d70 | Panagiotis Kanavos | } |
41 | 5bcf6d70 | Panagiotis Kanavos | |
42 | 9bae55d1 | Panagiotis Kanavos | public string PithosPath |
43 | 9bae55d1 | Panagiotis Kanavos | { |
44 | 9bae55d1 | Panagiotis Kanavos | get { return Settings.Default.PithosPath; } |
45 | 9bae55d1 | Panagiotis Kanavos | set { Settings.Default.PithosPath = value; } |
46 | 9bae55d1 | Panagiotis Kanavos | } |
47 | 9bae55d1 | Panagiotis Kanavos | |
48 | 5bcf6d70 | Panagiotis Kanavos | public string PithosSite |
49 | 5bcf6d70 | Panagiotis Kanavos | { |
50 | 5bcf6d70 | Panagiotis Kanavos | get { return Settings.Default.PithosSite; } |
51 | 5bcf6d70 | Panagiotis Kanavos | } |
52 | 5bcf6d70 | Panagiotis Kanavos | |
53 | 20e9a378 | Panagiotis Kanavos | public string PithosLoginUrl |
54 | 20e9a378 | Panagiotis Kanavos | { |
55 | 20e9a378 | Panagiotis Kanavos | get { return Settings.Default.PithosLoginUrl; } |
56 | 20e9a378 | Panagiotis Kanavos | } |
57 | 20e9a378 | Panagiotis Kanavos | |
58 | 9bae55d1 | Panagiotis Kanavos | public string IconsPath |
59 | 9bae55d1 | Panagiotis Kanavos | { |
60 | 9bae55d1 | Panagiotis Kanavos | get { return Settings.Default.IconPath; } |
61 | 9bae55d1 | Panagiotis Kanavos | set { Settings.Default.IconPath = value; } |
62 | 9bae55d1 | Panagiotis Kanavos | } |
63 | 9bae55d1 | Panagiotis Kanavos | |
64 | 9bae55d1 | Panagiotis Kanavos | public string UserName |
65 | 9bae55d1 | Panagiotis Kanavos | { |
66 | 9bae55d1 | Panagiotis Kanavos | get { return Settings.Default.UserName; } |
67 | 9bae55d1 | Panagiotis Kanavos | set { Settings.Default.UserName = value; } |
68 | 9bae55d1 | Panagiotis Kanavos | } |
69 | 9bae55d1 | Panagiotis Kanavos | |
70 | 9bae55d1 | Panagiotis Kanavos | public string ApiKey |
71 | 9bae55d1 | Panagiotis Kanavos | { |
72 | 9bae55d1 | Panagiotis Kanavos | get { return Settings.Default.ApiKey; } |
73 | 9bae55d1 | Panagiotis Kanavos | set { Settings.Default.ApiKey = value; } |
74 | 9bae55d1 | Panagiotis Kanavos | } |
75 | 9bae55d1 | Panagiotis Kanavos | |
76 | 9bae55d1 | Panagiotis Kanavos | public AccountsCollection Accounts |
77 | 9bae55d1 | Panagiotis Kanavos | { |
78 | 9bae55d1 | Panagiotis Kanavos | get { return Settings.Default.Accounts; } |
79 | 9bae55d1 | Panagiotis Kanavos | set { Settings.Default.Accounts = value; } |
80 | 9bae55d1 | Panagiotis Kanavos | } |
81 | 9bae55d1 | Panagiotis Kanavos | |
82 | 9bae55d1 | Panagiotis Kanavos | public string ProxyServer |
83 | 9bae55d1 | Panagiotis Kanavos | { |
84 | 9bae55d1 | Panagiotis Kanavos | get { return Settings.Default.ProxyServer; } |
85 | 9bae55d1 | Panagiotis Kanavos | set { Settings.Default.ProxyServer = value; } |
86 | 9bae55d1 | Panagiotis Kanavos | } |
87 | 9bae55d1 | Panagiotis Kanavos | |
88 | 5bcf6d70 | Panagiotis Kanavos | public int ProxyPort |
89 | 9bae55d1 | Panagiotis Kanavos | { |
90 | 9bae55d1 | Panagiotis Kanavos | get { return Settings.Default.ProxyPort; } |
91 | 9bae55d1 | Panagiotis Kanavos | set { Settings.Default.ProxyPort = value; } |
92 | 9bae55d1 | Panagiotis Kanavos | } |
93 | 9bae55d1 | Panagiotis Kanavos | |
94 | 9bae55d1 | Panagiotis Kanavos | public string ProxyUsername |
95 | 9bae55d1 | Panagiotis Kanavos | { |
96 | 9bae55d1 | Panagiotis Kanavos | get { return Settings.Default.ProxyUsername; } |
97 | 9bae55d1 | Panagiotis Kanavos | set { Settings.Default.ProxyUsername = value; } |
98 | 9bae55d1 | Panagiotis Kanavos | } |
99 | 9bae55d1 | Panagiotis Kanavos | |
100 | 9bae55d1 | Panagiotis Kanavos | |
101 | 9bae55d1 | Panagiotis Kanavos | public string ProxyPassword |
102 | 9bae55d1 | Panagiotis Kanavos | { |
103 | 9bae55d1 | Panagiotis Kanavos | get { return Settings.Default.ProxyPassword; } |
104 | 9bae55d1 | Panagiotis Kanavos | set { Settings.Default.ProxyPassword = value; } |
105 | 9bae55d1 | Panagiotis Kanavos | } |
106 | 9bae55d1 | Panagiotis Kanavos | |
107 | 9bae55d1 | Panagiotis Kanavos | public bool ProxyAuthentication |
108 | 9bae55d1 | Panagiotis Kanavos | { |
109 | 9bae55d1 | Panagiotis Kanavos | |
110 | 9bae55d1 | Panagiotis Kanavos | get { return Settings.Default.ProxyAuthentication; } |
111 | 9bae55d1 | Panagiotis Kanavos | set { Settings.Default.ProxyAuthentication = value; } |
112 | 9bae55d1 | Panagiotis Kanavos | } |
113 | 20e9a378 | Panagiotis Kanavos | |
114 | 20e9a378 | Panagiotis Kanavos | |
115 | 9bae55d1 | Panagiotis Kanavos | |
116 | 9bae55d1 | Panagiotis Kanavos | public bool ExtensionsActivated |
117 | 9bae55d1 | Panagiotis Kanavos | { |
118 | 9bae55d1 | Panagiotis Kanavos | |
119 | 9bae55d1 | Panagiotis Kanavos | get { return Settings.Default.ExtensionsActivated; } |
120 | 9bae55d1 | Panagiotis Kanavos | set { Settings.Default.ExtensionsActivated = value; } |
121 | 9bae55d1 | Panagiotis Kanavos | } |
122 | 9bae55d1 | Panagiotis Kanavos | |
123 | 0c02aa65 | Panagiotis Kanavos | public bool ShowDesktopNotifications |
124 | 0c02aa65 | Panagiotis Kanavos | { |
125 | 0c02aa65 | Panagiotis Kanavos | get { return Settings.Default.ShowDesktopNotifications; } |
126 | 0c02aa65 | Panagiotis Kanavos | set { Settings.Default.ShowDesktopNotifications = value; } |
127 | 0c02aa65 | Panagiotis Kanavos | } |
128 | 5bcf6d70 | Panagiotis Kanavos | /* |
129 | 9bae55d1 | Panagiotis Kanavos | public override IEnumerable<string> GetDynamicMemberNames() |
130 | 9bae55d1 | Panagiotis Kanavos | { |
131 | 9bae55d1 | Panagiotis Kanavos | return (from SettingsProperty property in Settings.Default.Properties |
132 | 9bae55d1 | Panagiotis Kanavos | select property.Name); |
133 | 9bae55d1 | Panagiotis Kanavos | } |
134 | 9bae55d1 | Panagiotis Kanavos | |
135 | 9bae55d1 | Panagiotis Kanavos | |
136 | 9bae55d1 | Panagiotis Kanavos | private Lazy<ILookup<string, SettingsProperty>> _propertyNames = new Lazy<ILookup<string, SettingsProperty>>( |
137 | 9bae55d1 | Panagiotis Kanavos | () => (from SettingsProperty property in |
138 | 9bae55d1 | Panagiotis Kanavos | Settings.Default.Properties |
139 | 9bae55d1 | Panagiotis Kanavos | select property).ToLookup(property => property.Name)); |
140 | 9bae55d1 | Panagiotis Kanavos | |
141 | 9bae55d1 | Panagiotis Kanavos | public override bool TryGetMember(GetMemberBinder binder, out object result) |
142 | 9bae55d1 | Panagiotis Kanavos | { |
143 | 9bae55d1 | Panagiotis Kanavos | result = null; |
144 | 9bae55d1 | Panagiotis Kanavos | if (!_propertyNames.Value.Contains(binder.Name)) |
145 | 9bae55d1 | Panagiotis Kanavos | return false; |
146 | 9bae55d1 | Panagiotis Kanavos | result=Settings.Default.Properties[binder.Name]; |
147 | 9bae55d1 | Panagiotis Kanavos | return true; |
148 | 9bae55d1 | Panagiotis Kanavos | } |
149 | 5bcf6d70 | Panagiotis Kanavos | */ |
150 | 9bae55d1 | Panagiotis Kanavos | |
151 | 9bae55d1 | Panagiotis Kanavos | public void Save() |
152 | 9bae55d1 | Panagiotis Kanavos | { |
153 | 9bae55d1 | Panagiotis Kanavos | Settings.Default.Save(); |
154 | 9bae55d1 | Panagiotis Kanavos | } |
155 | 9bae55d1 | Panagiotis Kanavos | |
156 | 9bae55d1 | Panagiotis Kanavos | public void Reload() |
157 | 9bae55d1 | Panagiotis Kanavos | { |
158 | 9bae55d1 | Panagiotis Kanavos | Settings.Default.Reload(); |
159 | 9bae55d1 | Panagiotis Kanavos | } |
160 | 9bae55d1 | Panagiotis Kanavos | } |
161 | 9bae55d1 | Panagiotis Kanavos | } |