Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
[nemo-qml-plugin-systemsettings] Expose display inhibit mode.
  • Loading branch information
martinjones committed Jul 14, 2014
1 parent 4722c74 commit 372a082
Show file tree
Hide file tree
Showing 2 changed files with 46 additions and 1 deletion.
25 changes: 25 additions & 0 deletions src/displaysettings.cpp
Expand Up @@ -38,6 +38,7 @@
static const char *MceDisplayBrightness = "/system/osso/dsm/display/display_brightness";
static const char *MceDisplayDimTimeout = "/system/osso/dsm/display/display_dim_timeout";
static const char *MceDisplayBlankTimeout = "/system/osso/dsm/display/display_blank_timeout";
static const char *MceDisplayInhibitMode = "/system/osso/dsm/display/inhibit_blank_mode";
static const char *MceDisplayUseAdaptiveDimming = "/system/osso/dsm/display/use_adaptive_display_dimming";
static const char *MceDisplayUseLowPowerMode = "/system/osso/dsm/display/use_low_power_mode";
static const char *MceDisplayUseAmbientLightSensor = "/system/osso/dsm/display/als_enabled";
Expand All @@ -60,6 +61,10 @@ DisplaySettings::DisplaySettings(QObject *parent)
result.waitForFinished();
m_blankTimeout = result.value().variant().toInt();

result = m_mceIface->get_config(QDBusObjectPath(MceDisplayInhibitMode));
result.waitForFinished();
m_inhibitMode = static_cast<InhibitMode>(result.value().variant().toInt());

result = m_mceIface->get_config(QDBusObjectPath(MceDisplayUseAdaptiveDimming));
result.waitForFinished();
m_adaptiveDimmingEnabled = result.value().variant().toBool();
Expand Down Expand Up @@ -130,6 +135,20 @@ void DisplaySettings::setBlankTimeout(int value)
}
}

DisplaySettings::InhibitMode DisplaySettings::inhibitMode() const
{
return m_inhibitMode;
}

void DisplaySettings::setInhibitMode(InhibitMode mode)
{
if (m_inhibitMode != mode) {
m_inhibitMode = mode;
m_mceIface->set_config(QDBusObjectPath(MceDisplayInhibitMode), QDBusVariant(static_cast<int>(mode)));
emit inhibitModeChanged();
}
}

bool DisplaySettings::adaptiveDimmingEnabled() const
{
return m_adaptiveDimmingEnabled;
Expand Down Expand Up @@ -216,6 +235,12 @@ void DisplaySettings::configChange(const QString &key, const QDBusVariant &value
m_blankTimeout = val;
emit blankTimeoutChanged();
}
} else if (key == MceDisplayInhibitMode) {
InhibitMode val = static_cast<InhibitMode>(value.variant().toInt());
if (val != m_inhibitMode) {
m_inhibitMode = val;
emit inhibitModeChanged();
}
} else if (key == MceDisplayUseAdaptiveDimming) {
bool val = value.variant().toBool();
if (val != m_adaptiveDimmingEnabled) {
Expand Down
22 changes: 21 additions & 1 deletion src/displaysettings.h
Expand Up @@ -44,11 +44,12 @@ class DisplaySettings: public QObject
{
Q_OBJECT

Q_ENUMS(DoubleTapMode)
Q_ENUMS(DoubleTapMode InhibitMode)
Q_PROPERTY(int brightness READ brightness WRITE setBrightness NOTIFY brightnessChanged)
Q_PROPERTY(int maximumBrightness READ maximumBrightness CONSTANT)
Q_PROPERTY(int dimTimeout READ dimTimeout WRITE setDimTimeout NOTIFY dimTimeoutChanged)
Q_PROPERTY(int blankTimeout READ blankTimeout WRITE setBlankTimeout NOTIFY blankTimeoutChanged)
Q_PROPERTY(InhibitMode inhibitMode READ inhibitMode WRITE setInhibitMode NOTIFY inhibitModeChanged)
Q_PROPERTY(bool adaptiveDimmingEnabled READ adaptiveDimmingEnabled WRITE setAdaptiveDimmingEnabled NOTIFY adaptiveDimmingEnabledChanged)
Q_PROPERTY(bool lowPowerModeEnabled READ lowPowerModeEnabled WRITE setLowPowerModeEnabled NOTIFY lowPowerModeEnabledChanged)
Q_PROPERTY(bool ambientLightSensorEnabled READ ambientLightSensorEnabled WRITE setAmbientLightSensorEnabled NOTIFY ambientLightSensorEnabledChanged)
Expand All @@ -62,6 +63,20 @@ class DisplaySettings: public QObject
DoubleTapWakeupNoProximity
};

enum InhibitMode {
InhibitInvalid = -1,
// No inhibit
InhibitOff = 0,
// Inhibit blanking; always keep on if charger connected
InhibitStayOnWithCharger = 1,
// Inhibit blanking; always keep on or dimmed if charger connected
InhibitStayDimWithCharger = 2,
// Inhibit blanking; always keep on
InhibitStayOn = 3,
// Inhibit blanking; always keep on or dimmed
InhibitStayDim = 4,
};

explicit DisplaySettings(QObject *parent = 0);

int brightness() const;
Expand All @@ -75,6 +90,9 @@ class DisplaySettings: public QObject
int blankTimeout() const;
void setBlankTimeout(int t);

InhibitMode inhibitMode() const;
void setInhibitMode(InhibitMode mode);

bool adaptiveDimmingEnabled() const;
void setAdaptiveDimmingEnabled(bool);

Expand All @@ -94,6 +112,7 @@ class DisplaySettings: public QObject
void brightnessChanged();
void dimTimeoutChanged();
void blankTimeoutChanged();
void inhibitModeChanged();
void adaptiveDimmingEnabledChanged();
void lowPowerModeEnabledChanged();
void ambientLightSensorEnabledChanged();
Expand All @@ -110,6 +129,7 @@ private slots:
int m_brightness;
int m_dimTimeout;
int m_blankTimeout;
InhibitMode m_inhibitMode;
bool m_adaptiveDimmingEnabled;
bool m_lowPowerModeEnabled;
bool m_ambientLightSensorEnabled;
Expand Down

0 comments on commit 372a082

Please sign in to comment.