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_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

View file

@ -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 ();

View file

@ -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;

View file

@ -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;
}