Statistics
| Branch: | Revision:

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
}