[Summary] Per Igor's request: if auto play loop is set on, the main timespan should...
[ardour.git] / gtk2_ardour / editor_mouse.cc
index 27d538a5271e0440f57f5563b74f368bb2ef8958..5c106785e28559efafe7ee60fcb8c79c22680abb 100644 (file)
@@ -525,7 +525,7 @@ Editor::button_selection (ArdourCanvas::Item* /*item*/, GdkEvent* event, ItemTyp
                        set_selected_track_as_side_effect (op);
 
                        /* We won't get a release.*/
-                       begin_reversible_selection_op (_("Button 3 Menu Select"));
+                       begin_reversible_selection_op (X_("Button 3 Menu Select"));
                        commit_reversible_selection_op ();
                }
                break;
@@ -539,7 +539,7 @@ Editor::button_selection (ArdourCanvas::Item* /*item*/, GdkEvent* event, ItemTyp
        }
 
        if ((!press) && _mouse_changed_selection) {
-               begin_reversible_selection_op (_("Button Selection"));
+               begin_reversible_selection_op (X_("Button Selection"));
                commit_reversible_selection_op ();
                _mouse_changed_selection = false;
        }
@@ -767,10 +767,7 @@ Editor::button_press_handler_1 (ArdourCanvas::Item* item, GdkEvent* event, ItemT
                        break;
 
                case StreamItem:
-                       if (dynamic_cast<MidiTimeAxisView*> (clicked_axisview)) {
-                               _drags->set (new RegionCreateDrag (this, item, clicked_axisview), event);
-                               return true;
-                       }
+                       //in the past, we created a new midi region here, but perhaps that is best left to the Draw mode
                        break;
 
                case AutomationTrackItem:
@@ -1191,20 +1188,24 @@ Editor::button_release_handler (ArdourCanvas::Item* item, GdkEvent* event, ItemT
                return true;
        }
 
-       /* see if we're finishing a drag */
+        bool were_dragging = false;
 
-       bool were_dragging = false;
-       if (_drags->active ()) {
-               bool const r = _drags->end_grab (event);
-               if (r) {
-                       /* grab dragged, so do nothing else */
-                       return true;
-               }
+       if (!Keyboard::is_context_menu_event (&event->button)) {
 
-               were_dragging = true;
-       }
+                /* see if we're finishing a drag */
+                
+                if (_drags->active ()) {
+                        bool const r = _drags->end_grab (event);
+                        if (r) {
+                                /* grab dragged, so do nothing else */
+                                return true;
+                        }
+                        
+                        were_dragging = true;
+                }
 
-       update_region_layering_order_editor ();
+                update_region_layering_order_editor ();
+        }
 
        /* edit events get handled here */
 
@@ -1495,7 +1496,7 @@ Editor::button_release_handler (ArdourCanvas::Item* item, GdkEvent* event, ItemT
                                default:
                                        break;
                                }
-                       } else {
+                       } else if (_session) {
                                /* make sure we stop */
                                _session->request_transport_speed (0.0);
                        }
@@ -1658,6 +1659,14 @@ Editor::enter_handler (ArdourCanvas::Item* item, GdkEvent* event, ItemType item_
        case SelectionItem:
                break;
 
+       case WaveItem:
+       {
+               if (entered_regionview) {
+                       entered_regionview->entered();
+               }
+       }
+       break;
+
        default:
                break;
        }
@@ -1924,7 +1933,6 @@ Editor::edit_control_point (ArdourCanvas::Item* item)
        }
 
        ControlPointDialog d (p);
-       ensure_float (d);
 
        if (d.run () != RESPONSE_ACCEPT) {
                return;
@@ -1944,7 +1952,6 @@ Editor::edit_notes (MidiRegionView* mrv)
 
        EditNoteDialog* d = new EditNoteDialog (mrv, s);
        d->show_all ();
-       ensure_float (*d);
 
        d->signal_response().connect (sigc::bind (sigc::mem_fun (*this, &Editor::note_edit_done), d));
 }