コード例 #1
0
 public void NotifyPropertyChanged(string propertyName)
 {
     BacktraceLogger.Log(new Backtrace.Model.BacktraceReport(propertyName));
     if (PropertyChanged != null)
     {
         PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
     }
 }
コード例 #2
0
        private void Metric_PropertyChanged(object sender, PropertyChangedEventArgs e)
        {
            if (_disposed)
            {
                (sender as iMetric).PropertyChanged -= Metric_PropertyChanged;
                return;
            }

            if (e.PropertyName != "nValue")
            {
                return;
            }

            iMetric _metric = (iMetric)sender;

            if (_data == null || !_data.ContainsKey(_metric))
            {
                _metric.PropertyChanged -= Metric_PropertyChanged;
                return;
            }

            DateTime _now = DateTime.Now;

            try
            {
                ObservableCollection <MetricRecord> _mData = _data[_metric];

                foreach (MetricRecord _record in _mData.Where(r => (_now - r.Recorded).TotalSeconds > Duration).ToArray())
                {
                    _mData.Remove(_record);
                }

                _mData.Add(new MetricRecord(_metric.nValue, _now));
            }
            catch (Exception exception)
            {
                _metric.PropertyChanged -= Metric_PropertyChanged;
                BacktraceLogger.Log(new Backtrace.Model.BacktraceReport(exception));
            }
        }
コード例 #3
0
        public void Save()
        {
            if (!string.Equals(Culture, Framework.Settings.Instance.Culture, StringComparison.Ordinal))
            {
                MessageBox.Show(Resources.LanguageChangedText, Resources.LanguageChangedTitle, MessageBoxButton.OK, MessageBoxImage.Information, MessageBoxResult.OK);
            }


            if (_loggerChange)
            {
                Dictionary <string, object> attributes = new Dictionary <string, object>()
                {
                    { "host", BacktraceHost },
                    { "token", BacktraceToken },
                    { "database", BacktraceDatabasePath },
                    { "reportRate", BacktraceClientSiteLimiting },
                };
                BacktraceLogger.Log(new Backtrace.Model.BacktraceReport("new backtra", attributes));
                _loggerChange = false;
            }

            Framework.Settings.Instance.DockEdge                    = DockEdge;
            Framework.Settings.Instance.ScreenIndex                 = ScreenIndex;
            Framework.Settings.Instance.Culture                     = Culture;
            Framework.Settings.Instance.UIScale                     = UIScale;
            Framework.Settings.Instance.XOffset                     = XOffset;
            Framework.Settings.Instance.YOffset                     = YOffset;
            Framework.Settings.Instance.PollingInterval             = PollingInterval;
            Framework.Settings.Instance.UseAppBar                   = UseAppBar;
            Framework.Settings.Instance.AlwaysTop                   = AlwaysTop;
            Framework.Settings.Instance.ToolbarMode                 = ToolbarMode;
            Framework.Settings.Instance.ClickThrough                = ClickThrough;
            Framework.Settings.Instance.ShowTrayIcon                = ShowTrayIcon;
            Framework.Settings.Instance.AutoUpdate                  = AutoUpdate;
            Framework.Settings.Instance.RunAtStartup                = RunAtStartup;
            Framework.Settings.Instance.SidebarWidth                = SidebarWidth;
            Framework.Settings.Instance.AutoBGColor                 = AutoBGColor;
            Framework.Settings.Instance.BGColor                     = BGColor;
            Framework.Settings.Instance.BGOpacity                   = BGOpacity;
            Framework.Settings.Instance.TextAlign                   = TextAlign;
            Framework.Settings.Instance.FontSetting                 = FontSetting;
            Framework.Settings.Instance.FontColor                   = FontColor;
            Framework.Settings.Instance.AlertFontColor              = AlertFontColor;
            Framework.Settings.Instance.AlertBlink                  = AlertBlink;
            Framework.Settings.Instance.DateSetting                 = DateSetting;
            Framework.Settings.Instance.CollapseMenuBar             = CollapseMenuBar;
            Framework.Settings.Instance.InitiallyHidden             = InitiallyHidden;
            Framework.Settings.Instance.ShowClock                   = ShowClock;
            Framework.Settings.Instance.Clock24HR                   = Clock24HR;
            Framework.Settings.Instance.BacktraceHost               = BacktraceHost;
            Framework.Settings.Instance.BacktraceToken              = BacktraceToken;
            Framework.Settings.Instance.BacktraceDatabasePath       = BacktraceDatabasePath;
            Framework.Settings.Instance.BacktraceClientSiteLimiting = BacktraceClientSiteLimiting;

            MonitorConfig[] _config = MonitorConfig.Select(c => c.Clone()).ToArray();

            for (int i = 0; i < _config.Length; i++)
            {
                HardwareConfig[] _hardware = _config[i].HardwareOC.ToArray();

                for (int v = 0; v < _hardware.Length; v++)
                {
                    _hardware[v].Order = Convert.ToByte(_hardware.Length - v);

                    if (string.IsNullOrEmpty(_hardware[v].Name) || string.Equals(_hardware[v].Name, _hardware[v].ActualName, StringComparison.Ordinal))
                    {
                        _hardware[v].Name = null;
                    }
                }

                _config[i].Hardware   = _hardware;
                _config[i].HardwareOC = null;

                _config[i].Order = Convert.ToByte(_config.Length - i);
            }

            Framework.Settings.Instance.MonitorConfig = _config;

            List <Hotkey> _hotkeys = new List <Hotkey>();

            if (ToggleKey != null)
            {
                _hotkeys.Add(ToggleKey);
            }

            if (ShowKey != null)
            {
                _hotkeys.Add(ShowKey);
            }

            if (HideKey != null)
            {
                _hotkeys.Add(HideKey);
            }

            if (ReloadKey != null)
            {
                _hotkeys.Add(ReloadKey);
            }

            if (CloseKey != null)
            {
                _hotkeys.Add(CloseKey);
            }

            if (CycleEdgeKey != null)
            {
                _hotkeys.Add(CycleEdgeKey);
            }

            if (CycleScreenKey != null)
            {
                _hotkeys.Add(CycleScreenKey);
            }

            if (ReserveSpaceKey != null)
            {
                _hotkeys.Add(ReserveSpaceKey);
            }

            Framework.Settings.Instance.Hotkeys = _hotkeys.ToArray();

            Framework.Settings.Instance.Save();

            App.RefreshIcon();

            if (RunAtStartup)
            {
                Startup.EnableStartupTask();
            }
            else
            {
                Startup.DisableStartupTask();
            }

            IsChanged = false;
        }