Commit Graph

103 Commits

Author SHA1 Message Date
Inusaito Sayori
5491ff8a51 [LLIMMgr/LLIMPanel] Fix Issue 1254: bug voice in conference
Conference ids are subject to change, switched to boost::ref to bind the real one.
SV-1247 #close Fixed nao~
2013-11-28 20:18:29 -05:00
Inusaito Sayori
909ce355e2 [LLIMMgr/LLIMPanel] Switched from dialog checks for nothing special to generic P2P session checking 2013-11-28 20:08:57 -05:00
Inusaito Sayori
4c1880acac Default legacy log launch to on, and limit it to platforms it works on(windows) at compile time. 2013-11-26 04:49:37 -05:00
Inusaito Sayori
7d98cf1891 [LLIMMgr/LLIMPanel] Woops, only allow invites to Adhocs!! 2013-11-22 18:41:34 -05:00
Inusaito Sayori
2d66022727 [LLIMMgr/LLIMPanel] Clean up the now redundant usage of isInviteAllowed() 2013-11-22 18:18:05 -05:00
Inusaito Sayori
15fefc231b [LLIMMgr/LLIMPanel] isInviteAllowed should return based on mSessionType, not on mDialog. 2013-11-22 18:09:13 -05:00
Inusaito Sayori
53969d05d8 [LLIMMgr/LLIMPanel] Always allow Drag and Drop sharing of any inventory regardless of mDialog so long as mSessionType is P2P_SESSION 2013-11-22 18:00:58 -05:00
Inusaito Sayori
9429b875aa Demote common "Splitting" warning to debugs 2013-10-11 04:06:38 -04:00
Inusaito Sayori
f268c26a3a [LLIMMgr/LLIMPanel] Fix the crashes in notifyParticularFriendObservers()
Forgot to write this line amidst everything else, my bad.
2013-10-11 03:25:32 -04:00
Inusaito Sayori
aa86730df2 [LLIMMgr/LLIMPanel] Fix race condition between name lookup and title setting 2013-10-11 00:45:23 -04:00
Inusaito Sayori
8964cfd58b [LLIMMgr/LLIMPanel Revision] Compile Fixies
How did these even
2013-10-10 17:01:18 -04: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
b049353178 [LLIMMgr/LLIMPanel Revision] Clean up construction of IM Floaters, so much redundant code!!
Removes mProfileButtonEnabled and lookupName()
2013-10-10 04:14:09 -04:00
Inusaito Sayori
402f4f7068 [LLIMMgr/LLIMPanel Revision] Feature Request: Friendship operations from IM
Also adds the toggle mute option, but this was deemed too risky and has been left commented out for future projects to decide for themselves on
2013-10-10 04:03:41 -04:00
Inusaito Sayori
42d9b425e9 [LLIMMgr/LLIMPanel Revision] Dynamic dropdown entries handling functions
Adds addDynamics(), removeDynamics(), rebuildDynamics()
2013-10-10 03:48:17 -04:00
Inusaito Sayori
0cc5484b60 [LLIMMgr/LLIMPanel Revision] Add convert_roleplay_text() to centralize roleplay chat preprocessing
Unifies CAPSLock /ME handling
Unifies AutoCloseOOC impls so they share full common functionality
Adds AutoCloseOOC functionality to do /me ((autocompleted out of character action))

Also, RP Mode now uses parentheses rather than square brackets, by popular demand
2013-10-10 03:35:54 -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
99f81daa99 Feature Request: Add a debug setting, LiruLegacyLogLaunch, to use the old, non-browser method to open chat logs. 2013-10-07 05:43:56 -04:00
Inusaito Sayori
36d658c4c4 Feature Request: Make Log viewing cross platform by opening in a browser window
INB4 Windows users express discomfort.
2013-10-03 19:59:11 -04:00
Inusaito Sayori
88af3cabc3 Fix the issue of system messages being counted towards unread IMs 2013-09-09 20:55:21 -04:00
Inusaito Sayori
adeb340e93 Includes cleanup in llimpanel.* and llimview.cpp 2013-08-29 13:57:54 -04:00
Inusaito Sayori
539eb2e348 Add buttons back to the IM floater, taking the space that RP Mode once occupied
Also fix concise IM buttons from looking awful, concise stays concise, only the dropdown button there.
2013-08-29 13:56:14 -04:00
Inusaito Sayori
b3f414c4ad Move RP Mode check into the Profile button dropdown 2013-08-29 13:45:24 -04:00
Inusaito Sayori
83c66c978b Option to ding on each new IM for given private IM sessions
Ding noises configurable via LiruNewMessageSound* debug settings
2013-08-29 13:35:35 -04:00
Inusaito Sayori
323adeb224 Increment unread message count for IM floaters that are popped out but not focused. 2013-08-24 21:35:14 -04:00
Inusaito Sayori
a5287ee975 Adjust chat log opening functions to use LLLogChat functions to determine log file
This eliminates the possibility of the history button not opening the log file, which has been reported in the past.
This also corrects cases where log files named with date would not be opened.
2013-08-15 21:52:40 -04:00
Inusaito Sayori
9042ccde00 Exchange most of the buttons on the instant message floater for a flyout button that offers more like Request Teleport! 2013-07-31 15:54:55 -04:00
Lirusaito
b7c4532766 Solve Issue 521: Web profile support
Adds a checkbox "Use web profiles instead of legacy v1 profiles" to System->General preferences
Adds a button "Web Profile" to the first life tab of legacy profiles (only available on grids that provide a web profile url)

When connecting to an OSGrid, always set the WebProfileURL setting to whatever is in web_profile_url, this way we know if web profiles are not supported.

Borrowed translations of the preference checkbox from Firestorm, translators may want to tweak
Translators may want to update panel_avatar.xml as it now has a web profile button, and contents have shifted slightly.
2013-06-28 07:18:59 -04:00
Lirusaito
b7136b2b4f [Voice Update] startCall and endCall use Session UUID, not Other Participant UUID. 2013-06-11 16:59:32 -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
cbfa47c0da [Voice Update] LLPanelActiveSpeakers to LLParticipantList
Minor updates to code, mostly just a migration with some v3 stuff commented, since we don't have LLAvatarList and must use buttons since scrolllist menus don't actually exist nicely yet.
Added toggleMuteVoice and isVoiceMuted to LLAvatarActions
Added a minor touch to the voice volume slider, it'll now offer changing your own volume while in an active voice session.. nice to not drop out of an import voice session just to fix yourself.

Also, fix a bug with SpeakerMgr's not flagging speakers for removal properly, causing external speakers and speakers managed by LLActiveSpeakerMgr to never actually get removed.
2013-06-09 11:28:49 -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
fcd6f217d2 LLGroupActions too! (Strengthens RLVa restrictions!)
Cleans up llfloatergroupinfo, makes it an instance tracker... pretty much as nice as llfloateravatarinfo now ^*^
Adds notifications JoinGroupNoCost and JoinedTooManyGroups (added to our existing translations, of course)
Cleans up all around, placing groupactions around.

Touches up bits for avataractions
2013-05-31 07:37:00 -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
4eae554812 Merge branch 'UICleanup' of git://github.com/Shyotl/SingularityViewer
Conflicts:
	indra/llappearance/llwearable.h
	indra/llui/llcombobox.h
	indra/newview/jcfloaterareasearch.cpp
	indra/newview/jcfloaterareasearch.h
	indra/newview/llpanelgrouproles.cpp
	indra/newview/llpanelgrouproles.h
	indra/newview/llviewermenu.cpp - Plugged in new MenuFloaterDict for AssetBlacklist and SoundExplorer in menu_viewer.xml and removed the old listeners for them.
	indra/newview/skins/default/xui/es/floater_inventory.xml
Compile Fixes:
	indra/llcommon/llstl.h - error: expected nested-name-specifier before ‘const’
	indra/llui/llmultisliderctrl.cpp:283:12: error: ‘caller’ was not declared in this scope
	indra/llui/lltexteditor.cpp
		- error: operands to ?: have different types ‘const LLPointer<LLTextSegment>’ and ‘long int’
		- error: passing ‘const LLPointer<LLTextSegment>’ as ‘this’ argument of ‘LLPointer<Type>& LLPointer<Type>::operator=(const LLPointer<Type>&) [with Type = LLTextSegment]’ discards qualifiers
	indra/newview/llfloaterpermissionsmgr.cpp - Silly Shyotl, boost bind, not std bind.
	indra/newview/llfloaterproperties.* - error: ‘LLInstanceTracker<LLFloaterProperties, LLUUID>’ is an inaccessible base of ‘LLFloaterProperties’
	indra/newview/llgivemoney.cpp - Again, boost::ref, not std::ref
	indra/newview/llpreviewscript.cpp - no known conversion for argument 1 from ‘std::vector<const LLPointer<LLTextSegment> >’ to ‘std::vector<LLPointer<LLTextSegment> >&
2013-05-27 08:09:28 -04:00
Inusaito Sayori
9742794d08 If possible, figure out the typing person's name according to the name system before showing that they are typing.
(IE: "Aur'a Færs (inusaito.kanya)is typing..." instead of "Inusaito Kanya is typing...")
This adds consistency between chat and messages, and should Resident strip in most cases.
2013-05-17 03:12:10 -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
Shyotl
e8ce35ebf8 Merge branch 'master' into UICleanup
Conflicts:
	indra/llcommon/llstl.h
	indra/newview/jcfloaterareasearch.cpp
	indra/newview/jcfloaterareasearch.h
	indra/newview/llfloateranimpreview.cpp
	indra/newview/llfloateranimpreview.h
	indra/newview/llfloaterperms.cpp
	indra/newview/llfloaterproperties.cpp
	indra/newview/llpanelpermissions.cpp
	indra/newview/llviewermenu.cpp
2013-05-03 21:41:51 -05:00
Shyotl
a5dad6be5c UI cleanup.
-Added ui-local transformation matrix.
-Gutted legacy commitcallbacks throughout ui widget ctors.
-Created filter_editor ui widget which issues commit on keypress
   -search_editor commits on focus loss/enter press
   -search_editor and filter_editor now have a built in 'x' button to clear text.
-LLComboBox::setPrearrangeCallback now uses boost::function
-LLComboBox::setTextEntryCallback now uses boost::function
-LLLineEditor::setKeystrokeCallback now uses boost::function
-LLLineEditor::setPrevalidate now uses boost::function
-LLPanel::childSetKeystrokeCallback removed
-LLPanel::childSetPrevalidate removed
-LLPanel::childSetActionTextbox now uses boost::function
-LLTextBox::setClickedCallback now uses boost::function
-LLTextEditor::setKeystrokeCallback added.
-Cleaned up JCFloaterAreaSearch
2013-04-16 00:25:59 -05:00
Melanie
158a434899 Set focus in all necessary ways, not just the keyboard alone, when tabs are changed by alt-arrows 2013-04-16 05:45:27 +02:00
Melanie
273f57d5a2 Fix chat focus issues once and for all 2013-04-13 04:59:02 +02:00
Lirusaito
95bd81ee7e Merge branch 'Cupcake' of https://github.com/LightDrake/SingularityViewer into Frosting 2013-03-08 02:57:48 -05:00
Lirusaito
6153beabff Fix logic in toggle_active_speakers. 2013-03-06 05:06:36 -05:00
Lirusaito
db39bab95b Fix a ton of run-time warnings about UI.
Cleans up some related code, probably looks nicer with space changes off.. though this is a pretty straightforward change.
Comments out code that still exists in xmls or might likely be added in future.
Each piece tested quite a bit.
2013-03-05 20:20:59 -05:00