filemanager/src/filemanager/src/operationservice/fmoperationremove.cpp
changeset 16 ada7962b4308
parent 14 1957042d8c7e
child 33 328cf6fbe40c
equal deleted inserted replaced
14:1957042d8c7e 16:ada7962b4308
    17 
    17 
    18 #include "fmoperationremove.h"
    18 #include "fmoperationremove.h"
    19 #include "fmcommon.h"
    19 #include "fmcommon.h"
    20 #include "fmoperationbase.h"
    20 #include "fmoperationbase.h"
    21 #include "fmdrivedetailstype.h"
    21 #include "fmdrivedetailstype.h"
       
    22 #include "fmutils.h"
    22 
    23 
    23 #include <QDir>
    24 #include <QDir>
    24 #include <QFileInfo>
    25 #include <QFileInfo>
    25 #include <QStringList>
    26 #include <QStringList>
    26 #include <QStack>
    27 #include <QStack>
    91             *mErrString = fileName;
    92             *mErrString = fileName;
    92             ret = FmErrCannotRemove;
    93             ret = FmErrCannotRemove;
    93         }
    94         }
    94         IncreaseProgressOnce();
    95         IncreaseProgressOnce();
    95     } else if (fi.isDir()) {
    96     } else if (fi.isDir()) {
    96        ret = recursiveRemoveDir( fileName );
    97        if( FmUtils::isDefaultFolder( fileName ) ){
       
    98            ret = FmErrRemoveDefaultFolder;
       
    99        }
       
   100        else{
       
   101            ret = recursiveRemoveDir( fileName );
       
   102        }
       
   103 
       
   104 
    97     } else {
   105     } else {
    98         qWarning( "Things other than file and directory are not copied" );
   106         qWarning( "Things other than file and directory are not copied" );
    99         ret = FmErrIsNotFileOrFolder;
   107         ret = FmErrIsNotFileOrFolder;
   100     }
   108     }
   101     return ret;
   109     return ret;
   145     return FmErrNone;
   153     return FmErrNone;
   146 }
   154 }
   147 
   155 
   148 void FmOperationRemove::IncreaseProgressOnce()
   156 void FmOperationRemove::IncreaseProgressOnce()
   149 {
   157 {
       
   158     if( mTotalCount <= 0 )
       
   159         return;
   150     mRemovedCount++;
   160     mRemovedCount++;
   151     int step = ( mRemovedCount * 100 ) / mTotalCount;
   161     int step = ( mRemovedCount * 100 ) / mTotalCount;
   152     if( step > mCurrentStep ) {
   162     if( step > mCurrentStep ) {
   153         mCurrentStep = step;
   163         mCurrentStep = step;
   154         emit notifyProgress( mCurrentStep );
   164         emit notifyProgress( mCurrentStep );