From c07ba7fc28bca2e4a665296e1a4deab49f3f6c3b Mon Sep 17 00:00:00 2001 From: Pilzinsel64 Date: Thu, 3 Oct 2024 11:17:27 +0200 Subject: [PATCH] optimize updatescollectorui --- .../Ui/UpdatesCollectorUi.Designer.cs | 37 ++++++++++++------- .../Ui/UpdatesCollectorUi.cs | 21 +++++++---- 2 files changed, 38 insertions(+), 20 deletions(-) diff --git a/ModpackUpdater.Apps.Manager/Ui/UpdatesCollectorUi.Designer.cs b/ModpackUpdater.Apps.Manager/Ui/UpdatesCollectorUi.Designer.cs index 5d710ee..69a9960 100644 --- a/ModpackUpdater.Apps.Manager/Ui/UpdatesCollectorUi.Designer.cs +++ b/ModpackUpdater.Apps.Manager/Ui/UpdatesCollectorUi.Designer.cs @@ -31,6 +31,8 @@ partial class UpdatesCollectorUi var listViewDetailColumn1 = new Telerik.WinControls.UI.ListViewDetailColumn("Column 0", "Name"); var listViewDetailColumn2 = new Telerik.WinControls.UI.ListViewDetailColumn("Column 1", "Current version"); var listViewDetailColumn3 = new Telerik.WinControls.UI.ListViewDetailColumn("Column 2", "New version"); + var listViewDetailColumn4 = new Telerik.WinControls.UI.ListViewDetailColumn("Column 0", "Release"); + var listViewDetailColumn5 = new Telerik.WinControls.UI.ListViewDetailColumn("Column 1", "Tag"); var resources = new System.ComponentModel.ComponentResourceManager(typeof(UpdatesCollectorUi)); tableLayoutPanel1 = new TableLayoutPanel(); radButton_Continue = new Telerik.WinControls.UI.RadButton(); @@ -40,7 +42,7 @@ partial class UpdatesCollectorUi radListView_Updates = new Telerik.WinControls.UI.RadListView(); splitPanel2 = new Telerik.WinControls.UI.SplitPanel(); tableLayoutPanel3 = new TableLayoutPanel(); - radListControl_VersionTags = new Telerik.WinControls.UI.RadListControl(); + radListView_VersionTags = new Telerik.WinControls.UI.RadListView(); radWaitingBar1 = new Telerik.WinControls.UI.RadWaitingBar(); dotsRingWaitingBarIndicatorElement1 = new Telerik.WinControls.UI.DotsRingWaitingBarIndicatorElement(); tableLayoutPanel1.SuspendLayout(); @@ -54,7 +56,7 @@ partial class UpdatesCollectorUi ((System.ComponentModel.ISupportInitialize)splitPanel2).BeginInit(); splitPanel2.SuspendLayout(); tableLayoutPanel3.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)radListControl_VersionTags).BeginInit(); + ((System.ComponentModel.ISupportInitialize)radListView_VersionTags).BeginInit(); ((System.ComponentModel.ISupportInitialize)radWaitingBar1).BeginInit(); ((System.ComponentModel.ISupportInitialize)this).BeginInit(); SuspendLayout(); @@ -135,6 +137,8 @@ partial class UpdatesCollectorUi // // radListView_Updates // + radListView_Updates.AllowEdit = false; + radListView_Updates.AllowRemove = false; radListView_Updates.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right; listViewDetailColumn1.HeaderText = "Name"; listViewDetailColumn2.HeaderText = "Current version"; @@ -171,7 +175,7 @@ partial class UpdatesCollectorUi tableLayoutPanel3.ColumnCount = 1; tableLayoutPanel3.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 100F)); tableLayoutPanel3.ColumnStyles.Add(new ColumnStyle(SizeType.Absolute, 20F)); - tableLayoutPanel3.Controls.Add(radListControl_VersionTags, 0, 0); + tableLayoutPanel3.Controls.Add(radListView_VersionTags, 0, 0); tableLayoutPanel3.Dock = DockStyle.Fill; tableLayoutPanel3.Location = new Point(0, 0); tableLayoutPanel3.Name = "tableLayoutPanel3"; @@ -181,15 +185,21 @@ partial class UpdatesCollectorUi tableLayoutPanel3.Size = new Size(280, 420); tableLayoutPanel3.TabIndex = 0; // - // radListControl_VersionTags + // radListView_VersionTags // - radListControl_VersionTags.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right; - radListControl_VersionTags.ItemHeight = 24; - radListControl_VersionTags.Location = new Point(3, 3); - radListControl_VersionTags.Name = "radListControl_VersionTags"; - radListControl_VersionTags.Size = new Size(274, 414); - radListControl_VersionTags.TabIndex = 0; - radListControl_VersionTags.SelectedValueChanged += RadListControl_VersionTags_SelectedValueChanged; + radListView_VersionTags.AllowEdit = false; + radListView_VersionTags.AllowRemove = false; + radListView_VersionTags.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right; + listViewDetailColumn4.HeaderText = "Release"; + listViewDetailColumn5.HeaderText = "Tag"; + radListView_VersionTags.Columns.AddRange(new Telerik.WinControls.UI.ListViewDetailColumn[] { listViewDetailColumn4, listViewDetailColumn5 }); + radListView_VersionTags.ItemSpacing = -1; + radListView_VersionTags.Location = new Point(3, 3); + radListView_VersionTags.Name = "radListView_VersionTags"; + radListView_VersionTags.Size = new Size(274, 414); + radListView_VersionTags.TabIndex = 0; + radListView_VersionTags.ViewType = Telerik.WinControls.UI.ListViewType.DetailsView; + radListView_VersionTags.SelectedIndexChanged += RadListView_VersionTags_SelectedIndexChanged; // // radWaitingBar1 // @@ -219,6 +229,7 @@ partial class UpdatesCollectorUi Controls.Add(tableLayoutPanel1); Icon = (Icon)resources.GetObject("$this.Icon"); Name = "UpdatesCollectorUi"; + StartPosition = FormStartPosition.CenterParent; Text = "Find updates"; Shown += UpdatesCollectorUi_Shown; tableLayoutPanel1.ResumeLayout(false); @@ -232,7 +243,7 @@ partial class UpdatesCollectorUi ((System.ComponentModel.ISupportInitialize)splitPanel2).EndInit(); splitPanel2.ResumeLayout(false); tableLayoutPanel3.ResumeLayout(false); - ((System.ComponentModel.ISupportInitialize)radListControl_VersionTags).EndInit(); + ((System.ComponentModel.ISupportInitialize)radListView_VersionTags).EndInit(); ((System.ComponentModel.ISupportInitialize)radWaitingBar1).EndInit(); ((System.ComponentModel.ISupportInitialize)this).EndInit(); ResumeLayout(false); @@ -249,7 +260,7 @@ partial class UpdatesCollectorUi private Telerik.WinControls.UI.SplitPanel splitPanel2; private TableLayoutPanel tableLayoutPanel3; private Telerik.WinControls.UI.RadListView radListView_Updates; - private Telerik.WinControls.UI.RadListControl radListControl_VersionTags; private Telerik.WinControls.UI.RadWaitingBar radWaitingBar1; private Telerik.WinControls.UI.DotsRingWaitingBarIndicatorElement dotsRingWaitingBarIndicatorElement1; + private Telerik.WinControls.UI.RadListView radListView_VersionTags; } \ No newline at end of file diff --git a/ModpackUpdater.Apps.Manager/Ui/UpdatesCollectorUi.cs b/ModpackUpdater.Apps.Manager/Ui/UpdatesCollectorUi.cs index 4a806a9..c347144 100644 --- a/ModpackUpdater.Apps.Manager/Ui/UpdatesCollectorUi.cs +++ b/ModpackUpdater.Apps.Manager/Ui/UpdatesCollectorUi.cs @@ -19,12 +19,14 @@ public partial class UpdatesCollectorUi : RadForm public ModUpdateInfo? SelectedUpdate => radListView_Updates.SelectedItem?.Value as ModUpdateInfo; - public int SelectedVersion => radListControl_VersionTags.SelectedValue as int? ?? -1; + public int SelectedVersion => radListView_VersionTags.SelectedIndex; public UpdatesCollectorUi(params InstallAction[] actions) { this.actions = actions; InitializeComponent(); + radListView_Updates.AutoSizeColumnsMode = ListViewAutoSizeColumnsMode.Fill; + radListView_VersionTags.AutoSizeColumnsMode = ListViewAutoSizeColumnsMode.Fill; } private async Task FindUpdates() @@ -71,14 +73,19 @@ public partial class UpdatesCollectorUi : RadForm private void LoadVersions(ModUpdateInfo updates) { - radListControl_VersionTags.BeginUpdate(); - radListControl_VersionTags.Items.Clear(); + radListView_VersionTags.BeginUpdate(); + radListView_VersionTags.Items.Clear(); foreach (var kvp in updates.AvailableVersions) - radListControl_VersionTags.Items.Add(new RadListDataItem($"{kvp.Key} | ({kvp.Value})", kvp.Value)); + { + var item = new ListViewDataItem(); + item[0] = kvp.Key; + item[1] = kvp.Value; + radListView_VersionTags.Items.Add(item); + } - radListControl_VersionTags.SelectedValue = updates.NewVersion; - radListControl_VersionTags.EndUpdate(); + radListView_VersionTags.SelectedIndex = updates.NewVersion; + radListView_VersionTags.EndUpdate(); } private async void UpdatesCollectorUi_Shown(object sender, EventArgs e) @@ -95,7 +102,7 @@ public partial class UpdatesCollectorUi : RadForm LoadVersions(updates); } - private void RadListControl_VersionTags_SelectedValueChanged(object sender, EventArgs e) + private void RadListView_VersionTags_SelectedIndexChanged(object sender, EventArgs e) { var newIndex = SelectedVersion;