diff --git a/SourceGen/DisasmProject.cs b/SourceGen/DisasmProject.cs index f42be2b..6a5f985 100644 --- a/SourceGen/DisasmProject.cs +++ b/SourceGen/DisasmProject.cs @@ -371,7 +371,7 @@ namespace SourceGen { highAscii.DebugDump("High-ASCII (" + DataAnalysis.MIN_STRING_LENGTH + "+)"); } Debug.WriteLine("ScanFileData took " + - ((DateTime.Now - startWhen).Milliseconds) + " ms"); + ((DateTime.Now - startWhen).TotalMilliseconds) + " ms"); RepeatedBytes = repeats; StdAsciiBytes = ascii; diff --git a/SourceGenWPF/DisasmProject.cs b/SourceGenWPF/DisasmProject.cs index 1910bdf..47cb82f 100644 --- a/SourceGenWPF/DisasmProject.cs +++ b/SourceGenWPF/DisasmProject.cs @@ -371,7 +371,7 @@ namespace SourceGenWPF { highAscii.DebugDump("High-ASCII (" + DataAnalysis.MIN_STRING_LENGTH + "+)"); } Debug.WriteLine("ScanFileData took " + - ((DateTime.Now - startWhen).Milliseconds) + " ms"); + ((DateTime.Now - startWhen).TotalMilliseconds) + " ms"); RepeatedBytes = repeats; StdAsciiBytes = ascii; diff --git a/SourceGenWPF/DisplayList.cs b/SourceGenWPF/DisplayList.cs index 3784fca..8633536 100644 --- a/SourceGenWPF/DisplayList.cs +++ b/SourceGenWPF/DisplayList.cs @@ -258,12 +258,23 @@ namespace SourceGenWPF { return parts; } + /// + /// Resets the list, filling it with empty elements. + /// + /// New size of the list. public void ResetList(int size) { + // TODO: can we recycle existing elements and just add/trim as needed? Clear(); mList.Capacity = size; for (int i = 0; i < size; i++) { - Add(null); + // add directly to list so we don't send events + mList.Add(null); } + + // send one big notification at the end; "reset" means "forget everything you knew" + OnPropertyChanged(CountString); + OnPropertyChanged(IndexerName); + OnCollectionReset(); } public class FormattedParts { diff --git a/SourceGenWPF/ProjWin/MainWindow.xaml.cs b/SourceGenWPF/ProjWin/MainWindow.xaml.cs index 9b5081d..418fb42 100644 --- a/SourceGenWPF/ProjWin/MainWindow.xaml.cs +++ b/SourceGenWPF/ProjWin/MainWindow.xaml.cs @@ -74,8 +74,8 @@ namespace SourceGenWPF.ProjWin { // state of Items collection. PresentationTraceSources.SetTraceLevel(codeListView.ItemContainerGenerator, PresentationTraceLevel.High); - } #endif + } /// /// INotifyPropertyChanged event @@ -150,7 +150,7 @@ namespace SourceGenWPF.ProjWin { //codeListView.SelectedItems.Clear(); //listViewSetSelectedItems.Invoke(codeListView, new object[] { codeListView.Items }); - Debug.WriteLine("Select All cmd: " + (DateTime.Now - start).Milliseconds + " ms"); + Debug.WriteLine("Select All cmd: " + (DateTime.Now - start).TotalMilliseconds + " ms"); } private void RecentProjectCmd_Executed(object sender, ExecutedRoutedEventArgs e) {