diff options
author | Esteban I. Ruiz Moreno <exio4.com@gmail.com> | 2013-06-04 23:26:52 -0300 |
---|---|---|
committer | Kahrl <kahrl@gmx.net> | 2013-06-05 21:14:14 +0200 |
commit | 7cb521725569b7eda98af40f7e4b4eb63afff633 (patch) | |
tree | acb7380979a3cae877299d6669d14ce2de6325ba | |
parent | 4f6bec19bc0d838db6d1236e7815c0113bd05e81 (diff) | |
download | minetest-7cb521725569b7eda98af40f7e4b4eb63afff633.tar.gz minetest-7cb521725569b7eda98af40f7e4b4eb63afff633.tar.bz2 minetest-7cb521725569b7eda98af40f7e4b4eb63afff633.zip |
Close console when it loses focus but it is still on screen
-rw-r--r-- | src/game.cpp | 4 | ||||
-rw-r--r-- | src/guiChatConsole.cpp | 5 | ||||
-rw-r--r-- | src/guiChatConsole.h | 3 |
3 files changed, 12 insertions, 0 deletions
diff --git a/src/game.cpp b/src/game.cpp index 22bd8c429..2d43d05b8 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -1684,6 +1684,10 @@ void the_game( { input->clear(); } + if (!guienv->hasFocus(gui_chat_console) && gui_chat_console->isOpen()) + { + gui_chat_console->closeConsoleAtOnce(); + } // Input handler step() (used by the random input generator) input->step(dtime); diff --git a/src/guiChatConsole.cpp b/src/guiChatConsole.cpp index 3dfd0090a..c1219fb80 100644 --- a/src/guiChatConsole.cpp +++ b/src/guiChatConsole.cpp @@ -134,6 +134,11 @@ void GUIChatConsole::openConsole(f32 height) reformatConsole(); } +bool GUIChatConsole::isOpen() const +{ + return m_open; +} + bool GUIChatConsole::isOpenInhibited() const { return m_open_inhibited > 0; diff --git a/src/guiChatConsole.h b/src/guiChatConsole.h index c896aae28..5991157b2 100644 --- a/src/guiChatConsole.h +++ b/src/guiChatConsole.h @@ -39,6 +39,9 @@ public: // This doesn't open immediately but initiates an animation. // You should call isOpenInhibited() before this. void openConsole(f32 height); + + bool isOpen() const; + // Check if the console should not be opened at the moment // This is to avoid reopening the console immediately after closing bool isOpenInhibited() const; |