Commit Graph

55 Commits

Author SHA1 Message Date
Shyotl
30df7dacde Add bulk speaker updates. Sped up speaker fetching by disabling list sorting during bulk updates. 2018-02-07 21:18:35 -06:00
Shyotl
f4a713a500 Merge. 2017-03-14 04:02:53 -05:00
Shyotl
abb4b1ac7c Fix for scrolllist columns not resizing when header width is adjusted. 2016-05-01 19:41:19 -05:00
Shyotl
1c627317ec No longer include llerrorlegacy.h. Updated llstl to include deletion utilites. 2015-06-19 03:54:20 -05:00
Inusaito Sayori
27e69cab1e Support upstream's xui pattern of scroll_list.columns and such. 2015-03-21 00:36:47 -04:00
Inusaito Sayori
72080e79e9 Sync llcommon with Alchemy a bit.
llmath::llround->ll_round
LL_ICC->LL_INTELC
Add llpredicate
Add LL_CPP11 macro
Remove llhash
Update llinitparam, llsd and all relatives of it.
2015-03-20 22:04:04 -04:00
Shyotl
b7454f5f43 Cleanup in llfontgl, as well as more aggressive bounds checking. 2015-02-15 21:45:33 -06:00
Drake Arconis
948ebe5213 All your codebase are belong to us. 2014-08-22 00:15:09 -04:00
Inusaito Sayori
bbe7f6adfb Enable Multiselect in groups, and enable EditMenuHandler when a scrollable list is focused!
Allows Ctrl-A to select all in a list (Like for selecting all groups and unticking chat with a single click)
Ctrl-E to deselect
Ctrl-X/Ctrl-C to copy a list (useful for saving ban lists and such!)
2014-05-23 19:37:32 -04:00
Inusaito Sayori
2450b435a7 Combine commonly created scroll list menus into single menus identified by menu_num instead of their menu_file
sScrollListMenus is an array such that it will hold more menus in the future, such as groups.
fmenu_file still exists and will still exhibit its old behavior if used.
2014-01-24 21:41:56 -05:00
Inusaito Sayori
be7c33e3c7 [LLScrollColumnHeader] Fix the ImageOverlay icons being overwritten every draw and thus destroying our image_overlay parameter!
Seriously, whose idea was that?
Ignore space changes and this will be a lot easier for all of us.
2013-11-10 02:49:10 -05:00
Inusaito Sayori
a510af9480 [LLScrollColumnHeader] Fix icons disappearing in certain states, such as click. 2013-11-10 02:46:23 -05:00
Inusaito Sayori
c4610214fc Prevent that annoying issue where new scroll list menu flashes in the bottom left corner briefly when created.\ 2013-07-31 01:36:29 -04:00
Inusaito Sayori
2b2a6d5ea6 Touchups to scroll list building
Moved handling of mouse_wheel_opaque and menu_file to setScrollListParameters
Removed setToolTip block from LLScrollListCtrl::fromXML since setToolTip lives inside of LLView::initFromXML which is called by LLUICtrl::initFromXML which was already called at this point
Added support for building columns from xml with relative_width which is synonymous with relwidth
Fixed namelist columns not supporting dynamic_width in xml (dynamicwidth is only acceptable in older xmls)
2013-07-27 16:40:26 -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
d64c9a343c Fix issue of columns not sorting in ascending order by default 2013-07-22 20:02:45 -04:00
Lirusaito
ceb9c99736 Allow right clicking anywhere on a scroll list for a menu, except the header buttons 2013-07-18 15:51:28 -04:00
Lirusaito
d631ae8072 Add support for scrolllists with menus
In xml menu_file attribute can point to the file
In code, setContextMenu can take a prebuilt menu
2013-07-18 06:04:17 -04:00
Lirusaito
8d87d3410e When the mouse leaves a scroll list, don't leave the mouse-over highlight shown 2013-07-18 04:58:29 -04:00
Lirusaito
824bec5d69 Two scrolllist update scraps find a home in this commit 2013-07-16 09:45:00 -04:00
Lirusaito
599704cf40 Display tooltip for scrolllist when not over headers or cells 2013-07-16 09:42:54 -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
67970ab2db Allow tooltips for any scrolllist cell
Finally the radar activity icons have working tooltips to explain their meanings
This probably won't do anything until Params are plugged in, though.
2013-07-16 06:58:17 -04:00
Lirusaito
c261eb7433 Remove final parameter from LLScrollListCtrl::addStringUUIDItem, it was unused. 2013-07-16 00:56:40 -04:00
Lirusaito
9b92b51b2c Fix internal issue of column headers not displaying tooltips 2013-07-16 00:52:59 -04:00
Lirusaito
cee9e976b1 Remove unused function LLScrollListCtrl::setDisplayHeading 2013-07-15 22:31:38 -04:00
Lirusaito
cb01bbb8ef Move tooltip hosting from llscrolllistitem to llscrolllistcell 2013-07-15 22:24:34 -04:00
Lirusaito
75c4503a46 Derive LLScrollColumnHeader from a button
Fixes the issue with single-click sorting not working
Fixes internal issue with initial column header names being used as their labels
2013-07-14 17:27:51 -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
1398d8afbc Remove two unused LLScrollListItem::addColumn and LLScrollListIcon constructor via LLUIImagePtr. 2013-07-10 21:12:58 -04:00
Lirusaito
6d32a39544 Remove unused LLScrollListLineEditor class 2013-07-10 19:54:13 -04:00
Lirusaito
3739639295 Merge branch 'Moap' of git://github.com/Shyotl/SingularityViewer into VoiceUpdate
Conflicts:
	indra/newview/llfloateractivespeakers.h - llparticipantlist.h got changed from a panel to a layoutpanel
	indra/newview/lloverlaybar.cpp - Silly conflict, I change one line, Shyotl changes the next two.

Compile fixies:
	indra/newview/llavataractions.cpp needed to include llnotifications.h
	indra/newview/llvoicechannel.cpp needed to include llnotifications.h
2013-06-23 22:36:04 -04:00
Lirusaito
7303bfcb78 Eliminated most instances of the legacy setCallbackUserData (and modernized up a bunch of callbacks)
Also cleaned up slfloatermediafilter to act as a proper singleton.
Removes childSetUserData entirely.
2013-06-16 20:00:00 -04:00
Shyotl
c5fc945f33 Updated LLResizeBar and LLResizeHandle to use LLView::Param based ctors.
Cleaned up LLKeyWords
Cleaned up LLStatBar
Added per-account setting access to ui library
Added LLUICachedControl
Updated LLUIString
2013-05-20 00:36:34 -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
Shyotl
2a8f55e99e Updated gesture floater to use more modern (and actual working) method of adding list elements via xml. 2013-01-14 18:41:48 -06:00
Shyotl
db8225a078 Fixup LLScrollListCtrl::setCommentText, and incorrect behaviors with script editor and bulk perm editor pertaining to setCommentText inherited from V3. 2013-01-14 03:36:04 -06:00
Shyotl
d3939c785d Fixup scroll list column header resizing. 2012-12-18 18:27:59 -06: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
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
0846f8a963 Fixeds and ToDones
-Color Fixies-
Fixed Gemini skin not looking as it originally did.
We now use DefaultListText to color all otherwise uncolored text in scroll list cells.
All of our dark skins have been updated to use white here, as dark skins are intended to have white text...
This includes the Dark we ship with.

LLFloaterActiveSpeakers no longer uses hard coded font colors, it uses SpeakersInactive, DefaultListText, and SpeakersGhost.

LLFloaterAvatarList no longer uses hard coded font colors, it uses DefaultListText, RadarTextChatRange, RadarTextShoutRange, and RadarTextDrawDist, in place of previously hard coded font colors
Since the tooltip defines color meaning, these new colors should only be skinned to change shade.

DefaultListText defaults to black; SpeaksInactive, gray(grey4); SpeakersGhost, Red; RadarTextChatRange, Red; RadarTextShoutRange, Yellow(yellow1); RadarTextDrawDist, Green(green2).


-Translation update and fixies-
Partial credit to viewer-development, thanks for hanging onto old strings!  Also, updated to look more like v-d in translated areas.
Punctuation strings can be used quite a lot.  Brought them all in, just in case.

AscentPrefs*:
Drag and Drop points now use CurrentlySetTo, CurrentlyNotSet, AnItemNotOnThisAccount, and NotLoggedIn. (applies, as well, to FloaterAO)
Power User message is now built from PowerUser1, PowerUser2, Unlocked:, PowerUser3, RightClick, PowerUser4 and PowerUser5; this should give translators enough space to explain any tough to translate, and make the message easier to alter in the future, if necessary.

LLCompileQueue:
Now uses translation strings from upstream
Starting, Done, Resetting, Running, and NotRunning in its xml.
CompileQueueTitle, CompileQueueStart, CompileQueueDownloadedCompiling, CompileQueueScriptNotFound, CompileQueueProblemDownloading, CompileQueueInsufficientPermDownload, CompileQueueInsufficientPermFor, CompileQueueUnknownFailure, ResetQueueTitle, ResetQueueStart, NotRunQueueTitle, and NotRunQueueStart from strings.

LLFloaterAvatarList(floater_radar) now uses has_entered, has_left, the_sim, draw_distance, shout_range, and chat_range in its xml for translatable alerts.

LLFloaterLand(floater_about_land) now uses minutes, 1_minute, 1_second, seconds, and remaining from its xml.
LLFloaterLand, LLFolderView, LLPanelDirBrowser now make use of InventoryNoMatchingItems, NoneFound, and Searching in their searches.
LLFolderView was brought closer to v-d in translation.

LLGroupNotify now uses GroupNotifyGroupNotice, GroupNotifySentBy, GroupNotifyAttached, next (also now used by LLNotify), ok, GroupNotifyGroupNotices, GroupNotifyViewPastNotices, GroupNotifyOpenAttachment, and GroupNotifySaveAttachment.

LLInventoryFilter synced with V-D for translation:
Now uses Animations, Calling Cards, Clothing, Gestures, Landmarks, Notecards, Objects, Scripts, Sounds, Textures, Snapshots, No Filters, Since Logoff, and Worn.

LLManipRotate now uses Direction_Forward, Direction_Left, Direction_Right, Direction_Back, Direction_North, Direction_South, Direction_West, Direction_East, Direction_Up, and Direction_Down, like upstream v-d.

LLPanelAvatar(panel_avatar) now uses None string in its xml for when there are no groups, also removed cruft. Though the None has not been showing up for quite some time, anyway...

LLPanelObjectInventory now uses Buy, LoadingContents and NoContents,
however the last two strings did not seem to show up anyway...
thanks to Latif Khalifa, Jean Horten, theGenius Indigo and Cubbi Bearcat for confirming this happens across many different versions and on both Windows and linux(32 and 64).

LLPreviewScript now uses CompileSuccessful, SaveComplete, ObjectOutOfRange, and CompileSuccessfulSaving.

LLScrollingPanelParam now translates Less and More.
Avatar Shape Information strings now used for customize appearance panels.

LLTextureCtrl now uses multiple_textures.

LLToolpie has been updated to use v-d include order and now uses UnmuteAvatar, MuteAvatar, UnmuteObject, and MuteObject2 strings.
LLVOAvatarSelf now uses BodyParts* strings for translation of toolpie entries pertaining to bodyparts.

LLViewerMenuFile now uses UnknownFileExtension, and UploadingCosts.

LLViewerMessage now uses Cancel(also used by LLViewerDisplay), AcquiredItems, Saved_message, IM_autoresponse_sent_item, IM_autoresponded_to, IM_announce_incoming, InvOfferDecline, InvOfferGaveYou, InvOfferOwnedByUnknownUser, InvOfferAnObjectNamed, InvOfferOwnedBy, InvOfferOwnedByUnknownGroup, and InvOfferOwnedByGroup.


-AvatarRadar Update-
AvatarRadar enhanced with code from both Cool VL Viewer and some avian corpse.
e_radar_alert_type has been reworked to allow bitwise usage in the future.

Cool stuff:
gSavedSettings for radar are now CachedControls,
entering boolean is now checked before going into the switchcase,
Style changes, yay C++ style.

Avian Flu:
Distance for shout range corrected to be 96.
handleKeyHere: If the user hits enter with an avatar on the radar selected, focus camera on selected avatar; ctrl-enter, teleport to selected avatar.

Otherwise:
Tiny spelling fixies, and a suggestive comment.
2012-08-05 20:40:02 -04:00
Lirusaito
e20b383aa0 Small changes that seem to make clang happier. 2012-04-30 23:48:30 -04:00
Shyotl
55e589375f scroll-list column headers now work on single-click. Also improved focus handling for scroll-lists. 2012-03-05 18:30:36 -06:00
Shyotl
2d75e8fda6 Added mouse_wheel_opaque attribute for scroll_list. Made several advanced submenus tear-off-able. Updated menu hover logic (removed MAX_MOUSE_SLOPE_SUB_MENU check) to make menus behave more predictably to cursor movement. Improved menu handling when it runs off of screen (and only uses vertical flip if menu item is in lower half of screen) 2012-03-03 22:11:53 -06:00
Shyotl
502b2d30d4 ScrollList crashfix (leftover ascent bug) 2012-03-03 04:30:15 -06:00
Shyotl
500135941a Modernized lluictrl. Added LLViewModel. Fixed focus callbacks being called excessively. Updated LLButton, and implemented boost::signals2 to replace old callback handling. 2012-03-02 16:57:33 -06:00
Shyotl
bdeead6f8e Updated LLView:
-Removed a few extra unneeded virtuals
 -Pulled tabgroups out of llpanel and into LLView
 -removeChild doesn't support delete. Delete manually.
 -addChildAtEnd renamed to addChildInBack
 -getScreenRect renamed to calcScreenRect
 -added calcScreenBoundingRect and calcBoundingRect(which updateBoundingRect calls
 -General cleanup. Someone at LL figured out that dynamic_cast actually exists.
Fixed PieMenu not reliably centering on cursor.
Fixed context menu crash in line and text editors.
Classes with LLEditMenuHandler as a base do not need to set gEditMenuHandler to NULL, since LLEditMenuHandler's dtor does that already!
2012-02-21 21:59:22 -06:00
Shyotl
6374f012de new fasttimers, including ui. 2012-01-23 18:30:54 -06:00
Lirusaito
61beedd3d9 Changed style of comments with asterisks to avoid highlighting errors on //* with weak highlighters, change is to all files that could potentially break highlights
Most were needed, though some were just for possible problems with highlighting, should not affect performance whatsoever.
2012-01-09 05:40:03 -05:00
Shyotl
ffb285c6ff Huge renderer update (WIP). Still plenty to do, especially pertaining to UI.
-Nametag bubble visbility is oddly inconsistent. May vanish with future planned UI merges...
-VBOs are PAINFULLY slow on ATI hardware. This repos self-compiled davep/shining-fixes branch, so I'll leave the ball in LL's court for now regarding that.
2011-12-09 14:02:29 -06:00