[Goodies-commits] r5528 - in xfce4-sensors-plugin/trunk: include lib panel-plugin
Fabian Nowak
timystery at xfce.org
Tue Oct 7 00:29:47 CEST 2008
Author: timystery
Date: 2008-10-06 22:29:46 +0000 (Mon, 06 Oct 2008)
New Revision: 5528
Added:
xfce4-sensors-plugin/trunk/include/configuration.h
xfce4-sensors-plugin/trunk/lib/configuration.c
Removed:
xfce4-sensors-plugin/trunk/panel-plugin/configuration.c
xfce4-sensors-plugin/trunk/panel-plugin/configuration.h
Modified:
xfce4-sensors-plugin/trunk/include/sensors-interface-common.h
xfce4-sensors-plugin/trunk/include/sensors-interface.h
xfce4-sensors-plugin/trunk/lib/Makefile.am
xfce4-sensors-plugin/trunk/lib/sensors-interface-common.c
xfce4-sensors-plugin/trunk/lib/sensors-interface.c
xfce4-sensors-plugin/trunk/panel-plugin/Makefile.am
xfce4-sensors-plugin/trunk/panel-plugin/sensors-plugin.c
Log:
- moved configuration stuff to library as well; might also want to change the configuration from the sensors-viewer application.
- continued in migration process
Copied: xfce4-sensors-plugin/trunk/include/configuration.h (from rev 5517, xfce4-sensors-plugin/trunk/panel-plugin/configuration.h)
===================================================================
--- xfce4-sensors-plugin/trunk/include/configuration.h (rev 0)
+++ xfce4-sensors-plugin/trunk/include/configuration.h 2008-10-06 22:29:46 UTC (rev 5528)
@@ -0,0 +1,37 @@
+/* File configuration.h
+ *
+ * Copyright 2004-2007 Fabian Nowak (timystery at arcor.de)
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY 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 with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+
+/* Note for programmers and editors: Try to use 4 spaces instead of Tab! */
+
+#ifndef XFCE4_SENSORS_CONFIGURATION_H
+ #define XFCE4_SENSORS_CONFIGURATION_H
+
+#include "sensors-interface-common.h"
+
+gint get_Id_from_address (gint chipnumber, gint addr, t_sensors *sensors);
+
+void sensors_write_config (XfcePanelPlugin *plugin, t_sensors *sensors);
+
+void sensors_read_general_config (XfceRc *rc, t_sensors *sensors);
+
+void sensors_read_config (XfcePanelPlugin *plugin, t_sensors *sensors);
+
+void sensors_read_preliminary_config (XfcePanelPlugin *plugin, t_sensors *sensors);
+
+#endif /* define XFCE4_SENSORS_CONFIGURATION_H */
Property changes on: xfce4-sensors-plugin/trunk/include/configuration.h
___________________________________________________________________
Name: svn:mergeinfo
+
Modified: xfce4-sensors-plugin/trunk/include/sensors-interface-common.h
===================================================================
--- xfce4-sensors-plugin/trunk/include/sensors-interface-common.h 2008-10-06 20:58:24 UTC (rev 5527)
+++ xfce4-sensors-plugin/trunk/include/sensors-interface-common.h 2008-10-06 22:29:46 UTC (rev 5528)
@@ -36,8 +36,6 @@
/* Package includes */
#include <types.h>
-#include "craph.h"
-
/* Definitions */
#define BORDER 8
#define OUTER_BORDER 4
@@ -227,4 +225,6 @@
t_sensors * sensors_new (XfcePanelPlugin *plugin);
+void sensors_init_default_values (t_sensors *sensors, XfcePanelPlugin *plugin);
+
#endif /* XFCE4_SENSORS_INTERFACE_COMMON_H */
Modified: xfce4-sensors-plugin/trunk/include/sensors-interface.h
===================================================================
--- xfce4-sensors-plugin/trunk/include/sensors-interface.h 2008-10-06 20:58:24 UTC (rev 5527)
+++ xfce4-sensors-plugin/trunk/include/sensors-interface.h 2008-10-06 22:29:46 UTC (rev 5528)
@@ -26,10 +26,14 @@
/* Local includes */
#include "sensors-interface-common.h"
-extern void
-add_sensors_frame (GtkWidget * notebook, t_sensors_dialog * sd);
+extern void add_sensors_frame (GtkWidget * notebook, t_sensors_dialog * sd);
-void
-init_widgets (t_sensors_dialog *sd);
+void init_widgets (t_sensors_dialog *sd);
+void add_sensor_settings_box ( GtkWidget * vbox, t_sensors_dialog * sd);
+
+void add_type_box (GtkWidget * vbox, t_sensors_dialog * sd);
+
+void add_temperature_unit_box (GtkWidget *vbox, t_sensors_dialog *sd);
+
#endif /* XFCE4_SENSORS_INTERFACE_H */
Modified: xfce4-sensors-plugin/trunk/lib/Makefile.am
===================================================================
--- xfce4-sensors-plugin/trunk/lib/Makefile.am 2008-10-06 20:58:24 UTC (rev 5527)
+++ xfce4-sensors-plugin/trunk/lib/Makefile.am 2008-10-06 22:29:46 UTC (rev 5528)
@@ -19,6 +19,7 @@
libxfce4sensors_la_SOURCES = \
middlelayer.c \
+ configuration.c \
sensors-interface-common.c \
sensors-interface.c \
$(SENSORS_SOURCES) \
Copied: xfce4-sensors-plugin/trunk/lib/configuration.c (from rev 5517, xfce4-sensors-plugin/trunk/panel-plugin/configuration.c)
===================================================================
--- xfce4-sensors-plugin/trunk/lib/configuration.c (rev 0)
+++ xfce4-sensors-plugin/trunk/lib/configuration.c 2008-10-06 22:29:46 UTC (rev 5528)
@@ -0,0 +1,392 @@
+/* File configuration.c
+ *
+ * Copyright 2004-2007 Fabian Nowak (timystery at arcor.de)
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY 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 with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+
+/* Note for programmers and editors: Try to use 4 spaces instead of Tab! */
+
+/* Global includes */
+#include <stdlib.h>
+#include <unistd.h>
+
+/* Package includes */
+#include <configuration.h>
+
+
+gint
+get_Id_from_address (gint chipnumber, gint addr, t_sensors *sensors)
+{
+ gint feature;
+ t_chip *chip;
+ t_chipfeature *chipfeature;
+
+ TRACE ("enters get_Id_from_address");
+
+ chip = (t_chip *) g_ptr_array_index (sensors->chips, chipnumber);
+
+ for (feature=0; feature<chip->num_features; feature++) {
+ chipfeature = g_ptr_array_index(chip->chip_features, feature);
+ if (addr == chipfeature->address) {
+ TRACE ("leaves get_Id_from_address with %d", feature);
+ return feature;
+ }
+ }
+
+ TRACE ("leaves get_Id_from_address with -1");
+
+ return (gint) -1;
+}
+
+
+/* Write the configuration at exit */
+void
+sensors_write_config (XfcePanelPlugin *plugin, t_sensors *sensors)
+{
+ XfceRc *rc;
+ char *file, *tmp, rc_chip[8], feature[20];
+ int i, j;
+ t_chip *chip;
+ t_chipfeature *chipfeature;
+
+ TRACE ("enters sensors_write_config");
+
+ if (!(file = xfce_panel_plugin_save_location (plugin, TRUE))) {
+ TRACE ("leaves sensors_write_config: No file location specified.");
+ return;
+ }
+
+ unlink (file);
+
+ rc = xfce_rc_simple_open (file, FALSE);
+ g_free (file);
+
+ if (!rc) {
+ TRACE ("leaves sensors_write_config: No rc file opened");
+ return;
+ }
+
+ xfce_rc_set_group (rc, "General");
+
+ xfce_rc_write_bool_entry (rc, "Show_Title", sensors->show_title);
+
+ xfce_rc_write_bool_entry (rc, "Show_Labels", sensors->show_labels);
+
+ xfce_rc_write_bool_entry (rc, "Use_Bar_UI", sensors->display_values_graphically);
+
+ xfce_rc_write_bool_entry (rc, "Show_Colored_Bars", sensors->show_colored_bars);
+
+ xfce_rc_write_int_entry (rc, "Scale", sensors->scale);
+
+ xfce_rc_write_entry (rc, "Font_Size", sensors->font_size);
+
+ xfce_rc_write_int_entry (rc, "Font_Size_Numerical",
+ sensors->font_size_numerical);
+
+ xfce_rc_write_int_entry (rc, "Update_Interval", sensors->sensors_refresh_time);
+
+ xfce_rc_write_bool_entry (rc, "Exec_Command", sensors->exec_command);
+
+ xfce_rc_write_bool_entry (rc, "Show_Units", sensors->show_units);
+
+ xfce_rc_write_bool_entry(rc, "Small_Spacings", sensors->show_smallspacings);
+
+ xfce_rc_write_entry (rc, "Command_Name", sensors->command_name);
+
+ xfce_rc_write_int_entry (rc, "Number_Chips", sensors->num_sensorchips);
+
+ xfce_rc_write_bool_entry (rc, "Suppress_Hddtemp_Message", sensors->suppressmessage);
+
+
+ for (i=0; i<sensors->num_sensorchips; i++) {
+
+ chip = (t_chip *) g_ptr_array_index(sensors->chips, i);
+ g_assert (chip!=NULL);
+
+ g_snprintf (rc_chip, 8, "Chip%d", i);
+
+ xfce_rc_set_group (rc, rc_chip);
+
+ xfce_rc_write_entry (rc, "Name", chip->sensorId);
+
+ /* number of sensors is still limited */
+ xfce_rc_write_int_entry (rc, "Number", i);
+
+ for (j=0; j<chip->num_features; j++) {
+ chipfeature = g_ptr_array_index(chip->chip_features, j);
+ g_assert (chipfeature!=NULL);
+
+ if (chipfeature->show == TRUE) {
+
+ g_snprintf (feature, 20, "%s_Feature%d", rc_chip, j);
+
+ xfce_rc_set_group (rc, feature);
+
+ xfce_rc_write_int_entry (rc, "Id", get_Id_from_address(i, j, sensors));
+
+ /* only use this if no hddtemp sensor */
+ /* or do only use this , if it is an lmsensors device. whatever. */
+ if ( strcmp(chip->sensorId, _("Hard disks")) != 0 ) /* chip->name? */
+ xfce_rc_write_int_entry (rc, "Address", j);
+ else
+ xfce_rc_write_entry (rc, "DeviceName", chipfeature->devicename);
+
+ xfce_rc_write_entry (rc, "Name", chipfeature->name);
+
+ xfce_rc_write_entry (rc, "Color", chipfeature->color);
+
+ xfce_rc_write_bool_entry (rc, "Show", chipfeature->show);
+
+ tmp = g_strdup_printf("%.2f", chipfeature->min_value);
+ xfce_rc_write_entry (rc, "Min", tmp);
+ g_free (tmp);
+
+ tmp = g_strdup_printf("%.2f", chipfeature->max_value);
+ xfce_rc_write_entry (rc, "Max", tmp);
+ g_free (tmp);
+ } /* end if */
+
+ } /* end for j */
+
+ } /* end for i */
+
+ xfce_rc_close (rc);
+
+ TRACE ("leaves sensors_write_config");
+}
+
+
+void
+sensors_read_general_config (XfceRc *rc, t_sensors *sensors)
+{
+ const char *value;
+ gint num_chips;
+
+ TRACE ("enters sensors_read_general_config");
+
+ if (xfce_rc_has_group (rc, "General") ) {
+
+ xfce_rc_set_group (rc, "General");
+
+ sensors->show_title = xfce_rc_read_bool_entry (rc, "Show_Title", TRUE);
+
+ sensors->show_labels = xfce_rc_read_bool_entry (rc, "Show_Labels", TRUE);
+
+ sensors->display_values_graphically = xfce_rc_read_bool_entry (rc, "Use_Bar_UI", FALSE);
+
+ sensors->show_colored_bars = xfce_rc_read_bool_entry (rc, "Show_Colored_Bars", FALSE);
+
+ sensors->scale = xfce_rc_read_int_entry (rc, "Scale", 0);
+
+ if ((value = xfce_rc_read_entry (rc, "Font_Size", NULL)) && *value) {
+ sensors->font_size = g_strdup(value);
+ }
+
+ sensors->font_size_numerical = xfce_rc_read_int_entry (rc,
+ "Font_Size_Numerical", 2);
+
+ sensors->sensors_refresh_time = xfce_rc_read_int_entry (rc, "Update_Interval",
+ 60);
+
+ sensors->exec_command = xfce_rc_read_bool_entry (rc, "Exec_Command", TRUE);
+
+ sensors->show_units= xfce_rc_read_bool_entry (rc, "Show_Units", TRUE);
+
+ sensors->show_smallspacings= xfce_rc_read_bool_entry (rc, "Small_Spacings", FALSE);
+
+ if ((value = xfce_rc_read_entry (rc, "Command_Name", NULL)) && *value) {
+ sensors->command_name = g_strdup (value);
+ }
+
+ if (!sensors->suppressmessage)
+ sensors->suppressmessage = xfce_rc_read_bool_entry (rc, "Suppress_Hddtemp_Message", FALSE);
+
+ num_chips = xfce_rc_read_int_entry (rc, "Number_Chips", 0);
+ /* or could use 1 or the always existent dummy entry */
+ }
+
+ TRACE ("leaves sensors_read_general_config");
+}
+
+void
+sensors_read_preliminary_config (XfcePanelPlugin *plugin, t_sensors *sensors)
+{
+ char *file;
+ XfceRc *rc;
+
+ TRACE ("enters sensors_read_preliminary_config");
+
+ if (plugin==NULL)
+ return;
+
+ if (!(file = xfce_panel_plugin_lookup_rc_file (plugin)))
+ return;
+
+ rc = xfce_rc_simple_open (file, TRUE);
+ g_free (file);
+
+ if (!rc)
+ return;
+
+ if (xfce_rc_has_group (rc, "General") ) {
+ xfce_rc_set_group (rc, "General");
+ sensors->suppressmessage = xfce_rc_read_bool_entry (rc, "Suppress_Hddtemp_Message", FALSE);
+ }
+
+ TRACE ("leaves sensors_read_preliminary_config");
+}
+
+/* Read the configuration file at init */
+void
+sensors_read_config (XfcePanelPlugin *plugin, t_sensors *sensors)
+{
+ const char *value;
+ char *file;
+ XfceRc *rc;
+ int i, j;
+ char rc_chip[8], feature[20];
+ gchar* sensorName=NULL;
+ gint num_sensorchip, id, address;
+ t_chip *chip;
+ t_chipfeature *chipfeature;
+
+ TRACE ("enters sensors_read_config");
+
+ if (!(file = xfce_panel_plugin_lookup_rc_file (plugin)))
+ return;
+
+ rc = xfce_rc_simple_open (file, TRUE);
+ g_free (file);
+
+ if (!rc)
+ return;
+
+ sensors_read_general_config (rc, sensors);
+
+ for (i = 0; i<sensors->num_sensorchips; i++) {
+ chip = (t_chip *) g_ptr_array_index (sensors->chips, i);
+ if (chip==NULL)
+ break;
+
+ g_snprintf (rc_chip, 8, "Chip%d", i);
+
+ if (xfce_rc_has_group (rc, rc_chip)) {
+
+ xfce_rc_set_group (rc, rc_chip);
+
+ num_sensorchip=0;
+
+ if ((value = xfce_rc_read_entry (rc, "Name", NULL)) && *value) {
+ sensorName = g_strdup (value);
+ }
+
+ num_sensorchip = (gint) xfce_rc_read_int_entry (rc, "Number", 0);
+
+ /* assert that file does not contain more information
+ than does exist on system */
+ /* ??? At least, it works. */
+ g_return_if_fail (num_sensorchip < sensors->num_sensorchips);
+
+ /* now featuring enhanced string comparison */
+ g_assert (chip!=NULL);
+ if ( strcmp(chip->sensorId, sensorName)==0 ) {
+
+ for (j=0; j<chip->num_features; j++) {
+ chipfeature = (t_chipfeature *) g_ptr_array_index (
+ chip->chip_features,
+ j);
+ g_assert (chipfeature!=NULL);
+
+ g_snprintf (feature, 20, "%s_Feature%d", rc_chip, j);
+
+ if (xfce_rc_has_group (rc, feature)) {
+ xfce_rc_set_group (rc, feature);
+
+ id=0; address=0;
+
+ id = (gint) xfce_rc_read_int_entry (rc, "Id", 0);
+
+ if ( strcmp(chip->sensorId, _("Hard disks")) != 0 )
+ address = (gint) xfce_rc_read_int_entry (rc, "Address", 0);
+ else
+
+ /* FIXME: compare strings, or also have hddtmep and acpi store numeric values */
+
+ /* assert correctly saved file */
+ if (strcmp(chip->sensorId, _("Hard disks")) != 0) { /* chip->name? */
+ chipfeature = g_ptr_array_index(chip->chip_features, id);
+ /* FIXME: it might be necessary to use sensors->addresses here */
+ /* g_return_if_fail
+ (chipfeature->address == address); */
+ if (chipfeature->address != address)
+ continue;
+ }
+ else if ((value = xfce_rc_read_entry (rc, "DeviceName", NULL))
+ && *value) {
+ if (chipfeature->devicename)
+ free (chipfeature->devicename);
+ chipfeature->devicename = g_strdup(value);
+ /* g_free (value); */
+ }
+
+ if ((value = xfce_rc_read_entry (rc, "Name", NULL))
+ && *value) {
+ if (chipfeature->name)
+ free (chipfeature->name);
+ chipfeature->name = g_strdup (value);
+ /* g_free (value); */
+ }
+
+ if ((value = xfce_rc_read_entry (rc, "Color", NULL))
+ && *value) {
+ if (chipfeature->color)
+ free (chipfeature->color);
+ chipfeature->color = g_strdup (value);
+ /* g_free (value); */
+ }
+
+ chipfeature->show =
+ xfce_rc_read_bool_entry (rc, "Show", FALSE);
+
+ if ((value = xfce_rc_read_entry (rc, "Min", NULL))
+ && *value)
+ chipfeature->min_value = atof (value);
+
+ if ((value = xfce_rc_read_entry (rc, "Max", NULL))
+ && *value)
+ chipfeature->max_value = atof (value);
+
+
+ } /* end if */
+
+ } /* end for */
+
+ } /* end if */
+
+ g_free (sensorName);
+
+ } /* end if */
+
+ } /* end for */
+
+ xfce_rc_close (rc);
+
+ if (!sensors->exec_command) {
+ g_signal_handler_block ( G_OBJECT(sensors->eventbox), sensors->doubleclick_id );
+ }
+
+ TRACE ("leaves sensors_read_config");
+}
Property changes on: xfce4-sensors-plugin/trunk/lib/configuration.c
___________________________________________________________________
Name: svn:mergeinfo
+
Modified: xfce4-sensors-plugin/trunk/lib/sensors-interface-common.c
===================================================================
--- xfce4-sensors-plugin/trunk/lib/sensors-interface-common.c 2008-10-06 20:58:24 UTC (rev 5527)
+++ xfce4-sensors-plugin/trunk/lib/sensors-interface-common.c 2008-10-06 22:29:46 UTC (rev 5528)
@@ -21,10 +21,12 @@
#include <libxfce4panel/xfce-panel-plugin.h>
/* Local/package includes */
-#include <y.h>
+#include <configuration.h>
#include <sensors-interface-common.h>
+#include <middlelayer.h>
-t_sensors * sensors_new (XfcePanelPlugin *plugin)
+t_sensors *
+sensors_new (XfcePanelPlugin *plugin)
{
t_sensors *sensors;
gint result;
@@ -73,26 +75,46 @@
g_ptr_array_add (chip->chip_features, chipfeature);
}
+ TRACE ("leaves sensors_new");
- /* Add tooltip to show extended current sensors status */
- sensors_create_tooltip ((gpointer) sensors);
+ return sensors;
+}
- /* fill panel widget with boxes, strings, values, ... */
- create_panel_widget (sensors);
- /* finally add panel "sensors" to eventbox */
- gtk_container_add (GTK_CONTAINER (sensors->eventbox),
- sensors->widget_sensors);
+void
+sensors_init_default_values (t_sensors *sensors, XfcePanelPlugin *plugin)
+{
+ TRACE ("enters sensors_init_default_values");
- /* #if GTK_VERSION >= 2.11
- * g_signal_connect(G_OBJECT(sensors->eventbox),
- "query-tooltip",
- G_CALLBACK(handle_tooltip_query),
- (gpointer) sensors); */
+ sensors->show_title = TRUE;
+ sensors->show_labels = TRUE;
+ sensors->display_values_graphically = FALSE;
+ sensors->bars_created = FALSE;
+ sensors->font_size = "medium";
+ sensors->font_size_numerical = 2;
+ if (plugin!=NULL)
+ sensors->panel_size = xfce_panel_plugin_get_size (plugin);
+ sensors->show_colored_bars = TRUE;
+ sensors->sensors_refresh_time = 60;
+ sensors->scale = CELSIUS;
+ sensors->plugin = plugin; // we prefer storing NULL in here in case it is NULL.
+ if (plugin!=NULL)
+ sensors->orientation = xfce_panel_plugin_get_orientation (plugin);
- TRACE ("leaves sensors_new");
+ /* double-click improvement */
+ sensors->exec_command = TRUE;
+ sensors->command_name = g_strdup("xsensors");
+ sensors->doubleclick_id = 0;
- return sensors;
+ /* show units */
+ sensors->show_units = TRUE;
+
+ sensors->suppressmessage = FALSE;
+
+ sensors->show_smallspacings = FALSE;
+
+ TRACE ("leaves sensors_init_default_values");
}
+
Modified: xfce4-sensors-plugin/trunk/lib/sensors-interface.c
===================================================================
--- xfce4-sensors-plugin/trunk/lib/sensors-interface.c 2008-10-06 20:58:24 UTC (rev 5527)
+++ xfce4-sensors-plugin/trunk/lib/sensors-interface.c 2008-10-06 22:29:46 UTC (rev 5528)
@@ -120,3 +120,183 @@
}
TRACE ("leaves init_widgets");
}
+
+
+void
+add_type_box (GtkWidget * vbox, t_sensors_dialog * sd)
+{
+ GtkWidget *hbox, *label;
+ t_chip *chip;
+ gint gtk_combo_box_active;
+
+ TRACE ("enters add_type_box");
+
+ hbox = gtk_hbox_new (FALSE, BORDER);
+ gtk_widget_show (hbox);
+ gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0);
+
+ label = gtk_label_new_with_mnemonic (_("Sensors t_ype:"));
+ gtk_widget_show (label);
+ gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5);
+ gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
+
+ gtk_widget_show (sd->myComboBox);
+ gtk_box_pack_start (GTK_BOX (hbox), sd->myComboBox, FALSE, FALSE, 0);
+
+ gtk_label_set_mnemonic_widget(GTK_LABEL(label), sd->myComboBox);
+
+ gtk_combo_box_active =
+ gtk_combo_box_get_active(GTK_COMBO_BOX(sd->myComboBox));
+
+ chip = g_ptr_array_index (sd->sensors->chips, gtk_combo_box_active);
+
+ /* if (sd->sensors->num_sensorchips > 0)
+ sd->mySensorLabel = gtk_label_new
+ ( sensors_get_adapter_name_wrapper
+ ( chip->chip_name->bus) );
+ else */
+
+ hbox = gtk_hbox_new (FALSE, BORDER);
+ gtk_widget_show (hbox);
+ gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0);
+
+ label = gtk_label_new_with_mnemonic (_("Description:"));
+ gtk_widget_show (label);
+ gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5);
+ gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
+
+ sd->mySensorLabel =
+ gtk_label_new (chip->description);
+
+ gtk_widget_show (sd->mySensorLabel);
+ gtk_box_pack_start (GTK_BOX (hbox), sd->mySensorLabel, FALSE, FALSE, 0);
+
+ g_signal_connect (G_OBJECT (sd->myComboBox), "changed",
+ G_CALLBACK (sensor_entry_changed), sd );
+
+ TRACE ("leaves add_type_box");
+}
+
+
+void
+add_sensor_settings_box ( GtkWidget * vbox, t_sensors_dialog * sd)
+{
+ GtkTreeViewColumn *aTreeViewColumn;
+ GtkCellRenderer *myCellRendererText, *myCellRendererToggle;
+ GtkWidget *myScrolledWindow;
+ gint gtk_combo_box_active;
+
+ TRACE ("enters add_sensor_settings_box");
+
+ gtk_combo_box_active =
+ gtk_combo_box_get_active(GTK_COMBO_BOX(sd->myComboBox));
+
+ sd->myTreeView = gtk_tree_view_new_with_model
+ ( GTK_TREE_MODEL ( sd->myListStore[ gtk_combo_box_active ] ) );
+
+ myCellRendererText = gtk_cell_renderer_text_new ();
+ g_object_set ( (gpointer*) myCellRendererText, "editable", TRUE, NULL );
+
+ aTreeViewColumn = gtk_tree_view_column_new_with_attributes (_("Name"),
+ myCellRendererText, "text", 0, NULL);
+ g_signal_connect (G_OBJECT (myCellRendererText), "edited",
+ G_CALLBACK (list_cell_text_edited), sd);
+ gtk_tree_view_column_set_expand (aTreeViewColumn, TRUE);
+ gtk_tree_view_append_column (GTK_TREE_VIEW (sd->myTreeView),
+ GTK_TREE_VIEW_COLUMN (aTreeViewColumn));
+
+ myCellRendererText = gtk_cell_renderer_text_new ();
+ aTreeViewColumn = gtk_tree_view_column_new_with_attributes (_("Value"),
+ myCellRendererText, "text", 1, NULL);
+ gtk_tree_view_append_column (GTK_TREE_VIEW (sd->myTreeView),
+ GTK_TREE_VIEW_COLUMN (aTreeViewColumn));
+
+ myCellRendererToggle = gtk_cell_renderer_toggle_new();
+ aTreeViewColumn = gtk_tree_view_column_new_with_attributes (_("Show"),
+ myCellRendererToggle, "active", 2, NULL);
+ g_signal_connect (G_OBJECT (myCellRendererToggle), "toggled",
+ G_CALLBACK (list_cell_toggle), sd );
+ gtk_tree_view_append_column (GTK_TREE_VIEW (sd->myTreeView),
+ GTK_TREE_VIEW_COLUMN (aTreeViewColumn));
+
+ myCellRendererText = gtk_cell_renderer_text_new ();
+ g_object_set ( (gpointer*) myCellRendererText, "editable", TRUE, NULL );
+ aTreeViewColumn = gtk_tree_view_column_new_with_attributes (_("Color"),
+ myCellRendererText, "text", 3, NULL);
+ g_signal_connect (G_OBJECT (myCellRendererText), "edited",
+ G_CALLBACK (list_cell_color_edited), sd);
+ gtk_tree_view_append_column (GTK_TREE_VIEW (sd->myTreeView),
+ GTK_TREE_VIEW_COLUMN (aTreeViewColumn));
+
+ myCellRendererText = gtk_cell_renderer_text_new ();
+ g_object_set ( (gpointer*) myCellRendererText, "editable", TRUE, NULL );
+ aTreeViewColumn = gtk_tree_view_column_new_with_attributes
+ (_("Min"), myCellRendererText, "text", 4, NULL);
+ g_signal_connect(G_OBJECT(myCellRendererText), "edited",
+ G_CALLBACK(minimum_changed), sd);
+ gtk_tree_view_append_column(GTK_TREE_VIEW(sd->myTreeView),
+ GTK_TREE_VIEW_COLUMN(aTreeViewColumn));
+
+ myCellRendererText = gtk_cell_renderer_text_new ();
+ g_object_set ( (gpointer*) myCellRendererText, "editable", TRUE, NULL );
+ aTreeViewColumn = gtk_tree_view_column_new_with_attributes
+ (_("Max"), myCellRendererText, "text", 5, NULL);
+ g_signal_connect(G_OBJECT(myCellRendererText), "edited",
+ G_CALLBACK(maximum_changed), sd);
+ gtk_tree_view_append_column(GTK_TREE_VIEW(sd->myTreeView),
+ GTK_TREE_VIEW_COLUMN(aTreeViewColumn));
+
+ myScrolledWindow = gtk_scrolled_window_new (NULL, NULL);
+ gtk_scrolled_window_set_policy (
+ GTK_SCROLLED_WINDOW (myScrolledWindow), GTK_POLICY_AUTOMATIC,
+ GTK_POLICY_AUTOMATIC);
+ gtk_container_set_border_width (GTK_CONTAINER (myScrolledWindow), 0);
+ /* gtk_scrolled_window_add_with_viewport (
+ GTK_SCROLLED_WINDOW (myScrolledWindow), sd->myTreeView); */
+ gtk_container_add (GTK_CONTAINER (myScrolledWindow), sd->myTreeView);
+
+ gtk_box_pack_start (GTK_BOX (vbox), myScrolledWindow, TRUE, TRUE, BORDER);
+
+ gtk_widget_show (sd->myTreeView);
+ gtk_widget_show (myScrolledWindow);
+
+ TRACE ("leaves add_sensor_settings_box");
+}
+
+
+void
+add_temperature_unit_box (GtkWidget *vbox, t_sensors_dialog *sd)
+{
+ GtkWidget *hbox, *label, *radioCelsius, *radioFahrenheit;
+
+ TRACE ("enters add_temperature_unit_box");
+
+ hbox = gtk_hbox_new (FALSE, BORDER);
+ gtk_widget_show (hbox);
+
+ label = gtk_label_new ( _("Temperature scale:"));
+ radioCelsius = gtk_radio_button_new_with_mnemonic (NULL,
+ _("_Celsius"));
+ radioFahrenheit = gtk_radio_button_new_with_mnemonic(
+ gtk_radio_button_get_group(GTK_RADIO_BUTTON(radioCelsius)), _("_Fahrenheit"));
+
+ gtk_widget_show(radioCelsius);
+ gtk_widget_show(radioFahrenheit);
+ gtk_widget_show(label);
+
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(radioCelsius),
+ sd->sensors->scale == CELSIUS);
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(radioFahrenheit),
+ sd->sensors->scale == FAHRENHEIT);
+
+ gtk_box_pack_start(GTK_BOX (hbox), label, FALSE, FALSE, 0);
+ gtk_box_pack_start(GTK_BOX (hbox), radioCelsius, FALSE, FALSE, 0);
+ gtk_box_pack_start(GTK_BOX (hbox), radioFahrenheit, FALSE, FALSE, 0);
+
+ gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, TRUE, 0);
+
+ g_signal_connect (G_OBJECT (radioCelsius), "toggled",
+ G_CALLBACK (temperature_unit_change), sd );
+
+ TRACE ("leaves add_temperature_unit_box");
+}
Modified: xfce4-sensors-plugin/trunk/panel-plugin/Makefile.am
===================================================================
--- xfce4-sensors-plugin/trunk/panel-plugin/Makefile.am 2008-10-06 20:58:24 UTC (rev 5527)
+++ xfce4-sensors-plugin/trunk/panel-plugin/Makefile.am 2008-10-06 22:29:46 UTC (rev 5528)
@@ -9,7 +9,6 @@
# -DPACKAGE_LOCALE_DIR=\"$(localedir)\"
xfce4_sensors_plugin_SOURCES = \
- configuration.c \
sensors-plugin.c
# types.h
Deleted: xfce4-sensors-plugin/trunk/panel-plugin/configuration.c
Deleted: xfce4-sensors-plugin/trunk/panel-plugin/configuration.h
Modified: xfce4-sensors-plugin/trunk/panel-plugin/sensors-plugin.c
===================================================================
--- xfce4-sensors-plugin/trunk/panel-plugin/sensors-plugin.c 2008-10-06 20:58:24 UTC (rev 5527)
+++ xfce4-sensors-plugin/trunk/panel-plugin/sensors-plugin.c 2008-10-06 22:29:46 UTC (rev 5528)
@@ -25,13 +25,17 @@
/* Note for programmers and editors: Try to use 4 spaces instead of Tab! */
-#include "sensors-plugin.h"
-#include "configuration.h"
-
+/* Global includes */
#include <math.h>
#include <stdlib.h>
+/* Package includes */
+#include <configuration.h>
+/* Local includes */
+#include "sensors-plugin.h"
+
+
/*
* Tooltips to display for any part of this plugin
*/
@@ -837,43 +841,7 @@
}
-static void
-sensors_init_default_values (t_sensors *sensors, XfcePanelPlugin *plugin)
-{
- TRACE ("enters sensors_init_default_values");
- sensors->show_title = TRUE;
- sensors->show_labels = TRUE;
- sensors->display_values_graphically = FALSE;
- sensors->bars_created = FALSE;
- sensors->font_size = "medium";
- sensors->font_size_numerical = 2;
- if (plugin!=NULL)
- sensors->panel_size = xfce_panel_plugin_get_size (plugin);
- sensors->show_colored_bars = TRUE;
- sensors->sensors_refresh_time = 60;
- sensors->scale = CELSIUS;
-
- sensors->plugin = plugin; // we prefer storing NULL in here in case it is NULL.
- if (plugin!=NULL)
- sensors->orientation = xfce_panel_plugin_get_orientation (plugin);
-
- /* double-click improvement */
- sensors->exec_command = TRUE;
- sensors->command_name = g_strdup("xsensors");
- sensors->doubleclick_id = 0;
-
- /* show units */
- sensors->show_units = TRUE;
-
- sensors->suppressmessage = FALSE;
-
- sensors->show_smallspacings = FALSE;
-
- TRACE ("leaves sensors_init_default_values");
-}
-
-
/* #if GTK_VERSION >= 2.11
* static gboolean
handle_tooltip_query (GtkWidget *widget,
@@ -1606,149 +1574,9 @@
}
-static void
-add_type_box (GtkWidget * vbox, t_sensors_dialog * sd)
-{
- GtkWidget *hbox, *label;
- t_chip *chip;
- gint gtk_combo_box_active;
- TRACE ("enters add_type_box");
- hbox = gtk_hbox_new (FALSE, BORDER);
- gtk_widget_show (hbox);
- gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0);
-
- label = gtk_label_new_with_mnemonic (_("Sensors t_ype:"));
- gtk_widget_show (label);
- gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5);
- gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
-
- gtk_widget_show (sd->myComboBox);
- gtk_box_pack_start (GTK_BOX (hbox), sd->myComboBox, FALSE, FALSE, 0);
-
- gtk_label_set_mnemonic_widget(GTK_LABEL(label), sd->myComboBox);
-
- gtk_combo_box_active =
- gtk_combo_box_get_active(GTK_COMBO_BOX(sd->myComboBox));
-
- chip = g_ptr_array_index (sd->sensors->chips, gtk_combo_box_active);
-
- /* if (sd->sensors->num_sensorchips > 0)
- sd->mySensorLabel = gtk_label_new
- ( sensors_get_adapter_name_wrapper
- ( chip->chip_name->bus) );
- else */
-
- hbox = gtk_hbox_new (FALSE, BORDER);
- gtk_widget_show (hbox);
- gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0);
-
- label = gtk_label_new_with_mnemonic (_("Description:"));
- gtk_widget_show (label);
- gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5);
- gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
-
- sd->mySensorLabel =
- gtk_label_new (chip->description);
-
- gtk_widget_show (sd->mySensorLabel);
- gtk_box_pack_start (GTK_BOX (hbox), sd->mySensorLabel, FALSE, FALSE, 0);
-
- g_signal_connect (G_OBJECT (sd->myComboBox), "changed",
- G_CALLBACK (sensor_entry_changed), sd );
-
- TRACE ("leaves add_type_box");
-}
-
-
static void
-add_sensor_settings_box ( GtkWidget * vbox, t_sensors_dialog * sd)
-{
- GtkTreeViewColumn *aTreeViewColumn;
- GtkCellRenderer *myCellRendererText, *myCellRendererToggle;
- GtkWidget *myScrolledWindow;
- gint gtk_combo_box_active;
-
- TRACE ("enters add_sensor_settings_box");
-
- gtk_combo_box_active =
- gtk_combo_box_get_active(GTK_COMBO_BOX(sd->myComboBox));
-
- sd->myTreeView = gtk_tree_view_new_with_model
- ( GTK_TREE_MODEL ( sd->myListStore[ gtk_combo_box_active ] ) );
-
- myCellRendererText = gtk_cell_renderer_text_new ();
- g_object_set ( (gpointer*) myCellRendererText, "editable", TRUE, NULL );
-
- aTreeViewColumn = gtk_tree_view_column_new_with_attributes (_("Name"),
- myCellRendererText, "text", 0, NULL);
- g_signal_connect (G_OBJECT (myCellRendererText), "edited",
- G_CALLBACK (list_cell_text_edited), sd);
- gtk_tree_view_column_set_expand (aTreeViewColumn, TRUE);
- gtk_tree_view_append_column (GTK_TREE_VIEW (sd->myTreeView),
- GTK_TREE_VIEW_COLUMN (aTreeViewColumn));
-
- myCellRendererText = gtk_cell_renderer_text_new ();
- aTreeViewColumn = gtk_tree_view_column_new_with_attributes (_("Value"),
- myCellRendererText, "text", 1, NULL);
- gtk_tree_view_append_column (GTK_TREE_VIEW (sd->myTreeView),
- GTK_TREE_VIEW_COLUMN (aTreeViewColumn));
-
- myCellRendererToggle = gtk_cell_renderer_toggle_new();
- aTreeViewColumn = gtk_tree_view_column_new_with_attributes (_("Show"),
- myCellRendererToggle, "active", 2, NULL);
- g_signal_connect (G_OBJECT (myCellRendererToggle), "toggled",
- G_CALLBACK (list_cell_toggle), sd );
- gtk_tree_view_append_column (GTK_TREE_VIEW (sd->myTreeView),
- GTK_TREE_VIEW_COLUMN (aTreeViewColumn));
-
- myCellRendererText = gtk_cell_renderer_text_new ();
- g_object_set ( (gpointer*) myCellRendererText, "editable", TRUE, NULL );
- aTreeViewColumn = gtk_tree_view_column_new_with_attributes (_("Color"),
- myCellRendererText, "text", 3, NULL);
- g_signal_connect (G_OBJECT (myCellRendererText), "edited",
- G_CALLBACK (list_cell_color_edited), sd);
- gtk_tree_view_append_column (GTK_TREE_VIEW (sd->myTreeView),
- GTK_TREE_VIEW_COLUMN (aTreeViewColumn));
-
- myCellRendererText = gtk_cell_renderer_text_new ();
- g_object_set ( (gpointer*) myCellRendererText, "editable", TRUE, NULL );
- aTreeViewColumn = gtk_tree_view_column_new_with_attributes
- (_("Min"), myCellRendererText, "text", 4, NULL);
- g_signal_connect(G_OBJECT(myCellRendererText), "edited",
- G_CALLBACK(minimum_changed), sd);
- gtk_tree_view_append_column(GTK_TREE_VIEW(sd->myTreeView),
- GTK_TREE_VIEW_COLUMN(aTreeViewColumn));
-
- myCellRendererText = gtk_cell_renderer_text_new ();
- g_object_set ( (gpointer*) myCellRendererText, "editable", TRUE, NULL );
- aTreeViewColumn = gtk_tree_view_column_new_with_attributes
- (_("Max"), myCellRendererText, "text", 5, NULL);
- g_signal_connect(G_OBJECT(myCellRendererText), "edited",
- G_CALLBACK(maximum_changed), sd);
- gtk_tree_view_append_column(GTK_TREE_VIEW(sd->myTreeView),
- GTK_TREE_VIEW_COLUMN(aTreeViewColumn));
-
- myScrolledWindow = gtk_scrolled_window_new (NULL, NULL);
- gtk_scrolled_window_set_policy (
- GTK_SCROLLED_WINDOW (myScrolledWindow), GTK_POLICY_AUTOMATIC,
- GTK_POLICY_AUTOMATIC);
- gtk_container_set_border_width (GTK_CONTAINER (myScrolledWindow), 0);
- /* gtk_scrolled_window_add_with_viewport (
- GTK_SCROLLED_WINDOW (myScrolledWindow), sd->myTreeView); */
- gtk_container_add (GTK_CONTAINER (myScrolledWindow), sd->myTreeView);
-
- gtk_box_pack_start (GTK_BOX (vbox), myScrolledWindow, TRUE, TRUE, BORDER);
-
- gtk_widget_show (sd->myTreeView);
- gtk_widget_show (myScrolledWindow);
-
- TRACE ("leaves add_sensor_settings_box");
-}
-
-
-static void
add_font_size_box (GtkWidget * vbox, t_sensors_dialog * sd)
{
GtkWidget *myFontLabel;
@@ -1790,44 +1618,7 @@
TRACE ("leaves add_font_size_box");
}
-static void
-add_temperature_unit_box (GtkWidget *vbox, t_sensors_dialog *sd)
-{
- GtkWidget *hbox, *label, *radioCelsius, *radioFahrenheit;
- TRACE ("enters add_temperature_unit_box");
-
- hbox = gtk_hbox_new (FALSE, BORDER);
- gtk_widget_show (hbox);
-
- label = gtk_label_new ( _("Temperature scale:"));
- radioCelsius = gtk_radio_button_new_with_mnemonic (NULL,
- _("_Celsius"));
- radioFahrenheit = gtk_radio_button_new_with_mnemonic(
- gtk_radio_button_get_group(GTK_RADIO_BUTTON(radioCelsius)), _("_Fahrenheit"));
-
- gtk_widget_show(radioCelsius);
- gtk_widget_show(radioFahrenheit);
- gtk_widget_show(label);
-
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(radioCelsius),
- sd->sensors->scale == CELSIUS);
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(radioFahrenheit),
- sd->sensors->scale == FAHRENHEIT);
-
- gtk_box_pack_start(GTK_BOX (hbox), label, FALSE, FALSE, 0);
- gtk_box_pack_start(GTK_BOX (hbox), radioCelsius, FALSE, FALSE, 0);
- gtk_box_pack_start(GTK_BOX (hbox), radioFahrenheit, FALSE, FALSE, 0);
-
- gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, TRUE, 0);
-
- g_signal_connect (G_OBJECT (radioCelsius), "toggled",
- G_CALLBACK (temperature_unit_change), sd );
-
- TRACE ("leaves add_temperature_unit_box");
-}
-
-
static void
add_units_box (GtkWidget * vbox, t_sensors_dialog * sd)
{
@@ -2107,6 +1898,9 @@
gtk_widget_show(notebook);
add_sensors_frame (notebook, sd);
+ /* g_signal_connect (G_OBJECT (sd->myComboBox), "changed",
+ //G_CALLBACK (sensor_entry_changed), sd ); */
+
add_view_frame (notebook, sd);
add_miscellaneous_frame (notebook, sd);
@@ -2156,6 +1950,22 @@
add_event_box (sensors);
+ /* Add tooltip to show extended current sensors status */
+ sensors_create_tooltip ((gpointer) sensors);
+
+ /* fill panel widget with boxes, strings, values, ... */
+ create_panel_widget (sensors);
+
+ /* finally add panel "sensors" to eventbox */
+ gtk_container_add (GTK_CONTAINER (sensors->eventbox),
+ sensors->widget_sensors);
+
+ /* #if GTK_VERSION >= 2.11
+ * g_signal_connect(G_OBJECT(sensors->eventbox),
+ "query-tooltip",
+ G_CALLBACK(handle_tooltip_query),
+ (gpointer) sensors); */
+
/* sensors_set_size (control, settings.size); */
TRACE ("leaves create_sensors_control");
More information about the Goodies-commits
mailing list