mirror of https://github.com/icsharpcode/ILSpy.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
966 B
47 lines
966 B
using System.Xml.Linq; |
|
|
|
namespace ICSharpCode.ILSpy.Options |
|
{ |
|
public interface IMiscSettingsLoader |
|
{ |
|
MiscSettings LoadMiscSettings(); |
|
MiscSettings LoadMiscSettings(ILSpySettings settings); |
|
} |
|
|
|
public class MiscSettingsLoader : IMiscSettingsLoader |
|
{ |
|
private ILSpySettings settings; |
|
|
|
public MiscSettingsLoader() |
|
{ |
|
settings = ILSpySettings.Load(); |
|
} |
|
|
|
public MiscSettings LoadMiscSettings() |
|
{ |
|
return LoadMiscSettings(settings); |
|
} |
|
|
|
public MiscSettings LoadMiscSettings(ILSpySettings settings) |
|
{ |
|
XElement e = settings["MiscSettings"]; |
|
MiscSettings s = new MiscSettings(); |
|
s.AllowMultipleInstances = (bool?)e.Attribute("allowMultipleInstance") ?? s.AllowMultipleInstances; |
|
return s; |
|
} |
|
} |
|
|
|
public static class MiscSettingsInstance |
|
{ |
|
private static MiscSettingsLoader current; |
|
|
|
public static MiscSettingsLoader Current |
|
{ |
|
get |
|
{ |
|
current = current ?? new MiscSettingsLoader(); |
|
return current; |
|
} |
|
} |
|
} |
|
}
|
|
|