summaryrefslogtreecommitdiff
path: root/src/modinfodialog.cpp
diff options
context:
space:
mode:
authorSilarn <jrim@rimpo.org>2018-04-17 02:47:07 -0500
committerSilarn <jrim@rimpo.org>2018-04-17 02:47:07 -0500
commit7688175c68c2f1ce85951173c0aa3e186587aa1f (patch)
treefdbe99b1158c90ae5dc71a9d7871dd236f2e2c24 /src/modinfodialog.cpp
parentb4eae6e5d1cbd92140e9a1058d623a4338a35c43 (diff)
Add source game setter in mod info dialog
Diffstat (limited to 'src/modinfodialog.cpp')
-rw-r--r--src/modinfodialog.cpp25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/modinfodialog.cpp b/src/modinfodialog.cpp
index 31ffe82d..e2da6a2c 100644
--- a/src/modinfodialog.cpp
+++ b/src/modinfodialog.cpp
@@ -92,6 +92,21 @@ ModInfoDialog::ModInfoDialog(ModInfo::Ptr modInfo, const DirectoryEntry *directo
ui->modIDEdit->setValidator(new QIntValidator(modIDEdit));
ui->modIDEdit->setText(QString("%1").arg(modInfo->getNexusID()));
+ ui->sourceGameEdit->addItem(organizerCore->managedGame()->gameName(), organizerCore->managedGame()->gameShortName());
+ if (organizerCore->managedGame()->validShortNames().size() == 0) {
+ ui->sourceGameEdit->setDisabled(true);
+ } else {
+ for (auto game : pluginContainer->plugins<IPluginGame>()) {
+ for (QString gameName : organizerCore->managedGame()->validShortNames()) {
+ if (game->gameShortName().compare(gameName, Qt::CaseInsensitive) == 0) {
+ ui->sourceGameEdit->addItem(game->gameName(), game->gameShortName());
+ break;
+ }
+ }
+ }
+ }
+ ui->sourceGameEdit->setCurrentIndex(ui->sourceGameEdit->findData(m_ModInfo->getGameName()));
+
ui->notesEdit->setText(modInfo->notes());
ui->descriptionView->setPage(new DescriptionPage);
@@ -901,6 +916,16 @@ void ModInfoDialog::on_modIDEdit_editingFinished()
}
}
+void ModInfoDialog::on_sourceGameEdit_currentIndexChanged(int)
+{
+ for (auto game : m_PluginContainer->plugins<IPluginGame>()) {
+ if (game->gameName() == ui->sourceGameEdit->currentText()) {
+ m_ModInfo->setGameName(game->gameShortName());
+ return;
+ }
+ }
+}
+
void ModInfoDialog::on_versionEdit_editingFinished()
{
VersionInfo version(ui->versionEdit->text());