From da7eea23c7060f609c8636de6b0d64f13d7c2674 Mon Sep 17 00:00:00 2001 From: mitchell <70453897+667e-11@users.noreply.github.com> Date: Thu, 5 Feb 2009 00:29:22 -0500 Subject: Respond to GtkComboBoxEntry's "changed" event with PM entry activation. Since every keypress causes "changed" to fire, the file browser should only populate the PM view if the current filepath is a valid directory. --- src/textadept.c | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'src') diff --git a/src/textadept.c b/src/textadept.c index 9ad44010..cd823e86 100644 --- a/src/textadept.c +++ b/src/textadept.c @@ -38,6 +38,7 @@ static int pm_search_equal_func(GtkTreeModel *model, int col, const char *key, static int pm_sort_iter_compare_func(GtkTreeModel *model, GtkTreeIter *a, GtkTreeIter *b, gpointer); static void pm_entry_activated(GtkWidget *widget, gpointer); +static void pm_entry_changed(GtkComboBoxEntry *widget, gpointer); static gbool pm_keypress(GtkWidget *, GdkEventKey *event, gpointer); static void pm_row_expanded(GtkTreeView *, GtkTreeIter *iter, GtkTreePath *path, gpointer); @@ -625,6 +626,7 @@ GtkWidget *pm_create_ui() { gtk_box_pack_start(GTK_BOX(pm_container), scrolled, TRUE, TRUE, 0); signal(pm_entry, "activate", pm_entry_activated); + signal(pm_combo, "changed", pm_entry_changed); signal(pm_entry, "key_press_event", pm_keypress); signal(pm_view, "key_press_event", pm_keypress); signal(pm_view, "row_expanded", pm_row_expanded); @@ -774,6 +776,15 @@ static void pm_entry_activated(GtkWidget *widget, gpointer) { if (l_pm_get_contents_for(entry_text, false)) l_pm_populate(NULL); } +/** + * Signal for a change of the text in the Project Manager entry. + * Calls pm_entry_activated to populate the treeview. + * @see pm_entry_activated + */ +static void pm_entry_changed(GtkComboBoxEntry *widget, gpointer) { + pm_entry_activated(gtk_bin_get_child(GTK_BIN(widget)), NULL); +} + /** * Signal for a Project Manager keypress. * Currently handled keypresses: -- cgit v1.2.3