[Xfce4-commits] <xfce4-session:master> Restore old logout dialog look.
Nick Schermer
noreply at xfce.org
Sat Mar 24 22:50:21 CET 2012
Updating branch refs/heads/master
to 3419125796cd4ed3460b0e4c02c18b3fe19ef01f (commit)
from e8d61abb66b6a8a0ef0758116f690e825d93726c (commit)
commit 3419125796cd4ed3460b0e4c02c18b3fe19ef01f
Author: Nick Schermer <nick at xfce.org>
Date: Sat Mar 10 14:01:07 2012 +0100
Restore old logout dialog look.
Also don't query xfpm twice in case the service failed.
xfce4-session/xfsm-logout-dialog.c | 29 ++++++++++++++++++++++++-----
1 files changed, 24 insertions(+), 5 deletions(-)
diff --git a/xfce4-session/xfsm-logout-dialog.c b/xfce4-session/xfsm-logout-dialog.c
index 05c488f..e342294 100644
--- a/xfce4-session/xfsm-logout-dialog.c
+++ b/xfce4-session/xfsm-logout-dialog.c
@@ -142,6 +142,7 @@ xfsm_logout_dialog_init (XfsmLogoutDialog *dialog)
gchar *label_str;
PangoAttrList *attrs;
GtkWidget *vbox;
+ GtkWidget *button_vbox;
GtkWidget *main_vbox;
GtkWidget *hbox;
GtkWidget *button;
@@ -155,6 +156,7 @@ xfsm_logout_dialog_init (XfsmLogoutDialog *dialog)
GtkWidget *entry;
GtkWidget *image;
GtkWidget *separator;
+ gboolean xfpm_not_found = FALSE;
dialog->type_clicked = XFSM_SHUTDOWN_LOGOUT;
dialog->shutdown = xfsm_shutdown_get ();
@@ -204,10 +206,6 @@ xfsm_logout_dialog_init (XfsmLogoutDialog *dialog)
dialog->box[MODE_LOGOUT_BUTTONS] = vbox = gtk_vbox_new (FALSE, BORDER);
gtk_box_pack_start (GTK_BOX (main_vbox), vbox, TRUE, TRUE, 0);
- hbox = gtk_hbox_new (TRUE, BORDER);
- gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, TRUE, 0);
- gtk_widget_show (hbox);
-
/**
* Cancel
**/
@@ -231,6 +229,15 @@ xfsm_logout_dialog_init (XfsmLogoutDialog *dialog)
GTK_RESPONSE_CANCEL);
gtk_widget_hide (dialog->button_close);
+ button_vbox = gtk_vbox_new (TRUE, BORDER);
+ gtk_box_pack_start (GTK_BOX (vbox), button_vbox, FALSE, TRUE, 0);
+ gtk_widget_show (button_vbox);
+
+ /* row for logout/shutdown and reboot */
+ hbox = gtk_hbox_new (TRUE, BORDER);
+ gtk_box_pack_start (GTK_BOX (button_vbox), hbox, FALSE, TRUE, 0);
+ gtk_widget_show (hbox);
+
/**
* Logout
**/
@@ -282,6 +289,10 @@ xfsm_logout_dialog_init (XfsmLogoutDialog *dialog)
gtk_widget_set_sensitive (button, can_shutdown);
gtk_widget_show (button);
+ /* new row for suspend/hibernate */
+ hbox = gtk_hbox_new (TRUE, BORDER);
+ gtk_box_pack_start (GTK_BOX (button_vbox), hbox, FALSE, TRUE, 0);
+
/**
* Suspend
*
@@ -298,12 +309,17 @@ xfsm_logout_dialog_init (XfsmLogoutDialog *dialog)
gtk_box_pack_start (GTK_BOX (hbox), button, TRUE, TRUE, 0);
gtk_widget_set_sensitive (button, can_suspend);
gtk_widget_show (button);
+
+ gtk_widget_show (hbox);
}
else
{
g_printerr ("%s: Querying CanSuspend failed. %s\n\n",
PACKAGE_NAME, ERROR_MSG (error));
g_clear_error (&error);
+
+ /* don't try hibernate again */
+ xfpm_not_found = TRUE;
}
}
@@ -312,7 +328,8 @@ xfsm_logout_dialog_init (XfsmLogoutDialog *dialog)
*
* Hide the button if Xfpm is not installed
**/
- if (xfconf_channel_get_bool (channel, "/shutdown/ShowHibernate", TRUE))
+ if (!xfpm_not_found
+ && xfconf_channel_get_bool (channel, "/shutdown/ShowHibernate", TRUE))
{
if (xfsm_shutdown_can_hibernate (dialog->shutdown, &can_hibernate, &error))
{
@@ -323,6 +340,8 @@ xfsm_logout_dialog_init (XfsmLogoutDialog *dialog)
gtk_box_pack_start (GTK_BOX (hbox), button, TRUE, TRUE, 0);
gtk_widget_set_sensitive (button, can_hibernate);
gtk_widget_show (button);
+
+ gtk_widget_show (hbox);
}
else
{
More information about the Xfce4-commits
mailing list