/// <summary> /// calles when one of the ui elements has changed /// </summary> /// <param name="sender">sender of the event</param> /// <param name="e">event that was send</param> private void OnChange(object sender, EventArgs e) { if (!_blockEvents) { if (sender == _uiProjectIdentifiers) { _selectedProjectOptions = (Xml.Settings.Project.Options)_uiProjectIdentifiers.SelectedItem; _uiUseFromExistingNuSpec.Checked = _selectedProjectOptions != null ? _selectedProjectOptions.NuGetOptions.NuSpecOptions.Files.UseFromSettings : false; SetCheckboxImage(_uiUseFromExistingNuSpec); _uiCurrentType.DataSource = null; _uiFiles.DataSource = null; _project = null; if (_selectedProjectOptions != null) { _project = OptionsManager.Instance.SupportedProjectInformation.FirstOrDefault(x => x.Identifier == _selectedProjectOptions.Identifier); _uiCurrentType.DataSource = _project.ValidItemTypes; GuiUtil.SetItem(_selectedProjectOptions.NuGetOptions.NuSpecOptions.Files.FileIncludes, _uiFiles); } else { _uiFiles.DataSource = null; _uiCurrentType.DataSource = null; _project = null; } } else if (sender == _uiUseFromExistingNuSpec && _selectedProjectOptions != null) { _selectedProjectOptions.NuGetOptions.NuSpecOptions.Files.UseFromSettings = _uiUseFromExistingNuSpec.Checked; _uiFilesSettings.Enabled = !_uiUseFromExistingNuSpec.Checked; SetCheckboxImage(_uiUseFromExistingNuSpec); } else if (sender == _uiFiles) { _selectedFile = (FileInclude)_uiFiles.SelectedItem; _blockEvents = true; if (_selectedFile != null) { _uiCurrentType.SelectedItem = _selectedFile.Type; _uiCurrentType.Enabled = true; _uiCurrentFolder.Text = _selectedFile.Folder; _uiCurrentFolder.Enabled = true; _uiCurrentName.Text = _selectedFile.Name; _uiCurrentName.Enabled = true; _uiCurrentTarget.Text = _selectedFile.Target; _uiCurrentTarget.Enabled = true; _uiCurrentInclude.Checked = _selectedFile.Include; _uiCurrentInclude.Enabled = true; _uiRemove.Enabled = true; } else { _uiCurrentType.SelectedItem = null; _uiCurrentType.Enabled = false; _uiCurrentFolder.Text = null; _uiCurrentFolder.Enabled = false; _uiCurrentName.Text = null; _uiCurrentName.Enabled = false; _uiCurrentTarget.Text = null; _uiCurrentTarget.Enabled = false; _uiCurrentInclude.Checked = false; _uiCurrentInclude.Enabled = false; _uiRemove.Enabled = false; } _blockEvents = false; _uiApplyChanges.Enabled = false; } else if ((sender == _uiCurrentType || sender == _uiCurrentFolder || sender == _uiCurrentName || sender == _uiCurrentTarget || sender == _uiCurrentInclude) && _selectedFile != null) { _uiApplyChanges.Enabled = _selectedFile.Type != (string)_uiCurrentType.SelectedItem || _selectedFile.Folder != _uiCurrentFolder.Text || _selectedFile.Name != _uiCurrentName.Text || _selectedFile.Target != _uiCurrentTarget.Text || _selectedFile.Include != _uiCurrentInclude.Checked; } } }