ayatana-commits team mailing list archive
-
ayatana-commits team
-
Mailing list archive
-
Message #01128
Re: [Merge] lp:~bratsche/indicator-sound/scale-size-fix into lp:indicator-sound
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 <conor.curran@xxxxxxxxxxxxx>
> Ted Gould <ted@xxxxxxxxxxxxx>
>
> -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.
References