Merge lp:~bratsche/ido/reverse-scroll-events into lp:ido/0.3

Proposed by Cody Russell
Status: Merged
Merged at revision: not available
Proposed branch: lp:~bratsche/ido/reverse-scroll-events
Merge into: lp:ido/0.3
Diff against target: 70 lines (+25/-2)
1 file modified
src/idoscalemenuitem.c (+25/-2)
To merge this branch: bzr merge lp:~bratsche/ido/reverse-scroll-events
Reviewer Review Type Date Requested Status
Conor Curran (community) Approve
Review via email: mp+19256@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Cody Russell (bratsche) wrote :

This branch allows the scale menuitem to support reversing scroll events. By default the scrollwheel-up is moving the scale direction to the left and, in indicator-sound, causing the volume to go down.

Revision history for this message
Conor Curran (cjcurran) wrote :

Necessary for the indicator-sound spec.

Revision history for this message
Conor Curran (cjcurran) wrote :

Necessary for the indicator-sound spec.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'src/idoscalemenuitem.c'
--- src/idoscalemenuitem.c 2010-02-11 23:09:46 +0000
+++ src/idoscalemenuitem.c 2010-02-13 06:46:16 +0000
@@ -66,11 +66,13 @@
66 GtkAllocation child_allocation;66 GtkAllocation child_allocation;
67 gdouble left_padding;67 gdouble left_padding;
68 gdouble right_padding;68 gdouble right_padding;
69 gboolean reverse_scroll;
69};70};
7071
71enum {72enum {
72 PROP_0,73 PROP_0,
73 PROP_ADJUSTMENT74 PROP_ADJUSTMENT,
75 PROP_REVERSE_SCROLL_EVENTS
74};76};
7577
76G_DEFINE_TYPE (IdoScaleMenuItem, ido_scale_menu_item, GTK_TYPE_MENU_ITEM)78G_DEFINE_TYPE (IdoScaleMenuItem, ido_scale_menu_item, GTK_TYPE_MENU_ITEM)
@@ -88,7 +90,13 @@
88ido_scale_menu_item_scroll_event (GtkWidget *menuitem,90ido_scale_menu_item_scroll_event (GtkWidget *menuitem,
89 GdkEventScroll *event)91 GdkEventScroll *event)
90{92{
91 GtkWidget *scale = GET_PRIVATE (IDO_SCALE_MENU_ITEM (menuitem))->scale;93 IdoScaleMenuItemPrivate *priv = GET_PRIVATE (menuitem);
94 GtkWidget *scale = priv->scale;
95
96 if (priv->reverse_scroll)
97 {
98 event->direction = !event->direction;
99 }
92100
93 gtk_widget_event (scale,101 gtk_widget_event (scale,
94 ((GdkEvent *)(void*)(event)));102 ((GdkEvent *)(void*)(event)));
@@ -174,6 +182,14 @@
174 GTK_TYPE_ADJUSTMENT,182 GTK_TYPE_ADJUSTMENT,
175 G_PARAM_READWRITE));183 G_PARAM_READWRITE));
176184
185 g_object_class_install_property (gobject_class,
186 PROP_REVERSE_SCROLL_EVENTS,
187 g_param_spec_boolean ("reverse-scroll-events",
188 "Reverse scroll events",
189 "Reverses how scroll events are interpreted",
190 FALSE,
191 G_PARAM_READWRITE));
192
177 g_type_class_add_private (object_class, sizeof (IdoScaleMenuItemPrivate));193 g_type_class_add_private (object_class, sizeof (IdoScaleMenuItemPrivate));
178}194}
179195
@@ -199,7 +215,10 @@
199 {215 {
200 case PROP_ADJUSTMENT:216 case PROP_ADJUSTMENT:
201 gtk_range_set_adjustment (GTK_RANGE (priv->scale), g_value_get_object (value));217 gtk_range_set_adjustment (GTK_RANGE (priv->scale), g_value_get_object (value));
218 break;
202219
220 case PROP_REVERSE_SCROLL_EVENTS:
221 priv->reverse_scroll = g_value_get_boolean (value);
203 break;222 break;
204223
205 default:224 default:
@@ -224,6 +243,10 @@
224 g_value_set_object (value, adjustment);243 g_value_set_object (value, adjustment);
225 break;244 break;
226245
246 case PROP_REVERSE_SCROLL_EVENTS:
247 g_value_set_boolean (value, priv->reverse_scroll);
248 break;
249
227 default:250 default:
228 G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);251 G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
229 break;252 break;

Subscribers

People subscribed via source and target branches

to all changes: