filemanager/src/filemanager/src/operationservice/fmoperationresultprocesser.cpp
changeset 27 df183af6b92f
parent 25 b7bfdea70ca2
child 32 39cf9ced4cc4
equal deleted inserted replaced
25:b7bfdea70ca2 27:df183af6b92f
    44     
    44     
    45     QString questionText = QString( "file " ) +
    45     QString questionText = QString( "file " ) +
    46         srcFile + QString( " already exist, please rename:" );
    46         srcFile + QString( " already exist, please rename:" );
    47     QString value;   
    47     QString value;   
    48     QFileInfo fileInfo(srcFile);
    48     QFileInfo fileInfo(srcFile);
    49     bool ret = FmDlgUtils::showTextQuery( questionText, value, true, maxFileNameLength, QString(), false );
    49     QStringList regExpList = (QStringList() << Regex_ValidFileFolderName << Regex_ValidNotEndWithDot );
       
    50 
       
    51     bool ret = FmDlgUtils::showTextQuery( questionText, value, regExpList,
       
    52         maxFileNameLength, QString(), false );
    50     while ( ret ) {
    53     while ( ret ) {
    51         // remove whitespace from the start and the end.
    54         // remove whitespace from the start and the end.
    52         value = value.trimmed();
    55         value = value.trimmed();
    53         QString newTargetPath = FmUtils::fillPathWithSplash(
    56         QString newTargetPath = FmUtils::fillPathWithSplash(
    54                                 fileInfo.absolutePath() ) + value;
    57                                 fileInfo.absolutePath() ) + value;
    55         QString errString;
    58         QString errString;
    56         // check if name/path is available for use.
    59         // check if name/path is available for use.
    57         if( !FmUtils::checkNewFolderOrFile( newTargetPath, errString ) ) {
    60         if( !FmUtils::checkNewFolderOrFile( value, newTargetPath, errString ) ) {
    58             FmDlgUtils::information( errString );
    61             FmDlgUtils::information( errString );
    59             ret = FmDlgUtils::showTextQuery( questionText, value, true, maxFileNameLength, QString(), false );
    62             ret = FmDlgUtils::showTextQuery( questionText, value, regExpList, maxFileNameLength, QString(), false );
    60             continue;
    63             continue;
    61         } else {
    64         } else {
    62             break;
    65             break;
    63         }
    66         }
    64     }   
    67     }   
   211             FmDriverInfo driverInfo = FmUtils::queryDriverInfo( driveName );
   214             FmDriverInfo driverInfo = FmUtils::queryDriverInfo( driveName );
   212             FmDriverInfo::DriveState state = driverInfo.driveState();
   215             FmDriverInfo::DriveState state = driverInfo.driveState();
   213             if( ( state & FmDriverInfo::EDriveAvailable ) &&
   216             if( ( state & FmDriverInfo::EDriveAvailable ) &&
   214                 ( state & FmDriverInfo::EDriveRemovable ) &&
   217                 ( state & FmDriverInfo::EDriveRemovable ) &&
   215                 !( state & FmDriverInfo::EDriveMassStorage ) ) { 
   218                 !( state & FmDriverInfo::EDriveMassStorage ) ) { 
   216                 QString volumeName;
   219                 bool needToSetVolume = false;
   217                 while( FmDlgUtils::showTextQuery( title, volumeName, false, FmMaxLengthofDriveName ) ){
   220                 QString volumeName = FmUtils::getVolumeNameWithDefaultNameIfNull( driveName, needToSetVolume );                            
       
   221                 //use isReturnFalseWhenNoTextChanged = false in order that FmUtils::renameDrive( driveName, volumeName ) will
       
   222                 //be excuted at lease once to set the volume name.
       
   223                 while( FmDlgUtils::showTextQuery( title, volumeName, QStringList(), FmMaxLengthofDriveName, QString(), false ) ){                    
   218                     int err = FmUtils::renameDrive( driveName, volumeName );
   224                     int err = FmUtils::renameDrive( driveName, volumeName );
   219                     if ( err == FmErrNone ){
   225                     if ( err == FmErrNone ) {
   220                         FmDlgUtils::information( hbTrId( "The name has been changed!" ) );
   226                         FmDlgUtils::information( hbTrId( "The name has been changed!" ) );
   221                         mOperationService->on_operationThread_refreshModel( driveName );
   227                         mOperationService->on_operationThread_refreshModel( driveName );
   222                         break;
   228                         break;
   223                     } else if( err == FmErrBadName ) {
   229                     } else if( err == FmErrBadName ) {
   224                         FmDlgUtils::information( hbTrId( "Illegal characters! Use only letters and numbers." ) );
   230                         FmDlgUtils::information( hbTrId( "Illegal characters! Use only letters and numbers." ) );