Mercurial > pidgin
comparison console/libgnt/test/tv.c @ 14091:ae4cbed1b309
[gaim-migrate @ 16715]
Add support for tab-completion and save-history in GntEntry.
Also, the keyboard-commands should now work for Xterms.
committer: Tailor Script <tailor@pidgin.im>
author | Sadrul Habib Chowdhury <imadil@gmail.com> |
---|---|
date | Sat, 12 Aug 2006 10:27:29 +0000 |
parents | 27182f83b79b |
children | eaf7f35635bc |
comparison
equal
deleted
inserted
replaced
14090:983fbec46eb0 | 14091:ae4cbed1b309 |
---|---|
12 if (key[0] == '\r' && key[1] == 0) | 12 if (key[0] == '\r' && key[1] == 0) |
13 { | 13 { |
14 gnt_text_view_append_text_with_flags(GNT_TEXT_VIEW(view), | 14 gnt_text_view_append_text_with_flags(GNT_TEXT_VIEW(view), |
15 gnt_entry_get_text(GNT_ENTRY(w)), | 15 gnt_entry_get_text(GNT_ENTRY(w)), |
16 GNT_TEXT_FLAG_HIGHLIGHT); | 16 GNT_TEXT_FLAG_HIGHLIGHT); |
17 gnt_entry_add_to_history(GNT_ENTRY(w), gnt_entry_get_text(GNT_ENTRY(w))); | |
17 gnt_text_view_next_line(GNT_TEXT_VIEW(view)); | 18 gnt_text_view_next_line(GNT_TEXT_VIEW(view)); |
18 gnt_entry_clear(GNT_ENTRY(w)); | 19 gnt_entry_clear(GNT_ENTRY(w)); |
19 if (gnt_text_view_get_lines_below(GNT_TEXT_VIEW(view)) <= 1) | 20 if (gnt_text_view_get_lines_below(GNT_TEXT_VIEW(view)) <= 1) |
20 gnt_text_view_scroll(GNT_TEXT_VIEW(view), 0); | 21 gnt_text_view_scroll(GNT_TEXT_VIEW(view), 0); |
22 gnt_entry_remove_suggest(GNT_ENTRY(w), "acb"); | |
21 | 23 |
22 return TRUE; | 24 return TRUE; |
23 } | 25 } |
24 else if (key[0] == 27) | 26 else if (key[0] == 27) |
25 { | 27 { |
26 if (strcmp(key+1, GNT_KEY_UP)) | 28 if (strcmp(key+1, GNT_KEY_UP) == 0) |
29 gnt_text_view_scroll(GNT_TEXT_VIEW(view), -1); | |
30 else if (strcmp(key+1, GNT_KEY_DOWN) == 0) | |
27 gnt_text_view_scroll(GNT_TEXT_VIEW(view), 1); | 31 gnt_text_view_scroll(GNT_TEXT_VIEW(view), 1); |
28 else if (strcmp(key+1, GNT_KEY_DOWN)) | 32 else |
29 gnt_text_view_scroll(GNT_TEXT_VIEW(view), -1); | 33 return FALSE; |
34 return TRUE; | |
30 } | 35 } |
31 | 36 |
32 return FALSE; | 37 return FALSE; |
33 } | 38 } |
34 | 39 |
51 | 56 |
52 entry = gnt_entry_new(NULL); | 57 entry = gnt_entry_new(NULL); |
53 gnt_widget_set_name(entry, "entry"); | 58 gnt_widget_set_name(entry, "entry"); |
54 GNT_WIDGET_SET_FLAGS(entry, GNT_WIDGET_CAN_TAKE_FOCUS); | 59 GNT_WIDGET_SET_FLAGS(entry, GNT_WIDGET_CAN_TAKE_FOCUS); |
55 | 60 |
61 gnt_entry_set_word_suggest(GNT_ENTRY(entry), TRUE); | |
62 gnt_entry_set_always_suggest(GNT_ENTRY(entry), FALSE); | |
63 gnt_entry_add_suggest(GNT_ENTRY(entry), "a"); | |
64 gnt_entry_add_suggest(GNT_ENTRY(entry), "ab"); | |
65 gnt_entry_add_suggest(GNT_ENTRY(entry), "abc"); | |
66 gnt_entry_add_suggest(GNT_ENTRY(entry), "abcd"); | |
67 gnt_entry_add_suggest(GNT_ENTRY(entry), "abcde"); | |
68 gnt_entry_add_suggest(GNT_ENTRY(entry), "acb"); | |
69 | |
56 view = gnt_text_view_new(); | 70 view = gnt_text_view_new(); |
57 gnt_widget_set_name(view, "view"); | 71 gnt_widget_set_name(view, "view"); |
58 | 72 |
59 gnt_widget_set_size(view, 20, 15); | 73 gnt_widget_set_size(view, 20, 15); |
60 gnt_widget_set_size(entry, 20, 1); | 74 gnt_widget_set_size(entry, 20, 1); |
63 gnt_box_add_widget(GNT_BOX(hbox), entry); | 77 gnt_box_add_widget(GNT_BOX(hbox), entry); |
64 gnt_box_add_widget(GNT_BOX(hbox), gnt_button_new("OK")); | 78 gnt_box_add_widget(GNT_BOX(hbox), gnt_button_new("OK")); |
65 | 79 |
66 gnt_widget_show(hbox); | 80 gnt_widget_show(hbox); |
67 | 81 |
68 g_signal_connect(G_OBJECT(entry), "key_pressed", G_CALLBACK(key_pressed), view); | 82 gnt_entry_set_history_length(GNT_ENTRY(entry), -1); |
83 g_signal_connect_after(G_OBJECT(entry), "key_pressed", G_CALLBACK(key_pressed), view); | |
69 | 84 |
70 #ifdef STANDALONE | 85 #ifdef STANDALONE |
71 gnt_main(); | 86 gnt_main(); |
72 | 87 |
73 gnt_quit(); | 88 gnt_quit(); |