diff options
Diffstat (limited to 'cpufreq/src/cpufreq-prefs.c')
-rw-r--r-- | cpufreq/src/cpufreq-prefs.c | 837 |
1 files changed, 425 insertions, 412 deletions
diff --git a/cpufreq/src/cpufreq-prefs.c b/cpufreq/src/cpufreq-prefs.c index e7804f80..5682e5e5 100644 --- a/cpufreq/src/cpufreq-prefs.c +++ b/cpufreq/src/cpufreq-prefs.c @@ -31,41 +31,42 @@ #include "cpufreq-utils.h" enum { - PROP_0, - PROP_CPU, - PROP_SHOW_MODE, - PROP_SHOW_TEXT_MODE, + PROP_0, + PROP_CPU, + PROP_SHOW_MODE, + PROP_SHOW_TEXT_MODE, }; struct _CPUFreqPrefsPrivate { - GSettings *settings; - - guint cpu; - CPUFreqShowMode show_mode; - CPUFreqShowTextMode show_text_mode; - - /* Preferences dialog */ - GtkWidget *dialog; - GtkWidget *show_freq; - GtkWidget *show_unit; - GtkWidget *show_perc; - GtkWidget *cpu_combo; - GtkWidget *monitor_settings_frame; - GtkWidget *show_mode_combo; + GSettings *settings; + + guint cpu; + CPUFreqShowMode show_mode; + CPUFreqShowTextMode show_text_mode; + + /* Preferences dialog */ + GtkWidget *dialog; + GtkWidget *show_freq; + GtkWidget *show_unit; + GtkWidget *show_perc; + GtkWidget *cpu_combo; + GtkWidget *monitor_settings_frame; + GtkWidget *show_mode_combo; }; -static void cpufreq_prefs_finalize (GObject *object); +static void cpufreq_prefs_finalize (GObject *object); -static void cpufreq_prefs_set_property (GObject *object, - guint prop_id, - const GValue *value, - GParamSpec *pspec); -static void cpufreq_prefs_get_property (GObject *object, - guint prop_id, - GValue *value, - GParamSpec *pspec); +static void cpufreq_prefs_set_property (GObject *object, + guint prop_id, + const GValue *value, + GParamSpec *pspec); -static void cpufreq_prefs_dialog_update_sensitivity (CPUFreqPrefs *prefs); +static void cpufreq_prefs_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec); + +static void cpufreq_prefs_dialog_update_sensitivity (CPUFreqPrefs *prefs); G_DEFINE_TYPE_WITH_PRIVATE (CPUFreqPrefs, cpufreq_prefs, G_TYPE_OBJECT) @@ -73,512 +74,524 @@ G_DEFINE_TYPE_WITH_PRIVATE (CPUFreqPrefs, cpufreq_prefs, G_TYPE_OBJECT) static void cpufreq_prefs_init (CPUFreqPrefs *prefs) { - prefs->priv = cpufreq_prefs_get_instance_private (prefs); + prefs->priv = cpufreq_prefs_get_instance_private (prefs); - prefs->priv->settings = NULL; + prefs->priv->settings = NULL; - prefs->priv->cpu = 0; + prefs->priv->cpu = 0; } static void cpufreq_prefs_class_init (CPUFreqPrefsClass *klass) { - GObjectClass *g_object_class = G_OBJECT_CLASS (klass); - - g_object_class->set_property = cpufreq_prefs_set_property; - g_object_class->get_property = cpufreq_prefs_get_property; - - /* Properties */ - g_object_class_install_property (g_object_class, - PROP_CPU, - g_param_spec_uint ("cpu", - "CPU", - "The monitored cpu", - 0, - G_MAXUINT, - 0, - G_PARAM_READWRITE)); - g_object_class_install_property (g_object_class, - PROP_SHOW_MODE, - g_param_spec_enum ("show-mode", - "ShowMode", - "The applet show mode", - CPUFREQ_TYPE_SHOW_MODE, - CPUFREQ_MODE_BOTH, - G_PARAM_READWRITE)); - g_object_class_install_property (g_object_class, - PROP_SHOW_TEXT_MODE, - g_param_spec_enum ("show-text-mode", - "ShowTextMode", - "The applet show text mode", - CPUFREQ_TYPE_SHOW_TEXT_MODE, - CPUFREQ_MODE_TEXT_FREQUENCY_UNIT, - G_PARAM_READWRITE)); - - g_object_class->finalize = cpufreq_prefs_finalize; + GObjectClass *g_object_class = G_OBJECT_CLASS (klass); + + g_object_class->set_property = cpufreq_prefs_set_property; + g_object_class->get_property = cpufreq_prefs_get_property; + + /* Properties */ + g_object_class_install_property (g_object_class, + PROP_CPU, + g_param_spec_uint ("cpu", + "CPU", + "The monitored cpu", + 0, + G_MAXUINT, + 0, + G_PARAM_READWRITE)); + g_object_class_install_property (g_object_class, + PROP_SHOW_MODE, + g_param_spec_enum ("show-mode", + "ShowMode", + "The applet show mode", + CPUFREQ_TYPE_SHOW_MODE, + CPUFREQ_MODE_BOTH, + G_PARAM_READWRITE)); + g_object_class_install_property (g_object_class, + PROP_SHOW_TEXT_MODE, + g_param_spec_enum ("show-text-mode", + "ShowTextMode", + "The applet show text mode", + CPUFREQ_TYPE_SHOW_TEXT_MODE, + CPUFREQ_MODE_TEXT_FREQUENCY_UNIT, + G_PARAM_READWRITE)); + + g_object_class->finalize = cpufreq_prefs_finalize; } static void cpufreq_prefs_finalize (GObject *object) { - CPUFreqPrefs *prefs = CPUFREQ_PREFS (object); + CPUFreqPrefs *prefs = CPUFREQ_PREFS (object); - if (prefs->priv->settings) { - g_object_unref (prefs->priv->settings); - prefs->priv->settings = NULL; - } + if (prefs->priv->settings) { + g_object_unref (prefs->priv->settings); + prefs->priv->settings = NULL; + } - if (prefs->priv->dialog) { - gtk_widget_destroy (prefs->priv->dialog); - prefs->priv->dialog = NULL; - } + if (prefs->priv->dialog) { + gtk_widget_destroy (prefs->priv->dialog); + prefs->priv->dialog = NULL; + } - G_OBJECT_CLASS (cpufreq_prefs_parent_class)->finalize (object); + G_OBJECT_CLASS (cpufreq_prefs_parent_class)->finalize (object); } static void cpufreq_prefs_set_property (GObject *object, - guint prop_id, - const GValue *value, - GParamSpec *pspec) + guint prop_id, + const GValue *value, + GParamSpec *pspec) { - CPUFreqPrefs *prefs = CPUFREQ_PREFS (object); - gboolean update_sensitivity = FALSE; - - switch (prop_id) { - case PROP_CPU: { - guint cpu; - - cpu = g_value_get_uint (value); - if (prefs->priv->cpu != cpu) { - prefs->priv->cpu = cpu; - g_settings_set_int (prefs->priv->settings, - "cpu", cpu); - } - } - break; - case PROP_SHOW_MODE: { - CPUFreqShowMode mode; - - mode = g_value_get_enum (value); - if (prefs->priv->show_mode != mode) { - update_sensitivity = TRUE; - prefs->priv->show_mode = mode; - g_settings_set_int (prefs->priv->settings, - "show-mode", mode); - } - } - break; - case PROP_SHOW_TEXT_MODE: { - CPUFreqShowTextMode mode; - - mode = g_value_get_enum (value); - if (prefs->priv->show_text_mode != mode) { - update_sensitivity = TRUE; - prefs->priv->show_text_mode = mode; - g_settings_set_int (prefs->priv->settings, - "show-text-mode", mode); - } - } - break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); - } - - if (prefs->priv->dialog && update_sensitivity) - cpufreq_prefs_dialog_update_sensitivity (prefs); + CPUFreqPrefs *prefs = CPUFREQ_PREFS (object); + gboolean update_sensitivity = FALSE; + + switch (prop_id) { + case PROP_CPU: { + guint cpu; + + cpu = g_value_get_uint (value); + if (prefs->priv->cpu != cpu) { + prefs->priv->cpu = cpu; + g_settings_set_int (prefs->priv->settings, + "cpu", cpu); + } + break; + } + case PROP_SHOW_MODE: { + CPUFreqShowMode mode; + + mode = g_value_get_enum (value); + if (prefs->priv->show_mode != mode) { + update_sensitivity = TRUE; + prefs->priv->show_mode = mode; + g_settings_set_int (prefs->priv->settings, + "show-mode", mode); + } + break; + } + case PROP_SHOW_TEXT_MODE: { + CPUFreqShowTextMode mode; + + mode = g_value_get_enum (value); + if (prefs->priv->show_text_mode != mode) { + update_sensitivity = TRUE; + prefs->priv->show_text_mode = mode; + g_settings_set_int (prefs->priv->settings, + "show-text-mode", mode); + } + break; + } + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + } + + if (prefs->priv->dialog && update_sensitivity) + cpufreq_prefs_dialog_update_sensitivity (prefs); } static void cpufreq_prefs_get_property (GObject *object, - guint prop_id, - GValue *value, - GParamSpec *pspec) + guint prop_id, + GValue *value, + GParamSpec *pspec) { - CPUFreqPrefs *prefs = CPUFREQ_PREFS (object); - - switch (prop_id) { - case PROP_CPU: - g_value_set_uint (value, prefs->priv->cpu); - break; - case PROP_SHOW_MODE: - g_value_set_enum (value, prefs->priv->show_mode); - break; - case PROP_SHOW_TEXT_MODE: - g_value_set_enum (value, prefs->priv->show_text_mode); - break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); - } + CPUFreqPrefs *prefs = CPUFREQ_PREFS (object); + + switch (prop_id) { + case PROP_CPU: + g_value_set_uint (value, prefs->priv->cpu); + break; + case PROP_SHOW_MODE: + g_value_set_enum (value, prefs->priv->show_mode); + break; + case PROP_SHOW_TEXT_MODE: + g_value_set_enum (value, prefs->priv->show_text_mode); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + } } static void cpufreq_prefs_setup (CPUFreqPrefs *prefs) { - g_assert (G_IS_SETTINGS (prefs->priv->settings)); + g_assert (G_IS_SETTINGS (prefs->priv->settings)); - prefs->priv->cpu = g_settings_get_int (prefs->priv->settings, "cpu"); - prefs->priv->show_mode = g_settings_get_int (prefs->priv->settings, "show-mode"); - prefs->priv->show_text_mode = g_settings_get_int (prefs->priv->settings, "show-text-mode"); + prefs->priv->cpu = g_settings_get_int (prefs->priv->settings, "cpu"); + prefs->priv->show_mode = g_settings_get_int (prefs->priv->settings, "show-mode"); + prefs->priv->show_text_mode = g_settings_get_int (prefs->priv->settings, "show-text-mode"); } CPUFreqPrefs * cpufreq_prefs_new (GSettings *settings) { - CPUFreqPrefs *prefs; + CPUFreqPrefs *prefs; - g_return_val_if_fail (settings != NULL, NULL); + g_return_val_if_fail (settings != NULL, NULL); - prefs = CPUFREQ_PREFS (g_object_new (CPUFREQ_TYPE_PREFS, NULL)); - prefs->priv->settings = g_object_ref (settings); + prefs = CPUFREQ_PREFS (g_object_new (CPUFREQ_TYPE_PREFS, NULL)); + prefs->priv->settings = g_object_ref (settings); - cpufreq_prefs_setup (prefs); + cpufreq_prefs_setup (prefs); - return prefs; + return prefs; } /* Public Methods */ guint cpufreq_prefs_get_cpu (CPUFreqPrefs *prefs) { - g_return_val_if_fail (CPUFREQ_IS_PREFS (prefs), 0); - - return MIN (prefs->priv->cpu, cpufreq_utils_get_n_cpus () - 1); + g_return_val_if_fail (CPUFREQ_IS_PREFS (prefs), 0); + + return MIN (prefs->priv->cpu, cpufreq_utils_get_n_cpus () - 1); } CPUFreqShowMode cpufreq_prefs_get_show_mode (CPUFreqPrefs *prefs) { - g_return_val_if_fail (CPUFREQ_IS_PREFS (prefs), - CPUFREQ_MODE_BOTH); + g_return_val_if_fail (CPUFREQ_IS_PREFS (prefs), + CPUFREQ_MODE_BOTH); - return prefs->priv->show_mode; + return prefs->priv->show_mode; } CPUFreqShowTextMode cpufreq_prefs_get_show_text_mode (CPUFreqPrefs *prefs) { - g_return_val_if_fail (CPUFREQ_IS_PREFS (prefs), - CPUFREQ_MODE_TEXT_FREQUENCY_UNIT); + g_return_val_if_fail (CPUFREQ_IS_PREFS (prefs), + CPUFREQ_MODE_TEXT_FREQUENCY_UNIT); - return prefs->priv->show_text_mode; + return prefs->priv->show_text_mode; } /* Preferences Dialog */ static void -cpufreq_prefs_dialog_show_freq_toggled (GtkWidget *show_freq, CPUFreqPrefs *prefs) +cpufreq_prefs_dialog_show_freq_toggled (GtkWidget *show_freq, + CPUFreqPrefs *prefs) { - CPUFreqShowTextMode show_text_mode; - - if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (show_freq))) { - GtkWidget *show_unit = prefs->priv->show_unit; - - if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (show_unit))) - show_text_mode = CPUFREQ_MODE_TEXT_FREQUENCY_UNIT; - else - show_text_mode = CPUFREQ_MODE_TEXT_FREQUENCY; - - g_object_set (G_OBJECT (prefs), - "show-text-mode", show_text_mode, - NULL); - } -} + CPUFreqShowTextMode show_text_mode; + + if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (show_freq))) { + GtkWidget *show_unit = prefs->priv->show_unit; + + if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (show_unit))) + show_text_mode = CPUFREQ_MODE_TEXT_FREQUENCY_UNIT; + else + show_text_mode = CPUFREQ_MODE_TEXT_FREQUENCY; + + g_object_set (G_OBJECT (prefs), + "show-text-mode", show_text_mode, + NULL); + } +} static void -cpufreq_prefs_dialog_show_unit_toggled (GtkWidget *show_unit, CPUFreqPrefs *prefs) +cpufreq_prefs_dialog_show_unit_toggled (GtkWidget *show_unit, + CPUFreqPrefs *prefs) { - CPUFreqShowTextMode show_text_mode; - - if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (show_unit))) { - show_text_mode = CPUFREQ_MODE_TEXT_FREQUENCY_UNIT; - } else { - show_text_mode = CPUFREQ_MODE_TEXT_FREQUENCY; - } + CPUFreqShowTextMode show_text_mode; - g_object_set (G_OBJECT (prefs), - "show-text-mode", show_text_mode, - NULL); + if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (show_unit))) { + show_text_mode = CPUFREQ_MODE_TEXT_FREQUENCY_UNIT; + } else { + show_text_mode = CPUFREQ_MODE_TEXT_FREQUENCY; + } + + g_object_set (G_OBJECT (prefs), + "show-text-mode", show_text_mode, + NULL); } static void -cpufreq_prefs_dialog_show_perc_toggled (GtkWidget *show_perc, CPUFreqPrefs *prefs) +cpufreq_prefs_dialog_show_perc_toggled (GtkWidget *show_perc, + CPUFreqPrefs *prefs) { - CPUFreqShowTextMode show_text_mode; - - if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (show_perc))) { - /* Show cpu usage in percentage */ - show_text_mode = CPUFREQ_MODE_TEXT_PERCENTAGE; + CPUFreqShowTextMode show_text_mode; - g_object_set (G_OBJECT (prefs), - "show-text-mode", show_text_mode, - NULL); - } + if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (show_perc))) { + /* Show cpu usage in percentage */ + show_text_mode = CPUFREQ_MODE_TEXT_PERCENTAGE; + + g_object_set (G_OBJECT (prefs), + "show-text-mode", show_text_mode, + NULL); + } } static void -cpufreq_prefs_dialog_cpu_number_changed (GtkWidget *cpu_combo, CPUFreqPrefs *prefs) +cpufreq_prefs_dialog_cpu_number_changed (GtkWidget *cpu_combo, + CPUFreqPrefs *prefs) { - gint cpu; - - cpu = gtk_combo_box_get_active (GTK_COMBO_BOX (prefs->priv->cpu_combo)); - - if (cpu >= 0) { - g_object_set (G_OBJECT (prefs), - "cpu", cpu, - NULL); - } + gint cpu; + + cpu = gtk_combo_box_get_active (GTK_COMBO_BOX (prefs->priv->cpu_combo)); + + if (cpu >= 0) { + g_object_set (G_OBJECT (prefs), + "cpu", cpu, + NULL); + } } static void -cpufreq_prefs_dialog_show_mode_changed (GtkWidget *show_mode_combo, CPUFreqPrefs *prefs) +cpufreq_prefs_dialog_show_mode_changed (GtkWidget *show_mode_combo, + CPUFreqPrefs *prefs) { - CPUFreqShowMode show_mode; - - show_mode = gtk_combo_box_get_active (GTK_COMBO_BOX (show_mode_combo)); - g_object_set (G_OBJECT (prefs), - "show-mode", show_mode, - NULL); + CPUFreqShowMode show_mode; + + show_mode = gtk_combo_box_get_active (GTK_COMBO_BOX (show_mode_combo)); + g_object_set (G_OBJECT (prefs), + "show-mode", show_mode, + NULL); } static void cpufreq_prefs_dialog_response_cb (CPUFreqPrefs *prefs, - gint response, - GtkDialog *dialog) + gint response, + GtkDialog *dialog) { - GError *error = NULL; - - if (response == GTK_RESPONSE_HELP) { - gtk_show_uri_on_window (GTK_WINDOW (prefs->priv->dialog), - "help:mate-cpufreq-applet/cpufreq-applet-prefs", - gtk_get_current_event_time (), - &error); - - if (error) { - cpufreq_utils_display_error (_("Could not open help document"), - error->message); - g_error_free (error); - } - } else { - gtk_widget_destroy (prefs->priv->dialog); - prefs->priv->dialog = NULL; + GError *error = NULL; + + if (response == GTK_RESPONSE_HELP) { + gtk_show_uri_on_window (GTK_WINDOW (prefs->priv->dialog), + "help:mate-cpufreq-applet/cpufreq-applet-prefs", + gtk_get_current_event_time (), + &error); + + if (error) { + cpufreq_utils_display_error (_("Could not open help document"), + error->message); + g_error_free (error); } + } else { + gtk_widget_destroy (prefs->priv->dialog); + prefs->priv->dialog = NULL; + } } static void cpufreq_prefs_dialog_update_visibility (CPUFreqPrefs *prefs) { - if (cpufreq_utils_get_n_cpus () > 1) - gtk_widget_show (prefs->priv->monitor_settings_frame); - else - gtk_widget_hide (prefs->priv->monitor_settings_frame); + if (cpufreq_utils_get_n_cpus () > 1) + gtk_widget_show (prefs->priv->monitor_settings_frame); + else + gtk_widget_hide (prefs->priv->monitor_settings_frame); } static void cpufreq_prefs_dialog_update_sensitivity (CPUFreqPrefs *prefs) { - gtk_widget_set_sensitive (prefs->priv->show_mode_combo, - g_settings_is_writable (prefs->priv->settings, "show-mode")); - - if (prefs->priv->show_mode != CPUFREQ_MODE_GRAPHIC) { - gboolean key_writable; - - key_writable = g_settings_is_writable (prefs->priv->settings, "show-text-mode"); - - gtk_widget_set_sensitive (prefs->priv->show_freq, - (TRUE && key_writable)); - gtk_widget_set_sensitive (prefs->priv->show_perc, - (TRUE && key_writable)); - - if (prefs->priv->show_text_mode == CPUFREQ_MODE_TEXT_PERCENTAGE) - gtk_widget_set_sensitive (prefs->priv->show_unit, - FALSE); - else - gtk_widget_set_sensitive (prefs->priv->show_unit, - (TRUE && key_writable)); - } else { - gtk_widget_set_sensitive (prefs->priv->show_freq, FALSE); - gtk_widget_set_sensitive (prefs->priv->show_unit, FALSE); - gtk_widget_set_sensitive (prefs->priv->show_perc, FALSE); - } + gtk_widget_set_sensitive (prefs->priv->show_mode_combo, + g_settings_is_writable (prefs->priv->settings, + "show-mode")); + + if (prefs->priv->show_mode != CPUFREQ_MODE_GRAPHIC) { + gboolean key_writable; + + key_writable = g_settings_is_writable (prefs->priv->settings, + "show-text-mode"); + + gtk_widget_set_sensitive (prefs->priv->show_freq, + (TRUE && key_writable)); + gtk_widget_set_sensitive (prefs->priv->show_perc, + (TRUE && key_writable)); + + if (prefs->priv->show_text_mode == CPUFREQ_MODE_TEXT_PERCENTAGE) + gtk_widget_set_sensitive (prefs->priv->show_unit, + FALSE); + else + gtk_widget_set_sensitive (prefs->priv->show_unit, + (TRUE && key_writable)); + } else { + gtk_widget_set_sensitive (prefs->priv->show_freq, FALSE); + gtk_widget_set_sensitive (prefs->priv->show_unit, FALSE); + gtk_widget_set_sensitive (prefs->priv->show_perc, FALSE); + } } static void cpufreq_prefs_dialog_update (CPUFreqPrefs *prefs) { - if (cpufreq_utils_get_n_cpus () > 1) { - gtk_combo_box_set_active (GTK_COMBO_BOX (prefs->priv->cpu_combo), - MIN (prefs->priv->cpu, cpufreq_utils_get_n_cpus () - 1)); - } - - gtk_combo_box_set_active (GTK_COMBO_BOX (prefs->priv->show_mode_combo), - prefs->priv->show_mode); - - switch (prefs->priv->show_text_mode) { - case CPUFREQ_MODE_TEXT_FREQUENCY: - gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (prefs->priv->show_freq), - TRUE); - gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (prefs->priv->show_unit), - FALSE); - - break; - case CPUFREQ_MODE_TEXT_FREQUENCY_UNIT: - gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (prefs->priv->show_freq), - TRUE); - gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (prefs->priv->show_unit), - TRUE); - - break; - case CPUFREQ_MODE_TEXT_PERCENTAGE: - gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (prefs->priv->show_perc), - TRUE); - - break; - } + if (cpufreq_utils_get_n_cpus () > 1) { + gtk_combo_box_set_active (GTK_COMBO_BOX (prefs->priv->cpu_combo), + MIN (prefs->priv->cpu, + cpufreq_utils_get_n_cpus () - 1)); + } + + gtk_combo_box_set_active (GTK_COMBO_BOX (prefs->priv->show_mode_combo), + prefs->priv->show_mode); + + switch (prefs->priv->show_text_mode) { + case CPUFREQ_MODE_TEXT_FREQUENCY: + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (prefs->priv->show_freq), + TRUE); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (prefs->priv->show_unit), + FALSE); + + break; + case CPUFREQ_MODE_TEXT_FREQUENCY_UNIT: + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (prefs->priv->show_freq), + TRUE); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (prefs->priv->show_unit), + TRUE); + + break; + case CPUFREQ_MODE_TEXT_PERCENTAGE: + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (prefs->priv->show_perc), + TRUE); + + break; + default: + g_assert_not_reached (); + } } static void cpufreq_prefs_dialog_cpu_combo_setup (CPUFreqPrefs *prefs) { - GtkListStore *model; - GtkTreeIter iter; - GtkCellRenderer *renderer; - guint i; - guint n_cpus; - - model = gtk_list_store_new (1, G_TYPE_STRING); - gtk_combo_box_set_model (GTK_COMBO_BOX (prefs->priv->cpu_combo), - GTK_TREE_MODEL (model)); - - n_cpus = cpufreq_utils_get_n_cpus (); - - for (i = 0; i < n_cpus; i++) { - gchar *text_label; - - text_label = g_strdup_printf ("CPU %u", i); - - gtk_list_store_append (model, &iter); - gtk_list_store_set (model, &iter, - 0, text_label, - -1); - - g_free (text_label); - } - - g_object_unref (model); - - renderer = gtk_cell_renderer_text_new (); - gtk_cell_layout_clear (GTK_CELL_LAYOUT (prefs->priv->cpu_combo)); - gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (prefs->priv->cpu_combo), - renderer, TRUE); - gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (prefs->priv->cpu_combo), - renderer, - "text", 0, - NULL); + GtkListStore *model; + GtkTreeIter iter; + GtkCellRenderer *renderer; + guint i; + guint n_cpus; + + model = gtk_list_store_new (1, G_TYPE_STRING); + gtk_combo_box_set_model (GTK_COMBO_BOX (prefs->priv->cpu_combo), + GTK_TREE_MODEL (model)); + + n_cpus = cpufreq_utils_get_n_cpus (); + + for (i = 0; i < n_cpus; i++) { + gchar *text_label; + + text_label = g_strdup_printf ("CPU %u", i); + + gtk_list_store_append (model, &iter); + gtk_list_store_set (model, &iter, + 0, text_label, + -1); + + g_free (text_label); + } + + g_object_unref (model); + + renderer = gtk_cell_renderer_text_new (); + gtk_cell_layout_clear (GTK_CELL_LAYOUT (prefs->priv->cpu_combo)); + gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (prefs->priv->cpu_combo), + renderer, TRUE); + gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (prefs->priv->cpu_combo), + renderer, + "text", 0, + NULL); } static void cpufreq_prefs_dialog_show_mode_combo_setup (CPUFreqPrefs *prefs) { - GtkListStore *model; - GtkTreeIter iter; - GtkCellRenderer *renderer; - - model = gtk_list_store_new (1, G_TYPE_STRING); - gtk_combo_box_set_model (GTK_COMBO_BOX (prefs->priv->show_mode_combo), - GTK_TREE_MODEL (model)); - - gtk_list_store_append (model, &iter); - gtk_list_store_set (model, &iter, - 0, _("Graphic"), - -1); - - gtk_list_store_append (model, &iter); - gtk_list_store_set (model, &iter, - 0, _("Text"), - -1); - - gtk_list_store_append (model, &iter); - gtk_list_store_set (model, &iter, - 0, _("Graphic and Text"), - -1); - - g_object_unref (model); - - renderer = gtk_cell_renderer_text_new (); - gtk_cell_layout_clear (GTK_CELL_LAYOUT (prefs->priv->show_mode_combo)); - gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (prefs->priv->show_mode_combo), - renderer, TRUE); - gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (prefs->priv->show_mode_combo), - renderer, - "text", 0, - NULL); + GtkListStore *model; + GtkTreeIter iter; + GtkCellRenderer *renderer; + + model = gtk_list_store_new (1, G_TYPE_STRING); + gtk_combo_box_set_model (GTK_COMBO_BOX (prefs->priv->show_mode_combo), + GTK_TREE_MODEL (model)); + + gtk_list_store_append (model, &iter); + gtk_list_store_set (model, &iter, + 0, _("Graphic"), + -1); + + gtk_list_store_append (model, &iter); + gtk_list_store_set (model, &iter, + 0, _("Text"), + -1); + + gtk_list_store_append (model, &iter); + gtk_list_store_set (model, &iter, + 0, _("Graphic and Text"), + -1); + + g_object_unref (model); + + renderer = gtk_cell_renderer_text_new (); + gtk_cell_layout_clear (GTK_CELL_LAYOUT (prefs->priv->show_mode_combo)); + gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (prefs->priv->show_mode_combo), + renderer, TRUE); + gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (prefs->priv->show_mode_combo), + renderer, + "text", 0, + NULL); } static void cpufreq_prefs_dialog_create (CPUFreqPrefs *prefs) { - GtkBuilder *builder; - - builder = gtk_builder_new_from_resource (CPUFREQ_RESOURCE_PATH "cpufreq-preferences.ui"); - - prefs->priv->dialog = GTK_WIDGET (gtk_builder_get_object (builder, "prefs_dialog")); - - prefs->priv->cpu_combo = GTK_WIDGET (gtk_builder_get_object (builder, "prefs_cpu_number")); - - prefs->priv->show_mode_combo = GTK_WIDGET (gtk_builder_get_object (builder, "prefs_show_mode")); - - prefs->priv->show_freq = GTK_WIDGET (gtk_builder_get_object (builder, "prefs_show_freq")); - prefs->priv->show_unit = GTK_WIDGET (gtk_builder_get_object (builder, "prefs_show_unit")); - prefs->priv->show_perc = GTK_WIDGET (gtk_builder_get_object (builder, "prefs_show_perc")); - - prefs->priv->monitor_settings_frame = GTK_WIDGET (gtk_builder_get_object (builder, "monitor_settings_frame")); - - g_object_unref (builder); - - cpufreq_prefs_dialog_show_mode_combo_setup (prefs); - - if (cpufreq_utils_get_n_cpus () > 1) - cpufreq_prefs_dialog_cpu_combo_setup (prefs); - - g_signal_connect_swapped (G_OBJECT (prefs->priv->dialog), "response", - G_CALLBACK (cpufreq_prefs_dialog_response_cb), - (gpointer) prefs); - - g_signal_connect (G_OBJECT (prefs->priv->show_freq), "toggled", - G_CALLBACK (cpufreq_prefs_dialog_show_freq_toggled), - (gpointer) prefs); - g_signal_connect (G_OBJECT (prefs->priv->show_unit), "toggled", - G_CALLBACK (cpufreq_prefs_dialog_show_unit_toggled), - (gpointer) prefs); - g_signal_connect (G_OBJECT (prefs->priv->show_perc), "toggled", - G_CALLBACK (cpufreq_prefs_dialog_show_perc_toggled), - (gpointer) prefs); - g_signal_connect (G_OBJECT (prefs->priv->cpu_combo), "changed", - G_CALLBACK (cpufreq_prefs_dialog_cpu_number_changed), - (gpointer) prefs); - g_signal_connect (G_OBJECT (prefs->priv->show_mode_combo), "changed", - G_CALLBACK (cpufreq_prefs_dialog_show_mode_changed), - (gpointer) prefs); + GtkBuilder *builder; + + builder = gtk_builder_new_from_resource (CPUFREQ_RESOURCE_PATH "cpufreq-preferences.ui"); + + prefs->priv->dialog = GTK_WIDGET (gtk_builder_get_object (builder, "prefs_dialog")); + + prefs->priv->cpu_combo = GTK_WIDGET (gtk_builder_get_object (builder, "prefs_cpu_number")); + + prefs->priv->show_mode_combo = GTK_WIDGET (gtk_builder_get_object (builder, "prefs_show_mode")); + + prefs->priv->show_freq = GTK_WIDGET (gtk_builder_get_object (builder, "prefs_show_freq")); + prefs->priv->show_unit = GTK_WIDGET (gtk_builder_get_object (builder, "prefs_show_unit")); + prefs->priv->show_perc = GTK_WIDGET (gtk_builder_get_object (builder, "prefs_show_perc")); + + prefs->priv->monitor_settings_frame = GTK_WIDGET (gtk_builder_get_object (builder, + "monitor_settings_frame")); + + g_object_unref (builder); + + cpufreq_prefs_dialog_show_mode_combo_setup (prefs); + + if (cpufreq_utils_get_n_cpus () > 1) + cpufreq_prefs_dialog_cpu_combo_setup (prefs); + + g_signal_connect_swapped (G_OBJECT (prefs->priv->dialog), "response", + G_CALLBACK (cpufreq_prefs_dialog_response_cb), + (gpointer) prefs); + + g_signal_connect (G_OBJECT (prefs->priv->show_freq), "toggled", + G_CALLBACK (cpufreq_prefs_dialog_show_freq_toggled), + (gpointer) prefs); + g_signal_connect (G_OBJECT (prefs->priv->show_unit), "toggled", + G_CALLBACK (cpufreq_prefs_dialog_show_unit_toggled), + (gpointer) prefs); + g_signal_connect (G_OBJECT (prefs->priv->show_perc), "toggled", + G_CALLBACK (cpufreq_prefs_dialog_show_perc_toggled), + (gpointer) prefs); + g_signal_connect (G_OBJECT (prefs->priv->cpu_combo), "changed", + G_CALLBACK (cpufreq_prefs_dialog_cpu_number_changed), + (gpointer) prefs); + g_signal_connect (G_OBJECT (prefs->priv->show_mode_combo), "changed", + G_CALLBACK (cpufreq_prefs_dialog_show_mode_changed), + (gpointer) prefs); } -void -cpufreq_preferences_dialog_run (CPUFreqPrefs *prefs, GdkScreen *screen) +void +cpufreq_preferences_dialog_run (CPUFreqPrefs *prefs, + GdkScreen *screen) { - g_return_if_fail (CPUFREQ_IS_PREFS (prefs)); + g_return_if_fail (CPUFREQ_IS_PREFS (prefs)); - if (prefs->priv->dialog) { - /* Dialog already exist, only show it */ - gtk_window_present (GTK_WINDOW (prefs->priv->dialog)); - return; - } + if (prefs->priv->dialog) { + /* Dialog already exist, only show it */ + gtk_window_present (GTK_WINDOW (prefs->priv->dialog)); + return; + } - cpufreq_prefs_dialog_create (prefs); - gtk_window_set_screen (GTK_WINDOW (prefs->priv->dialog), screen); + cpufreq_prefs_dialog_create (prefs); + gtk_window_set_screen (GTK_WINDOW (prefs->priv->dialog), screen); - cpufreq_prefs_dialog_update_sensitivity (prefs); - cpufreq_prefs_dialog_update_visibility (prefs); - cpufreq_prefs_dialog_update (prefs); + cpufreq_prefs_dialog_update_sensitivity (prefs); + cpufreq_prefs_dialog_update_visibility (prefs); + cpufreq_prefs_dialog_update (prefs); - gtk_widget_show (prefs->priv->dialog); + gtk_widget_show (prefs->priv->dialog); } |