optimize updatescollectorui

This commit is contained in:
2024-10-03 11:17:27 +02:00
parent 07a94cfa5f
commit c07ba7fc28
2 changed files with 38 additions and 20 deletions

View File

@@ -31,6 +31,8 @@ partial class UpdatesCollectorUi
var listViewDetailColumn1 = new Telerik.WinControls.UI.ListViewDetailColumn("Column 0", "Name"); var listViewDetailColumn1 = new Telerik.WinControls.UI.ListViewDetailColumn("Column 0", "Name");
var listViewDetailColumn2 = new Telerik.WinControls.UI.ListViewDetailColumn("Column 1", "Current version"); var listViewDetailColumn2 = new Telerik.WinControls.UI.ListViewDetailColumn("Column 1", "Current version");
var listViewDetailColumn3 = new Telerik.WinControls.UI.ListViewDetailColumn("Column 2", "New 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)); var resources = new System.ComponentModel.ComponentResourceManager(typeof(UpdatesCollectorUi));
tableLayoutPanel1 = new TableLayoutPanel(); tableLayoutPanel1 = new TableLayoutPanel();
radButton_Continue = new Telerik.WinControls.UI.RadButton(); radButton_Continue = new Telerik.WinControls.UI.RadButton();
@@ -40,7 +42,7 @@ partial class UpdatesCollectorUi
radListView_Updates = new Telerik.WinControls.UI.RadListView(); radListView_Updates = new Telerik.WinControls.UI.RadListView();
splitPanel2 = new Telerik.WinControls.UI.SplitPanel(); splitPanel2 = new Telerik.WinControls.UI.SplitPanel();
tableLayoutPanel3 = new TableLayoutPanel(); tableLayoutPanel3 = new TableLayoutPanel();
radListControl_VersionTags = new Telerik.WinControls.UI.RadListControl(); radListView_VersionTags = new Telerik.WinControls.UI.RadListView();
radWaitingBar1 = new Telerik.WinControls.UI.RadWaitingBar(); radWaitingBar1 = new Telerik.WinControls.UI.RadWaitingBar();
dotsRingWaitingBarIndicatorElement1 = new Telerik.WinControls.UI.DotsRingWaitingBarIndicatorElement(); dotsRingWaitingBarIndicatorElement1 = new Telerik.WinControls.UI.DotsRingWaitingBarIndicatorElement();
tableLayoutPanel1.SuspendLayout(); tableLayoutPanel1.SuspendLayout();
@@ -54,7 +56,7 @@ partial class UpdatesCollectorUi
((System.ComponentModel.ISupportInitialize)splitPanel2).BeginInit(); ((System.ComponentModel.ISupportInitialize)splitPanel2).BeginInit();
splitPanel2.SuspendLayout(); splitPanel2.SuspendLayout();
tableLayoutPanel3.SuspendLayout(); tableLayoutPanel3.SuspendLayout();
((System.ComponentModel.ISupportInitialize)radListControl_VersionTags).BeginInit(); ((System.ComponentModel.ISupportInitialize)radListView_VersionTags).BeginInit();
((System.ComponentModel.ISupportInitialize)radWaitingBar1).BeginInit(); ((System.ComponentModel.ISupportInitialize)radWaitingBar1).BeginInit();
((System.ComponentModel.ISupportInitialize)this).BeginInit(); ((System.ComponentModel.ISupportInitialize)this).BeginInit();
SuspendLayout(); SuspendLayout();
@@ -135,6 +137,8 @@ partial class UpdatesCollectorUi
// //
// radListView_Updates // radListView_Updates
// //
radListView_Updates.AllowEdit = false;
radListView_Updates.AllowRemove = false;
radListView_Updates.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right; radListView_Updates.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right;
listViewDetailColumn1.HeaderText = "Name"; listViewDetailColumn1.HeaderText = "Name";
listViewDetailColumn2.HeaderText = "Current version"; listViewDetailColumn2.HeaderText = "Current version";
@@ -171,7 +175,7 @@ partial class UpdatesCollectorUi
tableLayoutPanel3.ColumnCount = 1; tableLayoutPanel3.ColumnCount = 1;
tableLayoutPanel3.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 100F)); tableLayoutPanel3.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 100F));
tableLayoutPanel3.ColumnStyles.Add(new ColumnStyle(SizeType.Absolute, 20F)); 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.Dock = DockStyle.Fill;
tableLayoutPanel3.Location = new Point(0, 0); tableLayoutPanel3.Location = new Point(0, 0);
tableLayoutPanel3.Name = "tableLayoutPanel3"; tableLayoutPanel3.Name = "tableLayoutPanel3";
@@ -181,15 +185,21 @@ partial class UpdatesCollectorUi
tableLayoutPanel3.Size = new Size(280, 420); tableLayoutPanel3.Size = new Size(280, 420);
tableLayoutPanel3.TabIndex = 0; tableLayoutPanel3.TabIndex = 0;
// //
// radListControl_VersionTags // radListView_VersionTags
// //
radListControl_VersionTags.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right; radListView_VersionTags.AllowEdit = false;
radListControl_VersionTags.ItemHeight = 24; radListView_VersionTags.AllowRemove = false;
radListControl_VersionTags.Location = new Point(3, 3); radListView_VersionTags.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right;
radListControl_VersionTags.Name = "radListControl_VersionTags"; listViewDetailColumn4.HeaderText = "Release";
radListControl_VersionTags.Size = new Size(274, 414); listViewDetailColumn5.HeaderText = "Tag";
radListControl_VersionTags.TabIndex = 0; radListView_VersionTags.Columns.AddRange(new Telerik.WinControls.UI.ListViewDetailColumn[] { listViewDetailColumn4, listViewDetailColumn5 });
radListControl_VersionTags.SelectedValueChanged += RadListControl_VersionTags_SelectedValueChanged; 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 // radWaitingBar1
// //
@@ -219,6 +229,7 @@ partial class UpdatesCollectorUi
Controls.Add(tableLayoutPanel1); Controls.Add(tableLayoutPanel1);
Icon = (Icon)resources.GetObject("$this.Icon"); Icon = (Icon)resources.GetObject("$this.Icon");
Name = "UpdatesCollectorUi"; Name = "UpdatesCollectorUi";
StartPosition = FormStartPosition.CenterParent;
Text = "Find updates"; Text = "Find updates";
Shown += UpdatesCollectorUi_Shown; Shown += UpdatesCollectorUi_Shown;
tableLayoutPanel1.ResumeLayout(false); tableLayoutPanel1.ResumeLayout(false);
@@ -232,7 +243,7 @@ partial class UpdatesCollectorUi
((System.ComponentModel.ISupportInitialize)splitPanel2).EndInit(); ((System.ComponentModel.ISupportInitialize)splitPanel2).EndInit();
splitPanel2.ResumeLayout(false); splitPanel2.ResumeLayout(false);
tableLayoutPanel3.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)radWaitingBar1).EndInit();
((System.ComponentModel.ISupportInitialize)this).EndInit(); ((System.ComponentModel.ISupportInitialize)this).EndInit();
ResumeLayout(false); ResumeLayout(false);
@@ -249,7 +260,7 @@ partial class UpdatesCollectorUi
private Telerik.WinControls.UI.SplitPanel splitPanel2; private Telerik.WinControls.UI.SplitPanel splitPanel2;
private TableLayoutPanel tableLayoutPanel3; private TableLayoutPanel tableLayoutPanel3;
private Telerik.WinControls.UI.RadListView radListView_Updates; private Telerik.WinControls.UI.RadListView radListView_Updates;
private Telerik.WinControls.UI.RadListControl radListControl_VersionTags;
private Telerik.WinControls.UI.RadWaitingBar radWaitingBar1; private Telerik.WinControls.UI.RadWaitingBar radWaitingBar1;
private Telerik.WinControls.UI.DotsRingWaitingBarIndicatorElement dotsRingWaitingBarIndicatorElement1; private Telerik.WinControls.UI.DotsRingWaitingBarIndicatorElement dotsRingWaitingBarIndicatorElement1;
private Telerik.WinControls.UI.RadListView radListView_VersionTags;
} }

View File

@@ -19,12 +19,14 @@ public partial class UpdatesCollectorUi : RadForm
public ModUpdateInfo? SelectedUpdate => radListView_Updates.SelectedItem?.Value as ModUpdateInfo; 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) public UpdatesCollectorUi(params InstallAction[] actions)
{ {
this.actions = actions; this.actions = actions;
InitializeComponent(); InitializeComponent();
radListView_Updates.AutoSizeColumnsMode = ListViewAutoSizeColumnsMode.Fill;
radListView_VersionTags.AutoSizeColumnsMode = ListViewAutoSizeColumnsMode.Fill;
} }
private async Task<ModUpdates> FindUpdates() private async Task<ModUpdates> FindUpdates()
@@ -71,14 +73,19 @@ public partial class UpdatesCollectorUi : RadForm
private void LoadVersions(ModUpdateInfo updates) private void LoadVersions(ModUpdateInfo updates)
{ {
radListControl_VersionTags.BeginUpdate(); radListView_VersionTags.BeginUpdate();
radListControl_VersionTags.Items.Clear(); radListView_VersionTags.Items.Clear();
foreach (var kvp in updates.AvailableVersions) 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; radListView_VersionTags.SelectedIndex = updates.NewVersion;
radListControl_VersionTags.EndUpdate(); radListView_VersionTags.EndUpdate();
} }
private async void UpdatesCollectorUi_Shown(object sender, EventArgs e) private async void UpdatesCollectorUi_Shown(object sender, EventArgs e)
@@ -95,7 +102,7 @@ public partial class UpdatesCollectorUi : RadForm
LoadVersions(updates); LoadVersions(updates);
} }
private void RadListControl_VersionTags_SelectedValueChanged(object sender, EventArgs e) private void RadListView_VersionTags_SelectedIndexChanged(object sender, EventArgs e)
{ {
var newIndex = SelectedVersion; var newIndex = SelectedVersion;