From a44c4bbdb2b99759b4d36687153465df51cc9cf9 Mon Sep 17 00:00:00 2001 From: Tannin Date: Wed, 8 Apr 2015 18:53:43 +0200 Subject: enabling/disabling a plugin should now immediately cause a check for problems --- src/pluginlist.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'src/pluginlist.cpp') diff --git a/src/pluginlist.cpp b/src/pluginlist.cpp index e758ce18..927a4c7e 100644 --- a/src/pluginlist.cpp +++ b/src/pluginlist.cpp @@ -595,9 +595,11 @@ void PluginList::refreshLoadOrder() // set priorities according to locked load order std::map lockedLoadOrder; std::for_each(m_LockedOrder.begin(), m_LockedOrder.end(), - [&lockedLoadOrder] (const std::pair &ele) { lockedLoadOrder[ele.second] = ele.first; }); + [&lockedLoadOrder] (const std::pair &ele) { + lockedLoadOrder[ele.second] = ele.first; }); int targetPrio = 0; + bool savePluginsList = false; // this is guaranteed to iterate from lowest key (load order) to highest for (auto iter = lockedLoadOrder.begin(); iter != lockedLoadOrder.end(); ++iter) { auto nameIter = m_ESPsByName.find(iter->second); @@ -620,10 +622,13 @@ void PluginList::refreshLoadOrder() setPluginPriority(index, temp); m_ESPs[index].m_LoadOrder = iter->first; syncLoadOrder(); - emit writePluginsList(); + savePluginsList = true; } } } + if (savePluginsList) { + emit writePluginsList(); + } } void PluginList::disconnectSlots() { @@ -1049,6 +1054,7 @@ void PluginList::changePluginPriority(std::vector rows, int newPriority) layoutChange.finish(); refreshLoadOrder(); + emit writePluginsList(); } bool PluginList::dropMimeData(const QMimeData *mimeData, Qt::DropAction action, int row, int, const QModelIndex &parent) -- cgit v1.3.1