internal void Initialize( DiscussionSort discussionSort, DiscussionFilter displayFilter, DiscussionLayout discussionLayout, AsyncDiscussionLoader discussionLoader, AsyncDiscussionHelper discussionHelper, IEnumerable <ICommand> commands, Action <string> onFontSelected) { _discussionSort = discussionSort; setDiscussionSortStateInControls(_discussionSort.SortState); _displayFilter = displayFilter; setDiscussionFilterStateInControls(_displayFilter.FilterState); _discussionLayout = discussionLayout; setDiscussionLayoutStateInControls(); updateColumnWidthSizeMenuItemState(); _discussionLoader = discussionLoader; _discussionHelper = discussionHelper; addCustomActions(commands); addFontSizes(); _onFontSelected = onFontSelected; }
public DiscussionsForm( IGitCommandService git, User currentUser, MergeRequestKey mrk, IEnumerable <Discussion> discussions, string mergeRequestTitle, User mergeRequestAuthor, ColorScheme colorScheme, AsyncDiscussionLoader discussionLoader, AsyncDiscussionHelper discussionHelper, string webUrl, Shortcuts shortcuts, Func <ICommandCallback, IEnumerable <ICommand> > getCommands) { _mergeRequestKey = mrk; _mergeRequestTitle = mergeRequestTitle; _discussionLoader = discussionLoader; _discussionLoader.StatusChanged += onDiscussionLoaderStatusChanged; CommonControls.Tools.WinFormsHelpers.FixNonStandardDPIIssue(this, (float)Common.Constants.Constants.FontSizeChoices["Design"]); InitializeComponent(); applyFont(Program.Settings.MainWindowFontSizeName); applyTheme(Program.Settings.VisualThemeName); var discussionLayout = new DiscussionLayout( ConfigurationHelper.GetDiffContextPosition(Program.Settings), ConfigurationHelper.GetDiscussionColumnWidth(Program.Settings), Program.Settings.NeedShiftReplies); _discussionLayout = discussionLayout; _discussionLayout.DiffContextPositionChanged += updateSaveDefaultLayoutState; _discussionLayout.DiscussionColumnWidthChanged += updateSaveDefaultLayoutState; _discussionLayout.NeedShiftRepliesChanged += updateSaveDefaultLayoutState; updateSaveDefaultLayoutState(); Program.Settings.PropertyChanged += onSettingsPropertyChanged; var displayFilter = new DiscussionFilter(currentUser, mergeRequestAuthor, DiscussionFilterState.Default); var discussionSort = new DiscussionSort(DiscussionSortState.Default); // Includes making some boxes visible. This does not paint them because their parent (Form) is hidden so far. discussionPanel.Initialize(discussionSort, displayFilter, discussionLoader, discussions, shortcuts, git, colorScheme, mrk, mergeRequestAuthor, currentUser, discussionLayout); if (discussionPanel.DiscussionCount < 1) { throw new NoDiscussionsToShow(); } searchPanel.Initialize(discussionPanel); discussionMenu.Initialize(discussionSort, displayFilter, discussionLayout, discussionLoader, discussionHelper, getCommands(this), applyFont); linkLabelGitLabURL.Text = webUrl; toolTip.SetToolTip(linkLabelGitLabURL, webUrl); linkLabelGitLabURL.SetLinkLabelClicked(UrlHelper.OpenBrowser); Text = DefaultCaption; MainMenuStrip = discussionMenu.MenuStrip; }
internal void Initialize( DiscussionSort discussionSort, DiscussionFilter displayFilter, AsyncDiscussionLoader discussionLoader, IEnumerable <Discussion> discussions, Shortcuts shortcuts, IGitCommandService git, ColorScheme colorScheme, MergeRequestKey mergeRequestKey, User mergeRequestAuthor, User currentUser, DiscussionLayout discussionLayout) { _shortcuts = shortcuts; _git = git; _colorScheme = colorScheme; _mergeRequestKey = mergeRequestKey; _mergeRequestAuthor = mergeRequestAuthor; _currentUser = currentUser; _discussionSort = discussionSort; _discussionSort.SortStateChanged += onSortStateChanged; _displayFilter = displayFilter; _displayFilter.FilterStateChanged += onFilterChanged; _discussionLoader = discussionLoader; _discussionLoader.Loaded += onDiscussionsLoaded; _discussionLayout = discussionLayout; _discussionLayout.DiffContextPositionChanged += onDiffContextPositionChanged; _discussionLayout.DiscussionColumnWidthChanged += onDiscussionColumnWidthChanged; _discussionLayout.NeedShiftRepliesChanged += onNeedShiftRepliesChanged; apply(discussions); }