Updating branch refs/heads/master
         to 8149080cd9798f17821b75a6cd532b3ae2a82bf9 (commit)
       from 1b4295c483adf48e2e1479cf836552223c7f5220 (commit)

commit 8149080cd9798f17821b75a6cd532b3ae2a82bf9
Author: Landry Breuil <lan...@xfce.org>
Date:   Wed Jul 4 16:15:20 2012 +0200

    Only set the barcolor if a color was actually specified (bug #9081)
    
    - instead of trying to detect the theme color, default to not set the bar 
color.
    - only save the bar color if it was actually set
    - make the ui default to gold yellow (this doesnt mean it's applied,
      the user needs to validate it)

 panel-plugin/cpu.c        |   12 +++++++-----
 panel-plugin/cpu.h        |    1 +
 panel-plugin/properties.c |    1 +
 panel-plugin/settings.c   |   17 ++++++++---------
 4 files changed, 17 insertions(+), 14 deletions(-)

diff --git a/panel-plugin/cpu.c b/panel-plugin/cpu.c
index c454124..927bb1e 100644
--- a/panel-plugin/cpu.c
+++ b/panel-plugin/cpu.c
@@ -120,6 +120,7 @@ static CPUGraph * create_gui( XfcePanelPlugin * plugin )
        g_signal_connect_after( base->draw_area, "expose-event", G_CALLBACK( 
draw_area_cb ), base );
 
        base->has_bars = FALSE;
+       base->has_barcolor = FALSE;
        base->bars = NULL;
 
 #ifdef HAS_PANEL_49
@@ -173,10 +174,11 @@ static void create_bars( CPUGraph *base )
        {
                base->bars[i] = GTK_WIDGET(gtk_progress_bar_new());
                /* Set bar colors */
-               gtk_widget_modify_bg(base->bars[i], GTK_STATE_PRELIGHT, 
&base->colors[4]);
-               gtk_widget_modify_bg(base->bars[i], GTK_STATE_SELECTED, 
&base->colors[4]);
-               gtk_widget_modify_base(base->bars[i], GTK_STATE_SELECTED, 
&base->colors[4]);
-
+               if (base->has_barcolor) {
+                       gtk_widget_modify_bg(base->bars[i], GTK_STATE_PRELIGHT, 
&base->colors[4]);
+                       gtk_widget_modify_bg(base->bars[i], GTK_STATE_SELECTED, 
&base->colors[4]);
+                       gtk_widget_modify_base(base->bars[i], 
GTK_STATE_SELECTED, &base->colors[4]);
+               }
                gtk_box_pack_end( GTK_BOX(base->box), base->bars[i], FALSE, 
FALSE, 0 );
                gtk_widget_show( base->bars[i] );
        }
@@ -517,7 +519,7 @@ void set_color( CPUGraph *base, guint number, GdkColor 
color )
                gtk_widget_modify_bg( base->draw_area, GTK_STATE_INSENSITIVE, 
&base->colors[0] );
                gtk_widget_modify_bg( base->draw_area, GTK_STATE_NORMAL, 
&base->colors[0] );
        }
-       if( number == 4 && base->has_bars )
+       if( number == 4 && base->has_bars && base->has_barcolor )
        {
                n = nb_bars( base );
 
diff --git a/panel-plugin/cpu.h b/panel-plugin/cpu.h
index 527c229..fcd9d85 100644
--- a/panel-plugin/cpu.h
+++ b/panel-plugin/cpu.h
@@ -54,6 +54,7 @@ typedef struct
        gboolean has_frame;
        gboolean has_border;
        gboolean has_bars;
+       gboolean has_barcolor;
        gchar  *command;
        gboolean in_terminal;
        gboolean startup_notification;
diff --git a/panel-plugin/properties.c b/panel-plugin/properties.c
index f83c611..53fe0ff 100644
--- a/panel-plugin/properties.c
+++ b/panel-plugin/properties.c
@@ -330,6 +330,7 @@ static void change_color_0( GtkColorButton * button, 
CPUGraph * base )
 
 static void change_color_4( GtkColorButton * button, CPUGraph * base )
 {
+       base->has_barcolor = TRUE;
        change_color( button, base, 4);
 }
 
diff --git a/panel-plugin/settings.c b/panel-plugin/settings.c
index bec6585..8679f2d 100644
--- a/panel-plugin/settings.c
+++ b/panel-plugin/settings.c
@@ -62,8 +62,6 @@ void read_settings( XfcePanelPlugin * plugin, CPUGraph * base 
)
        GdkColor foreground3;
        GdkColor background;
        GdkColor barscolor;
-       GtkWidget* bar;
-       GtkStyle* barstyle;
        guint size;
        const gchar  *associated_command;
        gboolean in_terminal;
@@ -85,11 +83,9 @@ void read_settings( XfcePanelPlugin * plugin, CPUGraph * 
base )
        background.green = 65535;
        background.blue = 65535;
 
-       /* use color from theme for default bar color */
-       bar = gtk_progress_bar_new();
-       barstyle = gtk_widget_get_style(bar);
-       barscolor = barstyle->bg[GTK_STATE_SELECTED];
-       gtk_widget_destroy(bar);
+       barscolor.red = 65535;
+       barscolor.green = 47872;
+       barscolor.blue = 0;
 
        size = xfce_panel_plugin_get_size( plugin );
        default_command( &associated_command, &in_terminal, 
&startup_notification );
@@ -122,8 +118,10 @@ void read_settings( XfcePanelPlugin * plugin, CPUGraph * 
base )
                                gdk_color_parse( value, &foreground3 );
                        if( (value = xfce_rc_read_entry( rc, "Background", NULL 
)) )
                                gdk_color_parse( value, &background );
-                       if( (value = xfce_rc_read_entry( rc, "BarsColor", NULL 
)) )
+                       if( (value = xfce_rc_read_entry( rc, "BarsColor", NULL 
)) ) {
                                gdk_color_parse( value, &barscolor );
+                               base->has_barcolor = TRUE;
+                       }
 
                        xfce_rc_close( rc );
                }
@@ -179,6 +177,7 @@ void write_settings( XfcePanelPlugin *plugin, CPUGraph 
*base )
        xfce_rc_write_entry( rc, "Foreground2", 
gdk_color_to_string(&(base->colors[2])) );
        xfce_rc_write_entry( rc, "Foreground3", 
gdk_color_to_string(&(base->colors[3])) );
        xfce_rc_write_entry( rc, "Background", 
gdk_color_to_string(&(base->colors[0])) );
-       xfce_rc_write_entry( rc, "BarsColor", 
gdk_color_to_string(&(base->colors[4])) );
+       if (base->has_barcolor)
+               xfce_rc_write_entry( rc, "BarsColor", 
gdk_color_to_string(&(base->colors[4])) );
        xfce_rc_close( rc );
 }
_______________________________________________
Xfce4-commits mailing list
Xfce4-commits@xfce.org
https://mail.xfce.org/mailman/listinfo/xfce4-commits

Reply via email to