public FormBrowse(GitUICommands aCommands, string filter)
: base(true, aCommands)
{
InitializeComponent();
// set tab page images
{
var imageList = new ImageList();
CommitInfoTabControl.ImageList = imageList;
imageList.ColorDepth = ColorDepth.Depth8Bit;
imageList.Images.Add(global::GitUI.Properties.Resources.IconCommit);
imageList.Images.Add(global::GitUI.Properties.Resources.IconFileTree);
imageList.Images.Add(global::GitUI.Properties.Resources.IconDiff);
CommitInfoTabControl.TabPages[0].ImageIndex = 0;
CommitInfoTabControl.TabPages[1].ImageIndex = 1;
CommitInfoTabControl.TabPages[2].ImageIndex = 2;
}
RevisionGrid.UICommandsSource = this;
Repositories.LoadRepositoryHistoryAsync();
Task.Factory.StartNew(PluginLoader.Load)
.ContinueWith((task) => RegisterPlugins(), TaskScheduler.FromCurrentSynchronizationContext());
RevisionGrid.GitModuleChanged += SetGitModule;
_filterRevisionsHelper = new FilterRevisionsHelper(toolStripTextBoxFilter, toolStripDropDownButton1, RevisionGrid, toolStripLabel2, this);
_filterBranchHelper = new FilterBranchHelper(toolStripBranches, toolStripDropDownButton2, RevisionGrid);
Translate();
if (Settings.ShowGitStatusInBrowseToolbar)
{
_toolStripGitStatus = new ToolStripGitStatus
{
ImageTransparentColor = Color.Magenta
};
if (aCommands != null)
_toolStripGitStatus.UICommandsSource = this;
_toolStripGitStatus.Click += StatusClick;
ToolStrip.Items.Insert(ToolStrip.Items.IndexOf(toolStripButton1), _toolStripGitStatus);
ToolStrip.Items.Remove(toolStripButton1);
_toolStripGitStatus.CommitTranslatedString = toolStripButton1.Text;
}
RevisionGrid.SelectionChanged += RevisionGridSelectionChanged;
DiffText.ExtraDiffArgumentsChanged += DiffTextExtraDiffArgumentsChanged;
_filterRevisionsHelper.SetFilter(filter);
DiffText.SetFileLoader(getNextPatchFile);
GitTree.ImageList = new ImageList();
GitTree.ImageList.Images.Add(Properties.Resources.New); //File
GitTree.ImageList.Images.Add(Properties.Resources.Folder); //Folder
GitTree.ImageList.Images.Add(Properties.Resources.IconFolderSubmodule); //Submodule
GitTree.MouseDown += GitTree_MouseDown;
GitTree.MouseMove += GitTree_MouseMove;
this.HotkeysEnabled = true;
this.Hotkeys = HotkeySettingsManager.LoadHotkeys(HotkeySettingsName);
this.toolPanel.SplitterDistance = this.ToolStrip.Height;
this._dontUpdateOnIndexChange = false;
GitUICommandsChanged += (a, e) =>
{
var oldcommands = e.OldCommands;
RefreshPullIcon();
oldcommands.PostRepositoryChanged -= UICommands_PostRepositoryChanged;
UICommands.PostRepositoryChanged += UICommands_PostRepositoryChanged;
oldcommands.BrowseRepo = null;
UICommands.BrowseRepo = this;
};
if (aCommands != null)
{
RefreshPullIcon();
UICommands.PostRepositoryChanged += UICommands_PostRepositoryChanged;
UICommands.BrowseRepo = this;
}
FillBuildReport(); // Ensure correct page visibility
RevisionGrid.ShowBuildServerInfo = true;
_formBrowseMenuCommands = new FormBrowseMenuCommands(this);
_formBrowseMenus = new FormBrowseMenus(menuStrip1);
RevisionGrid.MenuCommands.MenuChanged += (sender, e) => _formBrowseMenus.OnMenuCommandsPropertyChanged();
SystemEvents.SessionEnding += (sender, args) => SaveApplicationSettings();
FillTerminalTab();
}