ui: mixer: vca: bring vertical button context menu on button press instead of release (like everywhere else), this also fixe renaming on double click

This commit is contained in:
jean-emmanuel 2023-12-13 14:27:01 +01:00 committed by Robin Gareus
parent 097bdc13f9
commit 2f29483ac2
Signed by: rgareus
GPG Key ID: A090BCE02CF57F04
2 changed files with 12 additions and 2 deletions

View File

@ -119,7 +119,9 @@ VCAMasterStrip::VCAMasterStrip (Session* s, std::shared_ptr<VCA> v)
vertical_button.set_angle (90);
vertical_button.set_layout_font (UIConfiguration::instance().get_NormalBoldFont());
vertical_button.signal_button_press_event().connect (sigc::ptr_fun (&no_propagate), false);
vertical_button.signal_button_press_event().connect (sigc::mem_fun (*this, &VCAMasterStrip::vertical_button_press), false);
vertical_button.signal_button_release_event().connect (sigc::mem_fun (*this, &VCAMasterStrip::vertical_button_release), false);
vertical_button.set_fallthrough_to_parent (true);
vertical_button.set_active_color (_vca->presentation_info().color ());
set_tooltip (vertical_button, _("Click to show assigned channels only")); /* tooltip updated dynamically */
@ -390,7 +392,7 @@ VCAMasterStrip::solo_changed ()
}
bool
VCAMasterStrip::vertical_button_release (GdkEventButton* ev)
VCAMasterStrip::vertical_button_press (GdkEventButton* ev)
{
if (ev->button == 1 && ev->type == GDK_2BUTTON_PRESS) {
start_name_edit ();
@ -402,9 +404,16 @@ VCAMasterStrip::vertical_button_release (GdkEventButton* ev)
build_context_menu ();
}
context_menu->popup (ev->time, ev->time);
return false;
return true;
}
return false;
}
bool
VCAMasterStrip::vertical_button_release (GdkEventButton* ev)
{
if (ev->button == 1) {
spill ();
}

View File

@ -95,6 +95,7 @@ private:
void unassign ();
void start_name_edit ();
void finish_name_edit (std::string, int);
bool vertical_button_press (GdkEventButton*);
bool vertical_button_release (GdkEventButton*);
bool number_button_press (GdkEventButton*);
void vca_property_changed (PBD::PropertyChange const & what_changed);