@@ -98,7 +98,22 @@ private void CodefilesList_SelectedIndexChanged(object sender, EventArgs e)
9898 return ;
9999 }
100100
101- delEntryButton . Enabled = codefilesList . SelectedIndices . Count > 0 ;
101+ codeBox . Enabled = codefilesList . SelectedIndices . Count > 0 ;
102+ fixedButton . Enabled = codeBox . Enabled ;
103+ fixedRandomButton . Enabled = codeBox . Enabled ;
104+ randomButton . Enabled = codeBox . Enabled ;
105+ zeroButton . Enabled = codeBox . Enabled ;
106+ delCodeButton . Enabled = false ;
107+ if ( codeBox . Enabled )
108+ {
109+ activeModeLabel . Text = "Edit mode" ;
110+ } else
111+ {
112+ activeModeLabel . Text = "Insert mode" ;
113+ }
114+ activeModeLabel . Text += " (click to toggle)" ;
115+
116+ delEntryButton . Enabled = codefilesList . SelectedIndices . Count > 0 ;
102117 if ( codefilesList . SelectedItems . Count == 1 )
103118 {
104119 KeyValuePair < string , string [ ] > currentFile = me . GetFile ( codefilesList . SelectedIndices [ 0 ] ) ;
@@ -155,7 +170,17 @@ private void CodefilesList_KeyDown(object sender, KeyEventArgs e)
155170 if ( e . KeyCode == Keys . Delete )
156171 {
157172 DeleteSelectedEntries ( ) ;
173+ } else if ( ( e . KeyCode == Keys . D ) && ( e . Control ) )
174+ {
175+ List < string > codes = new List < string > ( ) ;
176+ foreach ( MaterialListBoxItem m in randCodesList . Items )
177+ {
178+ codes . Add ( m . Text ) ;
179+ }
180+ me . PushFile ( filenameBox . Text , codes . ToArray ( ) ) ;
181+ UpdateCodeList ( ) ;
158182 }
183+ NTdtor_KeyDown ( sender , e ) ;
159184 }
160185
161186 private void MaterialButton4_Click ( object sender , EventArgs e )
@@ -176,20 +201,36 @@ private void MaterialButton5_Click(object sender, EventArgs e)
176201
177202 private void MaterialButton3_Click ( object sender , EventArgs e )
178203 {
179- foreach ( int idx in codefilesList . SelectedIndices )
204+ if ( codefilesList . SelectedItems . Count > 0 )
205+ {
206+ foreach ( int idx in codefilesList . SelectedIndices )
207+ {
208+ me . PushCode ( idx , "RRRRRRRR" ) ;
209+ }
210+ } else
180211 {
181- me . PushCode ( idx , "RRRRRRRR" ) ;
212+ randCodesList . Items . Add ( new MaterialListBoxItem ( )
213+ {
214+ Text = "RRRRRRRR" ,
215+ SecondaryText = "Code " + ( randCodesList . Items . Count + 1 )
216+ } ) ;
182217 }
183218 UpdateCodeList ( ) ;
184219 }
185220
186221 private void MaterialButton2_Click ( object sender , EventArgs e )
187222 {
188- foreach ( int idx in codefilesList . SelectedIndices )
223+ if ( codefilesList . SelectedIndices . Count > 0 )
189224 {
190- me . RemoveCode ( idx , randCodesList . SelectedIndex ) ;
225+ foreach ( int idx in codefilesList . SelectedIndices )
226+ {
227+ me . RemoveCode ( idx , randCodesList . SelectedIndex ) ;
228+ }
229+ UpdateCodeList ( ) ;
230+ } else
231+ {
232+ randCodesList . Items . RemoveAt ( randCodesList . SelectedIndex ) ;
191233 }
192- UpdateCodeList ( ) ;
193234 }
194235
195236 private void RandCodesList_MouseClick ( object sender , MouseEventArgs e )
@@ -309,7 +350,7 @@ private void SetCodeValues(bool random = false, string inspir = "RRRRRRRR")
309350
310351 private void FixedRandomButton_Click ( object sender , EventArgs e )
311352 {
312- if ( randCodesList . SelectedItems . Count > 0 )
353+ if ( randCodesList . SelectedIndex != - 1 )
313354 {
314355 codeBox . Text = me . GenHex ( 8 , codeBox . Text ) ;
315356 } else
@@ -320,7 +361,7 @@ private void FixedRandomButton_Click(object sender, EventArgs e)
320361
321362 private void RandomButton_Click ( object sender , EventArgs e )
322363 {
323- if ( randCodesList . SelectedItems . Count > 0 )
364+ if ( randCodesList . SelectedIndex != - 1 )
324365 {
325366 codeBox . Text = "RRRRRRRR" ;
326367 } else
@@ -331,7 +372,7 @@ private void RandomButton_Click(object sender, EventArgs e)
331372
332373 private void ZeroButton_Click ( object sender , EventArgs e )
333374 {
334- if ( randCodesList . SelectedItems . Count > 0 )
375+ if ( randCodesList . SelectedIndex != - 1 )
335376 {
336377 codeBox . Text = "00000000" ;
337378 } else
@@ -342,7 +383,7 @@ private void ZeroButton_Click(object sender, EventArgs e)
342383
343384 private void FixedButton_Click ( object sender , EventArgs e )
344385 {
345- if ( randCodesList . SelectedItems . Count > 0 )
386+ if ( randCodesList . SelectedIndex != - 1 )
346387 {
347388 codeBox . Text = codeBox . Text ;
348389 }
@@ -358,6 +399,22 @@ private void NTdtor_KeyDown(object sender, KeyEventArgs e)
358399 {
359400 MessageBox . Show ( "Screenshot saved as " + Program . dr . Screenshot ( this ) , "Screenshot taken!" , MessageBoxButtons . OK , MessageBoxIcon . Information ) ;
360401 Cursor . Show ( ) ;
402+ } else if ( e . KeyCode == Keys . Insert )
403+ {
404+ activeModeLabel_Click ( sender , e ) ;
405+ }
406+ }
407+
408+ private void activeModeLabel_Click ( object sender , EventArgs e )
409+ {
410+ if ( activeModeLabel . Text . StartsWith ( "Edit mode" ) )
411+ {
412+ codefilesList . SelectedIndices . Clear ( ) ;
413+ codefilesList . SelectedItems . Clear ( ) ;
414+ }
415+ else
416+ {
417+ codefilesList . SelectedIndices . Add ( 0 ) ;
361418 }
362419 }
363420 }
0 commit comments