diff options
Diffstat (limited to 'src/gui/npcdialog.cpp')
-rw-r--r-- | src/gui/npcdialog.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/gui/npcdialog.cpp b/src/gui/npcdialog.cpp index 5b1939a6..1a5186ff 100644 --- a/src/gui/npcdialog.cpp +++ b/src/gui/npcdialog.cpp @@ -143,7 +143,7 @@ NpcDialog::NpcDialog(int npcId) setVisible(true); requestFocus(); - config.addListener("logNpcInGui", this); + listen(CHANNEL_CONFIG); PlayerInfo::setNPCInteractionCount(PlayerInfo::getNPCInteractionCount() + 1); } @@ -161,7 +161,6 @@ NpcDialog::~NpcDialog() instances.remove(this); - config.removeListener("logNpcInGui", this); PlayerInfo::setNPCInteractionCount(PlayerInfo::getNPCInteractionCount() - 1); @@ -383,9 +382,13 @@ void NpcDialog::setVisible(bool visible) } } -void NpcDialog::optionChanged(const std::string &name) +void NpcDialog::event(Channels channel, const Mana::Event &event) { - if (name == "logNpcInGui") + if (channel != CHANNEL_CONFIG) + return; + + if (event.getName() == EVENT_CONFIGOPTIONCHANGED && + event.getString("option") == "logNpcInGui") { mLogInteraction = config.getBoolValue("logNpcInGui"); } |