[Xfce4-commits] <xfce4-cpugraph-plugin:master> Split the code into more files
Florian
noreply at xfce.org
Sat Apr 17 16:16:13 CEST 2010
Updating branch refs/heads/master
to 154acbbd84006189593ac4cf9eac9566ec088f4a (commit)
from f66c35895bea6dcd3c30df800bf5312f2d606871 (commit)
commit 154acbbd84006189593ac4cf9eac9566ec088f4a
Author: Florian Rivoal <frivoal at gmail.com>
Date: Wed Feb 10 10:30:29 2010 +0900
Split the code into more files
Make smaller, easier to manage files by breaking up the (too large for
my taste) cpu.c.
panel-plugin/Makefile.am | 6 +-
panel-plugin/actions.c | 228 +++++++++++++++
panel-plugin/actions.h | 17 +
panel-plugin/cpu.c | 713 ---------------------------------------------
panel-plugin/cpu.h | 17 +-
panel-plugin/properties.c | 332 +++++++++++++++++++++
panel-plugin/settings.c | 155 ++++++++++
7 files changed, 738 insertions(+), 730 deletions(-)
diff --git a/panel-plugin/Makefile.am b/panel-plugin/Makefile.am
index c69a517..8568206 100644
--- a/panel-plugin/Makefile.am
+++ b/panel-plugin/Makefile.am
@@ -14,7 +14,11 @@ xfce4_cpugraph_plugin_SOURCES = \
cpu.c \
cpu.h \
os.c \
- os.h
+ os.h \
+ properties.c \
+ settings.c \
+ actions.c \
+ actions.h
# .desktop file
#
diff --git a/panel-plugin/actions.c b/panel-plugin/actions.c
new file mode 100644
index 0000000..ad12748
--- /dev/null
+++ b/panel-plugin/actions.c
@@ -0,0 +1,228 @@
+#include <actions.h>
+
+void AssociateCommandChange( GtkEntry *entry, CPUGraph * base )
+{
+ g_free (base->m_AssociateCommand );
+ base->m_AssociateCommand = g_strdup( gtk_entry_get_text( entry ) );
+}
+
+void ChangeColor( int color, CPUGraph * base )
+{
+ GtkWidget *dialog;
+ GtkColorSelection *colorsel;
+ gint response;
+
+ dialog = gtk_color_selection_dialog_new( "Select color" );
+ gtk_window_set_transient_for( GTK_WINDOW( dialog ), GTK_WINDOW( base->m_OptionsDialog ) );
+
+ colorsel = GTK_COLOR_SELECTION( GTK_COLOR_SELECTION_DIALOG( dialog )->colorsel );
+
+ if( color == 0 )
+ {
+ gtk_color_selection_set_previous_color( colorsel, &base->m_ForeGround1 );
+ gtk_color_selection_set_current_color( colorsel, &base->m_ForeGround1 );
+ }
+ else if( color == 1 )
+ {
+ gtk_color_selection_set_previous_color( colorsel, &base->m_ForeGround2 );
+ gtk_color_selection_set_current_color( colorsel, &base->m_ForeGround2 );
+ }
+ else if( color == 2 )
+ {
+ gtk_color_selection_set_previous_color( colorsel, &base->m_BackGround );
+ gtk_color_selection_set_current_color( colorsel, &base->m_BackGround );
+ }
+ else if( color == 3 )
+ {
+ gtk_color_selection_set_previous_color( colorsel, &base->m_ForeGround3 );
+ gtk_color_selection_set_current_color( colorsel, &base->m_ForeGround3 );
+ }
+
+ gtk_color_selection_set_has_palette( colorsel, TRUE );
+
+ response = gtk_dialog_run( GTK_DIALOG( dialog ) );
+ if( response == GTK_RESPONSE_OK )
+ {
+ if( color == 0 )
+ {
+ gtk_color_selection_get_current_color( colorsel, &base->m_ForeGround1 );
+ gtk_widget_modify_bg( base->m_Options.m_ColorDA, GTK_STATE_NORMAL, &base->m_ForeGround1 );
+ }
+ else if( color == 1 )
+ {
+ gtk_color_selection_get_current_color( colorsel, &base->m_ForeGround2 );
+ gtk_widget_modify_bg( base->m_Options.m_ColorDA2, GTK_STATE_NORMAL, &base->m_ForeGround2 );
+ }
+ else if( color == 2 )
+ {
+ gtk_color_selection_get_current_color( colorsel, &base->m_BackGround );
+ gtk_widget_modify_bg( base->m_Options.m_ColorDA3, GTK_STATE_NORMAL, &base->m_BackGround );
+ }
+ else if( color == 3 )
+ {
+ gtk_color_selection_get_current_color( colorsel, &base->m_ForeGround3 );
+ gtk_widget_modify_bg( base->m_Options.m_ColorDA5, GTK_STATE_NORMAL, &base->m_ForeGround3 );
+ }
+ }
+
+ gtk_widget_destroy( dialog );
+
+}
+
+void ChangeColor1( GtkButton * button, CPUGraph * base )
+{
+ ChangeColor( 0, base );
+}
+
+void ChangeColor2( GtkButton * button, CPUGraph * base )
+{
+ ChangeColor( 1, base );
+}
+
+void ChangeColor3( GtkButton * button, CPUGraph * base )
+{
+ ChangeColor( 2, base );
+}
+
+void ChangeColor4( GtkButton * button, CPUGraph * base )
+{
+ ChangeColor( 3, base );
+}
+
+void ColorModeChange( GtkOptionMenu * om, CPUGraph * base )
+{
+ base->m_ColorMode = 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 );
+ }
+}
+
+void DialogResponse( GtkWidget *dlg, int response, CPUGraph *base )
+{
+ ApplyChanges( base );
+ gtk_widget_destroy( dlg );
+ xfce_panel_plugin_unblock_menu( base->plugin );
+ WriteSettings( base->plugin, base );
+}
+
+void ApplyChanges( CPUGraph * base )
+{
+ int update;
+
+ if( base->m_TimeoutID )
+ g_source_remove( base->m_TimeoutID );
+ switch( base->m_UpdateInterval )
+ {
+ case 0:
+ update = 250;
+ break;
+ case 1:
+ update = 500;
+ break;
+ case 2:
+ update = 750;
+ break;
+ default:
+ update = 1000;
+ }
+ base->m_TimeoutID = g_timeout_add( update, (GtkFunction) UpdateCPU, base );
+
+ UserSetSize( base );
+ SetHistorySize( base, base->m_Width );
+}
+
+void FrameChange( GtkToggleButton * button, CPUGraph * base )
+{
+ base->m_Frame = gtk_toggle_button_get_active( button );
+ gtk_frame_set_shadow_type( GTK_FRAME( base->m_FrameWidget ), base->m_Frame ? GTK_SHADOW_IN : GTK_SHADOW_NONE );
+}
+
+void ModeChange( GtkOptionMenu * om, CPUGraph * base )
+{
+ base->m_Mode = 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 SpinChange( GtkSpinButton * sb, int *value )
+{
+ (*value) = gtk_spin_button_get_value_as_int( sb );
+}
+
+void TimeScaleChange( GtkToggleButton * button, CPUGraph * base )
+{
+ base->m_TimeScale = gtk_toggle_button_get_active( button );
+}
+
+void UpdateChange( GtkOptionMenu * om, CPUGraph * base )
+{
+ base->m_UpdateInterval = gtk_option_menu_get_history( om );
+}
+
+void SetHistorySize( CPUGraph * base, int size )
+{
+ int i;
+ base->m_History = (long *) g_realloc( base->m_History, 2 * size * sizeof( long ) );
+
+ base->m_CpuData = cpuData_read();
+ base->m_CpuData[0].pUsed = 0;
+ base->m_CpuData[0].pTotal = 0;
+ long usage = base->m_CpuData[0].load;
+ for( i = size - 1; i >= base->m_Values; i-- )
+ {
+ base->m_History[i] = usage;
+ base->m_History[i+size] = base->m_CpuData[0].scalCurFreq;
+ }
+ base->m_Values = size;
+}
diff --git a/panel-plugin/actions.h b/panel-plugin/actions.h
new file mode 100644
index 0000000..20c4204
--- /dev/null
+++ b/panel-plugin/actions.h
@@ -0,0 +1,17 @@
+#include <cpu.h>
+
+void AssociateCommandChange( GtkEntry *entry, CPUGraph *base );
+void ChangeColor( int color, CPUGraph *base );
+void ChangeColor1( GtkButton *button, CPUGraph *base );
+void ChangeColor2( GtkButton *button, CPUGraph *base );
+void ChangeColor3( GtkButton *button, CPUGraph *base );
+void ChangeColor4( GtkButton *button, CPUGraph *base );
+void ColorModeChange( GtkOptionMenu *om, CPUGraph *base );
+void DialogResponse( GtkWidget *dlg, int response, CPUGraph *base );
+void ApplyChanges( CPUGraph *base );
+void FrameChange( GtkToggleButton *button, CPUGraph *base );
+void ModeChange( GtkOptionMenu *om, CPUGraph *base );
+void SpinChange( GtkSpinButton *sb, int *value );
+void TimeScaleChange( GtkToggleButton *button, CPUGraph *base );
+void UpdateChange( GtkOptionMenu *om, CPUGraph *base );
+void SetHistorySize( CPUGraph * base, int size );
diff --git a/panel-plugin/cpu.c b/panel-plugin/cpu.c
index a2bcd01..3e6cbf3 100644
--- a/panel-plugin/cpu.c
+++ b/panel-plugin/cpu.c
@@ -50,159 +50,6 @@ void Kill( XfcePanelPlugin * plugin, CPUGraph * base )
g_free( base );
}
-void ReadSettings( XfcePanelPlugin * plugin, CPUGraph * base )
-{
- const char *value;
- char *file;
- XfceRc *rc;
- int update;
-
- base->m_Width = 70;
-
- base->m_ForeGround1.red = 0;
- base->m_ForeGround1.green = 65535;
- base->m_ForeGround1.blue = 0;
-
- base->m_ForeGround2.red = 65535;
- base->m_ForeGround2.green = 0;
- base->m_ForeGround2.blue = 0;
-
- base->m_ForeGround3.red = 0;
- base->m_ForeGround3.green = 0;
- base->m_ForeGround3.blue = 65535;
-
- base->m_BackGround.red = 65535;
- base->m_BackGround.green = 65535;
- base->m_BackGround.blue = 65535;
-
- base->m_TimeScale = 0;
- base->m_Frame = 0;
- base->m_AssociateCommand = NULL;
- base->m_ColorMode = 0;
- base->m_Mode = 0;
-
- if( (file = xfce_panel_plugin_lookup_rc_file( plugin )) != NULL )
- {
- rc = xfce_rc_simple_open( file, TRUE );
- g_free( file );
-
- if( rc )
- {
- base->m_UpdateInterval =
- xfce_rc_read_int_entry (rc, "UpdateInterval",
- base->m_UpdateInterval);
-
- base->m_TimeScale =
- xfce_rc_read_int_entry (rc, "TimeScale",
- base->m_TimeScale);
-
- base->m_Width =
- xfce_rc_read_int_entry( rc, "Width", base->m_Width );
-
- base->m_Mode = xfce_rc_read_int_entry( rc, "Mode", base->m_Mode );
-
- base->m_Frame =
- xfce_rc_read_int_entry( rc, "Frame", base->m_Frame );
-
- if( value = xfce_rc_read_entry( rc, "AssociateCommand", DEFAULT_COMMAND ) ) {
- base->m_AssociateCommand = g_strdup(value);
- }
- else
- {
- base->m_AssociateCommand = g_strdup( DEFAULT_COMMAND );
- }
-
- base->m_ColorMode =
- xfce_rc_read_int_entry( rc, "ColorMode", base->m_ColorMode );
-
- if( (value = xfce_rc_read_entry( rc, "Foreground1", NULL )) )
- {
- gdk_color_parse( value, &base->m_ForeGround1 );
- }
- if( (value = xfce_rc_read_entry( rc, "Foreground2", NULL )) )
- {
- gdk_color_parse( value, &base->m_ForeGround2 );
- }
- if( (value = xfce_rc_read_entry( rc, "Background", NULL )) )
- {
- gdk_color_parse( value, &base->m_BackGround );
- }
- if( (value = xfce_rc_read_entry( rc, "Foreground3", NULL )) )
- {
- gdk_color_parse( value, &base->m_ForeGround3 );
- }
-
- xfce_rc_close( rc );
- }
- }
- else
- {
- base->m_AssociateCommand = g_strdup( DEFAULT_COMMAND );
- }
- SetHistorySize( base, base->m_Width );
- if( base->m_TimeoutID )
- g_source_remove( base->m_TimeoutID );
- switch( base->m_UpdateInterval )
- {
- case 0:
- update = 250;
- break;
- case 1:
- update = 500;
- break;
- case 2:
- update = 750;
- break;
- default:
- update = 1000;
- }
- base->m_TimeoutID = g_timeout_add( update, (GtkFunction) UpdateCPU, base );
- gtk_frame_set_shadow_type( GTK_FRAME(base->m_FrameWidget ), base->m_Frame ? GTK_SHADOW_IN : GTK_SHADOW_NONE );
-}
-
-void WriteSettings( XfcePanelPlugin *plugin, CPUGraph *base )
-{
- char value[10];
- XfceRc *rc;
- char *file;
-
- if( !(file = xfce_panel_plugin_save_location( plugin, TRUE )) )
- return;
-
- rc = xfce_rc_simple_open( file, FALSE );
- g_free( file );
-
- if( !rc )
- return;
-
- xfce_rc_write_int_entry( rc, "UpdateInterval", base->m_UpdateInterval );
-
- xfce_rc_write_int_entry( rc, "TimeScale", base->m_TimeScale );
-
- xfce_rc_write_int_entry( rc, "Width", base->m_Width );
-
- xfce_rc_write_int_entry( rc, "Mode", base->m_Mode );
-
- xfce_rc_write_int_entry( rc, "Frame", base->m_Frame );
-
- xfce_rc_write_entry( rc, "AssociateCommand", base->m_AssociateCommand ? base->m_AssociateCommand : "" );
-
- 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 );
- 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 );
- 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 );
- 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 );
- xfce_rc_write_entry( rc, "Foreground3", value );
-
- xfce_rc_close( rc );
-}
CPUGraph * CreateControl( XfcePanelPlugin * plugin )
{
@@ -356,345 +203,6 @@ void UserSetSize( CPUGraph * base )
SetSize( base->plugin, xfce_panel_plugin_get_size( base->plugin ), base );
}
-static void DialogResponse( GtkWidget *dlg, int response, CPUGraph *base )
-{
- ApplyChanges( base );
- gtk_widget_destroy( dlg );
- xfce_panel_plugin_unblock_menu( base->plugin );
- WriteSettings( base->plugin, base );
-}
-
-void CreateOptions( XfcePanelPlugin *plugin, CPUGraph *base )
-{
- GtkWidget *dlg, *header;
- GtkBox *vbox, *vbox2, *hbox;
- GtkWidget *label;
- GtkSizeGroup *sg;
- SOptions *op = &base->m_Options;
-
- xfce_panel_plugin_block_menu( plugin );
-
- dlg = gtk_dialog_new_with_buttons( _("Configure CPU Graph"),
- GTK_WINDOW( gtk_widget_get_toplevel( GTK_WIDGET( plugin ) ) ),
- GTK_DIALOG_DESTROY_WITH_PARENT | GTK_DIALOG_NO_SEPARATOR,
- GTK_STOCK_CLOSE,
- GTK_RESPONSE_OK,
- NULL
- );
-
- base->m_OptionsDialog = dlg;
-
- g_signal_connect( dlg, "response", G_CALLBACK( DialogResponse ), base );
-
- gtk_container_set_border_width( GTK_CONTAINER( dlg ), 2 );
-
- header = xfce_create_header( NULL, _("CPU Graph") );
- gtk_widget_set_size_request( GTK_BIN( header )->child, -1, 32 );
- gtk_container_set_border_width( GTK_CONTAINER( header ), BORDER - 2 );
- gtk_widget_show( header );
- gtk_box_pack_start( GTK_BOX( GTK_DIALOG( dlg )->vbox ), header, FALSE, TRUE, 0 );
-
- vbox = GTK_BOX( gtk_vbox_new( FALSE, BORDER ) );
- gtk_container_set_border_width( GTK_CONTAINER( vbox ), BORDER );
- gtk_widget_show( GTK_WIDGET( vbox ) );
-
- sg = gtk_size_group_new( GTK_SIZE_GROUP_HORIZONTAL );
-
- /* Update Interval */
-
- hbox = GTK_BOX( gtk_hbox_new( FALSE, BORDER ) );
- gtk_widget_show( GTK_WIDGET( hbox ) );
- gtk_box_pack_start( GTK_BOX( vbox ), GTK_WIDGET( hbox ), FALSE, FALSE, 0 );
- label = gtk_label_new( _("Update Interval: ") );
- gtk_misc_set_alignment( GTK_MISC( label ), 0, 0.5 );
- gtk_size_group_add_widget( sg, label );
- gtk_widget_show( label );
- gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( label ), FALSE, FALSE, 0 );
-
- op->m_UpdateOption = gtk_option_menu_new();
- gtk_widget_show( op->m_UpdateOption );
- gtk_box_pack_start( GTK_BOX( hbox ), op->m_UpdateOption, FALSE, FALSE, 0 );
-
- op->m_UpdateMenu = gtk_menu_new();
- gtk_option_menu_set_menu( GTK_OPTION_MENU( op->m_UpdateOption ), op->m_UpdateMenu );
-
- op->m_UpdateMenuItem = gtk_menu_item_new_with_label( _("Fastest (~250ms)") );
- gtk_widget_show( op->m_UpdateMenuItem );
- gtk_menu_shell_append( GTK_MENU_SHELL( op->m_UpdateMenu ), op->m_UpdateMenuItem );
-
- op->m_UpdateMenuItem = gtk_menu_item_new_with_label( _("Fast (~500ms)") );
- gtk_widget_show( op->m_UpdateMenuItem );
- gtk_menu_shell_append( GTK_MENU_SHELL( op->m_UpdateMenu ), op->m_UpdateMenuItem );
-
- op->m_UpdateMenuItem = gtk_menu_item_new_with_label( _("Normal (~750ms)") );
- gtk_widget_show( op->m_UpdateMenuItem );
- gtk_menu_shell_append( GTK_MENU_SHELL( op->m_UpdateMenu ), op->m_UpdateMenuItem );
-
- op->m_UpdateMenuItem = gtk_menu_item_new_with_label( _("Slow (~1s)") );
- gtk_widget_show( op->m_UpdateMenuItem );
- gtk_menu_shell_append( GTK_MENU_SHELL( op->m_UpdateMenu ), op->m_UpdateMenuItem );
-
- gtk_option_menu_set_history( GTK_OPTION_MENU( op->m_UpdateOption ), base->m_UpdateInterval );
-
- g_signal_connect( op->m_UpdateOption, "changed", G_CALLBACK( UpdateChange ), base );
-
- /* Width */
-
- hbox = GTK_BOX( gtk_hbox_new( FALSE, BORDER ) );
- gtk_widget_show( GTK_WIDGET( hbox ) );
- gtk_box_pack_start( GTK_BOX( vbox ), GTK_WIDGET( hbox ), FALSE, FALSE, 0 );
-
- if( xfce_panel_plugin_get_orientation( plugin ) == GTK_ORIENTATION_HORIZONTAL )
- label = gtk_label_new( _("Width:") );
- else
- label = gtk_label_new( _("Height:") );
- gtk_misc_set_alignment( GTK_MISC( label ), 0, 0.5 );
- gtk_size_group_add_widget( sg, label );
- gtk_widget_show( label );
- gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( label ), FALSE, FALSE, 0 );
-
- op->m_Width = gtk_spin_button_new_with_range( 10, 128, 1 );
- gtk_spin_button_set_value( GTK_SPIN_BUTTON( op->m_Width ), base->m_Width );
- gtk_widget_show( op->m_Width );
- gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( op->m_Width ), FALSE, FALSE, 0 );
- g_signal_connect( op->m_Width, "value-changed", G_CALLBACK( SpinChange ), &base->m_Width );
-
- /* TimeScale */
- hbox = GTK_BOX( gtk_hbox_new( FALSE, BORDER ) );
- gtk_widget_show( GTK_WIDGET( hbox ) );
- gtk_box_pack_start( GTK_BOX( vbox ), GTK_WIDGET( hbox ), FALSE, FALSE, 0 );
-
- op->m_TimeScale = gtk_check_button_new_with_mnemonic( _("Non-linear time-scale") );
- gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( op->m_TimeScale ), base->m_TimeScale );
- gtk_widget_show( op->m_TimeScale );
- gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( op->m_TimeScale ), FALSE, FALSE, 0 );
- g_signal_connect( op->m_TimeScale, "toggled", G_CALLBACK( TimeScaleChange ), base );
- gtk_size_group_add_widget( sg, op->m_TimeScale );
-
- /* Frame */
-
- hbox = GTK_BOX( gtk_hbox_new( FALSE, BORDER ) );
- gtk_widget_show( GTK_WIDGET( hbox ) );
- gtk_box_pack_start( GTK_BOX( vbox ), GTK_WIDGET( hbox ), FALSE, FALSE, 0 );
-
- op->m_GraphFrame = gtk_check_button_new_with_mnemonic( _("Show frame") );
- gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( op->m_GraphFrame ), base->m_Frame );
- gtk_widget_show( op->m_GraphFrame );
- gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( op->m_GraphFrame ), FALSE, FALSE, 0 );
- g_signal_connect( op->m_GraphFrame, "toggled", G_CALLBACK( FrameChange ), base );
- gtk_size_group_add_widget( sg, op->m_GraphFrame );
-
- vbox2 = GTK_BOX( gtk_vbox_new( FALSE, BORDER ) );
- gtk_widget_show( GTK_WIDGET( vbox2 ) );
- gtk_container_set_border_width( GTK_CONTAINER( vbox2 ), 8 );
-
- /* Associate Command */
-
- hbox = GTK_BOX( gtk_hbox_new( FALSE, BORDER ) );
- gtk_widget_show( GTK_WIDGET( hbox ) );
- gtk_box_pack_start( GTK_BOX( vbox ), GTK_WIDGET( hbox ), FALSE, FALSE, 0 );
- label = gtk_label_new( _("Associated command :") );
- gtk_misc_set_alignment( GTK_MISC( label ), 0, 0.5 );
- gtk_size_group_add_widget( sg, label );
- gtk_widget_show( label );
- gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( label ), FALSE, FALSE, 0 );
- op->m_AssociateCommand = gtk_entry_new();
- gtk_entry_set_max_length( GTK_ENTRY(op->m_AssociateCommand), 32 );
- gtk_entry_set_text( GTK_ENTRY(op->m_AssociateCommand), base->m_AssociateCommand );
- gtk_widget_show( op->m_AssociateCommand );
- gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( op->m_AssociateCommand ), FALSE, FALSE, 0 );
- g_signal_connect( op->m_AssociateCommand, "changed", G_CALLBACK( AssociateCommandChange ), base );
-
- /* Foreground 1 */
-
- hbox = GTK_BOX( gtk_hbox_new( FALSE, BORDER ) );
- gtk_widget_show( GTK_WIDGET( hbox ) );
- gtk_box_pack_start( GTK_BOX( vbox2 ), GTK_WIDGET( hbox ), FALSE, FALSE, 0 );
-
- label = gtk_label_new( _("Color 1:") );
- gtk_misc_set_alignment( GTK_MISC( label ), 0, 0.5 );
- gtk_size_group_add_widget( sg, label );
- gtk_widget_show( label );
- gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( label ), FALSE, FALSE, 0 );
-
- op->m_FG1 = gtk_button_new();
- op->m_ColorDA = gtk_drawing_area_new();
-
- gtk_widget_modify_bg( op->m_ColorDA, GTK_STATE_NORMAL, &base->m_ForeGround1 );
- gtk_widget_set_size_request( op->m_ColorDA, 12, 12 );
- gtk_container_add( GTK_CONTAINER( op->m_FG1 ), op->m_ColorDA );
- gtk_widget_show( GTK_WIDGET( op->m_FG1 ) );
- gtk_widget_show( GTK_WIDGET( op->m_ColorDA ) );
- gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( op->m_FG1 ), FALSE, FALSE, 0 );
-
- g_signal_connect( op->m_FG1, "clicked", G_CALLBACK( ChangeColor1 ), base );
-
- /* Foreground2 */
-
- hbox = GTK_BOX( gtk_hbox_new( FALSE, BORDER ) );
- gtk_widget_show( GTK_WIDGET( hbox ) );
- gtk_box_pack_start( GTK_BOX( vbox2 ), GTK_WIDGET( hbox ), FALSE, FALSE, 0 );
-
- label = gtk_label_new( _("Color 2:") );
- gtk_misc_set_alignment( GTK_MISC( label ), 0, 0.5 );
- gtk_size_group_add_widget( sg, label );
- gtk_widget_show( label );
- gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( label ), FALSE, FALSE, 0 );
-
- op->m_FG2 = gtk_button_new();
- op->m_ColorDA2 = gtk_drawing_area_new();
-
- gtk_widget_modify_bg( op->m_ColorDA2, GTK_STATE_NORMAL, &base->m_ForeGround2 );
- gtk_widget_set_size_request( op->m_ColorDA2, 12, 12 );
- gtk_container_add( GTK_CONTAINER( op->m_FG2 ), op->m_ColorDA2 );
- gtk_widget_show( GTK_WIDGET( op->m_FG2 ) );
- gtk_widget_show( GTK_WIDGET( op->m_ColorDA2 ) );
- gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( op->m_FG2 ), FALSE, FALSE, 0 );
-
- g_signal_connect( op->m_FG2, "clicked", G_CALLBACK( ChangeColor2 ), base );
-
- if( base->m_Mode == 1 )
- gtk_widget_set_sensitive( GTK_WIDGET( base->m_Options.m_FG2 ), TRUE );
-
- /* Foreground3 */
-
- hbox = GTK_BOX( gtk_hbox_new( FALSE, BORDER ) );
- gtk_widget_show( GTK_WIDGET( hbox ) );
- gtk_box_pack_start( GTK_BOX( vbox2 ), GTK_WIDGET( hbox ), FALSE, FALSE, 0 );
-
- label = gtk_label_new( _("Color 3:") );
- gtk_misc_set_alignment( GTK_MISC( label ), 0, 0.5 );
- gtk_size_group_add_widget( sg, label );
- gtk_widget_show( label );
- gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( label ), FALSE, FALSE, 0 );
- op->m_FG3 = gtk_button_new();
- op->m_ColorDA5 = gtk_drawing_area_new();
- gtk_widget_modify_bg( op->m_ColorDA5, GTK_STATE_NORMAL, &base->m_ForeGround3 );
- gtk_widget_set_size_request( op->m_ColorDA5, 12, 12 );
- gtk_container_add( GTK_CONTAINER( op->m_FG3 ), op->m_ColorDA5 );
- gtk_widget_show( GTK_WIDGET( op->m_FG3 ) );
- gtk_widget_show( GTK_WIDGET( op->m_ColorDA5 ) );
- gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( op->m_FG3 ), FALSE, FALSE, 0 );
- g_signal_connect( op->m_FG3, "clicked", 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 );
-
-
- /* Background */
-
- hbox = GTK_BOX( gtk_hbox_new( FALSE, BORDER ) );
- gtk_widget_show( GTK_WIDGET( hbox ) );
- gtk_box_pack_start( GTK_BOX( vbox2 ), GTK_WIDGET( hbox ), FALSE, FALSE, 0 );
-
- label = gtk_label_new( _("Background:") );
- gtk_misc_set_alignment( GTK_MISC( label ), 0, 0.5 );
- gtk_size_group_add_widget( sg, label );
- gtk_widget_show( label );
- gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( label ), FALSE, FALSE, 0 );
-
- op->m_BG = gtk_button_new();
- op->m_ColorDA3 = gtk_drawing_area_new();
-
- gtk_widget_modify_bg( op->m_ColorDA3, GTK_STATE_NORMAL, &base->m_BackGround );
- gtk_widget_set_size_request( op->m_ColorDA3, 12, 12 );
- gtk_container_add( GTK_CONTAINER( op->m_BG ), op->m_ColorDA3 );
- gtk_widget_show( GTK_WIDGET( op->m_BG ) );
- gtk_widget_show( GTK_WIDGET( op->m_ColorDA3 ) );
- gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( op->m_BG ), FALSE, FALSE, 0 );
-
- g_signal_connect( op->m_BG, "clicked", G_CALLBACK( ChangeColor3 ), base );
-
- /* Modes */
-
- hbox = GTK_BOX( gtk_hbox_new( FALSE, BORDER ) );
- gtk_widget_show( GTK_WIDGET( hbox ) );
- gtk_box_pack_start( GTK_BOX( vbox2 ), GTK_WIDGET( hbox ), FALSE, FALSE, 0 );
-
- label = gtk_label_new( _("Mode:") );
- gtk_misc_set_alignment( GTK_MISC( label ), 0, 0.5 );
- gtk_size_group_add_widget( sg, label );
- gtk_widget_show( label );
- gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( label ), FALSE, FALSE, 0 );
-
- op->m_OptionMenu = gtk_option_menu_new();
- gtk_widget_show( op->m_OptionMenu );
- gtk_box_pack_start( GTK_BOX( hbox ), op->m_OptionMenu, FALSE, FALSE, 0 );
-
- op->m_Menu = gtk_menu_new();
- gtk_option_menu_set_menu( GTK_OPTION_MENU( op->m_OptionMenu ), op->m_Menu );
-
- op->m_MenuItem = gtk_menu_item_new_with_label( _("Normal") );
- gtk_widget_show( op->m_MenuItem );
- gtk_menu_shell_append( GTK_MENU_SHELL( op->m_Menu ), op->m_MenuItem );
-
- op->m_MenuItem = gtk_menu_item_new_with_label( _("LED") );
- gtk_widget_show( op->m_MenuItem );
- gtk_menu_shell_append( GTK_MENU_SHELL( op->m_Menu ), op->m_MenuItem );
-
- op->m_MenuItem = gtk_menu_item_new_with_label( _("No history") );
- gtk_widget_show( op->m_MenuItem );
- gtk_menu_shell_append( GTK_MENU_SHELL( op->m_Menu ), op->m_MenuItem );
-
- gtk_option_menu_set_history( GTK_OPTION_MENU( op->m_OptionMenu ), base->m_Mode );
-
- g_signal_connect( op->m_OptionMenu, "changed", G_CALLBACK( ModeChange ), base );
-
- /* Color mode */
-
- hbox = GTK_BOX( gtk_hbox_new( FALSE, BORDER ) );
- gtk_widget_show( GTK_WIDGET( hbox ) );
- gtk_box_pack_start( GTK_BOX( vbox2 ), GTK_WIDGET( hbox ), FALSE, FALSE, 0 );
- label = gtk_label_new( _("Color mode: ") );
- gtk_misc_set_alignment( GTK_MISC( label ), 0, 0.5 );
- gtk_size_group_add_widget( sg, label );
- gtk_widget_show( label );
- gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( label ), FALSE, FALSE, 0 );
-
- op->m_ModeOption = gtk_option_menu_new();
- gtk_widget_show( op->m_ModeOption );
- gtk_box_pack_start( GTK_BOX( hbox ), op->m_ModeOption, FALSE, FALSE, 0 );
-
- op->m_ModeMenu = gtk_menu_new();
- gtk_option_menu_set_menu( GTK_OPTION_MENU( op->m_ModeOption ), op->m_ModeMenu );
-
- op->m_ModeMenuItem = gtk_menu_item_new_with_label( _("None") );
- gtk_widget_show( op->m_ModeMenuItem );
- gtk_menu_shell_append( GTK_MENU_SHELL( op->m_ModeMenu ), op->m_ModeMenuItem );
-
- op->m_ModeMenuItem = gtk_menu_item_new_with_label( _("Gradient") );
- gtk_widget_show( op->m_ModeMenuItem );
- gtk_menu_shell_append( GTK_MENU_SHELL( op->m_ModeMenu ), op->m_ModeMenuItem );
-
- op->m_ModeMenuItem = gtk_menu_item_new_with_label( _("Fire") );
- gtk_widget_show( op->m_ModeMenuItem );
- gtk_menu_shell_append( GTK_MENU_SHELL( op->m_ModeMenu ), op->m_ModeMenuItem );
-
- op->m_ModeMenuItem = gtk_menu_item_new_with_label( "cpufreq" );
- gtk_widget_show( op->m_ModeMenuItem );
- gtk_menu_shell_append( GTK_MENU_SHELL( op->m_ModeMenu ), op->m_ModeMenuItem );
-
- gtk_option_menu_set_history( GTK_OPTION_MENU( op->m_ModeOption ), base->m_ColorMode );
-
- g_signal_connect( op->m_ModeOption, "changed", G_CALLBACK( ColorModeChange ), base );
-
- gtk_widget_show_all( GTK_WIDGET( hbox ) );
-
- op->m_Notebook = gtk_notebook_new();
- gtk_container_set_border_width( GTK_CONTAINER( op->m_Notebook ), BORDER - 2 );
- label = gtk_label_new( _("Appearance") );
- gtk_notebook_append_page( GTK_NOTEBOOK( op->m_Notebook ), GTK_WIDGET( vbox2 ), GTK_WIDGET( label ) );
- label = gtk_label_new( _("Advanced") );
- gtk_notebook_append_page( GTK_NOTEBOOK( op->m_Notebook ), GTK_WIDGET( vbox ), GTK_WIDGET( label ) );
- gtk_widget_show( op->m_Notebook );
-
- gtk_box_pack_start( GTK_BOX( GTK_DIALOG( dlg )->vbox), GTK_WIDGET( op->m_Notebook ), TRUE, TRUE, 0 );
-
- gtk_widget_show( dlg );
-}
-
gboolean UpdateCPU( CPUGraph * base )
{
gint i;
@@ -776,184 +284,6 @@ void DrawAreaExposeEvent( GtkWidget * da, GdkEventExpose * event, gpointer data
DrawGraph( base );
}
-void SpinChange( GtkSpinButton * sb, int *value )
-{
- (*value) = gtk_spin_button_get_value_as_int( sb );
-}
-
-void ApplyChanges( CPUGraph * base )
-{
- int update;
-
- if( base->m_TimeoutID )
- g_source_remove( base->m_TimeoutID );
- switch( base->m_UpdateInterval )
- {
- case 0:
- update = 250;
- break;
- case 1:
- update = 500;
- break;
- case 2:
- update = 750;
- break;
- default:
- update = 1000;
- }
- base->m_TimeoutID = g_timeout_add( update, (GtkFunction) UpdateCPU, base );
-
- UserSetSize( base );
- SetHistorySize( base, base->m_Width );
-}
-
-void ChangeColor1( GtkButton * button, CPUGraph * base )
-{
- ChangeColor( 0, base );
-}
-
-void ChangeColor2( GtkButton * button, CPUGraph * base )
-{
- ChangeColor( 1, base );
-}
-
-void ChangeColor3( GtkButton * button, CPUGraph * base )
-{
- ChangeColor( 2, base );
-}
-
-void ChangeColor4( GtkButton * button, CPUGraph * base )
-{
- ChangeColor( 3, base );
-}
-
-void ChangeColor( int color, CPUGraph * base )
-{
- GtkWidget *dialog;
- GtkColorSelection *colorsel;
- gint response;
-
- dialog = gtk_color_selection_dialog_new( "Select color" );
- gtk_window_set_transient_for( GTK_WINDOW( dialog ), GTK_WINDOW( base->m_OptionsDialog ) );
-
- colorsel = GTK_COLOR_SELECTION( GTK_COLOR_SELECTION_DIALOG( dialog )->colorsel );
-
- if( color == 0 )
- {
- gtk_color_selection_set_previous_color( colorsel, &base->m_ForeGround1 );
- gtk_color_selection_set_current_color( colorsel, &base->m_ForeGround1 );
- }
- else if( color == 1 )
- {
- gtk_color_selection_set_previous_color( colorsel, &base->m_ForeGround2 );
- gtk_color_selection_set_current_color( colorsel, &base->m_ForeGround2 );
- }
- else if( color == 2 )
- {
- gtk_color_selection_set_previous_color( colorsel, &base->m_BackGround );
- gtk_color_selection_set_current_color( colorsel, &base->m_BackGround );
- }
- else if( color == 3 )
- {
- gtk_color_selection_set_previous_color( colorsel, &base->m_ForeGround3 );
- gtk_color_selection_set_current_color( colorsel, &base->m_ForeGround3 );
- }
-
- gtk_color_selection_set_has_palette( colorsel, TRUE );
-
- response = gtk_dialog_run( GTK_DIALOG( dialog ) );
- if( response == GTK_RESPONSE_OK )
- {
- if( color == 0 )
- {
- gtk_color_selection_get_current_color( colorsel, &base->m_ForeGround1 );
- gtk_widget_modify_bg( base->m_Options.m_ColorDA, GTK_STATE_NORMAL, &base->m_ForeGround1 );
- }
- else if( color == 1 )
- {
- gtk_color_selection_get_current_color( colorsel, &base->m_ForeGround2 );
- gtk_widget_modify_bg( base->m_Options.m_ColorDA2, GTK_STATE_NORMAL, &base->m_ForeGround2 );
- }
- else if( color == 2 )
- {
- gtk_color_selection_get_current_color( colorsel, &base->m_BackGround );
- gtk_widget_modify_bg( base->m_Options.m_ColorDA3, GTK_STATE_NORMAL, &base->m_BackGround );
- }
- else if( color == 3 )
- {
- gtk_color_selection_get_current_color( colorsel, &base->m_ForeGround3 );
- gtk_widget_modify_bg( base->m_Options.m_ColorDA5, GTK_STATE_NORMAL, &base->m_ForeGround3 );
- }
- }
-
- gtk_widget_destroy( dialog );
-
-}
-
-void SetHistorySize( CPUGraph * base, int size )
-{
- int i;
- base->m_History = (long *) g_realloc( base->m_History, 2 * size * sizeof( long ) );
-
- base->m_CpuData = cpuData_read();
- base->m_CpuData[0].pUsed = 0;
- base->m_CpuData[0].pTotal = 0;
- long usage = base->m_CpuData[0].load;
- for( i = size - 1; i >= base->m_Values; i-- )
- {
- base->m_History[i] = usage;
- base->m_History[i+size] = base->m_CpuData[0].scalCurFreq;
- }
- base->m_Values = size;
-}
-
-void ModeChange( GtkOptionMenu * om, CPUGraph * base )
-{
- base->m_Mode = 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 UpdateChange( GtkOptionMenu * om, CPUGraph * base )
-{
- base->m_UpdateInterval = gtk_option_menu_get_history( om );
-}
-
-void FrameChange( GtkToggleButton * button, CPUGraph * base )
-{
- base->m_Frame = gtk_toggle_button_get_active( button );
-
- gtk_frame_set_shadow_type( GTK_FRAME( base->m_FrameWidget ), base->m_Frame ? GTK_SHADOW_IN : GTK_SHADOW_NONE );
-}
-
-void AssociateCommandChange( GtkEntry *entry, CPUGraph * base )
-{
- g_free (base->m_AssociateCommand );
- base->m_AssociateCommand = g_strdup( gtk_entry_get_text( entry ) );
-}
-
gboolean LaunchCommand( GtkWidget*w,GdkEventButton *event, CPUGraph *base )
{
if( event->button == 1 )
@@ -969,46 +299,3 @@ gboolean LaunchCommand( GtkWidget*w,GdkEventButton *event, CPUGraph *base )
}
return FALSE;
}
-
-void TimeScaleChange( GtkToggleButton * button, CPUGraph * base )
-{
- base->m_TimeScale = gtk_toggle_button_get_active( button );
-}
-
-void ColorModeChange( GtkOptionMenu * om, CPUGraph * base )
-{
- base->m_ColorMode = 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 );
- }
-}
diff --git a/panel-plugin/cpu.h b/panel-plugin/cpu.h
index 48ae5f9..9860912 100644
--- a/panel-plugin/cpu.h
+++ b/panel-plugin/cpu.h
@@ -110,21 +110,6 @@ void DrawGraph( CPUGraph *base );
void DrawAreaExposeEvent( GtkWidget *da, GdkEventExpose *event, gpointer data );
void CreateOptions( XfcePanelPlugin *plugin, CPUGraph *base );
void SetOrientation( XfcePanelPlugin *plugin, GtkOrientation orientation, CPUGraph *base );
-void SetHistorySize( CPUGraph *base, int size );
-
-void ChangeColor1( GtkButton *button, CPUGraph *base );
-void ChangeColor2( GtkButton *button, CPUGraph *base );
-void ChangeColor3( GtkButton *button, CPUGraph *base );
-void ChangeColor4( GtkButton *button, CPUGraph *base );
-void ChangeColor( int color, CPUGraph *base );
-void SpinChange( GtkSpinButton *sb, int *value );
-void UpdateChange( GtkOptionMenu *om, CPUGraph *base );
-void ModeChange( GtkOptionMenu *om, CPUGraph *base );
-void ApplyChanges( CPUGraph *base );
-void FrameChange( GtkToggleButton *button, CPUGraph *base );
-void TimeScaleChange( GtkToggleButton *button, CPUGraph *base );
-void AssociateCommandChange( GtkEntry *entry, CPUGraph *base );
-void ColorModeChange( GtkOptionMenu *om, CPUGraph *base );
-gboolean LaunchCommand( GtkWidget *w, GdkEventButton *event, CPUGraph *base );
+gboolean LaunchCommand( GtkWidget *w, GdkEventButton *event, CPUGraph *base );
#endif
diff --git a/panel-plugin/properties.c b/panel-plugin/properties.c
new file mode 100644
index 0000000..5cdf68b
--- /dev/null
+++ b/panel-plugin/properties.c
@@ -0,0 +1,332 @@
+#include <actions.h>
+
+void CreateOptions( XfcePanelPlugin *plugin, CPUGraph *base )
+{
+ GtkWidget *dlg, *header;
+ GtkBox *vbox, *vbox2, *hbox;
+ GtkWidget *label;
+ GtkSizeGroup *sg;
+ SOptions *op = &base->m_Options;
+
+ xfce_panel_plugin_block_menu( plugin );
+
+ dlg = gtk_dialog_new_with_buttons( _("Configure CPU Graph"),
+ GTK_WINDOW( gtk_widget_get_toplevel( GTK_WIDGET( plugin ) ) ),
+ GTK_DIALOG_DESTROY_WITH_PARENT | GTK_DIALOG_NO_SEPARATOR,
+ GTK_STOCK_CLOSE,
+ GTK_RESPONSE_OK,
+ NULL
+ );
+
+ base->m_OptionsDialog = dlg;
+
+ g_signal_connect( dlg, "response", G_CALLBACK( DialogResponse ), base );
+
+ gtk_container_set_border_width( GTK_CONTAINER( dlg ), 2 );
+
+ header = xfce_create_header( NULL, _("CPU Graph") );
+ gtk_widget_set_size_request( GTK_BIN( header )->child, -1, 32 );
+ gtk_container_set_border_width( GTK_CONTAINER( header ), BORDER - 2 );
+ gtk_widget_show( header );
+ gtk_box_pack_start( GTK_BOX( GTK_DIALOG( dlg )->vbox ), header, FALSE, TRUE, 0 );
+
+ vbox = GTK_BOX( gtk_vbox_new( FALSE, BORDER ) );
+ gtk_container_set_border_width( GTK_CONTAINER( vbox ), BORDER );
+ gtk_widget_show( GTK_WIDGET( vbox ) );
+
+ sg = gtk_size_group_new( GTK_SIZE_GROUP_HORIZONTAL );
+
+ /* Update Interval */
+
+ hbox = GTK_BOX( gtk_hbox_new( FALSE, BORDER ) );
+ gtk_widget_show( GTK_WIDGET( hbox ) );
+ gtk_box_pack_start( GTK_BOX( vbox ), GTK_WIDGET( hbox ), FALSE, FALSE, 0 );
+ label = gtk_label_new( _("Update Interval: ") );
+ gtk_misc_set_alignment( GTK_MISC( label ), 0, 0.5 );
+ gtk_size_group_add_widget( sg, label );
+ gtk_widget_show( label );
+ gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( label ), FALSE, FALSE, 0 );
+
+ op->m_UpdateOption = gtk_option_menu_new();
+ gtk_widget_show( op->m_UpdateOption );
+ gtk_box_pack_start( GTK_BOX( hbox ), op->m_UpdateOption, FALSE, FALSE, 0 );
+
+ op->m_UpdateMenu = gtk_menu_new();
+ gtk_option_menu_set_menu( GTK_OPTION_MENU( op->m_UpdateOption ), op->m_UpdateMenu );
+
+ op->m_UpdateMenuItem = gtk_menu_item_new_with_label( _("Fastest (~250ms)") );
+ gtk_widget_show( op->m_UpdateMenuItem );
+ gtk_menu_shell_append( GTK_MENU_SHELL( op->m_UpdateMenu ), op->m_UpdateMenuItem );
+
+ op->m_UpdateMenuItem = gtk_menu_item_new_with_label( _("Fast (~500ms)") );
+ gtk_widget_show( op->m_UpdateMenuItem );
+ gtk_menu_shell_append( GTK_MENU_SHELL( op->m_UpdateMenu ), op->m_UpdateMenuItem );
+
+ op->m_UpdateMenuItem = gtk_menu_item_new_with_label( _("Normal (~750ms)") );
+ gtk_widget_show( op->m_UpdateMenuItem );
+ gtk_menu_shell_append( GTK_MENU_SHELL( op->m_UpdateMenu ), op->m_UpdateMenuItem );
+
+ op->m_UpdateMenuItem = gtk_menu_item_new_with_label( _("Slow (~1s)") );
+ gtk_widget_show( op->m_UpdateMenuItem );
+ gtk_menu_shell_append( GTK_MENU_SHELL( op->m_UpdateMenu ), op->m_UpdateMenuItem );
+
+ gtk_option_menu_set_history( GTK_OPTION_MENU( op->m_UpdateOption ), base->m_UpdateInterval );
+
+ g_signal_connect( op->m_UpdateOption, "changed", G_CALLBACK( UpdateChange ), base );
+
+ /* Width */
+
+ hbox = GTK_BOX( gtk_hbox_new( FALSE, BORDER ) );
+ gtk_widget_show( GTK_WIDGET( hbox ) );
+ gtk_box_pack_start( GTK_BOX( vbox ), GTK_WIDGET( hbox ), FALSE, FALSE, 0 );
+
+ if( xfce_panel_plugin_get_orientation( plugin ) == GTK_ORIENTATION_HORIZONTAL )
+ label = gtk_label_new( _("Width:") );
+ else
+ label = gtk_label_new( _("Height:") );
+ gtk_misc_set_alignment( GTK_MISC( label ), 0, 0.5 );
+ gtk_size_group_add_widget( sg, label );
+ gtk_widget_show( label );
+ gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( label ), FALSE, FALSE, 0 );
+
+ op->m_Width = gtk_spin_button_new_with_range( 10, 128, 1 );
+ gtk_spin_button_set_value( GTK_SPIN_BUTTON( op->m_Width ), base->m_Width );
+ gtk_widget_show( op->m_Width );
+ gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( op->m_Width ), FALSE, FALSE, 0 );
+ g_signal_connect( op->m_Width, "value-changed", G_CALLBACK( SpinChange ), &base->m_Width );
+
+ /* TimeScale */
+ hbox = GTK_BOX( gtk_hbox_new( FALSE, BORDER ) );
+ gtk_widget_show( GTK_WIDGET( hbox ) );
+ gtk_box_pack_start( GTK_BOX( vbox ), GTK_WIDGET( hbox ), FALSE, FALSE, 0 );
+
+ op->m_TimeScale = gtk_check_button_new_with_mnemonic( _("Non-linear time-scale") );
+ gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( op->m_TimeScale ), base->m_TimeScale );
+ gtk_widget_show( op->m_TimeScale );
+ gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( op->m_TimeScale ), FALSE, FALSE, 0 );
+ g_signal_connect( op->m_TimeScale, "toggled", G_CALLBACK( TimeScaleChange ), base );
+ gtk_size_group_add_widget( sg, op->m_TimeScale );
+
+ /* Frame */
+
+ hbox = GTK_BOX( gtk_hbox_new( FALSE, BORDER ) );
+ gtk_widget_show( GTK_WIDGET( hbox ) );
+ gtk_box_pack_start( GTK_BOX( vbox ), GTK_WIDGET( hbox ), FALSE, FALSE, 0 );
+
+ op->m_GraphFrame = gtk_check_button_new_with_mnemonic( _("Show frame") );
+ gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( op->m_GraphFrame ), base->m_Frame );
+ gtk_widget_show( op->m_GraphFrame );
+ gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( op->m_GraphFrame ), FALSE, FALSE, 0 );
+ g_signal_connect( op->m_GraphFrame, "toggled", G_CALLBACK( FrameChange ), base );
+ gtk_size_group_add_widget( sg, op->m_GraphFrame );
+
+ vbox2 = GTK_BOX( gtk_vbox_new( FALSE, BORDER ) );
+ gtk_widget_show( GTK_WIDGET( vbox2 ) );
+ gtk_container_set_border_width( GTK_CONTAINER( vbox2 ), 8 );
+
+ /* Associate Command */
+
+ hbox = GTK_BOX( gtk_hbox_new( FALSE, BORDER ) );
+ gtk_widget_show( GTK_WIDGET( hbox ) );
+ gtk_box_pack_start( GTK_BOX( vbox ), GTK_WIDGET( hbox ), FALSE, FALSE, 0 );
+ label = gtk_label_new( _("Associated command :") );
+ gtk_misc_set_alignment( GTK_MISC( label ), 0, 0.5 );
+ gtk_size_group_add_widget( sg, label );
+ gtk_widget_show( label );
+ gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( label ), FALSE, FALSE, 0 );
+ op->m_AssociateCommand = gtk_entry_new();
+ gtk_entry_set_max_length( GTK_ENTRY(op->m_AssociateCommand), 32 );
+ gtk_entry_set_text( GTK_ENTRY(op->m_AssociateCommand), base->m_AssociateCommand );
+ gtk_widget_show( op->m_AssociateCommand );
+ gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( op->m_AssociateCommand ), FALSE, FALSE, 0 );
+ g_signal_connect( op->m_AssociateCommand, "changed", G_CALLBACK( AssociateCommandChange ), base );
+
+ /* Foreground 1 */
+
+ hbox = GTK_BOX( gtk_hbox_new( FALSE, BORDER ) );
+ gtk_widget_show( GTK_WIDGET( hbox ) );
+ gtk_box_pack_start( GTK_BOX( vbox2 ), GTK_WIDGET( hbox ), FALSE, FALSE, 0 );
+
+ label = gtk_label_new( _("Color 1:") );
+ gtk_misc_set_alignment( GTK_MISC( label ), 0, 0.5 );
+ gtk_size_group_add_widget( sg, label );
+ gtk_widget_show( label );
+ gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( label ), FALSE, FALSE, 0 );
+
+ op->m_FG1 = gtk_button_new();
+ op->m_ColorDA = gtk_drawing_area_new();
+
+ gtk_widget_modify_bg( op->m_ColorDA, GTK_STATE_NORMAL, &base->m_ForeGround1 );
+ gtk_widget_set_size_request( op->m_ColorDA, 12, 12 );
+ gtk_container_add( GTK_CONTAINER( op->m_FG1 ), op->m_ColorDA );
+ gtk_widget_show( GTK_WIDGET( op->m_FG1 ) );
+ gtk_widget_show( GTK_WIDGET( op->m_ColorDA ) );
+ gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( op->m_FG1 ), FALSE, FALSE, 0 );
+
+ g_signal_connect( op->m_FG1, "clicked", G_CALLBACK( ChangeColor1 ), base );
+
+ /* Foreground2 */
+
+ hbox = GTK_BOX( gtk_hbox_new( FALSE, BORDER ) );
+ gtk_widget_show( GTK_WIDGET( hbox ) );
+ gtk_box_pack_start( GTK_BOX( vbox2 ), GTK_WIDGET( hbox ), FALSE, FALSE, 0 );
+
+ label = gtk_label_new( _("Color 2:") );
+ gtk_misc_set_alignment( GTK_MISC( label ), 0, 0.5 );
+ gtk_size_group_add_widget( sg, label );
+ gtk_widget_show( label );
+ gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( label ), FALSE, FALSE, 0 );
+
+ op->m_FG2 = gtk_button_new();
+ op->m_ColorDA2 = gtk_drawing_area_new();
+
+ gtk_widget_modify_bg( op->m_ColorDA2, GTK_STATE_NORMAL, &base->m_ForeGround2 );
+ gtk_widget_set_size_request( op->m_ColorDA2, 12, 12 );
+ gtk_container_add( GTK_CONTAINER( op->m_FG2 ), op->m_ColorDA2 );
+ gtk_widget_show( GTK_WIDGET( op->m_FG2 ) );
+ gtk_widget_show( GTK_WIDGET( op->m_ColorDA2 ) );
+ gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( op->m_FG2 ), FALSE, FALSE, 0 );
+
+ g_signal_connect( op->m_FG2, "clicked", G_CALLBACK( ChangeColor2 ), base );
+
+ if( base->m_Mode == 1 )
+ gtk_widget_set_sensitive( GTK_WIDGET( base->m_Options.m_FG2 ), TRUE );
+
+ /* Foreground3 */
+
+ hbox = GTK_BOX( gtk_hbox_new( FALSE, BORDER ) );
+ gtk_widget_show( GTK_WIDGET( hbox ) );
+ gtk_box_pack_start( GTK_BOX( vbox2 ), GTK_WIDGET( hbox ), FALSE, FALSE, 0 );
+
+ label = gtk_label_new( _("Color 3:") );
+ gtk_misc_set_alignment( GTK_MISC( label ), 0, 0.5 );
+ gtk_size_group_add_widget( sg, label );
+ gtk_widget_show( label );
+ gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( label ), FALSE, FALSE, 0 );
+ op->m_FG3 = gtk_button_new();
+ op->m_ColorDA5 = gtk_drawing_area_new();
+ gtk_widget_modify_bg( op->m_ColorDA5, GTK_STATE_NORMAL, &base->m_ForeGround3 );
+ gtk_widget_set_size_request( op->m_ColorDA5, 12, 12 );
+ gtk_container_add( GTK_CONTAINER( op->m_FG3 ), op->m_ColorDA5 );
+ gtk_widget_show( GTK_WIDGET( op->m_FG3 ) );
+ gtk_widget_show( GTK_WIDGET( op->m_ColorDA5 ) );
+ gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( op->m_FG3 ), FALSE, FALSE, 0 );
+ g_signal_connect( op->m_FG3, "clicked", 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 );
+
+
+ /* Background */
+
+ hbox = GTK_BOX( gtk_hbox_new( FALSE, BORDER ) );
+ gtk_widget_show( GTK_WIDGET( hbox ) );
+ gtk_box_pack_start( GTK_BOX( vbox2 ), GTK_WIDGET( hbox ), FALSE, FALSE, 0 );
+
+ label = gtk_label_new( _("Background:") );
+ gtk_misc_set_alignment( GTK_MISC( label ), 0, 0.5 );
+ gtk_size_group_add_widget( sg, label );
+ gtk_widget_show( label );
+ gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( label ), FALSE, FALSE, 0 );
+
+ op->m_BG = gtk_button_new();
+ op->m_ColorDA3 = gtk_drawing_area_new();
+
+ gtk_widget_modify_bg( op->m_ColorDA3, GTK_STATE_NORMAL, &base->m_BackGround );
+ gtk_widget_set_size_request( op->m_ColorDA3, 12, 12 );
+ gtk_container_add( GTK_CONTAINER( op->m_BG ), op->m_ColorDA3 );
+ gtk_widget_show( GTK_WIDGET( op->m_BG ) );
+ gtk_widget_show( GTK_WIDGET( op->m_ColorDA3 ) );
+ gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( op->m_BG ), FALSE, FALSE, 0 );
+
+ g_signal_connect( op->m_BG, "clicked", G_CALLBACK( ChangeColor3 ), base );
+
+ /* Modes */
+
+ hbox = GTK_BOX( gtk_hbox_new( FALSE, BORDER ) );
+ gtk_widget_show( GTK_WIDGET( hbox ) );
+ gtk_box_pack_start( GTK_BOX( vbox2 ), GTK_WIDGET( hbox ), FALSE, FALSE, 0 );
+
+ label = gtk_label_new( _("Mode:") );
+ gtk_misc_set_alignment( GTK_MISC( label ), 0, 0.5 );
+ gtk_size_group_add_widget( sg, label );
+ gtk_widget_show( label );
+ gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( label ), FALSE, FALSE, 0 );
+
+ op->m_OptionMenu = gtk_option_menu_new();
+ gtk_widget_show( op->m_OptionMenu );
+ gtk_box_pack_start( GTK_BOX( hbox ), op->m_OptionMenu, FALSE, FALSE, 0 );
+
+ op->m_Menu = gtk_menu_new();
+ gtk_option_menu_set_menu( GTK_OPTION_MENU( op->m_OptionMenu ), op->m_Menu );
+
+ op->m_MenuItem = gtk_menu_item_new_with_label( _("Normal") );
+ gtk_widget_show( op->m_MenuItem );
+ gtk_menu_shell_append( GTK_MENU_SHELL( op->m_Menu ), op->m_MenuItem );
+
+ op->m_MenuItem = gtk_menu_item_new_with_label( _("LED") );
+ gtk_widget_show( op->m_MenuItem );
+ gtk_menu_shell_append( GTK_MENU_SHELL( op->m_Menu ), op->m_MenuItem );
+
+ op->m_MenuItem = gtk_menu_item_new_with_label( _("No history") );
+ gtk_widget_show( op->m_MenuItem );
+ gtk_menu_shell_append( GTK_MENU_SHELL( op->m_Menu ), op->m_MenuItem );
+
+ gtk_option_menu_set_history( GTK_OPTION_MENU( op->m_OptionMenu ), base->m_Mode );
+
+ g_signal_connect( op->m_OptionMenu, "changed", G_CALLBACK( ModeChange ), base );
+
+ /* Color mode */
+
+ hbox = GTK_BOX( gtk_hbox_new( FALSE, BORDER ) );
+ gtk_widget_show( GTK_WIDGET( hbox ) );
+ gtk_box_pack_start( GTK_BOX( vbox2 ), GTK_WIDGET( hbox ), FALSE, FALSE, 0 );
+ label = gtk_label_new( _("Color mode: ") );
+ gtk_misc_set_alignment( GTK_MISC( label ), 0, 0.5 );
+ gtk_size_group_add_widget( sg, label );
+ gtk_widget_show( label );
+ gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( label ), FALSE, FALSE, 0 );
+
+ op->m_ModeOption = gtk_option_menu_new();
+ gtk_widget_show( op->m_ModeOption );
+ gtk_box_pack_start( GTK_BOX( hbox ), op->m_ModeOption, FALSE, FALSE, 0 );
+
+ op->m_ModeMenu = gtk_menu_new();
+ gtk_option_menu_set_menu( GTK_OPTION_MENU( op->m_ModeOption ), op->m_ModeMenu );
+
+ op->m_ModeMenuItem = gtk_menu_item_new_with_label( _("None") );
+ gtk_widget_show( op->m_ModeMenuItem );
+ gtk_menu_shell_append( GTK_MENU_SHELL( op->m_ModeMenu ), op->m_ModeMenuItem );
+
+ op->m_ModeMenuItem = gtk_menu_item_new_with_label( _("Gradient") );
+ gtk_widget_show( op->m_ModeMenuItem );
+ gtk_menu_shell_append( GTK_MENU_SHELL( op->m_ModeMenu ), op->m_ModeMenuItem );
+
+ op->m_ModeMenuItem = gtk_menu_item_new_with_label( _("Fire") );
+ gtk_widget_show( op->m_ModeMenuItem );
+ gtk_menu_shell_append( GTK_MENU_SHELL( op->m_ModeMenu ), op->m_ModeMenuItem );
+
+ op->m_ModeMenuItem = gtk_menu_item_new_with_label( "cpufreq" );
+ gtk_widget_show( op->m_ModeMenuItem );
+ gtk_menu_shell_append( GTK_MENU_SHELL( op->m_ModeMenu ), op->m_ModeMenuItem );
+
+ gtk_option_menu_set_history( GTK_OPTION_MENU( op->m_ModeOption ), base->m_ColorMode );
+
+ g_signal_connect( op->m_ModeOption, "changed", G_CALLBACK( ColorModeChange ), base );
+
+ gtk_widget_show_all( GTK_WIDGET( hbox ) );
+
+ op->m_Notebook = gtk_notebook_new();
+ gtk_container_set_border_width( GTK_CONTAINER( op->m_Notebook ), BORDER - 2 );
+ label = gtk_label_new( _("Appearance") );
+ gtk_notebook_append_page( GTK_NOTEBOOK( op->m_Notebook ), GTK_WIDGET( vbox2 ), GTK_WIDGET( label ) );
+ label = gtk_label_new( _("Advanced") );
+ gtk_notebook_append_page( GTK_NOTEBOOK( op->m_Notebook ), GTK_WIDGET( vbox ), GTK_WIDGET( label ) );
+ gtk_widget_show( op->m_Notebook );
+
+ gtk_box_pack_start( GTK_BOX( GTK_DIALOG( dlg )->vbox), GTK_WIDGET( op->m_Notebook ), TRUE, TRUE, 0 );
+
+ gtk_widget_show( dlg );
+}
diff --git a/panel-plugin/settings.c b/panel-plugin/settings.c
new file mode 100644
index 0000000..e344660
--- /dev/null
+++ b/panel-plugin/settings.c
@@ -0,0 +1,155 @@
+#include <actions.h>
+
+void ReadSettings( XfcePanelPlugin * plugin, CPUGraph * base )
+{
+ const char *value;
+ char *file;
+ XfceRc *rc;
+ int update;
+
+ base->m_Width = 70;
+
+ base->m_ForeGround1.red = 0;
+ base->m_ForeGround1.green = 65535;
+ base->m_ForeGround1.blue = 0;
+
+ base->m_ForeGround2.red = 65535;
+ base->m_ForeGround2.green = 0;
+ base->m_ForeGround2.blue = 0;
+
+ base->m_ForeGround3.red = 0;
+ base->m_ForeGround3.green = 0;
+ base->m_ForeGround3.blue = 65535;
+
+ base->m_BackGround.red = 65535;
+ base->m_BackGround.green = 65535;
+ base->m_BackGround.blue = 65535;
+
+ base->m_TimeScale = 0;
+ base->m_Frame = 0;
+ base->m_AssociateCommand = NULL;
+ base->m_ColorMode = 0;
+ base->m_Mode = 0;
+
+ if( (file = xfce_panel_plugin_lookup_rc_file( plugin )) != NULL )
+ {
+ rc = xfce_rc_simple_open( file, TRUE );
+ g_free( file );
+
+ if( rc )
+ {
+ base->m_UpdateInterval =
+ xfce_rc_read_int_entry (rc, "UpdateInterval",
+ base->m_UpdateInterval);
+
+ base->m_TimeScale =
+ xfce_rc_read_int_entry (rc, "TimeScale",
+ base->m_TimeScale);
+
+ base->m_Width =
+ xfce_rc_read_int_entry( rc, "Width", base->m_Width );
+
+ base->m_Mode = xfce_rc_read_int_entry( rc, "Mode", base->m_Mode );
+
+ base->m_Frame =
+ xfce_rc_read_int_entry( rc, "Frame", base->m_Frame );
+
+ if( value = xfce_rc_read_entry( rc, "AssociateCommand", DEFAULT_COMMAND ) ) {
+ base->m_AssociateCommand = g_strdup(value);
+ }
+ else
+ {
+ base->m_AssociateCommand = g_strdup( DEFAULT_COMMAND );
+ }
+
+ base->m_ColorMode =
+ xfce_rc_read_int_entry( rc, "ColorMode", base->m_ColorMode );
+
+ if( (value = xfce_rc_read_entry( rc, "Foreground1", NULL )) )
+ {
+ gdk_color_parse( value, &base->m_ForeGround1 );
+ }
+ if( (value = xfce_rc_read_entry( rc, "Foreground2", NULL )) )
+ {
+ gdk_color_parse( value, &base->m_ForeGround2 );
+ }
+ if( (value = xfce_rc_read_entry( rc, "Background", NULL )) )
+ {
+ gdk_color_parse( value, &base->m_BackGround );
+ }
+ if( (value = xfce_rc_read_entry( rc, "Foreground3", NULL )) )
+ {
+ gdk_color_parse( value, &base->m_ForeGround3 );
+ }
+
+ xfce_rc_close( rc );
+ }
+ }
+ else
+ {
+ base->m_AssociateCommand = g_strdup( DEFAULT_COMMAND );
+ }
+ SetHistorySize( base, base->m_Width );
+ if( base->m_TimeoutID )
+ g_source_remove( base->m_TimeoutID );
+ switch( base->m_UpdateInterval )
+ {
+ case 0:
+ update = 250;
+ break;
+ case 1:
+ update = 500;
+ break;
+ case 2:
+ update = 750;
+ break;
+ default:
+ update = 1000;
+ }
+ base->m_TimeoutID = g_timeout_add( update, (GtkFunction) UpdateCPU, base );
+ gtk_frame_set_shadow_type( GTK_FRAME(base->m_FrameWidget ), base->m_Frame ? GTK_SHADOW_IN : GTK_SHADOW_NONE );
+}
+
+void WriteSettings( XfcePanelPlugin *plugin, CPUGraph *base )
+{
+ char value[10];
+ XfceRc *rc;
+ char *file;
+
+ if( !(file = xfce_panel_plugin_save_location( plugin, TRUE )) )
+ return;
+
+ rc = xfce_rc_simple_open( file, FALSE );
+ g_free( file );
+
+ if( !rc )
+ return;
+
+ xfce_rc_write_int_entry( rc, "UpdateInterval", base->m_UpdateInterval );
+
+ xfce_rc_write_int_entry( rc, "TimeScale", base->m_TimeScale );
+
+ xfce_rc_write_int_entry( rc, "Width", base->m_Width );
+
+ xfce_rc_write_int_entry( rc, "Mode", base->m_Mode );
+
+ xfce_rc_write_int_entry( rc, "Frame", base->m_Frame );
+
+ xfce_rc_write_entry( rc, "AssociateCommand", base->m_AssociateCommand ? base->m_AssociateCommand : "" );
+
+ 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 );
+ 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 );
+ 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 );
+ 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 );
+ xfce_rc_write_entry( rc, "Foreground3", value );
+
+ xfce_rc_close( rc );
+}
More information about the Xfce4-commits
mailing list