diff options
author | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2011-09-15 07:33:07 +0000 |
---|---|---|
committer | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2011-09-15 07:33:07 +0000 |
commit | 1039f2df32eb011fd4013167ac20ecdc607e1c7b (patch) | |
tree | dfded40b0c1cc3f8bba06c4c2086960121f73608 /kdesktop/lock/lockprocess.cc | |
parent | f6af340515ca0f5405ee4b893e24630450e07d4a (diff) | |
download | tdebase-1039f2df32eb011fd4013167ac20ecdc607e1c7b.tar.gz tdebase-1039f2df32eb011fd4013167ac20ecdc607e1c7b.zip |
Enhance SAK appearance
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdebase@1253791 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'kdesktop/lock/lockprocess.cc')
-rw-r--r-- | kdesktop/lock/lockprocess.cc | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/kdesktop/lock/lockprocess.cc b/kdesktop/lock/lockprocess.cc index 206dc9718..17de269bf 100644 --- a/kdesktop/lock/lockprocess.cc +++ b/kdesktop/lock/lockprocess.cc @@ -134,6 +134,7 @@ extern bool trinity_desktop_lock_use_sak; extern bool trinity_desktop_lock_forced; bool trinity_desktop_lock_autohide_lockdlg = TRUE; +bool trinity_desktop_lock_closing_windows = FALSE; #define ENABLE_CONTINUOUS_LOCKDLG_DISPLAY \ if (!mForceContinualLockDisplayTimer->isActive()) mForceContinualLockDisplayTimer->start(100, FALSE); \ @@ -316,15 +317,24 @@ static void sighup_handler(int) bool LockProcess::closeCurrentWindow() { + trinity_desktop_lock_closing_windows = TRUE; if (currentDialog != NULL) { mForceReject = true; - currentDialog->close(); + if (dynamic_cast<SAKDlg*>(currentDialog)) { + dynamic_cast<SAKDlg*>(currentDialog)->closeDialogForced(); + } + else { + currentDialog->close(); + } } if( mDialogs.isEmpty() ) { + trinity_desktop_lock_closing_windows = FALSE; + mForceReject = false; return false; } else { + trinity_desktop_lock_closing_windows = TRUE; return true; } } @@ -1402,6 +1412,8 @@ bool LockProcess::checkPass() // Wait for SAK press before continuing... SAKDlg inDlg( this ); int ret = execDialog( &inDlg ); + if (trinity_desktop_lock_closing_windows) + return 0; } showVkbd(); |