Ver código fonte

Merge branches 'ctkutil-rmdir' and 'reuse-ctkutil-rmdir-in-toolkit'

* ctkutil-rmdir:
  Rename "ctkUtils::rmdir" method into "ctkUtils::removeDirRecursively"

* reuse-ctkutil-rmdir-in-toolkit:
  Update ctkPlugin* to use ctk::removeDirRecursively
  Rename "ctkUtils::rmdir" method into "ctkUtils::removeDirRecursively"
Jean-Christophe Fillion-Robin 13 anos atrás
pai
commit
2e0aa84d31

+ 3 - 28
Applications/ctkPluginGenerator/ctkPluginGenerator.cpp

@@ -29,6 +29,7 @@
 #include <ctkPluginGeneratorCodeModel.h>
 #include <ctkPluginGeneratorConstants.h>
 #include <ctkPluginGeneratorOptionsDialog_p.h>
+#include <ctkUtils.h>
 
 #include <QDebug>
 #include <QListWidgetItem>
@@ -66,32 +67,6 @@ public:
 
     return tmp.canonicalPath();
   }
-
-  static bool removeDir(const QString& dirName)
-  {
-    bool result = true;
-    QDir dir(dirName);
-
-    if (dir.exists(dirName))
-    {
-      foreach (QFileInfo info, dir.entryInfoList(QDir::NoDotAndDotDot | QDir::System | QDir::Hidden  | QDir::AllDirs | QDir::Files, QDir::DirsFirst))
-      {
-        if (info.isDir()) {
-          result = removeDir(info.absoluteFilePath());
-        }
-        else {
-          result = QFile::remove(info.absoluteFilePath());
-        }
-
-        if (!result) {
-          return result;
-        }
-      }
-      result = dir.rmdir(dirName);
-    }
-
-    return result;
-  }
 };
 
 ctkPluginGenerator::ctkPluginGenerator(ctkPluginFramework* framework, QWidget *parent) :
@@ -164,7 +139,7 @@ ctkPluginGenerator::~ctkPluginGenerator()
   delete ui;
   if (!previewDir.isEmpty())
   {
-    ctkTemporaryDir::removeDir(previewDir);
+    ctk::removeDirRecursively(previewDir);
   }
 }
 
@@ -219,7 +194,7 @@ void ctkPluginGenerator::previewClicked()
     ui->previewButton->setText(tr("Preview >>"));
     mode = EDIT;
 
-    ctkTemporaryDir::removeDir(previewDir);
+    ctk::removeDirRecursively(previewDir);
     previewDir.clear();
   }
 }

+ 7 - 7
Libs/Core/Testing/Cpp/ctkUtilsTest4.cpp

@@ -65,7 +65,7 @@ int ctkUtilsTest4(int argc, char * argv [] )
   Q_UNUSED(argv);
 
   // --------------------------------------------------------------------------
-  // Test rmdir(const QString & dirName);
+  // Test removeDirRecursively(const QString & dirName);
   // --------------------------------------------------------------------------
   
   QDir tmp = QDir::temp();
@@ -74,9 +74,9 @@ int ctkUtilsTest4(int argc, char * argv [] )
 
   // Attempt to delete nonexistent relative directory
   QString nonexistentRelativeDirPath = temporaryDirName;
-  if (ctk::rmdir(nonexistentRelativeDirPath))
+  if (ctk::removeDirRecursively(nonexistentRelativeDirPath))
     {
-    std::cerr << "Line " << __LINE__ << " - Problem with ctk::rmdir() !"
+    std::cerr << "Line " << __LINE__ << " - Problem with ctk::removeDirRecursively() !"
               << " - It should fail to delete nonexistent directory: " <<
               qPrintable(nonexistentRelativeDirPath)<< std::endl;
     return EXIT_FAILURE;
@@ -84,9 +84,9 @@ int ctkUtilsTest4(int argc, char * argv [] )
 
   // Attempt to delete nonexistent absolute directory
   QString nonexistentAbsoluteDirPath = QFileInfo(tmp, temporaryDirName).dir().absolutePath();
-  if (ctk::rmdir(nonexistentAbsoluteDirPath))
+  if (ctk::removeDirRecursively(nonexistentAbsoluteDirPath))
     {
-    std::cerr << "Line " << __LINE__ << " - Problem with ctk::rmdir() !"
+    std::cerr << "Line " << __LINE__ << " - Problem with ctk::removeDirRecursively() !"
               << " - It should fail to delete nonexistent directory: " <<
               qPrintable(nonexistentAbsoluteDirPath)<< std::endl;
     return EXIT_FAILURE;
@@ -108,9 +108,9 @@ int ctkUtilsTest4(int argc, char * argv [] )
     return EXIT_FAILURE;
     }
 
-  if (!ctk::rmdir(tmp.absolutePath()))
+  if (!ctk::removeDirRecursively(tmp.absolutePath()))
     {
-    std::cerr << "Line " << __LINE__ << " - Problem with ctk::rmdir()"
+    std::cerr << "Line " << __LINE__ << " - Problem with ctk::removeDirRecursively()"
               << " - Failed to delete directory:" << qPrintable(tmp.absolutePath()) << std::endl;
     return EXIT_FAILURE;
     }

+ 2 - 2
Libs/Core/ctkUtils.cpp

@@ -277,7 +277,7 @@ double ctk::closestPowerOfTen(double value)
 }
 
 //-----------------------------------------------------------------------------
-bool ctk::rmdir(const QString & dirName)
+bool ctk::removeDirRecursively(const QString & dirName)
 {
   bool result = false;
   QDir dir(dirName);
@@ -288,7 +288,7 @@ bool ctk::rmdir(const QString & dirName)
       {
       if (info.isDir())
         {
-        result = ctk::rmdir(info.absoluteFilePath());
+        result = ctk::removeDirRecursively(info.absoluteFilePath());
         }
       else
         {

+ 1 - 1
Libs/Core/ctkUtils.h

@@ -114,7 +114,7 @@ double CTK_CORE_EXPORT closestPowerOfTen(double value);
 /// \param dirName The directory to remove
 /// \return <code>true</code> on success, <code>false</code> otherwise.
 /// \sa QDir::rmdir
-bool CTK_CORE_EXPORT rmdir(const QString & dirName);
+bool CTK_CORE_EXPORT removeDirRecursively(const QString & dirName);
 
 }
 

+ 2 - 1
Libs/PluginFramework/ctkPlugin.cpp

@@ -27,6 +27,7 @@
 #include "ctkPluginArchive_p.h"
 #include "ctkPluginFrameworkContext_p.h"
 #include "ctkServices_p.h"
+#include "ctkUtils.h"
 
 #include <QStringList>
 
@@ -233,7 +234,7 @@ void ctkPlugin::uninstall()
 
     if (d->pluginDir.exists())
     {
-      if (!ctkPluginFrameworkUtil::removeDir(d->pluginDir.absolutePath()))
+      if (!ctk::removeDirRecursively(d->pluginDir.absolutePath()))
       {
         // Plugin dir is not deleted completely, make sure we mark
         // it as uninstalled for next framework restart

+ 2 - 1
Libs/PluginFramework/ctkPluginFrameworkContext.cpp

@@ -26,6 +26,7 @@
 #include "ctkPluginArchive_p.h"
 #include "ctkPluginConstants.h"
 #include "ctkServices_p.h"
+#include "ctkUtils.h"
 
 //----------------------------------------------------------------------------
 QMutex ctkPluginFrameworkContext::globalFwLock;
@@ -231,7 +232,7 @@ void ctkPluginFrameworkContext::deleteFWDir()
     if(fwDirInfo.isDir())
     {
       log() << "deleting old framework directory.";
-      bool bOK = ctkPluginFrameworkUtil::removeDir(fwDirInfo.absoluteFilePath());
+      bool bOK = ctk::removeDirRecursively(fwDirInfo.absoluteFilePath());
       if(!bOK)
       {
         qDebug() << "Failed to remove existing fwdir" << fwDirInfo.absoluteFilePath();

+ 2 - 27
Libs/PluginFramework/ctkPluginFrameworkUtil.cpp

@@ -372,38 +372,12 @@ QDir ctkPluginFrameworkUtil::getFileStorage(ctkPluginFrameworkContext* ctx,
 }
 
 //----------------------------------------------------------------------------
-bool ctkPluginFrameworkUtil::removeDir(const QString& dirName)
-{
-  bool result = true;
-  QDir dir(dirName);
-
-  if (dir.exists(dirName))
-  {
-    foreach (QFileInfo info, dir.entryInfoList(QDir::NoDotAndDotDot | QDir::System | QDir::Hidden  | QDir::AllDirs | QDir::Files, QDir::DirsFirst))
-    {
-      if (info.isDir()) {
-        result = removeDir(info.absoluteFilePath());
-      }
-      else {
-        result = QFile::remove(info.absoluteFilePath());
-      }
-
-      if (!result) {
-        return result;
-      }
-    }
-    result = dir.rmdir(dirName);
-  }
-
-  return result;
-}
-
-//----------------------------------------------------------------------------
 bool ctkPluginFrameworkUtil::filterMatch(const QString& filter, const QString& s)
 {
   return patSubstr(s, 0, filter, 0);
 }
 
+//----------------------------------------------------------------------------
 bool ctkPluginFrameworkUtil::patSubstr(const QString& s, int si, const QString& pat, int pi)
 {
   if (pat.length() - pi == 0)
@@ -435,3 +409,4 @@ bool ctkPluginFrameworkUtil::patSubstr(const QString& s, int si, const QString&
     return patSubstr(s, ++si, pat, ++pi);
   }
 }
+

+ 0 - 8
Libs/PluginFramework/ctkPluginFrameworkUtil_p.h

@@ -68,14 +68,6 @@ public:
   static QDir getFileStorage(ctkPluginFrameworkContext* ctx, const QString& name);
 
   /**
-   * Remove a non-empty directory.
-   *
-   * @param dirName The directory to remove
-   * @returns <code>true</code> on success, <code>false</code> otherwise.
-   */
-  static bool removeDir(const QString& dirName);
-
-  /**
    * Check wildcard filter matches the string
    */
   static bool filterMatch(const QString& filter, const QString& s);

+ 1 - 0
Libs/PluginFramework/target_libraries.cmake

@@ -6,4 +6,5 @@
 
 SET(target_libraries
   QT_LIBRARIES
+  CTKCore
   )