diff options
author | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2011-09-15 03:43:12 +0000 |
---|---|---|
committer | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2011-09-15 03:43:12 +0000 |
commit | f6af340515ca0f5405ee4b893e24630450e07d4a (patch) | |
tree | f19311216755c4c5a202808349a94b06b831dbce /kdesktop/lock/lockprocess.cc | |
parent | 2bc823a7c138bf8b0f871ec239fdbc935c2e0b67 (diff) | |
download | tdebase-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.cc | 12 |
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 ); |