Esempio n. 1
0
        /// <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;
                }
            }
        }