Updating branch refs/heads/master to ff9f26a33fc662129fa61078e10573098e81e634 (commit) from 7307f54ea39f376d6938f81ea1712e8ce49f7af9 (commit)
commit ff9f26a33fc662129fa61078e10573098e81e634 Author: Lionel Le Folgoc <lio...@lefolgoc.net> Date: Thu Feb 24 22:15:39 2011 +0100 relay the 'scroll-event' signals to the indicators (used e.g. by indicator-sound to change the volume). panel-plugin/indicator.c | 18 ++++++++++++++++++ 1 files changed, 18 insertions(+), 0 deletions(-) diff --git a/panel-plugin/indicator.c b/panel-plugin/indicator.c index 52b8ece..7c2ed6f 100644 --- a/panel-plugin/indicator.c +++ b/panel-plugin/indicator.c @@ -308,12 +308,29 @@ indicator_construct (XfcePanelPlugin *plugin) } +static gboolean +entry_scrolled (GtkWidget *menuitem, GdkEventScroll *event, gpointer data) +{ + IndicatorObject *io = g_object_get_data (G_OBJECT (menuitem), "indicator-custom-object-data"); + IndicatorObjectEntry *entry = g_object_get_data (G_OBJECT (menuitem), "indicator-custom-entry-data"); + + g_return_val_if_fail(INDICATOR_IS_OBJECT(io), FALSE); + + g_signal_emit_by_name (io, "scroll", 1, event->direction); + g_signal_emit_by_name (io, "scroll-entry", entry, 1, event->direction); + + return FALSE; +} + + static void entry_added (IndicatorObject * io, IndicatorObjectEntry * entry, gpointer user_data) { GtkWidget * menuitem = gtk_menu_item_new(); GtkWidget * hbox = gtk_hbox_new(FALSE, 3); + g_signal_connect(G_OBJECT(menuitem), "scroll-event", G_CALLBACK(entry_scrolled), entry); + if (entry->image != NULL) gtk_box_pack_start(GTK_BOX(hbox), GTK_WIDGET(entry->image), FALSE, FALSE, 0); @@ -329,6 +346,7 @@ entry_added (IndicatorObject * io, IndicatorObjectEntry * entry, gpointer user_d gtk_menu_shell_append(GTK_MENU_SHELL(user_data), menuitem); gtk_widget_show(menuitem); + g_object_set_data(G_OBJECT(menuitem), "indicator-custom-object-data", io); g_object_set_data(G_OBJECT(menuitem), "indicator-custom-entry-data", entry); } _______________________________________________ Xfce4-commits mailing list Xfce4-commits@xfce.org http://foo-projects.org/mailman/listinfo/xfce4-commits