diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2008-01-18 19:58:34 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2008-01-18 19:58:34 +0000 |
commit | df1da084eddfb2f9b2016595649b435be43c15d3 (patch) | |
tree | c28f5b9bf75fb803a722a72949f3b68172dc5a0f /libs/gtkmm2ext | |
parent | 7356c65a2a35c8059d5132df7e9f149617952232 (diff) |
permit OSX native package without JACK; prevent excessive track name lengths from messing up JACK port names; splash screen tweaks for OS X; new region gain control operations ; work on AU plugin GUIs (totally incomplete); don't needlessly create prompters in a barcontroller (create on demand)
git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@2938 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/gtkmm2ext')
-rw-r--r-- | libs/gtkmm2ext/binding_proxy.cc | 22 | ||||
-rw-r--r-- | libs/gtkmm2ext/gtk_ui.cc | 3 | ||||
-rw-r--r-- | libs/gtkmm2ext/gtkmm2ext/binding_proxy.h | 4 |
3 files changed, 21 insertions, 8 deletions
diff --git a/libs/gtkmm2ext/binding_proxy.cc b/libs/gtkmm2ext/binding_proxy.cc index 3a2f5bbbc8..90f95f82ef 100644 --- a/libs/gtkmm2ext/binding_proxy.cc +++ b/libs/gtkmm2ext/binding_proxy.cc @@ -32,13 +32,19 @@ using namespace std; using namespace PBD; BindingProxy::BindingProxy (Controllable& c) - : prompter (Gtk::WIN_POS_MOUSE, 30000, false), + : prompter (0), controllable (c), bind_button (2), bind_statemask (Gdk::CONTROL_MASK) { - prompter.signal_unmap_event().connect (mem_fun (*this, &BindingProxy::prompter_hiding)); +} + +BindingProxy::~BindingProxy () +{ + if (prompter) { + delete prompter; + } } void @@ -61,8 +67,12 @@ BindingProxy::button_press_handler (GdkEventButton *ev) if ((ev->state & bind_statemask) && ev->button == bind_button) { if (Controllable::StartLearning (&controllable)) { string prompt = _("operate controller now"); - prompter.set_text (prompt); - prompter.touch (); // shows popup + if (prompter == 0) { + prompter = new PopUp (Gtk::WIN_POS_MOUSE, 30000, false); + prompter->signal_unmap_event().connect (mem_fun (*this, &BindingProxy::prompter_hiding)); + } + prompter->set_text (prompt); + prompter->touch (); // shows popup learning_connection = controllable.LearningFinished.connect (mem_fun (*this, &BindingProxy::learning_finished)); } return true; @@ -75,7 +85,9 @@ void BindingProxy::learning_finished () { learning_connection.disconnect (); - prompter.touch (); // hides popup + if (prompter) { + prompter->touch (); // hides popup + } } diff --git a/libs/gtkmm2ext/gtk_ui.cc b/libs/gtkmm2ext/gtk_ui.cc index eed78e1fdb..58178056c2 100644 --- a/libs/gtkmm2ext/gtk_ui.cc +++ b/libs/gtkmm2ext/gtk_ui.cc @@ -591,7 +591,8 @@ UI::flush_pending () bool UI::just_hide_it (GdkEventAny *ev, Window *win) { - win->hide_all (); + cerr << "++++ JUST HIDING " << win->get_window() << endl; + win->hide (); return true; } diff --git a/libs/gtkmm2ext/gtkmm2ext/binding_proxy.h b/libs/gtkmm2ext/gtkmm2ext/binding_proxy.h index a26c8ace2a..d8f37c7649 100644 --- a/libs/gtkmm2ext/gtkmm2ext/binding_proxy.h +++ b/libs/gtkmm2ext/gtkmm2ext/binding_proxy.h @@ -33,7 +33,7 @@ class BindingProxy : public sigc::trackable { public: BindingProxy (PBD::Controllable&); - virtual ~BindingProxy() {} + virtual ~BindingProxy(); void set_bind_button_state (guint button, guint statemask); void get_bind_button_state (guint &button, guint &statemask); @@ -42,7 +42,7 @@ class BindingProxy : public sigc::trackable protected: - Gtkmm2ext::PopUp prompter; + Gtkmm2ext::PopUp* prompter; PBD::Controllable& controllable; guint bind_button; guint bind_statemask; |