diff options
author | Ted Gould <ted@gould.cx> | 2013-09-17 13:07:57 +0000 |
---|---|---|
committer | Tarmac <Unknown> | 2013-09-17 13:07:57 +0000 |
commit | 03440771f770b29089bbb38cd8aefb0a4e2f2ca0 (patch) | |
tree | a28aff6cef80e12b2faaab1d0151af568fd48156 | |
parent | 5fbb8ed00a6f88f2be4c7a84ae485623a1b3443d (diff) | |
parent | bb9e7286cea1e28cf74672d4fcaae1bd1f12ebb4 (diff) | |
download | ayatana-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.ac | 3 | ||||
-rw-r--r-- | debian/control | 1 | ||||
-rw-r--r-- | src/service.c | 29 |
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 } }; |