Skip to content
Snippets Groups Projects
Commit d01afc8a authored by Richard Linden's avatar Richard Linden
Browse files

SOCIAL-751 FIX Don't Quit button on 'Changing modes...' dialog gives the false...

SOCIAL-751 FIX Don't Quit button on 'Changing modes...' dialog gives the false impression that it does nothing
combo box now changes back to previous label when selecting don't quit
parent 08846c3f
Branches
Tags
No related merge requests found
......@@ -214,7 +214,9 @@ LLPanelLogin::LLPanelLogin(const LLRect &rect,
}
updateLocationCombo(false);
gSavedSettings.getControl("SessionSettingsFile")->getSignal()->connect(boost::bind(&onModeChange));
LLUICtrl& mode_combo = getChildRef<LLUICtrl>("mode_combo");
mode_combo.setValue(gSavedSettings.getString("SessionSettingsFile"));
mode_combo.setCommitCallback(boost::bind(&LLPanelLogin::onModeChange, this, getChild<LLUICtrl>("mode_combo")->getValue(), _2));
LLComboBox* server_choice_combo = sInstance->getChild<LLComboBox>("server_combo");
server_choice_combo->setCommitCallback(onSelectServer, NULL);
......@@ -1159,23 +1161,26 @@ void LLPanelLogin::updateLoginPanelLinks()
sInstance->getChildView("forgot_password_text")->setVisible( system_grid);
}
//static
void LLPanelLogin::onModeChange()
void LLPanelLogin::onModeChange(const LLSD& original_value, const LLSD& new_value)
{
if (original_value.asString() != new_value.asString())
{
LLNotificationsUtil::add("ModeChange", LLSD(), LLSD(), boost::bind(&onModeChangeConfirm, _1, _2));
LLNotificationsUtil::add("ModeChange", LLSD(), LLSD(), boost::bind(&LLPanelLogin::onModeChangeConfirm, this, original_value, new_value, _1, _2));
}
}
//static
void LLPanelLogin::onModeChangeConfirm(const LLSD& notification, const LLSD& response)
void LLPanelLogin::onModeChangeConfirm(const LLSD& original_value, const LLSD& new_value, const LLSD& notification, const LLSD& response)
{
S32 option = LLNotificationsUtil::getSelectedOption(notification, response);
switch (option)
{
case 0:
LLAppViewer::instance()->requestQuit();
gSavedSettings.getControl("SessionSettingsFile")->set(new_value);
LLAppViewer::instance()->forceQuit();
break;
case 1:
// do nothing
// revert to original value
getChild<LLUICtrl>("mode_combo")->setValue(original_value);
break;
default:
break;
......
......@@ -98,8 +98,8 @@ class LLPanelLogin:
static void onServerComboLostFocus(LLFocusableElement*);
static void updateServerCombo();
static void updateStartSLURL();
static void onModeChange();
static void onModeChangeConfirm(const LLSD& notification, const LLSD& response);
void onModeChange(const LLSD& original_value, const LLSD& new_value);
void onModeChangeConfirm(const LLSD& original_value, const LLSD& new_value, const LLSD& notification, const LLSD& response);
static void updateLoginPanelLinks();
......
......@@ -133,7 +133,6 @@ label="Remember password"
max_chars="128"
tool_tip="Select your mode. Choose Basic for fast, easy exploration and chat. Choose Advanced to access more features."
top_pad="0"
control_name="SessionSettingsFile"
name="mode_combo"
width="110">
<combo_box.item
......
......@@ -134,7 +134,6 @@ top="20"
max_chars="128"
top_pad="0"
tool_tip="Select your mode. Choose Basic for fast, easy exploration and chat. Choose Advanced to access more features."
control_name="SessionSettingsFile"
name="mode_combo"
width="120">
<combo_box.item
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment