Sophie

Sophie

distrib > Mandriva > 2010.2 > i586 > by-pkgid > ce2e75decdd057e5c961fad858af3221 > files > 13

kdebase4-workspace-4.4.5-0.2mdv2010.2.src.rpm

Index: kcontrol/kdm/kdm-users.cpp
===================================================================
--- kcontrol/kdm/kdm-users.cpp
+++ kcontrol/kdm/kdm-users.cpp	2009-06-27 01:41:24.000000000 +0200
@@ -88,7 +88,7 @@
 
 	// We assume that $kde_datadir/kdm exists, but better check for pics/ and pics/users,
 	// and create them if necessary.
-	m_userPixDir = config->group( "X-*-Greeter" ).readEntry( "FaceDir", KStandardDirs::installPath( "data" ) + "kdm/faces" ) + '/';
+    m_userPixDir = config->group( "X-*-Greeter" ).readEntry( "FaceDir", "/usr/share/faces" ) + '/';
 	QDir testDir( m_userPixDir );
 	if (!testDir.exists() && !testDir.mkdir( testDir.absolutePath() ) && !geteuid())
 		KMessageBox::sorry( this, i18n("Unable to create folder %1", testDir.absolutePath() ) );
@@ -325,10 +325,15 @@
 {
 	QString user = usercombo->currentText();
 	QImage p;
-	if (user != m_defaultText && p.load( m_userPixDir + user + ".face.icon" ))
+
+   if (user != m_defaultText && p.load( m_userPixDir + user + ".png" ))
+        rstuserbutton->setEnabled( !getuid() );
+    else if (user != m_defaultText && p.load( m_userPixDir + user ))
+        rstuserbutton->setEnabled( !getuid() );
+    else if(user != m_defaultText && p.load( m_userPixDir + user + ".face.icon" ))
 		rstuserbutton->setEnabled( !getuid() );
 	else {
-		p.load( m_userPixDir + ".default.face.icon" );
+        p.load( m_userPixDir + "default.png" );
 		rstuserbutton->setEnabled( false );
 	}
 	userbutton->setIcon( QPixmap::fromImage( p.scaled( 48, 48, Qt::KeepAspectRatio, Qt::SmoothTransformation ) ) );
@@ -365,7 +370,7 @@
 void KDMUsersWidget::slotUserButtonClicked()
 {
 	KIconDialog dlg;
-	dlg.setCustomLocation( KStandardDirs::installPath( "data" ) + "kdm/pics/users" );
+    dlg.setCustomLocation( "/usr/share/faces" );
 	dlg.setup( KIconLoader::NoGroup, KIconLoader::Any, false, 48, true, true, false );
 	QString ic = dlg.openDialog();
 	if (ic.isEmpty())
--- kdm/kfrontend/kgreeter.cpp	2009-10-19 21:58:01.000000000 +0200
+++ kdm/kfrontend/kgreeter.cpp	2009-10-19 21:41:41.000000000 +0200
@@ -318,13 +318,16 @@
 			fn += '/';
 			fn += ps->pw_name;
 		}
-		fn += ".face.icon";
+
+		QFile(fn + ".png").exists() ?  fn += ".png" : fn += ".face.icon";
+
 		if (loadFace( fn, p, pp ))
 			goto gotit;
-	} while (--nd >= 0);
+
+        } while (--nd >= 0);
 	p = default_pix;
-  gotit:
-	QString realname = KStringHandler::from8Bit( ps->pw_gecos );
+gotit:
+        QString realname = KStringHandler::from8Bit( ps->pw_gecos );
 	realname.truncate( realname.indexOf( ',' ) & (~0U >> 1) );
 	if (realname.isEmpty() || realname == username)
 		new UserListViewItem( userView, username, QPixmap::fromImage( p ), username );
@@ -378,12 +381,18 @@
 
 	QImage default_pix;
 	if (userView) {
-		QByteArray fn = QFile::encodeName( _faceDir ) + "/.default.face.icon";
-		if (!loadFace( fn, default_pix, QByteArray(), true )) {
-			default_pix = QImage( 48, 48, QImage::Format_ARGB32 );
-			default_pix.fill( 0 );
-		}
-	}
+       QByteArray fn = QFile::encodeName( _faceDir + "/default.png" );
+       if (!loadFace( fn, default_pix , QByteArray(), true))
+        {
+           fn = QFile::encodeName( _faceDir + "/.default.face.icon" );
+           if (!loadFace( fn, default_pix , QByteArray(), true))
+            {
+               logError( "Cannot open default user face\n" );
+               default_pix = QImage( 48, 48, QImage::Format_ARGB32 );
+               default_pix.fill( 0 );
+           }
+       }
+    }
 	if (_showUsers == SHOW_ALL) {
 		UserList noUsers( _noUsers );
 		QSet<QString> dupes;