FIRE-2072: Added typing and sitting indicator to radar
parent
f26aa490fe
commit
5a4e7ab737
|
|
@ -295,6 +295,8 @@ void FSPanelRadar::updateList(const std::vector<LLSD>& entries, const LLSD& stat
|
|||
|
||||
static const std::string flagsColumnType = getString("FlagsColumnType");
|
||||
static const std::string flagsColumnValues [3] = { getString("FlagsColumnValue_0"), getString("FlagsColumnValue_1"), getString("FlagsColumnValue_2") };
|
||||
static const std::string typingStatusKey = getString("TypingStatusKey");
|
||||
static const std::string sittingStatusKey = getString("SittingStatusKey");
|
||||
|
||||
// Store current selection and scroll position
|
||||
static S32 uuidColumnIndex = mRadarList->getColumn("uuid")->mIndex;
|
||||
|
|
@ -324,16 +326,20 @@ void FSPanelRadar::updateList(const std::vector<LLSD>& entries, const LLSD& stat
|
|||
row_data["columns"][2]["column"] = "in_region";
|
||||
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]["type"] = flagsColumnType;
|
||||
row_data["columns"][4]["column"] = "age";
|
||||
row_data["columns"][4]["value"] = entry["age"];
|
||||
row_data["columns"][5]["column"] = "seen";
|
||||
row_data["columns"][5]["value"] = entry["seen"];
|
||||
row_data["columns"][6]["column"] = "range";
|
||||
row_data["columns"][6]["value"] = entry["range"];
|
||||
row_data["columns"][7]["column"] = "uuid"; // invisible column for referencing av-key the row belongs to
|
||||
row_data["columns"][7]["value"] = entry["id"];
|
||||
row_data["columns"][3]["column"] = "typing_status";
|
||||
row_data["columns"][3]["value"] = (entry["typing"].asBoolean() ? typingStatusKey : "");
|
||||
row_data["columns"][4]["column"] = "sitting_status";
|
||||
row_data["columns"][4]["value"] = (entry["sitting"].asBoolean() ? sittingStatusKey : "");
|
||||
row_data["columns"][5]["column"] = "flags";
|
||||
row_data["columns"][5]["type"] = flagsColumnType;
|
||||
row_data["columns"][6]["column"] = "age";
|
||||
row_data["columns"][6]["value"] = entry["age"];
|
||||
row_data["columns"][7]["column"] = "seen";
|
||||
row_data["columns"][7]["value"] = entry["seen"];
|
||||
row_data["columns"][8]["column"] = "range";
|
||||
row_data["columns"][8]["value"] = entry["range"];
|
||||
row_data["columns"][9]["column"] = "uuid"; // invisible column for referencing av-key the row belongs to
|
||||
row_data["columns"][9]["value"] = entry["id"];
|
||||
|
||||
LLScrollListItem* row = mRadarList->addElement(row_data);
|
||||
|
||||
|
|
|
|||
|
|
@ -30,6 +30,7 @@
|
|||
|
||||
// libs
|
||||
#include "llavatarnamecache.h"
|
||||
#include "llanimationstates.h"
|
||||
#include "llcommonutils.h"
|
||||
#include "llnotificationsutil.h"
|
||||
#include "lleventtimer.h"
|
||||
|
|
@ -468,6 +469,8 @@ void FSRadar::updateRadarList()
|
|||
entry["age"] = (avAge > -1 ? llformat("%d", avAge) : "");
|
||||
entry["seen"] = avSeenStr;
|
||||
entry["range"] = (avRange > AVATAR_UNKNOWN_RANGE ? llformat("%3.2f", avRange) : llformat(">%3.2f", drawRadius));
|
||||
entry["typing"] = (avVo && avVo->isTyping());
|
||||
entry["sitting"] = (avVo && (avVo->getParent() || avVo->isMotionActive(ANIM_AGENT_SIT_GROUND) || avVo->isMotionActive(ANIM_AGENT_SIT_GROUND_CONSTRAINED)));
|
||||
|
||||
//AO: Set any range colors / styles
|
||||
LLUIColor range_color;
|
||||
|
|
|
|||
|
|
@ -821,6 +821,8 @@ public:
|
|||
void clearChat();
|
||||
void startTyping() { mTyping = TRUE; mTypingTimer.reset(); }
|
||||
void stopTyping() { mTyping = FALSE; }
|
||||
// <FS:Ansariel> Get typing status
|
||||
bool isTyping() const { return mTyping; }
|
||||
private:
|
||||
BOOL mVisibleChat;
|
||||
BOOL mVisibleTyping;
|
||||
|
|
|
|||
|
|
@ -7,6 +7,8 @@
|
|||
<string name="FlagsColumnValue_0" value=""/>
|
||||
<string name="FlagsColumnValue_1" value="Payment_Info_Filled"/>
|
||||
<string name="FlagsColumnValue_2" value="Payment_Info_Used"/>
|
||||
<string name="TypingStatusKey" value="T"/>
|
||||
<string name="SittingStatusKey" value="S"/>
|
||||
<string
|
||||
name="MiniMapToolTipMsg"
|
||||
value="[REGION] (Double-click to open Map, shift-drag to pan)"/>
|
||||
|
|
@ -176,7 +178,7 @@
|
|||
label="Name"
|
||||
name="name"
|
||||
tool_tip="[TOTAL] avatars, [IN_REGION] in the same region, [IN_CHAT_RANGE] in chat range"
|
||||
relative_width="0.34"/>
|
||||
relative_width="0.30"/>
|
||||
<radar_list.columns
|
||||
label=""
|
||||
name="voice_level"
|
||||
|
|
@ -187,6 +189,16 @@
|
|||
name="in_region"
|
||||
tool_tip="Is in the same region"
|
||||
relative_width="0.03"/>
|
||||
<radar_list.columns
|
||||
label=""
|
||||
name="typing_status"
|
||||
tool_tip="Is typing"
|
||||
relative_width="0.02"/>
|
||||
<radar_list.columns
|
||||
label=""
|
||||
name="sitting_status"
|
||||
tool_tip="Is sitting"
|
||||
relative_width="0.02"/>
|
||||
<radar_list.columns
|
||||
label=""
|
||||
name="flags"
|
||||
|
|
|
|||
|
|
@ -24,6 +24,8 @@
|
|||
<radar_list.columns label="Name" tool_tip="[TOTAL] Avatare, [IN_REGION] in derselben Region, [IN_CHAT_RANGE] in Chat-Reichweite" name="name"/>
|
||||
<radar_list.columns label="" tool_tip="Spricht via Voice" name="voice_level"/>
|
||||
<radar_list.columns label="" tool_tip="Ist in derselben Region" name="in_region"/>
|
||||
<radar_list.columns label="" tool_tip="Schreibt gerade" name="typing_status"/>
|
||||
<radar_list.columns label="" tool_tip="Sitz gerade" name="sitting_status"/>
|
||||
<radar_list.columns label="" tool_tip="Status Zahlungsinformationen" name="flags"/>
|
||||
<radar_list.columns label="Alt." name="age"/>
|
||||
<radar_list.columns label="Zeit" name="seen"/>
|
||||
|
|
|
|||
|
|
@ -7,6 +7,8 @@
|
|||
<string name="FlagsColumnValue_0" value=""/>
|
||||
<string name="FlagsColumnValue_1" value="$"/>
|
||||
<string name="FlagsColumnValue_2" value="$$"/>
|
||||
<string name="TypingStatusKey" value="T"/>
|
||||
<string name="SittingStatusKey" value="S"/>
|
||||
<string
|
||||
name="MiniMapToolTipMsg"
|
||||
value="[REGION] (Double-click to open Map, shift-drag to pan)"/>
|
||||
|
|
@ -176,7 +178,7 @@
|
|||
label="Name"
|
||||
name="name"
|
||||
tool_tip="[TOTAL] avatars, [IN_REGION] in the same region, [IN_CHAT_RANGE] in chat range"
|
||||
relative_width="0.34"/>
|
||||
relative_width="0.30"/>
|
||||
<radar_list.columns
|
||||
label=""
|
||||
name="voice_level"
|
||||
|
|
@ -187,6 +189,16 @@
|
|||
name="in_region"
|
||||
tool_tip="Is in the same region"
|
||||
relative_width="0.03"/>
|
||||
<radar_list.columns
|
||||
label=""
|
||||
name="typing_status"
|
||||
tool_tip="Is typing"
|
||||
relative_width="0.02"/>
|
||||
<radar_list.columns
|
||||
label=""
|
||||
name="sitting_status"
|
||||
tool_tip="Is sitting"
|
||||
relative_width="0.02"/>
|
||||
<radar_list.columns
|
||||
label=""
|
||||
name="flags"
|
||||
|
|
|
|||
|
|
@ -7,6 +7,8 @@
|
|||
<string name="FlagsColumnValue_0" value=""/>
|
||||
<string name="FlagsColumnValue_1" value="Payment_Info_Filled"/>
|
||||
<string name="FlagsColumnValue_2" value="Payment_Info_Used"/>
|
||||
<string name="TypingStatusKey" value="T"/>
|
||||
<string name="SittingStatusKey" value="S"/>
|
||||
<string
|
||||
name="MiniMapToolTipMsg"
|
||||
value="[REGION] (Double-click to open Map, shift-drag to pan)"/>
|
||||
|
|
@ -91,7 +93,7 @@
|
|||
label="Name"
|
||||
name="name"
|
||||
tool_tip="[TOTAL] avatars, [IN_REGION] in the same region, [IN_CHAT_RANGE] in chat range"
|
||||
relative_width="0.32"/>
|
||||
relative_width="0.28"/>
|
||||
<radar_list.columns
|
||||
label=""
|
||||
name="voice_level"
|
||||
|
|
@ -114,6 +116,16 @@
|
|||
name="in_region"
|
||||
tool_tip="Is in the same region"
|
||||
relative_width="0.03"/>
|
||||
<radar_list.columns
|
||||
label=""
|
||||
name="typing_status"
|
||||
tool_tip="Is typing"
|
||||
relative_width="0.02"/>
|
||||
<radar_list.columns
|
||||
label=""
|
||||
name="sitting_status"
|
||||
tool_tip="Is sitting"
|
||||
relative_width="0.02"/>
|
||||
<radar_list.columns
|
||||
label=""
|
||||
name="flags"
|
||||
|
|
|
|||
Loading…
Reference in New Issue