diff options
Diffstat (limited to 'libs/gtkmm2ext/binding_proxy.cc')
-rw-r--r-- | libs/gtkmm2ext/binding_proxy.cc | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/libs/gtkmm2ext/binding_proxy.cc b/libs/gtkmm2ext/binding_proxy.cc index a29cb41632..3a2f5bbbc8 100644 --- a/libs/gtkmm2ext/binding_proxy.cc +++ b/libs/gtkmm2ext/binding_proxy.cc @@ -62,7 +62,8 @@ BindingProxy::button_press_handler (GdkEventButton *ev) if (Controllable::StartLearning (&controllable)) { string prompt = _("operate controller now"); prompter.set_text (prompt); - prompter.show_all (); + prompter.touch (); // shows popup + learning_connection = controllable.LearningFinished.connect (mem_fun (*this, &BindingProxy::learning_finished)); } return true; } @@ -70,9 +71,18 @@ BindingProxy::button_press_handler (GdkEventButton *ev) return false; } +void +BindingProxy::learning_finished () +{ + learning_connection.disconnect (); + prompter.touch (); // hides popup +} + + bool BindingProxy::prompter_hiding (GdkEventAny *ev) { + learning_connection.disconnect (); Controllable::StopLearning (&controllable); return false; } |