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 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;
}

View File

@@ -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<ModUpdates> 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;