Sophie

Sophie

distrib > Mandriva > 2006.0 > i586 > media > main-src > by-pkgid > a6bc312ce50b5c8d0c51736e58ac32bc > files > 305

kdebase-3.4.2-55mdk.src.rpm

--- kdebase-3.3.1/kioslave/devices/kdedmodule/mountwatcher.cpp--	2004-10-19 12:41:03.889188646 -0400
+++ kdebase-3.3.1/kioslave/devices/kdedmodule/mountwatcher.cpp	2004-10-19 12:44:36.745703158 -0400
@@ -23,6 +23,7 @@
 #include <qglobal.h>
 #include <qfile.h>
 #include <qtimer.h>
+#include <qregexp.h>
 
 #include <kdatastream.h> // DO NOT REMOVE, otherwise bool marshalling breaks
 #include <ksimpleconfig.h>
@@ -335,18 +336,72 @@ void MountWatcherModule::readDFDone()
 		entryName+=ent->deviceName().replace("/", "");
 		entryName+=ent->mountPoint().replace("/","");
 		QString filename = KURL(ent->deviceName()).fileName();
+		QRegExp regDevice("[0-9]");
+		QString deviceOrig = filename.left(regDevice.search(filename));
 		if(!filename.isEmpty())
 			filename = QString::fromLatin1(" (") + filename + ")";
 		else
 			filename=" ";
+       bool newModel = false;
+       bool newVendor = false;
+       QString modelLine;
+       QString vendorLine;
+       if( !deviceOrig.isEmpty())
+       {
+         QString modelName("/sys/block/");
+         modelName+=deviceOrig;
+         modelName+="/device/model";
+         QFile model(modelName);
+         if( model.exists())
+           {
+             newModel = true;
+             if ( model.open( IO_ReadOnly ) )
+               {
+               QTextStream stream( &model );
+               modelLine = stream.readLine();
+               if(!modelLine.isEmpty())
+                     modelLine=modelLine.simplifyWhiteSpace();
+               model.close();
+               }
+           }
+
+         QString vendorName("/sys/block/");
+         vendorName+=deviceOrig;
+         vendorName+="/device/vendor";
+         QFile vendor(vendorName);
+         if( vendor.exists())
+           {
+             newVendor = true;
+
+         if ( vendor.open( IO_ReadOnly ) )
+              {
+             QTextStream stream( &vendor );
+             vendorLine = stream.readLine();
+             if(!vendorLine.isEmpty())
+                     vendorLine = vendorLine.simplifyWhiteSpace();
+             vendor.close();
+              }
+           }
+       }
+
+
 		if (ent->mounted())
 		{
 			mountList<<(entryName);
 			QString name = ent->niceDescription();
-			if (descriptionToDeviceMap[ent->niceDescription()] != ent->deviceName())
-				name += filename;
-			if (descriptionToMountMap[ent->niceDescription()] != ent->mountPoint())
-				name = i18n("%1 [%2]").arg(name).arg(ent->mountPoint());
+           if(newVendor &&  newModel)
+             {
+               name = QString("%1 %2").arg(vendorLine).arg(modelLine);
+             }
+           else
+             {
+
+               if (descriptionToDeviceMap[ent->niceDescription()] != ent->deviceName())
+                 name += filename;
+               if (descriptionToMountMap[ent->niceDescription()] != ent->mountPoint())
+                 name = i18n("%1 [%2]").arg(name).arg(ent->mountPoint());
+             }
+			
 			mountList<<name;
 			mountList<<ent->deviceName();
 			mountList<<"file:/"+(ent->mountPoint().startsWith("/")?ent->mountPoint().right(ent->mountPoint().length()-1):ent->mountPoint());
@@ -359,10 +414,19 @@ void MountWatcherModule::readDFDone()
 		{
 			mountList<<entryName;
 			QString name = ent->niceDescription();
-			if (descriptionToDeviceMap[ent->niceDescription()] != ent->deviceName())
-				name += filename;
-			if (descriptionToMountMap[ent->niceDescription()] != ent->mountPoint())
-				name = i18n("%1 [%2]").arg(name).arg(ent->mountPoint());
+           if(newVendor &&  newModel)
+             {
+               name = QString("%1 %2").arg(vendorLine).arg(modelLine);
+             }
+           else
+             {
+
+               if (descriptionToDeviceMap[ent->niceDescription()] != ent->deviceName())
+                 name += filename;
+               if (descriptionToMountMap[ent->niceDescription()] != ent->mountPoint())
+                 name = i18n("%1 [%2]").arg(name).arg(ent->mountPoint());
+             }
+				
 			mountList<<name;
 			mountList<<ent->deviceName();
 			mountList<<"file:/"+(ent->mountPoint().startsWith("/")?ent->mountPoint().right(ent->mountPoint().length()-1):ent->mountPoint());