mirror of
https://github.com/Ardour/ardour.git
synced 2026-01-23 05:37:22 +01:00
[Summary]: fix bug #44531 (Transport buttons blink twice when click on them)
This commit is contained in:
parent
56ba944ba0
commit
a86befc9cd
2 changed files with 16 additions and 6 deletions
|
|
@ -790,6 +790,8 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr
|
||||||
int missing_file (ARDOUR::Session*s, std::string str, ARDOUR::DataType type);
|
int missing_file (ARDOUR::Session*s, std::string str, ARDOUR::DataType type);
|
||||||
int ambiguous_file (std::string file, std::vector<std::string> hits);
|
int ambiguous_file (std::string file, std::vector<std::string> hits);
|
||||||
|
|
||||||
|
bool transport_button_press (GdkEventButton*, Glib::RefPtr<Gtk::Action>&);
|
||||||
|
|
||||||
bool click_button_clicked (GdkEventButton *);
|
bool click_button_clicked (GdkEventButton *);
|
||||||
|
|
||||||
Gtk::Adjustment* _dsp_load_adjustment;
|
Gtk::Adjustment* _dsp_load_adjustment;
|
||||||
|
|
|
||||||
|
|
@ -219,15 +219,16 @@ ARDOUR_UI::setup_transport ()
|
||||||
|
|
||||||
act = ActionManager::get_action (X_("Transport"), X_("Stop"));
|
act = ActionManager::get_action (X_("Transport"), X_("Stop"));
|
||||||
stop_button.set_related_action (act);
|
stop_button.set_related_action (act);
|
||||||
editor->get_waves_button ("transport_stop_button").set_related_action (act);
|
editor->get_waves_button ("transport_stop_button").signal_button_press_event().connect (sigc::bind (sigc::mem_fun (*this, &ARDOUR_UI::transport_button_press), act), false);
|
||||||
|
|
||||||
act = ActionManager::get_action (X_("Transport"), X_("Roll"));
|
act = ActionManager::get_action (X_("Transport"), X_("Roll"));
|
||||||
roll_button.set_related_action (act);
|
roll_button.set_related_action (act);
|
||||||
editor->get_waves_button ("transport_play_button").set_related_action (act);
|
editor->get_waves_button ("transport_play_button").signal_button_press_event().connect (sigc::bind (sigc::mem_fun (*this, &ARDOUR_UI::transport_button_press), act), false);
|
||||||
|
|
||||||
|
|
||||||
act = ActionManager::get_action (X_("Transport"), X_("Record"));
|
act = ActionManager::get_action (X_("Transport"), X_("Record"));
|
||||||
rec_button.set_related_action (act);
|
rec_button.set_related_action (act);
|
||||||
editor->get_waves_button ("transport_record_button").set_related_action (act);
|
editor->get_waves_button ("transport_record_button").signal_button_press_event().connect (sigc::bind (sigc::mem_fun (*this, &ARDOUR_UI::transport_button_press), act), false);
|
||||||
|
|
||||||
act = ActionManager::get_action (X_("Transport"), X_("GotoStart"));
|
act = ActionManager::get_action (X_("Transport"), X_("GotoStart"));
|
||||||
goto_start_button.set_related_action (act);
|
goto_start_button.set_related_action (act);
|
||||||
|
|
@ -239,8 +240,9 @@ ARDOUR_UI::setup_transport ()
|
||||||
|
|
||||||
act = ActionManager::get_action (X_("Transport"), X_("Loop"));
|
act = ActionManager::get_action (X_("Transport"), X_("Loop"));
|
||||||
auto_loop_button.set_related_action (act);
|
auto_loop_button.set_related_action (act);
|
||||||
editor->get_waves_button ("transport_loop_button").set_related_action (act);
|
editor->get_waves_button ("transport_loop_button").signal_button_press_event().connect (sigc::bind (sigc::mem_fun (*this, &ARDOUR_UI::transport_button_press), act), false);
|
||||||
act = ActionManager::get_action (X_("Transport"), X_("PlaySelection"));
|
|
||||||
|
act = ActionManager::get_action (X_("Transport"), X_("PlaySelection"));
|
||||||
play_selection_button.set_related_action (act);
|
play_selection_button.set_related_action (act);
|
||||||
act = ActionManager::get_action (X_("MIDI"), X_("panic"));
|
act = ActionManager::get_action (X_("MIDI"), X_("panic"));
|
||||||
midi_panic_button.set_related_action (act);
|
midi_panic_button.set_related_action (act);
|
||||||
|
|
@ -559,4 +561,10 @@ ARDOUR_UI::toggle_follow_edits ()
|
||||||
Config->set_follow_edits (tact->get_active ());
|
Config->set_follow_edits (tact->get_active ());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool
|
||||||
|
ARDOUR_UI::transport_button_press (GdkEventButton*, Glib::RefPtr<Gtk::Action>& act)
|
||||||
|
{
|
||||||
|
assert (act);
|
||||||
|
act->activate ();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue