Sophie

Sophie

distrib > Mandriva > 2009.0 > i586 > by-pkgid > 9e8230873ca69f393e5304ceb1afeac2 > files > 13

kdebase4-workspace-4.2.4-0.6mdv2009.0.src.rpm

diff -u -r kcontrol/kdm.orig/kdm-users.cpp kcontrol/kdm/kdm-users.cpp
--- kcontrol/kdm.orig/kdm-users.cpp	2008-08-28 13:12:26.000000000 -0300
+++ kcontrol/kdm/kdm-users.cpp	2009-02-25 16:38:42.000000000 -0300
@@ -87,7 +87,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() ) );
@@ -324,10 +324,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 ) ) );
@@ -364,7 +369,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())
Somente em kcontrol/kdm: kdm-users.cpp~
--- kdm/kfrontend/kgreeter.cpp.orig	2009-03-04 12:58:57.000000000 -0300
+++ kdm/kfrontend/kgreeter.cpp	2009-03-04 13:25:35.000000000 -0300
@@ -288,13 +288,17 @@
 		QByteArray fn = !dp ?
 		                QByteArray( ps->pw_dir ) + '/' :
 		                QFile::encodeName( _faceDir + '/' + username );
-		fn += ".face.icon";
-		if (loadFace( fn, p ))
-			goto gotit;
+        QByteArray ftmp = fn + ".png";
+        if ( nd == 1 )
+            if (loadFace( ftmp, p ))
+                break;
+        ftmp = fn + ".face.icon";
+        if (loadFace( ftmp, p ))
+            break;
+        p = default_pix;
 	} while (--nd >= 0);
-	p = default_pix;
-  gotit:
-	QString realname = KStringHandler::from8Bit( ps->pw_gecos );
+	
+    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 );
@@ -348,13 +352,18 @@
 
 	QImage default_pix;
 	if (userView) {
-		QByteArray fn = QFile::encodeName( _faceDir + "/.default.face.icon" );
-		if (!loadFace( fn, default_pix )) {
-			logError( "Cannot open default user face\n" );
-			default_pix = QImage( 48, 48, QImage::Format_ARGB32 );
-			default_pix.fill( 0 );
-		}
-	}
+		QByteArray fn = QFile::encodeName( _faceDir + "/default.png" );
+		if (!loadFace( fn, default_pix ))
+        {
+		    fn = QFile::encodeName( _faceDir + "/.default.face.icon" );
+		    if (!loadFace( fn, default_pix ))
+            {
+			    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;