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
This commit is contained in:
Paul Davis 2007-05-16 02:43:06 +00:00
parent 45f59d0c04
commit dcaa9cd70d
4 changed files with 11 additions and 13 deletions

View file

@ -427,7 +427,7 @@ NewSessionDialog::NewSessionDialog()
m_limit_output_ports->signal_clicked().connect (mem_fun (*this, &NewSessionDialog::limit_outputs_clicked)); 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_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_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_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->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)); m_treeview->signal_row_activated().connect (mem_fun (*this, &NewSessionDialog::recent_row_activated));
@ -591,8 +591,8 @@ NewSessionDialog::reset_name()
} }
bool void
NewSessionDialog::entry_key_release (GdkEventKey* ev) NewSessionDialog::on_new_session_name_entry_changed ()
{ {
if (m_name->get_text() != "") { if (m_name->get_text() != "") {
set_response_sensitive (Gtk::RESPONSE_OK, true); set_response_sensitive (Gtk::RESPONSE_OK, true);
@ -600,7 +600,6 @@ NewSessionDialog::entry_key_release (GdkEventKey* ev)
} else { } else {
set_response_sensitive (Gtk::RESPONSE_OK, false); set_response_sensitive (Gtk::RESPONSE_OK, false);
} }
return true;
} }
void void

View file

@ -179,7 +179,7 @@ protected:
return cmp_nocase(a.first, b.first) == -1; 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 notebook_page_changed (GtkNotebookPage*, uint);
void treeview_selection_changed (); void treeview_selection_changed ();
void file_chosen (); void file_chosen ();

View file

@ -53,11 +53,12 @@ class Prompter : public Gtk::Dialog
void change_labels (std::string ok, std::string cancel); void change_labels (std::string ok, std::string cancel);
void get_result (std::string &str, bool strip=true); void get_result (std::string &str, bool strip=true);
bool maybe_allow_response (GdkEventKey* );
protected: protected:
Gtk::Entry& the_entry() { return entry; } Gtk::Entry& the_entry() { return entry; }
void on_entry_changed ();
private: private:
Gtk::Entry entry; Gtk::Entry entry;
Gtk::HBox entryBox; Gtk::HBox entryBox;

View file

@ -70,7 +70,7 @@ Prompter::init ()
get_vbox()->pack_start (entryBox); get_vbox()->pack_start (entryBox);
show_all_children(); 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)); 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 void
Prompter::maybe_allow_response (GdkEventKey* ev) Prompter::on_entry_changed ()
{ {
/* /*
This is set up so that entering text in the entry This is set up so that entering text in the entry
field makes the RESPONSE_ACCEPT button active. field makes the RESPONSE_ACCEPT button active.
Of course if you haven't added a RESPONSE_ACCEPT Of course if you haven't added a RESPONSE_ACCEPT
button, nothing will happen at all. button, nothing will happen at all.
*/ */
if (entry.get_text() != "") { if (entry.get_text() != "") {
set_response_sensitive (Gtk::RESPONSE_ACCEPT, true); set_response_sensitive (Gtk::RESPONSE_ACCEPT, true);
set_default_response (Gtk::RESPONSE_ACCEPT); set_default_response (Gtk::RESPONSE_ACCEPT);
} else { } else {
set_response_sensitive (Gtk::RESPONSE_ACCEPT, false); set_response_sensitive (Gtk::RESPONSE_ACCEPT, false);
} }
return true;
} }