on xenial help sign in
Pass user's gsettings value for auto-brightness on to powerd
commit356dfe1ea5a764601bcda33a7d619e717b4bb717 authorMichael Terry <michael.terry@canonical.com> dateWed 26 Mar 2014, 13:54 (13 years ago) parent05d4a33
3 files changed+28
plugins/Powerd/CMakeLists.txt+8 plugins/Powerd/Powerd.cpp+17 plugins/Powerd/Powerd.h+3
plugins/Powerd/CMakeLists.txt+8
@@ -1,4 +1,11 @@
11include(Plugins)
2+include(FindPkgConfig)
3+
4+pkg_search_module(GIO REQUIRED gio-2.0)
5+
6+include_directories(
7+ ${GIO_INCLUDE_DIRS}
8+)
29
310add_definitions(-DSM_BUSNAME=systemBus)
411
@@ -8,6 +15,7 @@ add_library(Powerd-qml MODULE
815 )
916
1017qt5_use_modules(Powerd-qml DBus Qml)
18+target_link_libraries(Powerd-qml ${GIO_LDFLAGS})
1119
1220export_qmlfiles(Powerd Powerd)
1321export_qmlplugin(Powerd 0.1 Powerd TARGETS Powerd-qml)
plugins/Powerd/Powerd.cpp+17
@@ -17,6 +17,13 @@
1717 */
1818
1919#include "Powerd.h"
20+#include <QDBusPendingCall>
21+
22+void autoBrightnessChanged(GSettings *settings, const gchar *key, QDBusInterface *powerd)
23+{
24+ bool value = g_settings_get_boolean(settings, key);
25+ powerd->asyncCall("userAutobrightnessEnable", QVariant(value));
26+}
2027
2128Powerd::Powerd(QObject* parent)
2229 : QObject(parent),
@@ -33,4 +40,14 @@ Powerd::Powerd(QObject* parent)
3340 "DisplayPowerStateChange",
3441 this,
3542 SIGNAL(displayPowerStateChange(int, unsigned int)));
43+
44+ systemSettings = g_settings_new("com.ubuntu.touch.system");
45+ g_signal_connect(systemSettings, "changed::auto-brightness", G_CALLBACK(autoBrightnessChanged), powerd);
46+ autoBrightnessChanged(systemSettings, "auto-brightness", powerd);
47+}
48+
49+Powerd::~Powerd()
50+{
51+ g_signal_handlers_disconnect_by_data(systemSettings, powerd);
52+ g_object_unref(systemSettings);
3653}
plugins/Powerd/Powerd.h+3
@@ -20,6 +20,7 @@
2020#ifndef UNITY_POWERD_H
2121#define UNITY_POWERD_H
2222
23+#include <gio/gio.h>
2324#include <QtCore/QObject>
2425#include <QtDBus/QDBusInterface>
2526
@@ -43,12 +44,14 @@ public:
4344 };
4445
4546 explicit Powerd(QObject *parent = 0);
47+ ~Powerd();
4648
4749Q_SIGNALS:
4850 void displayPowerStateChange(int status, unsigned int flags);
4951
5052private:
5153 QDBusInterface *powerd;
54+ GSettings *systemSettings;
5255};
5356
5457#endif