diff options
Diffstat (limited to 'indra/newview/llfloatertopobjects.cpp')
-rw-r--r-- | indra/newview/llfloatertopobjects.cpp | 676 |
1 files changed, 338 insertions, 338 deletions
diff --git a/indra/newview/llfloatertopobjects.cpp b/indra/newview/llfloatertopobjects.cpp index 9f277021c8..c630daa836 100644 --- a/indra/newview/llfloatertopobjects.cpp +++ b/indra/newview/llfloatertopobjects.cpp @@ -1,25 +1,25 @@ -/** +/** * @file llfloatertopobjects.cpp * @brief Shows top colliders, top scripts, etc. * * $LicenseInfo:firstyear=2005&license=viewerlgpl$ * Second Life Viewer Source Code * Copyright (C) 2010, Linden Research, Inc. - * + * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; * version 2.1 of the License only. - * + * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. - * + * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * + * * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA * $/LicenseInfo$ */ @@ -61,29 +61,29 @@ // static void LLFloaterTopObjects::show() { - if (sInstance) - { - sInstance->setVisibleAndFrontmost(); - return; - } - - sInstance = new LLFloaterTopObjects(); - sInstance->center(); + if (sInstance) + { + sInstance->setVisibleAndFrontmost(); + return; + } + + sInstance = new LLFloaterTopObjects(); + sInstance->center(); } */ LLFloaterTopObjects::LLFloaterTopObjects(const LLSD& key) -: LLFloater(key), - mInitialized(FALSE), - mtotalScore(0.f) +: LLFloater(key), + mInitialized(FALSE), + mtotalScore(0.f) { - mCommitCallbackRegistrar.add("TopObjects.ShowBeacon", boost::bind(&LLFloaterTopObjects::onClickShowBeacon, this)); - mCommitCallbackRegistrar.add("TopObjects.ReturnSelected", boost::bind(&LLFloaterTopObjects::onReturnSelected, this)); - mCommitCallbackRegistrar.add("TopObjects.ReturnAll", boost::bind(&LLFloaterTopObjects::onReturnAll, this)); - mCommitCallbackRegistrar.add("TopObjects.Refresh", boost::bind(&LLFloaterTopObjects::onRefresh, this)); - mCommitCallbackRegistrar.add("TopObjects.GetByObjectName", boost::bind(&LLFloaterTopObjects::onGetByObjectName, this)); - mCommitCallbackRegistrar.add("TopObjects.GetByOwnerName", boost::bind(&LLFloaterTopObjects::onGetByOwnerName, this)); - mCommitCallbackRegistrar.add("TopObjects.GetByParcelName", boost::bind(&LLFloaterTopObjects::onGetByParcelName, this)); - mCommitCallbackRegistrar.add("TopObjects.CommitObjectsList",boost::bind(&LLFloaterTopObjects::onCommitObjectsList, this)); + mCommitCallbackRegistrar.add("TopObjects.ShowBeacon", boost::bind(&LLFloaterTopObjects::onClickShowBeacon, this)); + mCommitCallbackRegistrar.add("TopObjects.ReturnSelected", boost::bind(&LLFloaterTopObjects::onReturnSelected, this)); + mCommitCallbackRegistrar.add("TopObjects.ReturnAll", boost::bind(&LLFloaterTopObjects::onReturnAll, this)); + mCommitCallbackRegistrar.add("TopObjects.Refresh", boost::bind(&LLFloaterTopObjects::onRefresh, this)); + mCommitCallbackRegistrar.add("TopObjects.GetByObjectName", boost::bind(&LLFloaterTopObjects::onGetByObjectName, this)); + mCommitCallbackRegistrar.add("TopObjects.GetByOwnerName", boost::bind(&LLFloaterTopObjects::onGetByOwnerName, this)); + mCommitCallbackRegistrar.add("TopObjects.GetByParcelName", boost::bind(&LLFloaterTopObjects::onGetByParcelName, this)); + mCommitCallbackRegistrar.add("TopObjects.CommitObjectsList",boost::bind(&LLFloaterTopObjects::onCommitObjectsList, this)); mCommitCallbackRegistrar.add("TopObjects.TeleportToSelected", boost::bind(&LLFloaterTopObjects::teleportToSelectedObject, this)); } @@ -101,330 +101,330 @@ BOOL LLFloaterTopObjects::postBuild() mObjectsScrollList->setCommitOnSelectionChange(TRUE); mObjectsScrollList->setCommitCallback(boost::bind(&LLFloaterTopObjects::onSelectionChanged, this)); - setDefaultBtn("show_beacon_btn"); + setDefaultBtn("show_beacon_btn"); - mCurrentMode = STAT_REPORT_TOP_SCRIPTS; - mFlags = 0; - mFilter.clear(); + mCurrentMode = STAT_REPORT_TOP_SCRIPTS; + mFlags = 0; + mFilter.clear(); - return TRUE; + return TRUE; } // static void LLFloaterTopObjects::setMode(U32 mode) { - LLFloaterTopObjects* instance = LLFloaterReg::getTypedInstance<LLFloaterTopObjects>("top_objects"); - if(!instance) return; - instance->mCurrentMode = mode; + LLFloaterTopObjects* instance = LLFloaterReg::getTypedInstance<LLFloaterTopObjects>("top_objects"); + if(!instance) return; + instance->mCurrentMode = mode; } -// static +// static void LLFloaterTopObjects::handle_land_reply(LLMessageSystem* msg, void** data) { LLFloaterTopObjects* instance = LLFloaterReg::getTypedInstance<LLFloaterTopObjects>("top_objects"); if(instance && instance->isInVisibleChain()) { - instance->handleReply(msg, data); - //HACK: for some reason sometimes top scripts originally comes back - //with no results even though they're there - if (!instance->mObjectListIDs.size() && !instance->mInitialized) - { - instance->onRefresh(); - instance->mInitialized = TRUE; - } - } - else - { - LLFloaterRegionInfo* region_info_floater = LLFloaterReg::getTypedInstance<LLFloaterRegionInfo>("region_info"); - if(region_info_floater) - { - region_info_floater->enableTopButtons(); - } - } + instance->handleReply(msg, data); + //HACK: for some reason sometimes top scripts originally comes back + //with no results even though they're there + if (!instance->mObjectListIDs.size() && !instance->mInitialized) + { + instance->onRefresh(); + instance->mInitialized = TRUE; + } + } + else + { + LLFloaterRegionInfo* region_info_floater = LLFloaterReg::getTypedInstance<LLFloaterRegionInfo>("region_info"); + if(region_info_floater) + { + region_info_floater->enableTopButtons(); + } + } } void LLFloaterTopObjects::handleReply(LLMessageSystem *msg, void** data) { U32 request_flags; - U32 total_count; - U64 total_memory = 0; - - msg->getU32Fast(_PREHASH_RequestData, _PREHASH_RequestFlags, request_flags); - msg->getU32Fast(_PREHASH_RequestData, _PREHASH_TotalObjectCount, total_count); - msg->getU32Fast(_PREHASH_RequestData, _PREHASH_ReportType, mCurrentMode); - - LLScrollListCtrl *list = getChild<LLScrollListCtrl>("objects_list"); - - S32 block_count = msg->getNumberOfBlocks("ReportData"); - for (S32 block = 0; block < block_count; ++block) - { - U32 task_local_id; - U32 time_stamp = 0; - LLUUID task_id; - F32 location_x, location_y, location_z; - F32 score; - std::string name_buf; - std::string owner_buf; - std::string parcel_buf("unknown"); - F32 mono_score = 0.f; - bool have_extended_data = false; - S32 public_urls = 0; - F32 script_memory = 0.f; - - msg->getU32Fast(_PREHASH_ReportData, _PREHASH_TaskLocalID, task_local_id, block); - msg->getUUIDFast(_PREHASH_ReportData, _PREHASH_TaskID, task_id, block); - msg->getF32Fast(_PREHASH_ReportData, _PREHASH_LocationX, location_x, block); - msg->getF32Fast(_PREHASH_ReportData, _PREHASH_LocationY, location_y, block); - msg->getF32Fast(_PREHASH_ReportData, _PREHASH_LocationZ, location_z, block); - msg->getF32Fast(_PREHASH_ReportData, _PREHASH_Score, score, block); - msg->getStringFast(_PREHASH_ReportData, _PREHASH_TaskName, name_buf, block); - msg->getStringFast(_PREHASH_ReportData, _PREHASH_OwnerName, owner_buf, block); - - if(msg->has("DataExtended")) - { - have_extended_data = true; - msg->getU32("DataExtended", "TimeStamp", time_stamp, block); - msg->getF32("DataExtended", "MonoScore", mono_score, block); - msg->getS32("DataExtended", "PublicURLs", public_urls, block); - - std::string parcel_name; - F32 script_size = 0.f; - msg->getString("DataExtended", "ParcelName", parcel_name, block); - msg->getF32("DataExtended", "Size", script_size, block); - if (parcel_name.size() > 0 || script_size > 0) - { - parcel_buf = parcel_name; - script_memory = script_size; - total_memory += script_size; - } - } - - LLSD element; - - element["id"] = task_id; - - LLSD columns; - S32 column_num = 0; - columns[column_num]["column"] = "score"; - columns[column_num]["value"] = llformat("%0.3f", score); - columns[column_num++]["font"] = "SANSSERIF"; - - columns[column_num]["column"] = "name"; - columns[column_num]["value"] = name_buf; - columns[column_num++]["font"] = "SANSSERIF"; - - // Owner names can have trailing spaces sent from server - LLStringUtil::trim(owner_buf); - - // *TODO: Send owner_id from server and look up display name - owner_buf = LLCacheName::buildUsername(owner_buf); - - columns[column_num]["column"] = "owner"; - columns[column_num]["value"] = owner_buf; - columns[column_num++]["font"] = "SANSSERIF"; - - columns[column_num]["column"] = "location"; - columns[column_num]["value"] = llformat("<%0.f, %0.f, %0.f>", location_x, location_y, location_z); - columns[column_num++]["font"] = "SANSSERIF"; - - columns[column_num]["column"] = "parcel"; - columns[column_num]["value"] = parcel_buf; - columns[column_num++]["font"] = "SANSSERIF"; - - columns[column_num]["column"] = "time"; - columns[column_num]["type"] = "date"; - columns[column_num]["value"] = LLDate((time_t)time_stamp); - columns[column_num++]["font"] = "SANSSERIF"; - - if (mCurrentMode == STAT_REPORT_TOP_SCRIPTS - && have_extended_data) - { - columns[column_num]["column"] = "memory"; - columns[column_num]["value"] = llformat("%0.0f", (script_memory / 1024.f)); - columns[column_num++]["font"] = "SANSSERIF"; - - columns[column_num]["column"] = "URLs"; - columns[column_num]["value"] = llformat("%d", public_urls); - columns[column_num++]["font"] = "SANSSERIF"; - } - element["columns"] = columns; - list->addElement(element); - - mObjectListData.append(element); - mObjectListIDs.push_back(task_id); - - mtotalScore += score; - } - - if (total_count == 0 && list->getItemCount() == 0) - { - list->setCommentText(getString("none_descriptor")); - } - else - { - list->selectFirstItem(); - } - - if (mCurrentMode == STAT_REPORT_TOP_SCRIPTS) - { - setTitle(getString("top_scripts_title")); - list->setColumnLabel("score", getString("scripts_score_label")); - - LLUIString format = getString("top_scripts_text"); - total_memory /= 1024; - format.setArg("[MEMORY]", llformat("%ld", total_memory)); - format.setArg("[COUNT]", llformat("%d", total_count)); - format.setArg("[TIME]", llformat("%0.3f", mtotalScore)); - getChild<LLUICtrl>("title_text")->setValue(LLSD(format)); - list->setColumnLabel("URLs", getString("URLs")); - list->setColumnLabel("memory", getString("memory")); - } - else - { - setTitle(getString("top_colliders_title")); - list->setColumnLabel("score", getString("colliders_score_label")); - list->setColumnLabel("URLs", ""); - list->setColumnLabel("memory", ""); - LLUIString format = getString("top_colliders_text"); - format.setArg("[COUNT]", llformat("%d", total_count)); - getChild<LLUICtrl>("title_text")->setValue(LLSD(format)); - } - - LLFloaterRegionInfo* region_info_floater = LLFloaterReg::getTypedInstance<LLFloaterRegionInfo>("region_info"); - if(region_info_floater) - { - region_info_floater->enableTopButtons(); - } - getChildView("refresh_btn")->setEnabled(true); + U32 total_count; + U64 total_memory = 0; + + msg->getU32Fast(_PREHASH_RequestData, _PREHASH_RequestFlags, request_flags); + msg->getU32Fast(_PREHASH_RequestData, _PREHASH_TotalObjectCount, total_count); + msg->getU32Fast(_PREHASH_RequestData, _PREHASH_ReportType, mCurrentMode); + + LLScrollListCtrl *list = getChild<LLScrollListCtrl>("objects_list"); + + S32 block_count = msg->getNumberOfBlocks("ReportData"); + for (S32 block = 0; block < block_count; ++block) + { + U32 task_local_id; + U32 time_stamp = 0; + LLUUID task_id; + F32 location_x, location_y, location_z; + F32 score; + std::string name_buf; + std::string owner_buf; + std::string parcel_buf("unknown"); + F32 mono_score = 0.f; + bool have_extended_data = false; + S32 public_urls = 0; + F32 script_memory = 0.f; + + msg->getU32Fast(_PREHASH_ReportData, _PREHASH_TaskLocalID, task_local_id, block); + msg->getUUIDFast(_PREHASH_ReportData, _PREHASH_TaskID, task_id, block); + msg->getF32Fast(_PREHASH_ReportData, _PREHASH_LocationX, location_x, block); + msg->getF32Fast(_PREHASH_ReportData, _PREHASH_LocationY, location_y, block); + msg->getF32Fast(_PREHASH_ReportData, _PREHASH_LocationZ, location_z, block); + msg->getF32Fast(_PREHASH_ReportData, _PREHASH_Score, score, block); + msg->getStringFast(_PREHASH_ReportData, _PREHASH_TaskName, name_buf, block); + msg->getStringFast(_PREHASH_ReportData, _PREHASH_OwnerName, owner_buf, block); + + if(msg->has("DataExtended")) + { + have_extended_data = true; + msg->getU32("DataExtended", "TimeStamp", time_stamp, block); + msg->getF32("DataExtended", "MonoScore", mono_score, block); + msg->getS32("DataExtended", "PublicURLs", public_urls, block); + + std::string parcel_name; + F32 script_size = 0.f; + msg->getString("DataExtended", "ParcelName", parcel_name, block); + msg->getF32("DataExtended", "Size", script_size, block); + if (parcel_name.size() > 0 || script_size > 0) + { + parcel_buf = parcel_name; + script_memory = script_size; + total_memory += script_size; + } + } + + LLSD element; + + element["id"] = task_id; + + LLSD columns; + S32 column_num = 0; + columns[column_num]["column"] = "score"; + columns[column_num]["value"] = llformat("%0.3f", score); + columns[column_num++]["font"] = "SANSSERIF"; + + columns[column_num]["column"] = "name"; + columns[column_num]["value"] = name_buf; + columns[column_num++]["font"] = "SANSSERIF"; + + // Owner names can have trailing spaces sent from server + LLStringUtil::trim(owner_buf); + + // *TODO: Send owner_id from server and look up display name + owner_buf = LLCacheName::buildUsername(owner_buf); + + columns[column_num]["column"] = "owner"; + columns[column_num]["value"] = owner_buf; + columns[column_num++]["font"] = "SANSSERIF"; + + columns[column_num]["column"] = "location"; + columns[column_num]["value"] = llformat("<%0.f, %0.f, %0.f>", location_x, location_y, location_z); + columns[column_num++]["font"] = "SANSSERIF"; + + columns[column_num]["column"] = "parcel"; + columns[column_num]["value"] = parcel_buf; + columns[column_num++]["font"] = "SANSSERIF"; + + columns[column_num]["column"] = "time"; + columns[column_num]["type"] = "date"; + columns[column_num]["value"] = LLDate((time_t)time_stamp); + columns[column_num++]["font"] = "SANSSERIF"; + + if (mCurrentMode == STAT_REPORT_TOP_SCRIPTS + && have_extended_data) + { + columns[column_num]["column"] = "memory"; + columns[column_num]["value"] = llformat("%0.0f", (script_memory / 1024.f)); + columns[column_num++]["font"] = "SANSSERIF"; + + columns[column_num]["column"] = "URLs"; + columns[column_num]["value"] = llformat("%d", public_urls); + columns[column_num++]["font"] = "SANSSERIF"; + } + element["columns"] = columns; + list->addElement(element); + + mObjectListData.append(element); + mObjectListIDs.push_back(task_id); + + mtotalScore += score; + } + + if (total_count == 0 && list->getItemCount() == 0) + { + list->setCommentText(getString("none_descriptor")); + } + else + { + list->selectFirstItem(); + } + + if (mCurrentMode == STAT_REPORT_TOP_SCRIPTS) + { + setTitle(getString("top_scripts_title")); + list->setColumnLabel("score", getString("scripts_score_label")); + + LLUIString format = getString("top_scripts_text"); + total_memory /= 1024; + format.setArg("[MEMORY]", llformat("%ld", total_memory)); + format.setArg("[COUNT]", llformat("%d", total_count)); + format.setArg("[TIME]", llformat("%0.3f", mtotalScore)); + getChild<LLUICtrl>("title_text")->setValue(LLSD(format)); + list->setColumnLabel("URLs", getString("URLs")); + list->setColumnLabel("memory", getString("memory")); + } + else + { + setTitle(getString("top_colliders_title")); + list->setColumnLabel("score", getString("colliders_score_label")); + list->setColumnLabel("URLs", ""); + list->setColumnLabel("memory", ""); + LLUIString format = getString("top_colliders_text"); + format.setArg("[COUNT]", llformat("%d", total_count)); + getChild<LLUICtrl>("title_text")->setValue(LLSD(format)); + } + + LLFloaterRegionInfo* region_info_floater = LLFloaterReg::getTypedInstance<LLFloaterRegionInfo>("region_info"); + if(region_info_floater) + { + region_info_floater->enableTopButtons(); + } + getChildView("refresh_btn")->setEnabled(true); } void LLFloaterTopObjects::onCommitObjectsList() { - updateSelectionInfo(); + updateSelectionInfo(); } void LLFloaterTopObjects::updateSelectionInfo() { - LLScrollListCtrl* list = getChild<LLScrollListCtrl>("objects_list"); + LLScrollListCtrl* list = getChild<LLScrollListCtrl>("objects_list"); - if (!list) return; + if (!list) return; - LLUUID object_id = list->getCurrentID(); - if (object_id.isNull()) return; + LLUUID object_id = list->getCurrentID(); + if (object_id.isNull()) return; - std::string object_id_string = object_id.asString(); + std::string object_id_string = object_id.asString(); - getChild<LLUICtrl>("id_editor")->setValue(LLSD(object_id_string)); - LLScrollListItem* sli = list->getFirstSelected(); - llassert(sli); - if (sli) - { - getChild<LLUICtrl>("object_name_editor")->setValue(sli->getColumn(1)->getValue().asString()); - getChild<LLUICtrl>("owner_name_editor")->setValue(sli->getColumn(2)->getValue().asString()); - getChild<LLUICtrl>("parcel_name_editor")->setValue(sli->getColumn(4)->getValue().asString()); - } + getChild<LLUICtrl>("id_editor")->setValue(LLSD(object_id_string)); + LLScrollListItem* sli = list->getFirstSelected(); + llassert(sli); + if (sli) + { + getChild<LLUICtrl>("object_name_editor")->setValue(sli->getColumn(1)->getValue().asString()); + getChild<LLUICtrl>("owner_name_editor")->setValue(sli->getColumn(2)->getValue().asString()); + getChild<LLUICtrl>("parcel_name_editor")->setValue(sli->getColumn(4)->getValue().asString()); + } } // static void LLFloaterTopObjects::onDoubleClickObjectsList(void* data) { - LLFloaterTopObjects* self = (LLFloaterTopObjects*)data; - self->showBeacon(); + LLFloaterTopObjects* self = (LLFloaterTopObjects*)data; + self->showBeacon(); } // static void LLFloaterTopObjects::onClickShowBeacon() { - showBeacon(); + showBeacon(); } void LLFloaterTopObjects::returnObjects(bool all) { - LLMessageSystem *msg = gMessageSystem; - - LLViewerRegion* region = gAgent.getRegion(); - if (!region) return; - - LLCtrlListInterface *list = getChild<LLUICtrl>("objects_list")->getListInterface(); - if (!list || list->getItemCount() == 0) return; - - uuid_vec_t::iterator id_itor; - - bool start_message = true; - - for (id_itor = mObjectListIDs.begin(); id_itor != mObjectListIDs.end(); ++id_itor) - { - LLUUID task_id = *id_itor; - if (!all && !list->isSelected(task_id)) - { - // Selected only - continue; - } - if (start_message) - { - msg->newMessageFast(_PREHASH_ParcelReturnObjects); - msg->nextBlockFast(_PREHASH_AgentData); - msg->addUUIDFast(_PREHASH_AgentID, gAgent.getID()); - msg->addUUIDFast(_PREHASH_SessionID,gAgent.getSessionID()); - msg->nextBlockFast(_PREHASH_ParcelData); - msg->addS32Fast(_PREHASH_LocalID, -1); // Whole region - msg->addS32Fast(_PREHASH_ReturnType, RT_NONE); - start_message = false; - } - - msg->nextBlockFast(_PREHASH_TaskIDs); - msg->addUUIDFast(_PREHASH_TaskID, task_id); - - if (msg->isSendFullFast(_PREHASH_TaskIDs)) - { - msg->sendReliable(region->getHost()); - start_message = true; - } - } - - if (!start_message) - { - msg->sendReliable(region->getHost()); - } + LLMessageSystem *msg = gMessageSystem; + + LLViewerRegion* region = gAgent.getRegion(); + if (!region) return; + + LLCtrlListInterface *list = getChild<LLUICtrl>("objects_list")->getListInterface(); + if (!list || list->getItemCount() == 0) return; + + uuid_vec_t::iterator id_itor; + + bool start_message = true; + + for (id_itor = mObjectListIDs.begin(); id_itor != mObjectListIDs.end(); ++id_itor) + { + LLUUID task_id = *id_itor; + if (!all && !list->isSelected(task_id)) + { + // Selected only + continue; + } + if (start_message) + { + msg->newMessageFast(_PREHASH_ParcelReturnObjects); + msg->nextBlockFast(_PREHASH_AgentData); + msg->addUUIDFast(_PREHASH_AgentID, gAgent.getID()); + msg->addUUIDFast(_PREHASH_SessionID,gAgent.getSessionID()); + msg->nextBlockFast(_PREHASH_ParcelData); + msg->addS32Fast(_PREHASH_LocalID, -1); // Whole region + msg->addS32Fast(_PREHASH_ReturnType, RT_NONE); + start_message = false; + } + + msg->nextBlockFast(_PREHASH_TaskIDs); + msg->addUUIDFast(_PREHASH_TaskID, task_id); + + if (msg->isSendFullFast(_PREHASH_TaskIDs)) + { + msg->sendReliable(region->getHost()); + start_message = true; + } + } + + if (!start_message) + { + msg->sendReliable(region->getHost()); + } } //static bool LLFloaterTopObjects::callbackReturnAll(const LLSD& notification, const LLSD& response) { - S32 option = LLNotificationsUtil::getSelectedOption(notification, response); - LLFloaterTopObjects* instance = LLFloaterReg::getTypedInstance<LLFloaterTopObjects>("top_objects"); - if(!instance) return false; - if (option == 0) - { - instance->returnObjects(true); - } - return false; + S32 option = LLNotificationsUtil::getSelectedOption(notification, response); + LLFloaterTopObjects* instance = LLFloaterReg::getTypedInstance<LLFloaterTopObjects>("top_objects"); + if(!instance) return false; + if (option == 0) + { + instance->returnObjects(true); + } + return false; } void LLFloaterTopObjects::onReturnAll() -{ - LLNotificationsUtil::add("ReturnAllTopObjects", LLSD(), LLSD(), &callbackReturnAll); +{ + LLNotificationsUtil::add("ReturnAllTopObjects", LLSD(), LLSD(), &callbackReturnAll); } void LLFloaterTopObjects::onReturnSelected() { - returnObjects(false); + returnObjects(false); } void LLFloaterTopObjects::clearList() { - LLCtrlListInterface *list = childGetListInterface("objects_list"); - - if (list) - { - list->operateOnAll(LLCtrlListInterface::OP_DELETE); - } + LLCtrlListInterface *list = childGetListInterface("objects_list"); + + if (list) + { + list->operateOnAll(LLCtrlListInterface::OP_DELETE); + } - mObjectListData.clear(); - mObjectListIDs.clear(); - mtotalScore = 0.f; + mObjectListData.clear(); + mObjectListIDs.clear(); + mtotalScore = 0.f; onSelectionChanged(); } @@ -432,86 +432,86 @@ void LLFloaterTopObjects::clearList() void LLFloaterTopObjects::onRefresh() { - U32 mode = STAT_REPORT_TOP_SCRIPTS; - U32 flags = 0; - std::string filter = ""; - - mode = mCurrentMode; - flags = mFlags; - filter = mFilter; - clearList(); - - LLMessageSystem *msg = gMessageSystem; - msg->newMessageFast(_PREHASH_LandStatRequest); - msg->nextBlockFast(_PREHASH_AgentData); - msg->addUUIDFast(_PREHASH_AgentID, gAgent.getID() ); - msg->addUUIDFast(_PREHASH_SessionID, gAgent.getSessionID() ); - msg->nextBlockFast(_PREHASH_RequestData); - msg->addU32Fast(_PREHASH_ReportType, mode); - msg->addU32Fast(_PREHASH_RequestFlags, flags); - msg->addStringFast(_PREHASH_Filter, filter); - msg->addS32Fast(_PREHASH_ParcelLocalID, 0); - - LLFloaterRegionInfo* region_info_floater = LLFloaterReg::getTypedInstance<LLFloaterRegionInfo>("region_info"); - if(region_info_floater) - { - region_info_floater->disableTopButtons(); - } - disableRefreshBtn(); - - msg->sendReliable(gAgent.getRegionHost()); - - mFilter.clear(); - mFlags = 0; + U32 mode = STAT_REPORT_TOP_SCRIPTS; + U32 flags = 0; + std::string filter = ""; + + mode = mCurrentMode; + flags = mFlags; + filter = mFilter; + clearList(); + + LLMessageSystem *msg = gMessageSystem; + msg->newMessageFast(_PREHASH_LandStatRequest); + msg->nextBlockFast(_PREHASH_AgentData); + msg->addUUIDFast(_PREHASH_AgentID, gAgent.getID() ); + msg->addUUIDFast(_PREHASH_SessionID, gAgent.getSessionID() ); + msg->nextBlockFast(_PREHASH_RequestData); + msg->addU32Fast(_PREHASH_ReportType, mode); + msg->addU32Fast(_PREHASH_RequestFlags, flags); + msg->addStringFast(_PREHASH_Filter, filter); + msg->addS32Fast(_PREHASH_ParcelLocalID, 0); + + LLFloaterRegionInfo* region_info_floater = LLFloaterReg::getTypedInstance<LLFloaterRegionInfo>("region_info"); + if(region_info_floater) + { + region_info_floater->disableTopButtons(); + } + disableRefreshBtn(); + + msg->sendReliable(gAgent.getRegionHost()); + + mFilter.clear(); + mFlags = 0; } void LLFloaterTopObjects::disableRefreshBtn() { - getChildView("refresh_btn")->setEnabled(false); + getChildView("refresh_btn")->setEnabled(false); } void LLFloaterTopObjects::onGetByObjectName() { - mFlags = STAT_FILTER_BY_OBJECT; - mFilter = getChild<LLUICtrl>("object_name_editor")->getValue().asString(); - onRefresh(); + mFlags = STAT_FILTER_BY_OBJECT; + mFilter = getChild<LLUICtrl>("object_name_editor")->getValue().asString(); + onRefresh(); } void LLFloaterTopObjects::onGetByOwnerName() { - mFlags = STAT_FILTER_BY_OWNER; - mFilter = getChild<LLUICtrl>("owner_name_editor")->getValue().asString(); - onRefresh(); + mFlags = STAT_FILTER_BY_OWNER; + mFilter = getChild<LLUICtrl>("owner_name_editor")->getValue().asString(); + onRefresh(); } void LLFloaterTopObjects::onGetByParcelName() { - mFlags = STAT_FILTER_BY_PARCEL_NAME; - mFilter = getChild<LLUICtrl>("parcel_name_editor")->getValue().asString(); - onRefresh(); + mFlags = STAT_FILTER_BY_PARCEL_NAME; + mFilter = getChild<LLUICtrl>("parcel_name_editor")->getValue().asString(); + onRefresh(); } void LLFloaterTopObjects::showBeacon() { - LLScrollListCtrl* list = getChild<LLScrollListCtrl>("objects_list"); - if (!list) return; + LLScrollListCtrl* list = getChild<LLScrollListCtrl>("objects_list"); + if (!list) return; - LLScrollListItem* first_selected = list->getFirstSelected(); - if (!first_selected) return; + LLScrollListItem* first_selected = list->getFirstSelected(); + if (!first_selected) return; - std::string name = first_selected->getColumn(1)->getValue().asString(); - std::string pos_string = first_selected->getColumn(3)->getValue().asString(); + std::string name = first_selected->getColumn(1)->getValue().asString(); + std::string pos_string = first_selected->getColumn(3)->getValue().asString(); - F32 x, y, z; - S32 matched = sscanf(pos_string.c_str(), "<%g,%g,%g>", &x, &y, &z); - if (matched != 3) return; + F32 x, y, z; + S32 matched = sscanf(pos_string.c_str(), "<%g,%g,%g>", &x, &y, &z); + if (matched != 3) return; - LLVector3 pos_agent(x, y, z); - LLVector3d pos_global = gAgent.getPosGlobalFromAgent(pos_agent); - std::string tooltip(""); - LLTracker::trackLocation(pos_global, name, tooltip, LLTracker::LOCATION_ITEM); + LLVector3 pos_agent(x, y, z); + LLVector3d pos_global = gAgent.getPosGlobalFromAgent(pos_agent); + std::string tooltip(""); + LLTracker::trackLocation(pos_global, name, tooltip, LLTracker::LOCATION_ITEM); } void LLFloaterTopObjects::teleportToSelectedObject() |