Skip to content
Snippets Groups Projects
Commit 872f0c60 authored by Ali Abdallah's avatar Ali Abdallah
Browse files

Added on battery DBus signal+Fix brightness settings on battery power

(Old svn revision: 7097)
parent 9e83b6a1
No related branches found
No related tags found
No related merge requests found
2009-04-02 14:14 Ali aliov@xfce.org
* : Added on battery DBus signal+Fix brightness settings on battery power
2009-04-02 10:46 Ali aliov@xfce.org
* : Fix a Glade warnings
......
......@@ -29,5 +29,9 @@
<arg type="b" name="low_battery" direction="out"/>
</method>
<signal name="OnBatteryChanged">
<arg type="b" name="on_battery" direction="out"/>
</signal>
</interface>
</node>
......@@ -90,6 +90,14 @@ struct XfpmEnginePrivate
gboolean has_lid;
};
enum
{
ON_BATTERY_CHANGED,
LAST_SIGNAL
};
static guint signals [LAST_SIGNAL] = { 0 };
G_DEFINE_TYPE (XfpmEngine, xfpm_engine, G_TYPE_OBJECT)
static gboolean xfpm_engine_do_suspend (XfpmEngine * engine)
......@@ -320,6 +328,7 @@ xfpm_engine_adapter_changed_cb (XfpmAdapter * adapter, gboolean present,
XfpmEngine * engine)
{
engine->priv->on_battery = !present;
g_signal_emit (G_OBJECT (engine), signals [ON_BATTERY_CHANGED], 0, engine->priv->on_battery);
}
static void
......@@ -334,6 +343,15 @@ xfpm_engine_class_init (XfpmEngineClass * klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
signals [ON_BATTERY_CHANGED] =
g_signal_new("on-battery-changed",
XFPM_TYPE_ENGINE,
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET(XfpmEngineClass, on_battery_changed),
NULL, NULL,
g_cclosure_marshal_VOID__BOOLEAN,
G_TYPE_NONE, 1, G_TYPE_BOOLEAN);
object_class->finalize = xfpm_engine_finalize;
g_type_class_add_private (klass, sizeof (XfpmEnginePrivate));
......
......@@ -40,20 +40,23 @@ typedef struct
typedef struct
{
GObjectClass parent_class;
GObjectClass parent_class;
void (*on_battery_changed) (XfpmEngine *engine,
gboolean on_battery);
} XfpmEngineClass;
GType xfpm_engine_get_type (void) G_GNUC_CONST;
XfpmEngine *xfpm_engine_new (void);
GType xfpm_engine_get_type (void) G_GNUC_CONST;
XfpmEngine *xfpm_engine_new (void);
void xfpm_engine_get_info (XfpmEngine *engine,
gboolean *system_laptop,
gboolean *user_privilege,
gboolean *can_suspend,
gboolean *can_hibernate,
gboolean *has_lcd_brightness,
gboolean *has_lid);
void xfpm_engine_get_info (XfpmEngine *engine,
gboolean *system_laptop,
gboolean *user_privilege,
gboolean *can_suspend,
gboolean *can_hibernate,
gboolean *has_lcd_brightness,
gboolean *has_lid);
G_END_DECLS
#endif /* __XFPM_ENGINE_H */
......@@ -225,7 +225,7 @@ xfpm_xfconf_property_changed_cb (XfconfChannel *channel, gchar *property,
g_warning ("Value %d for %s is out of range", conf->priv->brightness_on_battery_timeout, BRIGHTNESS_ON_BATTERY );
conf->priv->brightness_on_battery_timeout = 9;
}
g_signal_emit (G_OBJECT(conf), signals[POWER_SAVE_SETTINGS_CHANGED], 0);
g_signal_emit (G_OBJECT(conf), signals[BRIGHTNESS_SETTINGS_CHANGED], 0);
}
else if ( xfpm_strequal (property, CRITICAL_BATT_ACTION_CFG) )
{
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment