Commit Graph

60 Commits

Author SHA1 Message Date
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
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
Drake Arconis
3fac86158c General cleanup of unused variable warnings 2013-03-04 16:04:05 -05:00
Latif Khalifa
70eeddabba Merge remote-tracking branch 'shyotl/sunshine' 2013-01-31 17:20:58 +01:00
Shyotl
be0d751334 Cleanup, further hardening of namecache callbacks, and update to avatar picker. 2013-01-30 22:04:04 -06:00
Latif Khalifa
cef7ea9f5e Merge remote-tracking branch 'lirusato/master' into 1.7.3-dev 2013-01-13 12:45:37 +01:00
Lirusaito
ece92a1b7c Optionally, have group chat and conference buttons on title line.
Adds UseConciseGroupChatButtons, and UseConciseConferenceButtons
Adds "Buttons on group chat name line (Affects new group chats)" and "Buttons on conference title line (Affects new conferences)" checkboxes to Adv. Chat's Chat UI tab.
Adds floater_instant_message_ad_hoc_concisebuttons.xml, floater_instant_message_group_concisebuttons.xml

Brings panel_speaker_controls.xml's speakers_list down by 7 pixels, which is necessary because it is awkwardly high in old places as well, such as Local Chat.
2013-01-12 14:42:55 -05:00
Aleric Inglewood
f9738cb611 Add getName() to every non-base class Responder object. 2013-01-11 04:15:55 +01:00
Lirusaito
a7d1a4611f Optionally, have IM buttons on the same line as the person's name.
Adds UseConciseIMButtons.
Adds floater_instant_message_concisebuttons.xml
Adds Have buttons on the same line as name for IMs (Affects new IMs) checkbox to Adv. Chat's Chat UI tab.
2013-01-09 10:19:41 -05:00
Lirusaito
0100cd2f36 More of e2b011590d
Fixing up the name system, missed two parts.
2012-12-06 21:04:06 -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
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
Aleric Inglewood
0b265320a9 Code clean up.
* Removed LLCurlRequest and replaced it's last usage with LLHTTPClient API calls.
* Deleted dead code.
* Renamed all the get4/post4/put4/getByteRange4 etc, back to their
  original name without the '4'.
2012-10-31 05:01:24 +01:00
Aleric Inglewood
2a88f7d7c4 ResponderAdapter stuff
Renamed AICurlInterface::Responder to AICurlInterface::ResponderBase,
but without the virtual 'event' methods.
Derived from that: Responder and ReponderWithCompleted, where the
first defines result = 0, ErrorWithContent and error, and the latter
completedRaw and completed.
Added HttpClient::IgnoreBody, derived from Responder and implementing
'result' doing nothing; HttpClient::Ignore is now derived from
IgnoreBody and defines the still pure virtual getHTTPTimeoutPolicy.

Added ResponderBase::decode_body, which is now the sole place
where the code makes the decision wether some response data might be
LLSD or not based on the http status result. Before it just tried
to decode everything as LLSD, which seems a bit nonsense.

ResponderWithCompleted::completed no longer does anything, since
classes derived from ResponderWithCompleted are expected to override it,
or never call it by overriding completedRaw.

Entry point is now ResponderBase::finished = 0, instead of
completedRaw, where ResponderWithCompleted implements finished by
called completedRaw, but Responder doesn't: that directly calls
result/errorWithContent/error. Or, for the hack ResponderAdapter,
the entry points are pubResult/pubErrorWithContent.
Those are now the ONLY public methods, so more confusion.
mFinished is now set in all cases.

As a result of all that, it is no longer possible to accidently
pass a responder to ResponderAdapter that would break because it
expects completed() and completedRaw() to be called.

Added LLBufferArray::writeChannelTo.

Fixed bug for BlockingResponder::body (returned reference to temporary).

LLSDMessage::ResponderAdapter now allows a "timeoutpolicy" name
to be passed (not doing so results in the default timings), so
that the timeout policy of the used responder is retained.

Fixed llfasttimerview.cpp to test LLSDSerialize::fromXML() to return
a positive value instead of non-zero, because it may return -1 when the
parsing fails (three places).

Removed LLHTTPClient::Responder as base class from
LLFloaterRegionDebugConsole completely: it isn't a responder!

Several other responder classes were simplified a bit in order to
compile again with the above changes.
2012-10-26 04:13:29 +02:00
Aleric Inglewood
3f1fb9a66e Add improved timeout handling for HTTP transactions.
Introduces AIHTTPTimeoutPolicy objects which do not just
specify a single "timeout" in seconds, but a plethora of
timings related to the life cycle of the average HTTP
transaction.

This knowledge is that moved to the Responder being
used instead of floating constants hardcoded in the
callers of http requests. This assumes that the same
timeout policy is wanted for each transaction that
uses the same Responder, which can be enforced is needed.

I added a AIHTTPTimeoutPolicy for EVERY responder,
only to make it easier later to tune timeout values
and/or to get feedback about which responder runs
into HTTP errors in debug output (especially time outs),
so that they can be tuned later. If we already understood
exactly what we were doing then most responders could
have been left alone and just return the default timeout
policy: by far most timeout policies are just a copy
of the default policy, currently.

This commit is not finished... It's a work in progress
(viewer runs fine with it though).
2012-10-05 15:53:29 +02:00
Aleric Inglewood
56f2f0b727 Merge branch 'curlthreading2' into curlthreading3 2012-09-19 04:14:25 +02:00
Lirusaito
ea8791697e Sync more code with upstream, Translations galore, even translations for AntiSpam!
Updated AntiSpam with documentation, safety measures, and better presentations and clarifications for the end-user from FS.
If it looks like something was removed from an xml, it was just moved to fall into place better with v-d.

Corrected log end message being log start message.
2012-09-01 00:43:30 -04:00
Aleric Inglewood
83b13f6a3f WIP: make everything use AICurlEasyRequestStateMachine 2012-08-20 21:18:19 +02:00
Shyotl
d2b13f515d Avoid several excessive per-frame LLView::getChildView calls by instead caching the results in postBuild. (Added CachedUICtrl, which is basically just a self-nulling pointer to not have to make ui ctors dirtier) 2012-08-03 20:51:53 -05:00
TighMacFanatic
329b708aaf Fix History button in IM panel not working for non-Windows users. 2012-07-15 15:07:05 -04:00
Siana Gearz
f05edda4f4 Merge branch 'V2MultiWear' of git://github.com/Shyotl/SingularityViewer into V2MultiWear
Conflicts:
	indra/newview/llfloateravatarlist.cpp
	indra/newview/llfloatermessagelog.cpp
	indra/newview/llstartup.cpp
	indra/newview/llviewermenu.cpp
	indra/newview/llviewermessage.cpp
	indra/newview/skins/default/xui/fr/menu_inventory.xml
2012-03-28 22:27:45 +02:00
Siana Gearz
196e9d6c78 Unbreaking Ctrl+W the right way 2012-03-25 09:31:06 +02:00
Shyotl
1810a7c7f9 Updated LLFocusMgr to use boost::signals2 instead of vanilla function pointers. Also removed top-focus handling from lluictrl because it doesn't belong there. 2012-02-18 01:58:02 -06:00
Lirusaito
06837a2a77 Stop prepending ((\[[ to actions that end with ))/]], fix compile warning for npos, and remove unnecessary checks from sendMsg()
Users can have their actions not get broken should they end with )) or ]] without beginning OOC, while AutoOOC is enabled.
2012-02-05 14:22:52 -05:00
Lirusaito
03c0509a6c Tiny change to allow /ME to work in instant messages.
Sometimes people want to type in all caps, sometimes caps lock goes on by accident, either way, in instant messages, it won't affect /ME anymore.
TODO: /ME for local chat.
2012-02-02 03:49:48 -05:00
Shyotl
9f7e9299bd Pulled apart LLInventoryPanel and LLInventoryView. TODO: LLInventoryView needs to be chopped apart into a floater (LLFloaterInventory) and a panel (LLPanelMainInventory). 2012-01-29 23:17:28 -05:00
Siana Gearz
7fec659979 Update RLVa to 1.4.0-compatible 2012-01-25 21:11:33 +01:00
Lirusaito
9d3b276f61 Merge branch 'master' of git://github.com/Shyotl/SingularityViewer 2012-01-12 23:39:16 -05:00
Shyotl
1cc33caaa3 Pulled llinventorymodel apart into llinventorymodel, llinventoryobserver and llinventoryfunctions 2012-01-12 18:57:10 -06:00
Lirusaito
be978ab76b A small change issued by Siana to correct a small problem. 2012-01-12 17:35:41 -05:00
Siana Gearz
d2b2c501bc Merge branch 'master' of git://github.com/Lirusaito/SingularityViewer 2012-01-12 03:44:48 +01:00
Siana Gearz
4eea8624b7 Fix keyboard shortcuts like ctrl+w for floaters 2012-01-12 01:37:13 +01:00
Lirusaito
f14e6cdb60 Pretty sure all I did was fix some things that didn't look nice to me or poor syntax highlighters, shouldn't affect performance... 2012-01-07 18:14:36 -05:00
TighMacFanatic
a31fc8a612 Issue 14 - unlimited message lengths resolved. 2011-11-11 01:58:43 -05:00
Shyotl
d6d8681874 onVisibilityChange renamed to handleVisibilityChange 2011-10-13 17:17:57 -05:00
Shyotl
417f5084b4 Added LLNotificationsUtil and switched LLNotifications::instance().add to LLNotificationsUtil::add in a bazillion places. 2011-09-03 19:30:42 -05:00
Shyotl
6ad9367c24 Trying out new LLCachedControl implementation. 2011-07-16 23:36:56 -05:00
Siana Gearz
37f8a6e00b Applied patch for #37 by anonymous 2011-06-05 19:06:54 +02:00
TighMacFanatic
56c357911e Chat keyword highlighting 2011-05-01 02:31:05 -04:00
Siana Gearz
c17b67399b Final OpenSim group chat fix... i HOPE 2011-04-04 02:48:05 +02:00
Siana Gearz
7e895d4590 I really got annoyed by [RECIPIENT] 2011-04-03 00:46:34 +02:00
Shyotl
1e85c42bb7 Static'd and or const'd some instances of LLCachedControl.
Converted a few frequently fetched settings to LLCachedControl
2011-02-24 17:27:57 -06:00
Siana Gearz
72c4c52372 Assorted fixes 2011-02-12 23:33:11 +01:00
siana
d65a5ffeb7 Assorted DN and RLVa fixes from Phoenix 2011-01-02 02:05:32 +01:00
Siana Gearz
9983d0b803 Display Name work 2010-12-13 00:31:01 +01:00