aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authormitchell <70453897+667e-11@users.noreply.github.com>2009-02-05 00:29:22 -0500
committermitchell <70453897+667e-11@users.noreply.github.com>2009-02-05 00:29:22 -0500
commitda7eea23c7060f609c8636de6b0d64f13d7c2674 (patch)
tree757de08bd163056ac62a8bcbec45dcb087a49c9c /src
parent65fecf117e5187750e3f633420a4f7cd86dfaad3 (diff)
downloadtextadept-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.c11
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.