diff finch/libgnt/test/tv.c @ 18510:f104e1d45d85

Changes to the test apps.
author Sadrul Habib Chowdhury <imadil@gmail.com>
date Fri, 13 Jul 2007 01:30:08 +0000
parents 0e3a8505ebbe
children fda2d2d99850
line wrap: on
line diff
--- a/finch/libgnt/test/tv.c	Fri Jul 13 01:27:31 2007 +0000
+++ b/finch/libgnt/test/tv.c	Fri Jul 13 01:30:08 2007 +0000
@@ -23,6 +23,17 @@
 
 		return TRUE;
 	}
+    else if (strcmp(key, "\033" "e") == 0)
+    {
+        if (fork() == 0) {
+            endwin();
+            printf("%s\n", GNT_TEXT_VIEW(view)->string->str);
+            fflush(stdout);
+            getch();
+            refresh();
+            exit(0);
+        }
+    }
 	else if (key[0] == 27)
 	{
 		if (strcmp(key, GNT_KEY_UP) == 0)
@@ -37,6 +48,13 @@
 	return FALSE;
 }
 
+static void
+completion_cb(GntEntry *entry, const char *start, const char *end)
+{
+	if (start == entry->start)
+		gnt_widget_key_pressed(GNT_WIDGET(entry), ": ");
+}
+
 int main()
 {
 	GntWidget *hbox, *entry, *view;
@@ -58,6 +76,8 @@
 	gnt_widget_set_name(entry, "entry");
 	GNT_WIDGET_SET_FLAGS(entry, GNT_WIDGET_CAN_TAKE_FOCUS);
 
+	g_signal_connect(G_OBJECT(entry), "completion", G_CALLBACK(completion_cb), NULL);
+
 	gnt_entry_set_word_suggest(GNT_ENTRY(entry), TRUE);
 	gnt_entry_set_always_suggest(GNT_ENTRY(entry), FALSE);
 	gnt_entry_add_suggest(GNT_ENTRY(entry), "a");
@@ -81,6 +101,7 @@
 	gnt_widget_show(hbox);
 
 	gnt_entry_set_history_length(GNT_ENTRY(entry), -1);
+	gnt_text_view_attach_pager_widget(GNT_TEXT_VIEW(view), entry);
 	g_signal_connect_after(G_OBJECT(entry), "key_pressed", G_CALLBACK(key_pressed), view);
 
 	gnt_text_view_append_text_with_flags(GNT_TEXT_VIEW(view), "\n", GNT_TEXT_FLAG_NORMAL);