Fix "Select All * Edit Point" when used as shortcut. -fixes #6626
This commit is contained in:
committed by
Robin Gareus
parent
fc6b965ad0
commit
4c26225ddc
@@ -1939,8 +1939,8 @@ Editor::add_dstream_context_items (Menu_Helpers::MenuList& edit_items)
|
||||
select_items.push_back (MenuElem (_("Set Range to Punch Range"), sigc::mem_fun(*this, &Editor::set_selection_from_punch)));
|
||||
select_items.push_back (MenuElem (_("Set Range to Selected Regions"), sigc::mem_fun(*this, &Editor::set_selection_from_region)));
|
||||
select_items.push_back (SeparatorElem());
|
||||
select_items.push_back (MenuElem (_("Select All After Edit Point"), sigc::bind (sigc::mem_fun(*this, &Editor::select_all_selectables_using_edit), true)));
|
||||
select_items.push_back (MenuElem (_("Select All Before Edit Point"), sigc::bind (sigc::mem_fun(*this, &Editor::select_all_selectables_using_edit), false)));
|
||||
select_items.push_back (MenuElem (_("Select All After Edit Point"), sigc::bind (sigc::mem_fun(*this, &Editor::select_all_selectables_using_edit), true, true)));
|
||||
select_items.push_back (MenuElem (_("Select All Before Edit Point"), sigc::bind (sigc::mem_fun(*this, &Editor::select_all_selectables_using_edit), false, true)));
|
||||
select_items.push_back (MenuElem (_("Select All After Playhead"), sigc::bind (sigc::mem_fun(*this, &Editor::select_all_selectables_using_cursor), playhead_cursor, true)));
|
||||
select_items.push_back (MenuElem (_("Select All Before Playhead"), sigc::bind (sigc::mem_fun(*this, &Editor::select_all_selectables_using_cursor), playhead_cursor, false)));
|
||||
select_items.push_back (MenuElem (_("Select All Between Playhead and Edit Point"), sigc::bind (sigc::mem_fun(*this, &Editor::select_all_selectables_between), false)));
|
||||
@@ -2013,8 +2013,8 @@ Editor::add_bus_context_items (Menu_Helpers::MenuList& edit_items)
|
||||
select_items.push_back (MenuElem (_("Invert Selection in Track"), sigc::mem_fun(*this, &Editor::invert_selection_in_track)));
|
||||
select_items.push_back (MenuElem (_("Invert Selection"), sigc::mem_fun(*this, &Editor::invert_selection)));
|
||||
select_items.push_back (SeparatorElem());
|
||||
select_items.push_back (MenuElem (_("Select All After Edit Point"), sigc::bind (sigc::mem_fun(*this, &Editor::select_all_selectables_using_edit), true)));
|
||||
select_items.push_back (MenuElem (_("Select All Before Edit Point"), sigc::bind (sigc::mem_fun(*this, &Editor::select_all_selectables_using_edit), false)));
|
||||
select_items.push_back (MenuElem (_("Select All After Edit Point"), sigc::bind (sigc::mem_fun(*this, &Editor::select_all_selectables_using_edit), true, true)));
|
||||
select_items.push_back (MenuElem (_("Select All Before Edit Point"), sigc::bind (sigc::mem_fun(*this, &Editor::select_all_selectables_using_edit), false, true)));
|
||||
select_items.push_back (MenuElem (_("Select All After Playhead"), sigc::bind (sigc::mem_fun(*this, &Editor::select_all_selectables_using_cursor), playhead_cursor, true)));
|
||||
select_items.push_back (MenuElem (_("Select All Before Playhead"), sigc::bind (sigc::mem_fun(*this, &Editor::select_all_selectables_using_cursor), playhead_cursor, false)));
|
||||
|
||||
|
||||
@@ -1035,7 +1035,7 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
|
||||
void selected_marker_to_selection_end ();
|
||||
|
||||
void select_all_selectables_using_cursor (EditorCursor *, bool);
|
||||
void select_all_selectables_using_edit (bool);
|
||||
void select_all_selectables_using_edit (bool, bool);
|
||||
void select_all_selectables_between (bool within);
|
||||
void select_range_between ();
|
||||
|
||||
|
||||
@@ -201,10 +201,10 @@ Editor::register_actions ()
|
||||
reg_sens (editor_actions, "select-punch-range", _("Set Range to Punch Range"), sigc::mem_fun(*this, &Editor::set_selection_from_punch));
|
||||
reg_sens (editor_actions, "select-from-regions", _("Set Range to Selected Regions"), sigc::mem_fun(*this, &Editor::set_selection_from_region));
|
||||
|
||||
reg_sens (editor_actions, "select-all-after-edit-cursor", _("Select All After Edit Point"), sigc::bind (sigc::mem_fun(*this, &Editor::select_all_selectables_using_edit), true));
|
||||
reg_sens (editor_actions, "alternate-select-all-after-edit-cursor", _("Select All After Edit Point"), sigc::bind (sigc::mem_fun(*this, &Editor::select_all_selectables_using_edit), true));
|
||||
reg_sens (editor_actions, "select-all-before-edit-cursor", _("Select All Before Edit Point"), sigc::bind (sigc::mem_fun(*this, &Editor::select_all_selectables_using_edit), false));
|
||||
reg_sens (editor_actions, "alternate-select-all-before-edit-cursor", _("Select All Before Edit Point"), sigc::bind (sigc::mem_fun(*this, &Editor::select_all_selectables_using_edit), false));
|
||||
reg_sens (editor_actions, "select-all-after-edit-cursor", _("Select All After Edit Point"), sigc::bind (sigc::mem_fun(*this, &Editor::select_all_selectables_using_edit), true, false));
|
||||
reg_sens (editor_actions, "alternate-select-all-after-edit-cursor", _("Select All After Edit Point"), sigc::bind (sigc::mem_fun(*this, &Editor::select_all_selectables_using_edit), true, false));
|
||||
reg_sens (editor_actions, "select-all-before-edit-cursor", _("Select All Before Edit Point"), sigc::bind (sigc::mem_fun(*this, &Editor::select_all_selectables_using_edit), false, false));
|
||||
reg_sens (editor_actions, "alternate-select-all-before-edit-cursor", _("Select All Before Edit Point"), sigc::bind (sigc::mem_fun(*this, &Editor::select_all_selectables_using_edit), false, false));
|
||||
|
||||
reg_sens (editor_actions, "select-all-between-cursors", _("Select All Overlapping Edit Range"), sigc::bind (sigc::mem_fun(*this, &Editor::select_all_selectables_between), false));
|
||||
reg_sens (editor_actions, "select-all-within-cursors", _("Select All Inside Edit Range"), sigc::bind (sigc::mem_fun(*this, &Editor::select_all_selectables_between), true));
|
||||
|
||||
@@ -1819,17 +1819,17 @@ Editor::select_all_selectables_using_cursor (EditorCursor *cursor, bool after)
|
||||
}
|
||||
|
||||
void
|
||||
Editor::select_all_selectables_using_edit (bool after)
|
||||
Editor::select_all_selectables_using_edit (bool after, bool from_context_menu)
|
||||
{
|
||||
framepos_t start;
|
||||
framepos_t end;
|
||||
list<Selectable *> touched;
|
||||
|
||||
if (after) {
|
||||
start = get_preferred_edit_position(EDIT_IGNORE_NONE, true);
|
||||
start = get_preferred_edit_position(EDIT_IGNORE_NONE, from_context_menu);
|
||||
end = _session->current_end_frame();
|
||||
} else {
|
||||
if ((end = get_preferred_edit_position(EDIT_IGNORE_NONE, true)) > 1) {
|
||||
if ((end = get_preferred_edit_position(EDIT_IGNORE_NONE, from_context_menu)) > 1) {
|
||||
start = 0;
|
||||
end -= 1;
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user