Added 'always-show-login-screen' option, moved 'remember-password'
option from UI-options to UserScreen.
This commit is contained in:
parent
4ada050ca7
commit
36d705f021
@ -40,9 +40,9 @@
|
||||
</div>
|
||||
|
||||
<div width="75%" height="fit" layout="horizontal-row" >
|
||||
<checkbox id="remember-me"/>
|
||||
<checkbox id="show-login"/>
|
||||
<spacer width="20" height="100%" />
|
||||
<label height="100%" I18N="In the ui settings" text="Remember user"/>
|
||||
<label height="100%" I18N="In the ui settings" text="Always show login screen"/>
|
||||
</div>
|
||||
|
||||
<spacer height="18" width="4"/>
|
||||
|
@ -17,6 +17,11 @@
|
||||
<label proportion="1" height="100%" text_align="left" I18N="In the login screen" text="Online"/>
|
||||
<checkbox id="online" I18N="In the login screen" text_align="left"/>
|
||||
</div>
|
||||
<div width="100%" height="fit" layout="horizontal-row" >
|
||||
<label id="label_remember" proportion="1" height="100%" text_align="left"
|
||||
I18N="In the login screen" text="Remember password"/>
|
||||
<checkbox id="remember-user" I18N="In the login screen" text_align="left"/>
|
||||
</div>
|
||||
<!-- Disable guest accounts for now
|
||||
<div width="100%" height="fit" layout="horizontal-row" >
|
||||
<label id="label_guest" proportion="1" height="100%" text_align="left"
|
||||
|
@ -26,6 +26,11 @@
|
||||
<label proportion="1" height="100%" text_align="left" I18N="In the login screen" text="Online"/>
|
||||
<checkbox id="online" I18N="In the login screen" text_align="left"/>
|
||||
</div>
|
||||
<div width="100%" height="fit" layout="horizontal-row" >
|
||||
<label id="label_remember" proportion="1" height="100%" text_align="left"
|
||||
I18N="In the login screen" text="Remember password"/>
|
||||
<checkbox id="remember-user" I18N="In the login screen" text_align="left"/>
|
||||
</div>
|
||||
<!-- Disable guest accounts for now
|
||||
<div width="100%" height="fit" layout="horizontal-row" >
|
||||
<label id="label_guest" proportion="1" height="100%" text_align="left"
|
||||
|
@ -166,7 +166,18 @@ PlayerManager::PlayerManager()
|
||||
*/
|
||||
PlayerManager::~PlayerManager()
|
||||
{
|
||||
// If the passwords should not be remembered, clear all saved sessions.
|
||||
if(!UserConfigParams::m_remember_user)
|
||||
{
|
||||
PlayerProfile *player;
|
||||
for_in(player, m_all_players)
|
||||
{
|
||||
player->clearSession();
|
||||
}
|
||||
|
||||
}
|
||||
save();
|
||||
|
||||
} // ~PlayerManager
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
|
@ -682,6 +682,10 @@ namespace UserConfigParams
|
||||
PARAM_PREFIX BoolUserConfigParam m_remember_user
|
||||
PARAM_DEFAULT( BoolUserConfigParam(true, "remember_me",
|
||||
"Automatically remember login data"));
|
||||
|
||||
PARAM_PREFIX BoolUserConfigParam m_always_show_login_screen
|
||||
PARAM_DEFAULT( BoolUserConfigParam(false, "always_show_login_screen",
|
||||
"Always show the login screen even if last player's session was saved."));
|
||||
// ---- Online gameplay related
|
||||
|
||||
PARAM_PREFIX GroupUserConfigParam m_online_group
|
||||
|
@ -1289,10 +1289,14 @@ int main(int argc, char *argv[] )
|
||||
if(!UserConfigParams::m_no_start_screen)
|
||||
{
|
||||
// If there is a current player, it was saved in the config file,
|
||||
// so we immediately start the main menu. Otherwise show the login
|
||||
// so we immediately start the main menu (unless it was requested
|
||||
// to always show the login screen). Otherwise show the login
|
||||
// screen first.
|
||||
if(PlayerManager::getCurrentPlayer())
|
||||
if(PlayerManager::getCurrentPlayer() && !
|
||||
UserConfigParams::m_always_show_login_screen)
|
||||
{
|
||||
StateManager::get()->pushScreen(MainMenuScreen::getInstance());
|
||||
}
|
||||
else
|
||||
{
|
||||
StateManager::get()->pushScreen(UserScreen::getInstance());
|
||||
|
@ -21,6 +21,7 @@
|
||||
#include "online/request_manager.hpp"
|
||||
|
||||
#include "config/player_manager.hpp"
|
||||
#include "config/user_config.hpp"
|
||||
#include "states_screens/state_manager.hpp"
|
||||
|
||||
#include <iostream>
|
||||
@ -131,8 +132,11 @@ namespace Online
|
||||
// In case that login id was not saved (or first start of stk),
|
||||
// current player would not be defined at this stage.
|
||||
PlayerProfile *player = PlayerManager::getCurrentPlayer();
|
||||
if(player && player->wasOnlineLastTime())
|
||||
if(player && player->wasOnlineLastTime() &&
|
||||
!UserConfigParams::m_always_show_login_screen)
|
||||
{
|
||||
PlayerManager::resumeSavedSession();
|
||||
}
|
||||
} // startNetworkThread
|
||||
|
||||
// ------------------------------------------------------------------------
|
||||
|
@ -131,9 +131,9 @@ void OptionsScreenUI::init()
|
||||
news->setState( UserConfigParams::m_internet_status
|
||||
==RequestManager::IPERM_ALLOWED );
|
||||
|
||||
CheckBoxWidget* remember_me = getWidget<CheckBoxWidget>("remember-me");
|
||||
assert( remember_me!= NULL );
|
||||
remember_me->setState( UserConfigParams::m_remember_user);
|
||||
CheckBoxWidget* show_login = getWidget<CheckBoxWidget>("show-login");
|
||||
assert( show_login!= NULL );
|
||||
show_login->setState( UserConfigParams::m_always_show_login_screen);
|
||||
|
||||
// --- select the right skin in the spinner
|
||||
bool currSkinFound = false;
|
||||
@ -245,11 +245,11 @@ void OptionsScreenUI::eventCallback(Widget* widget, const std::string& name, con
|
||||
if(internet->getState())
|
||||
NewsManager::get()->init(false);
|
||||
}
|
||||
else if (name=="remember-me")
|
||||
else if (name=="show-login")
|
||||
{
|
||||
CheckBoxWidget* remember_me = getWidget<CheckBoxWidget>("remember-me");
|
||||
assert( remember_me != NULL );
|
||||
UserConfigParams::m_remember_user = remember_me->getState();
|
||||
CheckBoxWidget* show_login = getWidget<CheckBoxWidget>("show-login");
|
||||
assert( show_login != NULL );
|
||||
UserConfigParams::m_always_show_login_screen = show_login->getState();
|
||||
}
|
||||
else if (name == "language")
|
||||
{
|
||||
|
@ -73,6 +73,8 @@ void BaseUserScreen::init()
|
||||
m_info_widget = getWidget<LabelWidget>("message");
|
||||
assert(m_info_widget);
|
||||
|
||||
getWidget<CheckBoxWidget>("remember-user")
|
||||
->setState(UserConfigParams::m_always_show_login_screen);
|
||||
m_sign_out_name = "";
|
||||
m_sign_in_name = "";
|
||||
|
||||
@ -192,6 +194,8 @@ void BaseUserScreen::makeEntryFieldsVisible()
|
||||
bool online = m_online_cb->getState();
|
||||
getWidget<LabelWidget>("label_username")->setVisible(online);
|
||||
m_username_tb->setVisible(online);
|
||||
getWidget<LabelWidget>("label_remember")->setVisible(online);
|
||||
getWidget<CheckBoxWidget>("remember-user")->setVisible(online);
|
||||
PlayerProfile *player = getSelectedPlayer();
|
||||
if(player && player->hasSavedSession() && online)
|
||||
{
|
||||
@ -230,6 +234,11 @@ void BaseUserScreen::eventCallback(Widget* widget,
|
||||
if (StringUtils::fromString(s_index, id))
|
||||
selectUser(id);
|
||||
}
|
||||
else if (name == "remember-user")
|
||||
{
|
||||
UserConfigParams::m_remember_user =
|
||||
getWidget<CheckBoxWidget>("remember-user")->getState();
|
||||
}
|
||||
else if (name == "online")
|
||||
{
|
||||
// If online access is not allowed, do not accept an online account
|
||||
|
Loading…
x
Reference in New Issue
Block a user