summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2007-05-16 02:43:06 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2007-05-16 02:43:06 +0000
commitdcaa9cd70d04c8f6eb63c814068c9fa5a60adc7e (patch)
tree3e50592c223a089d9467c9844480fafe50c7c2d1
parent45f59d0c04675839eb2613a099d05b70e2e27820 (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.cc7
-rw-r--r--gtk2_ardour/new_session_dialog.h2
-rw-r--r--libs/gtkmm2ext/gtkmm2ext/prompter.h3
-rw-r--r--libs/gtkmm2ext/prompter.cc12
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;
}
-