Add remember me checekbox on the initial screen
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@10371 178a84e3-b1eb-0310-8ba1-8eac791a3b58
This commit is contained in:
parent
0e4d84bd26
commit
9f727200c3
@ -8,6 +8,13 @@
|
||||
<list id="gameslots" proportion="5" width="75%" align="center"/>
|
||||
<spacer width="20" height="25"/>
|
||||
|
||||
<div layout="horizontal-row" align="center" width="70%" height="fit">
|
||||
<checkbox id="rememberme" />
|
||||
<label text="Remember me" height="100%"/>
|
||||
</div>
|
||||
|
||||
<spacer width="20" height="15"/>
|
||||
|
||||
<button id="creategame" x="20"
|
||||
I18N="In story mode 'select a game slot' menu"
|
||||
text="Create a new player" align="center"/>
|
||||
|
@ -518,7 +518,11 @@ namespace UserConfigParams
|
||||
PARAM_PREFIX StringUserConfigParam m_skin_file
|
||||
PARAM_DEFAULT( StringUserConfigParam("Peach.stkskin", "skin_file",
|
||||
"Name of the skin to use") );
|
||||
|
||||
|
||||
PARAM_PREFIX WStringUserConfigParam m_default_player
|
||||
PARAM_DEFAULT( WStringUserConfigParam(L"", "default_player",
|
||||
"Which player to use by default (if empty, will prompt)") );
|
||||
|
||||
// ---- Addon server related entries
|
||||
PARAM_PREFIX GroupUserConfigParam m_addon_group
|
||||
PARAM_DEFAULT( GroupUserConfigParam("AddonAndNews",
|
||||
|
@ -18,6 +18,7 @@
|
||||
#include "states_screens/story_mode_lobby.hpp"
|
||||
|
||||
#include "challenges/unlock_manager.hpp"
|
||||
#include "guiengine/widgets/check_box_widget.hpp"
|
||||
#include "guiengine/widgets/list_widget.hpp"
|
||||
#include "states_screens/dialogs/enter_player_name_dialog.hpp"
|
||||
#include "states_screens/main_menu_screen.hpp"
|
||||
@ -46,10 +47,27 @@ void StoryModeLobbyScreen::init()
|
||||
{
|
||||
Screen::init();
|
||||
|
||||
CheckBoxWidget* cb = getWidget<CheckBoxWidget>("rememberme");
|
||||
cb->setState(false);
|
||||
|
||||
ListWidget* list = getWidget<ListWidget>("gameslots");
|
||||
list->clear();
|
||||
|
||||
PtrVector<PlayerProfile>& players = UserConfigParams::m_all_players;
|
||||
|
||||
if (UserConfigParams::m_default_player.toString().size() > 0)
|
||||
{
|
||||
for (int n=0; n<players.size(); n++)
|
||||
{
|
||||
if (players[n].getName() == UserConfigParams::m_default_player.toString())
|
||||
{
|
||||
unlock_manager->setCurrentSlot(n);
|
||||
StateManager::get()->resetAndGoToScreen(MainMenuScreen::getInstance());
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for (int n=0; n<players.size(); n++)
|
||||
{
|
||||
if (players[n].isGuestAccount()) continue;
|
||||
@ -106,6 +124,14 @@ void StoryModeLobbyScreen::eventCallback(Widget* widget, const std::string& name
|
||||
fprintf(stderr, "[StoryModeLobbyScreen] ERROR: cannot find player corresponding to slot '%s'\n",
|
||||
core::stringc(list->getSelectionLabel().c_str()).c_str());
|
||||
}
|
||||
else
|
||||
{
|
||||
CheckBoxWidget* cb = getWidget<CheckBoxWidget>("rememberme");
|
||||
if (cb->getState())
|
||||
{
|
||||
UserConfigParams::m_default_player = list->getSelectionLabel();
|
||||
}
|
||||
}
|
||||
|
||||
StateManager::get()->resetAndGoToScreen(MainMenuScreen::getInstance());
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user