@@ -45,11 +45,8 @@ public BreakPointUI(BreakPointManager breakPointManager)
4545
4646 void BreakPointManager_UpdateBreakPointEvent ( object sender , UpdateBreakPointArgs e )
4747 {
48- int index = ItemIndex ( e . FileFullPath , e . OldLine ) ;
49- if ( index >= 0 )
50- {
51- dgv . Rows [ index ] . Cells [ "Line" ] . Value = e . NewLine . ToString ( ) ;
52- }
48+ var index = ItemIndex ( e . FileFullPath , e . OldLine ) ;
49+ if ( index >= 0 ) dgv . Rows [ index ] . Cells [ "Line" ] . Value = e . NewLine . ToString ( ) ;
5350 }
5451
5552 void BreakPointManager_ChangeBreakPointEvent ( object sender , BreakPointArgs e )
@@ -170,7 +167,7 @@ void Dgv_CellEndEdit(object sender, DataGridViewCellEventArgs e)
170167 breakPointManager . SetBreakPointCondition ( filename , line - 1 , exp ) ;
171168 }
172169
173- public void Clear ( ) => dgv . Rows . Clear ( ) ;
170+ public void Clear ( ) => RemoveAllMarkers ( ) ;
174171
175172 public new bool Enabled
176173 {
@@ -340,10 +337,10 @@ void TsbRemoveSelected_Click(object sender, EventArgs e)
340337 var filefullpath = ( string ) selected . Cells [ "FilePath" ] . Value ;
341338 var line = int . Parse ( ( string ) selected . Cells [ "Line" ] . Value ) - 1 ;
342339 var doc = ScintillaHelper . GetDocument ( filefullpath ) ;
343- if ( doc != null )
340+ if ( doc ? . SciControl is { } sci )
344341 {
345- bool m = ScintillaHelper . IsMarkerSet ( doc . SciControl , ScintillaHelper . markerBPDisabled , line ) ;
346- doc . SciControl . MarkerDelete ( line , m ? ScintillaHelper . markerBPDisabled : ScintillaHelper . markerBPEnabled ) ;
342+ var m = ScintillaHelper . IsMarkerSet ( sci , ScintillaHelper . markerBPDisabled , line ) ;
343+ sci . MarkerDelete ( line , m ? ScintillaHelper . markerBPDisabled : ScintillaHelper . markerBPEnabled ) ;
347344 }
348345 else breakPointManager . SetBreakPointInfo ( filefullpath , line , true , false ) ;
349346 dgv . Rows . Remove ( selected ) ;
@@ -356,21 +353,26 @@ void TsbRemoveFiltered_Click(object sender, EventArgs e)
356353 {
357354 if ( dgv . Rows . Count == 0 ) return ;
358355 breakPointManager . ChangeBreakPointEvent -= BreakPointManager_ChangeBreakPointEvent ;
359- foreach ( DataGridViewRow row in dgv . Rows )
356+ RemoveAllMarkers ( ) ;
357+ breakPointManager . ChangeBreakPointEvent += BreakPointManager_ChangeBreakPointEvent ;
358+ breakPointManager . Save ( ) ;
359+ }
360+
361+ void RemoveAllMarkers ( )
362+ {
363+ for ( var i = dgv . Rows . Count - 1 ; i >= 0 ; i -- )
360364 {
361- var filefullpath = ( string ) row . Cells [ "FilePath" ] . Value ;
362- var line = int . Parse ( ( string ) row . Cells [ "Line " ] . Value ) - 1 ;
363- var doc = ScintillaHelper . GetDocument ( filefullpath ) ;
364- if ( doc != null )
365+ var row = dgv . Rows [ i ] ;
366+ var fileName = ( string ) row . Cells [ "FilePath " ] . Value ;
367+ var line = int . Parse ( ( string ) row . Cells [ "Line" ] . Value ) - 1 ;
368+ if ( ScintillaHelper . GetDocument ( fileName ) ? . SciControl is { } sci )
365369 {
366- var m = ScintillaHelper . IsMarkerSet ( doc . SciControl , ScintillaHelper . markerBPDisabled , line ) ;
367- doc . SciControl . MarkerDelete ( line , m ? ScintillaHelper . markerBPDisabled : ScintillaHelper . markerBPEnabled ) ;
370+ var m = ScintillaHelper . IsMarkerSet ( sci , ScintillaHelper . markerBPDisabled , line ) ;
371+ sci . MarkerDelete ( line , m ? ScintillaHelper . markerBPDisabled : ScintillaHelper . markerBPEnabled ) ;
368372 }
369- else breakPointManager . SetBreakPointInfo ( filefullpath , line , true , false ) ;
373+ else breakPointManager . SetBreakPointInfo ( fileName , line , true , false ) ;
370374 }
371375 dgv . Rows . Clear ( ) ;
372- breakPointManager . ChangeBreakPointEvent += BreakPointManager_ChangeBreakPointEvent ;
373- breakPointManager . Save ( ) ;
374376 }
375377
376378 void TsbAlternateFiltered_Click ( object sender , EventArgs e )
@@ -402,9 +404,11 @@ void TsbAlternateFiltered_Click(object sender, EventArgs e)
402404
403405 void TsbExportFiltered_Click ( object sender , EventArgs e )
404406 {
405- using var dialog = new SaveFileDialog ( ) ;
406- dialog . OverwritePrompt = true ;
407- dialog . Filter = TextHelper . GetString ( "ProjectManager.Info.FileFilter" ) ;
407+ using var dialog = new SaveFileDialog
408+ {
409+ OverwritePrompt = true ,
410+ Filter = TextHelper . GetString ( "ProjectManager.Info.FileFilter" )
411+ } ;
408412 if ( dialog . ShowDialog ( this ) != DialogResult . OK ) return ;
409413 try
410414 {
@@ -418,9 +422,11 @@ void TsbExportFiltered_Click(object sender, EventArgs e)
418422
419423 void TsbImport_Click ( object sender , EventArgs e )
420424 {
421- using var dialog = new OpenFileDialog ( ) ;
422- dialog . CheckFileExists = true ;
423- dialog . Filter = TextHelper . GetString ( "ProjectManager.Info.FileFilter" ) ;
425+ using var dialog = new OpenFileDialog
426+ {
427+ CheckFileExists = true ,
428+ Filter = TextHelper . GetString ( "ProjectManager.Info.FileFilter" )
429+ } ;
424430 if ( dialog . ShowDialog ( this ) != DialogResult . OK ) return ;
425431 try
426432 {
0 commit comments