diff options
author | 2009-02-05 00:29:22 -0500 | |
---|---|---|
committer | 2009-02-05 00:29:22 -0500 | |
commit | da7eea23c7060f609c8636de6b0d64f13d7c2674 (patch) | |
tree | 757de08bd163056ac62a8bcbec45dcb087a49c9c /src | |
parent | 65fecf117e5187750e3f633420a4f7cd86dfaad3 (diff) | |
download | textadept-da7eea23c7060f609c8636de6b0d64f13d7c2674.tar.gz textadept-da7eea23c7060f609c8636de6b0d64f13d7c2674.zip |
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.
Diffstat (limited to 'src')
-rw-r--r-- | src/textadept.c | 11 |
1 files changed, 11 insertions, 0 deletions
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); @@ -775,6 +777,15 @@ static void pm_entry_activated(GtkWidget *widget, gpointer) { } /** + * 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: * - Ctrl+Tab - Refocuses the Scintilla view. |