Beispiel #1
0
        private void KeyboardBindings(EditTracksForm form, EditTracksViewModel vm, EditTracksController controller, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Escape)
            {
                form.Close();
                e.Handled = true;
            }

            if (e.KeyCode == Keys.Space)
            {
                form.BtnStopPreview.PerformClick();
                e.Handled = true;
            }

            if (e.KeyCode == Keys.Q)
            {
                // "pass-through" behaviour to SF
                controller.ToggleLoopedPlayback();
                e.Handled = true;
            }

            if (vm.HasTracks && e.KeyCode == Keys.Home)
            {
                form.BtnPreviewStart.PerformClick();
                e.Handled = true;
            }

            if (vm.HasTracks && e.KeyCode == Keys.End)
            {
                form.BtnPreviewEnd.PerformClick();
                e.Handled = true;
            }

            if (vm.HasTracks && e.KeyCode == Keys.Delete)
            {
                form.BtnDelete.PerformClick();
                e.Handled = true;
            }

            if (vm.CanNavigatePrevious && e.KeyCode == Keys.Left)
            {
                form.BtnPrevious.PerformClick();
                e.Handled = true;
            }

            if (vm.CanNavigateNext && e.KeyCode == Keys.Right)
            {
                form.BtnNext.PerformClick();
                e.Handled = true;
            }

            if (e.KeyCode == Keys.J)
            {
                (e.Shift ? form.BtnMoveStartMinus : form.BtnMoveStartMinusMinus).PerformClick();
                e.Handled = true;
            }

            if (e.KeyCode == Keys.K)
            {
                (e.Shift ? form.BtnMoveStartPlus : form.BtnMoveStartPlusPlus).PerformClick();
                e.Handled = true;
            }

            if (e.KeyCode == Keys.H)
            {
                (e.Shift ? form.BtnMoveEndMinus : form.BtnMoveEndMinusMinus).PerformClick();
                e.Handled = true;
            }

            if (e.KeyCode == Keys.L)
            {
                (e.Shift ? form.BtnMoveEndPlus : form.BtnMoveEndPlusPlus).PerformClick();
                e.Handled = true;
            }

            if (e.KeyCode == Keys.U)
            {
                (e.Shift ? form.BtnMoveFadeInMinus : form.BtnMoveFadeInMinusMinus).PerformClick();
                e.Handled = true;
            }

            if (e.KeyCode == Keys.I)
            {
                (e.Shift ? form.BtnMoveFadeInPlus : form.BtnMoveFadeInPlusPlus).PerformClick();
                e.Handled = true;
            }

            if (e.KeyCode == Keys.Y)
            {
                (e.Shift ? form.BtnMoveFadeOutMinus : form.BtnMoveFadeOutMinusMinus).PerformClick();
                e.Handled = true;
            }

            if (e.KeyCode == Keys.O)
            {
                (e.Shift ? form.BtnMoveFadeOutPlus : form.BtnMoveFadeOutPlusPlus).PerformClick();
                e.Handled = true;
            }
        }