Mercurial > pidgin.yaz
diff finch/libgnt/gnttextview.c @ 16124:ab3f93232a2d
Add a utility function to assist scrolling in a textview.
author | Sadrul Habib Chowdhury <imadil@gmail.com> |
---|---|
date | Sun, 15 Apr 2007 05:42:14 +0000 |
parents | 1f24fd9a6237 |
children | 8410511f4dbb |
line wrap: on
line diff
--- a/finch/libgnt/gnttextview.c Sun Apr 15 05:28:29 2007 +0000 +++ b/finch/libgnt/gnttextview.c Sun Apr 15 05:42:14 2007 +0000 @@ -739,3 +739,25 @@ return count; } +static gboolean +scroll_tv(GntWidget *wid, const char *key, GntTextView *tv) +{ + if (strcmp(key, GNT_KEY_PGUP) == 0) { + gnt_text_view_scroll(tv, -(GNT_WIDGET(tv)->priv.height - 2)); + } else if (strcmp(key, GNT_KEY_PGDOWN) == 0) { + gnt_text_view_scroll(tv, GNT_WIDGET(tv)->priv.height - 2); + } else if (strcmp(key, GNT_KEY_DOWN) == 0) { + gnt_text_view_scroll(tv, 1); + } else if (strcmp(key, GNT_KEY_UP) == 0) { + gnt_text_view_scroll(tv, -1); + } else { + return FALSE; + } + return TRUE; +} + +void gnt_text_view_attach_scroll_widget(GntTextView *view, GntWidget *widget) +{ + g_signal_connect(G_OBJECT(widget), "key_pressed", G_CALLBACK(scroll_tv), view); +} +