Пример #1
0
        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);
        }
Пример #2
0
        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));
        }
Пример #3
0
        public void OnTimerAdded(SimpleTimerSettings timerSetting)
        {
            var handler = this.TimerAdded;

            if (handler != null)
            {
                handler.Invoke(this, new SettingsChangedEventArgs(timerSetting));
            }
        }
Пример #4
0
        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;
        }
Пример #5
0
        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);
            }
        }
Пример #6
0
        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;
        }
Пример #7
0
        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);
            }
        }
Пример #8
0
 public bool RemoveTimer(string timerString)
 {
     return(this.RemoveTimer(SimpleTimerSettings.ParseCsv(timerString)));
 }
Пример #9
0
 public bool RemoveTimer(SimpleTimerSettings timer)
 {
     return(this.plan.Remove(timer));
 }
Пример #10
0
 public void AddTimer(string timerString)
 {
     this.AddTimer(SimpleTimerSettings.ParseCsv(timerString));
 }
Пример #11
0
 public SettingsChangedEventArgs(SimpleTimerSettings settings)
 {
     this.Settings = settings;
 }
Пример #12
0
 public SimpleTimerSettings(int id, SimpleTimerSettings copy) :
     this(id, copy.name, copy.FinalMessage, copy.BlinkOnExpired, copy.TimerDuration, copy.VisualSettings, copy.MessageSettings)
 {
 }
Пример #13
0
 public SettingIOEventArgs(SimpleTimerSettings settings)
 {
     this.Settings = settings;
 }