From 14b117d74a9953ce415279eeb8debacd1bcd912f Mon Sep 17 00:00:00 2001 From: Al Date: Thu, 10 Jan 2019 21:16:01 +0100 Subject: Save rich text of notes tab across restart. --- src/modinfodialog.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src/modinfodialog.cpp') diff --git a/src/modinfodialog.cpp b/src/modinfodialog.cpp index c8e0fb9e..4201b708 100644 --- a/src/modinfodialog.cpp +++ b/src/modinfodialog.cpp @@ -193,7 +193,11 @@ ModInfoDialog::ModInfoDialog(ModInfo::Ptr modInfo, const DirectoryEntry *directo ModInfoDialog::~ModInfoDialog() { m_ModInfo->setComments(ui->commentsEdit->text()); - m_ModInfo->setNotes(ui->notesEdit->toPlainText()); + //avoid saving html stump if notes filed is empty + if (ui->notesEdit->toPlainText().isEmpty()) + m_ModInfo->setNotes(ui->notesEdit->toPlainText()); + else + m_ModInfo->setNotes(ui->notesEdit->toHtml()); saveCategories(ui->categoriesTree->invisibleRootItem()); saveIniTweaks(); // ini tweaks are written to the ini file directly. This is the only information not managed by ModInfo delete ui->descriptionView->page(); -- cgit v1.3.1 From ff49e2a43c44cb3e9688647b4c7c45c9bdbce227 Mon Sep 17 00:00:00 2001 From: Al Date: Fri, 11 Jan 2019 00:04:09 +0100 Subject: Added Web Page URL field in modinfodialog. It's used only if nexusID is invalid. --- src/modinfodialog.cpp | 7 ++++++- src/modinfodialog.h | 1 + src/modinfodialog.ui | 14 ++++++++++++++ 3 files changed, 21 insertions(+), 1 deletion(-) (limited to 'src/modinfodialog.cpp') diff --git a/src/modinfodialog.cpp b/src/modinfodialog.cpp index 4201b708..ed77f596 100644 --- a/src/modinfodialog.cpp +++ b/src/modinfodialog.cpp @@ -193,7 +193,7 @@ ModInfoDialog::ModInfoDialog(ModInfo::Ptr modInfo, const DirectoryEntry *directo ModInfoDialog::~ModInfoDialog() { m_ModInfo->setComments(ui->commentsEdit->text()); - //avoid saving html stump if notes filed is empty + //Avoid saving html stump if notes field is empty. if (ui->notesEdit->toPlainText().isEmpty()) m_ModInfo->setNotes(ui->notesEdit->toPlainText()); else @@ -924,6 +924,7 @@ void ModInfoDialog::activateNexusTab() QLineEdit *versionEdit = findChild("versionEdit"); QString currentVersion = m_Settings->value("version", "0.0").toString(); versionEdit->setText(currentVersion); + ui->customUrlLineEdit->setText(m_ModInfo->getURL()); } @@ -967,6 +968,10 @@ void ModInfoDialog::on_versionEdit_editingFinished() updateVersionColor(); } +void ModInfoDialog::on_customUrlLineEdit_editingFinished() +{ + m_ModInfo->setURL(ui->customUrlLineEdit->text()); +} bool ModInfoDialog::recursiveDelete(const QModelIndex &index) { diff --git a/src/modinfodialog.h b/src/modinfodialog.h index f3bc48b4..61517100 100644 --- a/src/modinfodialog.h +++ b/src/modinfodialog.h @@ -185,6 +185,7 @@ private slots: void on_modIDEdit_editingFinished(); void on_sourceGameEdit_currentIndexChanged(int); void on_versionEdit_editingFinished(); + void on_customUrlLineEdit_editingFinished(); void on_iniFileView_textChanged(); void on_textFileView_textChanged(); void on_tabWidget_currentChanged(int index); diff --git a/src/modinfodialog.ui b/src/modinfodialog.ui index 1f8b0029..0211e704 100644 --- a/src/modinfodialog.ui +++ b/src/modinfodialog.ui @@ -774,6 +774,20 @@ p, li { white-space: pre-wrap; } + + + + + + Web page URL (only used if invalid NexusID) : + + + + + + + + -- cgit v1.3.1 From d24519501fdba4fb5418da3f99e2b36ccef07826 Mon Sep 17 00:00:00 2001 From: LostDragonist Date: Fri, 11 Jan 2019 17:51:09 -0600 Subject: Delete the settings array before writing a new one --- src/editexecutablesdialog.cpp | 1 + src/modinfodialog.cpp | 1 + src/modinforegular.cpp | 1 + src/organizercore.cpp | 1 + src/settings.cpp | 1 + 5 files changed, 5 insertions(+) (limited to 'src/modinfodialog.cpp') diff --git a/src/editexecutablesdialog.cpp b/src/editexecutablesdialog.cpp index bea497ef..78e1accb 100644 --- a/src/editexecutablesdialog.cpp +++ b/src/editexecutablesdialog.cpp @@ -124,6 +124,7 @@ void EditExecutablesDialog::saveExecutable() m_Profile->removeSetting("custom_overwrites", ui->titleEdit->text()); } + m_Profile->removeForcedLibraries(ui->titleEdit->text()); m_Profile->storeForcedLibraries(ui->titleEdit->text(), m_ForcedLibraries); m_Profile->setForcedLibrariesEnabled(ui->titleEdit->text(), ui->forceLoadCheckBox->isChecked()); } diff --git a/src/modinfodialog.cpp b/src/modinfodialog.cpp index ed77f596..40fae0e4 100644 --- a/src/modinfodialog.cpp +++ b/src/modinfodialog.cpp @@ -562,6 +562,7 @@ void ModInfoDialog::openIniFile(const QString &fileName) void ModInfoDialog::saveIniTweaks() { + m_Settings->remove("INI Tweaks"); m_Settings->beginWriteArray("INI Tweaks"); int countEnabled = 0; diff --git a/src/modinforegular.cpp b/src/modinforegular.cpp index 45c3985b..185f0495 100644 --- a/src/modinforegular.cpp +++ b/src/modinforegular.cpp @@ -162,6 +162,7 @@ void ModInfoRegular::saveMeta() metaFile.setValue("endorsed", m_EndorsedState); } + metaFile.remove("installedFiles"); metaFile.beginWriteArray("installedFiles"); int idx = 0; for (auto iter = m_InstalledFileIDs.begin(); iter != m_InstalledFileIDs.end(); ++iter) { diff --git a/src/organizercore.cpp b/src/organizercore.cpp index 4e399ac7..e72b9a50 100644 --- a/src/organizercore.cpp +++ b/src/organizercore.cpp @@ -907,6 +907,7 @@ MOBase::IModInterface *OrganizerCore::createMod(GuessedValue &name) settingsFile.setValue("category", 0); settingsFile.setValue("installationFile", ""); + settingsFile.remove("installedFiles"); settingsFile.beginWriteArray("installedFiles", 0); settingsFile.endArray(); } diff --git a/src/settings.cpp b/src/settings.cpp index 9267cccf..c4228f65 100644 --- a/src/settings.cpp +++ b/src/settings.cpp @@ -592,6 +592,7 @@ void Settings::addBlacklistPlugin(const QString &fileName) void Settings::writePluginBlacklist() { + m_Settings.remove("pluginBlacklist"); m_Settings.beginWriteArray("pluginBlacklist"); int idx = 0; for (const QString &plugin : m_PluginBlacklist) { -- cgit v1.3.1