[Xfce4-commits] [xfce/xfce4-power-manager] 33/64: Change radiobuttons in advanced settings tab to comboboxes
noreply at xfce.org
noreply at xfce.org
Mon May 26 06:00:28 CEST 2014
This is an automated email from the git hooks/post-receive script.
eric pushed a commit to branch master
in repository xfce/xfce4-power-manager.
commit 7d978ba3bdd703d653f1236f5203aabd5e9b78e4
Author: Simon Steinbeiss <simon.steinbeiss at elfenbeinturm.at>
Date: Mon May 5 15:16:19 2014 +0200
Change radiobuttons in advanced settings tab to comboboxes
---
data/interfaces/xfpm-settings.ui | 92 +++++++++---------
settings/xfpm-settings.c | 195 ++++++++++++++++++++------------------
src/xfpm-dpms.c | 2 +-
src/xfpm-xfconf.c | 2 +-
4 files changed, 147 insertions(+), 144 deletions(-)
diff --git a/data/interfaces/xfpm-settings.ui b/data/interfaces/xfpm-settings.ui
index ebe5e4d..f5fff23 100644
--- a/data/interfaces/xfpm-settings.ui
+++ b/data/interfaces/xfpm-settings.ui
@@ -746,36 +746,22 @@
</packing>
</child>
<child>
- <object class="GtkRadioButton" id="inactivity-suspend">
- <property name="label" translatable="yes">Suspend</property>
+ <object class="GtkComboBox" id="sleep-mode">
<property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">False</property>
- <property name="active">True</property>
- <property name="draw_indicator">True</property>
- <signal name="toggled" handler="set_suspend_inactivity"/>
+ <property name="model">model6</property>
+ <signal name="changed" handler="on_sleep_mode_changed_cb"/>
+ <child>
+ <object class="GtkCellRendererText" id="renderer8"/>
+ <attributes>
+ <attribute name="text">0</attribute>
+ </attributes>
+ </child>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">0</property>
- <property name="x_options"></property>
- </packing>
- </child>
- <child>
- <object class="GtkRadioButton" id="inactivity-hibernate">
- <property name="label" translatable="yes">Hibernate</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">False</property>
- <property name="active">True</property>
- <property name="draw_indicator">True</property>
- <property name="group">inactivity-suspend</property>
- <signal name="toggled" handler="set_hibernate_inactivity"/>
- </object>
- <packing>
- <property name="left_attach">2</property>
- <property name="top_attach">0</property>
- <property name="x_options"></property>
+ <property name="x_options">GTK_FILL</property>
+ <property name="y_options">GTK_EXPAND</property>
</packing>
</child>
<child>
@@ -792,36 +778,22 @@
</packing>
</child>
<child>
- <object class="GtkRadioButton" id="sleep-dpms-mode">
- <property name="label" translatable="yes">Standby</property>
+ <object class="GtkComboBox" id="sleep-dpms-mode">
<property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">False</property>
- <property name="active">True</property>
- <property name="draw_indicator">True</property>
- <signal name="toggled" handler="set_dpms_standby_mode"/>
+ <property name="model">model6</property>
+ <signal name="changed" handler="on_sleep_dpms_mode_changed_cb"/>
+ <child>
+ <object class="GtkCellRendererText" id="renderer9"/>
+ <attributes>
+ <attribute name="text">0</attribute>
+ </attributes>
+ </child>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">1</property>
- <property name="x_options"></property>
- </packing>
- </child>
- <child>
- <object class="GtkRadioButton" id="suspend-dpms-mode">
- <property name="label" translatable="yes">Suspend</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">False</property>
- <property name="active">True</property>
- <property name="draw_indicator">True</property>
- <property name="group">sleep-dpms-mode</property>
- <signal name="toggled" handler="set_dpms_suspend_mode"/>
- </object>
- <packing>
- <property name="left_attach">2</property>
- <property name="top_attach">1</property>
<property name="x_options">GTK_FILL</property>
+ <property name="y_options">GTK_EXPAND</property>
</packing>
</child>
</object>
@@ -1052,4 +1024,26 @@
</row>
</data>
</object>
+ <object class="GtkListStore" id="model8">
+ <columns>
+ <!-- column-name gchararray -->
+ <column type="gchararray"/>
+ </columns>
+ <data>
+ <row>
+ <col id="0" translatable="yes">Nothing</col>
+ </row>
+ </data>
+ </object>
+ <object class="GtkListStore" id="model9">
+ <columns>
+ <!-- column-name gchararray -->
+ <column type="gchararray"/>
+ </columns>
+ <data>
+ <row>
+ <col id="0" translatable="yes">Nothing</col>
+ </row>
+ </data>
+ </object>
</interface>
diff --git a/settings/xfpm-settings.c b/settings/xfpm-settings.c
index 8fcfdc6..1fe7395 100644
--- a/settings/xfpm-settings.c
+++ b/settings/xfpm-settings.c
@@ -95,16 +95,10 @@ void power_save_toggled_cb (GtkWidget *w,
void notify_toggled_cb (GtkWidget *w,
XfconfChannel *channel);
-void set_hibernate_inactivity (GtkWidget *w,
+void on_sleep_mode_changed_cb (GtkWidget *w,
XfconfChannel *channel);
-void set_suspend_inactivity (GtkWidget *w,
- XfconfChannel *channel);
-
-void set_dpms_standby_mode (GtkWidget *w,
- XfconfChannel *channel);
-
-void set_dpms_suspend_mode (GtkWidget *w,
+void on_sleep_dpms_mode_changed_cb (GtkWidget *w,
XfconfChannel *channel);
void dpms_toggled_cb (GtkWidget *w,
@@ -351,69 +345,51 @@ notify_toggled_cb (GtkWidget *w, XfconfChannel *channel)
}
void
-set_hibernate_inactivity (GtkWidget *w, XfconfChannel *channel)
+on_sleep_mode_changed_cb (GtkWidget *w, XfconfChannel *channel)
{
- gboolean active;
-
- active = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (w));
+ GtkTreeModel *model;
+ GtkTreeIter selected_row;
+ gchar *value = "";
- if ( active )
- {
- if (!xfconf_channel_set_string (channel, PROPERTIES_PREFIX INACTIVITY_SLEEP_MODE, "Hibernate") )
- {
- g_critical ("Cannot set value hibernate for property %s", INACTIVITY_SLEEP_MODE);
- }
- }
-}
+ if (!gtk_combo_box_get_active_iter (GTK_COMBO_BOX (w), &selected_row))
+ return;
-void
-set_suspend_inactivity (GtkWidget *w, XfconfChannel *channel)
-{
- gboolean active;
+ model = gtk_combo_box_get_model (GTK_COMBO_BOX(w));
+
+ gtk_tree_model_get(model,
+ &selected_row,
+ 0,
+ &value,
+ -1);
- active = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (w));
- if ( active )
+ if (!xfconf_channel_set_string (channel, PROPERTIES_PREFIX INACTIVITY_SLEEP_MODE, value) )
{
- if (!xfconf_channel_set_string (channel, PROPERTIES_PREFIX INACTIVITY_SLEEP_MODE, "Suspend") )
- {
- g_critical ("Cannot set value suspend for property %s", INACTIVITY_SLEEP_MODE);
- }
+ g_critical ("Cannot set value for property %s\n", INACTIVITY_SLEEP_MODE);
}
}
void
-set_dpms_standby_mode (GtkWidget *w, XfconfChannel *channel)
+on_sleep_dpms_mode_changed_cb (GtkWidget *w, XfconfChannel *channel)
{
-#ifdef HAVE_DPMS
- gboolean active;
-
- active = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (w));
+ GtkTreeModel *model;
+ GtkTreeIter selected_row;
+ gchar *value = "";
- if ( active )
- {
- if (!xfconf_channel_set_string (channel, PROPERTIES_PREFIX DPMS_SLEEP_MODE, "standby") )
- {
- g_critical ("Cannot set value sleep for property %s\n", DPMS_SLEEP_MODE);
- }
- }
-#endif
-}
+ if (!gtk_combo_box_get_active_iter (GTK_COMBO_BOX (w), &selected_row))
+ return;
-void
-set_dpms_suspend_mode (GtkWidget *w, XfconfChannel *channel)
-{
-#ifdef HAVE_DPMS
- gboolean active;
+ model = gtk_combo_box_get_model (GTK_COMBO_BOX(w));
+
+ gtk_tree_model_get(model,
+ &selected_row,
+ 0,
+ &value,
+ -1);
- active = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (w));
- if ( active )
+ if (!xfconf_channel_set_string (channel, PROPERTIES_PREFIX DPMS_SLEEP_MODE, value) )
{
- if (!xfconf_channel_set_string (channel, PROPERTIES_PREFIX DPMS_SLEEP_MODE, "suspend") )
- {
- g_critical ("Cannot set value sleep for property %s\n", DPMS_SLEEP_MODE);
- }
+ g_critical ("Cannot set value for property %s\n", DPMS_SLEEP_MODE);
}
-#endif
}
void
@@ -1374,67 +1350,100 @@ xfpm_settings_advanced (XfconfChannel *channel, gboolean system_laptop,
GtkWidget *sleep_dpms_mode;
GtkWidget *suspend_dpms_mode;
GtkWidget *network_manager_sleep;
+ GtkWidget *sleep_mode;
+
+ gchar *list_str;
+ gboolean valid;
+ GtkListStore *list_store;
+ GtkTreeIter iter;
+
+ /*
+ * Computer sleep mode
+ */
+ list_store = gtk_list_store_new (2, G_TYPE_STRING, G_TYPE_INT);
+ sleep_mode = GTK_WIDGET (gtk_builder_get_object (xml, "sleep-mode"));
+ label = GTK_WIDGET (gtk_builder_get_object (xml, "advanced_sleepmode_label"));
+ gtk_combo_box_set_model (GTK_COMBO_BOX(sleep_mode), GTK_TREE_MODEL(list_store));
- GtkWidget *inact_suspend = GTK_WIDGET (gtk_builder_get_object (xml, "inactivity-suspend"));
- GtkWidget *inact_hibernate = GTK_WIDGET (gtk_builder_get_object (xml, "inactivity-hibernate"));
-
- if ( !can_suspend )
+ if ( can_suspend )
{
- gtk_widget_set_sensitive (inact_suspend, FALSE);
- gtk_widget_set_tooltip_text (inact_suspend, _("Suspend operation not supported"));
+ gtk_list_store_append (list_store, &iter);
+ gtk_list_store_set (list_store, &iter, 0, _("Suspend"), -1);
}
else if ( !auth_suspend )
{
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (inact_hibernate), TRUE);
- gtk_widget_set_sensitive (inact_suspend, FALSE);
- gtk_widget_set_tooltip_text (inact_suspend, _("Suspend operation not permitted"));
+ gtk_widget_set_tooltip_text (sleep_mode, _("Suspend operation not permitted"));
+ }
+ else
+ {
+ gtk_widget_set_tooltip_text (sleep_mode, _("Suspend operation not supported"));
}
- if ( !can_hibernate )
+ if ( can_hibernate )
{
- gtk_widget_set_sensitive (inact_hibernate, FALSE);
- gtk_widget_set_tooltip_text (inact_hibernate, _("Hibernate operation not supported"));
+ gtk_list_store_append (list_store, &iter);
+ gtk_list_store_set (list_store, &iter, 0, _("Hibernate"), -1);
}
- else if ( !auth_hibernate)
+ else if ( !auth_hibernate )
{
- gtk_widget_set_sensitive (inact_hibernate, FALSE);
- gtk_widget_set_tooltip_text (inact_hibernate, _("Hibernate operation not permitted"));
+ gtk_widget_set_tooltip_text (sleep_mode, _("Hibernate operation not permitted"));
}
-
+ else
+ {
+ gtk_widget_set_tooltip_text (sleep_mode, _("Hibernate operation not supported"));
+ }
+
+ gtk_combo_box_set_active (GTK_COMBO_BOX (sleep_mode), 0);
+
str = xfconf_channel_get_string (channel, PROPERTIES_PREFIX INACTIVITY_SLEEP_MODE, "Suspend");
- if ( !g_strcmp0 (str, "Suspend") )
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (inact_suspend), TRUE);
- else if ( !g_strcmp0 (str, "Hibernate"))
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (inact_hibernate), TRUE);
- else
+ for ( valid = gtk_tree_model_get_iter_first (GTK_TREE_MODEL (list_store), &iter);
+ valid;
+ valid = gtk_tree_model_iter_next (GTK_TREE_MODEL (list_store), &iter) )
{
- g_warning ("Invalid value %s for property %s ", str, INACTIVITY_SLEEP_MODE);
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (inact_suspend), TRUE);
+ gtk_tree_model_get (GTK_TREE_MODEL (list_store), &iter,
+ 0, &list_str, -1);
+ if ( g_strcmp0 (str, list_str) )
+ {
+ gtk_combo_box_set_active_iter (GTK_COMBO_BOX (sleep_mode), &iter);
+ break;
+ }
}
-
g_free (str);
+ /*
+ * Display sleep mode
+ */
sleep_dpms_mode = GTK_WIDGET (gtk_builder_get_object (xml, "sleep-dpms-mode"));
- suspend_dpms_mode = GTK_WIDGET (gtk_builder_get_object (xml, "suspend-dpms-mode"));
-
+
#ifdef HAVE_DPMS
- str = xfconf_channel_get_string (channel, PROPERTIES_PREFIX DPMS_SLEEP_MODE, "standby");
-
- if ( !g_strcmp0 (str, "standby" ) )
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (sleep_dpms_mode), TRUE);
- else if ( !g_strcmp0 (str, "suspend") )
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (suspend_dpms_mode), TRUE);
- else
+ list_store = gtk_list_store_new (2, G_TYPE_STRING, G_TYPE_INT);
+ gtk_combo_box_set_model (GTK_COMBO_BOX(sleep_dpms_mode), GTK_TREE_MODEL(list_store));
+ gtk_list_store_append (list_store, &iter);
+ gtk_list_store_set (list_store, &iter, 0, _("Suspend"), -1);
+ gtk_list_store_append (list_store, &iter);
+ gtk_list_store_set (list_store, &iter, 0, _("Standby"), -1);
+
+ gtk_combo_box_set_active (GTK_COMBO_BOX (sleep_dpms_mode), 0);
+
+ str = xfconf_channel_get_string (channel, PROPERTIES_PREFIX DPMS_SLEEP_MODE, "Standby");
+
+ for ( valid = gtk_tree_model_get_iter_first (GTK_TREE_MODEL (list_store), &iter);
+ valid;
+ valid = gtk_tree_model_iter_next (GTK_TREE_MODEL (list_store), &iter) )
{
- g_critical ("Invalid value %s for property %s\n", str, PROPERTIES_PREFIX DPMS_SLEEP_MODE );
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (sleep_dpms_mode), TRUE);
+ gtk_tree_model_get (GTK_TREE_MODEL (list_store), &iter,
+ 0, &list_str, -1);
+ if ( g_strcmp0 (str, list_str) )
+ {
+ gtk_combo_box_set_active_iter (GTK_COMBO_BOX (sleep_dpms_mode), &iter);
+ break;
+ }
}
-
+
g_free (str);
#else
gtk_widget_hide (sleep_dpms_mode);
- gtk_widget_hide (suspend_dpms_mode);
gtk_widget_hide (GTK_WIDGET (gtk_builder_get_object (xml, "dpms-mode-label")));
#endif
diff --git a/src/xfpm-dpms.c b/src/xfpm-dpms.c
index fdc573c..95b63f5 100644
--- a/src/xfpm-dpms.c
+++ b/src/xfpm-dpms.c
@@ -127,7 +127,7 @@ xfpm_dpms_get_sleep_mode (XfpmDpms *dpms, gboolean *ret_standby_mode)
DPMS_SLEEP_MODE, &sleep_mode,
NULL);
- if ( !g_strcmp0 (sleep_mode, "standby"))
+ if ( !g_strcmp0 (sleep_mode, "Standby"))
*ret_standby_mode = TRUE;
else
*ret_standby_mode = FALSE;
diff --git a/src/xfpm-xfconf.c b/src/xfpm-xfconf.c
index 5558e30..8c8e3b3 100644
--- a/src/xfpm-xfconf.c
+++ b/src/xfpm-xfconf.c
@@ -463,7 +463,7 @@ xfpm_xfconf_class_init (XfpmXfconfClass *klass)
PROP_DPMS_SLEEP_MODE,
g_param_spec_string (DPMS_SLEEP_MODE,
NULL, NULL,
- "standby",
+ "Standby",
G_PARAM_READWRITE));
#endif /* HAVE_DPMS */
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the Xfce4-commits
mailing list