fix region action sensitivity issues.
Desensitize all region actions initially, and toggle that state appropriately when region selection changes
This commit is contained in:
parent
295a7dfcf3
commit
da0bd3d8a5
@ -2049,6 +2049,6 @@ Editor::register_region_actions ()
|
|||||||
reg_sens (_region_actions, "choose-top-region", _("Choose Top..."), sigc::bind (sigc::mem_fun (*this, &Editor::change_region_layering_order), false));
|
reg_sens (_region_actions, "choose-top-region", _("Choose Top..."), sigc::bind (sigc::mem_fun (*this, &Editor::change_region_layering_order), false));
|
||||||
reg_sens (_region_actions, "choose-top-region-context-menu", _("Choose Top..."), sigc::bind (sigc::mem_fun (*this, &Editor::change_region_layering_order), true));
|
reg_sens (_region_actions, "choose-top-region-context-menu", _("Choose Top..."), sigc::bind (sigc::mem_fun (*this, &Editor::change_region_layering_order), true));
|
||||||
|
|
||||||
_all_region_actions_sensitized = true;
|
/* desensitize them all by default. region selection will change this */
|
||||||
|
sensitize_all_region_actions (false);
|
||||||
}
|
}
|
||||||
|
@ -1088,7 +1088,6 @@ Editor::sensitize_all_region_actions (bool s)
|
|||||||
void
|
void
|
||||||
Editor::sensitize_the_right_region_actions ()
|
Editor::sensitize_the_right_region_actions ()
|
||||||
{
|
{
|
||||||
|
|
||||||
RegionSelection rs = get_regions_from_selection_and_entered ();
|
RegionSelection rs = get_regions_from_selection_and_entered ();
|
||||||
sensitize_all_region_actions (!rs.empty ());
|
sensitize_all_region_actions (!rs.empty ());
|
||||||
|
|
||||||
@ -1373,11 +1372,15 @@ Editor::region_selection_changed ()
|
|||||||
_regions->block_change_connection (false);
|
_regions->block_change_connection (false);
|
||||||
editor_regions_selection_changed_connection.block(false);
|
editor_regions_selection_changed_connection.block(false);
|
||||||
|
|
||||||
if (!_all_region_actions_sensitized) {
|
if (selection->regions.empty()) {
|
||||||
/* This selection change might have changed what region actions
|
sensitize_all_region_actions (false);
|
||||||
are allowed, so sensitize them all in case a key is pressed.
|
} else {
|
||||||
*/
|
if (!_all_region_actions_sensitized) {
|
||||||
sensitize_all_region_actions (true);
|
/* This selection change might have changed what region actions
|
||||||
|
are allowed, so sensitize them all in case a key is pressed.
|
||||||
|
*/
|
||||||
|
sensitize_all_region_actions (true);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_session && !_session->transport_rolling() && !selection->regions.empty()) {
|
if (_session && !_session->transport_rolling() && !selection->regions.empty()) {
|
||||||
|
Loading…
Reference in New Issue
Block a user