diff options
Diffstat (limited to 'tdmlib/kgreet_winbind.cpp')
-rw-r--r-- | tdmlib/kgreet_winbind.cpp | 52 |
1 files changed, 46 insertions, 6 deletions
diff --git a/tdmlib/kgreet_winbind.cpp b/tdmlib/kgreet_winbind.cpp index aa7e39b18..cddb2866b 100644 --- a/tdmlib/kgreet_winbind.cpp +++ b/tdmlib/kgreet_winbind.cpp @@ -74,7 +74,9 @@ KWinbindGreeter::KWinbindGreeter( KGreeterPluginHandler *_handler, ctx( _ctx ), exp( -1 ), pExp( -1 ), - running( false ) + running( false ), + userEntryLocked(false), + suppressInfoMsg(false) { KdmItem *user_entry = 0, *pw_entry = 0, *domain_entry = 0; TQGridLayout *grid = 0; @@ -297,6 +299,11 @@ KWinbindGreeter::setUser( const TQString &user ) passwdEdit->selectAll(); } +void KWinbindGreeter::lockUserEntry( const bool lock ) { + userEntryLocked = lock; + loginEdit->setEnabled(!lock); +} + void // virtual KWinbindGreeter::setPassword( const TQString &pass ) { @@ -319,6 +326,27 @@ KWinbindGreeter::setEnabled( bool enable ) passwdEdit->setFocus(); } +void KWinbindGreeter::setInfoMessageDisplay(bool enable) { + suppressInfoMsg = !enable; +} + +void KWinbindGreeter::setPasswordPrompt(const TQString &prompt) { +#if 0 + if (passwdLabel) { + if (prompt != TQString::null) { + passwdLabel->setText(prompt); + } + else { + passwdLabel->setText(passwordPrompt()); + } + if (grid) { + grid->invalidate(); + grid->activate(); + } + } +#endif +} + void // private KWinbindGreeter::returnData() { @@ -348,8 +376,12 @@ bool // virtual KWinbindGreeter::textMessage( const char *text, bool err ) { if (!err && - TQString( text ).find( TQRegExp( "^Changing password for [^ ]+$" ) ) >= 0) + TQString( text ).find( TQRegExp( "^Changing password for [^ ]+$" ) ) >= 0) { + return true; + } + if (!err && suppressInfoMsg) { return true; + } return false; } @@ -524,12 +556,20 @@ KWinbindGreeter::clear() void KWinbindGreeter::setActive( bool enable ) { - if (domainCombo) + if (domainCombo) { domainCombo->setEnabled( enable ); - if (loginEdit) - loginEdit->setEnabled( enable ); - if (passwdEdit) + } + if (loginEdit) { + if (userEntryLocked) { + loginEdit->setEnabled( false ); + } + else { + loginEdit->setEnabled( enable ); + } + } + if (passwdEdit) { passwdEdit->setEnabled( enable ); + } } void |