From f8d22e47ac3b6392d68f1a8a45383798f5751101 Mon Sep 17 00:00:00 2001 From: Chuck Miller Date: Sat, 13 Nov 2010 17:00:46 -0500 Subject: Replace config listeners with the event system Reviewed-by: Jared Adams --- src/gui/viewport.cpp | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) (limited to 'src/gui/viewport.cpp') diff --git a/src/gui/viewport.cpp b/src/gui/viewport.cpp index 4152bd95..ac910d5f 100644 --- a/src/gui/viewport.cpp +++ b/src/gui/viewport.cpp @@ -64,14 +64,12 @@ Viewport::Viewport(): mScrollCenterOffsetX = config.getIntValue("ScrollCenterOffsetX"); mScrollCenterOffsetY = config.getIntValue("ScrollCenterOffsetY"); - config.addListener("ScrollLaziness", this); - config.addListener("ScrollRadius", this); - mPopupMenu = new PopupMenu; mBeingPopup = new BeingPopup; setFocusable(true); + listen(CHANNEL_CONFIG); listen(CHANNEL_ACTORSPRITE); } @@ -485,12 +483,6 @@ void Viewport::closePopupMenu() mPopupMenu->handleLink("cancel"); } -void Viewport::optionChanged(const std::string &name) -{ - mScrollLaziness = config.getIntValue("ScrollLaziness"); - mScrollRadius = config.getIntValue("ScrollRadius"); -} - void Viewport::mouseMoved(gcn::MouseEvent &event) { // Check if we are on the map @@ -568,4 +560,14 @@ void Viewport::event(Channels channel, const Mana::Event &event) if (mHoverItem == actor) mHoverItem = 0; } + else if (channel == CHANNEL_CONFIG && + event.getName() == EVENT_CONFIGOPTIONCHANGED) + { + const std::string option = event.getString("option"); + if (option == "ScrollLaziness" || option == "ScrollRadius") + { + mScrollLaziness = config.getIntValue("ScrollLaziness"); + mScrollRadius = config.getIntValue("ScrollRadius"); + } + } } -- cgit v1.2.3-70-g09d2