PowerMan: Fix idletime

pull/21/head
reionwong 4 years ago
parent 0313b8bc50
commit 1daa31c44b

@ -48,6 +48,12 @@ void Action::registerIdleTimeout(int msec)
IdleManager::self()->registerActionTimeout(this, msec);
}
void Action::unregisterIdleTimeout()
{
d->registeredIdleTimeouts.clear();
IdleManager::self()->unregisterActionTimeouts(this);
}
bool Action::isSupported()
{
return true;

@ -63,6 +63,8 @@ protected:
*/
void registerIdleTimeout(int msec);
void unregisterIdleTimeout();
public Q_SLOTS:
/**
* This slot is triggered whenever an idle timeout registered with registerIdleTimeout is reached.

@ -82,6 +82,13 @@ void DimDisplayAction::onIdleTimeout(int msec)
void DimDisplayAction::setTimeout(int timeout)
{
unregisterIdleTimeout();
if (timeout < 0) {
m_dimOnIdleTime = timeout;
return;
}
m_dimOnIdleTime = timeout;
registerIdleTimeout(m_dimOnIdleTime * 3 / 4);
registerIdleTimeout(m_dimOnIdleTime / 2);

Loading…
Cancel
Save