aboutsummaryrefslogtreecommitdiff
path: root/libindicator
diff options
context:
space:
mode:
authorTed Gould <ted@gould.cx>2010-09-16 16:34:21 -0500
committerTed Gould <ted@gould.cx>2010-09-16 16:34:21 -0500
commitebe26f6bfd0c74231864c9979d972bf8b944c7f5 (patch)
tree54ad85939bca8b212fcfafc5616f1e79f5733b86 /libindicator
parent0bcacdcdc45b229e955d9e9d748580f4c3fb3fd1 (diff)
parent6269aec66333ed1e308ebc22182ceaa57217ad36 (diff)
downloadlibayatana-indicator-ebe26f6bfd0c74231864c9979d972bf8b944c7f5.tar.gz
libayatana-indicator-ebe26f6bfd0c74231864c9979d972bf8b944c7f5.tar.bz2
libayatana-indicator-ebe26f6bfd0c74231864c9979d972bf8b944c7f5.zip
* Upstream Merge
* Adding a function to signal a menu is shown
Diffstat (limited to 'libindicator')
-rw-r--r--libindicator/indicator-object.c25
-rw-r--r--libindicator/indicator-object.h9
2 files changed, 34 insertions, 0 deletions
diff --git a/libindicator/indicator-object.c b/libindicator/indicator-object.c
index a5fd740..41484a6 100644
--- a/libindicator/indicator-object.c
+++ b/libindicator/indicator-object.c
@@ -432,3 +432,28 @@ indicator_object_get_location (IndicatorObject * io, IndicatorObjectEntry * entr
return 0;
}
+
+/**
+ indicator_object_entry_activate:
+ @io: #IndicatorObject to query
+ @entry: The #IndicatorObjectEntry whose entry was shown
+ @timestamp: The X11 timestamp of the event
+
+ Used to signal to the indicator that the menu on an entry has
+ been clicked on. This can either be an activate or a showing
+ of the menu. Note, this does not actually show the menu that's
+ left up to the reader.
+*/
+void
+indicator_object_entry_activate (IndicatorObject * io, IndicatorObjectEntry * entry, guint timestamp)
+{
+ g_return_if_fail(INDICATOR_IS_OBJECT(io));
+ IndicatorObjectClass * class = INDICATOR_OBJECT_GET_CLASS(io);
+
+ if (class->entry_activate != NULL) {
+ return class->entry_activate(io, entry, timestamp);
+ }
+
+ return;
+}
+
diff --git a/libindicator/indicator-object.h b/libindicator/indicator-object.h
index 32a35f9..79f4757 100644
--- a/libindicator/indicator-object.h
+++ b/libindicator/indicator-object.h
@@ -94,6 +94,8 @@ struct _IndicatorObjectClass {
GList * (*get_entries) (IndicatorObject * io);
guint (*get_location) (IndicatorObject * io, IndicatorObjectEntry * entry);
+ void (*entry_activate) (IndicatorObject * io, IndicatorObjectEntry * entry, guint timestamp);
+
/* Signals */
void (*entry_added) (IndicatorObject * io, IndicatorObjectEntry * entry, gpointer user_data);
void (*entry_removed) (IndicatorObject * io, IndicatorObjectEntry * entry, gpointer user_data);
@@ -102,6 +104,12 @@ struct _IndicatorObjectClass {
void (*menu_show) (IndicatorObject * io, IndicatorObjectEntry * entry, guint timestamp, gpointer user_data);
/* Reserved */
+ void (*reserved1) (void);
+ void (*reserved2) (void);
+ void (*reserved3) (void);
+ void (*reserved4) (void);
+ void (*reserved5) (void);
+ void (*reserved6) (void);
};
/**
@@ -132,6 +140,7 @@ IndicatorObject * indicator_object_new_from_file (const gchar * file);
GList * indicator_object_get_entries (IndicatorObject * io);
guint indicator_object_get_location (IndicatorObject * io, IndicatorObjectEntry * entry);
+void indicator_object_entry_activate (IndicatorObject * io, IndicatorObjectEntry * entry, guint timestamp);
G_END_DECLS