aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTed Gould <ted@gould.cx>2013-09-17 13:07:57 +0000
committerTarmac <Unknown>2013-09-17 13:07:57 +0000
commit03440771f770b29089bbb38cd8aefb0a4e2f2ca0 (patch)
treea28aff6cef80e12b2faaab1d0151af568fd48156
parent5fbb8ed00a6f88f2be4c7a84ae485623a1b3443d (diff)
parentbb9e7286cea1e28cf74672d4fcaae1bd1f12ebb4 (diff)
downloadayatana-indicator-power-03440771f770b29089bbb38cd8aefb0a4e2f2ca0.tar.gz
ayatana-indicator-power-03440771f770b29089bbb38cd8aefb0a4e2f2ca0.tar.bz2
ayatana-indicator-power-03440771f770b29089bbb38cd8aefb0a4e2f2ca0.zip
Use URL dispatcher to show settings on the phone.
Approved by Timo Jyrinki, PS Jenkins bot.
-rw-r--r--configure.ac3
-rw-r--r--debian/control1
-rw-r--r--src/service.c29
3 files changed, 18 insertions, 15 deletions
diff --git a/configure.ac b/configure.ac
index ba39dec..ca7e793 100644
--- a/configure.ac
+++ b/configure.ac
@@ -40,7 +40,8 @@ GUDEV_REQUIRED_VERSION=204
PKG_CHECK_MODULES([SERVICE_DEPS],[glib-2.0 >= $GLIB_REQUIRED_VERSION
gio-2.0 >= $GIO_REQUIRED_VERSION
gio-unix-2.0 >= $GIO_UNIX_REQUIRED_VERSION
- gudev-1.0 >= $GUDEV_REQUIRED_VERSION])
+ gudev-1.0 >= $GUDEV_REQUIRED_VERSION
+ url-dispatcher-1])
###########################
# GSETTINGS
diff --git a/debian/control b/debian/control
index 81006ae..f0ed35e 100644
--- a/debian/control
+++ b/debian/control
@@ -9,6 +9,7 @@ Build-Depends: debhelper (>= 9),
libgtest-dev,
libglib2.0-dev (>= 2.36),
libgudev-1.0-dev,
+ liburl-dispatcher1-dev,
python,
Standards-Version: 3.9.2
Homepage: https://launchpad.net/indicator-power
diff --git a/src/service.c b/src/service.c
index 1976332..b5227f6 100644
--- a/src/service.c
+++ b/src/service.c
@@ -22,6 +22,7 @@
#include <glib/gi18n.h>
#include <gio/gio.h>
+#include <url-dispatcher.h>
#include "device.h"
#include "device-provider.h"
@@ -331,15 +332,13 @@ create_header_state (IndicatorPowerService * self)
g_variant_builder_init (&b, G_VARIANT_TYPE("a{sv}"));
+ g_variant_builder_add (&b, "{sv}", "title", g_variant_new_string (_("Battery")));
+
g_variant_builder_add (&b, "{sv}", "visible",
g_variant_new_boolean (should_be_visible (self)));
if (label != NULL)
- {
- g_variant_builder_add (&b, "{sv}", "label", g_variant_new_string (label));
-
- g_free (label);
- }
+ g_variant_builder_add (&b, "{sv}", "label", g_variant_new_take_string (label));
if (icon != NULL)
{
@@ -349,12 +348,7 @@ create_header_state (IndicatorPowerService * self)
}
if (a11y != NULL)
- {
- g_variant_builder_add (&b, "{sv}", "accessible-desc",
- g_variant_new_string (a11y));
-
- g_free (a11y);
- }
+ g_variant_builder_add (&b, "{sv}", "accessible-desc", g_variant_new_take_string (a11y));
return g_variant_builder_end (&b);
}
@@ -532,7 +526,7 @@ create_phone_settings_section (IndicatorPowerService * self G_GNUC_UNUSED)
update_brightness_action_state (self);
g_object_unref (item);
- g_menu_append (section, _("Battery settingsā€¦"), "indicator.activate-settings");
+ g_menu_append (section, _("Battery settingsā€¦"), "indicator.activate-phone-settings");
return G_MENU_MODEL (section);
}
@@ -685,8 +679,6 @@ on_settings_activated (GSimpleAction * a G_GNUC_UNUSED,
GVariant * param G_GNUC_UNUSED,
gpointer gself G_GNUC_UNUSED)
{
- /* FIXME: unity8 settings */
-
execute_command ("gnome-control-center power");
}
@@ -698,6 +690,14 @@ on_statistics_activated (GSimpleAction * a G_GNUC_UNUSED,
execute_command ("gnome-power-statistics");
}
+static void
+on_phone_settings_activated (GSimpleAction * a G_GNUC_UNUSED,
+ GVariant * param G_GNUC_UNUSED,
+ gpointer gself G_GNUC_UNUSED)
+{
+ url_dispatch_send("settings://system/battery", NULL, NULL);
+}
+
/***
****
***/
@@ -739,6 +739,7 @@ init_gactions (IndicatorPowerService * self)
GActionEntry entries[] = {
{ "activate-settings", on_settings_activated },
+ { "activate-phone-settings", on_phone_settings_activated },
{ "activate-statistics", on_statistics_activated }
};