filemanager/src/filemanager/src/fmfindresultmodel.cpp
changeset 29 b3155376f2b4
parent 16 ada7962b4308
child 30 6e96d2143d46
equal deleted inserted replaced
24:1d0c87b42e2e 29:b3155376f2b4
   169 
   169 
   170     if( findPath().isEmpty() ){
   170     if( findPath().isEmpty() ){
   171         mFindThread->setLastResult( mFindResult );
   171         mFindThread->setLastResult( mFindResult );
   172     }
   172     }
   173 	removeRows( 0, mFindResult.size() );
   173 	removeRows( 0, mFindResult.size() );
   174     emit modelCountChanged( mFindResult.size() );
       
   175     mFindThread->start();
   174     mFindThread->start();
   176 }
   175 }
   177 
   176 
   178 void FmFindResultModel::stop()
   177 void FmFindResultModel::stop()
   179 {
   178 {
   186     return mFindThread->isRunning();
   185     return mFindThread->isRunning();
   187 }
   186 }
   188 
   187 
   189 void FmFindResultModel::on_findThread_found( int count )
   188 void FmFindResultModel::on_findThread_found( int count )
   190 {
   189 {
   191     int size = mFindResult.size();
   190     if( count > 0 ) {
   192     insertRows( mFindResult.size() - count, count );
   191         int size = mFindResult.size();
       
   192         insertRows( mFindResult.size() - count, count );
       
   193     }
   193     emit modelCountChanged( mFindResult.size() );
   194     emit modelCountChanged( mFindResult.size() );
   194 }
   195 }
   195 
   196 
   196 bool FmFindResultModel::indexValid( const QModelIndex &index ) const
   197 bool FmFindResultModel::indexValid( const QModelIndex &index ) const
   197 {
   198 {
   248 {  
   249 {  
   249     Q_UNUSED( order );
   250     Q_UNUSED( order );
   250            
   251            
   251 //    emit  layoutAboutToBeChanged();
   252 //    emit  layoutAboutToBeChanged();
   252     
   253     
       
   254     QStringList lst;
       
   255     for (int i = 0; i < mFindResult.size(); ++i)
       
   256         lst.append( mFindResult.at(i) );
       
   257   
       
   258     removeRows( 0, mFindResult.size() );
       
   259     
   253     switch( ( SortFlag )column )
   260     switch( ( SortFlag )column )
   254     {
   261     {
   255     case Name:
   262     case Name:
   256         qSort( mFindResult.begin(), mFindResult.end(), caseNameLessThan );
   263         qSort( lst.begin(), lst.end(), caseNameLessThan );
   257         break;
   264         break;
   258     case Time:
   265     case Time:
   259         qSort( mFindResult.begin(), mFindResult.end(), caseTimeLessThan );
   266         qSort( lst.begin(), lst.end(), caseTimeLessThan );
   260         break;
   267         break;
   261     case Size:
   268     case Size:
   262         qSort( mFindResult.begin(), mFindResult.end(), caseSizeLessThan );
   269         qSort( lst.begin(), lst.end(), caseSizeLessThan );
   263         break;
   270         break;
   264     case Type:
   271     case Type:
   265         qSort( mFindResult.begin(), mFindResult.end(), caseTypeLessThan );
   272         qSort( lst.begin(), lst.end(), caseTypeLessThan );
   266         break;
   273         break;
   267     }
   274     }    
   268 //    emit layoutChanged();
   275     
   269     emit refresh();
   276     for (int i = 0; i < lst.count(); ++i)
   270 }
   277         mFindResult.append( lst.at(i) );
       
   278     insertRows( 0, mFindResult.size() );
       
   279     emit modelCountChanged( mFindResult.size() );
       
   280 }