Merge lp:~3v1n0/indicator-applet/scroll-event-support into lp:indicator-applet/0.4

Proposed by Marco Trevisan (Treviño)
Status: Merged
Merged at revision: 376
Proposed branch: lp:~3v1n0/indicator-applet/scroll-event-support
Merge into: lp:indicator-applet/0.4
Diff against target: 62 lines (+15/-16)
1 file modified
src/applet-main.c (+15/-16)
To merge this branch: bzr merge lp:~3v1n0/indicator-applet/scroll-event-support
Reviewer Review Type Date Requested Status
Ted Gould (community) Approve
Review via email: mp+47612@code.launchpad.net

Description of the change

indicator-applet (like unity): now sends also a "scroll-entry" signal when an indicator is scrolled, with the target entry as parameter.

This depends on:
lp:~3v1n0/libindicator/scroll-event-support
lp:~3v1n0/indicator-application/scroll-event-support
lp:~3v1n0/libappindicator/scroll-event-support

This is part of the Indicators "scroll-event" support patch, see bug #708180

To post a comment you must log in.
Revision history for this message
Ted Gould (ted) wrote :

Looks good!

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'src/applet-main.c'
2--- src/applet-main.c 2010-11-10 18:28:18 +0000
3+++ src/applet-main.c 2011-01-27 00:02:23 +0000
4@@ -228,6 +228,20 @@
5 return indicator_object_entry_activate(io, (IndicatorObjectEntry *)user_data, gtk_get_current_event_time());
6 }
7
8+static gboolean
9+entry_scrolled (GtkWidget *menuitem, GdkEventScroll *event, gpointer data)
10+{
11+ IndicatorObject *io = g_object_get_data (G_OBJECT (menuitem), MENU_DATA_INDICATOR_OBJECT);
12+ IndicatorObjectEntry *entry = g_object_get_data (G_OBJECT (menuitem), MENU_DATA_INDICATOR_ENTRY);
13+
14+ g_return_val_if_fail(INDICATOR_IS_OBJECT(io), FALSE);
15+
16+ g_signal_emit_by_name (io, "scroll", 1, event->direction);
17+ g_signal_emit_by_name (io, "scroll-entry", entry, 1, event->direction);
18+
19+ return FALSE;
20+}
21+
22 static void
23 entry_added (IndicatorObject * io, IndicatorObjectEntry * entry, GtkWidget * menubar)
24 {
25@@ -243,6 +257,7 @@
26 g_object_set_data (G_OBJECT (menuitem), "box", box);
27
28 g_signal_connect(G_OBJECT(menuitem), "activate", G_CALLBACK(entry_activated), entry);
29+ g_signal_connect(G_OBJECT(menuitem), "scroll-event", G_CALLBACK(entry_scrolled), entry);
30
31 if (entry->image != NULL) {
32 gtk_box_pack_start(GTK_BOX(box), GTK_WIDGET(entry->image), FALSE, FALSE, 1);
33@@ -479,21 +494,6 @@
34 }
35
36 static gboolean
37-menubar_scroll (GtkWidget *widget G_GNUC_UNUSED,
38- GdkEventScroll *event,
39- gpointer data G_GNUC_UNUSED)
40-{
41- GtkWidget *menuitem;
42-
43- menuitem = gtk_get_event_widget ((GdkEvent *)event);
44-
45- IndicatorObject *io = g_object_get_data (G_OBJECT (menuitem), "indicator");
46- g_signal_emit_by_name (io, "scroll", 1, event->direction);
47-
48- return FALSE;
49-}
50-
51-static gboolean
52 menubar_on_expose (GtkWidget * widget,
53 GdkEventExpose *event G_GNUC_UNUSED,
54 GtkWidget * menubar)
55@@ -797,7 +797,6 @@
56 GTK_WIDGET_SET_FLAGS (menubar, GTK_WIDGET_FLAGS(menubar) | GTK_CAN_FOCUS);
57 gtk_widget_set_name(GTK_WIDGET (menubar), "fast-user-switch-menubar");
58 g_signal_connect(menubar, "button-press-event", G_CALLBACK(menubar_press), NULL);
59- g_signal_connect(menubar, "scroll-event", G_CALLBACK (menubar_scroll), NULL);
60 g_signal_connect_after(menubar, "expose-event", G_CALLBACK(menubar_on_expose), menubar);
61 g_signal_connect(applet, "change-orient",
62 G_CALLBACK(panelapplet_reorient_cb), menubar);

Subscribers

People subscribed via source and target branches

to status/vote changes: