Commit aefa08c

Nick committed on
Fix double-executing of menu item stuff
commit aefa08c3c6e761cbfdee64cc70529a287deeaa13 parent 6f89991
3 changed files +57−33
Modifiedtracker.lfm +23−0
@@ -4912,6 +4912,29 @@ object frmTracker: TfrmTracker
4912 object MenuItem29: TMenuItem 4912 object MenuItem29: TMenuItem
4913 Caption = '-' 4913 Caption = '-'
4914 end 4914 end
4915 object TrackerPopupTransposeSemiUp: TMenuItem
4916 Caption = 'Transpose +1 semitone'
4917 ShortCut = 16465
4918 OnClick = TrackerPopupTransposeSemiUpClick
4919 end
4920 object TrackerPopupTransposeSemiDown: TMenuItem
4921 Caption = 'Transpose -1 semitone'
4922 ShortCut = 16449
4923 OnClick = TrackerPopupTransposeSemiDownClick
4924 end
4925 object TrackerPopupTransposeOctaveUp: TMenuItem
4926 Caption = 'Transpose +1 octave'
4927 ShortCut = 24657
4928 OnClick = TrackerPopupTransposeOctaveUpClick
4929 end
4930 object TrackerPopupTransposeOctaveDown: TMenuItem
4931 Caption = 'Transpose -1 octave'
4932 ShortCut = 24641
4933 OnClick = TrackerPopupTransposeOctaveDownClick
4934 end
4935 object MenuItem30: TMenuItem
4936 Caption = '-'
4937 end
4915 object TrackerPopupCut: TMenuItem 4938 object TrackerPopupCut: TMenuItem
4916 Caption = 'Cut' 4939 Caption = 'Cut'
4917 ShortCut = 16472 4940 ShortCut = 16472
Modifiedtracker.pas +29−0
@@ -32,6 +32,11 @@ type
32 MenuItem25: TMenuItem; 32 MenuItem25: TMenuItem;
33 MenuItem26: TMenuItem; 33 MenuItem26: TMenuItem;
34 MenuItem27: TMenuItem; 34 MenuItem27: TMenuItem;
35 TrackerPopupTransposeOctaveUp: TMenuItem;
36 TrackerPopupTransposeOctaveDown: TMenuItem;
37 TrackerPopupTransposeSemiUp: TMenuItem;
38 MenuItem30: TMenuItem;
39 TrackerPopupTransposeSemiDown: TMenuItem;
35 TrackerPopupUndo: TMenuItem; 40 TrackerPopupUndo: TMenuItem;
36 TrackerPopupRedo: TMenuItem; 41 TrackerPopupRedo: TMenuItem;
37 TrackerPopupSelectAll: TMenuItem; 42 TrackerPopupSelectAll: TMenuItem;
@@ -277,6 +282,10 @@ type
277 procedure TrackerPopupRedoClick(Sender: TObject); 282 procedure TrackerPopupRedoClick(Sender: TObject);
278 procedure TrackerPopupSelectAllClick(Sender: TObject); 283 procedure TrackerPopupSelectAllClick(Sender: TObject);
279 procedure TrackerPopupSelectChannelClick(Sender: TObject); 284 procedure TrackerPopupSelectChannelClick(Sender: TObject);
285 procedure TrackerPopupTransposeOctaveDownClick(Sender: TObject);
286 procedure TrackerPopupTransposeOctaveUpClick(Sender: TObject);
287 procedure TrackerPopupTransposeSemiDownClick(Sender: TObject);
288 procedure TrackerPopupTransposeSemiUpClick(Sender: TObject);
280 procedure TrackerPopupUndoClick(Sender: TObject); 289 procedure TrackerPopupUndoClick(Sender: TObject);
281 procedure TreeView1DblClick(Sender: TObject); 290 procedure TreeView1DblClick(Sender: TObject);
282 procedure WaveEditNumberSpinnerChange(Sender: TObject); 291 procedure WaveEditNumberSpinnerChange(Sender: TObject);
@@ -1602,6 +1611,26 @@ begin
1602 TrackerGrid.SelectColumn 1611 TrackerGrid.SelectColumn
1603 end; 1612 end;
1604 1613
1614 procedure TfrmTracker.TrackerPopupTransposeOctaveDownClick(Sender: TObject);
1615 begin
1616 TrackerGrid.TransposeSelection(-12)
1617 end;
1618
1619 procedure TfrmTracker.TrackerPopupTransposeOctaveUpClick(Sender: TObject);
1620 begin
1621 TrackerGrid.TransposeSelection(12)
1622 end;
1623
1624 procedure TfrmTracker.TrackerPopupTransposeSemiDownClick(Sender: TObject);
1625 begin
1626 TrackerGrid.TransposeSelection(-1)
1627 end;
1628
1629 procedure TfrmTracker.TrackerPopupTransposeSemiUpClick(Sender: TObject);
1630 begin
1631 TrackerGrid.TransposeSelection(1)
1632 end;
1633
1605 procedure TfrmTracker.TrackerPopupUndoClick(Sender: TObject); 1634 procedure TfrmTracker.TrackerPopupUndoClick(Sender: TObject);
1606 begin 1635 begin
1607 TrackerGrid.DoUndo 1636 TrackerGrid.DoUndo
Modifiedtrackergrid.pas +5−33
@@ -79,7 +79,6 @@ type
79 procedure ClampCursors; 79 procedure ClampCursors;
80 procedure NormalizeCursors; 80 procedure NormalizeCursors;
81 81
82 procedure TransposeSelection(Semitones: Integer);
83 procedure InputNote(Key: Word); 82 procedure InputNote(Key: Word);
84 procedure InputInstrument(Key: Word); 83 procedure InputInstrument(Key: Word);
85 procedure InputVolume(Key: Word); 84 procedure InputVolume(Key: Word);
@@ -138,6 +137,7 @@ type
138 procedure DoUndo; 137 procedure DoUndo;
139 procedure DoRedo; 138 procedure DoRedo;
140 procedure DoRepeatPaste; 139 procedure DoRepeatPaste;
140 procedure TransposeSelection(Semitones: Integer);
141 141
142 constructor Create( 142 constructor Create(
143 AOwner: TComponent; 143 AOwner: TComponent;
@@ -345,41 +345,14 @@ begin
345 inherited KeyDown(Key, Shift); 345 inherited KeyDown(Key, Shift);
346 346
347 if Key in [VK_CONTROL, VK_SHIFT] then Exit; 347 if Key in [VK_CONTROL, VK_SHIFT] then Exit;
348 348 if Key in [VK_DELETE] then Exit;
349 if [ssCtrl, ssShift] <= Shift then
350 case Key of
351 VK_Q: TransposeSelection(12);
352 VK_A: TransposeSelection(-12);
353 end
354 else begin
355 if ssCtrl in Shift then
356 case Key of
357 VK_Q: TransposeSelection(1);
358 VK_A: TransposeSelection(-1);
359 VK_Z: DoUndo;
360 VK_Y: DoRedo;
361 VK_L: SelectColumn;
362 end;
363
364 if ssShift in Shift then
365 case Key of
366 VK_V: DoRepeatPaste;
367 end;
368 end;
369 349
370 case Key of 350 case Key of
371 VK_DELETE: begin 351 VK_UP: Dec(Cursor.Y);
372 EraseSelection; 352 VK_DOWN: Inc(Cursor.Y);
373 end;
374 VK_UP: begin
375 Dec(Cursor.Y);
376 end;
377 VK_DOWN: begin
378 Inc(Cursor.Y);
379 end;
380 VK_LEFT: DecSelectionPos(Cursor); 353 VK_LEFT: DecSelectionPos(Cursor);
381 VK_RIGHT: IncSelectionPos(Cursor); 354 VK_RIGHT: IncSelectionPos(Cursor);
382 else begin 355 else
383 if (not (ssCtrl in Shift)) and (not (ssShift in Shift)) then 356 if (not (ssCtrl in Shift)) and (not (ssShift in Shift)) then
384 case Cursor.SelectedPart of 357 case Cursor.SelectedPart of
385 cpNote: InputNote(Key); 358 cpNote: InputNote(Key);
@@ -388,7 +361,6 @@ begin
388 cpEffectCode: InputEffectCode(Key); 361 cpEffectCode: InputEffectCode(Key);
389 cpEffectParams: InputEffectParams(Key); 362 cpEffectParams: InputEffectParams(Key);
390 end; 363 end;
391 end;
392 end; 364 end;
393 365
394 if (not (ssCtrl in Shift)) and (not (ssShift in Shift)) then 366 if (not (ssCtrl in Shift)) and (not (ssShift in Shift)) then