[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    KDE/kdebase/workspace
From:       Oswald Buddenhagen <ossi () kde ! org>
Date:       2010-10-24 12:03:35
Message-ID: 20101024120335.5B989AC89A () svn ! kde ! org
[Download RAW message or body]

SVN commit 1189267 by ossi:

make initial lock pop up the unlock dialog immediately

this is kind of a readiness notification.
FEATURE: 249822
FIXED-IN: 4.6

 M  +5 -1      krunner/lock/lockprocess.cc  
 M  +2 -1      krunner/lock/lockprocess.h  
 M  +2 -1      krunner/lock/main.cc  
 M  +1 -1      startkde.cmake  


--- trunk/KDE/kdebase/workspace/krunner/lock/lockprocess.cc #1189266:1189267
@@ -137,6 +137,7 @@
 //
 LockProcess::LockProcess(bool child, bool useBlankOnly)
     : QWidget(0L, Qt::X11BypassWindowManagerHint),
+      mInitialLock(false),
       mLocked(false),
       mBusy(false),
       mPlasmaDBus(0),
@@ -320,7 +321,7 @@
 }
 
 //---------------------------------------------------------------------------
-bool LockProcess::lock()
+bool LockProcess::lock(bool initial)
 {
     if (startSaver()) {
         // In case of a forced lock we don't react to events during
@@ -329,6 +330,7 @@
         // the screensaver kicks in because the user moved the mouse after
         // selecting "lock screen", that looks really untidy.
         mBusy = true;
+        mInitialLock = initial;
         if (startLock())
         {
             QTimer::singleShot(1000, this, SLOT(slotDeadTimePassed()));
@@ -342,6 +344,8 @@
 //---------------------------------------------------------------------------
 void LockProcess::slotDeadTimePassed()
 {
+    if (mInitialLock)
+        quit();
     mBusy = false;
 }
 
--- trunk/KDE/kdebase/workspace/krunner/lock/lockprocess.h #1189266:1189267
@@ -55,7 +55,7 @@
     /**
      * start the screensaver locked
      */
-    bool lock();
+    bool lock(bool initial = false);
 
     /**
      * start the screensaver unlocked
@@ -186,6 +186,7 @@
     static QVariant getConf(void *ctx, const char *key, const QVariant &dflt);
     bool loadGreetPlugin();
 
+    bool        mInitialLock;
     bool        mLocked;
     int         mLockGrace;
     int         mPriority;
--- trunk/KDE/kdebase/workspace/krunner/lock/main.cc #1189266:1189267
@@ -64,6 +64,7 @@
     KCmdLineOptions options;
     options.add("forcelock", ki18n("Force session locking"));
     options.add("dontlock", ki18n("Only start screen saver"));
+    options.add("showunlock", ki18n("Immediately show the unlock dialog"));
     options.add("blank", ki18n("Only use the blank screen saver"));
     options.add("plasmasetup", ki18n("start with plasma unlocked for configuring"));
     options.add("daemon", ki18n("Fork into the background after starting up"));
@@ -171,7 +172,7 @@
     bool rt;
     bool sig = false;
     if (!child && (args->isSet("forcelock"))) {
-        rt = process.lock();
+        rt = process.lock(args->isSet("showunlock"));
         sig = true;
     }
     else if( child || args->isSet( "dontlock" ))
--- trunk/KDE/kdebase/workspace/startkde.cmake #1189266:1189267
@@ -351,7 +351,7 @@
 # If the session should be locked from the start (locked autologin),
 # lock now and do the rest of the KDE startup underneath the locker.
 if test -n "$dl"; then
-  if ! kwrapper4 kscreenlocker --forcelock --daemon; then
+  if ! kwrapper4 kscreenlocker --forcelock --showunlock --daemon; then
     echo 'startkde: Initial session lock failed. Terminating for security reasons.' 1>&2
     exit 1
   fi
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic