Don't reload the search results unless necessary.

master
Pacman Ghost 5 years ago
parent db6cc00a72
commit 279237d826
  1. 10
      src/MainForm.cs
  2. 4
      src/MainForm.ui.cs

@ -23,6 +23,7 @@ public partial class MainForm : Form
private Panel mChartImagePanel = new Panel() ; private Panel mChartImagePanel = new Panel() ;
private PictureBox mChartImagePictureBox = new PictureBox() ; private PictureBox mChartImagePictureBox = new PictureBox() ;
private string mSearchResultsKey = null ;
private Point? mMouseDragAnchor = null ; private Point? mMouseDragAnchor = null ;
private Tuple<int,int> mScrollDragAnchor ; private Tuple<int,int> mScrollDragAnchor ;
private double mUserZoom = 1.0 ; private double mUserZoom = 1.0 ;
@ -103,11 +104,15 @@ public partial class MainForm : Form
List<ChartImage> results2 = new List<ChartImage>() ; List<ChartImage> results2 = new List<ChartImage>() ;
foreach ( var r in results ) foreach ( var r in results )
results2.Add( r.Item1 ) ; results2.Add( r.Item1 ) ;
loadSearchResults( results2 ) ; loadSearchResults( results2, searchQuery ) ;
} }
private void loadSearchResults( IEnumerable<ChartImage> chartImages ) private void loadSearchResults( IEnumerable<ChartImage> chartImages, string key )
{ {
// check if we need to reload the search results
if ( key == mSearchResultsKey )
return ;
// clear the search results // clear the search results
mSearchResults.SuspendLayout() ; mSearchResults.SuspendLayout() ;
mSearchResults.Items.Clear() ; mSearchResults.Items.Clear() ;
@ -123,5 +128,6 @@ public partial class MainForm : Form
item.Selected = true ; item.Selected = true ;
} }
mSearchResults.ResumeLayout( true ) ; mSearchResults.ResumeLayout( true ) ;
mSearchResultsKey = key ;
} }
} }

@ -132,7 +132,7 @@ public partial class MainForm : Form
// load the chart images // load the chart images
loadChartImages() ; loadChartImages() ;
loadSearchResults( mChartImages.Values ) ; loadSearchResults( mChartImages.Values, "" ) ;
} }
private void MainForm_FormClosing( object sender, FormClosingEventArgs e ) private void MainForm_FormClosing( object sender, FormClosingEventArgs e )
@ -364,7 +364,7 @@ public partial class MainForm : Form
foreach ( ChartImage chartImage in chartImages ) foreach ( ChartImage chartImage in chartImages )
logger.Info( $"- {chartImage.caption()}" ) ; logger.Info( $"- {chartImage.caption()}" ) ;
mSearchQuery.Text = "" ; mSearchQuery.Text = "" ;
loadSearchResults( chartImages ) ; loadSearchResults( chartImages, "HOTKEY:"+e.Modifiers+":"+e.KeyCode ) ;
e.Handled = true ; e.Handled = true ;
return ; return ;
} }

Loading…
Cancel
Save