summaryrefslogtreecommitdiffstats
path: root/kdesktop/lock/lockprocess.cc
diff options
context:
space:
mode:
authortpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2011-09-15 03:43:12 +0000
committertpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2011-09-15 03:43:12 +0000
commitf6af340515ca0f5405ee4b893e24630450e07d4a (patch)
treef19311216755c4c5a202808349a94b06b831dbce /kdesktop/lock/lockprocess.cc
parent2bc823a7c138bf8b0f871ec239fdbc935c2e0b67 (diff)
downloadtdebase-f6af340515ca0f5405ee4b893e24630450e07d4a.tar.gz
tdebase-f6af340515ca0f5405ee4b893e24630450e07d4a.zip
Add very preliminary SAK support
Don't worry, if your system is not configured for SAK usability you won't notice anything different git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdebase@1253698 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'kdesktop/lock/lockprocess.cc')
-rw-r--r--kdesktop/lock/lockprocess.cc12
1 files changed, 12 insertions, 0 deletions
diff --git a/kdesktop/lock/lockprocess.cc b/kdesktop/lock/lockprocess.cc
index 47ff886f3..206dc9718 100644
--- a/kdesktop/lock/lockprocess.cc
+++ b/kdesktop/lock/lockprocess.cc
@@ -4,6 +4,7 @@
//
// Copyright (c) 1999 Martin R. Jones <[email protected]>
// Copyright (c) 2003 Oswald Buddenhagen <[email protected]>
+// Copyright (c) 2010-2011 Timothy Pearson <[email protected]>
//
//kdesktop keeps running and checks user inactivity
@@ -21,6 +22,7 @@
#include "lockdlg.h"
#include "infodlg.h"
#include "querydlg.h"
+#include "sakdlg.h"
#include "autologout.h"
#include "kdesktopsettings.h"
@@ -128,6 +130,7 @@ static void segv_handler(int)
extern Atom qt_wm_state;
extern bool trinity_desktop_lock_use_system_modal_dialogs;
extern bool trinity_desktop_lock_delay_screensaver_start;
+extern bool trinity_desktop_lock_use_sak;
extern bool trinity_desktop_lock_forced;
bool trinity_desktop_lock_autohide_lockdlg = TRUE;
@@ -1359,6 +1362,9 @@ void LockProcess::suspend()
void LockProcess::resume( bool force )
{
+ if (trinity_desktop_lock_use_sak && mHackDelayStartupTimer->isActive()) {
+ return;
+ }
if( !force && (!mDialogs.isEmpty() || !mVisibility )) {
// no resuming with dialog visible or when not visible
if (backingPixmap.isNull())
@@ -1392,6 +1398,12 @@ bool LockProcess::checkPass()
if (mAutoLogout)
killTimer(mAutoLogoutTimerId);
+ if (trinity_desktop_lock_use_sak) {
+ // Wait for SAK press before continuing...
+ SAKDlg inDlg( this );
+ int ret = execDialog( &inDlg );
+ }
+
showVkbd();
PasswordDlg passDlg( this, &greetPlugin);
int ret = execDialog( &passDlg );