Example #1
0
        /// <summary>
        /// Apply all settings to XML.
        /// </summary>
        public bool ApplyAllSettingsToXML()
        {
            var padControls = MainForm.Current.PadControls;

            for (int i = 0; i < padControls.Length; i++)
            {
                // Get pad control with settings.
                var padControl = MainForm.Current.PadControls[i];
                var setting    = padControl.GetSelectedSetting();
                // Skip if not selected.
                if (setting == null)
                {
                    continue;
                }
                var padSetting = padControl.CloneCurrentPadSetting();
                // If setting doesn't exists then...
                if (!PadSettings.Items.Any(x => x.PadSettingChecksum == padSetting.PadSettingChecksum))
                {
                    // Add setting to configuration.
                    PadSettings.Items.Add(padSetting);
                }
                // If pad setting checksum changed then...
                if (setting.PadSettingChecksum != padSetting.PadSettingChecksum)
                {
                    // Assign updated checksum.
                    setting.PadSettingChecksum = padSetting.PadSettingChecksum;
                    var ud = SettingsManager.GetDevice(setting.InstanceGuid);
                    setting.Completion = UserSetting.GetCompletionPoints(padSetting, ud);
                }
            }
            CleanupPadSettings();
            return(true);
        }
Example #2
0
        public void SavePadSetting(UserSetting setting, PadSetting padSetting)
        {
            var ps = new PadSetting();

            ps.Load(padSetting);
            // If setting doesn't exists then...
            if (!PadSettings.Items.Any(x => x.PadSettingChecksum == ps.PadSettingChecksum))
            {
                // Add setting to configuration.
                lock (PadSettings.SyncRoot)
                    PadSettings.Items.Add(ps);
            }
            // If pad setting checksum changed then...
            if (setting.PadSettingChecksum != ps.PadSettingChecksum)
            {
                // Assign updated checksum.
                setting.PadSettingChecksum = ps.PadSettingChecksum;
                var ud = GetDevice(setting.InstanceGuid);
                setting.Completion = UserSetting.GetCompletionPoints(ps, ud);
            }
            CleanupPadSettings();
        }