Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- src/events.cpp | 6 ------
- src/preferences.cpp | 6 ++++--
- src/preferences.hpp | 11 +++++++++--
- 3 files changed, 13 insertions(+), 10 deletions(-)
- diff --git a/src/events.cpp b/src/events.cpp
- index a8d7505..d66efb5 100644
- --- a/src/events.cpp
- +++ b/src/events.cpp
- @@ -448,12 +448,6 @@ void pump()
- break;
- }
- - // Hook into preferences event handling
- - // This probably isn't the right place for this but I really don't
- - // know where else to put it.
- - // - Vultraz, 12/28/2015
- - preferences::handle_event(event);
- -
- break;
- #else
- case SDL_ACTIVEEVENT: {
- diff --git a/src/preferences.cpp b/src/preferences.cpp
- index 18fd632..80275ff 100644
- --- a/src/preferences.cpp
- +++ b/src/preferences.cpp
- @@ -58,6 +58,8 @@ namespace preferences {
- base_manager::base_manager()
- {
- + event_handler_.join_global();
- +
- try{
- #ifdef DEFAULT_PREFS_PATH
- filesystem::scoped_istream stream = filesystem::istream_file(filesystem::get_default_prefs_file(),false);
- @@ -96,7 +98,7 @@ base_manager::~base_manager()
- * events. Since there is no fullscreen window event, that setter is called
- * from the CVideo function instead.
- */
- -void handle_event(const SDL_Event& event)
- +void prefs_event_handler::handle_event(const SDL_Event& event)
- {
- #if SDL_VERSION_ATLEAST(2, 0, 0)
- // Saftey check to make sure this is a window event
- @@ -107,7 +109,7 @@ void handle_event(const SDL_Event& event)
- case SDL_WINDOWEVENT_RESIZED:
- _set_resolution(std::make_pair(event.window.data1,event.window.data2));
- - break;
- + break;
- case SDL_WINDOWEVENT_MAXIMIZED:
- _set_maximized(true);
- diff --git a/src/preferences.hpp b/src/preferences.hpp
- index 40632a0..ca80589 100644
- --- a/src/preferences.hpp
- +++ b/src/preferences.hpp
- @@ -20,6 +20,7 @@
- class config;
- class display;
- +#include "events.hpp"
- #include "terrain_translation.hpp"
- #include "SDL.h"
- @@ -33,14 +34,20 @@ namespace hotkey {
- namespace preferences {
- + class prefs_event_handler : public events::sdl_handler {
- + public:
- + virtual void handle_event(const SDL_Event &event);
- + prefs_event_handler() : sdl_handler(false) {}
- + };
- +
- + prefs_event_handler event_handler_;
- +
- struct base_manager
- {
- base_manager();
- ~base_manager();
- };
- - void handle_event(const SDL_Event& event);
- -
- void write_preferences();
- void set(const std::string& key, const std::string &value);
Advertisement
Add Comment
Please, Sign In to add comment