mirror of
https://gitlab.com/OpenMW/openmw.git
synced 2025-01-25 06:35:30 +00:00
Save original paths
If directory path is a symlink it should be showed and written to config files as is. Between launcher runs the resulting canonical path may be different so the resolved path becomes outdated.
This commit is contained in:
parent
ff7fcd752a
commit
9280957581
@ -231,14 +231,13 @@ void Launcher::DataFilesPage::populateFileViews(const QString& contentModelName)
|
||||
if (!globalDataDir.empty())
|
||||
directories.insert(0, Files::pathToQString(globalDataDir));
|
||||
|
||||
// normalize user supplied directories: resolve symlink, convert to native separator, make absolute
|
||||
for (auto& currentDir : directories)
|
||||
currentDir = QDir(QDir::cleanPath(currentDir)).canonicalPath();
|
||||
|
||||
std::unordered_set<QString> visitedDirectories;
|
||||
for (const QString& currentDir : directories)
|
||||
{
|
||||
if (!visitedDirectories.insert(currentDir).second)
|
||||
// normalize user supplied directories: resolve symlink, convert to native separator, make absolute
|
||||
const QString canonicalDirPath = QDir(QDir::cleanPath(currentDir)).canonicalPath();
|
||||
|
||||
if (!visitedDirectories.insert(canonicalDirPath).second)
|
||||
continue;
|
||||
|
||||
// add new achives files presents in current directory
|
||||
@ -247,7 +246,7 @@ void Launcher::DataFilesPage::populateFileViews(const QString& contentModelName)
|
||||
QString tooltip;
|
||||
|
||||
// add content files presents in current directory
|
||||
mSelector->addFiles(currentDir, mNewDataDirs.contains(currentDir));
|
||||
mSelector->addFiles(currentDir, mNewDataDirs.contains(canonicalDirPath));
|
||||
|
||||
// add current directory to list
|
||||
ui.directoryListWidget->addItem(currentDir);
|
||||
@ -255,7 +254,7 @@ void Launcher::DataFilesPage::populateFileViews(const QString& contentModelName)
|
||||
auto* item = ui.directoryListWidget->item(row);
|
||||
|
||||
// Display new content with green background
|
||||
if (mNewDataDirs.contains(currentDir))
|
||||
if (mNewDataDirs.contains(canonicalDirPath))
|
||||
{
|
||||
tooltip += "Will be added to the current profile\n";
|
||||
item->setBackground(Qt::green);
|
||||
|
Loading…
x
Reference in New Issue
Block a user