Commit Graph

101 Commits

Author SHA1 Message Date
Inusaito Sayori
fe29521298 [VarRegions] Made the radar aware that region width may not be 256 always anymore 2013-09-27 11:58:03 -04:00
Drake Arconis
fdc855cd37 Trivial changes to better sync with viewer 3 2013-08-25 14:14:51 -04:00
Inusaito Sayori
cc534487c0 Fix StockMaster's issue of the radar alerting ten seconds after avatars have departed 2013-08-08 00:06:32 -04:00
Inusaito Sayori
2e36b569ad Fix focusing marked via the radar menu not working 2013-08-06 10:05:20 -04:00
Lirusaito
a864acd74b [Radar] Add menu to the radar 2013-07-26 16:30:44 -04:00
Lirusaito
d82a2d0392 Add support for generic list menu listeners
This adds enablers/visiblers: "List.EnableAnySelected" "List.EnableMultipleSelected" "List.EnableSingleSelected" "List.EnableCall" "List.EnableIsFriend" "List.EnableIsNotFriend" "List.EnableMute" "List.EnableOfferTeleport"
This adds click callbacks: "List.CopyUUIDs" "List.OfferTeleport" "List.Pay" "List.RemoveFriend" "List.RequestFriendship" "List.ShowProfile" "List.StartAdhocCall" "List.StartCall" "List.StartConference" "List.StartIM" "List.AbuseReport" "List.ParcelEject" "List.Freeze" "List.EstateBan" "List.EstateEject" "List.ToggleMute"

Exposes LLRegionInfoModel::sendEstateOwnerMessage to the public to avoid further duplicated code
2013-07-26 16:29:28 -04:00
Lirusaito
f98f1e9f5d [Radar] In expireAvatarList, use the return value of erase 2013-07-21 09:59:35 -04:00
Lirusaito
799b5408e4 [Radar] Fix up expireAvatarList to actually expire all the dead avatar entries, not just the back one. 2013-07-21 04:57:33 -04:00
Lirusaito
845088166a [Radar] Switch from using frames in keeping track of ranges to using a bitset
Renames ALERT_TYPE_* to STAT_TYPE_* and ERadarAlertType to ERadarStatType
Removes mIn*Frame and accessors for these in favor of checking for the bit in mStats
Use mStats instead of mAgeAlert now.
Moves the range leave handling out of getAlive and into setPosition, where it logically belongs

Should fix Issue 43: Radar reports multiple times for agent entry upon rendering
2013-07-21 04:43:01 -04:00
Lirusaito
3650a56407 [Radar] Remove id null checks where null id is an impossibility due to earlier checks 2013-07-21 02:06:57 -04:00
Lirusaito
82c37ca9a3 [Radar] Remove unused member mDrawPosition 2013-07-21 01:24:58 -04:00
Lirusaito
6fb68b4913 [Radar] Add a debug setting RadarRangeRadius to limit how far away avatars showing up on radar can be (0, the default, is unlimited) 2013-07-20 23:16:29 -04:00
Lirusaito
2d55b1ab1c [Radar] Condense updateAvatarList to have less duplicate code 2013-07-20 23:07:04 -04:00
Lirusaito
98813c75f3 [Radar] Remove duplicate code from updateAvatarList that was already performed during LLWorld::getAvatars 2013-07-20 23:02:14 -04:00
Lirusaito
72a335daf0 [Radar] Move avatar age block into processProperties as this is more logical 2013-07-20 22:52:50 -04:00
Lirusaito
791266fc27 Moved age alert and title changing blocks out of refreshAvatarList and updateAvatarList to fix them not working as well as they should 2013-07-19 23:56:20 -04:00
Lirusaito
1b734e190c Scroll List Classes Params
Params for LLScrollListCell, LLScrollListItem, and LLScrollListColumn
Moves code block for creating a LLScrollListCell out of LLScrollListCtrl::fromXML and into LLScrollListCell::create
Removes mDefaultListTextColor from LLScrollListCtrl, it is now used only in LLScrollListCell::create
Adds LLScrollListCtrl::addRow and LLScrollListCtrl::addColumn functions that take these Params
Separators are now built from an icon.. we may want to tweak it in the future, looks alright though

LLFloaterAvatarList::refreshAvatarList now builds elements with these Params instead of by LLSD
2013-07-16 09:33:26 -04:00
Lirusaito
af15010c79 Make radar string "Out Of Range" translatable 2013-07-16 08:04:38 -04:00
Lirusaito
7113916d74 Prevent the radar from dividing by zero (May not be an issue yet) 2013-07-16 05:46:30 -04:00
Lirusaito
d497e0d10e Remove ancient emerald metadata commented out code from radar 2013-07-16 05:34:09 -04:00
Lirusaito
c77f0de9cf Refactor LLScrollList* and relatives
Breaks out llscrolllistcolumn, llscrolllistcell, and llscrolllistitem from llscrolllistctrl and llflyoutbutton from llcombobox
2013-07-12 17:47:01 -04:00
Lirusaito
c701c61566 LLAvatarActions all hooked up!
Rlva style~ So update to RLVa stuff!
Adds support for @startim and @startimto
Enables hasOpenIM and hasOpenProfile, Yay functionality!
RLV_BHVR_STARTIM and RLV_BHVR_STARTIMTO added

While I was working, I was updating LLAgentHandler, after long enough it was identical enough to the one in llpanelprofile, so we're using that now.
Cleans up llfloateravatarinfo to the point of being a floater and instancetracker wrapper for a panelavatar (profile panel)
Bypasses looking up expired names that we know via get, this should avoid chats (and profiles, but that bug never got out) never opening for people we already know the name of on a bad connection; of course, this will only cause a faster reaction on the UI's part, messages may never get sent still (and profiles may never load) if the connection is truly terrible.
Cleans up llfloaterfriends and some parts of llfloateravatarlist (avatarlist could be cleaned up more from this perhaps in the future)
May slightly look better with copy detection and without space changes..

llgivemoney.cpp changes fix up some dummy view warnings I noticed while testing these changes
llpreview.cpp changes avoid segfault caused by llfloateravatarinfo not being a preview anymore but being inside a multipreview nonetheless.

Translators, don't worry, I covered this one with updates from v3 (Except German team)
2013-05-29 23:56:33 -04:00
Lirusaito
19996468c1 Correct a flipped bool 2013-05-23 17:37:19 -04:00
Lirusaito
99ea3facce Just some touch-ups to the radar, they compile and won't affect anything, but they'll help in the future. 2013-05-23 14:28:11 -04:00
Lirusaito
417dcb4e49 Frosting touchups
Cleaned up flaws in LLUUID
- Removed deprecated LLUUID::toString(char*) and LLUUID::toCompressedString(char*)
Cleaned up some comments
2013-05-11 23:14:16 -04:00
Lirusaito
9b5360a40b Chat Frosting
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.
2013-05-11 22:36:46 -04:00
Siana Gearz
dbdd0ec4f1 Merge branch 'Canon' of git://github.com/Lirusaito/SingularityViewer 2013-02-17 15:40:27 +01:00
Shyotl
8ec5915b7c Removed some logic in llfloateravatarlist that shouldn't have been there. 2013-02-12 20:49:39 -06:00
Lirusaito
43bb5d6e39 Add bool LLMuteList::isLinden(const LLUUID& id) for use in situations where the available name may be just display name, but there is a UUID available instead. 2013-02-12 20:43:10 -05:00
Latif Khalifa
460b05d37a Merge remote-tracking branch 'shyotl/master' 2013-01-16 16:25:51 +01:00
Shyotl
6894d4c0bc Changed how the 'client' column in avatar radar is handled. Initially was not designed nor tested to be toggleable on user-demand (was one shot deal depending on detected grid). 2013-01-15 23:14:58 -06:00
Lirusaito
0494dc8d32 Fix Issue 432: Radar Keeps Popping Up and side issue I got still the window "An object owned by you ..."
Unified key message sending to function send_keys_message()
Switched a few getBOOLs to CachedControls
Added RadarChatKeysStopAsking, and RadarChatKeysRequest as a three button notification so the user can decide to permanently say no.
Corrected RadarChatKeys description to be more accurate.
If we want to know if the radar is open, we check instanceExists, not getInstance.
Also enabled using the announce button when RadarChatKeys is false to announce keys, for manual updates.
2013-01-14 06:34:27 -05:00
Lirusaito
2dda9499fa Unhide Client column properly on non-SL Grids. 2013-01-11 03:56:55 -05:00
Lirusaito
ffa405dad9 Comment cleanup. 2012-12-28 01:25:11 -05:00
Shyotl
f6ee966e17 Clean up LLAvatarListEntry creation/destruction and resolve LLAvatarPropertiesProcessor retaining deleted observers. 2012-12-27 21:59:59 -06:00
Inusaito Sayori
60621a300c Satisfy in-world feature request: Avatar Count on Radar. 2012-12-24 03:09:09 -05:00
Inusaito Sayori
1ecea32933 An hour is not a circle. 2012-12-22 02:07:36 -05:00
Inusaito Sayori
ceae4470f5 Fix a windows compiley thing. 2012-12-21 05:49:14 -05:00
Lirusaito
237455f4b7 Use boost::date_time for displaying avatar age.
llpanelavatar change may be better viewed without space changes.
2012-12-20 23:34:05 -05:00
Lirusaito
245eaa1fd9 Satisfy radar issues: 51(Avatar Age), 382(Time duration), 245(Hide columns on command)
Overall:
Extras tab added to radar.
Activities given tool_tip strings, TODO: Get icon entries to have tool_tips.
Added tab_min_width="0" to tab container so tabs take up only as much space as necessary.

Issue 51:
RadarAlertAge, AvatarAgeAlertDays debugs added.
RadarTextYoung color added to colors_base and gemini.
UI bits added to radar.
ALERT_TYPE_AGE, LIST_AGE, and boost::lexical_cast added.
LLAvatarListEntry is now derived from LLAvatarPropertiesObserver for processProperties and all that fun stuff. Also has mAgeAlert and mAge.
processProperties is basically copied directly from LLAvatarPanel, it can probably be bettered.

Issue 382:
mTime, getTime(), LIST_TIME
Time column.

Issue 245:
Hide columns text and checkboxes added to UI.
assessColumns() now used to determine which columns to show. Also once used during postBuild()
col_helper() function added to help decide to hide or resize a column based on given params.
checkboxes all use assessColumns as callback.
RadarColumn* debug settings added.

If you read this all, that's a sign the 'pocalypse is coming.
2012-12-20 08:58:18 -05:00
Lirusaito
c24950b261 Merge branch 'master' of https://github.com/singularity-viewer/SingularityViewer
Conflicts:
	indra/newview/llfloateravatarpicker.cpp - Includes to v-d style, since plain alphabetical just won't cut it. Shyotl's changes for name system, here.
	indra/newview/llpanelgroupinvite.cpp - Shyotl's changes for name system, here.

Also corrected new README to have less typos and be slightly more accurate.
2012-12-10 11:24:25 -05:00
Siana Gearz
3e5bd4e13b Linux build fixes 2012-12-09 04:25:01 +01:00
Shyotl
9fb4e677a6 Updates to LLScrollListCtrl and related inter-dependencies. Also added ability to set face texture to 'None' (LLUUID::null). 2012-12-08 00:56:58 -06:00
Lirusaito
1ffb5aa6fe LLFloaterAvatarList RLVa: Don't announce people are in range when the user is blind. 2012-12-06 22:17:44 -05:00
Shyotl
e750c598be Updated avatar radar. Focusprev/focusnext now obey the order of the actual displayed avatar list. Cleaned up some commit callbacks. 2012-12-06 17:16:44 -06:00
Shyotl
26191dd274 Migrate to boost::bind for a bunch of CommitCallbacks. Converted several static member functions to nonstatic member functions 2012-12-06 17:13:17 -06:00
Shyotl
ef6f411b70 Removed LLUICtrl::setDoubleClickCallback and LLPanel::childSetDoubleClickCallback as they aren't used/needed and complicate things. Added LLPanel::childSetAction overload that accepts boost::singal2::signal (for boost::bind). Now using boost::function for various callbacks in LLScrollListCtrl (for boost::bind). 2012-12-04 21:54:01 -06:00
Lirusaito
2c48161595 Make Baker's Group code compile! Thanks Shyotl~
Note: Large groups still don't load?!
SimConsole cap is needed for Sim Console, won't work without it, keeping it in!
..But it should work with the new ASync one? Maybe needs tweaks, first?

Also switches opening IMs to the gCacheName->getFullName(id, name) system mentioned earlier, my connection has improved!
And makes the Avatar Picker show display names! Yay! (Rearranged the includes there, alphabetical~)
Also fallback to gCacheName->getFullName(id, name) if getting name fails in the new system.. hopefully this will combat occasional big failures.. but it may not work anyway.. maybe my connection is just awful again
2012-12-04 11:54:54 -05:00
Lirusaito
b9cfd2fae5 Replace the tricky copy-paste-everywhere Display Name system code with a unified function
Only does that, dun believe me? Take a look, oh... it also corrects improper interpretations of the PhoenixNameSystem value: 1 is both, 2 is displays, 0 and anything else is Legacy.
Also replaces a bit of the display name support code with new system... by definition this shouldn't change the log file, only the title of the session..
because of my bad connection during week days, I can not confirm this working 100%,
but if it does end up changing the logs under certain unseen conditions, replace the new name check with gCacheName->getFullName(id, name) but this reallllly shouldn't happen!
2012-12-04 00:36:12 -05:00
Lirusaito
1f7ed035d3 Make translation more flexible
Also in this commit, unrelated updates to the building panel (so git sees the markup "just" move in my next commit)
2012-09-29 16:59:17 -04:00