Beispiel #1
0
        public MergeDialog(Repository repository)
        {
            Verify.Argument.IsNotNull(repository, nameof(repository));

            _repository = repository;

            InitializeComponent();
            Localize();
            SetupTooltips();

            var inputs = new IUserInputSource[]
            {
                _revisionsInput = new RevisionsInput(_references),
                Message         = new TextBoxInputSource(_txtMessage),
                NoFastForward   = new CheckBoxInputSource(_chkNoFF),
                NoCommit        = new CheckBoxInputSource(_chkNoCommit),
                Squash          = new CheckBoxInputSource(_chkSquash),
            };

            ErrorNotifier = new UserInputErrorNotifier(NotificationService, inputs);

            if (SpellingService.Enabled)
            {
                _speller = new TextBoxSpellChecker(_txtMessage, true);
            }

            GitterApplication.FontManager.InputFont.Apply(_txtMessage);

            _unmergedBranches = _repository.Refs.GetUnmergedBranches();
            _references.DisableContextMenus = true;
            _references.Style = GitterApplication.DefaultStyle;
            _references.LoadData(_repository, ReferenceType.Branch, false, GlobalBehavior.GroupRemoteBranches,
                                 reference => _unmergedBranches.Contains(reference as BranchBase));

            _txtMessage.Height = _pnlOptions.Top - _txtMessage.Top - 6;

            _controller = new MergeController(repository)
            {
                View = this
            };
        }