private LogFilterPanel ConstructLogFilters() { var filterPanel = new LogFilterPanel(ImageProvider, Filters); LogCollectionsRecreated += (sender, args) => { filterPanel.UpdateLogs(logs); logs.CollectionChanged += (s, a) => { filterPanel.UpdateLogs(logs); }; }; LogDataProcessor.Processed += (sender, args) => { Application.Instance.AsyncInvoke(() => filterPanel.UpdateLogs(logs)); }; return(filterPanel); }
private LogFilterPanel ConstructLogFilters() { var filterPanel = new LogFilterPanel(ImageProvider, Filters); LogCollectionsInitialized += (sender, args) => logs.CollectionChanged += (s, a) => { filterPanel.UpdateLogs(logs); }; LogDataProcessor.Processed += (sender, args) => { bool last = args.CurrentScheduledItems == 0; if (last || filterRefreshCooldown.TryUse(DateTime.Now)) { Application.Instance.AsyncInvoke(() => filterPanel.UpdateLogs(logs)); } }; return(filterPanel); }