private void FileLocations_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e) { if (e.Action == NotifyCollectionChangedAction.Add || e.Action == NotifyCollectionChangedAction.Remove) { var firstNotSecond = FileLocations.Except(Parent.SettingContainer.Settings.GeneralSettings.FileLocations).ToList(); var secondNotFirst = Parent.SettingContainer.Settings.GeneralSettings.FileLocations.Except(FileLocations).ToList(); bool changed = firstNotSecond.Any() || secondNotFirst.Any(); if (changed) { Parent.SettingContainer.Settings.GeneralSettings.FileLocations = FileLocations.ToList(); Parent.UpdateSettings(false); } } }
internal override void SettingsUpdated() { base.SettingsUpdated(); SquaresX = Parent.SettingContainer.Settings.CalibrationSettings.ChArucoCalibrationSettings.SquaresX; SquaresY = Parent.SettingContainer.Settings.CalibrationSettings.ChArucoCalibrationSettings.SquaresY; MarkerLength = Parent.SettingContainer.Settings.CalibrationSettings.ChArucoCalibrationSettings.MarkerLength; SquareLength = Parent.SettingContainer.Settings.CalibrationSettings.ChArucoCalibrationSettings.SquareLength; Dictionary = Parent.SettingContainer.Settings.CalibrationSettings.ChArucoCalibrationSettings.Dictionary; TagSize = Parent.SettingContainer.Settings.CalibrationSettings.AprilGridCalibration.TagSize; TagSpacingFactor = Parent.SettingContainer.Settings.CalibrationSettings.AprilGridCalibration.TagSpacingFactor; TagsX = Parent.SettingContainer.Settings.CalibrationSettings.AprilGridCalibration.TagsX; TagsY = Parent.SettingContainer.Settings.CalibrationSettings.AprilGridCalibration.TagsY; SelectedHost = Parent.SettingContainer.Settings.ConnectionSettings.SelectedConnection; AccelerometerScale = Parent.SettingContainer.Settings.ImuSettings.AccelerometerScale; GyroscopeScale = Parent.SettingContainer.Settings.ImuSettings.GyroscopeScale; TemperatureScale = Parent.SettingContainer.Settings.ImuSettings.TemperatureScale; TemperatureOffset = Parent.SettingContainer.Settings.ImuSettings.TemperatureOffset; var firstNotSecondFile = FileLocations.Except(Parent.SettingContainer.Settings.GeneralSettings.FileLocations).ToList(); var secondNotFirstFile = Parent.SettingContainer.Settings.GeneralSettings.FileLocations.Except(FileLocations).ToList(); bool changed = firstNotSecondFile.Any() || secondNotFirstFile.Any(); if (changed) { List <FileLocation> l = Parent.SettingContainer.Settings.GeneralSettings.FileLocations.ToList(); FileLocations.Clear(); FileLocations.AddRange(l); } var firstNotSecondCon = Connections.Except(Parent.SettingContainer.Settings.ConnectionSettings.Connections).ToList(); var secondNotFirstCon = Parent.SettingContainer.Settings.ConnectionSettings.Connections.Except(Connections).ToList(); changed = firstNotSecondCon.Any() || secondNotFirstCon.Any(); if (changed) { List <Connection> l = Parent.SettingContainer.Settings.ConnectionSettings.Connections.ToList(); Connections.Clear(); Connections.AddRange(l); } }