From d7b3e0f46a6c34bb3977c321e51d6ae5402277b7 Mon Sep 17 00:00:00 2001 From: Flakebi Date: Wed, 4 Jun 2014 16:45:54 +0200 Subject: [PATCH] Fix RegisterScreen --- src/states_screens/register_screen.cpp | 29 +++++++++++++++++++++++--- src/states_screens/user_screen.cpp | 2 +- 2 files changed, 27 insertions(+), 4 deletions(-) diff --git a/src/states_screens/register_screen.cpp b/src/states_screens/register_screen.cpp index 6f87a34c1..585fde923 100644 --- a/src/states_screens/register_screen.cpp +++ b/src/states_screens/register_screen.cpp @@ -18,6 +18,7 @@ #include "states_screens/register_screen.hpp" #include "config/player_manager.hpp" +#include "config/user_config.hpp" #include "audio/sfx_manager.hpp" #include "guiengine/widgets/check_box_widget.hpp" #include "guiengine/widgets/label_widget.hpp" @@ -78,12 +79,27 @@ void RegisterScreen::init() m_info_widget = getWidget("info"); assert(m_info_widget); + m_info_widget->setDefaultColor(); + m_info_widget->setText("", false); m_options_widget = getWidget("options"); assert(m_options_widget); m_signup_request = NULL; m_info_message_shown = false; - makeEntryFieldsVisible(true); + + getWidget("online")->setVisible(true); + getWidget("label_online")->setVisible(true); + // Check if online is allowed + if (UserConfigParams::m_internet_status != Online::RequestManager::IPERM_NOT_ALLOWED) + { + getWidget("online")->setState(true); + makeEntryFieldsVisible(true); + } + else + { + getWidget("online")->setState(false); + makeEntryFieldsVisible(false); + } } // init // ----------------------------------------------------------------------------- @@ -172,7 +188,7 @@ void RegisterScreen::doRegister() ->getText().trim(); handleLocalName(local_name); - + // If no online account is requested, don't register if(!getWidget("online")->getState() || m_existing_player) { @@ -303,7 +319,14 @@ void RegisterScreen::eventCallback(Widget* widget, const std::string& name, { if (name == "online") { - makeEntryFieldsVisible(getWidget("online")->getState()); + if (UserConfigParams::m_internet_status == Online::RequestManager::IPERM_NOT_ALLOWED) + { + m_info_widget->setErrorColor(); + m_info_widget->setText(_("Internet access is disabled, please enable it in the options"), false); + getWidget("online")->setState(false); + } + else + makeEntryFieldsVisible(getWidget("online")->getState()); } else if (name=="options") { diff --git a/src/states_screens/user_screen.cpp b/src/states_screens/user_screen.cpp index 7f2237f74..05be9f454 100644 --- a/src/states_screens/user_screen.cpp +++ b/src/states_screens/user_screen.cpp @@ -247,7 +247,7 @@ void BaseUserScreen::eventCallback(Widget* widget, Online::RequestManager::IPERM_NOT_ALLOWED) { m_info_widget->setText( - "Internet access is disabled, please enable it in the options", + _("Internet access is disabled, please enable it in the options"), true); sfx_manager->quickSound( "anvil" ); m_online_cb->setState(false);