void hdaps_save(XfcePanelPlugin *plugin, HdapsPlugin *hdaps) {
-
+
XfceRc *rc;
gchar *file;
DBG("Failed to open the configuration file. Bailing.");
return;
}
-
-
+
+
/* Write any user-configured values to the resource file. */
if (hdaps->device_name) {
xfce_rc_write_entry(rc, "device_name", hdaps->device_name);
}
-
+
xfce_rc_write_int_entry(rc, "poll_frequency", hdaps->poll_frequency);
-
+
/* close the rc file */
xfce_rc_close(rc);
}
if (status == HDAPS_ERROR) {
/* Error */
icon = gtk_icon_theme_load_icon(gtk_icon_theme_get_default(),
- "emblem-noread",
- size, 0, NULL);
+ "emblem-noread",
+ size, 0, NULL);
}
else if (status == HDAPS_OFF) {
icon = gtk_icon_theme_load_icon(gtk_icon_theme_get_default(),
- "drive-harddisk",
- size, 0, NULL);
+ "drive-harddisk",
+ size, 0, NULL);
}
else {
/* status > HDAPS_OFF means it's on. */
icon = gtk_icon_theme_load_icon(gtk_icon_theme_get_default(),
- "emblem-nowrite",
- size, 0, NULL);
+ "emblem-nowrite",
+ size, 0, NULL);
}
/* Get rid of the previous icon. */
if (hdaps->icon) {
gtk_widget_destroy(hdaps->icon);
}
-
+
if (icon) {
hdaps->icon = gtk_image_new_from_pixbuf(icon);
g_object_unref(G_OBJECT(icon));
}
else {
- hdaps->icon = gtk_image_new_from_icon_name("dialog-warning", GTK_ICON_SIZE_BUTTON);
+ hdaps->icon = gtk_image_new_from_icon_name("dialog-warning",
+ GTK_ICON_SIZE_BUTTON);
}
- gtk_box_pack_start(GTK_BOX(hdaps->hvbox), GTK_WIDGET(hdaps->icon), FALSE, FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(hdaps->hvbox),
+ GTK_WIDGET(hdaps->icon),
+ FALSE,
+ FALSE,
+ 0);
gtk_widget_show(hdaps->icon);
-
+
return;
}
hdaps->device_name = g_strdup(DEFAULT_DEVICE_NAME);
}
- snprintf(hdaps->sysfs_file, FILENAME_MAX, UNLOAD_HEADS_FMT, hdaps->device_name);
+ snprintf(hdaps->sysfs_file,
+ FILENAME_MAX,
+ UNLOAD_HEADS_FMT,
+ hdaps->device_name);
/* The other default is easier. */
hdaps->poll_frequency = DEFAULT_POLL_FREQUENCY;
static void hdaps_read(HdapsPlugin *hdaps) {
-
+
XfceRc *rc;
gchar *file;
const gchar *saved_device_name;
DBG("Retaining default settings.");
return;
}
-
+
/* Open the config file read-only. */
rc = xfce_rc_simple_open(file, TRUE);
DBG("Retaining default settings.");
return;
}
-
+
/* Read the settings, one at a time. */
-
+
/* We use saved_device_name here because we need
to dupe the string after we read it in from the
config file. */
saved_device_name = xfce_rc_read_entry(rc,
- "device_name",
- DEFAULT_DEVICE_NAME);
+ "device_name",
+ DEFAULT_DEVICE_NAME);
hdaps->device_name = g_strdup(saved_device_name);
- snprintf(hdaps->sysfs_file, FILENAME_MAX, UNLOAD_HEADS_FMT, hdaps->device_name);
+ snprintf(hdaps->sysfs_file,
+ FILENAME_MAX,
+ UNLOAD_HEADS_FMT,
+ hdaps->device_name);
/* Integers are easier. */
hdaps->poll_frequency = xfce_rc_read_int_entry(rc,
- "poll_frequency",
- DEFAULT_POLL_FREQUENCY);
-
+ "poll_frequency",
+ DEFAULT_POLL_FREQUENCY);
+
/* And close the config file. */
xfce_rc_close(rc);
}
GtkOrientation orientation;
/* Allocate memory for the plugin struct, and zero it. */
- hdaps = panel_slice_new0(HdapsPlugin);
+ hdaps = g_slice_new0(HdapsPlugin);
/* The HdapsPlugin gets a copy of the XfcePanelPlugin. */
hdaps->plugin = plugin;
-
+
/* Set default values right before reading in the user's settings.
This way, hdaps_read() doesn't have to set defaults on error
conditions. */
hdaps_set_defaults(hdaps);
-
+
/* Read any user settings into the HdapsPlugin. */
hdaps_read(hdaps);
hdaps->previous_status = HDAPS_OFF;
hdaps_set_icon(hdaps, HDAPS_OFF);
hdaps_set_tooltip(hdaps, HDAPS_OFF);
-
+
return hdaps;
}
static void hdaps_free(XfcePanelPlugin *plugin,
- HdapsPlugin *hdaps) {
-
+ HdapsPlugin *hdaps) {
+
GtkWidget *dialog;
/* Destroy the dialog if it's still open. */
}
/* ...and finally free the plugin structure. */
- panel_slice_free(HdapsPlugin, hdaps);
+ g_slice_free(HdapsPlugin, hdaps);
}
static void hdaps_orientation_changed(XfcePanelPlugin *plugin,
- GtkOrientation orientation,
- HdapsPlugin *hdaps) {
-
+ GtkOrientation orientation,
+ HdapsPlugin *hdaps) {
+
/* Change the plugin's orientation. Basically magic to me. */
gtk_orientable_set_orientation(GTK_ORIENTABLE(hdaps->hvbox), orientation);
}
static gboolean hdaps_size_changed(XfcePanelPlugin *plugin,
- gint size,
- HdapsPlugin *hdaps) {
-
+ gint size,
+ HdapsPlugin *hdaps) {
+
GtkOrientation orientation;
/* Get the current orientation of the plugin. */
static gboolean hdaps_update_status(HdapsPlugin *hdaps) {
/* This checks the status of HDAPS and updates the
- widget accordingly. */
+ widget accordingly. */
/* This just gets the status. */
int status = parse_int_from_file(hdaps->sysfs_file);
if (status > 0) {
status = HDAPS_ON;
}
-
+
if (status != hdaps->previous_status) {
/* And we only update the icon if we need to. */
hdaps_set_icon(hdaps, status);
hdaps_set_tooltip(hdaps, status);
hdaps->previous_status = status;
}
-
+
return TRUE;
}
g_source_remove(hdaps->timeout);
}
- hdaps->timeout = g_timeout_add(hdaps->poll_frequency, (GSourceFunc)hdaps_update_status, hdaps);
+ hdaps->timeout = g_timeout_add(hdaps->poll_frequency,
+ (GSourceFunc)hdaps_update_status,
+ hdaps);
}
connect its event handler. */
xfce_panel_plugin_menu_show_configure(plugin);
g_signal_connect(G_OBJECT(plugin), "configure-plugin",
- G_CALLBACK(hdaps_configure), hdaps);
+ G_CALLBACK(hdaps_configure), hdaps);
/* Show the "about" right-click menu item, and
connect its event handler. */
- xfce_panel_plugin_menu_show_about(plugin);
+ xfce_panel_plugin_menu_show_about(plugin);
g_signal_connect(G_OBJECT(plugin), "about",
- G_CALLBACK(hdaps_about), hdaps);
+ G_CALLBACK(hdaps_about), hdaps);
/* Set the timeout for the function which checks the
HDAPS status. */