--- ./kdesktop/lock/lockdlg.cc-- 2005-04-19 18:39:47.769176949 +0200 +++ ./kdesktop/lock/lockdlg.cc 2005-04-19 18:41:05.930974264 +0200 @@ -53,6 +53,7 @@ #include <X11/Xutil.h> #include <X11/keysym.h> #include <fixx11h.h> +#include <kapplication.h> #ifndef AF_LOCAL # define AF_LOCAL AF_UNIX @@ -205,6 +206,38 @@ void PasswordDlg::updateLabel() } } +void PasswordDlg::movedialog( int _move ) +{ + waitMoveDialog = true; + this->move(pos().x()+_move, pos().y()); + QTimer::singleShot( 50, this, SLOT(moveTimerDone()) ); + while (waitMoveDialog) + kapp->processEvents(); +} + +void PasswordDlg::moveTimerDone() +{ + waitMoveDialog = false; +} + +void PasswordDlg::badPasswordLogin() +{ + if ( mUnlockingFailed ) + { + for ( int i = 0 ; i<2 ; i++) + { + movedialog( 10 ); + movedialog( -20 ); + movedialog( 20 ); + movedialog( -20 ); + movedialog( 20 ); + movedialog( -10 ); + } + } +} + + + //--------------------------------------------------------------------------- // // Handle timer events. @@ -335,6 +368,7 @@ void PasswordDlg::reapVerify() ok->setEnabled(false); cancel->setEnabled(false); mNewSessButton->setEnabled( false ); + badPasswordLogin(); return; case AuthAbort: return; --- ./kdesktop/lock/lockdlg.h-- 2005-04-19 18:41:12.355683752 +0200 +++ ./kdesktop/lock/lockdlg.h 2005-04-19 18:41:49.883669210 +0200 @@ -55,7 +55,7 @@ private slots: void slotOK(); void layoutClicked(); void slotActivity(); - + void moveTimerDone(); private: void setLayoutText( const QString &txt ); void capsLocked(); @@ -71,6 +71,9 @@ private: void handleVerify(); void reapVerify(); void cantCheck(); + void movedialog( int _move ); + void badPasswordLogin(); + GreeterPluginHandle *mPlugin; KGreeterPlugin *greet; QFrame *frame; @@ -85,6 +88,7 @@ private: QStringList layoutsList; int sPid, sFd; QListView *lv; + bool waitMoveDialog; }; #endif