This got a bunch of merge conflicts. Can you merge trunk into your branch so that it cleans up the diff a little please?
On Thu, 2010-03-11 at 20:15 +0000, Cody Russell wrote: > Cody Russell has proposed merging lp:~bratsche/indicator-sound/scale-size-fix > into lp:indicator-sound. > > Requested reviews: > Indicator Applet Developers (indicator-applet-developers) > Related bugs: > #533208 sound sliderbar's width of indicator-sound is related to the length > of "Sound Preferences..." > https://bugs.launchpad.net/bugs/533208 > > differences between files attachment (review-diff.txt) > === modified file 'src/indicator-sound.c' > --- src/indicator-sound.c 2010-03-11 11:50:40 +0000 > +++ src/indicator-sound.c 2010-03-11 20:15:27 +0000 > @@ -8,16 +8,16 @@ > Conor Curran <[email protected]> > Ted Gould <[email protected]> > > -This program is free software: you can redistribute it and/or modify it > -under the terms of the GNU General Public License version 3, as published > +This program is free software: you can redistribute it and/or modify it > +under the terms of the GNU General Public License version 3, as published > by the Free Software Foundation. > > -This program is distributed in the hope that it will be useful, but > -WITHOUT ANY WARRANTY; without even the implied warranties of > -MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR > +This program is distributed in the hope that it will be useful, but > +WITHOUT ANY WARRANTY; without even the implied warranties of > +MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR > PURPOSE. See the GNU General Public License for more details. > > -You should have received a copy of the GNU General Public License along > +You should have received a copy of the GNU General Public License along > with this program. If not, see <http://www.gnu.org/licenses/>. > */ > #include <math.h> > @@ -93,8 +93,13 @@ > // DBUS communication > static DBusGProxy *sound_dbus_proxy = NULL; > static void connection_changed (IndicatorServiceManager * sm, gboolean > connected, gpointer userdata); > +<<<<<<< TREE > static void catch_signal_sink_input_while_muted(DBusGProxy * proxy, gboolean > value, gpointer userdata); > static void catch_signal_sink_volume_update(DBusGProxy * proxy, gdouble > volume_percent, gpointer userdata); > +======= > +/*static void catch_signal_sink_input_while_muted(DBusGProxy * proxy, > gboolean value, gpointer userdata);*/ > +static void catch_signal_sink_volume_update(DBusGProxy * proxy, gdouble > volume_percent, gpointer userdata); > +>>>>>>> MERGE-SOURCE > static void catch_signal_sink_mute_update(DBusGProxy *proxy, gboolean > mute_value, gpointer userdata); > static void catch_signal_sink_availability_update(DBusGProxy *proxy, > gboolean available_value, gpointer userdata); > static void fetch_volume_percent_from_dbus(); > @@ -205,16 +210,31 @@ > static GtkMenu * > get_menu (IndicatorObject * io) > { > - DbusmenuGtkMenu *menu = dbusmenu_gtkmenu_new(INDICATOR_SOUND_DBUS_NAME, > INDICATOR_SOUND_DBUS_OBJECT); > - DbusmenuGtkClient *client = dbusmenu_gtkmenu_get_client(menu); > + DbusmenuGtkMenu *menu = dbusmenu_gtkmenu_new(INDICATOR_SOUND_DBUS_NAME, > INDICATOR_SOUND_DBUS_OBJECT); > + DbusmenuGtkClient *client = dbusmenu_gtkmenu_get_client(menu); > dbusmenu_client_add_type_handler(DBUSMENU_CLIENT(client), > DBUSMENU_SLIDER_MENUITEM_TYPE, new_slider_item); > > // register Key-press listening on the menu widget as the slider does > not allow this. > +<<<<<<< TREE > g_signal_connect(menu, "key-press-event", G_CALLBACK(key_press_cb), > NULL); > +======= > + g_signal_connect(menu, "key-press-event", G_CALLBACK(key_press_cb), > NULL); > + > +>>>>>>> MERGE-SOURCE > return GTK_MENU(menu); > } > > - > +<<<<<<< TREE > + > +======= > +static void > +slider_parent_changed (GtkWidget *widget, > + gpointer user_data) > +{ > + gtk_widget_set_size_request (widget, 200, -1); > +} > + > +>>>>>>> MERGE-SOURCE > /** > new_slider_item: > Create a new dBusMenu Slider item. > @@ -223,15 +243,25 @@ > { > g_return_val_if_fail(DBUSMENU_IS_MENUITEM(newitem), FALSE); > g_return_val_if_fail(DBUSMENU_IS_GTKCLIENT(client), FALSE); > - > + > volume_slider = ido_scale_menu_item_new_with_range ("Volume", > initial_volume_percent, 0, 100, 0.5); > g_object_set(volume_slider, "reverse-scroll-events", TRUE, NULL); > > + g_signal_connect (volume_slider, > + "notify::parent", G_CALLBACK > (slider_parent_changed), > + NULL); > + > GtkMenuItem *menu_volume_slider = GTK_MENU_ITEM(volume_slider); > > dbusmenu_gtkclient_newitem_base(DBUSMENU_GTKCLIENT(client), newitem, > menu_volume_slider, parent); > +<<<<<<< TREE > > +======= > + g_signal_connect(G_OBJECT(newitem), > DBUSMENU_MENUITEM_SIGNAL_PROPERTY_CHANGED, G_CALLBACK(slider_prop_change_cb), > volume_slider); > + > +>>>>>>> MERGE-SOURCE > // register slider changes listening on the range > +<<<<<<< TREE > GtkWidget* slider = > ido_scale_menu_item_get_scale((IdoScaleMenuItem*)volume_slider); > > g_signal_connect(slider, "value-changed", > G_CALLBACK(value_changed_event_cb), newitem); > @@ -239,7 +269,15 @@ > g_signal_connect(volume_slider, "slider-released", > G_CALLBACK(slider_released), NULL); > /* g_signal_connect(slider, "size-allocate", > G_CALLBACK(slider_size_allocate), NULL);*/ > > +======= > + GtkWidget* slider = > ido_scale_menu_item_get_scale((IdoScaleMenuItem*)volume_slider); > + g_signal_connect(slider, "value-changed", > G_CALLBACK(value_changed_event_cb), newitem); > + // alternative callback mechanism which i could use again at some point. > +/* g_signal_connect(slider, "change-value", > G_CALLBACK(user_change_value_event_cb), newitem); */ > + > +>>>>>>> MERGE-SOURCE > // Set images on the ido > +<<<<<<< TREE > GtkWidget* primary_image = > ido_scale_menu_item_get_primary_image((IdoScaleMenuItem*)volume_slider); > > GIcon * primary_gicon = > g_themed_icon_new_with_default_fallbacks(g_hash_table_lookup(volume_states, > GINT_TO_POINTER(STATE_ZERO))); > gtk_image_set_from_gicon(GTK_IMAGE(primary_image), primary_gicon, > GTK_ICON_SIZE_MENU); > @@ -251,6 +289,13 @@ > g_object_unref(secondary_gicon); > > gtk_widget_set_sensitive(volume_slider, !initial_mute); > +======= > + primary_image = > ido_scale_menu_item_get_primary_image((IdoScaleMenuItem*)volume_slider); > + gtk_image_set_from_icon_name(GTK_IMAGE(primary_image), > g_hash_table_lookup(volume_states, GINT_TO_POINTER(STATE_ZERO)), > GTK_ICON_SIZE_MENU); > + GtkWidget* secondary_image = > ido_scale_menu_item_get_secondary_image((IdoScaleMenuItem*)volume_slider); > + gtk_image_set_from_icon_name(GTK_IMAGE(secondary_image), > g_hash_table_lookup(volume_states, GINT_TO_POINTER(STATE_HIGH)), > GTK_ICON_SIZE_MENU); > + > +>>>>>>> MERGE-SOURCE > gtk_widget_show_all(volume_slider); > > return TRUE; > @@ -416,10 +461,10 @@ > } > else if(volume_percent == 0.0){ > state = STATE_ZERO; > - } > - update_state(state); > + } > + update_state(state); > } > - > + > > static void fetch_sink_availability_from_dbus() > { > @@ -444,7 +489,7 @@ > static void fetch_volume_percent_from_dbus() > { > GError * error = NULL; > - gdouble *volume_percent_input; > + gdouble *volume_percent_input; > volume_percent_input = g_new0(gdouble, 1); > org_ayatana_indicator_sound_get_sink_volume(sound_dbus_proxy, > volume_percent_input, &error); > if (error != NULL) { > @@ -462,7 +507,7 @@ > static void fetch_mute_value_from_dbus() > { > GError * error = NULL; > - gboolean *mute_input; > + gboolean *mute_input; > mute_input = g_new0(gboolean, 1); > org_ayatana_indicator_sound_get_sink_mute(sound_dbus_proxy, mute_input, > &error); > if (error != NULL) { > @@ -511,6 +556,7 @@ > > static void catch_signal_sink_volume_update(DBusGProxy *proxy, gdouble > volume_percent, gpointer userdata) > { > +<<<<<<< TREE > if (slider_in_direct_use != TRUE){ > GtkWidget *slider = > ido_scale_menu_item_get_scale((IdoScaleMenuItem*)volume_slider); > GtkRange *range = (GtkRange*)slider; > @@ -521,6 +567,16 @@ > gtk_range_set_value(range, volume_percent); > determine_state_from_volume(volume_percent); > } > +======= > + GtkWidget *slider = > ido_scale_menu_item_get_scale((IdoScaleMenuItem*)volume_slider); > + GtkRange *range = (GtkRange*)slider; > + > + // DEBUG > + gdouble current_value = gtk_range_get_value(range); > + g_debug("SIGNAL- update sink volume - current_value : %f and new value : > %f", current_value, volume_percent); > + gtk_range_set_value(range, volume_percent); > + determine_state_from_volume(volume_percent); > +>>>>>>> MERGE-SOURCE > } > > static void catch_signal_sink_mute_update(DBusGProxy *proxy, gboolean > mute_value, gpointer userdata) > @@ -541,14 +597,31 @@ > g_debug("signal caught - sink mute update with mute value: %i", > mute_value); > gtk_widget_set_sensitive(volume_slider, !mute_value); > } > +<<<<<<< TREE > > static void catch_signal_sink_availability_update(DBusGProxy *proxy, > gboolean available_value, gpointer userdata) > +======= > +/** > +slider_prop_change_cb: > +Whenever we have a property change on a DbusmenuMenuitem this will be called. > +**/ > +static void slider_prop_change_cb (DbusmenuMenuitem * mi, gchar * prop, > GValue * value, GtkWidget *widget) > +>>>>>>> MERGE-SOURCE > { > +<<<<<<< TREE > device_available = available_value; > if (device_available == FALSE){ > update_state(STATE_SINKS_NONE); > } > g_debug("signal caught - sink availability update with value: %i", > available_value); > +======= > + g_debug("slider_prop_change_cb - dodgy updater "); > + g_debug("about to set the slider to %f", g_value_get_double(value)); > + GtkWidget* slider = > ido_scale_menu_item_get_scale((IdoScaleMenuItem*)volume_slider); > + GtkRange* range = (GtkRange*)slider; > + gtk_range_set_value(range, g_value_get_double(value)); > + return; > +>>>>>>> MERGE-SOURCE > } > > > @@ -558,13 +631,13 @@ > **/ > static gboolean value_changed_event_cb(GtkRange *range, gpointer user_data) > { > - gdouble current_value = CLAMP(gtk_range_get_value(range), 0, 100); > > + gdouble current_value = CLAMP(gtk_range_get_value(range), 0, 100); > DbusmenuMenuitem *item = (DbusmenuMenuitem*)user_data; > GValue value = {0}; > g_value_init(&value, G_TYPE_DOUBLE); > g_value_set_double(&value, current_value); > g_debug("Value changed callback - = %f", current_value); > - dbusmenu_menuitem_handle_event (item, "slider_change", &value, 0); > + dbusmenu_menuitem_handle_event (item, "slider_change", &value, 0); > // This is not ideal in that the icon ui will update on ui actions and > not on actual service feedback. > // but necessary for now as the server does not send volume update > information if the source of change was this ui. > determine_state_from_volume(current_value); > @@ -608,8 +681,8 @@ > gboolean digested = FALSE; > > GtkWidget* slider = > ido_scale_menu_item_get_scale((IdoScaleMenuItem*)volume_slider); > - GtkRange* range = (GtkRange*)slider; > - gdouble current_value = gtk_range_get_value(range); > + GtkRange* range = (GtkRange*)slider; > + gdouble current_value = gtk_range_get_value(range); > gdouble new_value = current_value; > const gdouble five_percent = 5; > GtkWidget *menuitem; > @@ -638,26 +711,26 @@ > } > else > { > - new_value = current_value - five_percent; > + new_value = current_value - five_percent; > } > break; > case GDK_plus: > digested = TRUE; > - new_value = current_value + five_percent; > + new_value = current_value + five_percent; > break; > case GDK_minus: > digested = TRUE; > - new_value = current_value - five_percent; > + new_value = current_value - five_percent; > break; > default: > break; > - } > - > + } > + > new_value = CLAMP(new_value, 0, 100); > if(new_value != current_value && current_state != STATE_MUTED) > { > - g_debug("Attempting to set the range from the key listener > to %f", new_value); > - gtk_range_set_value(range, new_value); > + g_debug("Attempting to set the range from the key listener > to %f", new_value); > + gtk_range_set_value(range, new_value); > } > } > return digested; > -- https://code.launchpad.net/~bratsche/indicator-sound/scale-size-fix/+merge/21176 Your team ayatana-commits is subscribed to branch lp:indicator-sound. _______________________________________________ Mailing list: https://launchpad.net/~ayatana-commits Post to : [email protected] Unsubscribe : https://launchpad.net/~ayatana-commits More help : https://help.launchpad.net/ListHelp

