filemanager/src/inc/fmfileiconprovider.cpp
changeset 33 328cf6fbe40c
parent 25 b7bfdea70ca2
child 40 4167eb56f30d
--- a/filemanager/src/inc/fmfileiconprovider.cpp	Fri Jul 23 11:12:24 2010 +0800
+++ b/filemanager/src/inc/fmfileiconprovider.cpp	Thu Aug 05 11:30:07 2010 +0800
@@ -76,40 +76,30 @@
         {
         case FmFileTypeRecognizer::FileTypeDrive:
             {
-            FmDriverInfo::DriveState driveState = FmUtils::queryDriverInfo( filePath ).driveState();
-            if( driveState & FmDriverInfo::EDriveAvailable ){
-                if( driveState & FmDriverInfo::EDriveRemovable ) {
-                    if( driveState & FmDriverInfo::EDriveMassStorage ) {
-                        // Mass Storage
-                        retIcon = HbIcon( massMemoryIcon ).qicon();
-                        break;
-                    } else if( driveState & FmDriverInfo::EDriveUsbMemory ) {
-                        // Usb Memory
-                        retIcon = HbIcon( usbMemoryIcon ).qicon();
-                        break;
-                    } else{
-                        //Memory Card
+            FmDriverInfo driveInfo = FmUtils::queryDriverInfo( filePath );
+            switch ( driveInfo.driveType() )
+                {
+                case FmDriverInfo::EDriveTypeMassStorage:
+                    retIcon = HbIcon( massMemoryIcon ).qicon();
+                    break;
+                case FmDriverInfo::EDriveTypeUsbMemory:
+                    retIcon = HbIcon( usbMemoryIcon ).qicon();
+                    break;
+                case FmDriverInfo::EDriveTypeMemoryCard:
+                    if( !( driveInfo.driveState() & FmDriverInfo::EDriveNotPresent ) ) {
                         retIcon = HbIcon( mmcIcon ).qicon();
-                        break;
+                    } else {
+                        retIcon = HbIcon( mmcNoneIcon ).qicon();    
                     }
-                } else{
-                    //Phone Memory
+                    break;
+                case FmDriverInfo::EDriveTypePhoneMemory:
                     retIcon = HbIcon( phoneMemoryIcon ).qicon();
                     break;
+                default:
+                    Q_ASSERT_X( false, "FmFileIconProvider::icon", "please handle drive type");
+                    break;
                 }
-            } else if( driveState & FmDriverInfo::EDriveLocked ) {
-                retIcon = HbIcon( mmcLockedIcon ).qicon();
-                break;
-            } else if( driveState & FmDriverInfo::EDriveCorrupted ) {
-                retIcon = HbIcon( mmcNoneIcon ).qicon();
-                break;
-            } else if( driveState & FmDriverInfo::EDriveNotPresent ){
-                retIcon = HbIcon( mmcNoneIcon ).qicon();
-                break;
-            } else {
-                retIcon = HbIcon( mmcNoneIcon ).qicon();
-                break;
-            }
+            break;
             }
         case FmFileTypeRecognizer::FileTypeFolder:
             {