Kaynağa Gözat

Merge branch 'indexerWaitForFinished'

* indexerWaitForFinished:
  Give user of class option to wait on completion of indexing

See slicer bug 2618:
http://na-mic.org/Bug/view.php?id=2618
Steve Pieper 12 yıl önce
ebeveyn
işleme
868c4dbb55

+ 7 - 0
Libs/DICOM/Core/ctkDICOMIndexer.cpp

@@ -296,6 +296,13 @@ void ctkDICOMIndexer::refreshDatabase(ctkDICOMDatabase& dicomDatabase, const QSt
   }
 
 //----------------------------------------------------------------------------
+void ctkDICOMIndexer::waitForImportFinished()
+{
+  Q_D(ctkDICOMIndexer);
+  d->DirectoryImportWatcher.waitForFinished();
+}
+
+//----------------------------------------------------------------------------
 void ctkDICOMIndexer::cancel()
 {
   Q_D(ctkDICOMIndexer);

+ 6 - 0
Libs/DICOM/Core/ctkDICOMIndexer.h

@@ -82,6 +82,12 @@ public:
 
   Q_INVOKABLE void refreshDatabase(ctkDICOMDatabase& database, const QString& directoryName);
 
+  ///
+  /// \brief ensures that the QFuture threads have all finished indexing
+  /// before returning control.
+  ///
+  Q_INVOKABLE void waitForImportFinished();
+
 Q_SIGNALS:
   void foundFilesToIndex(int);
   void indexingFileNumber(int);