PublicEditor& e = trackview.editor ();
+ if (!trackview.editor().internal_editing() &&
+ e.current_mouse_mode() != Editing::MouseDraw) {
+ // not in internal edit mode, so just act like a normal region
+ return RegionView::canvas_group_event (ev);
+ }
+
if (ev->type == GDK_BUTTON_PRESS && e.current_mouse_mode() == Editing::MouseObject) {
/* XXX: icky dcast to Editor */
e.drags()->motion_handler(ev, false);
return true;
- } else if (ev->type == GDK_BUTTON_RELEASE) {
+ } else if (ev->type == GDK_BUTTON_RELEASE && e.current_mouse_mode() == Editing::MouseDraw) {
if (e.drags()->end_grab (ev)) {
return true;
- } else if (e.current_mouse_mode() != Editing::MouseObject &&
- e.current_mouse_mode() == Editing::MouseDraw) {
- return false;
+ } else if (e.current_mouse_mode() != Editing::MouseDraw &&
+ e.current_mouse_mode() != Editing::MouseObject) {
+ return RegionView::canvas_group_event (ev);
}
double x = ev->button.x;
return true;
}
- return false;
+ return RegionView::canvas_group_event (ev);
}
/** @param when Position in frames, where 0 is the start of the region.
/* add multi-paste offset if applicable */
pos += view->editor().get_paste_offset(
- pos, paste_count, _line->time_converter().to(slist->length()));
+ pos, paste_count, _source_relative_time_converter.to(slist->length()));
- const double model_pos = _line->time_converter().from(pos - _line->time_converter().origin_b());
+ const double model_pos = _source_relative_time_converter.from(
+ pos - _source_relative_time_converter.origin_b());
XMLNode& before = my_list->get_state();
my_list->paste(*slist, model_pos, times);