From d27e74faad6de881b97871f2a35115490d248c09 Mon Sep 17 00:00:00 2001 From: Andrzej Date: Sun, 1 Jun 2014 23:24:37 +0100 Subject: [PATCH 1/3] battery-button: added support for multi-row panel layouts --- panel-plugins/battery/battery-button.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/panel-plugins/battery/battery-button.c b/panel-plugins/battery/battery-button.c index 894f4ed..13d538b 100644 --- a/panel-plugins/battery/battery-button.c +++ b/panel-plugins/battery/battery-button.c @@ -511,8 +511,14 @@ battery_button_press_event (GtkWidget *widget, GdkEventButton *event) static gboolean battery_button_size_changed_cb (XfcePanelPlugin *plugin, gint size, BatteryButton *button) { - gint width = size -2 - 2* MAX(gtk_widget_get_style(GTK_WIDGET(button))->xthickness, - gtk_widget_get_style(GTK_WIDGET(button))->ythickness); + gint width; + + g_return_val_if_fail (BATTERY_IS_BUTTON (button), FALSE); + g_return_val_if_fail (XFCE_IS_PANEL_PLUGIN (plugin), FALSE); + + size /= xfce_panel_plugin_get_nrows (plugin); + width = size -2 - 2* MAX(gtk_widget_get_style(GTK_WIDGET(button))->xthickness, + gtk_widget_get_style(GTK_WIDGET(button))->ythickness); gtk_widget_set_size_request (GTK_WIDGET(plugin), size, size); button->priv->panel_icon_width = width; @@ -540,6 +546,7 @@ battery_button_show (BatteryButton *button) g_return_if_fail (BATTERY_IS_BUTTON (button)); xfce_panel_plugin_add_action_widget (button->priv->plugin, GTK_WIDGET (button)); + xfce_panel_plugin_set_small (button->priv->plugin, TRUE); button->priv->panel_icon_image = gtk_image_new (); gtk_container_add (GTK_CONTAINER (button), button->priv->panel_icon_image); -- 1.9.1 From fb79993bfddc8244a7db08e845eaea6371696a75 Mon Sep 17 00:00:00 2001 From: Andrzej Date: Sun, 1 Jun 2014 23:25:51 +0100 Subject: [PATCH 2/3] brightness-button: added support for multi-row panel layouts --- panel-plugins/brightness/brightness-button.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/panel-plugins/brightness/brightness-button.c b/panel-plugins/brightness/brightness-button.c index e47d5ea..c6c95d9 100644 --- a/panel-plugins/brightness/brightness-button.c +++ b/panel-plugins/brightness/brightness-button.c @@ -578,9 +578,15 @@ brightness_button_set_icon (BrightnessButton *button, gint width) static gboolean brightness_button_size_changed_cb (XfcePanelPlugin *plugin, gint size, BrightnessButton *button) { - gint width = size -2 - 2* MAX(gtk_widget_get_style(GTK_WIDGET(button))->xthickness, - gtk_widget_get_style(GTK_WIDGET(button))->ythickness); - + gint width; + + g_return_val_if_fail (BRIGHTNESS_IS_BUTTON (button), FALSE); + g_return_val_if_fail (XFCE_IS_PANEL_PLUGIN (plugin), FALSE); + + size /= xfce_panel_plugin_get_nrows (plugin); + width = size -2 - 2* MAX(gtk_widget_get_style(GTK_WIDGET(button))->xthickness, + gtk_widget_get_style(GTK_WIDGET(button))->ythickness); + gtk_widget_set_size_request (GTK_WIDGET(plugin), size, size); return brightness_button_set_icon (button, width); } @@ -620,6 +626,7 @@ void brightness_button_show (BrightnessButton *button) g_return_if_fail (BRIGHTNESS_IS_BUTTON (button)); xfce_panel_plugin_add_action_widget (button->priv->plugin, GTK_WIDGET (button)); + xfce_panel_plugin_set_small (button->priv->plugin, TRUE); button->priv->image = gtk_image_new (); gtk_container_add (GTK_CONTAINER (button), button->priv->image); -- 1.9.1 From e2451a0eb460653bc59dc8e49149072ad41b119c Mon Sep 17 00:00:00 2001 From: Andrzej Date: Sun, 1 Jun 2014 23:27:20 +0100 Subject: [PATCH 3/3] brightness-button: do not invert hscale direction in vertical panel --- panel-plugins/brightness/brightness-button.c | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/panel-plugins/brightness/brightness-button.c b/panel-plugins/brightness/brightness-button.c index c6c95d9..750fca4 100644 --- a/panel-plugins/brightness/brightness-button.c +++ b/panel-plugins/brightness/brightness-button.c @@ -396,13 +396,14 @@ brightness_button_create_popup (BrightnessButton *button) { button->priv->range = gtk_hscale_new_with_range (0, max_level, 1); gtk_widget_set_size_request (button->priv->range, 100, -1); + gtk_range_set_inverted (GTK_RANGE(button->priv->range), FALSE); } else { button->priv->range = gtk_vscale_new_with_range (0, max_level, 1); gtk_widget_set_size_request (button->priv->range, -1, 100); + gtk_range_set_inverted (GTK_RANGE(button->priv->range), TRUE); } - gtk_range_set_inverted (GTK_RANGE(button->priv->range), TRUE); gtk_scale_set_draw_value (GTK_SCALE(button->priv->range), FALSE); g_signal_connect (button->priv->range, "grab-notify", @@ -415,10 +416,19 @@ brightness_button_create_popup (BrightnessButton *button) g_signal_connect (button->priv->plus, "clicked", G_CALLBACK (plus_clicked), button); - gtk_box_pack_start (GTK_BOX(box), button->priv->plus, FALSE, FALSE, 0); - gtk_box_pack_start (GTK_BOX(box), button->priv->range, TRUE, TRUE, 0); - gtk_box_pack_start (GTK_BOX(box), button->priv->minus, FALSE, FALSE, 0); - + if ( orientation == GTK_ORIENTATION_VERTICAL ) + { + gtk_box_pack_start (GTK_BOX(box), button->priv->minus, FALSE, FALSE, 0); + gtk_box_pack_start (GTK_BOX(box), button->priv->range, TRUE, TRUE, 0); + gtk_box_pack_start (GTK_BOX(box), button->priv->plus, FALSE, FALSE, 0); + } + else + { + gtk_box_pack_start (GTK_BOX(box), button->priv->plus, FALSE, FALSE, 0); + gtk_box_pack_start (GTK_BOX(box), button->priv->range, TRUE, TRUE, 0); + gtk_box_pack_start (GTK_BOX(box), button->priv->minus, FALSE, FALSE, 0); + } + gtk_window_set_type_hint (GTK_WINDOW(button->priv->popup), GDK_WINDOW_TYPE_HINT_UTILITY ); gtk_container_add (GTK_CONTAINER(button->priv->popup), box); -- 1.9.1