[Goodies-commits] r5736 - xfce4-power-manager/trunk/src

Ali Abdallah aliov at xfce.org
Tue Oct 21 21:02:55 CEST 2008


Author: aliov
Date: 2008-10-21 19:02:55 +0000 (Tue, 21 Oct 2008)
New Revision: 5736

Modified:
   xfce4-power-manager/trunk/src/xfpm-battery.c
Log:
GtkDialog to notify about critical battery power when libnotify is missing

Modified: xfce4-power-manager/trunk/src/xfpm-battery.c
===================================================================
--- xfce4-power-manager/trunk/src/xfpm-battery.c	2008-10-21 14:27:36 UTC (rev 5735)
+++ xfce4-power-manager/trunk/src/xfpm-battery.c	2008-10-21 19:02:55 UTC (rev 5736)
@@ -775,7 +775,7 @@
     
     const gchar *message;
     message = _("Your battery charge level is critical "\
-              "save your work to avoid data loss");
+              "save your work to avoid losing data");
               
 #ifdef HAVE_LIBNOTIFY            
                                     
@@ -803,8 +803,39 @@
     }
     xfpm_notify_show_notification(n,6);      
 #else
-    /*FIXME Show the options in  GtkDialog   */
-    
+	GtkWidget *dialog;
+	dialog = gtk_message_dialog_new (NULL,
+                                     GTK_DIALOG_MODAL,
+                                     GTK_MESSAGE_WARNING,
+                                     GTK_BUTTONS_CANCEL,
+                                     message,
+                                     NULL);
+     if ( priv->power_management & SYSTEM_CAN_HIBERNATE )
+	 {                                     
+		GtkWidget *hibernate = gtk_button_new_with_label(_("Hibernate"));
+		gtk_widget_show(hibernate);                                     
+		gtk_dialog_add_action_widget(GTK_DIALOG(dialog),hibernate,GTK_RESPONSE_OK); 
+	 }
+	 
+	 if ( priv->power_management & SYSTEM_CAN_SHUTDOWN )
+	 {                                     
+		GtkWidget *shutdown = gtk_button_new_with_label(_("Shutdown"));
+		gtk_widget_show(shutdown);                                     
+		gtk_dialog_add_action_widget(GTK_DIALOG(dialog),shutdown,GTK_RESPONSE_ACCEPT); 
+	 }
+     
+     switch(gtk_dialog_run(GTK_DIALOG(dialog)))
+     {
+     	case GTK_RESPONSE_OK:
+			g_signal_emit(G_OBJECT(batt),signals[XFPM_ACTION_REQUEST],0,XFPM_DO_HIBERNATE,TRUE);
+     		break;
+		case GTK_RESPONSE_ACCEPT:
+			g_signal_emit(G_OBJECT(batt),signals[XFPM_ACTION_REQUEST],0,XFPM_DO_SHUTDOWN,TRUE);
+			break;
+     	default:
+     		break;
+     }
+	 gtk_widget_destroy(dialog);
 #endif
 }
 




More information about the Goodies-commits mailing list