mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-09 08:14:58 +01:00
Remove useless/broken concept of 'erase touch dragging'.
git-svn-id: svn://localhost/ardour2/branches/3.0@5048 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
parent
7863c03cfc
commit
6c93b8c44f
3 changed files with 14 additions and 34 deletions
|
|
@ -287,8 +287,7 @@ CanvasNoteEvent::on_event(GdkEvent* ev)
|
||||||
switch (_state) {
|
switch (_state) {
|
||||||
case Pressed: // Drag begin
|
case Pressed: // Drag begin
|
||||||
if (midi_edit_mode == Editing::MidiEditSelect
|
if (midi_edit_mode == Editing::MidiEditSelect
|
||||||
&& _region.mouse_state() != MidiRegionView::SelectTouchDragging
|
&& _region.mouse_state() != MidiRegionView::SelectTouchDragging) {
|
||||||
&& _region.mouse_state() != MidiRegionView::EraseTouchDragging) {
|
|
||||||
_item->grab(GDK_POINTER_MOTION_MASK | GDK_BUTTON_RELEASE_MASK,
|
_item->grab(GDK_POINTER_MOTION_MASK | GDK_BUTTON_RELEASE_MASK,
|
||||||
Gdk::Cursor(Gdk::FLEUR), ev->motion.time);
|
Gdk::Cursor(Gdk::FLEUR), ev->motion.time);
|
||||||
_state = Dragging;
|
_state = Dragging;
|
||||||
|
|
|
||||||
|
|
@ -195,9 +195,6 @@ MidiRegionView::init (Gdk::Color& basic_color, bool wfd)
|
||||||
bool
|
bool
|
||||||
MidiRegionView::canvas_event(GdkEvent* ev)
|
MidiRegionView::canvas_event(GdkEvent* ev)
|
||||||
{
|
{
|
||||||
static bool delete_mod = false;
|
|
||||||
static Editing::MidiEditMode original_mode;
|
|
||||||
|
|
||||||
static double drag_start_x, drag_start_y;
|
static double drag_start_x, drag_start_y;
|
||||||
static double last_x, last_y;
|
static double last_x, last_y;
|
||||||
double event_x, event_y;
|
double event_x, event_y;
|
||||||
|
|
@ -212,14 +209,7 @@ MidiRegionView::canvas_event(GdkEvent* ev)
|
||||||
|
|
||||||
switch (ev->type) {
|
switch (ev->type) {
|
||||||
case GDK_KEY_PRESS:
|
case GDK_KEY_PRESS:
|
||||||
if (ev->key.keyval == GDK_Delete && !delete_mod) {
|
if (ev->key.keyval == GDK_Shift_L || ev->key.keyval == GDK_Control_L) {
|
||||||
delete_mod = true;
|
|
||||||
original_mode = midi_edit_mode;
|
|
||||||
trackview.editor().set_midi_edit_mode(MidiEditErase);
|
|
||||||
start_delta_command(_("erase notes"));
|
|
||||||
_mouse_state = EraseTouchDragging;
|
|
||||||
return true;
|
|
||||||
} else if (ev->key.keyval == GDK_Shift_L || ev->key.keyval == GDK_Control_L) {
|
|
||||||
_mouse_state = SelectTouchDragging;
|
_mouse_state = SelectTouchDragging;
|
||||||
return true;
|
return true;
|
||||||
} else if (ev->key.keyval == GDK_Escape) {
|
} else if (ev->key.keyval == GDK_Escape) {
|
||||||
|
|
@ -230,15 +220,8 @@ MidiRegionView::canvas_event(GdkEvent* ev)
|
||||||
|
|
||||||
case GDK_KEY_RELEASE:
|
case GDK_KEY_RELEASE:
|
||||||
if (ev->key.keyval == GDK_Delete) {
|
if (ev->key.keyval == GDK_Delete) {
|
||||||
if (_mouse_state == EraseTouchDragging) {
|
delete_selection();
|
||||||
delete_selection();
|
apply_command();
|
||||||
apply_command();
|
|
||||||
}
|
|
||||||
if (delete_mod) {
|
|
||||||
trackview.editor().set_midi_edit_mode(original_mode);
|
|
||||||
_mouse_state = None;
|
|
||||||
delete_mod = false;
|
|
||||||
}
|
|
||||||
return true;
|
return true;
|
||||||
} else if (ev->key.keyval == GDK_Shift_L || ev->key.keyval == GDK_Control_L) {
|
} else if (ev->key.keyval == GDK_Shift_L || ev->key.keyval == GDK_Control_L) {
|
||||||
_mouse_state = None;
|
_mouse_state = None;
|
||||||
|
|
@ -247,9 +230,7 @@ MidiRegionView::canvas_event(GdkEvent* ev)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
case GDK_BUTTON_PRESS:
|
case GDK_BUTTON_PRESS:
|
||||||
if (_mouse_state != SelectTouchDragging &&
|
if (_mouse_state != SelectTouchDragging && ev->button.button == 1) {
|
||||||
_mouse_state != EraseTouchDragging &&
|
|
||||||
ev->button.button == 1) {
|
|
||||||
_pressed_button = ev->button.button;
|
_pressed_button = ev->button.button;
|
||||||
_mouse_state = Pressed;
|
_mouse_state = Pressed;
|
||||||
return true;
|
return true;
|
||||||
|
|
@ -363,7 +344,6 @@ MidiRegionView::canvas_event(GdkEvent* ev)
|
||||||
last_x = event_x;
|
last_x = event_x;
|
||||||
last_y = event_y;
|
last_y = event_y;
|
||||||
|
|
||||||
case EraseTouchDragging:
|
|
||||||
case SelectTouchDragging:
|
case SelectTouchDragging:
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
|
@ -1150,7 +1130,13 @@ MidiRegionView::next_program(CanvasProgramChange& program)
|
||||||
void
|
void
|
||||||
MidiRegionView::delete_selection()
|
MidiRegionView::delete_selection()
|
||||||
{
|
{
|
||||||
assert(_delta_command);
|
if (_selection.empty()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!_delta_command) {
|
||||||
|
_delta_command = _model->new_delta_command("delete selection");
|
||||||
|
}
|
||||||
|
|
||||||
for (Selection::iterator i = _selection.begin(); i != _selection.end(); ++i) {
|
for (Selection::iterator i = _selection.begin(); i != _selection.end(); ++i) {
|
||||||
if ((*i)->selected()) {
|
if ((*i)->selected()) {
|
||||||
|
|
@ -1605,11 +1591,7 @@ MidiRegionView::change_channel(uint8_t channel)
|
||||||
void
|
void
|
||||||
MidiRegionView::note_entered(ArdourCanvas::CanvasNoteEvent* ev)
|
MidiRegionView::note_entered(ArdourCanvas::CanvasNoteEvent* ev)
|
||||||
{
|
{
|
||||||
if (ev->note() && _mouse_state == EraseTouchDragging) {
|
if (_mouse_state == SelectTouchDragging) {
|
||||||
if (!_delta_command)
|
|
||||||
start_delta_command(_("note entered"));
|
|
||||||
_delta_command->remove(ev->note());
|
|
||||||
} else if (_mouse_state == SelectTouchDragging) {
|
|
||||||
note_selected(ev, true);
|
note_selected(ev, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -218,8 +218,7 @@ class MidiRegionView : public RegionView
|
||||||
Pressed,
|
Pressed,
|
||||||
SelectTouchDragging,
|
SelectTouchDragging,
|
||||||
SelectRectDragging,
|
SelectRectDragging,
|
||||||
AddDragging,
|
AddDragging
|
||||||
EraseTouchDragging
|
|
||||||
};
|
};
|
||||||
|
|
||||||
MouseState mouse_state() const { return _mouse_state; }
|
MouseState mouse_state() const { return _mouse_state; }
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue