Renaming stuff.
2 using System.Collections;
3 using System.Collections.Generic;
5 using System.Configuration;
7 using System.ComponentModel;
8 using System.Runtime.Serialization;
9 using System.Runtime.Serialization.Json;
13 namespace SharpDisplayManager
16 /// Display settings for the specified hardware type
19 public class DisplaySettings
21 public DisplaySettings()
26 ReverseScreen = false;
28 FontName = "Microsoft Sans Serif, 9.75pt";
32 public int Brightness { get; set; }
35 /// See Display.TMiniDisplayType
38 public int DisplayType { get; set; }
41 public int TimerInterval { get; set; }
44 public bool ReverseScreen { get; set; }
47 public bool ShowBorders { get; set; }
50 public string FontName { get; set; }
56 FontConverter cvt = new FontConverter();
57 Font font = cvt.ConvertFromInvariantString(FontName) as Font;
63 FontConverter cvt = new FontConverter();
64 FontName = cvt.ConvertToInvariantString(value);
71 /// Contain settings for each of our display type.
73 [TypeConverter(typeof(DisplaySettingsConverter))]
75 public class DisplaysSettings
77 public DisplaysSettings()
86 Displays = new List<DisplaySettings>();
91 //public int CurrentSettingsIndex { get; set; }
94 public List<DisplaySettings> Displays { get; set; }
96 public override string ToString()
98 //Save settings into JSON string
99 MemoryStream stream = new MemoryStream();
100 DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(DisplaysSettings));
101 ser.WriteObject(stream, this);
102 // convert stream to string
104 StreamReader reader = new StreamReader(stream);
105 string text = reader.ReadToEnd();
110 public class DisplaySettingsConverter : TypeConverter
112 public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType)
114 if (sourceType == typeof(string))
117 return base.CanConvertFrom(context, sourceType);
120 public override object ConvertFrom(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value)
122 string stringValue = value as string;
123 if (stringValue != null)
125 //Load settings form JSON string
126 byte[] byteArray = Encoding.UTF8.GetBytes(stringValue);
127 MemoryStream stream = new MemoryStream(byteArray);
128 DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(DisplaysSettings));
129 DisplaysSettings settings = (DisplaysSettings)ser.ReadObject(stream);
134 return base.ConvertFrom(context, culture, value);