From ad3f8b412ad02979c7673ad3c61d8068997c39b1 Mon Sep 17 00:00:00 2001 From: Igor Velikorossov Date: Thu, 20 Sep 2018 08:28:49 +1000 Subject: [PATCH] Remove `SizeChanged` handler The current implementation of the `SizeChanged` handler causes a bad distortion to the UI and renders the listview unusable. The handler is removed and the column is resized at the time of bindings items to the list. This adds a small artifact that if the list was resized after items have been bound, the column may no longer be of the full width of the list. Fixes #5437 Fixes #5438 --- GitUI/UserControls/FileStatusList.Designer.cs | 5 ++--- GitUI/UserControls/FileStatusList.cs | 14 +------------- 2 files changed, 3 insertions(+), 16 deletions(-) diff --git a/GitUI/UserControls/FileStatusList.Designer.cs b/GitUI/UserControls/FileStatusList.Designer.cs index d4b337e1719..791965ae943 100644 --- a/GitUI/UserControls/FileStatusList.Designer.cs +++ b/GitUI/UserControls/FileStatusList.Designer.cs @@ -60,7 +60,6 @@ private void InitializeComponent() this.FileStatusListView.UseCompatibleStateImageBehavior = false; this.FileStatusListView.View = System.Windows.Forms.View.Details; this.FileStatusListView.DrawSubItem += new System.Windows.Forms.DrawListViewSubItemEventHandler(this.FileStatusListView_DrawSubItem); - this.FileStatusListView.SizeChanged += new System.EventHandler(this.FileStatusListView_SizeChanged); this.FileStatusListView.DoubleClick += new System.EventHandler(this.FileStatusListView_DoubleClick); this.FileStatusListView.KeyDown += new System.Windows.Forms.KeyEventHandler(this.FileStatusListView_KeyDown); this.FileStatusListView.MouseDown += new System.Windows.Forms.MouseEventHandler(this.FileStatusListView_MouseDown); @@ -131,10 +130,10 @@ private void InitializeComponent() // FileStatusList // this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Inherit; - this.Controls.Add(this.FileStatusListView); - this.Controls.Add(this.lblSplitter); this.Controls.Add(this.FilterWatermarkLabel); this.Controls.Add(this.NoFiles); + this.Controls.Add(this.FileStatusListView); + this.Controls.Add(this.lblSplitter); this.Controls.Add(this.FilterComboBox); this.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4); this.Name = "FileStatusList"; diff --git a/GitUI/UserControls/FileStatusList.cs b/GitUI/UserControls/FileStatusList.cs index 878aef3f25e..7337ff815a2 100644 --- a/GitUI/UserControls/FileStatusList.cs +++ b/GitUI/UserControls/FileStatusList.cs @@ -927,8 +927,8 @@ private void UpdateFileStatusListView(bool updateCausedByFilter = false) } } - FileStatusListView_SizeChanged(null, null); FileStatusListView.SetGroupState(ListViewGroupState.Collapsible); + FileStatusListView.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize); FileStatusListView.EndUpdate(); return; @@ -1053,18 +1053,6 @@ public void SelectFirstVisibleItem() [Browsable(false)] public GitRevision Revision { get; set; } - private void FileStatusListView_SizeChanged(object sender, EventArgs e) - { - NoFiles.Size = new Size(Size.Width - 10, Size.Height - 10); - Refresh(); - FileStatusListView.BeginUpdate(); - - FileStatusListView.AutoResizeColumn( - 0, - ColumnHeaderAutoResizeStyle.HeaderSize); - FileStatusListView.EndUpdate(); - } - private void FileStatusListView_KeyDown(object sender, KeyEventArgs e) { switch (e.KeyCode)