From 279237d826e56a3f3da1b8d84bb300be3bd13261 Mon Sep 17 00:00:00 2001 From: Taka Date: Thu, 11 Jul 2019 09:00:38 +0000 Subject: [PATCH] Don't reload the search results unless necessary. --- src/MainForm.cs | 10 ++++++++-- src/MainForm.ui.cs | 4 ++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/MainForm.cs b/src/MainForm.cs index bc3de67..3b40f44 100644 --- a/src/MainForm.cs +++ b/src/MainForm.cs @@ -23,6 +23,7 @@ public partial class MainForm : Form private Panel mChartImagePanel = new Panel() ; private PictureBox mChartImagePictureBox = new PictureBox() ; + private string mSearchResultsKey = null ; private Point? mMouseDragAnchor = null ; private Tuple mScrollDragAnchor ; private double mUserZoom = 1.0 ; @@ -103,11 +104,15 @@ public partial class MainForm : Form List results2 = new List() ; foreach ( var r in results ) results2.Add( r.Item1 ) ; - loadSearchResults( results2 ) ; + loadSearchResults( results2, searchQuery ) ; } - private void loadSearchResults( IEnumerable chartImages ) + private void loadSearchResults( IEnumerable chartImages, string key ) { + // check if we need to reload the search results + if ( key == mSearchResultsKey ) + return ; + // clear the search results mSearchResults.SuspendLayout() ; mSearchResults.Items.Clear() ; @@ -123,5 +128,6 @@ public partial class MainForm : Form item.Selected = true ; } mSearchResults.ResumeLayout( true ) ; + mSearchResultsKey = key ; } } diff --git a/src/MainForm.ui.cs b/src/MainForm.ui.cs index 68551a7..4ccae08 100644 --- a/src/MainForm.ui.cs +++ b/src/MainForm.ui.cs @@ -132,7 +132,7 @@ public partial class MainForm : Form // load the chart images loadChartImages() ; - loadSearchResults( mChartImages.Values ) ; + loadSearchResults( mChartImages.Values, "" ) ; } private void MainForm_FormClosing( object sender, FormClosingEventArgs e ) @@ -364,7 +364,7 @@ public partial class MainForm : Form foreach ( ChartImage chartImage in chartImages ) logger.Info( $"- {chartImage.caption()}" ) ; mSearchQuery.Text = "" ; - loadSearchResults( chartImages ) ; + loadSearchResults( chartImages, "HOTKEY:"+e.Modifiers+":"+e.KeyCode ) ; e.Handled = true ; return ; }