public List <IdNamePair> LoadAll() { string[] lines = { }; try { this.EnsureFileExists(); lines = File.ReadAllLines(PresetManager.SavedTimersPath); } catch (Exception ex) { System.Windows.Forms.MessageBox.Show(ex.Message); return(null); } this.savedSettings.Clear(); var idNamePairs = new List <IdNamePair>(); foreach (var line in lines) { var setting = SimpleTimerSettings.ParseCsv(line); var id = setting.Id; if (this.HasSetting(id)) { this.UpdateSetting(id, setting); } else { this.AddNewSetting(id, setting); } idNamePairs.Add(new IdNamePair(id, setting.Name)); } return(idNamePairs); }
public override bool Equals(object obj) { if (obj == null || GetType() != obj.GetType()) { return(false); } if (ReferenceEquals(this, obj)) { return(true); } SimpleTimerSettings that = obj as SimpleTimerSettings; if (that == null) { return(false); } return(this.id.Equals(that.id) && this.Name.Equals(that.Name) && this.TimerDuration.Equals(that.TimerDuration) && this.BlinkOnExpired.Equals(that.BlinkOnExpired) && this.FinalMessage.Equals(that.FinalMessage) && this.VisualSettings.Equals(that.VisualSettings)); }
public void OnTimerAdded(SimpleTimerSettings timerSetting) { var handler = this.TimerAdded; if (handler != null) { handler.Invoke(this, new SettingsChangedEventArgs(timerSetting)); } }
private void AddNewSetting(int id, SimpleTimerSettings setting) { this.savedSettings.Add((SimpleTimerSettings)setting.Clone()); var index = this.savedSettings.Count - 1; this.idToSettingIdx[id] = index; this.nameToSettingIdx[setting.Name] = index; }
public void AddTimer(SimpleTimerSettings timer) { timer.VisualSettings.CounterMode = TimerVisualSettings.TimerCounterMode.CountDownToMinus; timer.VisualSettings.DisplayMode = TimerVisualSettings.TimerDisplayMode.FullWidth; if (!this.plan.Contains(timer)) { this.plan.Add(timer); } }
private void UpdateSetting(int id, SimpleTimerSettings setting) { var index = this.idToSettingIdx[id]; // First check if this setting was under a different name var oldName = this.savedSettings[index].Name; if (oldName != setting.Name) { // Remove ties to old name this.nameToSettingIdx.Remove(oldName); // Add the new name this.nameToSettingIdx.Add(setting.Name, index); } // Update setting this.savedSettings[index] = setting.Clone() as SimpleTimerSettings; this.nameToSettingIdx[setting.Name] = index; }
public static SimpleTimerSettings ParseCsv(string csv) { try { var values = csv.Split(new char[] { ',' }); int id = -1; int.TryParse(values[0], out id); var settings = new SimpleTimerSettings(id) { Name = values[1], TimerDuration = TimerDurationSettings.ParseCsv(csv, 2), BlinkOnExpired = bool.Parse(values[6]), FinalMessage = values[7], VisualSettings = TimerVisualSettings.ParseCsv(csv, 8), }; return(settings); } catch { return(SimpleTimerSettings.Default); } }
public bool RemoveTimer(string timerString) { return(this.RemoveTimer(SimpleTimerSettings.ParseCsv(timerString))); }
public bool RemoveTimer(SimpleTimerSettings timer) { return(this.plan.Remove(timer)); }
public void AddTimer(string timerString) { this.AddTimer(SimpleTimerSettings.ParseCsv(timerString)); }
public SettingsChangedEventArgs(SimpleTimerSettings settings) { this.Settings = settings; }
public SimpleTimerSettings(int id, SimpleTimerSettings copy) : this(id, copy.name, copy.FinalMessage, copy.BlinkOnExpired, copy.TimerDuration, copy.VisualSettings, copy.MessageSettings) { }
public SettingIOEventArgs(SimpleTimerSettings settings) { this.Settings = settings; }