filemanager/src/inc/fmdrivemodel.cpp
changeset 40 4167eb56f30d
parent 32 39cf9ced4cc4
equal deleted inserted replaced
33:328cf6fbe40c 40:4167eb56f30d
    82     if (!indexValid( index ))
    82     if (!indexValid( index ))
    83         return QVariant();
    83         return QVariant();
    84 
    84 
    85     if (role == Qt::DisplayRole ) {
    85     if (role == Qt::DisplayRole ) {
    86        return displayString( index );
    86        return displayString( index );
    87     } else if (role == Qt::UserRole ) {
    87     } 
    88        return driveName( index );
       
    89     }
       
    90 
       
    91     if (index.column() == 0) {
    88     if (index.column() == 0) {
    92         if (role == Qt::DecorationRole ) {
    89         if (role == Qt::DecorationRole ) {
    93             QString path = driveName( index );
    90             QString path = driveName( index );
    94             return mIconProvider->icon( QFileInfo( path ) );
    91             return mIconProvider->icon( QFileInfo( path ) );
    95         }
    92         }
   137         data = diskName;
   134         data = diskName;
   138     }
   135     }
   139     return data;
   136     return data;
   140 }
   137 }
   141 
   138 
   142 QString FmDriveModel::displayString( const QModelIndex &index ) const
   139 QVariant FmDriveModel::displayString( const QModelIndex &index ) const
   143 {
   140 {
   144     QString data;
   141     QStringList data;
   145     if (index.row() >= 0 && index.row() < mDriveList.size()) {
   142     if (index.row() >= 0 && index.row() < mDriveList.size()) {
   146         int row = index.row();
   143         int row = index.row();
   147         QString diskName = mDriveList[ row ];
   144         QString diskName = mDriveList[ row ];
   148 
   145 
   149         if( mOptions & FillWithVolume ) {
   146         if( mOptions & FillWithVolume ) {
   150             data = FmUtils::fillDriveVolume( diskName, mOptions & FillWithDefaultVolume );
   147             data << FmUtils::fillDriveVolume( diskName, mOptions & FillWithDefaultVolume );
   151         } else {
   148         } else {
   152             data = FmUtils::removePathSplash( diskName );
   149             data << FmUtils::removePathSplash( diskName );
       
   150         }
       
   151         diskName = FmUtils::fillPathWithSplash( diskName );
       
   152         FmDriverInfo driverInfo = FmUtils::queryDriverInfo( diskName );
       
   153         if ( mOptions & FillWithTotalSize ) {                    
       
   154             if( driverInfo.driveState() & FmDriverInfo::EDriveAvailable ) {
       
   155                 data << QString( hbTrId ( "Size: " ) + FmUtils::formatStorageSize( driverInfo.size() ) );                
       
   156             } else if( driverInfo.driveState() & FmDriverInfo::EDriveLocked ) {
       
   157                 data << QString( hbTrId ( "Locked" ) );                
       
   158             } else if( driverInfo.driveState() & FmDriverInfo::EDriveCorrupted ) {
       
   159                 data << QString( hbTrId ( "Corrupted" ) );                
       
   160             } else if( driverInfo.driveState() & FmDriverInfo::EDriveNotPresent ) {
       
   161                 data << QString( hbTrId ( "Not Ready" ) );                
       
   162             }            
       
   163         }
       
   164         if ( mOptions & FillWithFreeSize ) {        
       
   165             if( driverInfo.driveState() & FmDriverInfo::EDriveAvailable ) {                
       
   166                 data << QString( hbTrId ( "Free: " ) + FmUtils::formatStorageSize( driverInfo.freeSize() ) );
       
   167             } else if( ( driverInfo.driveState() & FmDriverInfo::EDriveLocked ) ||
       
   168                     ( driverInfo.driveState() & FmDriverInfo::EDriveCorrupted ) ||
       
   169                     ( driverInfo.driveState() & FmDriverInfo::EDriveNotPresent )) {                
       
   170                 data << QString( QString(" ") );
       
   171             }            
   153         }
   172         }
   154     }
   173     }
   155     return data;
   174     return data;
   156 }
   175 }