From 94214ba6e734c470fe59ed1c4b3614455f6b6461 Mon Sep 17 00:00:00 2001 From: Marco Pesenti Gritti Date: Fri, 16 Mar 2007 14:05:44 +0000 Subject: Add button to event info --- (limited to 'lib') diff --git a/lib/python/_sugar.override b/lib/python/_sugar.override index 0911452..5a67260 100644 --- a/lib/python/_sugar.override +++ b/lib/python/_sugar.override @@ -186,7 +186,7 @@ _wrap_sugar_browser_event_tp_getattr(PyObject *self, char *attr) SugarBrowserEvent *event = pyg_boxed_get(self, SugarBrowserEvent); if (!strcmp(attr, "__members__")) - return Py_BuildValue("[s]", "image_uri"); + return Py_BuildValue("[ss]", "image_uri", "button"); if (!strcmp(attr, "image_uri")) { if (event->image_uri) { return PyString_FromString(event->image_uri); @@ -195,6 +195,8 @@ _wrap_sugar_browser_event_tp_getattr(PyObject *self, char *attr) return Py_None; } } + else if (!strcmp(attr, "button")) + return PyInt_FromLong(event->button); return NULL; } diff --git a/lib/src/sugar-browser.cpp b/lib/src/sugar-browser.cpp index a8304fd..1e2a260 100644 --- a/lib/src/sugar-browser.cpp +++ b/lib/src/sugar-browser.cpp @@ -424,8 +424,14 @@ dom_mouse_click_cb(GtkMozEmbed *embed, nsIDOMMouseEvent *mouseEvent) } } + PRUint16 btn = 0; + mouseEvent->GetButton (&btn); + event->button = btn + 1; + g_signal_emit(browser, signals[MOUSE_CLICK], 0, event, &return_value); + sugar_browser_event_free(event); + return return_value; } diff --git a/lib/src/sugar-browser.h b/lib/src/sugar-browser.h index 138b3dd..a598b9b 100644 --- a/lib/src/sugar-browser.h +++ b/lib/src/sugar-browser.h @@ -76,6 +76,7 @@ void sugar_browser_shutdown (void); #define SUGAR_TYPE_BROWSER_EVENT (sugar_browser_event_get_type()) struct _SugarBrowserEvent { + int button; char *image_uri; }; -- cgit v0.9.1