diff --git a/indra/llui/llscrolllistctrl.cpp b/indra/llui/llscrolllistctrl.cpp
index 5c4928e035..75a8f17ae0 100644
--- a/indra/llui/llscrolllistctrl.cpp
+++ b/indra/llui/llscrolllistctrl.cpp
@@ -2758,6 +2758,54 @@ void LLScrollListCtrl::addColumn(const LLScrollListColumn::Params& column_params
dirtyColumns();
}
+// area search
+// area search support for deleting a column
+LLScrollListColumn::Params LLScrollListCtrl::delColumn(std::string name)
+{
+ std::vector column_params;
+ LLScrollListColumn::Params params;
+
+ // save params for each column
+ ordered_columns_t::iterator column_itor;
+ for (column_itor = mColumnsIndexed.begin(); column_itor != mColumnsIndexed.end(); ++column_itor)
+ {
+ LLScrollListColumn* column = (*column_itor);
+ params.header.label = column->mLabel;
+ params.name = column->mName;
+ params.width.dynamic_width = column->mDynamicWidth;
+ params.width.relative_width = column->mRelWidth;
+ params.width.pixel_width = column->getWidth();
+ params.halign = column->mFontAlignment;
+
+ LLScrollColumnHeader *header = column->mHeader;
+ if (header)
+ {
+ params.tool_tip = header->getToolTip();
+ }
+
+ column_params.push_back(params);
+ }
+
+ clearColumns();
+
+ // restore colums except named column.
+ for (std::vector::iterator iter = column_params.begin(); iter != column_params.end(); ++iter)
+ {
+ std::string i_name = iter->name;
+ if (i_name != name)
+ {
+ addColumn((*iter));
+ }
+ else
+ {
+ params = (*iter);
+ }
+ }
+
+ return params;
+}
+// area search
+
// static
void LLScrollListCtrl::onClickColumn(void *userdata)
{
diff --git a/indra/llui/llscrolllistctrl.h b/indra/llui/llscrolllistctrl.h
index 9c067b5d5a..3fa0cdb810 100644
--- a/indra/llui/llscrolllistctrl.h
+++ b/indra/llui/llscrolllistctrl.h
@@ -156,6 +156,9 @@ public:
// Adds a single column descriptor: ["name" : string, "label" : string, "width" : integer, "relwidth" : integer ]
virtual void addColumn(const LLScrollListColumn::Params& column, EAddPosition pos = ADD_BOTTOM);
virtual void addColumn(const LLSD& column, EAddPosition pos = ADD_BOTTOM);
+ // area search, allow deleting a column
+ virtual LLScrollListColumn::Params delColumn(std::string name);
+ // area search
virtual void clearColumns();
virtual void setColumnLabel(const std::string& column, const std::string& label);
virtual bool preProcessChildNode(LLXMLNodePtr child);
diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml
index 25d1dd2dbe..0071367f4c 100755
--- a/indra/newview/app_settings/settings.xml
+++ b/indra/newview/app_settings/settings.xml
@@ -18319,6 +18319,17 @@ Change of this parameter will affect the layout of buttons in notification toast
Value
1
+ FSAreaSearchAdvanced
+
FSCollisionMessagesInChat