diff --git a/indra/newview/fspanelradar.cpp b/indra/newview/fspanelradar.cpp index 9bab22d330..66c12e035c 100644 --- a/indra/newview/fspanelradar.cpp +++ b/indra/newview/fspanelradar.cpp @@ -262,6 +262,9 @@ void FSPanelRadar::updateList(const std::vector& entries, const LLSD& stat return; } + static const std::string flagsColumnType = getString("FlagsColumnType"); + static const std::string flagsColumnValues [3] = { getString("FlagsColumnValue_0"), getString("FlagsColumnValue_1"), getString("FlagsColumnValue_2") }; + // Store current selection and scroll position static S32 uuidColumnIndex = mRadarList->getColumn("uuid")->mIndex; std::vector selected_items = mRadarList->getAllSelected(); @@ -291,7 +294,7 @@ void FSPanelRadar::updateList(const std::vector& entries, const LLSD& stat row_data["columns"][2]["type"] = "icon"; row_data["columns"][2]["value"] = (entry["in_region"].asBoolean() ? "avatar_in_region" : ""); row_data["columns"][3]["column"] = "flags"; - row_data["columns"][3]["value"] = entry["flags"]; + row_data["columns"][3]["type"] = flagsColumnType; row_data["columns"][4]["column"] = "age"; row_data["columns"][4]["value"] = entry["age"]; row_data["columns"][5]["column"] = "seen"; @@ -306,6 +309,7 @@ void FSPanelRadar::updateList(const std::vector& entries, const LLSD& stat static S32 rangeColumnIndex = mRadarList->getColumn("range")->mIndex; static S32 nameColumnIndex = mRadarList->getColumn("name")->mIndex; static S32 voiceLevelColumnIndex = mRadarList->getColumn("voice_level")->mIndex; + static S32 flagsColumnIndex = mRadarList->getColumn("flags")->mIndex; LLScrollListText* radarRangeCell = (LLScrollListText*)row->getColumn(rangeColumnIndex); radarRangeCell->setColor(LLColor4(options["range_color"])); @@ -323,6 +327,12 @@ void FSPanelRadar::updateList(const std::vector& entries, const LLSD& stat { voiceLevelCell->setValue(entry["voice_level_icon"].asString()); } + + LLScrollListText* flagsCell = (LLScrollListText*)row->getColumn(flagsColumnIndex); + if (entry.has("flags")) + { + flagsCell->setValue(flagsColumnValues[entry["flags"].asInteger()]); + } } LLStringUtil::format_map_t name_count_args; diff --git a/indra/newview/fsradar.cpp b/indra/newview/fsradar.cpp index 02ffcff7de..9abd97755b 100644 --- a/indra/newview/fsradar.cpp +++ b/indra/newview/fsradar.cpp @@ -281,10 +281,14 @@ void FSRadar::updateRadarList() S32 secs = (S32)((seentime - hours * 3600 - mins * 60)); std::string avSeenStr = llformat("%d:%02d:%02d", hours, mins, secs); S32 avStatusFlags = ent->mStatus; - std::string avFlagStr = ""; - if (avStatusFlags & AVATAR_IDENTIFIED) + ERadarPaymentInfoFlag avFlag = FSRADAR_PAYMENT_INFO_NONE; + if (avStatusFlags & AVATAR_TRANSACTED) { - avFlagStr += "$"; + avFlag = FSRADAR_PAYMENT_INFO_USED; + } + else if (avStatusFlags & AVATAR_IDENTIFIED) + { + avFlag = FSRADAR_PAYMENT_INFO_FILLED; } S32 avAge = ent->mAge; std::string avName = ent->mName; @@ -448,7 +452,7 @@ void FSRadar::updateRadarList() entry["id"] = avId; entry["name"] = avName; entry["in_region"] = (regionSelf == avRegion); - entry["flags"] = avFlagStr; + entry["flags"] = avFlag; entry["age"] = (avAge > -1 ? llformat("%d", avAge) : ""); entry["seen"] = avSeenStr; entry["range"] = (avRange > AVATAR_UNKNOWN_RANGE ? llformat("%3.2f", avRange) : llformat(">%3.2f", drawRadius)); diff --git a/indra/newview/fsradar.h b/indra/newview/fsradar.h index 6c2e33d300..593ef7bbd0 100644 --- a/indra/newview/fsradar.h +++ b/indra/newview/fsradar.h @@ -47,6 +47,12 @@ typedef enum e_radar_name_format FSRADAR_NAMEFORMAT_USERNAME_DISPLAYNAME } ERadarNameFormat; +typedef enum e_radar_payment_info_flag +{ + FSRADAR_PAYMENT_INFO_NONE, + FSRADAR_PAYMENT_INFO_FILLED, + FSRADAR_PAYMENT_INFO_USED +} ERadarPaymentInfoFlag; class FSRadar : public LLSingleton diff --git a/indra/newview/llpanelpeople.cpp b/indra/newview/llpanelpeople.cpp index 948794d957..47e6b88d60 100644 --- a/indra/newview/llpanelpeople.cpp +++ b/indra/newview/llpanelpeople.cpp @@ -1776,6 +1776,9 @@ void LLPanelPeople::updateNearby(const std::vector& entries, const LLSD& s return; } + static const std::string flagsColumnType = getString("FlagsColumnType"); + static const std::string flagsColumnValues [3] = { getString("FlagsColumnValue_0"), getString("FlagsColumnValue_1"), getString("FlagsColumnValue_2") }; + // Store current selection and scroll position static S32 uuidColumnIndex = mRadarList->getColumn("uuid")->mIndex; std::vector selected_items = mRadarList->getAllSelected(); @@ -1805,7 +1808,7 @@ void LLPanelPeople::updateNearby(const std::vector& entries, const LLSD& s row_data["columns"][2]["type"] = "icon"; row_data["columns"][2]["value"] = (entry["in_region"].asBoolean() ? "avatar_in_region" : ""); row_data["columns"][3]["column"] = "flags"; - row_data["columns"][3]["value"] = entry["flags"]; + row_data["columns"][3]["type"] = flagsColumnType; row_data["columns"][4]["column"] = "age"; row_data["columns"][4]["value"] = entry["age"]; row_data["columns"][5]["column"] = "seen"; @@ -1820,6 +1823,7 @@ void LLPanelPeople::updateNearby(const std::vector& entries, const LLSD& s static S32 rangeColumnIndex = mRadarList->getColumn("range")->mIndex; static S32 nameColumnIndex = mRadarList->getColumn("name")->mIndex; static S32 voiceLevelColumnIndex = mRadarList->getColumn("voice_level")->mIndex; + static S32 flagsColumnIndex = mRadarList->getColumn("flags")->mIndex; LLScrollListText* radarRangeCell = (LLScrollListText*)row->getColumn(rangeColumnIndex); radarRangeCell->setColor(LLColor4(options["range_color"])); @@ -1837,6 +1841,12 @@ void LLPanelPeople::updateNearby(const std::vector& entries, const LLSD& s { voiceLevelCell->setValue(entry["voice_level_icon"].asString()); } + + LLScrollListText* flagsCell = (LLScrollListText*)row->getColumn(flagsColumnIndex); + if (entry.has("flags")) + { + flagsCell->setValue(flagsColumnValues[entry["flags"].asInteger()]); + } } LLStringUtil::format_map_t name_count_args; diff --git a/indra/newview/skins/ansastorm/xui/en/panel_fs_radar.xml b/indra/newview/skins/ansastorm/xui/en/panel_fs_radar.xml new file mode 100644 index 0000000000..0b8a69c956 --- /dev/null +++ b/indra/newview/skins/ansastorm/xui/en/panel_fs_radar.xml @@ -0,0 +1,197 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/indra/newview/skins/ansastorm/xui/en/panel_people.xml b/indra/newview/skins/ansastorm/xui/en/panel_people.xml index ae0bca8164..0b4408cc53 100644 --- a/indra/newview/skins/ansastorm/xui/en/panel_people.xml +++ b/indra/newview/skins/ansastorm/xui/en/panel_people.xml @@ -11,6 +11,10 @@ name="people_panel" top="0" width="333"> + + + + @@ -160,7 +164,7 @@ Looking for people to hang out with? Use the search box to find topics or conten label="Name" name="name" tool_tip="[TOTAL] avatars, [IN_REGION] in the same region, [IN_CHAT_RANGE] in chat range" - relative_width="0.37" /> + relative_width="0.34" /> + tool_tip="Payment info status" + relative_width="0.05" /> + relative_width="0.16" /> + + + diff --git a/indra/newview/skins/default/xui/en/panel_fs_radar.xml b/indra/newview/skins/default/xui/en/panel_fs_radar.xml index 96a2dccbd5..3709d1ac90 100644 --- a/indra/newview/skins/default/xui/en/panel_fs_radar.xml +++ b/indra/newview/skins/default/xui/en/panel_fs_radar.xml @@ -3,6 +3,10 @@ name="panel_radar" width="327" height="333"> + + + + @@ -87,7 +91,7 @@ label="Name" name="name" tool_tip="[TOTAL] avatars, [IN_REGION] in the same region, [IN_CHAT_RANGE] in chat range" - relative_width="0.37"/> + relative_width="0.34"/> + tool_tip="Payment info status" + relative_width="0.05"/> + relative_width="0.16"/> + + + + @@ -160,7 +164,7 @@ Looking for people to hang out with? Use the search box to find topics or conten label="Name" name="name" tool_tip="[TOTAL] avatars, [IN_REGION] in the same region, [IN_CHAT_RANGE] in chat range" - relative_width="0.37" /> + relative_width="0.34" /> + tool_tip="Payment info status" + relative_width="0.05" /> + relative_width="0.16" /> + + + + @@ -160,7 +164,7 @@ Looking for people to hang out with? Use the search box to find topics or conten label="NAME" name="name" tool_tip="[TOTAL] avatars, [IN_REGION] in the same region, [IN_CHAT_RANGE] in chat range" - relative_width="0.37" /> + relative_width="0.35" /> + tool_tip="Payment into status" + relative_width="0.05" /> + relative_width="0.16" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/indra/newview/skins/vintage/xui/en/panel_people.xml b/indra/newview/skins/vintage/xui/en/panel_people.xml index 1c01c51831..9e71bb3a38 100644 --- a/indra/newview/skins/vintage/xui/en/panel_people.xml +++ b/indra/newview/skins/vintage/xui/en/panel_people.xml @@ -10,6 +10,10 @@ name="people_panel" top="0" width="333"> + + + + @@ -185,7 +189,7 @@ Looking for people to hang out with? Use the search box to find topics or conten + relative_width="0.32" /> + relative_width="0.08" />