Browse Source

Added new method to get all files in database

Marco Nolden 13 years ago
parent
commit
750410a8bf
2 changed files with 20 additions and 1 deletions
  1. 19 1
      Libs/DICOM/Core/ctkDICOMDatabase.cpp
  2. 1 0
      Libs/DICOM/Core/ctkDICOMDatabase.h

+ 19 - 1
Libs/DICOM/Core/ctkDICOMDatabase.cpp

@@ -398,7 +398,7 @@ QString ctkDICOMDatabase::fileForInstance(QString sopInstanceUID)
   query.bindValue ( 0, sopInstanceUID );
   query.exec();
   QString result;
-  if (query.next()) 
+  if (query.next())
     {
     result = query.value(0).toString();
     }
@@ -406,6 +406,24 @@ QString ctkDICOMDatabase::fileForInstance(QString sopInstanceUID)
 }
 
 //------------------------------------------------------------------------------
+QStringList ctkDICOMDatabase::allFiles()
+{
+  Q_D(ctkDICOMDatabase);
+
+  /// get all filenames from the database
+  QSqlQuery allFilesQuery(d->Database);
+  QStringList allFileNames;
+  allFilesQuery.prepare("SELECT Filename from Images;");
+  allFilesQuery.exec();
+
+  while (allFilesQuery.next())
+  {
+    allFileNames << allFilesQuery.value(0).toString();
+  }
+  return allFileNames;
+}
+
+//------------------------------------------------------------------------------
 void ctkDICOMDatabase::loadInstanceHeader (QString sopInstanceUID)
 {
   Q_D(ctkDICOMDatabase);

+ 1 - 0
Libs/DICOM/Core/ctkDICOMDatabase.h

@@ -118,6 +118,7 @@ public:
   Q_INVOKABLE QStringList filesForSeries (const QString seriesUID);
   Q_INVOKABLE QString fileForInstance (const QString sopInstanceUID);
 
+  Q_INVOKABLE QStringList allFiles ();
   ///
   /// \brief load the header from a file and allow access to elements
   /// @param sopInstanceUID A string with the uid for a given instance