fix: more performant loading

This commit is contained in:
Frozd
2025-11-28 12:53:29 +01:00
parent 5b56d76cd7
commit e89fc79ebb
3 changed files with 5394 additions and 8425 deletions

View File

@@ -46,6 +46,18 @@ namespace CarManagerV2
this.Click += (s, e) => this.OnCardClicked();
}
public async void LoadImage()
{
await Task.Run(() =>
{
Image img = ImageManager.GetImage(this.Car);
if (img != null)
{
this.CarImage = img;
}
});
}
private void ForwardClick(object sender, EventArgs e)
{
// Raise your CardClicked event no matter what got clicked

File diff suppressed because it is too large Load Diff

View File

@@ -71,7 +71,7 @@ namespace CarManagerV2
card.CarName = $"{car.Make} {car.Model}";
card.CarDetails = $"{car.Year}, {car.Mileage} km, ${car.Price}";
card.Car = car.Clone();
card.CarImage = await Task.Run(() => ImageManager.GetImage(car));
card.LoadImage();
// clear existing event handlers to prevent multiple subscriptions
card.ClearCardClickedHandlers();
card.CardClicked += (s, e) =>
@@ -154,7 +154,7 @@ namespace CarManagerV2
private async void tbxSearch_TextChanged(object sender, EventArgs e)
{
string query = tbxSearch.Text;
await Task.Delay(300); // debounce
await Task.Delay(100); // debounce
if(query != tbxSearch.Text) return; // text changed during delay
//flpCars.Controls.Clear();
if (string.IsNullOrWhiteSpace(query))