private void SaveSettingChanges(ToolbarSettings toolbarSets, CustomToolbarInfo toolbarConf, bool isEditable, out bool isToolbarChanged) { isToolbarChanged = false; var oldToolbarSetts = m_SettsProvider.GetSettings(); if (!DeepCompare(toolbarSets, oldToolbarSetts)) { m_SettsProvider.SaveSettings(toolbarSets); } bool isReadOnly; var oldToolbarConf = m_ToolbarConfProvider .GetToolbar(out isReadOnly, oldToolbarSetts.SpecificationFile); isToolbarChanged = !DeepCompare(toolbarConf, oldToolbarConf); if (isToolbarChanged) { if (isEditable) { UpdateGroupIds(toolbarConf.Groups, oldToolbarConf.Groups); m_ToolbarConfProvider.SaveToolbar(toolbarConf, toolbarSets.SpecificationFile); } else { m_Logger.Log("Skipped saving of read-only toolbar settings"); } } }