aboutsummaryrefslogtreecommitdiff
path: root/src/service.c
diff options
context:
space:
mode:
authorMarius Gripsgard <mariogrip@ubuntu.com>2018-03-25 22:10:45 +0200
committerMike Gabriel <mike.gabriel@das-netzwerkteam.de>2018-03-25 22:12:29 +0200
commitcf7ae8a8754c75f93692c79ebecfdd674b52ec69 (patch)
tree0b1e7fcf79e7cbcf7ea8628e5b703ae6fc479190 /src/service.c
parent1872fc53a0004997ca87fcae5619b0c173401b12 (diff)
downloadayatana-indicator-power-cf7ae8a8754c75f93692c79ebecfdd674b52ec69.tar.gz
ayatana-indicator-power-cf7ae8a8754c75f93692c79ebecfdd674b52ec69.tar.bz2
ayatana-indicator-power-cf7ae8a8754c75f93692c79ebecfdd674b52ec69.zip
Add basic flashlight support.
Ported from UBPorts power indicator: commit efef6f25f378021c99b3078958482b3c4ffc43a2 Author: Marius Gripsgard <mariogrip@ubuntu.com> Date: Sun Aug 13 00:09:01 2017 +0200 Add support for other flashlight sysfs paths commit 3f4339876ddb586b75a73fab51a54b1d4d54fdd1 Author: Marius Gripsgard <mariogrip@ubuntu.com> Date: Fri Jul 28 21:23:54 2017 +0200 Add basic support for QCOM flashlight, Fixes https://github.com/ubports/ubports-touch/issues/79 This does not work on non QCOM devices Ported-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
Diffstat (limited to 'src/service.c')
-rw-r--r--src/service.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/service.c b/src/service.c
index daafb61..75d4538 100644
--- a/src/service.c
+++ b/src/service.c
@@ -27,6 +27,7 @@
#include "device-provider.h"
#include "notifier.h"
#include "service.h"
+#include "flashlight.h"
#include "utils.h"
#define BUS_NAME "org.ayatana.indicator.power"
@@ -671,6 +672,13 @@ create_phone_settings_section(IndicatorPowerService * self)
g_object_unref(item);
}
+ if (flashlight_supported())
+ {
+ item = g_menu_item_new(_("Flashlight"), "indicator.flashlight");
+ g_menu_item_set_attribute(item, "x-canonical-type", "s", "com.canonical.indicator.switch");
+ g_menu_append_item(section, item);
+ g_object_unref(item);
+ }
g_menu_append(section, _("Battery settingsā€¦"), "indicator.activate-phone-settings");
return G_MENU_MODEL(section);
@@ -909,6 +917,11 @@ init_gactions (IndicatorPowerService * self)
NULL, NULL);
g_action_map_add_action(G_ACTION_MAP(p->actions), G_ACTION(a));
+ /* add the flashlight action */
+ a = g_simple_action_new_stateful("flashlight", NULL, g_variant_new_boolean(FALSE));
+ g_action_map_add_action (G_ACTION_MAP(p->actions), G_ACTION(a));
+ g_signal_connect(a, "activate", G_CALLBACK(toggle_flashlight_action), self);
+
/* add the brightness action */
a = g_simple_action_new_stateful ("brightness", NULL, action_state_for_brightness (self));
g_action_map_add_action (G_ACTION_MAP(p->actions), G_ACTION(a));