Lines 70-75
KSldApp::KSldApp(QObject * parent)
Link Here
|
70 |
, m_lockedTimer(QElapsedTimer()) |
70 |
, m_lockedTimer(QElapsedTimer()) |
71 |
, m_idleId(0) |
71 |
, m_idleId(0) |
72 |
, m_lockGrace(0) |
72 |
, m_lockGrace(0) |
|
|
73 |
, m_inGraceTime(false) |
73 |
, m_graceTimer(new QTimer(this)) |
74 |
, m_graceTimer(new QTimer(this)) |
74 |
, m_inhibitCounter(0) |
75 |
, m_inhibitCounter(0) |
75 |
, m_plasmaEnabled(false) |
76 |
, m_plasmaEnabled(false) |
Lines 130-135
void KSldApp::initialize()
Link Here
|
130 |
connect(m_lockProcess, SIGNAL(finished(int,QProcess::ExitStatus)), SLOT(lockProcessFinished(int,QProcess::ExitStatus))); |
131 |
connect(m_lockProcess, SIGNAL(finished(int,QProcess::ExitStatus)), SLOT(lockProcessFinished(int,QProcess::ExitStatus))); |
131 |
m_lockedTimer.invalidate(); |
132 |
m_lockedTimer.invalidate(); |
132 |
m_graceTimer->setSingleShot(true); |
133 |
m_graceTimer->setSingleShot(true); |
|
|
134 |
connect(m_graceTimer, SIGNAL(timeout()), SLOT(endGraceTime())); |
133 |
// create our D-Bus interface |
135 |
// create our D-Bus interface |
134 |
new Interface(this); |
136 |
new Interface(this); |
135 |
|
137 |
|
Lines 150-160
void KSldApp::configure()
Link Here
|
150 |
// timeout stored in seconds |
152 |
// timeout stored in seconds |
151 |
m_idleId = KIdleTime::instance()->addIdleTimeout(timeout*1000); |
153 |
m_idleId = KIdleTime::instance()->addIdleTimeout(timeout*1000); |
152 |
} |
154 |
} |
153 |
m_lockGrace = KScreenSaverSettings::lockGrace(); |
155 |
if (KScreenSaverSettings::lock()) { |
154 |
if (m_lockGrace < 0) { |
156 |
m_lockGrace = KScreenSaverSettings::lockGrace(); |
155 |
m_lockGrace = 0; |
157 |
if (m_lockGrace < 0) { |
156 |
} else if (m_lockGrace > 300000) { |
158 |
m_lockGrace = 0; |
157 |
m_lockGrace = 300000; // 5 minutes, keep the value sane |
159 |
} else if (m_lockGrace > 300000) { |
|
|
160 |
m_lockGrace = 300000; // 5 minutes, keep the value sane |
161 |
} |
162 |
} else { |
163 |
m_lockGrace = -1; |
158 |
} |
164 |
} |
159 |
m_autoLogoutTimeout = KScreenSaverSettings::autoLogout() ? KScreenSaverSettings::autoLogoutTimeout() * 1000 : 0; |
165 |
m_autoLogoutTimeout = KScreenSaverSettings::autoLogout() ? KScreenSaverSettings::autoLogoutTimeout() * 1000 : 0; |
160 |
m_plasmaEnabled = KScreenSaverSettings::plasmaEnabled(); |
166 |
m_plasmaEnabled = KScreenSaverSettings::plasmaEnabled(); |
Lines 246-251
void KSldApp::doUnlock()
Link Here
|
246 |
m_lockWindow = NULL; |
252 |
m_lockWindow = NULL; |
247 |
m_locked = false; |
253 |
m_locked = false; |
248 |
m_lockedTimer.invalidate(); |
254 |
m_lockedTimer.invalidate(); |
|
|
255 |
endGraceTime(); |
249 |
KDisplayManager().setLock(false); |
256 |
KDisplayManager().setLock(false); |
250 |
emit unlocked(); |
257 |
emit unlocked(); |
251 |
KNotification::event( QLatin1String("unlocked")); |
258 |
KNotification::event( QLatin1String("unlocked")); |
Lines 320-339
void KSldApp::idleTimeout(int identifier)
Link Here
|
320 |
// there is at least one process blocking the auto lock of screen locker |
327 |
// there is at least one process blocking the auto lock of screen locker |
321 |
return; |
328 |
return; |
322 |
} |
329 |
} |
323 |
if (m_lockGrace) { |
330 |
if (m_lockGrace) { // short-circuit if grace time is zero |
|
|
331 |
m_inGraceTime = true; |
324 |
m_graceTimer->start(m_lockGrace); |
332 |
m_graceTimer->start(m_lockGrace); |
|
|
333 |
} else if (m_lockGrace == -1) { |
334 |
m_inGraceTime = true; // if no timeout configured, grace time lasts forever |
325 |
} |
335 |
} |
326 |
lock(); |
336 |
lock(); |
327 |
} |
337 |
} |
328 |
|
338 |
|
329 |
bool KSldApp::isGraceTime() const |
339 |
bool KSldApp::isGraceTime() const |
330 |
{ |
340 |
{ |
331 |
return m_graceTimer->isActive(); |
341 |
return m_inGraceTime; |
|
|
342 |
} |
343 |
|
344 |
void KSldApp::endGraceTime() |
345 |
{ |
346 |
m_graceTimer->stop(); |
347 |
m_inGraceTime = false; |
332 |
} |
348 |
} |
333 |
|
349 |
|
334 |
void KSldApp::unlock() |
350 |
void KSldApp::unlock() |
335 |
{ |
351 |
{ |
336 |
if (!m_graceTimer->isActive()) { |
352 |
if (!isGraceTime()) { |
337 |
return; |
353 |
return; |
338 |
} |
354 |
} |
339 |
s_graceTimeKill = true; |
355 |
s_graceTimeKill = true; |