Add history pruning with configurable max entries and max days
- Add history_max_entries (default 50) and history_max_days (default 30) to AppConfig - Add prune() method to HistoryStore that removes old entries by age and count limits - Call prune after each history entry is added in the GUI - Preserve history settings through settings dialog save/load cycle
This commit is contained in:
@@ -271,6 +271,10 @@ pub fn build_settings_dialog() -> adw::PreferencesDialog {
|
||||
});
|
||||
}
|
||||
|
||||
// Preserve history settings from current config (not exposed in UI yet)
|
||||
let hist_max_entries = config.history_max_entries;
|
||||
let hist_max_days = config.history_max_days;
|
||||
|
||||
// Save settings when the dialog closes
|
||||
dialog.connect_closed(move |_| {
|
||||
let new_config = AppConfig {
|
||||
@@ -305,6 +309,8 @@ pub fn build_settings_dialog() -> adw::PreferencesDialog {
|
||||
high_contrast: contrast_row.is_active(),
|
||||
large_text: large_text_row.is_active(),
|
||||
reduced_motion: motion_row.is_active(),
|
||||
history_max_entries: hist_max_entries,
|
||||
history_max_days: hist_max_days,
|
||||
};
|
||||
|
||||
let store = ConfigStore::new();
|
||||
|
||||
Reference in New Issue
Block a user