2009-06-12 Bill Holmes <billholmes54@gmail.com>
[mono.git] / mcs / nunit20 / util / UserSettings.cs
1 #region Copyright (c) 2002-2003, James W. Newkirk, Michael C. Two, Alexei A. Vorontsov, Charlie Poole, Philip A. Craig
2 /************************************************************************************
3 '
4 ' Copyright  2002-2003 James W. Newkirk, Michael C. Two, Alexei A. Vorontsov, Charlie Poole
5 ' Copyright  2000-2002 Philip A. Craig
6 '
7 ' This software is provided 'as-is', without any express or implied warranty. In no 
8 ' event will the authors be held liable for any damages arising from the use of this 
9 ' software.
10
11 ' Permission is granted to anyone to use this software for any purpose, including 
12 ' commercial applications, and to alter it and redistribute it freely, subject to the 
13 ' following restrictions:
14 '
15 ' 1. The origin of this software must not be misrepresented; you must not claim that 
16 ' you wrote the original software. If you use this software in a product, an 
17 ' acknowledgment (see the following) in the product documentation is required.
18 '
19 ' Portions Copyright  2002-2003 James W. Newkirk, Michael C. Two, Alexei A. Vorontsov, Charlie Poole
20 ' or Copyright  2000-2002 Philip A. Craig
21 '
22 ' 2. Altered source versions must be plainly marked as such, and must not be 
23 ' misrepresented as being the original software.
24 '
25 ' 3. This notice may not be removed or altered from any source distribution.
26 '
27 '***********************************************************************************/
28 #endregion
29
30 using System;
31 using System.Drawing;
32
33 namespace NUnit.Util
34 {
35         /// <summary>
36         /// UserSettings represents the main group of per-user
37         /// settings used by NUnit.
38         /// </summary>
39         public class UserSettings : SettingsGroup
40         {
41                 private UserSettings()
42                         : base( "UserSettings", GetStorageImpl( )  ) { }
43
44                 public static SettingsStorage GetStorageImpl()
45                 {
46                         return new RegistrySettingsStorage( NUnitRegistry.CurrentUser );
47                 }
48
49                 public static SettingsStorage GetStorageImpl( string name )
50                 {
51                         return new RegistrySettingsStorage( name, NUnitRegistry.CurrentUser );
52                 }
53
54                 public static OptionSettings Options
55                 {
56                         get { return new OptionSettings( GetStorageImpl( "Options" ) ); }
57                 }
58
59                 public static FormSettings Form
60                 {
61                         get { return new FormSettings( GetStorageImpl( "Form" ) ); }
62                 }
63
64                 public static RecentProjectSettings RecentProjects
65                 {
66                         get { return new RecentProjectSettings( GetStorageImpl( "Recent-Projects" ) ); }
67                 }
68         }
69 }