Basic Summary: Issue 743: [Chat UI] Option to italicize actions (/me) in chat - Adds debug LiruItalicizeActions, and a checkbox to Adv. Chat->Chat UI preferences Issue 737: [Frosting] Annoyance Removal (Red beacon after teleport using LM's) - Adds debug ClearBeaconAfterTeleport, checkbox under System->General Issue 639: [Frosting] The agent isn't identified properly in chat - Oh what a silly issue this was, it's as though whoever wrote this didn't care. Fixes issue where names in logs do not match names in chat due to display name system Fixes the issue in which Unnamed objects got named by a hardcoded string under certain circumstances. Issue 813: [Frosting] When only accepting from friends, do not display incoming chat notification for nonfriends - Also broke the setting out, separating it from the voice calls friend only setting - Adds InstantMessagesFriendsOnly debug setting and checkbox in Adv. Chat->Chat/IM Issue 764: Copy SLURL from Map returns correct region but wrong coordinates. Satisfied the longstanding issue of inflexible autoresponse options. - Autoresponse now has its own tab in Adv. Chat preferences: Busy, Muted, nonfriends, and anyone (or just friends) can have separate responses, along with items of your choosing. - Prevent doubling up with the first repeated autoresponse due to typing message and normal message. Translator Summary: Adv. Chat->Chat UI->"Italicize action messages (/me)" System->General->"Clear red destination beacon after teleporting" Drop Targets for floater_ao.xml, panel_avatar.xml, panel_group_notices.xml, and panel_preferences_ascent_system.xml Adv. Chat->Chat/IM->"Only accept IMs from Friends" Please clean up the Busy Mode Response elements from panel_preferences_im.xml strings.xml now has "IM_autoresponse_minutes" Adv. Chat (panel_preferences_ascent_chat.xml) now has a new panel "Autoresponse", please clean up the old Autoresponse elements from Chat/IM tab and translate this panel. Developer Summary: Adds EChatStyle to LLChat, used for identifying what style a piece of chat is. Update settings_per_account.xml - Reorganized the ascent specific section. - Removes a few old and unused settings Better organize settings_per_account_ascent.xml - TODO: Actually get this include system working and remove the Ascent specific section in settings_per_account.xml Modernize LLDropTarget and make it more flexible and stand alone - The Text of drop targets is now a child of the target itself, meaning the necessity of having a static instance to the parent is eliminated - Drop targets are now one element in UI XML. - Drop targets now have fill_parent option which allows the target to spread over the parent, while the text, tool_tip, and border stays in place - If Drop Targets have a control_name, it is from the per account settings group, since Items must be in the inventory of the account in question. - All drop targets now use the common LLDropTarget class instead of their own. - LLGroupDropTarget is now derived from LLDropTarget and has its own tag group_drop_target. Cleaned up the focus functions we use to focus the input bar, setInputFocus exists for their purpose. Updated our llim* code to line up better with upstream and conform to styling. Polished LLTracker and LLFloaterWorldMap a bit Cleaned/Updated up LLStyleMap a bit. Optimized autoresponse code: - wildcards are now replaced via boost::algorithm::replace_all - Autoresponse and related chat enhancements are now performed inside their case, instead of by the large if block above.
129 lines
2.9 KiB
C++
129 lines
2.9 KiB
C++
|
|
#ifndef LL_LLFLOATERAO_H
|
|
#define LL_LLFLOATERAO_H
|
|
|
|
#include "llfloater.h"
|
|
#include "llviewercontrol.h"
|
|
#include "llagent.h"
|
|
#include "lleventtimer.h"
|
|
|
|
|
|
const int STATE_AGENT_IDLE = 0;
|
|
const int STATE_AGENT_WALK = 1;
|
|
const int STATE_AGENT_RUN = 2;
|
|
const int STATE_AGENT_STAND = 3;
|
|
|
|
const int STATE_AGENT_PRE_JUMP = 4;
|
|
const int STATE_AGENT_JUMP = 5;
|
|
const int STATE_AGENT_TURNLEFT = 6;
|
|
const int STATE_AGENT_TURNRIGHT = 7;
|
|
|
|
const int STATE_AGENT_SIT = 8;
|
|
const int STATE_AGENT_GROUNDSIT = 9;
|
|
|
|
const int STATE_AGENT_HOVER = 10;
|
|
const int STATE_AGENT_HOVER_DOWN = 11;
|
|
const int STATE_AGENT_HOVER_UP = 12;
|
|
|
|
const int STATE_AGENT_CROUCH = 13;
|
|
const int STATE_AGENT_CROUCHWALK = 14;
|
|
const int STATE_AGENT_FALLDOWN = 15;
|
|
const int STATE_AGENT_STANDUP = 16;
|
|
const int STATE_AGENT_LAND = 17;
|
|
|
|
const int STATE_AGENT_FLY = 18;
|
|
const int STATE_AGENT_FLYSLOW = 19;
|
|
|
|
|
|
|
|
|
|
|
|
class AOStandTimer : public LLEventTimer
|
|
{
|
|
public:
|
|
AOStandTimer();
|
|
~AOStandTimer();
|
|
virtual BOOL tick();
|
|
virtual void reset();
|
|
};
|
|
|
|
class AOInvTimer : public LLEventTimer
|
|
{
|
|
public:
|
|
AOInvTimer();
|
|
~AOInvTimer();
|
|
BOOL tick();
|
|
};
|
|
|
|
class LLFloaterAO : public LLFloater
|
|
{
|
|
public:
|
|
|
|
LLFloaterAO();
|
|
virtual BOOL postBuild();
|
|
virtual ~LLFloaterAO();
|
|
|
|
static void show(void*);
|
|
static void init();
|
|
|
|
static void onClickToggleAO();
|
|
static void onClickToggleSits();
|
|
static void run();
|
|
static void updateLayout(LLFloaterAO* floater);
|
|
|
|
static BOOL loadAnims();
|
|
|
|
static int getAnimationState();
|
|
static void setAnimationState(int state);
|
|
static void setStates(const LLUUID& id, BOOL start);
|
|
|
|
static LLUUID getCurrentStandId();
|
|
static void setCurrentStandId(const LLUUID& id);
|
|
static int stand_iterator;
|
|
static BOOL ChangeStand();
|
|
|
|
static BOOL startMotion(const LLUUID& id, F32 time_offset = 0.f, BOOL stand = FALSE);
|
|
static BOOL stopMotion(const LLUUID& id, BOOL stop_immediate, BOOL stand = FALSE);
|
|
|
|
static LLUUID GetAnimID(const LLUUID& id);
|
|
|
|
static int GetStateFromAnimID(const LLUUID& id);
|
|
static LLUUID GetAnimIDFromState(const int state);
|
|
static int GetStateFromToken(std::string strtoken);
|
|
|
|
static void onClickLess(void* data) ;
|
|
static void onClickMore(void* data) ;
|
|
|
|
static void onClickPrevStand(void* userdata);
|
|
static void onClickNextStand(void* userdata);
|
|
static void onClickReloadCard(void* userdata);
|
|
static void onClickOpenCard(void* userdata);
|
|
static void onClickNewCard(void* userdata);
|
|
|
|
static LLUUID invfolderid;
|
|
static const LLUUID& getAssetIDByName(const std::string& name);
|
|
|
|
static bool getInstance();
|
|
|
|
private:
|
|
|
|
static LLFloaterAO* sInstance;
|
|
static int mAnimationState;
|
|
static LLUUID mCurrentStandId;
|
|
|
|
static void onSpinnerCommit(LLUICtrl* ctrl);
|
|
static void onComboBoxCommit(LLUICtrl* ctrl);
|
|
static BOOL SetDefault(void *userdata, LLUUID ao_id, std::string defaultanim);
|
|
|
|
BOOL mDirty;
|
|
|
|
protected:
|
|
|
|
static void onNotecardLoadComplete(LLVFS *vfs,const LLUUID& asset_uuid,LLAssetType::EType type,void* user_data, S32 status, LLExtStat ext_status);
|
|
|
|
};
|
|
|
|
extern AOInvTimer* gAOInvTimer;
|
|
|
|
#endif
|