[Xfce4-commits] <xfce4-cpugraph-plugin:master> Overhaul the internal handling of colors

Florian noreply at xfce.org
Sat Apr 17 16:16:23 CEST 2010


Updating branch refs/heads/master
         to 117cc231611b2ef75ff0884dde5e583b84f43b15 (commit)
       from 910f847f21e83f1128d21df1c073029618f1ef0b (commit)

commit 117cc231611b2ef75ff0884dde5e583b84f43b15
Author: Florian <frivoal at gmail.com>
Date:   Sat Feb 27 15:37:45 2010 +0900

    Overhaul the internal handling of colors
    
    There was a lot of duplication or quasi duplication in the code that
    deals with the color settings and their handling in the properties
    dialog, so a refactoring was in order.

 panel-plugin/actions.c    |  104 +++++++++++++-------------------------------
 panel-plugin/actions.h    |    3 +-
 panel-plugin/cpu.c        |   21 +--------
 panel-plugin/cpu.h        |   20 +-------
 panel-plugin/mode.c       |   18 ++++----
 panel-plugin/properties.c |   87 ++++++--------------------------------
 panel-plugin/settings.c   |   16 +++---
 7 files changed, 69 insertions(+), 200 deletions(-)

diff --git a/panel-plugin/actions.c b/panel-plugin/actions.c
index 75015da..94e58e3 100644
--- a/panel-plugin/actions.c
+++ b/panel-plugin/actions.c
@@ -5,69 +5,56 @@ void AssociateCommandChange( GtkEntry *entry, CPUGraph * base )
 	set_command( base, gtk_entry_get_text( entry ) );
 }
 
-void ChangeColor1( GtkColorButton * button, CPUGraph * base )
+void ChangeColor( GtkColorButton * button, CPUGraph * base, int number)
 {
 	GdkColor color;
 	gtk_color_button_get_color( button, &color );
-	set_foreground_color1( base, color );
+	set_color( base, number, color );
+}
+
+void ChangeColor1( GtkColorButton * button, CPUGraph * base )
+{
+	ChangeColor( button, base, 1);
 }
 
 void ChangeColor2( GtkColorButton * button, CPUGraph * base )
 {
-	GdkColor color;
-	gtk_color_button_get_color( button, &color );
-	set_foreground_color2( base, color );
+	ChangeColor( button, base, 2);
 }
 
 void ChangeColor3( GtkColorButton * button, CPUGraph * base )
 {
-	GdkColor color;
-	gtk_color_button_get_color( button, &color );
-	set_background_color( base, color );
+	ChangeColor( button, base, 3);
 }
 
-void ChangeColor4( GtkColorButton * button, CPUGraph * base )
+void ChangeColor0( GtkColorButton * button, CPUGraph * base )
 {
-	GdkColor color;
-	gtk_color_button_get_color( button, &color );
-	set_foreground_color3( base, color );
+	ChangeColor( button, base, 0);
+}
+
+void select_active_colors( CPUGraph * base )
+{
+	if( base->m_ColorMode != 0 || base->m_Mode == 1 || base->m_Mode == 3 )
+		gtk_widget_set_sensitive( GTK_WIDGET( base->color_buttons[2] ), TRUE );
+	else
+		gtk_widget_set_sensitive( GTK_WIDGET( base->color_buttons[2] ), FALSE );
+
+	if( base->m_ColorMode != 0 && base->m_Mode == 1 )
+		gtk_widget_set_sensitive( GTK_WIDGET( base->color_buttons[3] ), TRUE );
+	else
+		gtk_widget_set_sensitive( GTK_WIDGET( base->color_buttons[3] ), FALSE );
+}
+
+void ModeChange( GtkOptionMenu * om, CPUGraph * base )
+{
+	set_mode( base, gtk_option_menu_get_history( om ) );
+	select_active_colors( base );
 }
 
 void ColorModeChange( GtkOptionMenu * om, CPUGraph * base )
 {
 	set_color_mode( base, gtk_option_menu_get_history( om ) );
-	if( base->m_ColorMode == 0 )
-	{
-		if( base->m_Mode == 0 || base->m_Mode == 2 )
-			gtk_widget_set_sensitive( GTK_WIDGET( base->m_Options.m_FG2 ), FALSE );
-		else
-			gtk_widget_set_sensitive( GTK_WIDGET( base->m_Options.m_FG2 ), TRUE );
-		gtk_widget_set_sensitive( GTK_WIDGET( base->m_Options.m_FG3 ), FALSE );
-	}
-	else if( base->m_ColorMode == 1 )
-	{
-		gtk_widget_set_sensitive( GTK_WIDGET( base->m_Options.m_FG2 ), TRUE );
-		if( base->m_Mode == 1 )
-			gtk_widget_set_sensitive( GTK_WIDGET( base->m_Options.m_FG3 ), TRUE );
-		else
-			gtk_widget_set_sensitive( GTK_WIDGET( base->m_Options.m_FG3 ), FALSE );
-	}
-	else if( base->m_ColorMode == 2 )
-	{
-		gtk_widget_set_sensitive( GTK_WIDGET( base->m_Options.m_FG2 ), TRUE );
-		if( base->m_Mode == 1 )
-			gtk_widget_set_sensitive( GTK_WIDGET( base->m_Options.m_FG3 ), TRUE );
-		else
-			gtk_widget_set_sensitive( GTK_WIDGET( base->m_Options.m_FG3 ), FALSE );
-	}
-	else if( base->m_ColorMode == 3 )
-	{
-		gtk_widget_set_sensitive( GTK_WIDGET( base->m_Options.m_FG2 ), TRUE );
-		if( base->m_Mode == 1 )
-			gtk_widget_set_sensitive( GTK_WIDGET( base->m_Options.m_FG3 ), TRUE );
-		else
-			gtk_widget_set_sensitive( GTK_WIDGET( base->m_Options.m_FG3 ), FALSE );
-	}
+	select_active_colors( base );
 }
 
 void DialogResponse( GtkWidget *dlg, int response, CPUGraph *base )
@@ -82,35 +69,6 @@ void FrameChange( GtkToggleButton * button, CPUGraph * base )
 	set_frame( base, gtk_toggle_button_get_active( button ) );
 }
 
-void ModeChange( GtkOptionMenu * om, CPUGraph * base )
-{
-	set_mode( base, gtk_option_menu_get_history( om ) );
-	if( base->m_Mode == 0 )
-	{
-		if( base->m_ColorMode > 0 )
-			gtk_widget_set_sensitive( GTK_WIDGET( base->m_Options.m_FG2 ), TRUE );
-		else
-			gtk_widget_set_sensitive( GTK_WIDGET( base->m_Options.m_FG2 ), FALSE );
-		gtk_widget_set_sensitive( GTK_WIDGET( base->m_Options.m_FG3 ), FALSE );
-	}
-	else if( base->m_Mode == 1 )
-	{
-		if( base->m_ColorMode > 0 )
-			gtk_widget_set_sensitive( GTK_WIDGET( base->m_Options.m_FG3 ), TRUE );
-		else
-			gtk_widget_set_sensitive( GTK_WIDGET( base->m_Options.m_FG3 ), FALSE );
-		gtk_widget_set_sensitive( GTK_WIDGET( base->m_Options.m_FG2 ), TRUE );
-	}
-	else if( base->m_Mode == 2 )
-	{
-		if( base->m_ColorMode > 0 )
-			gtk_widget_set_sensitive( GTK_WIDGET( base->m_Options.m_FG2 ), TRUE );
-		else
-			gtk_widget_set_sensitive( GTK_WIDGET( base->m_Options.m_FG2 ), FALSE );
-		gtk_widget_set_sensitive( GTK_WIDGET( base->m_Options.m_FG3 ), FALSE );
-	}
-}
-
 void WidthChange( GtkSpinButton * sb, CPUGraph *base)
 {
 	set_width( base, gtk_spin_button_get_value_as_int( sb ) );
diff --git a/panel-plugin/actions.h b/panel-plugin/actions.h
index 4dd02ef..71c9db7 100644
--- a/panel-plugin/actions.h
+++ b/panel-plugin/actions.h
@@ -1,10 +1,11 @@
 #include <cpu.h>
 
 void AssociateCommandChange( GtkEntry *entry, CPUGraph *base );
+void ChangeColor0( GtkColorButton *button, CPUGraph *base );
 void ChangeColor1( GtkColorButton * button, CPUGraph * base );
 void ChangeColor2( GtkColorButton *button, CPUGraph *base );
 void ChangeColor3( GtkColorButton *button, CPUGraph *base );
-void ChangeColor4( GtkColorButton *button, CPUGraph *base );
+void select_active_colors( CPUGraph * base );
 void ColorModeChange( GtkOptionMenu *om, CPUGraph *base );
 void DialogResponse( GtkWidget *dlg, int response, CPUGraph *base );
 void ApplyChanges( CPUGraph *base );
diff --git a/panel-plugin/cpu.c b/panel-plugin/cpu.c
index ac92f04..f521525 100644
--- a/panel-plugin/cpu.c
+++ b/panel-plugin/cpu.c
@@ -199,7 +199,7 @@ void DrawGraph( CPUGraph * base )
 	GdkGC *fg1 = gdk_gc_new( da->window );
 	GdkGC *fg2 = gdk_gc_new( da->window );
 	GdkGC *bg = gdk_gc_new( da->window );
-	gdk_gc_set_rgb_fg_color( bg, &base->m_BackGround );
+	gdk_gc_set_rgb_fg_color( bg, &base->colors[0] );
 
 	gdk_draw_rectangle( da->window, bg, TRUE, 0, 0, w, h );
 
@@ -319,22 +319,7 @@ void set_mode( CPUGraph *base, int mode )
 	base->m_Mode = mode;
 }
 
-void set_foreground_color1( CPUGraph *base, GdkColor color )
+void set_color( CPUGraph *base, int number, GdkColor color )
 {
-	base->m_ForeGround1 = color;
-}
-
-void set_foreground_color2( CPUGraph *base, GdkColor color )
-{
-	base->m_ForeGround2 = color;
-}
-
-void set_foreground_color3( CPUGraph *base, GdkColor color )
-{
-	base->m_ForeGround3 = color;
-}
-
-void set_background_color( CPUGraph *base, GdkColor color )
-{
-	base->m_BackGround = color;
+	base->colors[number] = color;
 }
diff --git a/panel-plugin/cpu.h b/panel-plugin/cpu.h
index 85f9763..80686dd 100644
--- a/panel-plugin/cpu.h
+++ b/panel-plugin/cpu.h
@@ -26,14 +26,6 @@
 
 typedef struct
 {
-	GtkWidget *m_FG1;
-	GtkWidget *m_FG2;
-	GtkWidget *m_FG3;
-	GtkWidget *m_BG;
-} SOptions;
-
-typedef struct
-{
 	XfcePanelPlugin *plugin;
 
 	GtkWidget *m_FrameWidget;
@@ -41,7 +33,7 @@ typedef struct
 	GtkWidget *m_OptionsDialog;
 	GtkWidget *m_Box;
 	GtkWidget **m_pBar;
-	SOptions m_Options;
+	GtkWidget *color_buttons[4];
 
 	int m_UpdateInterval; // Number of ms between updates.
 	gboolean m_TimeScale; // Wether to use non-linear time scale.
@@ -52,10 +44,7 @@ typedef struct
 	gchar  *m_AssociateCommand;
 	guint nrCores; // Number of cores (not including total cpu)
 
-	GdkColor m_ForeGround1; // Inactive color.
-	GdkColor m_ForeGround2; // Active color.
-	GdkColor m_ForeGround3;
-	GdkColor m_BackGround; // Background color.
+	GdkColor colors[4];
 
 	guint m_TimeoutID; // Timeout ID for the tooltip;
 	long *m_History;
@@ -87,8 +76,5 @@ void set_update_rate( CPUGraph *base, int rate );
 void set_width( CPUGraph *base, int width );
 void set_color_mode( CPUGraph *base, int color_mode );
 void set_mode( CPUGraph *base, int mode );
-void set_foreground_color1( CPUGraph *base, GdkColor color );
-void set_foreground_color2( CPUGraph *base, GdkColor color );
-void set_foreground_color3( CPUGraph *base, GdkColor color );
-void set_background_color( CPUGraph *base, GdkColor color );
+void set_color( CPUGraph *base, int number, GdkColor color );
 #endif
diff --git a/panel-plugin/mode.c b/panel-plugin/mode.c
index dc34b20..6a9cfcb 100644
--- a/panel-plugin/mode.c
+++ b/panel-plugin/mode.c
@@ -49,7 +49,7 @@ void drawGraphModeNormal( CPUGraph *base, GdkGC *fg1, GtkWidget *da, int w, int
 
 		if( base->m_ColorMode == 0 )
 		{
-			gdk_gc_set_rgb_fg_color( fg1, &base->m_ForeGround1 );
+			gdk_gc_set_rgb_fg_color( fg1, &base->colors[1] );
 
 			if( base->m_Frame )
 				gdk_draw_line( da->window, fg1, x+1, h+1-usage, x+1, h );
@@ -61,7 +61,7 @@ void drawGraphModeNormal( CPUGraph *base, GdkGC *fg1, GtkWidget *da, int w, int
 			double t = (double) (base->m_History[base->m_Values+ w - x] - base->m_CpuData[0].scalMinFreq)
 				/ (base->m_CpuData[0].scalMaxFreq - base->m_CpuData[0].scalMinFreq);
 
-			MixAndApplyColors( t, &base->m_ForeGround1, &base->m_ForeGround2, fg1);
+			MixAndApplyColors( t, &base->colors[1], &base->colors[2], fg1);
 
 			if( base->m_Frame )
 				gdk_draw_line( da->window, fg1 , x+1, h+1-usage, x+1, h );
@@ -80,7 +80,7 @@ void drawGraphModeNormal( CPUGraph *base, GdkGC *fg1, GtkWidget *da, int w, int
 					double t = (base->m_ColorMode == 1) ?
 					           (tmp / (double) (h)) :
 					           (tmp / (double) (length));
-					MixAndApplyColors( t, &base->m_ForeGround1, &base->m_ForeGround2, fg1);
+					MixAndApplyColors( t, &base->colors[1], &base->colors[2], fg1);
 				}
 				gdk_draw_point( da->window, fg1, x, y );
 			}
@@ -94,8 +94,8 @@ void drawGraphModeLED( CPUGraph *base, GdkGC *fg1, GdkGC *fg2, GtkWidget *da, in
 	int nry = (int)((h + 1) / 2.0);
 	int x, y;
 
-	gdk_gc_set_rgb_fg_color( fg1, &base->m_ForeGround1 );
-	gdk_gc_set_rgb_fg_color( fg2, &base->m_ForeGround2 );
+	gdk_gc_set_rgb_fg_color( fg1, &base->colors[1] );
+	gdk_gc_set_rgb_fg_color( fg2, &base->colors[2] );
 
 	for( x = nrx ; x >= 0; x-- )
 	{
@@ -110,7 +110,7 @@ void drawGraphModeLED( CPUGraph *base, GdkGC *fg1, GdkGC *fg2, GtkWidget *da, in
 				double t = (base->m_ColorMode == 1) ?
 				           (tmp / nry) :
 				           (tmp / limit);
-				MixAndApplyColors( t, &base->m_ForeGround2, &base->m_ForeGround3, fg2);
+				MixAndApplyColors( t, &base->colors[2], &base->colors[3], fg2);
 				tmp++;
 			}
 			gdk_draw_rectangle (da->window,
@@ -135,7 +135,7 @@ void drawGraphModeNoHistory( CPUGraph *base, GdkGC *fg1, GdkGC *fg2, GtkWidget *
 			double t = (base->m_ColorMode == 1) ?
 			           (tmp / (double) (h)) :
 			           (tmp / (double) (length));
-			MixAndApplyColors( t, &base->m_ForeGround1, &base->m_ForeGround2, fg2);
+			MixAndApplyColors( t, &base->colors[1], &base->colors[2], fg2);
 			tmp++;
 		}
 		gdk_draw_line (da->window,
@@ -160,7 +160,7 @@ void drawGraphGrid( CPUGraph *base, GdkGC *fg1, GdkGC *fg2, GtkWidget *da, int w
 	last.x = -1;
 
 	/* draw grid */
-	gdk_gc_set_rgb_fg_color( fg1, &base->m_ForeGround1 );
+	gdk_gc_set_rgb_fg_color( fg1, &base->colors[1] );
 	for( x = nrx; x >= 0; x-- )
 	{
 		gdk_draw_line( da->window, fg1, x*6, 0, x*6, h );
@@ -171,7 +171,7 @@ void drawGraphGrid( CPUGraph *base, GdkGC *fg1, GdkGC *fg2, GtkWidget *da, int w
 	}
 
 	/* draw data */
-	gdk_gc_set_rgb_fg_color( fg2, &base->m_ForeGround2 );
+	gdk_gc_set_rgb_fg_color( fg2, &base->colors[2] );
 	for( x = w; x >= 0; x-- )
 	{
 		current.x = x;
diff --git a/panel-plugin/properties.c b/panel-plugin/properties.c
index 00aa041..21e66a7 100644
--- a/panel-plugin/properties.c
+++ b/panel-plugin/properties.c
@@ -8,10 +8,7 @@ static void CreateDropDown( GtkBox *tab, GtkSizeGroup *sg, const char * name, co
 static void SetupUpdateIntervalOption( GtkBox *vbox, GtkSizeGroup *sg, CPUGraph *base );
 static void SetupWidthOption( GtkBox *vbox, GtkSizeGroup *sg, XfcePanelPlugin *plugin, CPUGraph *base );
 static void SetupAssociateCommandOption( GtkBox *vbox, GtkSizeGroup *sg, CPUGraph *base );
-static void SetupForeground1Option( GtkBox *vbox, GtkSizeGroup *sg, SOptions *op, CPUGraph *base );
-static void SetupForeground2Option( GtkBox *vbox, GtkSizeGroup *sg, SOptions *op, CPUGraph *base );
-static void SetupForeground3Option( GtkBox *vbox, GtkSizeGroup *sg, SOptions *op, CPUGraph *base );
-static void SetupBackgroundOption( GtkBox *vbox, GtkSizeGroup *sg, SOptions *op, CPUGraph *base );
+static void SetupColorOption( GtkBox *vbox, GtkSizeGroup *sg, CPUGraph *base, int number, const gchar *name, GCallback cb );
 static void SetupModesOption( GtkBox *vbox, GtkSizeGroup *sg, CPUGraph *base );
 static void SetupColormodeOption( GtkBox *vbox, GtkSizeGroup *sg, CPUGraph *base );
 
@@ -22,7 +19,6 @@ void CreateOptions( XfcePanelPlugin *plugin, CPUGraph *base )
 	GtkBox *vbox, *vbox2;
 	GtkWidget *label;
 	GtkSizeGroup *sg;
-	SOptions *op = &base->m_Options;
 	GtkWidget *Notebook;
 
 	xfce_panel_plugin_block_menu( plugin );
@@ -47,32 +43,22 @@ void CreateOptions( XfcePanelPlugin *plugin, CPUGraph *base )
 	gtk_widget_show( header );
 	gtk_box_pack_start( GTK_BOX( GTK_DIALOG( dlg )->vbox ), header, FALSE, TRUE, 0 );
 
-	vbox = CreateTab();
-
 	sg = gtk_size_group_new( GTK_SIZE_GROUP_HORIZONTAL );
 
+	vbox = CreateTab();
 	SetupUpdateIntervalOption( vbox, sg, base );
-
 	SetupWidthOption( vbox, sg, plugin, base );
-
 	CreateCheckBox( vbox, sg, _("Non-linear time-scale"), base->m_TimeScale, TimeScaleChange, base );
-
 	CreateCheckBox( vbox, sg, _("Show frame"), base->m_Frame, FrameChange, base );
-
 	SetupAssociateCommandOption( vbox, sg, base );
 
 	vbox2 = CreateTab();
-
-	SetupForeground1Option( vbox2, sg, op, base );
-
-	SetupForeground2Option( vbox2, sg, op, base );
-
-	SetupForeground3Option( vbox2, sg, op, base );
-
-	SetupBackgroundOption( vbox2, sg, op, base );
-
+	SetupColorOption( vbox2, sg, base, 1, _("Color 1:"), G_CALLBACK( ChangeColor1 ) );
+	SetupColorOption( vbox2, sg, base, 2, _("Color 2:"), G_CALLBACK( ChangeColor2 ) );
+	SetupColorOption( vbox2, sg, base, 3, _("Color 3:"), G_CALLBACK( ChangeColor3 ) );
+	SetupColorOption( vbox2, sg, base, 0, _("Background:"), G_CALLBACK( ChangeColor0 ) );
+	select_active_colors( base );
 	SetupModesOption( vbox2, sg, base );
-
 	SetupColormodeOption( vbox2, sg, base );
 
 	Notebook = gtk_notebook_new();
@@ -205,64 +191,17 @@ static void SetupAssociateCommandOption( GtkBox *vbox, GtkSizeGroup *sg, CPUGrap
 	g_signal_connect( AssociateCommand, "changed", G_CALLBACK( AssociateCommandChange ), base );
 }
 
-static void SetupForeground1Option( GtkBox *vbox, GtkSizeGroup *sg, SOptions *op, CPUGraph *base )
+static void SetupColorOption( GtkBox *vbox, GtkSizeGroup *sg, CPUGraph *base, int number, const gchar * name, GCallback cb )
 {
 	GtkBox *hbox;
 
-	hbox = CreateOptionLine( vbox, sg, _("Color 1:") );
-
-	op->m_FG1 = gtk_color_button_new_with_color(&base->m_ForeGround1);
-	gtk_widget_show( GTK_WIDGET( op->m_FG1 ) );
-	gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( op->m_FG1 ), FALSE, FALSE, 0 );
-
-	g_signal_connect( op->m_FG1, "color-set", G_CALLBACK( ChangeColor1 ), base );
-}
-
-static void SetupForeground2Option( GtkBox *vbox, GtkSizeGroup *sg, SOptions *op, CPUGraph *base )
-{
-	GtkBox *hbox;
-
-	hbox = CreateOptionLine( vbox, sg, _("Color 2:") );
-
-	op->m_FG2 = gtk_color_button_new_with_color(&base->m_ForeGround2);
-	gtk_widget_show( GTK_WIDGET( op->m_FG2 ) );
-	gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( op->m_FG2 ), FALSE, FALSE, 0 );
-
-	g_signal_connect( op->m_FG2, "color-set", G_CALLBACK( ChangeColor2 ), base );
-
-	if( base->m_Mode == 1 )
-		gtk_widget_set_sensitive( GTK_WIDGET( base->m_Options.m_FG2 ), TRUE );
-}
-
-static void SetupForeground3Option( GtkBox *vbox, GtkSizeGroup *sg, SOptions *op, CPUGraph *base )
-{
-	GtkBox *hbox;
-
-	hbox = CreateOptionLine( vbox, sg, _("Color 3:") );
-
-	op->m_FG3 = gtk_color_button_new_with_color(&base->m_ForeGround3);
-	gtk_widget_show( GTK_WIDGET( op->m_FG3 ) );
-	gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( op->m_FG3 ), FALSE, FALSE, 0 );
-
-	g_signal_connect( op->m_FG3, "color-set", G_CALLBACK( ChangeColor4 ), base );
-
-	if( base->m_Mode == 0 || base->m_Mode == 2 || base->m_ColorMode == 0 )
-		gtk_widget_set_sensitive( GTK_WIDGET( base->m_Options.m_FG3 ), FALSE );
-	else
-		gtk_widget_set_sensitive( GTK_WIDGET( base->m_Options.m_FG3 ), TRUE );
-
-}
-
-static void SetupBackgroundOption( GtkBox *vbox, GtkSizeGroup *sg, SOptions *op, CPUGraph *base )
-{
-	GtkBox *hbox;
+	hbox = CreateOptionLine( vbox, sg, name );
 
-	hbox = CreateOptionLine( vbox, sg, _("Background:") );
-	op->m_BG = gtk_color_button_new_with_color(&base->m_BackGround);
-	gtk_widget_show( GTK_WIDGET( op->m_BG ) );
-	gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( op->m_BG ), FALSE, FALSE, 0 );
+	base->color_buttons[number] = gtk_color_button_new_with_color( &base->colors[number] );
+	gtk_widget_show( GTK_WIDGET( base->color_buttons[number] ) );
+	gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( base->color_buttons[number] ), FALSE, FALSE, 0 );
 
-	g_signal_connect( op->m_BG, "color-set", G_CALLBACK( ChangeColor3 ), base );
+	g_signal_connect( base->color_buttons[number], "color-set", cb, base );
 }
 
 static void SetupModesOption( GtkBox *vbox, GtkSizeGroup *sg, CPUGraph *base )
diff --git a/panel-plugin/settings.c b/panel-plugin/settings.c
index 546313d..45bfb42 100644
--- a/panel-plugin/settings.c
+++ b/panel-plugin/settings.c
@@ -70,10 +70,10 @@ void ReadSettings( XfcePanelPlugin * plugin, CPUGraph * base )
 	set_color_mode( base, color_mode );
 	set_frame( base, frame );
 	set_command( base, associated_command );
-	set_foreground_color1( base, foreground1 );
-	set_foreground_color2( base, foreground2 );
-	set_foreground_color3( base, foreground3 );
-	set_background_color( base, background );
+	set_color( base, 1, foreground1 );
+	set_color( base, 2, foreground2 );
+	set_color( base, 3, foreground3 );
+	set_color( base, 0, background );
 }
 
 void WriteSettings( XfcePanelPlugin *plugin, CPUGraph *base )
@@ -105,16 +105,16 @@ void WriteSettings( XfcePanelPlugin *plugin, CPUGraph *base )
 
 	xfce_rc_write_int_entry( rc, "ColorMode", base->m_ColorMode );
 
-	g_snprintf( value, 8, "#%02X%02X%02X", base->m_ForeGround1.red >> 8, base->m_ForeGround1.green >> 8, base->m_ForeGround1.blue >> 8 );
+	g_snprintf( value, 8, "#%02X%02X%02X", base->colors[1].red >> 8, base->colors[1].green >> 8, base->colors[1].blue >> 8 );
 	xfce_rc_write_entry( rc, "Foreground1", value );
 
-	g_snprintf( value, 8, "#%02X%02X%02X", base->m_ForeGround2.red >> 8, base->m_ForeGround2.green >> 8, base->m_ForeGround2.blue >> 8 );
+	g_snprintf( value, 8, "#%02X%02X%02X", base->colors[2].red >> 8, base->colors[2].green >> 8, base->colors[2].blue >> 8 );
 	xfce_rc_write_entry( rc, "Foreground2", value );
 
-	g_snprintf( value, 8, "#%02X%02X%02X", base->m_BackGround.red >> 8, base->m_BackGround.green >> 8, base->m_BackGround.blue >> 8 );
+	g_snprintf( value, 8, "#%02X%02X%02X", base->colors[0].red >> 8, base->colors[0].green >> 8, base->colors[0].blue >> 8 );
 	xfce_rc_write_entry( rc, "Background", value );
 
-	g_snprintf( value, 8, "#%02X%02X%02X", base->m_ForeGround3.red >> 8, base->m_ForeGround3.green >> 8, base->m_ForeGround3.blue >> 8 );
+	g_snprintf( value, 8, "#%02X%02X%02X", base->colors[3].red >> 8, base->colors[3].green >> 8, base->colors[3].blue >> 8 );
 	xfce_rc_write_entry( rc, "Foreground3", value );
 
 	xfce_rc_close( rc );



More information about the Xfce4-commits mailing list