From ee7438827e6fde8862b880e054a1506a06313de5 Mon Sep 17 00:00:00 2001 From: Mikaƫl Capelle Date: Fri, 22 May 2020 15:50:50 +0200 Subject: Switch to ModDataChecker for testing mod validity. --- src/modinfowithconflictinfo.cpp | 30 ++++++------------------------ 1 file changed, 6 insertions(+), 24 deletions(-) (limited to 'src/modinfowithconflictinfo.cpp') diff --git a/src/modinfowithconflictinfo.cpp b/src/modinfowithconflictinfo.cpp index 00f4275c..0c67b4f7 100644 --- a/src/modinfowithconflictinfo.cpp +++ b/src/modinfowithconflictinfo.cpp @@ -1,11 +1,11 @@ #include "modinfowithconflictinfo.h" -#include "installationtester.h" #include "utility.h" #include "shared/directoryentry.h" #include "shared/filesorigin.h" #include "shared/fileentry.h" #include +#include "moddatachecker.h" #include "qdirfiletree.h" using namespace MOBase; @@ -298,30 +298,12 @@ bool ModInfoWithConflictInfo::hasHiddenFiles() const bool ModInfoWithConflictInfo::doTestValid() const { + auto mdc = m_GamePlugin->feature(); - bool valid = false; - QDirIterator dirIter(absolutePath()); - while (dirIter.hasNext()) { - dirIter.next(); - if (dirIter.fileInfo().isDir()) { - if (InstallationTester::isTopLevelDirectory(dirIter.fileName())) { - valid = true; - break; - } - } - else { - if (InstallationTester::isTopLevelSuffix(dirIter.fileName())) { - valid = true; - break; - } - } - } - - // NOTE: in Qt 4.7 it seems that QDirIterator leaves a file handle open if it is not iterated to the - // end - while (dirIter.hasNext()) { - dirIter.next(); + if (mdc) { + auto qdirfiletree = QDirFileTree::makeTree(absolutePath()); + return mdc->dataLooksValid(qdirfiletree); } - return valid; + return true; } -- cgit v1.3.1