summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/opie-login/loginwindow.ui6
-rw-r--r--core/opie-login/loginwindowimpl.cpp19
2 files changed, 25 insertions, 0 deletions
diff --git a/core/opie-login/loginwindow.ui b/core/opie-login/loginwindow.ui
index edd0819..5a35c8d 100644
--- a/core/opie-login/loginwindow.ui
+++ b/core/opie-login/loginwindow.ui
@@ -404,8 +404,14 @@
404 <signal>clicked()</signal> 404 <signal>clicked()</signal>
405 <receiver>LoginWindow</receiver> 405 <receiver>LoginWindow</receiver>
406 <slot>login()</slot> 406 <slot>login()</slot>
407 </connection> 407 </connection>
408 <connection>
409 <sender>m_user</sender>
410 <signal>activated(int)</signal>
411 <receiver>m_password</receiver>
412 <slot>setFocus()</slot>
413 </connection>
408 <slot access="public">login()</slot> 414 <slot access="public">login()</slot>
409 <slot access="public">suspend()</slot> 415 <slot access="public">suspend()</slot>
410 <slot access="public">toggleEchoMode(bool)</slot> 416 <slot access="public">toggleEchoMode(bool)</slot>
411</connections> 417</connections>
diff --git a/core/opie-login/loginwindowimpl.cpp b/core/opie-login/loginwindowimpl.cpp
index 63baaa6..c59338f 100644
--- a/core/opie-login/loginwindowimpl.cpp
+++ b/core/opie-login/loginwindowimpl.cpp
@@ -8,9 +8,11 @@
8#include <qpixmap.h> 8#include <qpixmap.h>
9#include <qlabel.h> 9#include <qlabel.h>
10#include <qpopupmenu.h> 10#include <qpopupmenu.h>
11#include <qmessagebox.h> 11#include <qmessagebox.h>
12#include <qimage.h>
12 13
14#include <qpe/resource.h>
13#include <qpe/qcopenvelope_qws.h> 15#include <qpe/qcopenvelope_qws.h>
14 16
15#include <opie/odevice.h> 17#include <opie/odevice.h>
16 18
@@ -87,8 +89,9 @@ void LoginWindowImpl::toggleEchoMode ( bool t )
87{ 89{
88 m_password-> setEchoMode ( t ? QLineEdit::Normal : QLineEdit::Password ); 90 m_password-> setEchoMode ( t ? QLineEdit::Normal : QLineEdit::Password );
89} 91}
90 92
93
91QStringList LoginWindowImpl::getAllUsers ( ) 94QStringList LoginWindowImpl::getAllUsers ( )
92{ 95{
93 struct passwd *pwd; 96 struct passwd *pwd;
94 QStringList sl; 97 QStringList sl;
@@ -299,8 +302,21 @@ void LoginWindowImpl::login ( )
299#endif 302#endif
300 303
301 if ( ok ) { 304 if ( ok ) {
302 if ( changeIdentity ( user )) { 305 if ( changeIdentity ( user )) {
306 // Draw a big wait icon, the image can be altered in later revisions
307 QWidget *d = QApplication::desktop ( );
308 m_input-> hideInputMethod ( );
309
310 QImage img = Resource::loadImage( "launcher/new_wait" );
311 QPixmap pix;
312 pix. convertFromImage ( img );
313 QLabel *w = new QLabel ( 0, "wait hack!", WStyle_Customize | WStyle_NoBorder | WStyle_Tool );
314 w-> setPixmap ( pix );
315 w-> setAlignment ( AlignCenter );
316 w-> showMaximized ( );
317 qApp-> processEvents ( );
318
303 char *opie = ::getenv ( "OPIEDIR" ); 319 char *opie = ::getenv ( "OPIEDIR" );
304 char *arg = new char [::strlen ( opie ) + 8 + 1]; 320 char *arg = new char [::strlen ( opie ) + 8 + 1];
305 321
306 ::strcpy ( arg, opie ); 322 ::strcpy ( arg, opie );
@@ -308,8 +324,11 @@ void LoginWindowImpl::login ( )
308 324
309 // start qpe via a login shell 325 // start qpe via a login shell
310 ::execl ( "/bin/sh", "-sh", "-c", arg, 0 ); 326 ::execl ( "/bin/sh", "-sh", "-c", arg, 0 );
311 327
328 w-> hide ( );
329 delete w;
330
312 QMessageBox::critical ( this, tr( "Failure" ), tr( "Could not start OPIE\n(%1)." ). arg ( arg )); 331 QMessageBox::critical ( this, tr( "Failure" ), tr( "Could not start OPIE\n(%1)." ). arg ( arg ));
313 delete [] arg; 332 delete [] arg;
314 333
315 restart ( ); 334 restart ( );