20#include "tdebacklightdevice.h"
29#if defined(WITH_TDEHWLIB_DAEMONS)
30 #include <tqdbusdata.h>
31 #include <tqdbusmessage.h>
32 #include <tqdbusproxy.h>
33 #include <tqdbusvariant.h>
34 #include <tqdbusconnection.h>
37TDEBacklightDevice::TDEBacklightDevice(TDEGenericDeviceType::TDEGenericDeviceType dt, TQString dn) : TDEGenericDevice(dt, dn) {
40TDEBacklightDevice::~TDEBacklightDevice() {
43TDEDisplayPowerLevel::TDEDisplayPowerLevel TDEBacklightDevice::powerLevel() {
47void TDEBacklightDevice::internalSetPowerLevel(TDEDisplayPowerLevel::TDEDisplayPowerLevel pl) {
51void TDEBacklightDevice::internalSetMaximumRawBrightness(
int br) {
52 m_maximumBrightness = br;
55void TDEBacklightDevice::internalSetCurrentRawBrightness(
int br) {
56 m_currentBrightness = br;
59int TDEBacklightDevice::brightnessSteps() {
60 return m_maximumBrightness + 1;
63double TDEBacklightDevice::brightnessPercent() {
64 return (((m_currentBrightness*1.0)/m_maximumBrightness)*100.0);
67bool TDEBacklightDevice::canSetBrightness() {
68 TQString brightnessnode = systemPath() +
"/brightness";
69 int rval = access (brightnessnode.ascii(), W_OK);
74#ifdef WITH_TDEHWLIB_DAEMONS
76 TQT_DBusConnection dbusConn = TQT_DBusConnection::addConnection(TQT_DBusConnection::SystemBus);
77 if (dbusConn.isConnected()) {
78 TQT_DBusProxy hardwareControl(
"org.trinitydesktop.hardwarecontrol",
"/org/trinitydesktop/hardwarecontrol",
"org.trinitydesktop.hardwarecontrol.Brightness", dbusConn);
79 if (hardwareControl.canSend()) {
81 TQValueList<TQT_DBusData> params;
82 params << TQT_DBusData::fromString(brightnessnode);
83 TQT_DBusMessage reply = hardwareControl.sendWithReply(
"CanSetBrightness", params);
84 if (reply.type() == TQT_DBusMessage::ReplyMessage && reply.count() == 1) {
85 return reply[0].toBool();
95int TDEBacklightDevice::rawBrightness() {
96 return m_currentBrightness;
99void TDEBacklightDevice::setRawBrightness(
int br) {
100 bool setRawBrightnessDone =
false;
102 TQString brightnessnode = systemPath() +
"/brightness";
103 TQString brightnessCommand = TQString(
"%1").arg(br);
104 TQFile file( brightnessnode );
105 if ( file.open( IO_WriteOnly ) ) {
106 TQTextStream stream( &file );
107 stream << brightnessCommand;
109 setRawBrightnessDone =
true;
112#ifdef WITH_TDEHWLIB_DAEMONS
113 if ( !setRawBrightnessDone ) {
114 TQT_DBusConnection dbusConn = TQT_DBusConnection::addConnection(TQT_DBusConnection::SystemBus);
115 if (dbusConn.isConnected()) {
116 TQT_DBusProxy hardwareControl(
"org.trinitydesktop.hardwarecontrol",
"/org/trinitydesktop/hardwarecontrol",
"org.trinitydesktop.hardwarecontrol.Brightness", dbusConn);
117 if (hardwareControl.canSend()) {
119 TQValueList<TQT_DBusData> params;
120 params << TQT_DBusData::fromString(brightnessnode) << TQT_DBusData::fromString(brightnessCommand);
121 TQT_DBusMessage reply = hardwareControl.sendWithReply(
"SetBrightness", params);
122 if (reply.type() == TQT_DBusMessage::ReplyMessage) {
123 setRawBrightnessDone =
true;
132#include "tdebacklightdevice.moc"