Updates to grid manager: Show advanced info but hide the ability to edit it by hand for now.

Cinders 2013-03-30 13:13:41 -06:00
parent 04e1a0592b
commit 1f30846fb2
8 changed files with 396 additions and 76 deletions

View File

@ -20389,5 +20389,16 @@ Change of this parameter will affect the layout of buttons in notification toast
<key>Value</key>
<real>0.9</real>
</map>
<key>FSEditGrid</key>
<map>
<key>Comment</key>
<string>Allows editing a grid from the grid manager</string>
<key>Persist</key>
<integer>0</integer>
<key>Type</key>
<string>Boolean</string>
<key>Value</key>
<integer>0</integer>
</map>
</map>
</llsd>

View File

@ -638,8 +638,8 @@ void LLGridManager::addGrid(const std::string& loginuri)
// </FS:AW grid management>
//
// LLGridManager::addGrid - add a grid to the grid list, populating the needed values
// if they're not populated yet.
/// LLGridManager::addGrid - add a grid to the grid list, populating the needed values
/// if they're not populated yet.
//
void LLGridManager::addGrid(GridEntry* grid_entry, AddState state)
{

View File

@ -116,6 +116,7 @@ public:
FETCH,
FETCHTEMP,
SYSTEM,
MANUAL,
RETRY,
LOCAL,
FINISH,
@ -254,10 +255,10 @@ public:
void saveGridList();
// </AW opensim>
void clearFavorites();
void addGrid(GridEntry* grid_info, AddState state);
private:
friend class GridInfoRequestResponder;
void addGrid(GridEntry* grid_info, AddState state);
void incResponderCount(){++mResponderCount;}
void decResponderCount(){--mResponderCount;}
void gridInfoResponderCB(GridEntry* grid_data);

View File

@ -3497,33 +3497,59 @@ void LLFloaterPreference::applySelection(LLScrollListCtrl* control,BOOL all)
}
// </FS:Zi>
#ifdef OPENSIM// <FS:AW optional opensim support>
//<FS:AW opensim preferences>
// <FS:AW optional opensim support>
#ifdef OPENSIM
static LLRegisterPanelClassWrapper<LLPanelPreferenceOpensim> t_pref_opensim("panel_preference_opensim");
LLPanelPreferenceOpensim::LLPanelPreferenceOpensim() : LLPanelPreference(),
mGridListControl(NULL)
{
// <FS:AW opensim search support>
mCommitCallbackRegistrar.add("Pref.ClearDebugSearchURL", boost::bind(&LLPanelPreferenceOpensim::onClickClearDebugSearchURL, this));
mCommitCallbackRegistrar.add("Pref.PickDebugSearchURL", boost::bind(&LLPanelPreferenceOpensim::onClickPickDebugSearchURL, this));
// </FS:AW opensim search support>
// <FS:AW grid management>
mCommitCallbackRegistrar.add("Pref.AddGrid", boost::bind(&LLPanelPreferenceOpensim::onClickAddGrid, this));
mCommitCallbackRegistrar.add("Pref.ClearGrid", boost::bind(&LLPanelPreferenceOpensim::onClickClearGrid, this));
mCommitCallbackRegistrar.add("Pref.RefreshGrid", boost::bind( &LLPanelPreferenceOpensim::onClickRefreshGrid, this));
mCommitCallbackRegistrar.add("Pref.RemoveGrid", boost::bind( &LLPanelPreferenceOpensim::onClickRemoveGrid, this));
// </FS:AW grid management>
mCommitCallbackRegistrar.add("Pref.SaveGrid", boost::bind(&LLPanelPreferenceOpensim::onClickSaveGrid, this));
}
// <FS:AW grid management>
BOOL LLPanelPreferenceOpensim::postBuild()
{
mEditorGridName = findChild<LLLineEditor>("name_edit");
mEditorGridURI = findChild<LLLineEditor>("grid_uri_edit");
mEditorLoginPage = findChild<LLLineEditor>("login_page_edit");
mEditorHelperURI = findChild<LLLineEditor>("helper_uri_edit");
mEditorWebsite = findChild<LLLineEditor>("website_edit");
mEditorSupport = findChild<LLLineEditor>("support_edit");
mEditorRegister = findChild<LLLineEditor>("register_edit");
mEditorPassword = findChild<LLLineEditor>("password_edit");
mEditorSearch = findChild<LLLineEditor>("search_edit");
mEditorGridMessage = findChild<LLLineEditor>("message_edit");
mGridListControl = getChild<LLScrollListCtrl>("grid_list");
mGridListControl->setCommitCallback(boost::bind(&LLPanelPreferenceOpensim::onSelectGrid, this));
refreshGridList();
return LLPanelPreference::postBuild();
}
void LLPanelPreferenceOpensim::onSelectGrid()
{
LLSD grid_info;
std::string grid = mGridListControl->getSelectedValue();
LLGridManager::getInstance()->getGridData(grid, grid_info);
mEditorGridName->setText(grid_info[GRID_LABEL_VALUE].asString());
mEditorGridURI->setText(grid_info[GRID_LOGIN_URI_VALUE][0].asString());
mEditorLoginPage->setText(grid_info[GRID_LOGIN_PAGE_VALUE].asString());
mEditorHelperURI->setText(grid_info[GRID_HELPER_URI_VALUE].asString());
mEditorWebsite->setText(grid_info["about"].asString());
mEditorSupport->setText(grid_info["help"].asString());
mEditorRegister->setText(grid_info[GRID_REGISTER_NEW_ACCOUNT].asString());
mEditorPassword->setText(grid_info[GRID_FORGOT_PASSWORD].asString());
mEditorSearch->setText(grid_info["search"].asString());
mEditorGridMessage->setText(grid_info["message"].asString());
}
void LLPanelPreferenceOpensim::apply()
{
LLGridManager::getInstance()->saveGridList();
@ -3553,11 +3579,34 @@ void LLPanelPreferenceOpensim::addedGrid(bool success)
if (success)
{
onClickClearGrid();
LLPanelLogin::updateServerCombo();
}
refreshGridList(success);
}
// TODO: Save changes to grid entries
void LLPanelPreferenceOpensim::onClickSaveGrid()
{
LLSD grid_info;
grid_info[GRID_VALUE] = mGridListControl->getSelectedValue();
grid_info[GRID_LABEL_VALUE] = mEditorGridName->getValue();
grid_info[GRID_LOGIN_URI_VALUE][0] = mEditorGridURI->getValue();
grid_info[GRID_LOGIN_PAGE_VALUE] = mEditorLoginPage->getValue();
grid_info[GRID_HELPER_URI_VALUE] = mEditorHelperURI->getValue();
grid_info["about"] = mEditorWebsite->getValue();
grid_info["help"] = mEditorSupport->getValue();
grid_info[GRID_REGISTER_NEW_ACCOUNT] = mEditorRegister->getValue();
grid_info[GRID_FORGOT_PASSWORD] = mEditorPassword->getValue();
grid_info["search"] = mEditorSearch->getValue();
grid_info["message"] = mEditorGridMessage->getValue();
GridEntry* grid_entry = new GridEntry;
grid_entry->grid = grid_info;
grid_entry->set_current = false;
//getChild<LLUICtrl>("grid_management_panel")->setEnabled(FALSE);
//LLGridManager::getInstance()->addGridListChangedCallback(boost::bind(&LLPanelPreferenceOpensim::addedGrid, this, _1));
//LLGridManager::getInstance()->addGrid(grid_entry, LLGridManager::MANUAL);
}
void LLPanelPreferenceOpensim::onClickClearGrid()
{
gSavedSettings.setString("OpensimPrefsAddGrid", std::string());
@ -3598,7 +3647,6 @@ bool LLPanelPreferenceOpensim::removeGridCB(const LLSD& notification, const LLSD
getChild<LLUICtrl>("grid_management_panel")->setEnabled(FALSE);
/*mGridListChanged =*/ LLGridManager::getInstance()->addGridListChangedCallback(boost::bind(&LLPanelPreferenceOpensim::refreshGridList, this, _1));
LLGridManager::getInstance()->removeGrid(grid);
LLPanelLogin::updateServerCombo();
}
return false;
}
@ -3648,8 +3696,7 @@ void LLPanelPreferenceOpensim::refreshGridList(bool success)
}
}
}
// <FS:AW grid management>
// <FS:AW opensim search support>
void LLPanelPreferenceOpensim::onClickClearDebugSearchURL()
{
LLNotificationsUtil::add("ConfirmClearDebugSearchURL", LLSD(), LLSD(), callback_clear_debug_search);
@ -3660,7 +3707,6 @@ void LLPanelPreferenceOpensim::onClickPickDebugSearchURL()
LLNotificationsUtil::add("ConfirmPickDebugSearchURL", LLSD(), LLSD(),callback_pick_debug_search );
}
// </FS:AW opensim search support>
// </FS:AW opensim preferences>
#endif // OPENSIM // <FS:AW optional opensim support>
#endif // OPENSIM
// <FS:AW optional opensim support>

View File

@ -35,6 +35,7 @@
#include "llfloater.h"
#include "llavatarpropertiesprocessor.h"
#include "lllineeditor.h" // <FS:CR>
class LLPanelPreference;
class LLPanelLCD;
@ -346,7 +347,9 @@ protected:
void addedGrid(bool success);
void onClickClearGrid();
void onClickRefreshGrid();
void onClickSaveGrid();
void onClickRemoveGrid();
void onSelectGrid();
bool removeGridCB(const LLSD& notification, const LLSD& response);
// </FS:AW grid management>
// <FS:AW opensim search support>
@ -356,6 +359,17 @@ protected:
void refreshGridList(bool success = true);
LLScrollListCtrl* mGridListControl;
private:
LLLineEditor* mEditorGridName;
LLLineEditor* mEditorGridURI;
LLLineEditor* mEditorLoginPage;
LLLineEditor* mEditorHelperURI;
LLLineEditor* mEditorWebsite;
LLLineEditor* mEditorSupport;
LLLineEditor* mEditorRegister;
LLLineEditor* mEditorPassword;
LLLineEditor* mEditorSearch;
LLLineEditor* mEditorGridMessage;
};
// </FS:AW opensim preferences>
#endif // OPENSIM // <FS:AW optional opensim support>
@ -385,7 +399,6 @@ private:
bool mSocksSettingsDirty;
typedef std::map<LLControlVariable*, LLSD> control_values_map_t;
control_values_map_t mSavedValues;
};

View File

@ -293,6 +293,7 @@ LLPanelLogin::LLPanelLogin(const LLRect &rect,
LLPanelLogin::onUpdateStartSLURL(start_slurl); // updates grid if needed
}
updateServerCombo();
loadLoginPage();
// </FS:CR>
}

View File

@ -88,7 +88,6 @@ public:
/// to be called from LLStartUp::setStartSLURL
static void onUpdateStartSLURL(const LLSLURL& new_start_slurl);
static void updateServerCombo();
private:
friend class LLPanelLoginListener;
@ -110,6 +109,7 @@ private:
static void onClickForgotPassword(void*);
static void onClickHelp(void*);
static void onPassKey(LLLineEditor* caller, void* user_data);
static void updateServerCombo();
// <FS:CR>
static void onClickRemove(void*);
static void onClickGridMgrHelp(void*);

View File

@ -9,15 +9,26 @@
width="540"
label="Opensim"
name="opensim_panel">
<tab_container
label="Opensim"
layout="topleft"
follows="all"
top="5"
bottom="-10"
left="1"
right="-1"
name="tabs"
tab_min_width="50"
tab_position="top" >
<panel
border="false"
follows="all"
height="260"
height="440"
layout="topleft"
left="0"
top="0"
width="540"
label=""
label="Grid Manager"
name="grid_management_panel">
<text
type="string"
@ -82,12 +93,12 @@
Manage Grids
</text>
<scroll_list
height="165"
height="125"
layout="topleft"
left="50"
name="grid_list"
draw_heading="true"
top_pad="8"
top="122"
width="370">
<scroll_list.columns
label="Grid name"
@ -110,7 +121,7 @@
<button.commit_callback
function="Pref.RefreshGrid" />
</button>
<button
<button
follows="left|top"
height="19"
label="Remove"
@ -122,18 +133,254 @@
<button.commit_callback
function="Pref.RemoveGrid" />
</button>
<panel
border="true"
follows="all"
height="440"
layout="topleft"
left="0"
top="210"
width="540"
label=""
name="advanced_grid_panel">
<text
top="12"
follows="left|top"
layout="topleft"
left="50"
height="16"
name="grid_name_text"
width="130">
Grid Name:
</text>
<line_editor
enabled_control="FSEditGrid"
follows="left|top|right"
height="16"
layout="topleft"
left_pad="5"
name="name_edit"
top_delta="0"
width="300" />
<check_box
visible="false"
control_name="FSEditGrid"
height="16"
label=""
follows="left|top"
layout="topleft"
left_pad="4"
name="enable_lock"
width="16" />
<icon
visible="false"
height="14"
image_name="Locked_Icon"
follows="left|top"
layout="topleft"
left_pad="2"
top_delta="-2"
mouse_opaque="true"
name="lock"
width="10" />
<text
top_pad="2"
follows="left|top"
layout="topleft"
left="50"
height="16"
name="grid_uri_text"
width="130">
Grid URI:
</text>
<line_editor
enabled_control="FSEditGrid"
follows="left|top|right"
height="16"
layout="topleft"
left_pad="5"
name="grid_uri_edit"
top_delta="0"
width="300" />
<text
top_pad="2"
follows="left|top"
layout="topleft"
left="50"
height="16"
name="login_page_text"
width="130">
Login Page:
</text>
<line_editor
enabled_control="FSEditGrid"
follows="left|top|right"
height="16"
layout="topleft"
left_pad="5"
name="login_page_edit"
top_delta="0"
width="300" />
<button
visible="false"
enabled_control="FSEditGrid"
follows="left|top"
height="19"
label="Save"
layout="topleft"
left_pad="2"
name="save_grid"
top_delta="0"
width="45">
<button.commit_callback
function="Pref.SaveGrid" />
</button>
<text
top_pad="2"
follows="left|top"
layout="topleft"
left="50"
height="16"
name="helper_uri_text"
width="130">
Helper URI:
</text>
<line_editor
enabled_control="FSEditGrid"
follows="left|top|right"
height="16"
layout="topleft"
left_pad="5"
name="helper_uri_edit"
top_delta="0"
width="300" />
<text
top_pad="2"
follows="left|top"
layout="topleft"
left="50"
height="16"
name="website_text"
width="130">
Grid Website:
</text>
<line_editor
enabled_control="FSEditGrid"
follows="left|top|right"
height="16"
layout="topleft"
left_pad="5"
name="website_edit"
top_delta="0"
width="300" />
<text
top_pad="2"
follows="left|top"
layout="topleft"
left="50"
height="16"
name="support_text"
width="130">
Grid Support:
</text>
<line_editor
enabled_control="FSEditGrid"
follows="left|top|right"
height="16"
layout="topleft"
left_pad="5"
name="support_edit"
top_delta="0"
width="300" />
<text
top_pad="2"
follows="left|top"
layout="topleft"
left="50"
height="16"
name="register_text"
width="130">
Grid Registration:
</text>
<line_editor
enabled_control="FSEditGrid"
follows="left|top|right"
height="16"
layout="topleft"
left_pad="5"
name="register_edit"
top_delta="0"
width="300" />
<text
top_pad="2"
follows="left|top"
layout="topleft"
left="50"
height="16"
name="password_text"
width="130">
Grid Password URI:
</text>
<line_editor
enabled_control="FSEditGrid"
follows="left|top|right"
height="16"
layout="topleft"
left_pad="5"
name="password_edit"
top_delta="0"
width="300" />
<text
top_pad="2"
follows="left|top"
layout="topleft"
left="50"
height="16"
name="search_text"
width="130">
Grid Search:
</text>
<line_editor
enabled_control="FSEditGrid"
follows="left|top|right"
height="16"
layout="topleft"
left_pad="5"
name="search_edit"
top_delta="0"
width="300" />
<text
top_pad="2"
follows="left|top"
layout="topleft"
left="50"
height="16"
name="message_text"
width="130">
Grid Message URI:
</text>
<line_editor
enabled_control="FSEditGrid"
follows="left|top|right"
height="16"
layout="topleft"
left_pad="5"
name="message_edit"
top_delta="0"
width="300" />
</panel>
</panel>
<panel
border="false"
follows="all"
height="56"
layout="topleft"
left="0"
top_pad="10"
width="540"
label=""
name="debug_search_panel">
<check_box
border="false"
follows="all"
height="440"
layout="topleft"
left="0"
top="0"
width="540"
label="Miscellaneous"
name="opensim_misc_panel">
<check_box
control_name="FSOpenSimLightshare"
height="16"
initial_value="true"
@ -141,9 +388,9 @@
layout="topleft"
left="30"
name="Lightshare"
top_pad="1"
top="12"
width="256" />
<check_box
<check_box
control_name="DebugSearch"
height="16"
initial_value="false"
@ -153,19 +400,19 @@
name="DebugSearch"
top_pad="1"
width="256" />
<text
type="string"
length="1"
follows="left|top"
height="12"
layout="topleft"
left="50"
name="search_url_debug_text"
top_pad="5"
width="400">
Override current search url: (no override if empty)
</text>
<line_editor
<text
type="string"
length="1"
follows="left|top"
height="12"
layout="topleft"
left="50"
name="search_url_debug_text"
top_pad="5"
width="400">
Override current search url: (no override if empty)
</text>
<line_editor
control_name="SearchURLDebug"
enabled_control="DebugSearch"
border_style="line"
@ -179,32 +426,33 @@
name="search_url_debug"
top_pad="5"
width="270" />
<button
enabled_control="DebugSearch"
follows="left|top"
height="19"
label="Clear"
label_selected="Clear"
layout="topleft"
left_pad="2"
name="clear_search_url_debug"
top_delta="0"
width="50">
<button.commit_callback
function="Pref.ClearDebugSearchURL" />
</button>
<button
enabled_control="DebugSearch"
follows="left|top"
height="19"
label="Pick"
layout="topleft"
left_pad="2"
name="pick_current_search_url"
top_delta="0"
width="50">
<button.commit_callback
function="Pref.PickDebugSearchURL" />
</button>
<button
enabled_control="DebugSearch"
follows="left|top"
height="19"
label="Clear"
label_selected="Clear"
layout="topleft"
left_pad="2"
name="clear_search_url_debug"
top_delta="0"
width="50">
<button.commit_callback
function="Pref.ClearDebugSearchURL" />
</button>
<button
enabled_control="DebugSearch"
follows="left|top"
height="19"
label="Pick"
layout="topleft"
left_pad="2"
name="pick_current_search_url"
top_delta="0"
width="50">
<button.commit_callback
function="Pref.PickDebugSearchURL" />
</button>
</panel>
</tab_container>
</panel>