Old style search

This commit is contained in:
Siana Gearz
2011-02-17 01:40:15 +01:00
parent e5d0135158
commit e6791b221c
8 changed files with 963 additions and 94 deletions

View File

@@ -65,6 +65,8 @@
#include "lldir.h"
#include "lluictrlfactory.h"
#include "hippogridmanager.h"
LLFloaterDirectory* LLFloaterDirectory::sInstance = NULL;
//static
S32 LLFloaterDirectory::sOldSearchCount = 0; // debug
@@ -92,15 +94,25 @@ LLFloaterDirectory::LLFloaterDirectory(const std::string& name)
// Build the floater with our tab panel classes
bool isInSecondLife = gHippoGridManager->getConnectedGrid()->isSecondLife();
LLCallbackMap::map_t factory_map;
factory_map["find_all_panel"] = LLCallbackMap(createFindAll, this);
factory_map["classified_panel"] = LLCallbackMap(createClassified, this);
factory_map["events_panel"] = LLCallbackMap(createEvents, this);
factory_map["showcase_panel"] = LLCallbackMap(createShowcase, this);
factory_map["places_panel"] = LLCallbackMap(createPlaces, this);
factory_map["land_sales_panel"] = LLCallbackMap(createLand, this);
factory_map["people_panel"] = LLCallbackMap(createPeople, this);
factory_map["groups_panel"] = LLCallbackMap(createGroups, this);
if (isInSecondLife)
{
// web search and showcase only for SecondLife
factory_map["find_all_panel"] = LLCallbackMap(createFindAll, this);
factory_map["showcase_panel"] = LLCallbackMap(createShowcase, this);
}
else
{
factory_map["find_all_old_panel"] = LLCallbackMap(createFindAllOld, this);
}
factory_map["classified_details_panel"] = LLCallbackMap(createClassifiedDetail, this);
factory_map["event_details_panel"] = LLCallbackMap(createEventDetail, this);
@@ -111,7 +123,14 @@ LLFloaterDirectory::LLFloaterDirectory(const std::string& name)
factory_map["Panel Avatar"] = LLCallbackMap(createPanelAvatar, this);
if (isInSecondLife)
{
LLUICtrlFactory::getInstance()->buildFloater(this, "floater_directory.xml", &factory_map);
}
else
{
LLUICtrlFactory::getInstance()->buildFloater(this, "floater_directory2.xml", &factory_map);
}
moveResizeHandlesToFront();
if(mPanelAvatarp)
@@ -119,14 +138,22 @@ LLFloaterDirectory::LLFloaterDirectory(const std::string& name)
mPanelAvatarp->selectTab(0);
}
childSetTabChangeCallback("Directory Tabs", "find_all_panel", onTabChanged, this);
childSetTabChangeCallback("Directory Tabs", "classified_panel", onTabChanged, this);
childSetTabChangeCallback("Directory Tabs", "events_panel", onTabChanged, this);
childSetTabChangeCallback("Directory Tabs", "showcase_panel", onTabChanged, this);
childSetTabChangeCallback("Directory Tabs", "places_panel", onTabChanged, this);
childSetTabChangeCallback("Directory Tabs", "land_sales_panel", onTabChanged, this);
childSetTabChangeCallback("Directory Tabs", "people_panel", onTabChanged, this);
childSetTabChangeCallback("Directory Tabs", "groups_panel", onTabChanged, this);
if (isInSecondLife)
{
// web search and showcase for SecondLife
childSetTabChangeCallback("Directory Tabs", "find_all_panel", onTabChanged, this);
childSetTabChangeCallback("Directory Tabs", "showcase_panel", onTabChanged, this);
}
else
{
childSetTabChangeCallback("Directory Tabs", "find_all_old_panel", onTabChanged, this);
}
}
LLFloaterDirectory::~LLFloaterDirectory()
@@ -206,7 +233,14 @@ void* LLFloaterDirectory::createPeople(void* userdata)
void* LLFloaterDirectory::createGroups(void* userdata)
{
LLFloaterDirectory *self = (LLFloaterDirectory*)userdata;
return new LLPanelDirGroups("people_groups", self);
return new LLPanelDirGroups("groups_panel", self);
}
// static
void *LLFloaterDirectory::createFindAllOld(void* userdata)
{
LLFloaterDirectory *self = (LLFloaterDirectory*)userdata;
return new LLPanelDirFindAllOld("find_all_old_panel", self);
}
// static
@@ -384,13 +418,15 @@ void LLFloaterDirectory::showPanel(const std::string& tabname)
// static
void LLFloaterDirectory::toggleFind(void*)
{
#ifndef LL_RELEASE_FOR_DOWNLOAD
delete sInstance;
sInstance = NULL;
#endif
if (!sInstance)
{
std::string panel = gSavedSettings.getString("LastFindPanel");
if (!gHippoGridManager->getConnectedGrid()->isSecondLife()
&& (panel == "find_all_panel" || panel == "showcase_panel"))
{
// No web search neither showcase for OpenSim grids...
panel = "find_all_old_panel";
}
showPanel(panel);
// HACK: force query for today's events

View File

@@ -106,6 +106,7 @@ private:
static void* createLand(void* userdata);
static void* createPeople(void* userdata);
static void* createGroups(void* userdata);
static void* createFindAllOld(void* userdata);
static void* createClassifiedDetail(void* userdata);
static void* createAvatarDetail(void* userdata);

View File

@@ -526,3 +526,133 @@ void LLPanelDirFindAllInterface::focus(LLPanelDirFindAll* panel)
panel->focus();
}
//---------------------------------------------------------------------------
// LLPanelDirFindAllOld - deprecated if new Google search works out. JC
//---------------------------------------------------------------------------
LLPanelDirFindAllOld::LLPanelDirFindAllOld(const std::string& name, LLFloaterDirectory* floater)
: LLPanelDirBrowser(name, floater)
{
mMinSearchChars = 3;
}
BOOL LLPanelDirFindAllOld::postBuild()
{
LLPanelDirBrowser::postBuild();
childSetKeystrokeCallback("name", &LLPanelDirBrowser::onKeystrokeName, this);
childSetAction("Search", onClickSearch, this);
childDisable("Search");
setDefaultBtn( "Search" );
return TRUE;
}
LLPanelDirFindAllOld::~LLPanelDirFindAllOld()
{
// Children all cleaned up by default view destructor.
}
// virtual
void LLPanelDirFindAllOld::draw()
{
updateMaturityCheckbox();
LLPanelDirBrowser::draw();
}
// static
void LLPanelDirFindAllOld::onCommitScope(LLUICtrl* ctrl, void* data)
{
LLPanelDirFindAllOld* self = (LLPanelDirFindAllOld*)data;
self->setFocus(TRUE);
}
// static
void LLPanelDirFindAllOld::onClickSearch(void *userdata)
{
LLPanelDirFindAllOld *self = (LLPanelDirFindAllOld *)userdata;
if (self->childGetValue("name").asString().length() < self->mMinSearchChars)
{
return;
};
BOOL inc_pg = self->childGetValue("incpg").asBoolean();
BOOL inc_mature = self->childGetValue("incmature").asBoolean();
BOOL inc_adult = self->childGetValue("incadult").asBoolean();
if (!(inc_pg || inc_mature || inc_adult))
{
LLNotifications::instance().add("NoContentToSearch");
return;
}
self->setupNewSearch();
// Figure out scope
U32 scope = 0x0;
scope |= DFQ_PEOPLE; // people (not just online = 0x01 | 0x02)
// places handled below
scope |= DFQ_EVENTS; // events
scope |= DFQ_GROUPS; // groups
if (inc_pg)
{
scope |= DFQ_INC_PG;
}
if (inc_mature)
{
scope |= DFQ_INC_MATURE;
}
if (inc_adult)
{
scope |= DFQ_INC_ADULT;
}
// send the message
LLMessageSystem *msg = gMessageSystem;
S32 start_row = 0;
sendDirFindQuery(msg, self->mSearchID, self->childGetValue("name").asString(), scope, start_row);
// Also look up classified ads. JC 12/2005
BOOL filter_auto_renew = FALSE;
U32 classified_flags = pack_classified_flags_request(filter_auto_renew, inc_pg, inc_mature, inc_adult);
msg->newMessage("DirClassifiedQuery");
msg->nextBlock("AgentData");
msg->addUUID("AgentID", gAgent.getID());
msg->addUUID("SessionID", gAgent.getSessionID());
msg->nextBlock("QueryData");
msg->addUUID("QueryID", self->mSearchID);
msg->addString("QueryText", self->childGetValue("name").asString());
msg->addU32("QueryFlags", classified_flags);
msg->addU32("Category", 0); // all categories
msg->addS32("QueryStart", 0);
gAgent.sendReliableMessage();
// Need to use separate find places query because places are
// sent using the more compact DirPlacesReply message.
U32 query_flags = DFQ_DWELL_SORT;
if (inc_pg)
{
query_flags |= DFQ_INC_PG;
}
if (inc_mature)
{
query_flags |= DFQ_INC_MATURE;
}
if (inc_adult)
{
query_flags |= DFQ_INC_ADULT;
}
msg->newMessage("DirPlacesQuery");
msg->nextBlock("AgentData");
msg->addUUID("AgentID", gAgent.getID() );
msg->addUUID("SessionID", gAgent.getSessionID());
msg->nextBlock("QueryData");
msg->addUUID("QueryID", self->mSearchID );
msg->addString("QueryText", self->childGetValue("name").asString());
msg->addU32("QueryFlags", query_flags );
msg->addS32("QueryStart", 0 ); // Always get the first 100 when using find ALL
msg->addS8("Category", LLParcel::C_ANY);
msg->addString("SimName", NULL);
gAgent.sendReliableMessage();
}

View File

@@ -88,4 +88,20 @@ public:
static void focus(LLPanelDirFindAll* panel);
};
class LLPanelDirFindAllOld : public LLPanelDirBrowser
{
public:
LLPanelDirFindAllOld(const std::string& name, LLFloaterDirectory* floater);
/*virtual*/ ~LLPanelDirFindAllOld();
/*virtual*/ BOOL postBuild();
/*virtual*/ void draw();
static void onClickSearch(void *userdata);
static void onCommitScope(LLUICtrl* ctrl, void* data);
static void onKeystrokeName(LLLineEditor* line, void* data);
};
#endif

View File

@@ -33,20 +33,69 @@
#include "llviewerprecompiledheaders.h"
#include "llpaneldirgroups.h"
#include "llnotifications.h"
#include "llmediactrl.h"
// linden library includes
#include "llagent.h"
//#include "llfontgl.h"
#include "message.h"
#include "llqueryflags.h"
#include "llviewercontrol.h"
#include "llviewerwindow.h"
LLPanelDirGroups::LLPanelDirGroups(const std::string& name, LLFloaterDirectory* floater)
: LLPanelDirFind(name, floater, "groups_browser")
: LLPanelDirBrowser(name, floater)
{
mMinSearchChars = 3;
}
void LLPanelDirGroups::search(const std::string& search_text)
BOOL LLPanelDirGroups::postBuild()
{
if (!search_text.empty())
LLPanelDirBrowser::postBuild();
childSetKeystrokeCallback("name", &LLPanelDirBrowser::onKeystrokeName, this);
childSetAction("Search", &LLPanelDirBrowser::onClickSearchCore, this);
childDisable("Search");
setDefaultBtn( "Search" );
return TRUE;
}
LLPanelDirGroups::~LLPanelDirGroups()
{
// Children all cleaned up by default view destructor.
}
// virtual
void LLPanelDirGroups::draw()
{
updateMaturityCheckbox();
LLPanelDirBrowser::draw();
}
// virtual
void LLPanelDirGroups::performQuery()
{
std::string group_name = childGetValue("name").asString();
if (group_name.length() < mMinSearchChars)
{
return;
}
// "hi " is three chars but not a long-enough search
std::string query_string = group_name;
LLStringUtil::trim( query_string );
bool query_was_filtered = (query_string != group_name);
// possible we threw away all the short words in the query so check length
if ( query_string.length() < mMinSearchChars )
{
LLNotifications::instance().add("SeachFilteredOnShortWordsEmpty");
return;
};
BOOL inc_pg = childGetValue("incpg").asBoolean();
BOOL inc_mature = childGetValue("incmature").asBoolean();
BOOL inc_adult = childGetValue("incadult").asBoolean();
@@ -56,24 +105,39 @@ void LLPanelDirGroups::search(const std::string& search_text)
return;
}
std::string selected_collection = "Groups";
std::string url = buildSearchURL(search_text, selected_collection, inc_pg, inc_mature, inc_adult, true);
if (mWebBrowser)
// if we filtered something out, display a popup
if ( query_was_filtered )
{
mWebBrowser->navigateTo(url);
}
}
else
LLSD args;
args["[FINALQUERY]"] = query_string;
LLNotifications::instance().add("SeachFilteredOnShortWords", args);
};
setupNewSearch();
// groups
U32 scope = DFQ_GROUPS;
if (inc_pg)
{
// empty search text
navigateToDefaultPage();
scope |= DFQ_INC_PG;
}
if (inc_mature)
{
scope |= DFQ_INC_MATURE;
}
if (inc_adult)
{
scope |= DFQ_INC_ADULT;
}
childSetText("search_editor", search_text);
}
mCurrentSortColumn = "score";
mCurrentSortAscending = FALSE;
void LLPanelDirGroups::draw()
{
updateMaturityCheckbox();
LLPanelDirBrowser::draw();
// send the message
sendDirFindQuery(
gMessageSystem,
mSearchID,
query_string,
scope,
mSearchStart);
}

View File

@@ -33,15 +33,21 @@
#ifndef LLPANELDIRGROUPS_H
#define LLPANELDIRGROUPS_H
#include "llpaneldirfind.h"
#include "llpaneldirbrowser.h"
class LLPanelDirGroups : public LLPanelDirFind
class LLPanelDirGroups : public LLPanelDirBrowser
{
public:
LLPanelDirGroups(const std::string& name, LLFloaterDirectory* floater);
virtual ~LLPanelDirGroups();
/*virtual*/ void search(const std::string& search_text);
/*virtual*/ void draw();
/*virtual*/ BOOL postBuild();
/*virtual*/ void performQuery();
static void onClickSearch(void *userdata);
};
#endif

View File

@@ -613,74 +613,58 @@ To buy direct, visit the land and click on the place name in the title bar.
mouse_opaque="true" name="&lt; Prev" right="244" width="80" />
</panel>
<panel border="true" bottom="-549" follows="left|top|right|bottom" height="533"
label="Groups" left="1" mouse_opaque="false"
name="groups_panel"
label="Groups" left="1" mouse_opaque="false" name="groups_panel"
width="778">
<string name="searching_text">Searching...</string>
<string name="not_found_text">None Found.</string>
<string name="searching_text">
Searching...
</string>
<string name="not_found_text">
None Found.
</string>
<button bottom="-533" follows="left|bottom" font="SansSerif" halign="center"
height="20" label="Next &gt;" label_selected="Next &gt;"
mouse_opaque="true" name="Next &gt;" right="344" width="80" />
<button bottom_delta="0" follows="left|bottom" font="SansSerif" halign="center"
height="20" label="&lt; Prev" label_selected="&lt; Prev"
mouse_opaque="true" name="&lt; Prev" right="258" width="80" />
<text bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
bottom="-24" drop_shadow_visible="true" follows="left|top" font="SansSerif"
h_pad="0" halign="left" height="16" left="4" mouse_opaque="true"
name="find" v_pad="0" width="50">
Find:
</text>
<line_editor bevel_style="in"
border_style="line"
border_thickness="1"
bottom="-24"
enabled="true"
follows="top|left|right"
font="SansSerif"
handle_edit_keys_directly="false"
commit_on_focus_lost="false"
height="18"
hidden="false"
label="Search"
left_delta="56"
width="160"
max_length="254"
mouse_opaque="true"
name="search_editor"
select_all_on_focus_received="false"
select_on_focus="false"
tab_group="1"
tool_tip="Search Second Life" />
<button bottom="-26" follows="top|right" font="SansSerifSmall" height="20" label="Back"
left="230" name="back_btn" width="70" />
<button bottom="-26" follows="top|right" font="SansSerifSmall" height="20"
label="Forward" left="304" name="forward_btn" width="70" />
<button bottom="-48" follows="top|right" font="SansSerif" height="20"
label="Search" left="121" name="search_btn" width="95" />
<check_box bottom="-22" control_name="ShowPGGroups" follows="right|top"
<line_editor bevel_style="in" border_style="line" border_thickness="1" bottom="-24"
follows="left|top" font="SansSerif" height="18" left_delta="38"
max_length="63" mouse_opaque="true" name="name" width="200" />
<button bottom="-26" follows="left|top" font="SansSerif" halign="center" height="20"
label="Search" label_selected="Search" left_delta="210" mouse_opaque="true"
name="Search" width="70" />
<check_box bottom="-46" control_name="ShowPGGroups" follows="left|top"
font="SansSerifSmall" height="16" initial_value="true"
label="PG content" left="420" mouse_opaque="true"
name="incpg" width="156" />
<check_box bottom="-40" control_name="ShowMatureGroups" follows="right|top"
label="PG content" left="4" mouse_opaque="true"
name="incpg" width="204" />
<check_box bottom="-46" control_name="ShowMatureGroups" follows="left|top"
font="SansSerifSmall" height="16" initial_value="true"
label="Mature content" left="420" mouse_opaque="true"
name="incmature" width="156" />
<check_box bottom="-58" control_name="ShowAdultGroups" follows="right|top"
label="Mature content" left_delta="90" mouse_opaque="true"
name="incmature" width="204" />
<check_box bottom="-46" control_name="ShowAdultGroups" follows="left|top"
font="SansSerifSmall" height="16" initial_value="false"
label="Adult content" left="420" mouse_opaque="true"
name="incadult" width="156" />
<web_browser name="groups_browser"
bottom="25"
follows="top|left|bottom|right"
font="SansSerifSmall"
left="10"
right="-10"
top="-60" />
<text bottom="5"
follows="bottom|left"
halign="left"
left="10"
width="150"
name="status_text"
height="16" />
<string name="loading_text">Loading...</string>
<string name="done_text">Done</string>
<string name="redirect_404_url">http://secondlife.com/app/search/notfound.html</string>
<string name="default_search_page">"http://secondlife.com/app/search/index_groups.php?"</string>
label="Adult content" left_delta="110" mouse_opaque="true"
name="incadult" width="204" />
<scroll_list background_visible="true" bottom="-513" column_padding="0" draw_border="true"
draw_heading="true"
follows="left|top|right|bottom" height="464" left="4" mouse_opaque="true"
multi_select="false" name="results" search_column="2" width="339">
<column label="" name="icon" sort="score" sort_ascending="false" width="24" />
<column label="" name="type" width="-1" />
<column dynamicwidth="true" label="Name" name="name" />
<column halign="left" label="Members" name="members" sort_ascending="false" width="100" />
<column label="" name="score" width="-1" />
</scroll_list>
<text bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
bottom_delta="-20" drop_shadow_visible="true" follows="left|bottom"
font="SansSerifSmall" h_pad="0" halign="left" height="16" left="4"
mouse_opaque="true" name="result_text" v_pad="0" width="328" />
</panel>
</tab_container>
<panel bottom="-560" follows="right|top" height="470" left="340"

View File

@@ -0,0 +1,632 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<floater can_close="true" can_drag_on_left="false" can_minimize="true"
can_resize="true" height="570" min_height="570" min_width="780"
name="directory" rect_control="FloaterFindRect2" title="Search Second Life"
width="780">
<tab_container bottom="-570" follows="left|top|right|bottom" height="550" left="0"
mouse_opaque="false" name="Directory Tabs" tab_position="top" width="780">
<panel border="true" bottom="-549" follows="left|top|right|bottom" height="533"
label="All" left="1" mouse_opaque="false" name="find_all_old_panel" width="778">
<string name="searching_text">
Searching...
</string>
<string name="not_found_text">
None Found.
</string>
<button bottom="-533" follows="left|bottom" font="SansSerif" halign="center"
height="20" label="&lt; Prev" label_selected="&lt; Prev" left="80"
mouse_opaque="true" name="&lt; Prev" width="60" />
<button bottom="-533" follows="left|bottom" font="SansSerif" halign="center"
height="20" label="Next &gt;" label_selected="Next &gt;"
mouse_opaque="true" name="Next &gt;" width="60" />
<text bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
bottom="-24" drop_shadow_visible="true" follows="left|top" font="SansSerif"
h_pad="0" halign="left" height="16" left="4" mouse_opaque="true"
name="find" v_pad="0" width="50">
Find:
</text>
<line_editor bevel_style="in" border_style="line" border_thickness="1" bottom="-24"
follows="left|top" font="SansSerif" height="18" left_delta="38"
max_length="63" mouse_opaque="true" name="name" width="128" />
<button bottom="-26" follows="left|top" font="SansSerif" halign="center" height="20"
label="Search" label_selected="Search" left_delta="136" mouse_opaque="true"
name="Search" width="70" />
<check_box bottom="-22" control_name="ShowPGSearchAll" follows="left|top"
font="SansSerifSmall" height="16" initial_value="true"
label="PG content" left_delta="78" mouse_opaque="true"
name="incpg" width="156" />
<check_box bottom="-22" control_name="ShowMatureSearchAll" follows="left|top"
font="SansSerifSmall" height="16" initial_value="false"
label="Mature content" left_delta="100" mouse_opaque="true"
name="incmature" width="156" />
<check_box bottom="-22" control_name="ShowAdultSearchAll" follows="left|top"
font="SansSerifSmall" height="16" initial_value="false"
label="Adult content" left_delta="120" mouse_opaque="true"
name="incadult" width="156" />
<scroll_list background_visible="true" bottom="-513" column_padding="0" draw_border="true"
draw_heading="false" fg_disable_color="1, 1, 1, 1"
follows="left|top|right|bottom" height="464" left="4" mouse_opaque="true"
multi_select="false" name="results" search_column="1" width="339">
<column label="" name="icon" width="24" />
<column label="Name" name="name" width="235" />
<column label="Price" name="price" width="90" />
<column label="Time (PT)" name="date" width="90" />
<column label="Time" name="time" width="-1" />
<column label="Traffic" name="dwell" width="90" />
<column label="Area" name="area" width="90" />
<column label="L$/sq.m" name="per_meter" width="90" />
<column label="Online" name="online" width="90" />
<column label="Members" name="members" width="90" />
</scroll_list>
<text bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
bottom_delta="-20" drop_shadow_visible="true" follows="left|bottom"
font="SansSerifSmall" h_pad="0" halign="left" height="16" left="4"
mouse_opaque="true" name="result_text" v_pad="0" width="328" />
</panel>
<panel border="true" bottom="-549" follows="left|top|right|bottom" height="533"
label="Classifieds" left="1" left_delta="68" mouse_opaque="false"
name="classified_panel" width="778">
<string name="searching_text">
Searching...
</string>
<string name="not_found_text">
None Found.
</string>
<text bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
bottom="-24" drop_shadow_visible="true" follows="left|top" font="SansSerif"
h_pad="0" halign="left" height="16" left="4" mouse_opaque="true"
name="find" v_pad="0" width="50">
Find:
</text>
<line_editor bevel_style="in" border_style="line" border_thickness="1" bottom="-24"
follows="left|right|top" font="SansSerif" height="18" left="56"
max_length="63" mouse_opaque="true" name="name" width="160" />
<check_box bottom="-22" control_name="ShowPGClassifieds" follows="right|top"
font="SansSerifSmall" height="16" initial_value="true"
label="PG content" left="420" mouse_opaque="true"
name="incpg" width="156" />
<check_box bottom="-40" control_name="ShowMatureClassifieds" follows="right|top"
font="SansSerifSmall" height="16" initial_value="true"
label="Mature content" left="420" mouse_opaque="true"
name="incmature" width="156" />
<check_box bottom="-58" control_name="ShowAdultClassifieds" follows="right|top"
font="SansSerifSmall" height="16" initial_value="false"
label="Adult content" left="420" mouse_opaque="true"
name="incadult" width="156" />
<combo_box allow_text_entry="false" bottom="-46" follows="right|top" height="18" left="230"
max_chars="20" mouse_opaque="true" name="Category" width="158">
<combo_item name="AnyCategory" value="0">
Any Category
</combo_item>
<combo_item name="Shopping" value="1">
Shopping
</combo_item>
<combo_item name="LandRental" value="2">
Land Rental
</combo_item>
<combo_item name="PropertyRental" value="3">
Property Rental
</combo_item>
<combo_item name="SpecialAttraction" value="4">
Special Attraction
</combo_item>
<combo_item name="NewProducts" value="5">
New Products
</combo_item>
<combo_item name="Employment" value="6">
Employment
</combo_item>
<combo_item name="Wanted" value="7">
Wanted
</combo_item>
<combo_item name="Service" value="8">
Service
</combo_item>
<combo_item name="Personal" value="9">
Personal
</combo_item>
</combo_box>
<button bottom="-48" follows="right|top" font="SansSerif" halign="center" height="20"
label="Browse" label_selected="Browse" left="121" mouse_opaque="true"
name="Browse" width="95" />
<button bottom="-48" follows="right|top" font="SansSerif" halign="center" height="20"
label="Search" label_selected="Search" left="121" mouse_opaque="true" name="Search"
visible="false" width="95" />
<button bottom="-46" follows="right|top" font="SansSerif" halign="center" height="20"
label="Place an Ad..." label_selected="Place an Ad..." left="630"
mouse_opaque="true" name="Place an Ad..." width="145" />
<button bottom="-533" follows="left|bottom" font="SansSerif" halign="center"
height="20" label="Delete" label_selected="Delete" left="80"
mouse_opaque="true" name="Delete" width="80" />
<scroll_list background_visible="true" bottom="-510" column_padding="0" draw_border="true"
draw_heading="true" follows="left|top|right|bottom" height="450" left="4"
mouse_opaque="true" multi_select="false" name="results" search_column="2" width="339">
<column label="" name="icon" width="24" />
<column label="" name="type" width="-1" />
<column label="Name" name="name" width="225" />
<column label="Price" name="price" width="55" />
</scroll_list>
<text bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
bottom_delta="-20" drop_shadow_visible="true" follows="left|bottom"
font="SansSerifSmall" h_pad="0" halign="left" height="16" left="4"
mouse_opaque="true" name="result_text" v_pad="0" width="80" />
<button bottom="-533" follows="right|bottom" font="SansSerif" halign="center"
height="20" label="Next &gt;" label_selected="Next &gt;"
mouse_opaque="true" name="Next &gt;" right="344" width="80" />
<button bottom_delta="0" follows="right|bottom" font="SansSerif" halign="center"
height="20" label="&lt; Prev" label_selected="&lt; Prev"
mouse_opaque="true" name="&lt; Prev" right="258" width="80" />
</panel>
<panel border="true" bottom="-549" default_tab_group="1"
follows="left|top|right|bottom" height="533" label="Events" left="1"
mouse_opaque="false" name="events_panel" width="778">
<string name="searching_text">
Searching...
</string>
<string name="not_found_text">
None Found.
</string>
<text bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
bottom="-24" drop_shadow_visible="true" follows="left|top" font="SansSerif"
h_pad="0" halign="left" height="16" left="4" mouse_opaque="true"
name="text2" v_pad="0" width="50">
Find:
</text>
<line_editor bevel_style="in" border_style="line" border_thickness="1" bottom="-24"
follows="left|right|top" font="SansSerif" height="18" left="56"
max_length="63" mouse_opaque="true" name="event_search_text" width="160" />
<radio_group bottom="-40" draw_border="false" follows="right|top" height="40" left="560"
mouse_opaque="true" name="date_mode" width="300">
<radio_item bottom="-20" follows="left|top" height="20" left="0" mouse_opaque="true"
name="current" width="174">
In-Progress and Upcoming
</radio_item>
<radio_item bottom_delta="-10" follows="left|top" height="20" left="0" mouse_opaque="true"
name="date" width="56">
Date
</radio_item>
</radio_group>
<button bottom="-40" follows="right|top" font="SansSerif" halign="center" height="20"
label="&lt;&lt;" label_selected="&lt;&lt;" left_delta="54"
mouse_opaque="true" name="&lt;&lt;" tool_tip="Go back a day" width="24" />
<text bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
bottom="-36" drop_shadow_visible="true" follows="right|top" font="SansSerif"
h_pad="0" halign="center" height="14" left_delta="22" mouse_opaque="true"
name="date_text" v_pad="0" width="48">
6/6
</text>
<button bottom="-40" follows="right|top" font="SansSerif" halign="center" height="20"
label="&gt;&gt;" label_selected="&gt;&gt;" left_delta="50"
mouse_opaque="true" name="&gt;&gt;" tool_tip="Go forward a day" width="24" />
<button bottom="-40" follows="right|top" font="SansSerif" halign="center" height="20"
label="Today" label_selected="Today" left_delta="28" mouse_opaque="true"
name="Today" tool_tip="Show today&apos;s events" width="60" />
<text bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
bottom="-24" drop_shadow_visible="true" follows="left|top"
font="SansSerifSmall" h_pad="0" halign="left" height="20" left="289"
mouse_opaque="true" name="text" v_pad="0" width="90" visible="false">
Category:
</text>
<combo_box allow_text_entry="false" bottom="-46" follows="right|top" height="18" left="230"
max_chars="20" mouse_opaque="true" name="category combo" width="158">
<combo_item name="All" value="0">
Any Category
</combo_item>
<combo_item name="Discussion" value="18">
Discussion
</combo_item>
<combo_item name="Sports" value="19">
Sports
</combo_item>
<combo_item name="LiveMusic" value="20">
Live Music
</combo_item>
<combo_item name="Commercial" value="22">
Commercial
</combo_item>
<combo_item name="Nightlife/Entertainment" value="23">
Nightlife/Entertainment
</combo_item>
<combo_item name="Games/Contests" value="24">
Games/Contests
</combo_item>
<combo_item name="Pageants" value="25">
Pageants
</combo_item>
<combo_item name="Education" value="26">
Education
</combo_item>
<combo_item name="ArtsandCulture" value="27">
Arts and Culture
</combo_item>
<combo_item name="Charity/SupportGroups" value="28">
Charity/Support Groups
</combo_item>
<combo_item name="Miscellaneous" value="29">
Miscellaneous
</combo_item>
</combo_box>
<check_box bottom="-22" control_name="ShowPGEvents" follows="right|top"
font="SansSerifSmall" height="16" initial_value="true"
label="PG content" left="420" mouse_opaque="true"
name="incpg" width="156" />
<check_box bottom="-40" control_name="ShowMatureEvents" follows="right|top"
font="SansSerifSmall" height="16" initial_value="true"
label="Mature content" left="420" mouse_opaque="true"
name="incmature" width="156" />
<check_box bottom="-58" control_name="ShowAdultEvents" follows="right|top"
font="SansSerifSmall" height="16" initial_value="false"
label="Adult content" left="420" mouse_opaque="true"
name="incadult" width="156" />
<button bottom="-48" follows="right|top" font="SansSerif" halign="center" height="20"
label="Search" label_selected="Search" left="121" mouse_opaque="true" name="Search"
visible="true" width="95" />
<button bottom="-533" follows="left|bottom" font="SansSerif" halign="center"
height="20" label="Delete" label_selected="Delete" left="80"
mouse_opaque="true" name="Delete" width="80" />
<scroll_list background_visible="true" bottom="-510" column_padding="0" draw_border="true" draw_heading="true"
follows="left|top|right|bottom" height="450" left="4" mouse_opaque="true"
multi_select="false" name="results" search_column="2" width="339">
<column label="" name="icon" width="24" />
<column label="" name="type" width="-1" />
<column dynamicwidth="true" label="Name" name="name" />
<column label="Time (PT)" name="date" sort="time" width="106" />
<column label="" name="event_id" width="-1" />
<column label="Time" name="time" width="-1" />
</scroll_list>
<text bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
bottom_delta="-20" drop_shadow_visible="true" follows="left|bottom"
font="SansSerifSmall" h_pad="0" halign="left" height="16" left="4"
mouse_opaque="true" name="result_text" v_pad="0" width="80" />
<button bottom="-533" follows="right|bottom" font="SansSerif" halign="center"
height="20" label="Next &gt;" label_selected="Next &gt;"
mouse_opaque="true" name="Next &gt;" right="344" width="80" />
<button bottom_delta="0" follows="right|bottom" font="SansSerif" halign="center"
height="20" label="&lt; Prev" label_selected="&lt; Prev"
mouse_opaque="true" name="&lt; Prev" right="258" width="80" />
</panel>
<panel border="true" bottom="-549" follows="left|top|right|bottom" height="533"
label="Land Sales" left="1" mouse_opaque="false" name="land_sales_panel"
width="778" default_tab_group="1">
<string name="searching_text">
Searching...
</string>
<string name="not_found_text">
None Found.
</string>
<string name="land_help_text">
Land can be bought direct for Linden Dollars (L$) or at auction for either L$ or US$.
To buy direct, visit the land and click on the place name in the title bar.
</string>
<text bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
bottom="-24" drop_shadow_visible="true" follows="left|top" font="SansSerif"
h_pad="0" halign="left" height="16" left="4" mouse_opaque="true"
name="find" v_pad="0" width="50">
Find:
</text>
<check_box bottom="-22" control_name="ShowPGLand" follows="right|top"
font="SansSerifSmall" height="16" initial_value="true"
label="PG content" left="420" mouse_opaque="true"
name="incpg" tab_group="7" width="156" />
<check_box bottom="-40" control_name="ShowMatureLand" follows="right|top"
font="SansSerifSmall" height="16" initial_value="true"
label="Mature content" left="420" mouse_opaque="true"
name="incmature" tab_group="8" width="156" />
<check_box bottom="-58" control_name="ShowAdultLand" follows="right|top"
font="SansSerifSmall" height="16" initial_value="false"
label="Adult content" left="420" mouse_opaque="true"
name="incadult" tab_group="9" width="156" />
<combo_box allow_text_entry="false" bottom="-46" follows="left|top|right" height="18" left="282"
max_chars="20" mouse_opaque="true" name="type" tab_group="6" width="128">
<combo_item name="AllTypes" value="All Types">
All Types
</combo_item>
<combo_item name="Auction" value="Auction">
Auction
</combo_item>
<combo_item name="MainlandSales" value="Mainland Sales">
For Sale - Mainland
</combo_item>
<combo_item name="EstateSales" value="Estate Sales">
For Sale - Estate
</combo_item>
</combo_box>
<check_box bottom="-24" control_name="FindLandPrice" follows="left|top"
font="SansSerifSmall" height="16" initial_value="true"
label="Price &#8804; " left="56" mouse_opaque="true" name="pricecheck"
tab_group="1" width="88" />
<text bg_visible="false" border_drop_shadow_visible="false" border_visible="false" follows="left|top"
bottom="-24" font="SansSerifSmall" halign="left" height="16" left="116" mouse_opaque="true"
name="pricecheck_symbol" width="15">
L$
</text>
<check_box bottom_delta="-18" control_name="FindLandArea" follows="left|top"
font="SansSerifSmall" height="16" initial_value="true"
label="Area &#8805; " left="56" mouse_opaque="true" name="areacheck"
tab_group="3" width="80" />
<text bg_visible="false" border_drop_shadow_visible="false" border_visible="false" follows="left|top"
bottom="-42" font="SansSerifSmall" halign="left" height="16" left="170" mouse_opaque="true"
name="areacheck_symbol" width="15">
</text>
<line_editor bevel_style="in" border_style="line" border_thickness="1" bottom="-22"
follows="left|top" font="SansSerifSmall" height="16" left="132"
max_length="10" mouse_opaque="true" name="priceedit" tab_group="2" width="50" />
<line_editor bevel_style="in" border_style="line" border_thickness="1" bottom_delta="-18"
follows="left|top" font="SansSerifSmall" height="16" left="117"
max_length="10" mouse_opaque="true" name="areaedit" tab_group="4" width="50" />
<button bottom="-48" follows="left|top" font="SansSerif" halign="center" height="20"
label="Search" label_selected="Search" left="208" mouse_opaque="true"
name="Search" tab_group="5" width="70" />
<scroll_list background_visible="true" bottom="-510" column_padding="0" draw_border="true" draw_heading="true"
follows="left|top|right|bottom" height="450" left="4" mouse_opaque="true"
multi_select="false" name="results" search_column="2" tab_group="10" width="387">
<column label="" name="icon" width="24" />
<column label="" name="type" width="-1" />
<column dynamicwidth="true" label="Name" name="name" />
<column label="Type" name="landtype" width="50" />
<column label="L$ Price" name="price" width="65" />
<column label="Area" name="area" width="50" />
<column label="L$/m²" name="per_meter" width="65" />
</scroll_list>
<text bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
bottom_delta="-20" drop_shadow_visible="true" follows="left|bottom"
font="SansSerifSmall" h_pad="0" halign="left" height="16" left="4"
mouse_opaque="true" name="result_text" v_pad="0" width="328" />
<button bottom="-533" follows="right|bottom" font="SansSerif" halign="center"
height="20" label="Next &gt;" label_selected="Next &gt;"
mouse_opaque="true" name="Next &gt;" right="344" width="80" />
<button bottom_delta="0" follows="right|bottom" font="SansSerif" halign="center"
height="20" label="&lt; Prev" label_selected="&lt; Prev"
mouse_opaque="true" name="&lt; Prev" right="258" width="80" />
</panel>
<panel border="true" bottom="-549" follows="left|top|right|bottom" height="533"
label="Places" left="1" mouse_opaque="false" name="places_panel"
width="778">
<string name="searching_text">
Searching...
</string>
<string name="not_found_text">
None Found.
</string>
<text bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
bottom="-24" drop_shadow_visible="true" follows="left|top" font="SansSerif"
h_pad="0" halign="left" height="16" left="4" mouse_opaque="true"
name="find" v_pad="0" width="50">
Find:
</text>
<line_editor bevel_style="in" border_style="line" border_thickness="1" bottom="-24"
follows="left|right|top" font="SansSerif" height="18" left="56"
max_length="63" mouse_opaque="true" name="name" width="160" />
<check_box bottom="-22" control_name="ShowPGSims" follows="right|top"
font="SansSerifSmall" height="16" initial_value="true"
label="PG content" left="420" mouse_opaque="true"
name="incpg" width="156" />
<check_box bottom="-40" control_name="ShowMatureSims" follows="right|top"
font="SansSerifSmall" height="16" initial_value="true"
label="Mature content" left="420" mouse_opaque="true"
name="incmature" width="156" />
<check_box bottom="-58" control_name="ShowAdultSims" follows="right|top"
font="SansSerifSmall" height="16" initial_value="false"
label="Adult content" left="420" mouse_opaque="true"
name="incadult" width="156" />
<combo_box allow_text_entry="false" bottom="-46" enabled="false" follows="right|top" height="18" left="230"
max_chars="20" mouse_opaque="true" name="Category" width="128" visible="false">
<combo_item name="AnyCategory" value="any">
Any Category
</combo_item>
<combo_item name="LindenLocation" value="linden">
Linden Location
</combo_item>
<combo_item name="Arts&amp;Culture" value="arts">
Arts &amp; Culture
</combo_item>
<combo_item name="Business" value="store">
Business
</combo_item>
<combo_item name="Educational" value="educational">
Educational
</combo_item>
<combo_item name="Gaming" value="game">
Gaming
</combo_item>
<combo_item name="Hangout" value="gather">
Hangout
</combo_item>
<combo_item name="NewcomerFriendly" value="newcomer">
Newcomer Friendly
</combo_item>
<combo_item name="Parks&amp;Nature" value="park">
Parks &amp; Nature
</combo_item>
<combo_item name="Residential" value="home">
Residential
</combo_item>
<combo_item name="Shopping" value="shopping">
Shopping
</combo_item>
<combo_item name="Other" value="other">
Other
</combo_item>
</combo_box>
<!-- This is used only during the AO transition and can be deleted once the AO transition is
complete. It is identical to the combo box above except that it has the Adult category.
You might also want to set it back to default visible and enabled. -->
<combo_box allow_text_entry="false" bottom="-46" enabled="false" follows="right|top" height="18" left="230"
max_chars="20" mouse_opaque="true" name="Category_Adult" width="128" visible="false">
<combo_item name="AnyCategory" value="any">
Any Category
</combo_item>
<combo_item name="LindenLocation" value="linden">
Linden Location
</combo_item>
<combo_item name="Adult" value="adult">
Adult
</combo_item>
<combo_item name="Arts&amp;Culture" value="arts">
Arts &amp; Culture
</combo_item>
<combo_item name="Business" value="store">
Business
</combo_item>
<combo_item name="Educational" value="educational">
Educational
</combo_item>
<combo_item name="Gaming" value="game">
Gaming
</combo_item>
<combo_item name="Hangout" value="gather">
Hangout
</combo_item>
<combo_item name="NewcomerFriendly" value="newcomer">
Newcomer Friendly
</combo_item>
<combo_item name="Parks&amp;Nature" value="park">
Parks &amp; Nature
</combo_item>
<combo_item name="Residential" value="home">
Residential
</combo_item>
<combo_item name="Shopping" value="shopping">
Shopping
</combo_item>
<combo_item name="Other" value="other">
Other
</combo_item>
</combo_box>
<button bottom="-48" follows="right|top" font="SansSerif" halign="center" height="20"
label="Search" label_selected="Search" left="121" mouse_opaque="true"
name="Search" width="95" />
<scroll_list background_visible="true" bottom="-510" column_padding="0" draw_border="true"
draw_heading="true"
follows="left|top|right|bottom" height="450" left="4" mouse_opaque="true"
multi_select="false" name="results" search_column="2" width="339">
<column label="" name="icon" width="24" />
<column label="" name="type" width="-1" />
<column dynamicwidth="true" label="Name" name="name" />
<column label="Traffic" name="dwell" width="75" />
</scroll_list>
<text bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
bottom_delta="-20" drop_shadow_visible="true" follows="left|bottom"
font="SansSerifSmall" h_pad="0" halign="left" height="16" left="4"
mouse_opaque="true" name="result_text" v_pad="0" width="328" />
<button bottom="-533" follows="left|bottom" font="SansSerif" halign="center"
height="20" label="Next &gt;" label_selected="Next &gt;"
mouse_opaque="true" name="Next &gt;" right="344" width="80" />
<button bottom_delta="0" follows="left|bottom" font="SansSerif" halign="center"
height="20" label="&lt; Prev" label_selected="&lt; Prev"
mouse_opaque="true" name="&lt; Prev" right="258" width="80" />
</panel>
<panel border="true" bottom="-549" follows="left|top|right|bottom" height="533"
label="People" left="1" mouse_opaque="false" name="people_panel"
width="778">
<string name="searching_text">
Searching...
</string>
<string name="not_found_text">
None Found.
</string>
<text bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
bottom="-24" drop_shadow_visible="true" follows="left|top" font="SansSerif"
h_pad="0" halign="left" height="16" left="4" mouse_opaque="true"
name="find" v_pad="0" width="50">
Find:
</text>
<line_editor bevel_style="in" border_style="line" border_thickness="1" bottom="-24"
follows="left|right|top" font="SansSerif" height="18" left="56"
max_length="63" mouse_opaque="true" name="name" width="160" />
<button bottom="-48" follows="right|top" font="SansSerif" halign="center" height="20"
label="Search" label_selected="Search" left="121" mouse_opaque="true"
name="Search" width="95" />
<scroll_list background_visible="true" bottom="-510" column_padding="0" draw_border="true"
draw_heading="true"
follows="left|top|right|bottom" height="450" left="4" mouse_opaque="true"
multi_select="false" name="results" search_column="2" width="326">
<column label="" name="icon" width="24" />
<column label="" name="type" width="-1" />
<column label="Name" name="name" width="274" />
</scroll_list>
<text bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
bottom_delta="-20" drop_shadow_visible="true" follows="left|bottom"
font="SansSerifSmall" h_pad="0" halign="left" height="16" left="4"
mouse_opaque="true" name="result_text" v_pad="0" width="328" />
<button bottom="-533" follows="left|bottom" font="SansSerif" halign="center"
height="20" label="Next &gt;" label_selected="Next &gt;"
mouse_opaque="true" name="Next &gt;" right="330" width="80" />
<button bottom_delta="0" follows="left|bottom" font="SansSerif" halign="center"
height="20" label="&lt; Prev" label_selected="&lt; Prev"
mouse_opaque="true" name="&lt; Prev" right="244" width="80" />
</panel>
<panel border="true" bottom="-549" follows="left|top|right|bottom" height="533"
label="Groups" left="1" mouse_opaque="false" name="groups_panel"
width="778">
<string name="searching_text">
Searching...
</string>
<string name="not_found_text">
None Found.
</string>
<button bottom="-533" follows="left|bottom" font="SansSerif" halign="center"
height="20" label="Next &gt;" label_selected="Next &gt;"
mouse_opaque="true" name="Next &gt;" right="344" width="80" />
<button bottom_delta="0" follows="left|bottom" font="SansSerif" halign="center"
height="20" label="&lt; Prev" label_selected="&lt; Prev"
mouse_opaque="true" name="&lt; Prev" right="258" width="80" />
<text bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
bottom="-24" drop_shadow_visible="true" follows="left|top" font="SansSerif"
h_pad="0" halign="left" height="16" left="4" mouse_opaque="true"
name="find" v_pad="0" width="50">
Find:
</text>
<line_editor bevel_style="in" border_style="line" border_thickness="1" bottom="-24"
follows="left|top" font="SansSerif" height="18" left_delta="38"
max_length="63" mouse_opaque="true" name="name" width="200" />
<button bottom="-26" follows="left|top" font="SansSerif" halign="center" height="20"
label="Search" label_selected="Search" left_delta="210" mouse_opaque="true"
name="Search" width="70" />
<check_box bottom="-46" control_name="ShowPGGroups" follows="left|top"
font="SansSerifSmall" height="16" initial_value="true"
label="PG content" left="4" mouse_opaque="true"
name="incpg" width="204" />
<check_box bottom="-46" control_name="ShowMatureGroups" follows="left|top"
font="SansSerifSmall" height="16" initial_value="true"
label="Mature content" left_delta="90" mouse_opaque="true"
name="incmature" width="204" />
<check_box bottom="-46" control_name="ShowAdultGroups" follows="left|top"
font="SansSerifSmall" height="16" initial_value="false"
label="Adult content" left_delta="110" mouse_opaque="true"
name="incadult" width="204" />
<scroll_list background_visible="true" bottom="-513" column_padding="0" draw_border="true"
draw_heading="true"
follows="left|top|right|bottom" height="464" left="4" mouse_opaque="true"
multi_select="false" name="results" search_column="2" width="339">
<column label="" name="icon" sort="score" sort_ascending="false" width="24" />
<column label="" name="type" width="-1" />
<column dynamicwidth="true" label="Name" name="name" />
<column halign="left" label="Members" name="members" sort_ascending="false" width="100" />
<column label="" name="score" width="-1" />
</scroll_list>
<text bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
bottom_delta="-20" drop_shadow_visible="true" follows="left|bottom"
font="SansSerifSmall" h_pad="0" halign="left" height="16" left="4"
mouse_opaque="true" name="result_text" v_pad="0" width="328" />
</panel>
</tab_container>
<panel bottom="-560" follows="right|top" height="470" left="340"
name="classified_details_panel" width="440" />
<panel bottom="-560" follows="right|top" height="486" left="350" name="Panel Avatar"
width="430" />
<panel bottom="-560" follows="right|top" height="470" left="340"
name="event_details_panel" width="440" />
<panel bottom="-580" follows="right|top" height="515" left="350"
name="group_details_panel_holder" width="430">
<panel bottom="0" follows="right|top" height="470" left="0" name="group_details_panel"
width="430" />
</panel>
<panel bottom="-560" follows="right|top" height="470" left="340"
name="place_details_panel" width="440" />
<panel bottom="-560" follows="right|top" height="470" left="385"
name="place_details_small_panel" width="395" />
</floater>