/// <summary> /// Prevents a default instance of the <see cref="GlobalSettings" /> class from being created. /// </summary> private GlobalSettings() { Yaircc.Properties.Settings settings = Yaircc.Properties.Settings.Default; string defaultName = Regex.Replace(Environment.MachineName, @"[^a-zA-Z0-9]+", string.Empty); if (defaultName.Length > 8) { defaultName = defaultName.Substring(0, 8); } this.nickName = settings.NickName; if (string.IsNullOrEmpty(this.nickName)) { if (defaultName[0].IsInt32()) { this.nickName = string.Format("_{0}", defaultName); } else { this.nickName = defaultName; } } this.userName = settings.UserName; if (string.IsNullOrEmpty(this.userName)) { this.userName = defaultName; } this.realName = settings.RealName; if (string.IsNullOrEmpty(this.realName)) { this.realName = defaultName; } if (string.IsNullOrEmpty(settings.ThemeFileName) || !File.Exists(settings.ThemeFileName)) { string rootPath = Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location); this.themeFileName = Path.Combine(rootPath, @"themes\default.css"); } else { this.themeFileName = settings.ThemeFileName; } this.defaultMode = Yaircc.Properties.Settings.Default.Mode; if (string.IsNullOrEmpty(this.defaultMode)) { this.defaultMode = "+ix"; } this.groupUsersByMode = Yaircc.Properties.Settings.Default.GroupUsersByMode ? GlobalSettings.Boolean.Yes : GlobalSettings.Boolean.No; this.debugMode = Yaircc.Properties.Settings.Default.DebugMode ? GlobalSettings.Boolean.Yes : GlobalSettings.Boolean.No; this.checkForUpdateOnStart = Yaircc.Properties.Settings.Default.CheckForUpdateOnStart ? GlobalSettings.Boolean.Yes : GlobalSettings.Boolean.No; this.useEmoticons = Yaircc.Properties.Settings.Default.UseEmoticons ? GlobalSettings.Boolean.Yes : GlobalSettings.Boolean.No; this.usePrivateBrowsing = Yaircc.Properties.Settings.Default.UsePrivateBrowsing ? GlobalSettings.Boolean.Yes : GlobalSettings.Boolean.No; this.useEmbeddedMedia = Yaircc.Properties.Settings.Default.UseEmbeddedMedia ? GlobalSettings.Boolean.Yes : GlobalSettings.Boolean.No; }