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." ) ); |