Rework UI Updates #7
@ -22,7 +22,7 @@ namespace qtc_net_client_2
|
|||||||
private IGatewayService _gatewayService;
|
private IGatewayService _gatewayService;
|
||||||
|
|
||||||
private Config _config;
|
private Config _config;
|
||||||
private ServerConfig _serverConfig;
|
private ServerConfig? _serverConfig;
|
||||||
private AudioService AudioService = new();
|
private AudioService AudioService = new();
|
||||||
private ImageFactory _imgFactory = new();
|
private ImageFactory _imgFactory = new();
|
||||||
private CredentialService _credService = new();
|
private CredentialService _credService = new();
|
||||||
@ -377,15 +377,58 @@ namespace qtc_net_client_2
|
|||||||
{
|
{
|
||||||
if (lvStoreItems.Items.Count == storeItems.Data.Count) return;
|
if (lvStoreItems.Items.Count == storeItems.Data.Count) return;
|
||||||
|
|
||||||
|
if (!IsHandleCreated || IsDisposed)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (InvokeRequired)
|
||||||
|
{
|
||||||
|
Invoke(() => ApplyStoreItems(storeItems.Data));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ApplyStoreItems(storeItems.Data);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private async void ApplyStoreItems(IEnumerable<StoreItem> storeItems)
|
||||||
|
{
|
||||||
ilStoreThumbnails.Images.Clear();
|
ilStoreThumbnails.Images.Clear();
|
||||||
foreach (var item in storeItems.Data)
|
lvStoreItems.Items.Clear();
|
||||||
|
|
||||||
|
var items = await BuildListViewItemsAsync(storeItems);
|
||||||
|
|
||||||
|
lvStoreItems.BeginUpdate();
|
||||||
|
try
|
||||||
|
{
|
||||||
|
lvStoreItems.Items.AddRange([.. items]);
|
||||||
|
}
|
||||||
|
finally
|
||||||
|
{
|
||||||
|
lvStoreItems.EndUpdate();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private async Task<List<ListViewItem>> BuildListViewItemsAsync(IEnumerable<StoreItem> storeItems)
|
||||||
|
{
|
||||||
|
var items = new List<ListViewItem>();
|
||||||
|
|
||||||
|
foreach (var item in storeItems)
|
||||||
{
|
{
|
||||||
await GetAndAddStoreThumbnail(item);
|
await GetAndAddStoreThumbnail(item);
|
||||||
var lvitem = lvStoreItems.Items.Add(new ListViewItem { Text = item.Name, Name = item.Id.ToString() });
|
|
||||||
lvitem.ImageKey = item.Id.ToString();
|
var lvItem = new ListViewItem
|
||||||
}
|
{
|
||||||
}
|
Text = item.Name,
|
||||||
|
Name = item.Id.ToString(),
|
||||||
|
ImageKey = item.Id.ToString()
|
||||||
|
};
|
||||||
|
|
||||||
|
items.Add(lvItem);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return items;
|
||||||
}
|
}
|
||||||
|
|
||||||
private async void lvStoreItems_DoubleClick(object sender, EventArgs e)
|
private async void lvStoreItems_DoubleClick(object sender, EventArgs e)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user