public DiscussionSortPanel(DiscussionSortState initialSort, Action onSortChanged) { _onSortChanged = onSortChanged; InitializeComponent(); _radioButtonGroup.AddRadioButton(radioButtonSortDefault, (int)(DiscussionSortState.Default)); _radioButtonGroup.AddRadioButton(radioButtonSortByReviewer, (int)(DiscussionSortState.ByReviewer)); _radioButtonGroup.UpdateCheckedState((int)initialSort); radioButtonSortDefault.CheckedChanged += new System.EventHandler(this.SortElement_CheckedChanged); radioButtonSortByReviewer.CheckedChanged += new System.EventHandler(this.SortElement_CheckedChanged); }
void setDiscussionSortStateInControls(DiscussionSortState state) { if (state == DiscussionSortState.Default) { checkGroupItem(_sortMenuItemGroup, defaultToolStripMenuItem); } else if (state == DiscussionSortState.Reverse) { checkGroupItem(_sortMenuItemGroup, reverseToolStripMenuItem); } else if (state == DiscussionSortState.ByReviewer) { checkGroupItem(_sortMenuItemGroup, byReviewerToolStripMenuItem); } }
/// <summary> /// Throws: /// ArgumentException /// </summary> internal DiscussionsForm( DataCache dataCache, GitLabInstance gitLabInstance, IModificationListener modificationListener, IGitCommandService git, User currentUser, MergeRequestKey mrk, IEnumerable <Discussion> discussions, string mergeRequestTitle, User mergeRequestAuthor, int diffContextDepth, ColorScheme colorScheme, Func <MergeRequestKey, IEnumerable <Discussion>, Task> updateGit, Action onDiscussionModified) { _mergeRequestKey = mrk; _mergeRequestTitle = mergeRequestTitle; _mergeRequestAuthor = mergeRequestAuthor; _git = git; _diffContextDepth = diffContextDepth; _colorScheme = colorScheme; _dataCache = dataCache; _gitLabInstance = gitLabInstance; _modificationListener = modificationListener; _updateGit = updateGit; _onDiscussionModified = onDiscussionModified; _currentUser = currentUser; if (_currentUser.Id == 0) { throw new ArgumentException("Bad user Id"); } CommonControls.Tools.WinFormsHelpers.FixNonStandardDPIIssue(this, (float)Common.Constants.Constants.FontSizeChoices["Design"], 96); InitializeComponent(); CommonControls.Tools.WinFormsHelpers.LogScaleDimensions(this); DisplayFilter = new DiscussionFilter(_currentUser, _mergeRequestAuthor, DiscussionFilterState.Default); SystemFilter = new DiscussionFilter(_currentUser, _mergeRequestAuthor, DiscussionFilterState.AllExceptSystem); FilterPanel = new DiscussionFilterPanel(DisplayFilter.Filter, () => { DisplayFilter.Filter = FilterPanel.Filter; updateLayout(null, true, true); updateSearch(); }); ActionsPanel = new DiscussionActionsPanel(() => BeginInvoke(new Action(async() => await onRefresh()))); SearchPanel = new DiscussionSearchPanel( (query, forward) => { if (query.Text == String.Empty) { resetSearch(); } else if (TextSearch == null || !query.Equals(TextSearch.Query)) { startSearch(query, true); } else { MostRecentFocusedDiscussionControl?.Focus(); continueSearch(forward); } }); DiscussionSortState sortState = DiscussionSortState.Default; DisplaySort = new DiscussionSort(sortState); SortPanel = new DiscussionSortPanel(DisplaySort.SortState, () => { DisplaySort.SortState = SortPanel.SortState; updateLayout(null, true, true); updateSearch(); }); FontSelectionPanel = new DiscussionFontSelectionPanel(font => applyFont(font)); Controls.Add(FilterPanel); Controls.Add(ActionsPanel); Controls.Add(SearchPanel); Controls.Add(SortPanel); Controls.Add(FontSelectionPanel); applyFont(Program.Settings.MainWindowFontSizeName); applyTheme(Program.Settings.VisualThemeName); if (!renderDiscussions(discussions, false)) { throw new NoDiscussionsToShow(); } }
public DiscussionSort(DiscussionSortState initialState) { SortState = initialState; }