mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-07 07:14:56 +01:00
make sure SelectionRemove case is handled for selection ops
Also fix formatting for switch/case statements
This commit is contained in:
parent
15912fea77
commit
21610015ed
2 changed files with 104 additions and 97 deletions
|
|
@ -4390,50 +4390,51 @@ MarkerDrag::start_grab (GdkEvent* event, Gdk::Cursor* cursor)
|
||||||
SelectionOperation op = ArdourKeyboard::selection_type (event->button.state);
|
SelectionOperation op = ArdourKeyboard::selection_type (event->button.state);
|
||||||
|
|
||||||
switch (op) {
|
switch (op) {
|
||||||
case SelectionToggle:
|
case SelectionToggle:
|
||||||
/* we toggle on the button release */
|
/* we toggle on the button release */
|
||||||
break;
|
break;
|
||||||
case SelectionSet:
|
case SelectionSet:
|
||||||
if (!_editor->selection->selected (_marker)) {
|
if (!_editor->selection->selected (_marker)) {
|
||||||
_editor->selection->set (_marker);
|
_editor->selection->set (_marker);
|
||||||
_selection_changed = true;
|
_selection_changed = true;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case SelectionExtend: {
|
case SelectionExtend: {
|
||||||
Locations::LocationList ll;
|
Locations::LocationList ll;
|
||||||
list<ArdourMarker*> to_add;
|
list<ArdourMarker*> to_add;
|
||||||
timepos_t s, e;
|
timepos_t s, e;
|
||||||
_editor->selection->markers.range (s, e);
|
_editor->selection->markers.range (s, e);
|
||||||
s = min (_marker->position (), s);
|
s = min (_marker->position (), s);
|
||||||
e = max (_marker->position (), e);
|
e = max (_marker->position (), e);
|
||||||
s = min (s, e);
|
s = min (s, e);
|
||||||
e = max (s, e);
|
e = max (s, e);
|
||||||
if (e < timepos_t::max (e.time_domain ())) {
|
if (e < timepos_t::max (e.time_domain ())) {
|
||||||
e = e.increment ();
|
e = e.increment ();
|
||||||
}
|
}
|
||||||
_editor->session ()->locations ()->find_all_between (s, e, ll, Location::Flags (0));
|
_editor->session ()->locations ()->find_all_between (s, e, ll, Location::Flags (0));
|
||||||
for (Locations::LocationList::iterator i = ll.begin (); i != ll.end (); ++i) {
|
for (Locations::LocationList::iterator i = ll.begin (); i != ll.end (); ++i) {
|
||||||
Editor::LocationMarkers* lm = _editor->find_location_markers (*i);
|
Editor::LocationMarkers* lm = _editor->find_location_markers (*i);
|
||||||
if (lm) {
|
if (lm) {
|
||||||
if (lm->start) {
|
if (lm->start) {
|
||||||
to_add.push_back (lm->start);
|
to_add.push_back (lm->start);
|
||||||
}
|
}
|
||||||
if (lm->end) {
|
if (lm->end) {
|
||||||
to_add.push_back (lm->end);
|
to_add.push_back (lm->end);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!to_add.empty ()) {
|
|
||||||
_editor->selection->add (to_add);
|
|
||||||
_selection_changed = true;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
case SelectionAdd:
|
if (!to_add.empty ()) {
|
||||||
_editor->selection->add (_marker);
|
_editor->selection->add (to_add);
|
||||||
_selection_changed = true;
|
_selection_changed = true;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
|
case SelectionAdd:
|
||||||
|
_editor->selection->add (_marker);
|
||||||
|
_selection_changed = true;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Set up copies for us to manipulate during the drag
|
/* Set up copies for us to manipulate during the drag
|
||||||
|
|
@ -4645,23 +4646,24 @@ MarkerDrag::finished (GdkEvent* event, bool movement_occurred)
|
||||||
|
|
||||||
SelectionOperation op = ArdourKeyboard::selection_type (event->button.state);
|
SelectionOperation op = ArdourKeyboard::selection_type (event->button.state);
|
||||||
switch (op) {
|
switch (op) {
|
||||||
case SelectionSet:
|
case SelectionSet:
|
||||||
if (_editor->selection->selected (_marker) && _editor->selection->markers.size () > 1) {
|
if (_editor->selection->selected (_marker) && _editor->selection->markers.size () > 1) {
|
||||||
_editor->selection->set (_marker);
|
_editor->selection->set (_marker);
|
||||||
_selection_changed = true;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case SelectionToggle:
|
|
||||||
/* we toggle on the button release, click only */
|
|
||||||
_editor->selection->toggle (_marker);
|
|
||||||
_selection_changed = true;
|
_selection_changed = true;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
break;
|
case SelectionToggle:
|
||||||
|
/* we toggle on the button release, click only */
|
||||||
|
_editor->selection->toggle (_marker);
|
||||||
|
_selection_changed = true;
|
||||||
|
|
||||||
case SelectionExtend:
|
break;
|
||||||
case SelectionAdd:
|
|
||||||
break;
|
case SelectionExtend:
|
||||||
|
case SelectionAdd:
|
||||||
|
case SelectionRemove:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_selection_changed) {
|
if (_selection_changed) {
|
||||||
|
|
|
||||||
|
|
@ -632,28 +632,31 @@ Editor::button_selection (ArdourCanvas::Item* item, GdkEvent* event, ItemType it
|
||||||
selectables.push_back (argl->nth (after));
|
selectables.push_back (argl->nth (after));
|
||||||
|
|
||||||
switch (op) {
|
switch (op) {
|
||||||
case SelectionSet:
|
case SelectionSet:
|
||||||
if (press) {
|
if (press) {
|
||||||
selection->set (selectables);
|
selection->set (selectables);
|
||||||
_mouse_changed_selection = true;
|
_mouse_changed_selection = true;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case SelectionAdd:
|
case SelectionAdd:
|
||||||
if (press) {
|
if (press) {
|
||||||
selection->add (selectables);
|
selection->add (selectables);
|
||||||
_mouse_changed_selection = true;
|
_mouse_changed_selection = true;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case SelectionToggle:
|
case SelectionToggle:
|
||||||
if (press) {
|
if (press) {
|
||||||
selection->toggle (selectables);
|
selection->toggle (selectables);
|
||||||
_mouse_changed_selection = true;
|
_mouse_changed_selection = true;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SelectionExtend:
|
case SelectionExtend:
|
||||||
/* XXX */
|
/* XXX */
|
||||||
break;
|
break;
|
||||||
|
case SelectionRemove:
|
||||||
|
/* XXX */
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
@ -678,28 +681,30 @@ Editor::button_selection (ArdourCanvas::Item* item, GdkEvent* event, ItemType it
|
||||||
selectables.push_back (al->nth (after));
|
selectables.push_back (al->nth (after));
|
||||||
|
|
||||||
switch (op) {
|
switch (op) {
|
||||||
case SelectionSet:
|
case SelectionSet:
|
||||||
if (press) {
|
if (press) {
|
||||||
selection->set (selectables);
|
selection->set (selectables);
|
||||||
_mouse_changed_selection = true;
|
_mouse_changed_selection = true;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case SelectionAdd:
|
case SelectionAdd:
|
||||||
if (press) {
|
if (press) {
|
||||||
selection->add (selectables);
|
selection->add (selectables);
|
||||||
_mouse_changed_selection = true;
|
_mouse_changed_selection = true;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case SelectionToggle:
|
case SelectionToggle:
|
||||||
if (press) {
|
if (press) {
|
||||||
selection->toggle (selectables);
|
selection->toggle (selectables);
|
||||||
_mouse_changed_selection = true;
|
_mouse_changed_selection = true;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case SelectionExtend:
|
||||||
case SelectionExtend:
|
/* XXX */
|
||||||
/* XXX */
|
break;
|
||||||
break;
|
case SelectionRemove:
|
||||||
|
/* not relevant */
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue