Aggiunti limiti configurabili per i log
- Introdotta una nuova sezione "Limiti Log" nell'interfaccia utente per configurare: - Numero massimo di righe di log per asta (default: 500). - Numero massimo di righe di log globale (default: 1000). - Aggiunte proprietà in `SettingsManager` per salvare/caricare i limiti. - Applicati i limiti al log globale e ai log delle aste: - Log globale: rimozione automatica dei paragrafi più vecchi. - Log per asta: ottimizzato `AddLog` con `RemoveRange` per migliorare le performance. - Documentazione dettagliata in `FEATURE_CONFIGURABLE_LOG_LIMITS.md` e `FEATURE_LOG_MAX_LINES.md`. - Migliorata la gestione della memoria, riducendo il rischio di rallentamenti o crash. - Test e checklist definiti per verificare il corretto funzionamento.
This commit is contained in:
@@ -19,14 +19,18 @@ namespace AutoBidder
|
||||
{
|
||||
var settings = SettingsManager.Load();
|
||||
|
||||
// Popola i controlli con i valori salvati
|
||||
// Popola i controlli con i valori salvati - Aste
|
||||
DefaultBidBeforeDeadlineMs.Text = settings.DefaultBidBeforeDeadlineMs.ToString();
|
||||
DefaultCheckAuctionOpen.IsChecked = settings.DefaultCheckAuctionOpenBeforeBid;
|
||||
DefaultMinPrice.Text = settings.DefaultMinPrice.ToString("F2", System.Globalization.CultureInfo.InvariantCulture);
|
||||
DefaultMaxPrice.Text = settings.DefaultMaxPrice.ToString("F2", System.Globalization.CultureInfo.InvariantCulture);
|
||||
DefaultMaxClicks.Text = settings.DefaultMaxClicks.ToString();
|
||||
|
||||
Log($"[OK] Impostazioni predefinite caricate: Anticipo={settings.DefaultBidBeforeDeadlineMs}ms", LogLevel.Info);
|
||||
// Popola i controlli con i valori salvati - Limiti Log
|
||||
Settings.MaxLogLinesPerAuction.Text = settings.MaxLogLinesPerAuction.ToString();
|
||||
Settings.MaxGlobalLogLines.Text = settings.MaxGlobalLogLines.ToString();
|
||||
|
||||
Log($"[OK] Impostazioni predefinite caricate: Anticipo={settings.DefaultBidBeforeDeadlineMs}ms, Log Asta={settings.MaxLogLinesPerAuction}, Log Globale={settings.MaxGlobalLogLines}", LogLevel.Info);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
@@ -38,6 +42,8 @@ namespace AutoBidder
|
||||
DefaultMinPrice.Text = "0.00";
|
||||
DefaultMaxPrice.Text = "0.00";
|
||||
DefaultMaxClicks.Text = "0";
|
||||
Settings.MaxLogLinesPerAuction.Text = "500";
|
||||
Settings.MaxGlobalLogLines.Text = "1000";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -204,8 +210,19 @@ namespace AutoBidder
|
||||
settings.DefaultMaxClicks = maxClicks;
|
||||
}
|
||||
|
||||
// ? NUOVO: Salva limiti log
|
||||
if (int.TryParse(Settings.MaxLogLinesPerAuction.Text, out var maxLogPerAuction) && maxLogPerAuction > 0)
|
||||
{
|
||||
settings.MaxLogLinesPerAuction = maxLogPerAuction;
|
||||
}
|
||||
|
||||
if (int.TryParse(Settings.MaxGlobalLogLines.Text, out var maxGlobalLog) && maxGlobalLog > 0)
|
||||
{
|
||||
settings.MaxGlobalLogLines = maxGlobalLog;
|
||||
}
|
||||
|
||||
Utilities.SettingsManager.Save(settings);
|
||||
Log($"[OK] Impostazioni predefinite salvate: Anticipo={bidMs}ms, MinPrice=€{settings.DefaultMinPrice:F2}, MaxPrice=€{settings.DefaultMaxPrice:F2}, MaxClicks={maxClicks}", LogLevel.Success);
|
||||
Log($"[OK] Impostazioni salvate: Anticipo={bidMs}ms, MinPrice=€{settings.DefaultMinPrice:F2}, MaxPrice=€{settings.DefaultMaxPrice:F2}, MaxClicks={maxClicks}, LogAsta={settings.MaxLogLinesPerAuction}, LogGlobale={settings.MaxGlobalLogLines}", LogLevel.Success);
|
||||
// Rimosso MessageBox - verrà mostrato dal chiamante
|
||||
}
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user