From a2c630af240e3aaa49af5228702c851c33c9a926 Mon Sep 17 00:00:00 2001
From: isanae <14251494+isanae@users.noreply.github.com>
Date: Fri, 10 Jul 2020 14:50:46 -0400
Subject: added names to the about dialog
---
src/aboutdialog.ui | 17 ++++++++++++++++-
1 file changed, 16 insertions(+), 1 deletion(-)
diff --git a/src/aboutdialog.ui b/src/aboutdialog.ui
index ec2b754d..0296d9b7 100644
--- a/src/aboutdialog.ui
+++ b/src/aboutdialog.ui
@@ -217,7 +217,7 @@
- isanae
+ isa
@@ -256,6 +256,11 @@
przester
+
+
+ Holt59
+
+
@@ -429,6 +434,11 @@
DoubleYou
+
+
+ Drew Warwick
+
+ deathneko11
@@ -474,6 +484,11 @@
outdatedtv
+
+
+ PurpleFez
+
+ reedts
--
cgit v1.3.1
From b0fb2037428e6186cea26805d469943b5ef73ba9 Mon Sep 17 00:00:00 2001
From: isanae <14251494+isanae@users.noreply.github.com>
Date: Fri, 10 Jul 2020 14:50:56 -0400
Subject: typo
---
src/env.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/env.cpp b/src/env.cpp
index 4c0aeb86..2862aa95 100644
--- a/src/env.cpp
+++ b/src/env.cpp
@@ -1083,7 +1083,7 @@ bool coredump(CoreDumpTypes type)
bool coredumpOther(CoreDumpTypes type)
{
- std::wclog << L"creating minidump for an running process\n";
+ std::wclog << L"creating minidump for a running process\n";
const auto pid = findOtherPid();
if (pid == 0) {
--
cgit v1.3.1
From 97dd16a87a3b398028c1408d24209ade329c78d2 Mon Sep 17 00:00:00 2001
From: isanae <14251494+isanae@users.noreply.github.com>
Date: Fri, 10 Jul 2020 14:54:02 -0400
Subject: don't log old nexus username and password they're not supposed to be
in the INI anymore, but the migration code looks broken and some users still
have them
---
src/settings.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/settings.cpp b/src/settings.cpp
index 55283486..b1385c05 100644
--- a/src/settings.cpp
+++ b/src/settings.cpp
@@ -463,7 +463,7 @@ QSettings::Status Settings::sync() const
void Settings::dump() const
{
static const QStringList ignore({
- "username", "password", "nexus_api_key"
+ "username", "password", "nexus_api_key", "nexus_username", "nexus_password"
});
log::debug("settings:");
--
cgit v1.3.1
From e0db7177b49ad73ab5296bc90a359d63a5503cbe Mon Sep 17 00:00:00 2001
From: isanae <14251494+isanae@users.noreply.github.com>
Date: Fri, 10 Jul 2020 15:04:54 -0400
Subject: added hidden validation_timeouts setting
---
src/nxmaccessmanager.cpp | 6 ++++--
src/settings.cpp | 34 ++++++++++++++++++++++++++++++++++
src/settings.h | 2 ++
3 files changed, 40 insertions(+), 2 deletions(-)
diff --git a/src/nxmaccessmanager.cpp b/src/nxmaccessmanager.cpp
index 0064f888..2fe676ba 100644
--- a/src/nxmaccessmanager.cpp
+++ b/src/nxmaccessmanager.cpp
@@ -611,17 +611,19 @@ void NexusKeyValidator::start(const QString& key, Behaviour b)
m_key = key;
+ const auto timeouts = Settings::instance().nexus().validationTimeouts();
+
switch (b)
{
case OneShot:
{
- createAttempts({10s});
+ createAttempts({timeouts[0]});
break;
}
case Retry:
{
- createAttempts({10s, 15s, 20s});
+ createAttempts(timeouts);
break;
}
}
diff --git a/src/settings.cpp b/src/settings.cpp
index b1385c05..534e67c8 100644
--- a/src/settings.cpp
+++ b/src/settings.cpp
@@ -1868,6 +1868,40 @@ void NexusSettings::registerAsNXMHandler(bool force)
}
}
+std::vector NexusSettings::validationTimeouts() const
+{
+ using namespace std::chrono_literals;
+
+ const auto s = get(
+ m_Settings, "Settings", "validation_timeouts", "");
+
+ const auto numbers = s.split(" ");
+ std::vector v;
+
+ for (auto ns : numbers)
+ {
+ ns = ns.trimmed();
+ if (ns.isEmpty())
+ continue;
+
+ bool ok = false;
+ const auto n = ns.toInt(&ok);
+
+ if (!ok || n < 0 || n > 100)
+ {
+ log::error("bad validation_timeouts number '{}'", ns);
+ continue;
+ }
+
+ v.push_back(std::chrono::seconds(n));
+ }
+
+ if (v.empty())
+ v = {10s, 15s, 20s};
+
+ return v;
+}
+
SteamSettings::SteamSettings(Settings& parent, QSettings& settings)
: m_Parent(parent), m_Settings(settings)
diff --git a/src/settings.h b/src/settings.h
index 9d788664..636719bb 100644
--- a/src/settings.h
+++ b/src/settings.h
@@ -521,6 +521,8 @@ public:
//
void registerAsNXMHandler(bool force);
+ std::vector validationTimeouts() const;
+
private:
Settings& m_Parent;
QSettings& m_Settings;
--
cgit v1.3.1
From cf01fa955c72e0c159557e972d1f5a7005fc2121 Mon Sep 17 00:00:00 2001
From: isanae <14251494+isanae@users.noreply.github.com>
Date: Fri, 10 Jul 2020 15:20:01 -0400
Subject: resize data tab columns when migrating from < 2.3 so the new columns
are visible
---
src/mainwindow.cpp | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp
index b2907db9..dfe0fbde 100644
--- a/src/mainwindow.cpp
+++ b/src/mainwindow.cpp
@@ -2146,7 +2146,7 @@ void MainWindow::activateProxy(bool activate)
busyDialog.setWindowFlags(busyDialog.windowFlags() & ~Qt::WindowContextHelpButtonHint);
busyDialog.setWindowModality(Qt::WindowModal);
busyDialog.show();
-
+
QFutureWatcher futureWatcher;
QEventLoop loop;
connect(&futureWatcher, &QFutureWatcher::finished,
@@ -2156,7 +2156,7 @@ void MainWindow::activateProxy(bool activate)
futureWatcher.setFuture(
QtConcurrent::run(MainWindow::setupNetworkProxy, activate)
);
-
+
// wait for setupNetworkProxy while keeping ui responsive
loop.exec();
@@ -2226,6 +2226,11 @@ void MainWindow::processUpdates() {
ui->downloadView->header()->hideSection(i);
}
}
+
+ if (lastVersion < QVersionNumber(2, 3)) {
+ for (int i=1; idataTree->header()->count(); ++i)
+ ui->dataTree->setColumnWidth(i, 150);
+ }
}
if (currentVersion < lastVersion) {
@@ -5794,7 +5799,7 @@ void MainWindow::nxmRequestFailed(QString gameName, int modID, int, QVariant, in
{
if (error == QNetworkReply::ContentAccessDenied || error == QNetworkReply::ContentNotFoundError) {
log::debug("{}", tr("Mod ID %1 no longer seems to be available on Nexus.").arg(modID));
-
+
// update last checked timestamp on orphaned mods as well to avoid repeating requests
QString gameNameReal;
for (IPluginGame* game : m_PluginContainer.plugins()) {
--
cgit v1.3.1
From 55451956c45a1df75e6ba52367bcf3551c66d886 Mon Sep 17 00:00:00 2001
From: isanae <14251494+isanae@users.noreply.github.com>
Date: Fri, 10 Jul 2020 15:31:08 -0400
Subject: added VT_UI1 for productState
---
src/envsecurity.cpp | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/envsecurity.cpp b/src/envsecurity.cpp
index 8b1d25b2..fd65b483 100644
--- a/src/envsecurity.cpp
+++ b/src/envsecurity.cpp
@@ -298,6 +298,8 @@ std::optional handleProduct(IWbemClassObject* o)
state = prop.lVal;
} else if (prop.vt == VT_UI4) {
state = prop.ulVal;
+ } else if (prop.vt == VT_UI1) {
+ state = prop.bVal;
} else if (prop.vt == VT_NULL) {
log::warn("productState is null");
} else {
--
cgit v1.3.1
From 285d0bfc7975fff756dd037dbaf4b10cb3ba2209 Mon Sep 17 00:00:00 2001
From: isanae <14251494+isanae@users.noreply.github.com>
Date: Fri, 10 Jul 2020 15:33:00 -0400
Subject: loot exit code in hex
---
src/loot.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/loot.cpp b/src/loot.cpp
index 485afa7a..d41fd77b 100644
--- a/src/loot.cpp
+++ b/src/loot.cpp
@@ -629,7 +629,7 @@ bool Loot::waitForCompletion()
}
if (exitCode != 0UL) {
- emit log(log::Levels::Error, tr("Loot failed. Exit code was: %1").arg(exitCode));
+ emit log(log::Levels::Error, tr("Loot failed. Exit code was: 0x%1").arg(exitCode, 0, 16));
return false;
}
--
cgit v1.3.1
From 287e285afae3d2318d06116a5320efa3dace7a42 Mon Sep 17 00:00:00 2001
From: isanae <14251494+isanae@users.noreply.github.com>
Date: Fri, 10 Jul 2020 15:47:44 -0400
Subject: added a bunch more osd checks added warnings for paths in documents
and downloads
---
src/sanitychecks.cpp | 31 ++++++++++++++++++++-----------
1 file changed, 20 insertions(+), 11 deletions(-)
diff --git a/src/sanitychecks.cpp b/src/sanitychecks.cpp
index 3794aa57..7afce7bd 100644
--- a/src/sanitychecks.cpp
+++ b/src/sanitychecks.cpp
@@ -225,15 +225,22 @@ int checkBadOSDs(const env::Module& m)
// is loaded into this process
const char* nahimic =
- "Nahimic (also known as SonicSuite, SonicRadar, SteelSeries, etc.)";
+ "Nahimic (also known as SonicSuite, SonicRadar, SteelSeries, A-Volute, etc.)";
static const std::map names = {
- {"NahimicOSD.dll", nahimic},
- {"nahimicmsiosd.dll", nahimic},
- {"RTSSHooks64.dll", "RivaTuner Statistics Server"},
- {"SSAudioOSD.dll", "SteelSeries Audio"},
- {"SS3DevProps.dll", "Sonic Suite 3"},
- {"specialk64.dll", "SpecialK"}
+ {"NahimicOSD.dll", nahimic},
+ {"nahimicmsiosd.dll", nahimic},
+ {"cassinimlkosd.dll", nahimic},
+ {"SS3DevProps.dll", nahimic},
+ {"ss2devprops.dll", nahimic},
+ {"ss2osd.dll", nahimic},
+ {"RTSSHooks64.dll", "RivaTuner Statistics Server"},
+ {"SSAudioOSD.dll", "SteelSeries Audio"},
+ {"specialk64.dll", "SpecialK"},
+ {"corsairosdhook.x64.dll", "Corsair Utility Engine"},
+ {"gtii-osd64-vk.dll", "ASUS GPU Tweak 2"},
+ {"easyhook64.dll", "Razer Cortex"},
+ {"k_fps64.dll", "Razer Cortex"}
};
const QFileInfo file(m.path());
@@ -242,7 +249,7 @@ int checkBadOSDs(const env::Module& m)
for (auto&& p : names) {
if (file.fileName().compare(p.first, Qt::CaseInsensitive) == 0) {
log::warn("{}", QObject::tr(
- "%1 is loaded. This program is known to cause issues with "
+ "%1 is loaded.\nThis program is known to cause issues with "
"Mod Organizer, such as freezing or blank windows. Consider "
"uninstalling it.")
.arg(p.second));
@@ -311,10 +318,12 @@ std::vector> getSystemDirectories()
{
// folder ids and display names for logging
const std::vector> systemFolderIDs = {
- {FOLDERID_ProgramFiles, "in program files"},
- {FOLDERID_ProgramFilesX86, "in program files"},
+ {FOLDERID_ProgramFiles, "in Program Files"},
+ {FOLDERID_ProgramFilesX86, "in Program Files"},
{FOLDERID_Desktop, "on the desktop"},
- {FOLDERID_OneDrive, "in OneDrive"}
+ {FOLDERID_OneDrive, "in OneDrive"},
+ {FOLDERID_Documents, "in Documents"},
+ {FOLDERID_Downloads, "in Downloads"}
};
std::vector> systemDirs;
--
cgit v1.3.1
From 315776799fe38b09b4c0684bd4c1236bdf2e329e Mon Sep 17 00:00:00 2001
From: isanae <14251494+isanae@users.noreply.github.com>
Date: Fri, 10 Jul 2020 15:51:06 -0400
Subject: don't translate new names
---
src/aboutdialog.ui | 6 +-
src/organizer_en.ts | 473 ++++++++++++++++++++++++++--------------------------
2 files changed, 240 insertions(+), 239 deletions(-)
diff --git a/src/aboutdialog.ui b/src/aboutdialog.ui
index 0296d9b7..e34d36f9 100644
--- a/src/aboutdialog.ui
+++ b/src/aboutdialog.ui
@@ -258,7 +258,7 @@
- Holt59
+ Holt59
@@ -436,7 +436,7 @@
- Drew Warwick
+ Drew Warwick
@@ -486,7 +486,7 @@
- PurpleFez
+ PurpleFez
diff --git a/src/organizer_en.ts b/src/organizer_en.ts
index c5726013..bb52e8fa 100644
--- a/src/organizer_en.ts
+++ b/src/organizer_en.ts
@@ -50,82 +50,82 @@
-
+ Translators
-
+ Cyb3r (Dutch)
-
+ fruttyx (French)
-
+ Yoplala (French)
-
+ Faron (German)
-
+ yohru (Japanese)
-
+ Mordan (Greek)
-
+ Yoosk (Polish)
-
+ Brgodfx (Portuguese)
-
+ zDas (Portuguese)
-
+ Jax (Swedish)
-
+ Nubbie (Swedish)
-
+ ...and all other contributors!
-
+ Other Supporters && Contributors
-
+ Tannin (Original Creator)
-
+ Close
@@ -1954,7 +1954,7 @@ This is likely due to a corrupted or incompatible download or unrecognized archi
- Loot failed. Exit code was: %1
+ Loot failed. Exit code was: 0x%1
@@ -2199,7 +2199,7 @@ p, li { white-space: pre-wrap; }
-
+ Create Backup
@@ -2353,7 +2353,7 @@ p, li { white-space: pre-wrap; }
-
+ Refresh
@@ -2677,7 +2677,7 @@ p, li { white-space: pre-wrap; }
-
+ Endorse Mod Organizer
@@ -2798,8 +2798,8 @@ Error: %1
-
-
+
+ Endorse
@@ -2914,675 +2914,675 @@ Error: %1
-
+ Notice: Your current MO version (%1) is lower than the previously used one (%2). The GUI may not downgrade gracefully, so you may experience oddities. However, there should be no serious issues.
-
+ Choose Mod
-
+ Mod Archive
-
+ Start Tutorial?
-
+ You're about to start a tutorial. For technical reasons it's not possible to end the tutorial early. Continue?
-
+ failed to change origin name: %1
-
+ failed to move "%1" from mod "%2" to "%3": %4
-
+ failed to rename mod: %1
-
+ Overwrite?
-
+ This will replace the existing mod "%1". Continue?
-
+ failed to remove mod "%1"
-
+ failed to rename "%1" to "%2"
-
-
-
-
-
+
+
+
+
+ Confirm
-
+ Remove the following mods?<br><ul>%1</ul>
-
+ failed to remove mod: %1
-
-
-
+
+
+ Failed
-
+ Installation file no longer exists
-
+ Mods installed with old versions of MO can't be reinstalled in this way.
-
+ Failed to create backup.
-
+ Endorsing multiple mods will take a while. Please wait...
-
+ Unendorsing multiple mods will take a while. Please wait...
-
+ Failed to display overwrite dialog: %1
-
+ Restore all hidden files in the following mods?<br><ul>%1</ul>
-
-
-
+
+
+ Are you sure?
-
+ About to restore all hidden files in:
-
+ Opening Nexus Links
-
+ You are trying to open %1 links to Nexus Mods. Are you sure you want to do this?
-
+ Nexus ID for this mod is unknown
-
-
+
+ Opening Web Pages
-
-
+
+ You are trying to open %1 Web Pages. Are you sure you want to do this?
-
+ No valid Web Page for this mod
-
+ <table cellspacing="5"><tr><th>Type</th><th>All</th><th>Visible</th><tr><td>Enabled mods: </td><td align=right>%1 / %2</td><td align=right>%3 / %4</td></tr><tr><td>Unmanaged/DLCs: </td><td align=right>%5</td><td align=right>%6</td></tr><tr><td>Mod backups: </td><td align=right>%7</td><td align=right>%8</td></tr><tr><td>Separators: </td><td align=right>%9</td><td align=right>%10</td></tr></table>
-
+ <table cellspacing="6"><tr><th>Type</th><th>Active </th><th>Total</th></tr><tr><td>All plugins:</td><td align=right>%1 </td><td align=right>%2</td></tr><tr><td>ESMs:</td><td align=right>%3 </td><td align=right>%4</td></tr><tr><td>ESPs:</td><td align=right>%7 </td><td align=right>%8</td></tr><tr><td>ESMs+ESPs:</td><td align=right>%9 </td><td align=right>%10</td></tr><tr><td>ESLs:</td><td align=right>%5 </td><td align=right>%6</td></tr></table>
-
-
-
+
+
+ Create Mod...
-
+ This will create an empty mod.
Please enter a name:
-
-
+
+ A mod with this name already exists
-
+ Create Separator...
-
+ This will create a new separator.
Please enter a name:
-
+ A separator with this name already exists
-
+ This will move all files from overwrite into a new, regular mod.
Please enter a name:
-
+ Move successful.
-
+ About to recursively delete:
-
+ Continue?
-
+ The versioning scheme decides which version is considered newer than another.
This function will guess the versioning scheme under the assumption that the installed version is outdated.
-
+ Sorry
-
+ I don't know a versioning scheme where %1 is newer than %2.
-
+ Really enable all visible mods?
-
+ Really disable all visible mods?
-
+ Export to csv
-
+ CSV (Comma Separated Values) is a format that can be imported in programs like Excel to create a spreadsheet.
You can also use online editors and converters instead.
-
+ Select what mods you want export:
-
+ All installed mods
-
+ Only active (checked) mods from your current profile
-
+ All currently visible mods in the mod list
-
+ Choose what Columns to export:
-
+ Mod_Priority
-
+ Mod_Name
-
+ Notes_column
-
+ Mod_Status
-
+ Primary_Category
-
+ Nexus_ID
-
+ Mod_Nexus_URL
-
+ Mod_Version
-
+ Install_Date
-
+ Download_File_Name
-
+ export failed: %1
-
+ Open Game folder
-
+ Open MyGames folder
-
+ Open INIs folder
-
+ Open Instance folder
-
+ Open Mods folder
-
+ Open Profile folder
-
+ Open Downloads folder
-
+ Open MO2 Install folder
-
+ Open MO2 Plugins folder
-
+ Open MO2 Stylesheets folder
-
+ Open MO2 Logs folder
-
+ Install Mod...
-
+ Create empty mod
-
+ Create Separator
-
+ Enable all visible
-
+ Disable all visible
-
+ Check for updates
-
+ Export to csv...
-
-
+
+ Send to
-
-
+
+ Top
-
-
+
+ Bottom
-
-
+
+ Priority...
-
+ Separator...
-
+ All Mods
-
+ Sync to Mods...
-
+ Move content to Mod...
-
+ Clear Overwrite...
-
-
-
+
+
+ Open in Explorer
-
+ Restore Backup
-
+ Remove Backup...
-
-
+
+ Ignore missing data
-
-
+
+ Mark as converted/working
-
-
+
+ Visit on Nexus
-
-
+
+ Visit on %1
-
-
+
+ Change Categories
-
-
+
+ Primary Category
-
+ Rename Separator...
-
+ Remove Separator...
-
-
+
+ Select Color...
-
-
+
+ Reset Color
-
+ Change versioning scheme
-
+ Force-check updates
-
+ Un-ignore update
-
+ Ignore update
-
-
+
+ Enable selected
-
-
+
+ Disable selected
-
+ Rename Mod...
-
+ Reinstall Mod
-
+ Remove Mod...
-
+ Restore hidden files
-
+ Un-Endorse
-
+ Won't endorse
-
+ Endorsement state unknown
-
+ Start tracking
-
+ Stop tracking
-
+ Tracked state unknown
-
+ Information...
-
-
+
+ Exception:
-
-
+
+ Unknown exception
-
+ %1 more
-
+ Are you sure you want to remove the following %n save(s)?<br><ul>%1</ul><br>Removed saves will be sent to the Recycle Bin.
@@ -3590,12 +3590,12 @@ You can also use online editors and converters instead.
-
+ Enable Mods...
-
+ Delete %n save(s)
@@ -3603,232 +3603,232 @@ You can also use online editors and converters instead.
-
+ Restart Mod Organizer
-
+ Mod Organizer must restart to finish configuration changes
-
+ Restart
-
+ Continue
-
+ Some things might be weird.
-
+ Can't change download directory while downloads are in progress!
-
-
+
+ Set Priority
-
+ Set the priority of the selected plugins
-
+ Update available
-
+ Do you want to endorse Mod Organizer on %1 now?
-
+ Abstain from Endorsing Mod Organizer
-
+ Are you sure you want to abstain from endorsing Mod Organizer 2?
You will have to visit the mod page on the %1 Nexus site to change your mind.
-
+ Thank you for endorsing MO2! :)
-
+ Please reconsider endorsing MO2 on Nexus!
-
+ Thank you!
-
+ Thank you for your endorsement!
-
+ Mod ID %1 no longer seems to be available on Nexus.
-
+ Request to Nexus failed: %1
-
-
+
+ failed to read %1: %2
-
+ Error
-
+ failed to extract %1 (errorcode %2)
-
+ Extract BSA
-
+ This archive contains invalid hashes. Some files may be broken.
-
+ Extract...
-
+ This will restart MO, continue?
-
+ <Multiple>
-
+ Remove '%1' from the toolbar
-
+ Enable all
-
+ Disable all
-
+ Unlock load order
-
+ Lock load order
-
+ Open Origin in Explorer
-
+ Open Origin Info...
-
+ Backup of load order created
-
+ Choose backup to restore
-
+ No Backups
-
+ There are no backups to restore
-
-
+
+ Restore failed
-
-
+
+ Failed to restore the backup. Errorcode: %1
-
+ Backup of mod list created
-
+ A file with the same name has already been downloaded. What would you like to do?
-
+ Overwrite
-
+ Rename new file
-
+ Ignore file
-
+ Set the priority of the selected mods
@@ -6289,7 +6289,7 @@ If the folder was still in use, restart MO and try again.
-
+ <Manage...>
@@ -6382,7 +6382,7 @@ If the folder was still in use, restart MO and try again.
-
+ Cancelled
@@ -6475,12 +6475,13 @@ If the folder was still in use, restart MO and try again.
-
- %1 is loaded. This program is known to cause issues with Mod Organizer, such as freezing or blank windows. Consider uninstalling it.
+
+ %1 is loaded.
+This program is known to cause issues with Mod Organizer, such as freezing or blank windows. Consider uninstalling it.
-
+ %1 is loaded. This program is known to cause issues with Mod Organizer and its virtual filesystem, such script extenders refusing to run. Consider uninstalling it.
--
cgit v1.3.1