STEAM-14: login when user presses Enter at username or password.
The tricky thing about this fix is that the "Log In" button used to be in the same layout_panel as the username and password fields. Now it's not, so the fact that it's the default button for its layout_panel doesn't matter because that layout_panel doesn't have focus. Richard pointed out that we can make the commit action for the username and password fields initiate login -- as long as neither field implicitly runs its commit action when it loses focus!meow-7.2.2
parent
ad4102db1b
commit
379bc7bd1d
|
|
@ -139,14 +139,17 @@ LLPanelLogin::LLPanelLogin(const LLRect &rect,
|
|||
mLogoImage = LLUI::getUIImage("startup_logo");
|
||||
|
||||
buildFromFile( "panel_login.xml");
|
||||
|
||||
|
||||
reshape(rect.getWidth(), rect.getHeight());
|
||||
|
||||
getChild<LLLineEditor>("password_edit")->setKeystrokeCallback(onPassKey, this);
|
||||
LLLineEditor* password_edit(getChild<LLLineEditor>("password_edit"));
|
||||
password_edit->setKeystrokeCallback(onPassKey, this);
|
||||
// STEAM-14: When user presses Enter with this field in focus, initiate login
|
||||
password_edit->setCommitCallback(boost::bind(&LLPanelLogin::onClickConnect, this));
|
||||
|
||||
// change z sort of clickable text to be behind buttons
|
||||
sendChildToBack(getChildView("forgot_password_text"));
|
||||
|
||||
|
||||
LLComboBox* location_combo = getChild<LLComboBox>("start_location_combo");
|
||||
updateLocationSelectorsVisibility(); // separate so that it can be called from preferences
|
||||
location_combo->setFocusLostCallback(boost::bind(&LLPanelLogin::onLocationSLURL, this));
|
||||
|
|
@ -220,14 +223,17 @@ LLPanelLogin::LLPanelLogin(const LLRect &rect,
|
|||
// get the web browser control
|
||||
LLMediaCtrl* web_browser = getChild<LLMediaCtrl>("login_html");
|
||||
web_browser->addObserver(this);
|
||||
|
||||
|
||||
reshapeBrowser();
|
||||
|
||||
loadLoginPage();
|
||||
|
||||
|
||||
// Show last logged in user favorites in "Start at" combo.
|
||||
addUsersWithFavoritesToUsername();
|
||||
getChild<LLComboBox>("username_combo")->setTextChangedCallback(boost::bind(&LLPanelLogin::addFavoritesToStartLocation, this));
|
||||
LLComboBox* username_combo(getChild<LLComboBox>("username_combo"));
|
||||
username_combo->setTextChangedCallback(boost::bind(&LLPanelLogin::addFavoritesToStartLocation, this));
|
||||
// STEAM-14: When user presses Enter with this field in focus, initiate login
|
||||
username_combo->setCommitCallback(boost::bind(&LLPanelLogin::onClickConnect, this));
|
||||
}
|
||||
|
||||
void LLPanelLogin::addUsersWithFavoritesToUsername()
|
||||
|
|
|
|||
|
|
@ -69,12 +69,16 @@
|
|||
width="150">
|
||||
Username:
|
||||
</text>
|
||||
<!-- STEAM-14: Turn off commit_on_focus_lost so if user presses Enter
|
||||
with focus in this combo_box, we can use commit action to initiate
|
||||
login -->
|
||||
<combo_box
|
||||
allow_text_entry="true"
|
||||
follows="left|bottom"
|
||||
height="22"
|
||||
left_delta="0"
|
||||
max_chars="128"
|
||||
commit_on_focus_lost="false"
|
||||
combo_editor.prevalidate_callback="ascii"
|
||||
tool_tip="The username you chose when you registered, like bobsmith12 or Steller Sunshine"
|
||||
top_pad="0"
|
||||
|
|
@ -97,6 +101,9 @@
|
|||
width="150">
|
||||
Password:
|
||||
</text>
|
||||
<!-- STEAM-14: Turn off commit_on_focus_lost so if user presses Enter
|
||||
with focus in this line_editor, we can use commit action to
|
||||
initiate login -->
|
||||
<line_editor
|
||||
follows="left|bottom"
|
||||
height="22"
|
||||
|
|
@ -104,6 +111,7 @@
|
|||
name="password_edit"
|
||||
is_password="true"
|
||||
select_on_focus="true"
|
||||
commit_on_focus_lost="false"
|
||||
top_pad="0"
|
||||
width="135" />
|
||||
</layout_panel>
|
||||
|
|
|
|||
Loading…
Reference in New Issue