浏览代码

Update ctkPlugin* to use ctk::removeDirRecursively

* Note that ctkPluginFramework now depend on CTKCore
Jean-Christophe Fillion-Robin 13 年之前
父节点
当前提交
077b29596c

+ 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();
   }
 }

+ 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
   )