[Goodies-commits] r5534 - in xfce4-power-manager/trunk: po src

Ali Abdallah aliov at xfce.org
Wed Oct 8 08:32:36 CEST 2008


Author: aliov
Date: 2008-10-08 06:32:36 +0000 (Wed, 08 Oct 2008)
New Revision: 5534

Modified:
   xfce4-power-manager/trunk/po/Makefile
   xfce4-power-manager/trunk/src/xfpm-ac-adapter.c
   xfce4-power-manager/trunk/src/xfpm-common.h
   xfce4-power-manager/trunk/src/xfpm-dpms.c
   xfce4-power-manager/trunk/src/xfpm-enums.h
   xfce4-power-manager/trunk/src/xfpm-lcd-brightness.c
   xfce4-power-manager/trunk/src/xfpm-lcd-brightness.h
   xfce4-power-manager/trunk/src/xfpm-lid.c
   xfce4-power-manager/trunk/src/xfpm-lid.h
Log:
added adapter tray menu, lid and lcd gobject

Modified: xfce4-power-manager/trunk/po/Makefile
===================================================================
--- xfce4-power-manager/trunk/po/Makefile	2008-10-07 22:49:40 UTC (rev 5533)
+++ xfce4-power-manager/trunk/po/Makefile	2008-10-08 06:32:36 UTC (rev 5534)
@@ -67,16 +67,7 @@
 EXTRA_DISTFILES = POTFILES.skip Makevars LINGUAS
 
 POTFILES = \
-	@if test ! -f $@; then \
-	  rm -f stamp-it; \
-	  $(MAKE) stamp-it; \
-	fi
 
-stamp-it: Makefile.in.in $(top_builddir)/config.status POTFILES.in
-	cd $(top_builddir) \
-	  && CONFIG_FILES=$(subdir)/Makefile.in CONFIG_HEADERS= CONFIG_LINKS= \
-	       $(SHELL) ./config.status
-
 # Tell versions [3.59,3.63) of GNU make not to export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:

Modified: xfce4-power-manager/trunk/src/xfpm-ac-adapter.c
===================================================================
--- xfce4-power-manager/trunk/src/xfpm-ac-adapter.c	2008-10-07 22:49:40 UTC (rev 5533)
+++ xfce4-power-manager/trunk/src/xfpm-ac-adapter.c	2008-10-08 06:32:36 UTC (rev 5534)
@@ -20,12 +20,39 @@
  */
 
 
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <stdio.h>
+
+#ifdef HAVE_STDLIB_H
+#include <stdlib.h>
+#endif
+
+#ifdef HAVE_STRING_H
+#include <string.h>
+#endif
+
+#ifdef HAVE_ERRNO_H
+#include <errno.h>
+#endif
+
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+
 #include <gtk/gtkstatusicon.h>
 
+#include <libxfcegui4/libxfcegui4.h>
+
+#include <glib/gi18n.h>
+
 #include "xfpm-hal.h"
 #include "xfpm-ac-adapter.h"
 #include "xfpm-common.h"
-
+#include "xfpm-notify.h"
 #include "xfpm-debug.h"
 
 #define XFPM_AC_ADAPTER_GET_PRIVATE(o) \
@@ -42,11 +69,18 @@
 static void xfpm_ac_adapter_property_changed_cb(XfpmHal *hal,const gchar *udi,
                                                 const gchar *key,gboolean is_removed,
                                                 gboolean is_added,XfpmAcAdapter *adapter);
+static void xfpm_ac_adapter_popup_menu(GtkStatusIcon *tray_icon,
+                                       guint button,
+                                       guint activate_time,
+                                       XfpmAcAdapter *adapter);
 
 struct XfpmAcAdapterPrivate
 {
     XfpmHal *hal;
     gboolean present;
+    gboolean can_suspend;
+    gboolean can_hibernate;
+    
 };
 
 enum 
@@ -86,11 +120,36 @@
     
     priv->hal = xfpm_hal_new();
     
+    GError *error = NULL;
+    
+    priv->can_hibernate = xfpm_hal_get_bool_info(priv->hal,
+                                                 HAL_ROOT_COMPUTER,
+                                                 "power_management.can_hibernate",
+                                                 &error);
+    if ( error )
+    {
+        XFPM_DEBUG("%s: \n",error->message);
+        g_error_free(error);
+    }                                          
+
+    priv->can_suspend = xfpm_hal_get_bool_info(priv->hal,
+                                               HAL_ROOT_COMPUTER,
+                                               "power_management.can_suspend",
+                                               &error);
+    if ( error )
+    {
+        XFPM_DEBUG("%s: \n",error->message);
+        g_error_free(error);
+    }            
+    
+    
     g_signal_connect(priv->hal,"xfpm-device-property-changed",
                      G_CALLBACK(xfpm_ac_adapter_property_changed_cb),adapter);
     
     g_signal_connect(adapter,"size-changed",
                     G_CALLBACK(xfpm_ac_adapter_size_changed_cb),NULL);
+    g_signal_connect(adapter,"popup-menu",
+                    G_CALLBACK(xfpm_ac_adapter_popup_menu),adapter);
 }
 
 static void
@@ -166,6 +225,8 @@
         }
     }
     libhal_free_string_array(udi);
+    gtk_status_icon_set_tooltip(GTK_STATUS_ICON(adapter),
+                priv->present ? _("Adapter is online") : _("Adapter is offline"));    
     g_signal_emit(G_OBJECT(adapter),signals[XFPM_AC_ADAPTER_CHANGED],0,priv->present);
 }
 
@@ -192,11 +253,160 @@
         {
             XFPM_DEBUG("Ac adapter changed %d\n",ac_adapter);
             priv->present = ac_adapter;
+            gtk_status_icon_set_tooltip(GTK_STATUS_ICON(adapter),
+                        priv->present ? _("Adapter is online") : _("Adapter is offline"));   
             g_signal_emit(G_OBJECT(adapter),signals[XFPM_AC_ADAPTER_CHANGED],0,priv->present);
         }
     }
 }
 
+static void
+xfpm_ac_adapter_report_sleep_errors(XfpmAcAdapter *adapter,const gchar *error,
+                                    const gchar *icon_name)
+{
+#ifdef HAVE_LIBNOTIFY
+    xfpm_notify_simple("Xfce power manager",
+                       error,
+                       14000,
+                       NOTIFY_URGENCY_CRITICAL,
+                       GTK_STATUS_ICON(adapter),
+                       icon_name,
+                       0);
+
+}
+#endif
+
+static gboolean
+xfpm_ac_adapter_do_hibernate(XfpmAcAdapter *adapter)
+{
+    XfpmAcAdapterPrivate *priv;
+    priv = XFPM_AC_ADAPTER_GET_PRIVATE(adapter);
+    
+    GError *error = NULL;
+    guint8 critical;
+    gboolean ret =
+    xfpm_hal_hibernate(priv->hal,&error,&critical);
+     
+    if ( !ret && critical == 1) {
+        xfpm_ac_adapter_report_sleep_errors(adapter,error->message,"gpm-hibernate");
+        g_error_free(error);
+    }
+    
+    return FALSE;
+    
+}
+
+static void
+xfpm_ac_adapter_hibernate_callback(GtkWidget *widget,XfpmAcAdapter *adapter)
+{
+    gboolean ret = 
+    xfce_confirm(_("Are you sure you want to hibernate the system"),
+                GTK_STOCK_YES,
+                _("Hibernate"));
+    
+    if ( ret ) 
+    {
+        xfpm_lock_screen();
+        g_timeout_add_seconds(4,(GSourceFunc)xfpm_ac_adapter_do_hibernate,adapter);
+	}
+}
+
+static gboolean
+xfpm_ac_adapter_do_suspend(XfpmAcAdapter *adapter)
+{
+    XfpmAcAdapterPrivate *priv;
+    priv = XFPM_AC_ADAPTER_GET_PRIVATE(adapter);
+    
+    GError *error = NULL;
+    guint8 critical = 0;
+    gboolean ret =
+    xfpm_hal_suspend(priv->hal,&error,&critical);
+    
+    if ( !ret && critical == 1 ) 
+    {
+        xfpm_ac_adapter_report_sleep_errors(adapter,error->message,"gpm-suspend");
+        g_error_free(error);
+    }
+    
+    return FALSE;
+}
+
+static void
+xfpm_ac_adapter_suspend_callback(GtkWidget *widget,XfpmAcAdapter *adapter)
+{
+    gboolean ret = 
+    xfce_confirm(_("Are you sure you want to suspend the system"),
+                GTK_STOCK_YES,
+                _("Suspend"));
+    
+    if ( ret ) 
+    {
+        xfpm_lock_screen();
+        g_timeout_add_seconds(3,(GSourceFunc)xfpm_ac_adapter_do_suspend,adapter);
+    }
+}
+
+static void 
+xfpm_ac_adapter_popup_menu(GtkStatusIcon *tray_icon,
+                           guint button,
+                           guint activate_time,
+                           XfpmAcAdapter *adapter)
+{
+    XfpmAcAdapterPrivate *priv;
+    priv = XFPM_AC_ADAPTER_GET_PRIVATE(XFPM_AC_ADAPTER(tray_icon));
+    
+    GtkWidget *menu,*mi,*img;
+	
+	menu = gtk_menu_new();
+
+	// Hibernate menu option
+	mi = gtk_image_menu_item_new_with_label(_("Hibernate"));
+	img = gtk_image_new_from_icon_name("gpm-hibernate",GTK_ICON_SIZE_MENU);
+	gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(mi),img);
+	gtk_widget_set_sensitive(mi,FALSE);
+	
+	
+	if ( priv->can_hibernate )
+	{
+		gtk_widget_set_sensitive(mi,TRUE);
+		g_signal_connect(mi,"activate",
+					 	 G_CALLBACK(xfpm_ac_adapter_hibernate_callback),
+					 	 adapter);
+	}
+	gtk_widget_show(mi);
+	gtk_menu_shell_append(GTK_MENU_SHELL(menu),mi);
+	
+	// Suspend menu option
+	mi = gtk_image_menu_item_new_with_label(_("Suspend"));
+	img = gtk_image_new_from_icon_name("gpm-suspend",GTK_ICON_SIZE_MENU);
+	gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(mi),img);
+	
+	gtk_widget_set_sensitive(mi,FALSE);
+	if ( priv->can_suspend )
+    {	
+		gtk_widget_set_sensitive(mi,TRUE);
+		g_signal_connect(mi,"activate",
+					     G_CALLBACK(xfpm_ac_adapter_suspend_callback),
+					     adapter);
+	}
+	gtk_widget_show(mi);
+	gtk_menu_shell_append(GTK_MENU_SHELL(menu),mi);
+	// Separotor
+	mi = gtk_separator_menu_item_new();
+	gtk_widget_show(mi);
+	gtk_menu_shell_append(GTK_MENU_SHELL(menu),mi);
+	mi = gtk_image_menu_item_new_from_stock(GTK_STOCK_PREFERENCES,NULL);
+	gtk_widget_set_sensitive(mi,TRUE);
+	gtk_widget_show(mi);
+	g_signal_connect(mi,"activate",G_CALLBACK(xfpm_preferences),NULL);
+	
+	gtk_menu_shell_append(GTK_MENU_SHELL(menu),mi);
+	
+	// Popup the menu
+	gtk_menu_popup(GTK_MENU(menu),NULL,NULL,
+		       NULL,NULL,button,activate_time);
+}                                             
+
 GtkStatusIcon *
 xfpm_ac_adapter_new(gboolean visible)
 {

Modified: xfce4-power-manager/trunk/src/xfpm-common.h
===================================================================
--- xfce4-power-manager/trunk/src/xfpm-common.h	2008-10-07 22:49:40 UTC (rev 5533)
+++ xfce4-power-manager/trunk/src/xfpm-common.h	2008-10-08 06:32:36 UTC (rev 5534)
@@ -52,7 +52,7 @@
 #define ON_AC_DPMS_TIMEOUTS_CFG     "/xfce4-power-manager/on-ac-monitor-dpms-timeouts"
 #endif
 
-GdkPixbuf* xfpm_load_icon(const char *icon_name,gint size);
+GdkPixbuf* xfpm_load_icon(const gchar *icon_name,gint size);
 void       xfpm_lock_screen(void);
 void       xfpm_preferences(void);
 

Modified: xfce4-power-manager/trunk/src/xfpm-dpms.c
===================================================================
--- xfce4-power-manager/trunk/src/xfpm-dpms.c	2008-10-07 22:49:40 UTC (rev 5533)
+++ xfce4-power-manager/trunk/src/xfpm-dpms.c	2008-10-08 06:32:36 UTC (rev 5534)
@@ -95,7 +95,6 @@
     PROP_DPMS
 };
 
-
 static void xfpm_dpms_class_init(XfpmDpmsClass *klass)
 {
     GObjectClass *object_class = G_OBJECT_CLASS(klass);

Modified: xfce4-power-manager/trunk/src/xfpm-enums.h
===================================================================
--- xfce4-power-manager/trunk/src/xfpm-enums.h	2008-10-07 22:49:40 UTC (rev 5533)
+++ xfce4-power-manager/trunk/src/xfpm-enums.h	2008-10-08 06:32:36 UTC (rev 5534)
@@ -33,6 +33,7 @@
     FULL
 } XfpmBatteryState;
 
+/* Battery type */
 typedef enum
 {
     UNKNOWN,
@@ -43,6 +44,7 @@
     
 } XfpmBatteryType;
 
+/* CPU Freq Linux governors */
 typedef enum
 {
     POWERSAVE,
@@ -53,4 +55,14 @@
     
 } XfpmCpuGovernor;
 
+
+/* Lid switch control */
+typedef enum
+{
+    LID_SWITCH_DO_NOTHING,
+    LID_SWITCH_DO_SUSPEND,
+    LID_SWITCH_DO_HIBERNATE
+
+} XfpmLidSwitchAction;
+
 #endif

Modified: xfce4-power-manager/trunk/src/xfpm-lcd-brightness.c
===================================================================
--- xfce4-power-manager/trunk/src/xfpm-lcd-brightness.c	2008-10-07 22:49:40 UTC (rev 5533)
+++ xfce4-power-manager/trunk/src/xfpm-lcd-brightness.c	2008-10-08 06:32:36 UTC (rev 5534)
@@ -0,0 +1,110 @@
+/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*-
+ *
+ * * Copyright (C) 2008 Ali <ali.slackware at gmail.com>
+ *
+ * Licensed under the GNU General Public License Version 2
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <stdio.h>
+
+#ifdef HAVE_STDLIB_H
+#include <stdlib.h>
+#endif
+
+#ifdef HAVE_STRING_H
+#include <string.h>
+#endif
+
+#ifdef HAVE_ERRNO_H
+#include <errno.h>
+#endif
+
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+
+#include <xfconf/xfconf.h>
+
+#include "xfpm-lcd-brightness.h"
+#include "xfpm-hal.h"
+
+#define XFPM_LCD_BRIGHTNESS_GET_PRIVATE(o) \
+(G_TYPE_INSTANCE_GET_PRIVATE(o,XFPM_TYPE_LCD_BRIGHTNESS,XfpmLcdBrightnessPrivate))
+
+static void xfpm_lcd_brightness_init(XfpmLcdBrightness *lcd);
+static void xfpm_lcd_brightness_class_init(XfpmLcdBrightnessClass *klass);
+static void xfpm_lcd_brightness_finalize(GObject *object);
+
+static void xfpm_lcd_brightness_load_config(XfpmLcdBrightness *lcd);
+
+struct XfpmLcdBrightnessPrivate
+{
+    XfpmHal *hal;
+
+};
+
+G_DEFINE_TYPE(XfpmLcdBrightness,xfpm_lcd_brightness,G_TYPE_OBJECT)
+
+static void xfpm_lcd_brightness_class_init(XfpmLcdBrightnessClass *klass)
+{
+    GObjectClass *gobject_class = G_OBJECT_CLASS(klass);
+    gobject_class->finalize = xfpm_lcd_brightness_finalize;
+    
+    g_type_class_add_private(klass,sizeof(XfpmLcdBrightnessPrivate));
+
+}
+
+static void xfpm_lcd_brightness_init(XfpmLcdBrightness *lcd)
+{
+    XfpmLcdBrightnessPrivate *priv;
+    priv = XFPM_LCD_BRIGHTNESS_GET_PRIVATE(lcd);
+    
+    priv->hal = xfpm_hal_new();
+    xfpm_lcd_brightness_load_config(lcd);
+    
+}
+
+static void xfpm_lcd_brightness_finalize(GObject *object)
+{
+    XfpmLcdBrightness *lcd;
+    lcd = XFPM_LCD_BRIGHTNESS(object);
+    lcd->priv = XFPM_LCD_BRIGHTNESS_GET_PRIVATE(lcd);
+    
+    if ( lcd->priv->hal ) 
+    {
+        g_object_unref(lcd->priv->hal);
+    }
+    
+    G_OBJECT_CLASS(xfpm_lcd_brightness_parent_class)->finalize(object);
+}
+
+static void xfpm_lcd_brightness_load_config(XfpmLcdBrightness *lcd)
+{
+    
+}
+
+XfpmLcdBrightness *
+xfpm_lcd_brightness_new(void)
+{
+    XfpmLcdBrightness *lcd;
+    lcd = g_object_new(XFPM_TYPE_LCD_BRIGHTNESS,NULL);
+    return lcd;
+}

Modified: xfce4-power-manager/trunk/src/xfpm-lcd-brightness.h
===================================================================
--- xfce4-power-manager/trunk/src/xfpm-lcd-brightness.h	2008-10-07 22:49:40 UTC (rev 5533)
+++ xfce4-power-manager/trunk/src/xfpm-lcd-brightness.h	2008-10-08 06:32:36 UTC (rev 5534)
@@ -0,0 +1,52 @@
+/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*-
+ *
+ * * Copyright (C) 2008 Ali <ali.slackware at gmail.com>
+ *
+ * Licensed under the GNU General Public License Version 2
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __XFPM_LCD_BRIGHTNESS_H
+#define __XFPM_LCD_BRIGHTNESS_H
+
+#include <glib-object.h>
+
+G_BEGIN_DECLS
+
+#define XFPM_TYPE_LCD_BRIGHTNESS  (xfpm_lcd_brightness_get_type())
+#define XFPM_LCD_BRIGHTNESS(o)    (G_TYPE_CHECK_INSTANCE_CAST(o,XFPM_TYPE_LCD_BRIGHTNESS,XfpmLcdBrightness))
+
+typedef struct XfpmLcdBrightnessPrivate XfpmLcdBrightnessPrivate;
+
+typedef struct
+{
+    GObject parent;
+    XfpmLcdBrightnessPrivate *priv;
+    
+} XfpmLcdBrightness;
+
+typedef struct
+{
+    GObjectClass parent_class;
+    
+} XfpmLcdBrightnessClass;
+
+GType              xfpm_lcd_brightness_get_type(void) G_GNUC_CONST;
+XfpmLcdBrightness *xfpm_lcd_brightness_new(void);
+
+G_END_DECLS
+
+#endif

Modified: xfce4-power-manager/trunk/src/xfpm-lid.c
===================================================================
--- xfce4-power-manager/trunk/src/xfpm-lid.c	2008-10-07 22:49:40 UTC (rev 5533)
+++ xfce4-power-manager/trunk/src/xfpm-lid.c	2008-10-08 06:32:36 UTC (rev 5534)
@@ -0,0 +1,114 @@
+/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*-
+ *
+ * * Copyright (C) 2008 Ali <ali.slackware at gmail.com>
+ *
+ * Licensed under the GNU General Public License Version 2
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <stdio.h>
+
+#ifdef HAVE_STDLIB_H
+#include <stdlib.h>
+#endif
+
+#ifdef HAVE_STRING_H
+#include <string.h>
+#endif
+
+#ifdef HAVE_ERRNO_H
+#include <errno.h>
+#endif
+
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+
+#include <xfconf/xfconf.h>
+
+#include "xfpm-lid.h"
+#include "xfpm-hal.h"
+
+#define XFPM_LID_SWITCH_GET_PRIVATE(o) \
+(G_TYPE_INSTANCE_GET_PRIVATE(o,XFPM_TYPE_LID_SWITCH,XfpmLidSwitchPrivate))
+
+static void xfpm_lid_switch_init(XfpmLidSwitch *lid);
+static void xfpm_lid_switch_class_init(XfpmLidSwitchClass *klass);
+static void xfpm_lid_switch_finalize(GObject *object);
+
+static void xfpm_lid_switch_load_config(XfpmLidSwitch *lid);
+
+struct XfpmLidSwitchPrivate
+{
+    XfpmHal *hal;
+
+};
+    
+
+G_DEFINE_TYPE(XfpmLidSwitch,xfpm_lid_switch,G_TYPE_OBJECT)
+
+static void xfpm_lid_switch_class_init(XfpmLidSwitchClass *klass)
+{
+    GObjectClass *gobject_class = G_OBJECT_CLASS(klass);
+    gobject_class->finalize = xfpm_lid_switch_finalize;
+    
+    g_type_class_add_private(klass,sizeof(XfpmLidSwitchPrivate));
+
+}
+
+static void xfpm_lid_switch_init(XfpmLidSwitch *lid)
+{
+    XfpmLidSwitchPrivate *priv;
+    priv = XFPM_LID_SWITCH_GET_PRIVATE(lid);
+    
+    priv->hal = xfpm_hal_new();
+    
+    xfpm_lid_switch_load_config(lid);
+    
+}
+
+
+static void xfpm_lid_switch_finalize(GObject *object)
+{
+    XfpmLidSwitch *lid;
+    lid = XFPM_LID_SWITCH(object);
+    
+    lid->priv = XFPM_LID_SWITCH_GET_PRIVATE(lid);
+    
+    if ( lid->priv->hal ) 
+    {
+        g_object_unref(lid->priv->hal);
+    }
+    
+    G_OBJECT_CLASS(xfpm_lid_switch_parent_class)->finalize(object);
+}
+
+static void xfpm_lid_switch_load_config(XfpmLidSwitch *lid)
+{
+    
+}
+
+XfpmLidSwitch *
+xfpm_lid_switch_new(void)
+{
+    XfpmLidSwitch *lid;
+    lid = g_object_new(XFPM_TYPE_LID_SWITCH,NULL);
+    return lid;
+}

Modified: xfce4-power-manager/trunk/src/xfpm-lid.h
===================================================================
--- xfce4-power-manager/trunk/src/xfpm-lid.h	2008-10-07 22:49:40 UTC (rev 5533)
+++ xfce4-power-manager/trunk/src/xfpm-lid.h	2008-10-08 06:32:36 UTC (rev 5534)
@@ -0,0 +1,52 @@
+/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*-
+ *
+ * * Copyright (C) 2008 Ali <ali.slackware at gmail.com>
+ *
+ * Licensed under the GNU General Public License Version 2
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __XFPM_LID_SWITCH_H
+#define __XFPM_LID_SWITCH_H
+
+#include <glib-object.h>
+
+G_BEGIN_DECLS
+
+#define XFPM_TYPE_LID_SWITCH  (xfpm_lid_switch_get_type())
+#define XFPM_LID_SWITCH(o)    (G_TYPE_CHECK_INSTANCE_CAST(o,XFPM_TYPE_LID_SWITCH,XfpmLidSwitch)) 
+
+typedef struct XfpmLidSwitchPrivate XfpmLidSwitchPrivate;
+
+typedef struct
+{
+    GObject parent;
+    XfpmLidSwitchPrivate *priv;
+    
+} XfpmLidSwitch;
+
+
+typedef struct
+{
+    GObjectClass parent_class;
+} XfpmLidSwitchClass;
+
+GType          xfpm_lid_switch_get_type(void) G_GNUC_CONST;
+XfpmLidSwitch *xfpm_lid_switch_new(void);
+
+G_END_DECLS
+
+#endif




More information about the Goodies-commits mailing list