Mercurial > pidgin
diff console/libgnt/gntwidget.c @ 14343:0387a167f342
[gaim-migrate @ 17044]
A WM can now act on keystrokes. As an example, the sample WM will toggle
the buddylist on pressing Alt+b.
Mouse clicking and scrolling is now supported in most/all widgets.
To use a WM, you need to add "wm=/path/to/wm.so" under [general] in ~/.gntrc.
committer: Tailor Script <tailor@pidgin.im>
author | Sadrul Habib Chowdhury <imadil@gmail.com> |
---|---|
date | Sat, 26 Aug 2006 12:54:39 +0000 |
parents | b1b76fb9c739 |
children | 3ac156db9cb6 |
line wrap: on
line diff
--- a/console/libgnt/gntwidget.c Sat Aug 26 07:11:55 2006 +0000 +++ b/console/libgnt/gntwidget.c Sat Aug 26 12:54:39 2006 +0000 @@ -19,6 +19,7 @@ SIG_CONFIRM_SIZE, SIG_SIZE_CHANGED, SIG_POSITION, + SIG_CLICKED, SIGS }; @@ -116,6 +117,7 @@ klass->key_pressed = NULL; klass->activate = NULL; + klass->clicked = NULL; signals[SIG_DESTROY] = g_signal_new("destroy", @@ -214,6 +216,15 @@ gnt_closure_marshal_BOOLEAN__STRING, G_TYPE_BOOLEAN, 1, G_TYPE_STRING); + signals[SIG_CLICKED] = + g_signal_new("clicked", + G_TYPE_FROM_CLASS(klass), + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET(GntWidgetClass, clicked), + gnt_boolean_handled_accumulator, NULL, + gnt_closure_marshal_BOOLEAN__INT_INT_INT, + G_TYPE_BOOLEAN, 3, G_TYPE_INT, G_TYPE_INT, G_TYPE_INT); + DEBUG; } @@ -375,6 +386,14 @@ return ret; } +gboolean +gnt_widget_clicked(GntWidget *widget, GntMouseEvent event, int x, int y) +{ + gboolean ret; + g_signal_emit(widget, signals[SIG_CLICKED], 0, event, x, y, &ret); + return ret; +} + void gnt_widget_expose(GntWidget *widget, int x, int y, int width, int height) {