diff options
| author | Jeremy Rimpo <jeremy.rimpo@servermonkey.com> | 2018-03-12 17:36:01 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-03-12 17:36:01 -0500 |
| commit | e0f003a9a6966b9ee228a5140074ac7ee0f66ed8 (patch) | |
| tree | 89a7f16f71633efa5627140c2f017d616aec4902 /src/mainwindow.cpp | |
| parent | 9c596ceb791a77c00bbc970b12d5b40acb43706d (diff) | |
| parent | ccb5ad53e22e54f416c4cc3f33c2b57d0b1b672a (diff) | |
Merge pull request #273 from Al12rs/Develop
Fixed file preview bug, wrong nexus urls in csv export and reverted some ui changes from Creator
Diffstat (limited to 'src/mainwindow.cpp')
| -rw-r--r-- | src/mainwindow.cpp | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 83a12437..5be5cef3 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -3201,7 +3201,7 @@ void MainWindow::exportModListCSV() if (nexus_ID->isChecked())
builder.setRowField("#Nexus_ID", info->getNexusID());
if (mod_Nexus_URL->isChecked())
- builder.setRowField("#Mod_Nexus_URL", info->getURL());
+ builder.setRowField("#Mod_Nexus_URL",(info->getNexusID()>0)? NexusInterface::instance()->getModURL(info->getNexusID()) : "");
if (mod_Version->isChecked())
builder.setRowField("#Mod_Version", info->getVersion().canonicalString());
if (install_Date->isChecked())
@@ -3929,10 +3929,22 @@ void MainWindow::previewDataFile() // what we have is an absolute path to the file in its actual location (for the primary origin)
// what we want is the path relative to the virtual data directory
- // crude: we search for the next slash after the base mod directory to skip everything up to the data-relative directory
- int offset = m_OrganizerCore.settings().getModDirectory().size() + 1;
- offset = fileName.indexOf("/", offset);
- fileName = fileName.mid(offset + 1);
+ // we need to look in the virtual directory for the file to make sure the info is up to date.
+
+ // check if the file comes from the actual data folder instead of a mod
+ QDir gameDirectory = m_OrganizerCore.managedGame()->dataDirectory().absolutePath();
+ QString relativePath = gameDirectory.relativeFilePath(fileName);
+ if (!relativePath.startsWith("..")) {
+ fileName = relativePath;
+ }
+ else {
+ // crude: we search for the next slash after the base mod directory to skip everything up to the data-relative directory
+ int offset = m_OrganizerCore.settings().getModDirectory().size() + 1;
+ offset = fileName.indexOf("/", offset);
+ fileName = fileName.mid(offset + 1);
+ }
+
+
const FileEntry::Ptr file = m_OrganizerCore.directoryStructure()->searchFile(ToWString(fileName), nullptr);
|
