diff options
author | Marco Trevisan (Treviño) <mail@3v1n0.net> | 2011-07-09 03:39:10 +0200 |
---|---|---|
committer | Marco Trevisan (Treviño) <mail@3v1n0.net> | 2011-07-09 03:39:10 +0200 |
commit | 6f1c8e020c0db10a1b2c69c0d2f08a5e69cbc271 (patch) | |
tree | d3f22299558dbbcefa779251a77b52d721dfbdca | |
parent | 5f78a771bfb0a7f334da952eeb9a8b4c049110be (diff) | |
download | libayatana-indicator-6f1c8e020c0db10a1b2c69c0d2f08a5e69cbc271.tar.gz libayatana-indicator-6f1c8e020c0db10a1b2c69c0d2f08a5e69cbc271.tar.bz2 libayatana-indicator-6f1c8e020c0db10a1b2c69c0d2f08a5e69cbc271.zip |
Added support for secondary activate signal: i.e. middle-click
Secondary activate signal is designed to be used for a secondary
kind of activation, for example using middle-click.
It exports both the event time and the mouse position (this is
mostly needed to follow the Status Notifier specifications).
-rw-r--r-- | libindicator/indicator-object-marshal.list | 1 | ||||
-rw-r--r-- | libindicator/indicator-object.c | 24 | ||||
-rw-r--r-- | libindicator/indicator-object.h | 5 |
3 files changed, 27 insertions, 3 deletions
diff --git a/libindicator/indicator-object-marshal.list b/libindicator/indicator-object-marshal.list index 4896ac4..d0b0437 100644 --- a/libindicator/indicator-object-marshal.list +++ b/libindicator/indicator-object-marshal.list @@ -2,3 +2,4 @@ VOID: POINTER, UINT, UINT VOID: POINTER, UINT, ENUM VOID: POINTER, UINT VOID: POINTER, BOOLEAN +VOID: POINTER, UINT, INT, INT diff --git a/libindicator/indicator-object.c b/libindicator/indicator-object.c index 2fe8dd1..04809f1 100644 --- a/libindicator/indicator-object.c +++ b/libindicator/indicator-object.c @@ -63,6 +63,7 @@ enum { MENU_SHOW, SHOW_NOW_CHANGED, ACCESSIBLE_DESC_UPDATE, + SECONDARY_ACTIVATE, LAST_SIGNAL }; @@ -149,8 +150,7 @@ indicator_object_class_init (IndicatorObjectClass *klass) NULL, NULL, _indicator_object_marshal_VOID__POINTER_UINT_UINT, G_TYPE_NONE, 3, G_TYPE_POINTER, G_TYPE_UINT, G_TYPE_UINT, G_TYPE_NONE); - -/** + /** IndicatorObject::entry-scrolled: @arg0: The #IndicatorObject object @arg1: A pointer to the #IndicatorObjectEntry that @@ -169,6 +169,26 @@ indicator_object_class_init (IndicatorObjectClass *klass) _indicator_object_marshal_VOID__POINTER_UINT_ENUM, G_TYPE_NONE, 3, G_TYPE_POINTER, G_TYPE_UINT, INDICATOR_OBJECT_TYPE_SCROLL_DIRECTION); + /** + IndicatorObject::secondary-activate: + @arg0: The #IndicatorObject object + @arg1: A pointer to the #IndicatorObjectEntry that + receives the secondary activate event. + @arg2: The timestamp of the event + @arg3: The X position of the pointer + @arg4: The Y position of the pointer + + When the indicator receives a secondary activation event + from the user, this signal is emitted. + */ + signals[SECONDARY_ACTIVATE] = g_signal_new (INDICATOR_OBJECT_SIGNAL_SECONDARY_ACTIVATE, + G_TYPE_FROM_CLASS(klass), + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET (IndicatorObjectClass, secondary_activate), + NULL, NULL, + _indicator_object_marshal_VOID__POINTER_UINT_INT_INT, + G_TYPE_NONE, 4, G_TYPE_POINTER, G_TYPE_UINT, + G_TYPE_INT, G_TYPE_INT); /** IndicatorObject::menu-show: diff --git a/libindicator/indicator-object.h b/libindicator/indicator-object.h index a285949..097b4a1 100644 --- a/libindicator/indicator-object.h +++ b/libindicator/indicator-object.h @@ -57,6 +57,8 @@ typedef enum #define INDICATOR_OBJECT_SIGNAL_SHOW_NOW_CHANGED_ID (g_signal_lookup(INDICATOR_OBJECT_SIGNAL_SHOW_NOW_CHANGED, INDICATOR_OBJECT_TYPE)) #define INDICATOR_OBJECT_SIGNAL_ACCESSIBLE_DESC_UPDATE "accessible-desc-update" #define INDICATOR_OBJECT_SIGNAL_ACCESSIBLE_DESC_UPDATE_ID (g_signal_lookup(INDICATOR_OBJECT_SIGNAL_ACCESSIBLE_DESC_UPDATE, INDICATOR_OBJECT_TYPE)) +#define INDICATOR_OBJECT_SIGNAL_SECONDARY_ACTIVATE "secondary-activate" +#define INDICATOR_OBJECT_SIGNAL_SECONDARY_ACTIVATE_ID (g_signal_lookup(INDICATOR_OBJECT_SIGNAL_SECONDARY_ACTIVATE, INDICATOR_OBJECT_TYPE)) typedef struct _IndicatorObject IndicatorObject; typedef struct _IndicatorObjectClass IndicatorObjectClass; @@ -99,6 +101,7 @@ typedef struct _IndicatorObjectEntry IndicatorObjectEntry; @entry_scrolled: Slot for #IndicatorObject::entry-scrolled @show_now_changed: Slot for #IndicatorObject::show-now-changed @accessible_desc_update: Slot for #IndicatorObject::accessible-desc-update + @secondary_activate: Slot for #IndicatorObject::secondary-activate */ struct _IndicatorObjectClass { GObjectClass parent_class; @@ -125,6 +128,7 @@ struct _IndicatorObjectClass { void (*menu_show) (IndicatorObject * io, IndicatorObjectEntry * entry, guint timestamp, gpointer user_data); void (*show_now_changed) (IndicatorObject * io, IndicatorObjectEntry * entry, gboolean show_now_state, gpointer user_data); void (*accessible_desc_update) (IndicatorObject * io, IndicatorObjectEntry * entry, gpointer user_data); + void (*secondary_activate) (IndicatorObject * io, IndicatorObjectEntry * entry, guint timestamp, gint x, gint y, gpointer user_data); /* Reserved */ void (*reserved1) (void); @@ -132,7 +136,6 @@ struct _IndicatorObjectClass { void (*reserved3) (void); void (*reserved4) (void); void (*reserved5) (void); - void (*reserved6) (void); }; /** |