2743 Origin summary import dialog adjustments

This commit is contained in:
Bjørn Erik Jensen
2018-04-16 14:11:31 +02:00
parent c9a1eeef03
commit 0fcc0bea4c
5 changed files with 139 additions and 34 deletions

View File

@@ -94,3 +94,28 @@ QString RiaFilePathTools::canonicalPath(const QString& path)
{
return QDir(path).absolutePath();
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
QString RiaFilePathTools::commonRootPath(const QStringList& paths)
{
QString root = paths.front();
for (const auto& item : paths)
{
if (root.length() > item.length()) root.truncate(item.length());
int iDir = 0;
for (int i = 0; i < root.length(); ++i)
{
if (i > 0 && (root[i-1] == '/' || root[i-1] == '\\')) iDir = i;
if (root[i] != item[i])
{
root.truncate(std::min(i, iDir));
break;
}
}
}
return root;
}

View File

@@ -37,4 +37,5 @@ public:
static QString relativePath(const QString& rootDir, const QString& dir);
static bool equalPaths(const QString& path1, const QString& path2);
static QString canonicalPath(const QString& path);
static QString commonRootPath(const QStringList& paths);
};