diff --git a/gtk2_ardour/editor_canvas.cc b/gtk2_ardour/editor_canvas.cc index 9e43fcc35c..3e7aad2a1b 100644 --- a/gtk2_ardour/editor_canvas.cc +++ b/gtk2_ardour/editor_canvas.cc @@ -501,6 +501,10 @@ Editor::autoscroll_fudge_threshold () const void Editor::maybe_autoscroll (bool allow_horiz, bool allow_vert, bool moving_left, bool moving_up) { + if (!Config->get_autoscroll_editor ()) { + return; + } + bool startit = false; /* Work out the distance between the right hand edge of the trackview and the edge of diff --git a/gtk2_ardour/rc_option_editor.cc b/gtk2_ardour/rc_option_editor.cc index 4d12c8e739..7e91c0e7d9 100644 --- a/gtk2_ardour/rc_option_editor.cc +++ b/gtk2_ardour/rc_option_editor.cc @@ -1150,6 +1150,14 @@ RCOptionEditor::RCOptionEditor () sigc::mem_fun (*_rc_config, &RCConfiguration::set_name_new_markers) )); + add_option (_("Editor"), + new BoolOption ( + "autoscroll-editor", + _("Auto-scroll editor window when dragging near its edges"), + sigc::mem_fun (*_rc_config, &RCConfiguration::get_autoscroll_editor), + sigc::mem_fun (*_rc_config, &RCConfiguration::set_autoscroll_editor) + )); + /* AUDIO */ add_option (_("Audio"), new OptionEditorHeading (_("Buffering"))); diff --git a/libs/ardour/ardour/rc_configuration_vars.h b/libs/ardour/ardour/rc_configuration_vars.h index 1f9e3c1037..37599b0ac6 100644 --- a/libs/ardour/ardour/rc_configuration_vars.h +++ b/libs/ardour/ardour/rc_configuration_vars.h @@ -76,6 +76,7 @@ CONFIG_VARIABLE (std::string, keyboard_layout_name, "keyboard-layout-name", "ans CONFIG_VARIABLE (bool, automation_follows_regions, "automation-follows-regions", true) CONFIG_VARIABLE (bool, region_boundaries_from_selected_tracks, "region-boundaries-from-selected-tracks", true) CONFIG_VARIABLE (bool, region_boundaries_from_onscreen_tracks, "region-boundaries-from-onscreen_tracks", true) +CONFIG_VARIABLE (bool, autoscroll_editor, "autoscroll-editor", true) /* monitoring, mute, solo etc */