internal ResourceListState ConfigureColumns(ResourceListState state, IResourceList resList, IResource ownerResource) { RestoreSettings(); _displayColumnManager = Core.DisplayColumnManager as DisplayColumnManager; _resourceList = resList; _allTypes = _resourceList.GetAllTypes(); _allNoFileTypes = _displayColumnManager.CollapseFileTypes(_allTypes); _availableColumns = _displayColumnManager.GetAvailableColumns(_resourceList); _state = state; FillPropertyList(); SetViewRadioButtons(_state, ownerResource); if (ShowDialog(Core.MainWindow) == DialogResult.OK) { if (_state.KeyTypes != null && radThisView.Checked) { _state = new ResourceListState(new ColumnDescriptor[] {}, _state.SortSettings, state.GroupItems); _state.SetOwner(ownerResource, Core.TabManager.CurrentTabId); } else if (_state.OwnerResource != null && radAllViews.Checked) { _state.Delete(); _state = _displayColumnManager.StateFromList(_resourceList, _displayColumnManager.GetDefaultColumns(_resourceList), true); } SaveColumnsToState(_state); } return(_state); }