~dylanmccall/indicator-sound/notifications-use-new-volume

« back to all changes in this revision

Viewing changes to src/volume-widget.c

  • Committer: Conor Curran
  • Date: 2011-03-11 12:06:17 UTC
  • mfrom: (216.1.1 indicator-sound)
  • Revision ID: conor.curran@canonical.com-20110311120617-hg1byxicl2byjb1q
fixes bug lp #730925

Show diffs side-by-side

added added

removed removed

Lines of Context:
128
128
                               GVariant* value, gpointer userdata)
129
129
130
130
  g_return_if_fail (IS_VOLUME_WIDGET (userdata)); 
 
131
  g_return_if_fail (g_variant_is_of_type (value, G_VARIANT_TYPE_DOUBLE) );
131
132
  VolumeWidget* mitem = VOLUME_WIDGET(userdata);
132
133
  VolumeWidgetPrivate * priv = VOLUME_WIDGET_GET_PRIVATE(mitem);
133
134
  //g_debug("scrub-widget::property_update for prop %s", property); 
136
137
      GtkWidget *slider = ido_scale_menu_item_get_scale((IdoScaleMenuItem*)priv->ido_volume_slider);
137
138
      GtkRange *range = (GtkRange*)slider;
138
139
      gdouble update = g_variant_get_double (value);
139
 
      //g_debug("volume-widget - update level with value %f", update);
140
140
      gtk_range_set_value(range, update);
141
141
      update_accessible_desc(priv->indicator);
142
142
    }
163
163
 
164
164
static gboolean
165
165
volume_widget_change_value_cb (GtkRange     *range,
166
 
                              GtkScrollType scroll,
167
 
                              gdouble       new_value,
168
 
                              gpointer      user_data)
 
166
                               GtkScrollType scroll,
 
167
                               gdouble       new_value,
 
168
                               gpointer      user_data)
169
169
{
170
170
  g_return_val_if_fail (IS_VOLUME_WIDGET (user_data), FALSE);
171
171
  VolumeWidget* mitem = VOLUME_WIDGET(user_data);
172
 
  volume_widget_update(mitem, new_value); 
 
172
  //g_debug ("changed value %f", new_value);
 
173
  volume_widget_update(mitem, new_value);
173
174
  return FALSE;
174
175
}
175
176
 
178
179
 which set the slider to 0 or 100. Ignore all other events.
179
180
*/ 
180
181
static gboolean
181
 
volume_widget_value_changed_cb(GtkRange *range, gpointer user_data)
 
182
volume_widget_value_changed_cb (GtkRange *range, gpointer user_data)
182
183
{
 
184
 
183
185
  g_return_val_if_fail (IS_VOLUME_WIDGET (user_data), FALSE);
184
186
  VolumeWidget* mitem = VOLUME_WIDGET(user_data);
185
187
  VolumeWidgetPrivate * priv = VOLUME_WIDGET_GET_PRIVATE(mitem);
186
 
  GtkWidget *slider = ido_scale_menu_item_get_scale((IdoScaleMenuItem*)priv->ido_volume_slider);  
 
188
  GtkWidget *slider = ido_scale_menu_item_get_scale((IdoScaleMenuItem*)priv->ido_volume_slider);
187
189
  gdouble current_value =  CLAMP(gtk_range_get_value(GTK_RANGE(slider)), 0, 100);
188
 
  
 
190
  //g_debug ("value changed %f", gtk_range_get_value(GTK_RANGE(slider)));
189
191
  if(current_value == 0 || current_value == 100){
190
192
    volume_widget_update(mitem, current_value);
191
193
  }
 
194
 
192
195
  return FALSE;
193
196
}
194
197