diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2007-05-16 02:43:06 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2007-05-16 02:43:06 +0000 |
commit | dcaa9cd70d04c8f6eb63c814068c9fa5a60adc7e (patch) | |
tree | 3e50592c223a089d9467c9844480fafe50c7c2d1 | |
parent | 45f59d0c04675839eb2613a099d05b70e2e27820 (diff) |
tim mayberry's patches to fix middle-click pasting ina couple of dialogs (merged from trunk)
git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@1852 d708f5d6-7413-0410-9779-e7cbd77b26cf
-rw-r--r-- | gtk2_ardour/new_session_dialog.cc | 7 | ||||
-rw-r--r-- | gtk2_ardour/new_session_dialog.h | 2 | ||||
-rw-r--r-- | libs/gtkmm2ext/gtkmm2ext/prompter.h | 3 | ||||
-rw-r--r-- | libs/gtkmm2ext/prompter.cc | 12 |
4 files changed, 11 insertions, 13 deletions
diff --git a/gtk2_ardour/new_session_dialog.cc b/gtk2_ardour/new_session_dialog.cc index 13d8123836..f024680c1e 100644 --- a/gtk2_ardour/new_session_dialog.cc +++ b/gtk2_ardour/new_session_dialog.cc @@ -427,7 +427,7 @@ NewSessionDialog::NewSessionDialog() m_limit_output_ports->signal_clicked().connect (mem_fun (*this, &NewSessionDialog::limit_outputs_clicked)); m_create_master_bus->signal_clicked().connect (mem_fun (*this, &NewSessionDialog::master_bus_button_clicked)); m_create_control_bus->signal_clicked().connect (mem_fun (*this, &NewSessionDialog::monitor_bus_button_clicked)); - m_name->signal_key_release_event().connect(mem_fun (*this, &NewSessionDialog::entry_key_release)); + m_name->signal_changed().connect(mem_fun (*this, &NewSessionDialog::on_new_session_name_entry_changed)); m_notebook->signal_switch_page().connect (mem_fun (*this, &NewSessionDialog::notebook_page_changed)); m_treeview->get_selection()->signal_changed().connect (mem_fun (*this, &NewSessionDialog::treeview_selection_changed)); m_treeview->signal_row_activated().connect (mem_fun (*this, &NewSessionDialog::recent_row_activated)); @@ -591,8 +591,8 @@ NewSessionDialog::reset_name() } -bool -NewSessionDialog::entry_key_release (GdkEventKey* ev) +void +NewSessionDialog::on_new_session_name_entry_changed () { if (m_name->get_text() != "") { set_response_sensitive (Gtk::RESPONSE_OK, true); @@ -600,7 +600,6 @@ NewSessionDialog::entry_key_release (GdkEventKey* ev) } else { set_response_sensitive (Gtk::RESPONSE_OK, false); } - return true; } void diff --git a/gtk2_ardour/new_session_dialog.h b/gtk2_ardour/new_session_dialog.h index c22af7561c..8d1ae77358 100644 --- a/gtk2_ardour/new_session_dialog.h +++ b/gtk2_ardour/new_session_dialog.h @@ -179,7 +179,7 @@ protected: return cmp_nocase(a.first, b.first) == -1; } }; - bool entry_key_release (GdkEventKey*); + void on_new_session_name_entry_changed(); void notebook_page_changed (GtkNotebookPage*, uint); void treeview_selection_changed (); void file_chosen (); diff --git a/libs/gtkmm2ext/gtkmm2ext/prompter.h b/libs/gtkmm2ext/gtkmm2ext/prompter.h index 10870ee752..5f71463288 100644 --- a/libs/gtkmm2ext/gtkmm2ext/prompter.h +++ b/libs/gtkmm2ext/gtkmm2ext/prompter.h @@ -53,11 +53,12 @@ class Prompter : public Gtk::Dialog void change_labels (std::string ok, std::string cancel); void get_result (std::string &str, bool strip=true); - bool maybe_allow_response (GdkEventKey* ); protected: Gtk::Entry& the_entry() { return entry; } + void on_entry_changed (); + private: Gtk::Entry entry; Gtk::HBox entryBox; diff --git a/libs/gtkmm2ext/prompter.cc b/libs/gtkmm2ext/prompter.cc index d06204d356..0ff9710338 100644 --- a/libs/gtkmm2ext/prompter.cc +++ b/libs/gtkmm2ext/prompter.cc @@ -70,7 +70,7 @@ Prompter::init () get_vbox()->pack_start (entryBox); show_all_children(); - entry.signal_key_release_event().connect (mem_fun (*this, &Prompter::maybe_allow_response)); + entry.signal_changed().connect (mem_fun (*this, &Prompter::on_entry_changed)); entry.signal_activate().connect (bind (mem_fun (*this, &Prompter::response), Gtk::RESPONSE_ACCEPT)); } @@ -90,22 +90,20 @@ Prompter::get_result (string &str, bool strip) } } -bool -Prompter::maybe_allow_response (GdkEventKey* ev) +void +Prompter::on_entry_changed () { - /* + /* This is set up so that entering text in the entry field makes the RESPONSE_ACCEPT button active. Of course if you haven't added a RESPONSE_ACCEPT button, nothing will happen at all. */ - if (entry.get_text() != "") { + if (entry.get_text() != "") { set_response_sensitive (Gtk::RESPONSE_ACCEPT, true); set_default_response (Gtk::RESPONSE_ACCEPT); } else { set_response_sensitive (Gtk::RESPONSE_ACCEPT, false); } - return true; } - |