summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/opie-login/loginwindow.ui1
-rw-r--r--core/opie-login/loginwindowimpl.cpp43
-rw-r--r--core/opie-login/loginwindowimpl.h2
3 files changed, 45 insertions, 1 deletions
diff --git a/core/opie-login/loginwindow.ui b/core/opie-login/loginwindow.ui
index 5a35c8d..245e942 100644
--- a/core/opie-login/loginwindow.ui
+++ b/core/opie-login/loginwindow.ui
@@ -71,13 +71,12 @@
71 <property stdset="1"> 71 <property stdset="1">
72 <name>font</name> 72 <name>font</name>
73 <font> 73 <font>
74 <family>helvetica</family> 74 <family>helvetica</family>
75 <pointsize>18</pointsize> 75 <pointsize>18</pointsize>
76 <bold>1</bold> 76 <bold>1</bold>
77 <underline>1</underline>
78 </font> 77 </font>
79 </property> 78 </property>
80 <property stdset="1"> 79 <property stdset="1">
81 <name>autoMask</name> 80 <name>autoMask</name>
82 <bool>true</bool> 81 <bool>true</bool>
83 </property> 82 </property>
diff --git a/core/opie-login/loginwindowimpl.cpp b/core/opie-login/loginwindowimpl.cpp
index fe2906a..577cb41 100644
--- a/core/opie-login/loginwindowimpl.cpp
+++ b/core/opie-login/loginwindowimpl.cpp
@@ -34,12 +34,16 @@
34#include <qcombobox.h> 34#include <qcombobox.h>
35#include <qpixmap.h> 35#include <qpixmap.h>
36#include <qlabel.h> 36#include <qlabel.h>
37#include <qpopupmenu.h> 37#include <qpopupmenu.h>
38#include <qmessagebox.h> 38#include <qmessagebox.h>
39#include <qimage.h> 39#include <qimage.h>
40#if QT_VERSION < 300
41#include <qgfx_qws.h>
42#endif
43#include <qwindowsystem_qws.h>
40 44
41#include <qpe/resource.h> 45#include <qpe/resource.h>
42#include <qpe/qcopenvelope_qws.h> 46#include <qpe/qcopenvelope_qws.h>
43#include <qpe/config.h> 47#include <qpe/config.h>
44 48
45#include <opie/odevice.h> 49#include <opie/odevice.h>
@@ -58,14 +62,18 @@ LoginWindowImpl::LoginWindowImpl ( ) : LoginWindow ( 0, "LOGIN-WINDOW", WStyle_C
58{ 62{
59 QPopupMenu *pop = new QPopupMenu ( this ); 63 QPopupMenu *pop = new QPopupMenu ( this );
60 pop-> insertItem ( tr( "Restart" ), this, SLOT( restart ( ))); 64 pop-> insertItem ( tr( "Restart" ), this, SLOT( restart ( )));
61 pop-> insertItem ( tr( "Quit" ), this, SLOT( quit ( ))); 65 pop-> insertItem ( tr( "Quit" ), this, SLOT( quit ( )));
62 m_menu-> setPopup ( pop ); 66 m_menu-> setPopup ( pop );
63 67
68 QCopChannel *channel = new QCopChannel ( "QPE/TaskBar", this );
69 connect ( channel, SIGNAL( received ( const QCString &, const QByteArray & )), this, SLOT( receive ( const QCString &, const QByteArray & )));
70
64 QHBoxLayout *lay = new QHBoxLayout ( m_taskbar, 4, 4 ); 71 QHBoxLayout *lay = new QHBoxLayout ( m_taskbar, 4, 4 );
65 m_input = new InputMethods ( m_taskbar ); 72 m_input = new InputMethods ( m_taskbar );
73 connect ( m_input, SIGNAL( inputToggled ( bool )), this, SLOT( calcMaxWindowRect ( )));
66 lay-> addWidget ( m_input ); 74 lay-> addWidget ( m_input );
67 lay-> addStretch ( 10 ); 75 lay-> addStretch ( 10 );
68 76
69 setActiveWindow ( ); 77 setActiveWindow ( );
70 m_password-> setFocus ( ); 78 m_password-> setFocus ( );
71 79
@@ -84,18 +92,53 @@ LoginWindowImpl::LoginWindowImpl ( ) : LoginWindow ( 0, "LOGIN-WINDOW", WStyle_C
84 Config cfg ( "opie-login" ); 92 Config cfg ( "opie-login" );
85 cfg. setGroup ( "General" ); 93 cfg. setGroup ( "General" );
86 QString last = cfg. readEntry ( "LastLogin" ); 94 QString last = cfg. readEntry ( "LastLogin" );
87 95
88 if ( !last. isEmpty ( )) 96 if ( !last. isEmpty ( ))
89 m_user-> setEditText ( last ); 97 m_user-> setEditText ( last );
98
99 calcMaxWindowRect ( );
90} 100}
91 101
92LoginWindowImpl::~LoginWindowImpl ( ) 102LoginWindowImpl::~LoginWindowImpl ( )
93{ 103{
94} 104}
95 105
106
107void LoginWindowImpl::receive ( const QCString &msg, const QByteArray &data )
108{
109 QDataStream stream ( data, IO_ReadOnly );
110
111 if ( msg == "hideInputMethod()" )
112 m_input-> hideInputMethod ( );
113 else if ( msg == "showInputMethod()" )
114 m_input-> showInputMethod ( );
115 else if ( msg == "reloadInputMethods()" )
116 m_input-> loadInputMethods ( );
117}
118
119void LoginWindowImpl::calcMaxWindowRect ( )
120{
121#ifdef Q_WS_QWS
122 QRect wr;
123 int displayWidth = qApp-> desktop ( )-> width ( );
124 QRect ir = m_input-> inputRect ( );
125 if ( ir.isValid() )
126 wr.setCoords( 0, 0, displayWidth-1, ir.top()-1 );
127 else
128 wr.setCoords( 0, 0, displayWidth-1, m_taskbar->y()-1 );
129
130#if QT_VERSION < 300
131 wr = qt_screen-> mapToDevice ( wr, QSize ( qt_screen-> width ( ), qt_screen-> height ( )));
132#endif
133
134 QWSServer::setMaxWindowRect( wr );
135#endif
136}
137
138
96void LoginWindowImpl::keyPressEvent ( QKeyEvent *e ) 139void LoginWindowImpl::keyPressEvent ( QKeyEvent *e )
97{ 140{
98 switch ( e-> key ( )) { 141 switch ( e-> key ( )) {
99 case HardKey_Suspend: suspend ( ); 142 case HardKey_Suspend: suspend ( );
100 break; 143 break;
101 case HardKey_Backlight: backlight ( ); 144 case HardKey_Backlight: backlight ( );
diff --git a/core/opie-login/loginwindowimpl.h b/core/opie-login/loginwindowimpl.h
index e769b03..df8dbbb 100644
--- a/core/opie-login/loginwindowimpl.h
+++ b/core/opie-login/loginwindowimpl.h
@@ -44,12 +44,14 @@ protected slots:
44 void quit ( ); 44 void quit ( );
45 void showIM ( ); 45 void showIM ( );
46 void suspend ( ); 46 void suspend ( );
47 void backlight ( ); 47 void backlight ( );
48 void login ( ); 48 void login ( );
49 void toggleEchoMode ( bool ); 49 void toggleEchoMode ( bool );
50 void calcMaxWindowRect ( );
51 void receive ( const QCString &, const QByteArray & );
50 52
51protected: 53protected:
52 virtual void keyPressEvent ( QKeyEvent *e ); 54 virtual void keyPressEvent ( QKeyEvent *e );
53 55
54 QStringList getAllUsers ( ); 56 QStringList getAllUsers ( );
55 bool changeIdentity ( const char *user ); 57 bool changeIdentity ( const char *user );