From 9c1cbed8db5c2754ee1da83c30864d954b6c7f5c Mon Sep 17 00:00:00 2001 From: Al Date: Tue, 1 Jan 2019 19:33:44 +0100 Subject: Updated About dialog. --- src/aboutdialog.ui | 33 ++++++++++++++++++++++++--------- 1 file changed, 24 insertions(+), 9 deletions(-) (limited to 'src') diff --git a/src/aboutdialog.ui b/src/aboutdialog.ui index 3a6daa82..910de652 100644 --- a/src/aboutdialog.ui +++ b/src/aboutdialog.ui @@ -83,7 +83,7 @@ - 0 + 2 @@ -157,7 +157,7 @@ - Current Maintainers + Lead Developers/ Maintainers @@ -175,11 +175,6 @@ AL12 - - - Diana - - erasmux @@ -190,7 +185,7 @@ Silarn - + LostDragonist @@ -203,7 +198,7 @@ - Major Contributors + Mo2 devs and Contributors @@ -216,6 +211,16 @@ AnyOldName3 + + + Project579 + + + + + przester + + @@ -310,6 +315,11 @@ Brgodfx (Portuguese) + + + zDas (Portuguese) + + tokcdk (Russian) @@ -330,6 +340,11 @@ Jax (Swedish) + + + yohru (Japanese) + + ...and all other Transifex contributors! -- cgit v1.3.1 From 619a0887d8ce109f384690317adbd253e3ad6ae6 Mon Sep 17 00:00:00 2001 From: Al Date: Tue, 1 Jan 2019 19:39:57 +0100 Subject: Fix About dialog open tab. --- src/aboutdialog.ui | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/aboutdialog.ui b/src/aboutdialog.ui index 910de652..6bc51726 100644 --- a/src/aboutdialog.ui +++ b/src/aboutdialog.ui @@ -83,7 +83,7 @@ - 2 + 0 -- cgit v1.3.1 From 9a2b9224ca20f44d69029b8e7847dad32c8e96aa Mon Sep 17 00:00:00 2001 From: Al Date: Tue, 1 Jan 2019 22:57:00 +0100 Subject: Sort Separators by priority in Send To dialog. --- src/mainwindow.cpp | 11 +++++++---- src/profile.h | 7 +++++++ 2 files changed, 14 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 2e1391c1..2dbf297c 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -6260,10 +6260,13 @@ void MainWindow::sendSelectedModsToPriority_clicked() void MainWindow::sendSelectedModsToSeparator_clicked() { QStringList separators; - for (auto mod : m_OrganizerCore.modList()->allMods()) { - ModInfo::Ptr modInfo = ModInfo::getByIndex(ModInfo::getIndex(mod)); - if (modInfo->hasFlag(ModInfo::FLAG_SEPARATOR)) { - separators << mod.chopped(10); + auto indexesByPriority = m_OrganizerCore.currentProfile()->getAllIndexesByPriority(); + for (auto iter = indexesByPriority.begin(); iter != indexesByPriority.end(); iter++) { + if ((iter->second != UINT_MAX)) { + ModInfo::Ptr modInfo = ModInfo::getByIndex(iter->second); + if (modInfo->hasFlag(ModInfo::FLAG_SEPARATOR)) { + separators << modInfo->name().chopped(10); + } } } diff --git a/src/profile.h b/src/profile.h index a9d68062..95a5c59d 100644 --- a/src/profile.h +++ b/src/profile.h @@ -233,6 +233,13 @@ public: **/ std::vector > getActiveMods(); + /** + * @brief retrieve a mod of the indexes ordered by priority + * + * @return map of indexes by priority + **/ + std::map getAllIndexesByPriority() { return m_ModIndexByPriority; } + /** * retrieve the number of mods for which this object has status information. * This is usually the same as ModInfo::getNumMods() except between -- cgit v1.3.1 From 5ad411cd47fc3193c6c87a745e41bd6c09b687ab Mon Sep 17 00:00:00 2001 From: Al Date: Tue, 1 Jan 2019 23:31:16 +0100 Subject: Updated version to 2.1.7alpha4 --- src/version.rc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/version.rc b/src/version.rc index 0197f1c8..de5ec82e 100644 --- a/src/version.rc +++ b/src/version.rc @@ -4,7 +4,7 @@ // Otherwise, if letters are used in VER_FILEVERSION_STR, uses the full MOBase::VersionInfo parser // Otherwise, uses the numbers from VER_FILEVERSION and sets the release type as pre-alpha #define VER_FILEVERSION 2,1,7 -#define VER_FILEVERSION_STR "2.1.7alpha3\0" +#define VER_FILEVERSION_STR "2.1.7alpha4\0" VS_VERSION_INFO VERSIONINFO FILEVERSION VER_FILEVERSION -- cgit v1.3.1 From 0d0e9ee175fcaf4a7786e3056c5647db532a2794 Mon Sep 17 00:00:00 2001 From: Al Date: Wed, 2 Jan 2019 19:50:33 +0100 Subject: Added Note columns to Export to CSV feature --- src/mainwindow.cpp | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src') diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 2dbf297c..ab3fe2c6 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -4041,6 +4041,7 @@ void MainWindow::exportModListCSV() mod_Priority->setChecked(true); QCheckBox *mod_Name = new QCheckBox(tr("Mod_Name")); mod_Name->setChecked(true); + QCheckBox *mod_Note = new QCheckBox(tr("Notes_column")); QCheckBox *mod_Status = new QCheckBox(tr("Mod_Status")); QCheckBox *primary_Category = new QCheckBox(tr("Primary_Category")); QCheckBox *nexus_ID = new QCheckBox(tr("Nexus_ID")); @@ -4053,6 +4054,7 @@ void MainWindow::exportModListCSV() vbox1->addWidget(mod_Priority); vbox1->addWidget(mod_Name); vbox1->addWidget(mod_Status); + vbox1->addWidget(mod_Note); vbox1->addWidget(primary_Category); vbox1->addWidget(nexus_ID); vbox1->addWidget(mod_Nexus_URL); @@ -4092,6 +4094,8 @@ void MainWindow::exportModListCSV() fields.push_back(std::make_pair(QString("#Mod_Name"), CSVBuilder::TYPE_STRING)); if (mod_Status->isChecked()) fields.push_back(std::make_pair(QString("#Mod_Status"), CSVBuilder::TYPE_STRING)); + if (mod_Note->isChecked()) + fields.push_back(std::make_pair(QString("#Note"), CSVBuilder::TYPE_STRING)); if (primary_Category->isChecked()) fields.push_back(std::make_pair(QString("#Primary_Category"), CSVBuilder::TYPE_STRING)); if (nexus_ID->isChecked()) @@ -4127,6 +4131,8 @@ void MainWindow::exportModListCSV() builder.setRowField("#Mod_Name", info->name()); if (mod_Status->isChecked()) builder.setRowField("#Mod_Status", (enabled)? "Enabled" : "Disabled"); + if (mod_Note->isChecked()) + builder.setRowField("#Note", QString("%1").arg(info->comments().remove(','))); if (primary_Category->isChecked()) builder.setRowField("#Primary_Category", (m_CategoryFactory.categoryExists(info->getPrimaryCategory())) ? m_CategoryFactory.getCategoryName(info->getPrimaryCategory()) : ""); if (nexus_ID->isChecked()) -- cgit v1.3.1 From 683d17784b026d857732a8d52bc26709ba0e0322 Mon Sep 17 00:00:00 2001 From: LostDragonist Date: Wed, 2 Jan 2019 14:30:17 -0600 Subject: Improve missing INI dialog when switching profiles --- src/profile.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/profile.cpp b/src/profile.cpp index d1741311..e3c1e5ac 100644 --- a/src/profile.cpp +++ b/src/profile.cpp @@ -772,20 +772,21 @@ bool Profile::localSettingsEnabled() const { bool enabled = setting("LocalSettings", false).toBool(); if (enabled) { - bool reinitConfig = false; + QStringList missingFiles; for (QString file : m_GamePlugin->iniFiles()) { if (!QFile::exists(m_Directory.filePath(file))) { qWarning("missing %s in %s", qPrintable(file), qPrintable(m_Directory.path())); - reinitConfig = true; + missingFiles << file; } } - if (reinitConfig) { + if (!missingFiles.empty()) { + m_GamePlugin->initializeProfile(m_Directory, IPluginGame::CONFIGURATION); QMessageBox::StandardButton res = QMessageBox::warning( QApplication::activeModalWidget(), tr("Missing profile-specific game INI files!"), tr("Some of your profile-specific game INI files were missing. They will now be copied " - "from the vanilla game folder. You might want double-check your settings.") + "from the vanilla game folder. You might want double-check your settings.\n\n" + "Missing files:\n") + missingFiles.join("\n") ); - m_GamePlugin->initializeProfile(m_Directory, IPluginGame::CONFIGURATION); } } return enabled; -- cgit v1.3.1