Commit Graph

67 Commits

Author SHA1 Message Date
Lirusaito
a1d06e682e Switch to using typedef'd uuid types everywhere and auto for iterators
Oh, and some related opts.
2019-04-04 22:20:21 -04:00
Lirusaito
aac8382cf0 Fix the missing group bug AND make Voice Chat Invite better 2019-03-27 19:24:42 -04:00
Lirusaito
0269affb69 I need less unstaged code
Here's pieces of the WIP offline->IM->online fix
2019-02-15 19:33:22 -05:00
Lirusaito
f33429f1bb Buncha pointless sync and cleanup 2016-05-27 12:17:30 -04:00
Shyotl
1e488fef6d Merge branch 'master' of https://github.com/Lirusaito/SingularityViewer.git
Conflicts:
	indra/newview/llviewerregion.cpp
2015-06-26 20:38:43 -05:00
Shyotl
09f4528bfb Removed LLDynamicArray, LLDynamicArrayIndexed, LLDynamicArrayPtr, LLDLinked, LLDynamicQueuePtr, LLEnum, and LLIndexedQueue. Added new LLPointer variants. 2015-06-19 18:27:21 -05:00
Inusaito Sayori
b11511b7b9 Merge branch 'master' of git://github.com/Shyotl/SingularityViewer
Conflicts:
	indra/newview/lldrawpoolwlsky.cpp
2015-06-19 05:42:49 -04:00
Shyotl
1c627317ec No longer include llerrorlegacy.h. Updated llstl to include deletion utilites. 2015-06-19 03:54:20 -05:00
Inusaito Sayori
03f2192684 At the request of Aleeri in group, add support for EXP-901
Notifies nonfriends when their chat is blocked
This is instead of showing the muted autoresponse message, so only muted people will see it now.

Also cleans up some excess autoresponder code.
2015-05-20 11:31:28 -04:00
Inusaito Sayori
1db2ffe02b Feature Request: Allow blocking conferences from nonfriends exclusively.
Option is in Communication tab, as the old one was.

Translators will need to localize this. (panel_preferences_im.xml)
2015-05-12 18:00:14 -04:00
Inusaito Sayori
398014b118 Port Hover Height from Alchemy, it's in quicksettings~
Lots and lots of other sync~
Also has a command /hover
Added /resync command from Alchemy.
2015-03-25 08:04:24 -04:00
Lirusaito
be6ad2a919 Add Mouselook IFF from Alchemy!
Also Assorted Code Cleanup and sync with Alchemy
Debug Settings are AlchemyMouselookIFF and AlchemyMouselookIFFRange
Look to see if an avatar is in a nearby region always when checking if they're an estate owner.
2015-03-13 22:16:07 -04:00
Inusaito Sayori
f26d7c7bf2 Update instant message stuff
Fixes auto response chats not showing the name, anymore; switches to using 25% more font color transparency to indicate autoresponse
Cleans up and reorganizes im codestuffs~
2014-12-27 10:20:57 -05:00
Inusaito Sayori
0e48a2196f Update/Modernize LLAvatarName and LLAvatarNameCache and _EVERYTHING_ they touch
Fairly certain this adds the feature in which the user may click the online notification to open a chat with the user coming online.

Translators may want to look at the xml changes of this change to see what to update

Removes old LegacyMultiAttachmentSupport patch
Moves LLAvatarName-centric functions into LLAvatarName from elsewhere.
Adds boost::signals2::connections to name polling places.
Removes more old icky static callbacks
Merge from Alchemy, credit where due~
Update notifications.xml to have a bunch of the tags from upstream to ease diffing
2014-12-16 17:55:23 -05:00
Aleric Inglewood
74dff061ff Support for new LL Responder API.
This adds mStatus, mReason and mContent to ResponderBase
and fills those in instead of passing it to member functions.
The added danger here is that now code can accidently try
to access these variables while they didn't already get a
correct value.

Affected members of ResponderBase (that now have less arguments):
decode_llsd_body, decode_raw_body, completedHeaders,
completed -> httpCompleted, result -> httpSuccess,
errorWithContent and error -> httpFailure.

New API:

ResponderBase::setResult
ResponderBase::getStatus()
ResponderBase::getReason()
ResponderBase::getContent()
ResponderBase::getResponseHeaders() (returns AIHTTPReceivedHeaders though, not LLSD)
ResponderBase::dumpResponse()
ResponderWithCompleted::completeResult
ResponderWithResult::failureResult (previously pubErrorWithContent)
ResponderWithResult::successResult (previously pubResult)

Not implemented:

getHTTPMethod() - use getName() instead which returns the class name of the responder.

completedHeaders() is still called as usual, although you can ignore
it (not implement in a derived responder) and call getResponseHeaders()
instead, provided you implement needsHeaders() and have it return true.

However, classes derived from ResponderHeadersOnly do not have
completedHeaders(), so they still must implement completedHeaders(),
and then call getResponseHeaders() or just access mReceivedHeaders
directly, as usual.
2014-07-12 18:29:44 +02:00
Inusaito Sayori
81affe719f Add a setting to automatically decline and leave incoming conferences
Look under Communication preferences for "Block incoming conference chats" to activate.
2014-05-14 03:34:32 -04:00
Inusaito Sayori
275f85e7a6 Fix god chat not showing up in god color if the god is using a display name. 2014-02-04 15:21:13 -05:00
Inusaito Sayori
94aee52c64 [RLVa] b15fdd026026 ported
- internal : reviewed @recvim and @sendim for CHUI (SL-3.5)

Singu changes:
- Updated busy to be referred to as do_not_disturb in llviewermessage.cpp
- Don't send autoresponse if we can't send an IM by rlva
- Updated checks for from name being system to be to_id and from_id null checks.
- Minor compile fix in rlvui.cpp for last commit.
2014-01-27 23:42:09 -05:00
Inusaito Sayori
2f334b021f [LLIMMgr/LLIMPanel Revision] Two last things
Handle display of popped out IM floaters better
send_start_session_messages(): cut early if ids is empty, fallback on UDP if there is a region but there isn't ChatSessionRequest Cap
2013-10-10 04:21:19 -04:00
Inusaito Sayori
363fa450fb [LLIMMgr/LLIMPanel Revision] More Miscellaneous Code Cleanup 2013-10-10 04:18:08 -04:00
Inusaito Sayori
0a874b0768 [LLIMMgr/LLIMPanel Revision] Don't let new messages ever change the active communications tab (perhaps fixes StockMaster's issue?) 2013-10-10 04:10:02 -04:00
Inusaito Sayori
a179f95057 [LLIMMgr/LLIMPanel Revision] Clean up ignored groups logic 2013-10-10 04:08:01 -04:00
Inusaito Sayori
d04820507c [LLIMMgr/LLIMPanel Revision] LLFloaterIMPanel constructor combination and removal of LLFloaterIMPanel::init()
Also changes Session Label to Log Label because that's really what it is at this point
Also rearranges members in LLFloaterIMPanel, and war on BOOLs
Also removes mSessionInitialTargetIDs because it's no longer needed outside of the constructor
2013-10-10 03:26:51 -04:00
Inusaito Sayori
260723f2a4 [LLIMMgr/LLIMPanel Revision] Fix PinTalkViewOpen=false mechanics
If the user is holding a modifier key with enter, it bypasses the unpinned setting
If a chat is popped out, this setting now only minimizes that chat, not toggles the main communications floater.
LLIMPanel::closeIfNotPinned() now condenses the logic.

Also makes LLIMMgr::toggle() non-static and requiring no args.
2013-10-10 02:49:02 -04:00
Inusaito Sayori
9e312a3808 [LLIMMgr/LLIMPanel Revision] Cleanup of unused/useless classes, functions, members and xmls 2013-10-10 02:27:26 -04:00
Inusaito Sayori
adeb340e93 Includes cleanup in llimpanel.* and llimview.cpp 2013-08-29 13:57:54 -04:00
Lirusaito
663d0a29f2 Attempt to satisfy Issue 82: Idle status in nametags doesn't always update properly 2013-07-18 23:19:34 -04:00
Lirusaito
7e9c75ef6b Use the translatable string Saved_message everywhere needed, instead of just one place. 2013-06-11 15:43:27 -04:00
Lirusaito
d947912bb0 [Voice Update] Start/End call functions
Adds llvoicecallhandler.cpp
Enables the Group and Avatar Actions requiring the voice refactor.
Adds autoStartCallOnStartup, processAgentListUpdates, startCall, and endCall to LLIMMgr.
Gives llimpanel some LLIMModel functionality to see if a floater was opened with the intent of being a call.
Cleans up LLIMPanel with new functions from the voice refactor.
2013-06-11 15:41:53 -04:00
Lirusaito
89963b018b [Voice Update] llfloateractivespeakers.* to llspeakers.*
Condenses the three moderation responders to one.
Adds Speakers settings.
Uses dedicated timer class to track speakers on the list
Adds temporary getSpeakerManager() function to LLFloaterIMPanel to play the role of LLIMModel::getSpeakerManager
2013-06-04 10:18:49 -04:00
Lirusaito
c273e34ed8 [Voice Update] LLVoiceClient
Migrate a bunch of classes out of llvoiceclient.* and into new llvoicevivox.*
Update most of these to match their counterparts
Introduce VoiceFonts support (voice morphing, floater still to come)
Support for a bunch of v3 voice settings.
Move volume settings management from LLMutelist into LLSpeakerVolumeStorage
Support for Avaline mutes (WIP)
Adds voice section to LLAgent
Moved llfloatervoicedevicesettings to llpanelvoicedevicesettings, v3's voice device panel design is more intuitive.
2013-06-03 22:20:27 -04:00
Lirusaito
07e1b5c3b9 [Voice Update] Remove gVoiceClient occurrences in favor of using LLVoiceClient as a Singleton everywhere. 2013-06-02 01:34:03 -04:00
Lirusaito
b6096720b1 [Voice Update] Break out llvoicechannel.* from llimpanel.* 2013-06-01 22:47:41 -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
Siana Gearz
89e7decc12 Bring chat focus behaviour closer to Phoenix by default, and an option 2013-05-26 14:34:19 +02:00
Lirusaito
ea52583510 LLFloaterNewIM was no longer used, I plucked it out. 2013-05-21 19:09:41 -04:00
Inusaito Sayori
6048c2405b Correct the (hopefully) last chat color issues~ 2013-05-20 08:39:51 -04:00
Inusaito Sayori
0c3f8f77e1 Fix the issue in which during conference chats the user's name is displayed as legacy, not linked, the wrong color, and their chat is not in their chosen color
Removes the "not sure why" block of code that sets the other_participant_id null if it's really from the user.
I have no idea why this ever was needed, it's a hack for certain, and only breaks things now.
2013-05-19 15:21:08 -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
6a774e4685 This should fix voice decline crash 2013-02-03 21:56:13 +01:00
Latif Khalifa
a9b05fd029 Merge remote-tracking branch 'lirusato/master' 2013-01-30 05:48:45 +01:00
Lirusaito
4e96dccd7c Fix Issue 385: Group chat announces in window not in Instant message
Improved Ignore Group functions
Best viewed without space changes.
2013-01-26 21:47:32 -05:00
Aleric Inglewood
dcc2e52c61 Merge remote-tracking branch 'singu/master' 2013-01-13 18:01:48 +01:00
Aleric Inglewood
f9738cb611 Add getName() to every non-base class Responder object. 2013-01-11 04:15:55 +01:00
Lirusaito
3ed2da9282 Once more change the behavior of minimizing new chats in open in separate floater mode, to be a little more truthful. 2013-01-08 14:53:08 -05:00
Lirusaito
b4b6186f54 Re: 3ea353bef3, fix minimize case to minimize and not steal focus. Also apply to group chats. 2013-01-08 08:43:55 -05:00
Lirusaito
c0ba3e95f3 Ability to change default behavior of Chats being torn off so that all chats appear minimized upon opening, as well, regardless of conditions.
Adds debug setting OtherChatsTornOffAndMinimized
Not added to ui xml because the default behavior is likely fine.
2012-12-31 19:06:23 -05:00
Lirusaito
4ec6f853d8 In-Group feature request: Ability to have chats torn off, by default.
Best viewed without space changes... or maybe it doesn't matter any more.
Debug setting OtherChatsTornOff added.
Added Open new IMs in separate floaters checkbox to  Adv. Chat.
Moved Show group name in chat to the right column on top of Adv. Chat panel.

So how's this work?
Two ways.. 1. The user opens a chat; 2. A chat is started from another party to the user.
In 1, we open the chat in a separate floater and focus the floater.
In 2, we check if there is a floater currently in focus before opening the chat
if so, we minimize the floater, setting focus back to whatever floater the user was focused on;
if not, we leave the new chat floater open and focused.

Note that this will NOT alter the default behavior at all, we can't be having that.
2012-12-31 17:06:30 -05:00
Lirusaito
ba57bb1396 In-group feature request: Allow coloring chat of special people (Friends, Estate Owner, Lindens, Muted Residents)
Added ColorFriendChat, ColorEstateOwnerChat, ColorLindenChat, and ColorMutedChat.
Did some spaces to tabs work, view without space changes.
Add checkboxes beneath corresponding color swatches and "Use colors for chat:" text to Vanity.
Fix Ascent*Color Comments strings.

Also fix the issue where clicking ones name in a group chat would result in it opening a random profile.
2012-12-31 06:24:35 -05:00
Aleric Inglewood
c0ac428179 Code cleanup
* Moved Responder stuff to LLHTTPClient.
* Renamed LLHTTPClient::Responder to LLHTTPClient::ResponderWithResult.
* Deleted LLHTTPClientAdapter and LLHTTPClientInterface.
* Renamed AICurlInterface::TransferInfo to AITransferInfo and moved it
  to llhttpclient.h
* Removed 'CURLcode code' argument from completed_headers.
2012-10-31 23:11:42 +01:00