diff options
Diffstat (limited to 'tdm/kfrontend/kgreeter.cpp')
-rw-r--r-- | tdm/kfrontend/kgreeter.cpp | 92 |
1 files changed, 53 insertions, 39 deletions
diff --git a/tdm/kfrontend/kgreeter.cpp b/tdm/kfrontend/kgreeter.cpp index 7f45ca197..a9901b08c 100644 --- a/tdm/kfrontend/kgreeter.cpp +++ b/tdm/kfrontend/kgreeter.cpp @@ -22,6 +22,10 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ +#ifdef HAVE_CONFIG_H +#include <config.h> +#endif + #include "kgreeter.h" #include "kconsole.h" #include "tdmconfig.h" @@ -35,17 +39,18 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. #include <dmctl.h> +#ifdef WITH_TDEHWLIB #include <ksslcertificate.h> - #include <tdehardwaredevices.h> #include <tdecryptographiccarddevice.h> +#endif #include <tdeapplication.h> #include <tdelocale.h> -#include <kstandarddirs.h> +#include <tdestandarddirs.h> #include <kseparator.h> #include <tdelistview.h> -#include <ksimpleconfig.h> +#include <tdesimpleconfig.h> #include <kstringhandler.h> #include <kdebug.h> #include <kdialog.h> @@ -99,9 +104,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. #include <X11/Xlib.h> -#ifdef HAVE_KRB5 -#include <libtdeldap.h> -#endif #define FIFO_DIR "/tmp/tdesocket-global/tdm" #define FIFO_FILE "/tmp/tdesocket-global/tdm/tdmctl-%1" @@ -121,8 +123,8 @@ class UserListView : public TDEListView { // FIXME: This must be configurable, so disable // painting of list background for now. // if (themed) { -// setBackgroundMode( Qt::NoBackground ); -// viewport()->setBackgroundMode( Qt::NoBackground ); +// setBackgroundMode( TQt::NoBackground ); +// viewport()->setBackgroundMode( TQt::NoBackground ); // setFrameStyle( TQFrame::NoFrame ); // } } @@ -167,7 +169,7 @@ public: // painting of list background for now. return TDEListView::paintEmptyArea(p, rect ); - const TQPixmap *pm = TQT_TQPIXMAP_CONST(paletteBackgroundPixmap()); + const TQPixmap *pm = paletteBackgroundPixmap(); if (!pm || pm->isNull()) { return; } @@ -199,24 +201,24 @@ KGreeter::KGreeter( bool framed ) , showInfoMessages( true ) , closingDown( false ) { - stsFile = new KSimpleConfig( _stsFile ); + stsFile = new TDESimpleConfig( _stsFile ); stsFile->setGroup( "PrevUser" ); if (_userList) { readFacesList(); userView = new UserListView( framed, this ); - connect( userView, TQT_SIGNAL(clicked( TQListViewItem * )), - TQT_SLOT(slotUserClicked( TQListViewItem * )) ); - connect( userView, TQT_SIGNAL(doubleClicked( TQListViewItem * )), - TQT_SLOT(accept()) ); + connect( userView, TQ_SIGNAL(clicked( TQListViewItem * )), + TQ_SLOT(slotUserClicked( TQListViewItem * )) ); + connect( userView, TQ_SIGNAL(doubleClicked( TQListViewItem * )), + TQ_SLOT(accept()) ); } if (_userCompletion) { userList = new TQStringList; } sessMenu = new TQPopupMenu( this ); - connect( sessMenu, TQT_SIGNAL(activated( int )), - TQT_SLOT(slotSessionSelected( int )) ); + connect( sessMenu, TQ_SIGNAL(activated( int )), + TQ_SLOT(slotSessionSelected( int )) ); insertSessions(); if (curPlugin < 0) { @@ -228,8 +230,8 @@ KGreeter::KGreeter( bool framed ) mControlPipeHandler = new ControlPipeHandlerObject(); mControlPipeHandler->mKGreeterParent = this; mControlPipeHandler->moveToThread(mControlPipeHandlerThread); - TQObject::connect(mControlPipeHandler, SIGNAL(processCommand(TQString)), this, SLOT(processInputPipeCommand(TQString))); - TQTimer::singleShot(0, mControlPipeHandler, SLOT(run())); + TQObject::connect(mControlPipeHandler, TQ_SIGNAL(processCommand(TQString)), this, TQ_SLOT(processInputPipeCommand(TQString))); + TQTimer::singleShot(0, mControlPipeHandler, TQ_SLOT(run())); mControlPipeHandlerThread->start(); } @@ -249,16 +251,18 @@ KGreeter::~KGreeter() void KGreeter::cryptographicCardWatcherSetup() { cardLoginUser = TQString::null; +#ifdef WITH_TDEHWLIB // Initialize SmartCard readers TDEGenericDevice *hwdevice; TDEHardwareDevices *hwdevices = TDEGlobal::hardwareDevices(); TDEGenericHardwareList cardReaderList = hwdevices->listByDeviceClass(TDEGenericDeviceType::CryptographicCard); for (hwdevice = cardReaderList.first(); hwdevice; hwdevice = cardReaderList.next()) { TDECryptographicCardDevice* cdevice = static_cast<TDECryptographicCardDevice*>(hwdevice); - connect(cdevice, TQT_SIGNAL(certificateListAvailable(TDECryptographicCardDevice*)), this, TQT_SLOT(cryptographicCardInserted(TDECryptographicCardDevice*))); - connect(cdevice, TQT_SIGNAL(cardRemoved(TDECryptographicCardDevice*)), this, TQT_SLOT(cryptographicCardRemoved(TDECryptographicCardDevice*))); + connect(cdevice, TQ_SIGNAL(certificateListAvailable(TDECryptographicCardDevice*)), this, TQ_SLOT(cryptographicCardInserted(TDECryptographicCardDevice*))); + connect(cdevice, TQ_SIGNAL(cardRemoved(TDECryptographicCardDevice*)), this, TQ_SLOT(cryptographicCardRemoved(TDECryptographicCardDevice*))); cdevice->enableCardMonitoring(true); } +#endif } void KGreeter::done(int r) { @@ -389,7 +393,7 @@ KGreeter::insertUser( const TQImage &default_pix, TQBuffer buf( fc ); buf.open( IO_ReadOnly ); TQImageIO ir; - ir.setIODevice( TQT_TQIODEVICE(&buf) ); + ir.setIODevice( &buf ); if (!ir.read()) { LogInfo( "%s is no valid image\n", fn.data() ); continue; @@ -397,7 +401,7 @@ KGreeter::insertUser( const TQImage &default_pix, p = ir.image(); TQSize ns( 48, 48 ); if (p.size() != ns) { - p = p.convertDepth( 32 ).smoothScale( ns, TQ_ScaleMin ); + p = p.convertDepth( 32 ).smoothScale( ns, TQImage::ScaleMin ); } break; } while (--nd >= 0); @@ -486,7 +490,7 @@ KGreeter::insertUsers(int limit_users) TQSize ns( 48, 48 ); if (default_pix.size() != ns) default_pix = - default_pix.convertDepth( 32 ).smoothScale( ns, TQ_ScaleMin ); + default_pix.convertDepth( 32 ).smoothScale( ns, TQImage::ScaleMin ); } if (_showUsers == SHOW_ALL) { KGreeterUserList noUsers( _noUsers ); @@ -611,7 +615,7 @@ KGreeter::insertSessions() TQStringList ents = TQDir( *dit ).entryList(); for (TQStringList::ConstIterator it = ents.begin(); it != ents.end(); ++it) if ((*it).endsWith( ".desktop" ) && !(*it).endsWith("admin.desktop")) { - KSimpleConfig dsk( TQString( *dit ).append( '/' ).append( *it ) ); + TDESimpleConfig dsk( TQString( *dit ).append( '/' ).append( *it ) ); dsk.setGroup( "Desktop Entry" ); putSession( (*it).left( (*it).length() - 8 ), dsk.readEntry( "Name" ), @@ -652,7 +656,7 @@ KGreeter::slotUserEntered() if (isVisible()) slotLoadPrevWM(); else - TQTimer::singleShot( 0, this, TQT_SLOT(slotLoadPrevWM()) ); + TQTimer::singleShot( 0, this, TQ_SLOT(slotLoadPrevWM()) ); } void @@ -861,15 +865,20 @@ KGreeter::verifySetUser( const TQString &user ) } void KGreeter::cryptographicCardInserted(TDECryptographicCardDevice* cdevice) { -#ifdef HAVE_KRB5 - // Make sure card logins are enabled before attempting one - if (!LDAPManager::pkcsLoginEnabled()) { - return; - } -#else +#ifdef WITH_TDEHWLIB +#ifndef HAVE_KRB5 // Don't enable card-based logins if Kerberos integration was disabled return; #endif + // Make sure card logins are enabled before attempting one + TDESimpleConfig *systemconfig = new TDESimpleConfig( TQString::fromLatin1( KDE_CONFDIR "/ldap/ldapconfigrc" )); + systemconfig->setGroup(NULL); + bool enabled = systemconfig->readBoolEntry("EnablePKCS11Login", false); + delete systemconfig; + if (!enabled) + { + return; + } TQString login_name = TQString::null; X509CertificatePtrList certList = cdevice->cardX509Certificates(); @@ -936,9 +945,11 @@ void KGreeter::cryptographicCardInserted(TDECryptographicCardDevice* cdevice) { verify->accept(); } } +#endif } void KGreeter::cryptographicCardRemoved(TDECryptographicCardDevice* cdevice) { +#ifdef WITH_TDEHWLIB cardLoginUser = TQString::null; userView->setEnabled(false); verify->lockUserEntry(false); @@ -950,6 +961,7 @@ void KGreeter::cryptographicCardRemoved(TDECryptographicCardDevice* cdevice) { verify->cardLoginInProgress = false; verify->cardLoginDevice = NULL; +#endif } KStdGreeter::KStdGreeter() @@ -981,7 +993,7 @@ KStdGreeter::KStdGreeter() "open windows on it or intercept your input.") ); complainLabel->setAlignment( AlignCenter ); complainLabel->setFont( _failFont ); - complainLabel->setPaletteForegroundColor( Qt::red ); + complainLabel->setPaletteForegroundColor( TQt::red ); inner_box->addWidget( complainLabel ); } if (_logoArea == LOGO_NONE) { @@ -1008,7 +1020,7 @@ KStdGreeter::KStdGreeter() case LOGO_LOGO: { TQMovie movie( _logo ); - kapp->eventLoop()->processEvents( TQEventLoop::ExcludeUserInput | TQEventLoop::ExcludeSocketNotifiers, 100 ); + tdeApp->eventLoop()->processEvents( TQEventLoop::ExcludeUserInput | TQEventLoop::ExcludeSocketNotifiers, 100 ); TQPixmap pixmap; if (!movie.framePixmap().isNull() || pixmap.load( _logo )) { pixLabel = new TQLabel( this ); @@ -1041,7 +1053,7 @@ KStdGreeter::KStdGreeter() goButton = new TQPushButton( i18n("L&ogin"), this ); goButton->setDefault( true ); - connect( goButton, TQT_SIGNAL(clicked()), TQT_SLOT(accept()) ); + connect( goButton, TQ_SIGNAL(clicked()), TQ_SLOT(accept()) ); menuButton = new TQPushButton( i18n("&Menu"), this ); //helpButton @@ -1100,7 +1112,7 @@ KStdGreeter::KStdGreeter() verify->setInfoMessageDisplay(showInfoMessages); verify->start(); - TQTimer::singleShot(0, this, SLOT(cryptographicCardWatcherSetup())); + TQTimer::singleShot(0, this, TQ_SLOT(cryptographicCardWatcherSetup())); } void @@ -1156,8 +1168,8 @@ KThemedGreeter::KThemedGreeter() return; } - connect( themer, TQT_SIGNAL(activated( const TQString & )), - TQT_SLOT(slotThemeActivated( const TQString & )) ); + connect( themer, TQ_SIGNAL(activated( const TQString & )), + TQ_SLOT(slotThemeActivated( const TQString & )) ); console_rect = themer->findNode( "xconsole" ); // tdm ext userlist_rect = themer->findNode( "userlist" ); @@ -1244,14 +1256,14 @@ KThemedGreeter::KThemedGreeter() system_button = themer->findNode( "system_button" ); TQAccel *accel = new TQAccel( this ); accel->insertItem( ALT+Key_M, 0 ); - connect( accel, TQT_SIGNAL(activated( int )), TQT_SLOT(slotActionMenu()) ); + connect( accel, TQ_SIGNAL(activated( int )), TQ_SLOT(slotActionMenu()) ); pluginSetup(); verify->setInfoMessageDisplay(showInfoMessages); verify->start(); - TQTimer::singleShot(0, this, SLOT(cryptographicCardWatcherSetup())); + TQTimer::singleShot(0, this, TQ_SLOT(cryptographicCardWatcherSetup())); } bool @@ -1330,9 +1342,11 @@ KThemedGreeter::updateStatus( bool fail, bool caps, int timedleft ) } } +#ifdef WITH_TDEHWLIB if (cardLoginUser != TQString::null) { verify->setPasswordPrompt(i18n("PIN:")); } +#endif } void |