summaryrefslogtreecommitdiff
path: root/src/settingsdialog.cpp
diff options
context:
space:
mode:
authorTannin <devnull@localhost>2013-09-21 19:25:33 +0200
committerTannin <devnull@localhost>2013-09-21 19:25:33 +0200
commitdfca8be71b15bc13997110cc8777dd5a84a1fde7 (patch)
treeaac3cf02be006c1f5a15c48872db965fa6f7b10f /src/settingsdialog.cpp
parent08037bf876659d52b8bb8be26c7aca362555ef85 (diff)
- esp reader now handles invalid files more gracefully
- files moved will now also be treated as "deleted" in the old location so a newly created file with that same name is not created in overwrite - introduced a mechanism by which MO can recognize if it crashed before when attempting to load a plugin. That plugin can be blacklisted so it doesn't get loaded again - plugins can now programaticaly change their settings - plugins can now store data persistently without exposing that data as settings - requesting an unset-setting from a plugin is no longer treated as a bug - clarified warning message for when files are in overwrite directory - the proxyPython plugin will now discover if python initialization crashed MO on a previous session and give the user a chance to fix it or disable the plugin - bugfix: GetModuleFileName modified the buffer past the zero termination. While this doesn't violate the API documentation it is different from the regular windows implementation - bugfix: proxy plugins couldn't access the parent widget - bugfix: when moving a file from overwrite to a mod the in-memory file structure wasn't updated - bugfix: name input dialog for profiles allowed names that weren't valid directory names - bugfix: profile dialog wasn't able to delete profiles if the name started or ended in whitespaces - bugfix: The name-cells for plugin settings could be changed (without effect) - removed a few obsolete files from the repository
Diffstat (limited to 'src/settingsdialog.cpp')
-rw-r--r--src/settingsdialog.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/settingsdialog.cpp b/src/settingsdialog.cpp
index 9f268455..c8908ddb 100644
--- a/src/settingsdialog.cpp
+++ b/src/settingsdialog.cpp
@@ -21,10 +21,12 @@ along with Mod Organizer. If not, see <http://www.gnu.org/licenses/>.
#include "ui_settingsdialog.h"
#include "categoriesdialog.h"
#include "helper.h"
+#include "noeditdelegate.h"
#include <gameinfo.h>
#include <QDirIterator>
#include <QFileDialog>
#include <QMessageBox>
+#include <QShortcut>
#define WIN32_LEAN_AND_MEAN
#include <Windows.h>
@@ -37,6 +39,9 @@ SettingsDialog::SettingsDialog(QWidget *parent)
: TutorableDialog("SettingsDialog", parent), ui(new Ui::SettingsDialog)
{
ui->setupUi(this);
+
+ QShortcut *delShortcut = new QShortcut(QKeySequence(Qt::Key_Delete), ui->pluginBlacklist);
+ connect(delShortcut, SIGNAL(activated()), this, SLOT(deleteBlacklistItem()));
}
SettingsDialog::~SettingsDialog()
@@ -146,6 +151,8 @@ void SettingsDialog::on_pluginsList_currentItemChanged(QListWidgetItem *current,
for (auto iter = settings.begin(); iter != settings.end(); ++iter) {
QTreeWidgetItem *newItem = new QTreeWidgetItem(QStringList(iter.key()));
QVariant value = *iter;
+
+ ui->pluginSettingsList->setItemDelegateForColumn(0, new NoEditDelegate());
newItem->setData(1, Qt::DisplayRole, value);
newItem->setData(1, Qt::EditRole, value);
@@ -153,3 +160,8 @@ void SettingsDialog::on_pluginsList_currentItemChanged(QListWidgetItem *current,
ui->pluginSettingsList->addTopLevelItem(newItem);
}
}
+
+void SettingsDialog::deleteBlacklistItem()
+{
+ ui->pluginBlacklist->takeItem(ui->pluginBlacklist->currentIndex().row());
+}