From b1999822b1937f17816ae9b27d90f778b7709b48 Mon Sep 17 00:00:00 2001 From: Oliver Hamlet Date: Tue, 19 Jan 2016 21:29:50 +0000 Subject: [PATCH] Display game messages in the UI --- src/gui/handler.cpp | 10 +++++++++- src/gui/html/js/events.js | 8 +++++--- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/src/gui/handler.cpp b/src/gui/handler.cpp index 01a1e164..26ecf015 100644 --- a/src/gui/handler.cpp +++ b/src/gui/handler.cpp @@ -915,6 +915,10 @@ namespace loot { }); YAML::Node node; + + // Store global messages in case they have changed. + node["globalMessages"] = GetGeneralMessages(); + for (const auto &plugin : plugins) { YAML::Node pluginNode; @@ -929,7 +933,7 @@ namespace loot { pluginNode[key] = pair.second; } - node.push_back(pluginNode); + node["plugins"].push_back(pluginNode); } _lootState.incrementUnappliedChangeCounter(); @@ -954,6 +958,10 @@ namespace loot { messages.insert(end(messages), begin(metadataListMessages), end(metadataListMessages)); + auto gameMessages = _lootState.CurrentGame().GetMessages(); + messages.insert(end(messages), + begin(gameMessages), + end(gameMessages)); try { BOOST_LOG_TRIVIAL(info) << "Using message language: " << _lootState.getLanguage().Name(); diff --git a/src/gui/html/js/events.js b/src/gui/html/js/events.js index 229eec41..7a044c41 100644 --- a/src/gui/html/js/events.js +++ b/src/gui/html/js/events.js @@ -103,11 +103,13 @@ function onSortPlugins() { return; } /* Check if sorted load order differs from current load order. */ - const loadOrderIsUnchanged = result.every((plugin, index) => { + const loadOrderIsUnchanged = result.plugins.every((plugin, index) => { return plugin.name === loot.game.plugins[index].name; }); if (loadOrderIsUnchanged) { - result.forEach((plugin) => { + loot.game.globalMessages = result.globalMessages; + + result.plugins.forEach((plugin) => { const existingPlugin = loot.game.plugins.find((item) => { return item.name === plugin.name; }); @@ -125,7 +127,7 @@ function onSortPlugins() { } loot.game.oldLoadOrder = loot.game.plugins; loot.game.loadOrder = []; - result.forEach((plugin) => { + result.plugins.forEach((plugin) => { let existingPlugin = loot.game.plugins.find((item) => { return item.name === plugin.name; });