filemanager/src/filemanager/src/operationservice/fmoperationthread.cpp
changeset 25 b7bfdea70ca2
parent 16 ada7962b4308
child 32 39cf9ced4cc4
child 35 060d0b1ab845
equal deleted inserted replaced
16:ada7962b4308 25:b7bfdea70ca2
    49     QMetaObject::connectSlotsByName( this );
    49     QMetaObject::connectSlotsByName( this );
    50     connect( mOperationBase, SIGNAL( askForRename( QString, QString* ) ),
    50     connect( mOperationBase, SIGNAL( askForRename( QString, QString* ) ),
    51         this, SLOT( onAskForRename( QString, QString* )), Qt::BlockingQueuedConnection );
    51         this, SLOT( onAskForRename( QString, QString* )), Qt::BlockingQueuedConnection );
    52     connect( mOperationBase, SIGNAL( askForReplace( QString, QString, bool* ) ),
    52     connect( mOperationBase, SIGNAL( askForReplace( QString, QString, bool* ) ),
    53         this, SLOT( onAskForReplace( QString, QString, bool* )), Qt::BlockingQueuedConnection );
    53         this, SLOT( onAskForReplace( QString, QString, bool* )), Qt::BlockingQueuedConnection );
       
    54     connect( mOperationBase, SIGNAL( showNote( QString ) ),
       
    55         this, SLOT( onShowNote( QString )), Qt::BlockingQueuedConnection );
    54 
    56 
    55     start();
    57     start();
    56     return FmErrNone;
    58     return FmErrNone;
    57 }
    59 }
    58 
    60 
    67     QMetaObject::connectSlotsByName( this );
    69     QMetaObject::connectSlotsByName( this );
    68     connect( mOperationBase, SIGNAL( askForRename( QString, QString* ) ),
    70     connect( mOperationBase, SIGNAL( askForRename( QString, QString* ) ),
    69         this, SLOT( onAskForRename( QString, QString* )), Qt::BlockingQueuedConnection );
    71         this, SLOT( onAskForRename( QString, QString* )), Qt::BlockingQueuedConnection );
    70     connect( mOperationBase, SIGNAL( askForReplace( QString, QString, bool* ) ),
    72     connect( mOperationBase, SIGNAL( askForReplace( QString, QString, bool* ) ),
    71         this, SLOT( onAskForReplace( QString, QString, bool* )), Qt::BlockingQueuedConnection );
    73         this, SLOT( onAskForReplace( QString, QString, bool* )), Qt::BlockingQueuedConnection );
       
    74     connect( mOperationBase, SIGNAL( showNote( QString ) ),
       
    75         this, SLOT( onShowNote( QString )), Qt::BlockingQueuedConnection );
    72 
    76 
    73 
    77 
    74     start();
    78     start();
    75     return FmErrNone;
    79     return FmErrNone;
    76 }
    80 }
   142 }
   146 }
   143 void FmOperationThread::onAskForReplace( const QString &srcFile, const QString &destFile, bool *isAccepted )
   147 void FmOperationThread::onAskForReplace( const QString &srcFile, const QString &destFile, bool *isAccepted )
   144 {
   148 {
   145     emit askForReplace( srcFile, destFile, isAccepted );
   149     emit askForReplace( srcFile, destFile, isAccepted );
   146 }
   150 }
       
   151 
       
   152 void FmOperationThread::onShowNote( const char *noteString )
       
   153 {
       
   154     emit showNote( noteString );
       
   155 }
       
   156 
   147 void FmOperationThread::on_operationElement_notifyPreparing( bool cancelable )
   157 void FmOperationThread::on_operationElement_notifyPreparing( bool cancelable )
   148 {
   158 {
   149     emit notifyPreparing( cancelable );
   159     emit notifyPreparing( cancelable );
   150 }
   160 }
   151 void FmOperationThread::on_operationElement_notifyStart( bool cancelable, int maxSteps )
   161 void FmOperationThread::on_operationElement_notifyStart( bool cancelable, int maxSteps )
   165     {
   175     {
   166     case FmOperationService::EOperationTypeCopy:
   176     case FmOperationService::EOperationTypeCopy:
   167         {
   177         {
   168         mErrString.clear();
   178         mErrString.clear();
   169         FmOperationCopy *operationCopy = static_cast<FmOperationCopy*>(mOperationBase);
   179         FmOperationCopy *operationCopy = static_cast<FmOperationCopy*>(mOperationBase);
       
   180         QString refreshDestPath = QFileInfo( operationCopy->targetPath() ).dir().absolutePath();
   170         
   181         
   171         int ret = operationCopy->start( &mStop, &mErrString );
   182         int ret = operationCopy->start( &mStop, &mErrString );
   172         switch( ret )
   183         switch( ret )
   173         {
   184         {
   174         case FmErrCancel:
   185         case FmErrCancel:
   175             emit notifyCanceled();
   186             emit notifyCanceled();
   176             break;
   187             break;
   177         case FmErrNone:
   188         case FmErrNone:
   178             emit notifyFinish();
   189             emit notifyFinish();
       
   190             emit refreshModel( refreshDestPath );
   179             break;
   191             break;
   180         default:
   192         default:
   181             emit notifyError( ret, mErrString );
   193             emit notifyError( ret, mErrString );
   182             break;
   194             break;
   183         }
   195         }