diff options
| author | Tannin <devnull@localhost> | 2015-04-08 18:53:43 +0200 |
|---|---|---|
| committer | Tannin <devnull@localhost> | 2015-04-08 18:53:43 +0200 |
| commit | a44c4bbdb2b99759b4d36687153465df51cc9cf9 (patch) | |
| tree | d8bfa9286be7df6bff0d2d2afb2f22f840968392 /src | |
| parent | 8cca47454a5205752b8d633d064a775862d509bd (diff) | |
enabling/disabling a plugin should now immediately cause a check for problems
Diffstat (limited to 'src')
| -rw-r--r-- | src/pluginlist.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
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<int, QString> lockedLoadOrder;
std::for_each(m_LockedOrder.begin(), m_LockedOrder.end(),
- [&lockedLoadOrder] (const std::pair<QString, int> &ele) { lockedLoadOrder[ele.second] = ele.first; });
+ [&lockedLoadOrder] (const std::pair<QString, int> &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<int> rows, int newPriority) layoutChange.finish();
refreshLoadOrder();
+ emit writePluginsList();
}
bool PluginList::dropMimeData(const QMimeData *mimeData, Qt::DropAction action, int row, int, const QModelIndex &parent)
|
