Commit Graph

77 Commits (6f072c2121fcb6f00ccc773d0ff4edc5cbfb013b)

Author SHA1 Message Date
Andrey Lihatskiy b08ba3fa7b Merge branch 'main' into marchcat/2505-merge
# Conflicts:
#	.github/workflows/qatest.yaml
#	indra/llcommon/llsdutil.h
#	indra/llui/llflatlistview.h
#	indra/newview/llinventorybridge.cpp
#	indra/newview/lloutfitgallery.cpp
#	indra/newview/lloutfitgallery.h
2025-05-28 21:38:00 +03:00
Mnikolenko Productengine a7759f3704 Merge branch 'release/2025.04' into 2025.04-chat-mention 2025-04-25 16:40:38 +03:00
Mnikolenko Productengine 3e46d707a2 #3758 initial chat mention support 2025-04-18 19:59:17 +03:00
Andrey Lihatskiy 933f5226fe Merge branch 'develop' into marchcat/05-develop 2025-04-18 18:11:44 +03:00
Ansariel Hiller 9c3ce3dec7 Clean up LLUI and fix/add suggestions from VS (#2746)
# Conflicts:
#	indra/llui/lltextbase.h
#	indra/llui/lltexteditor.h
#	indra/llwindow/llwindowsdl.cpp
2025-04-18 01:45:11 +02:00
Andrey Lihatskiy 5d7a5001b4 Merge commit '9e24b30' into marchcat/maint-c/restore
# Conflicts:
#	indra/llmath/v2math.cpp
#	indra/llmath/v2math.h
#	indra/llmath/v3math.h
#	indra/llmath/v4math.h
#	indra/llui/llfolderviewitem.cpp
#	indra/llui/llfolderviewitem.h
#	indra/llui/llfolderviewmodel.h
#	indra/llui/llmodaldialog.cpp
#	indra/llui/lltexteditor.cpp
#	indra/llui/lltexteditor.h
#	indra/llwindow/llwindowwin32.cpp
#	indra/newview/llagent.cpp
#	indra/newview/llagentcamera.h
#	indra/newview/llavatarrenderinfoaccountant.cpp
#	indra/newview/llconversationmodel.h
#	indra/newview/llfloaterinventorysettings.cpp
#	indra/newview/llfloaternamedesc.cpp
#	indra/newview/llfloaternamedesc.h
#	indra/newview/llfloaterobjectweights.cpp
#	indra/newview/llfloaterobjectweights.h
#	indra/newview/llfolderviewmodelinventory.h
#	indra/newview/llinspecttexture.cpp
#	indra/newview/llinventorybridge.cpp
#	indra/newview/llinventorybridge.h
#	indra/newview/llinventoryfunctions.cpp
#	indra/newview/llinventorygallery.h
#	indra/newview/llinventorygallerymenu.cpp
#	indra/newview/llinventorymodel.cpp
#	indra/newview/llinventorypanel.cpp
#	indra/newview/llinventorypanel.h
#	indra/newview/llmaterialeditor.cpp
#	indra/newview/lloutfitgallery.cpp
#	indra/newview/lloutfitgallery.h
#	indra/newview/lloutfitslist.cpp
#	indra/newview/lloutfitslist.h
#	indra/newview/llpanelgroupcreate.cpp
#	indra/newview/llpanelgroupgeneral.cpp
#	indra/newview/llpanelobjectinventory.cpp
#	indra/newview/llpaneloutfitsinventory.h
#	indra/newview/llpanelprofile.cpp
#	indra/newview/llpanelwearing.cpp
#	indra/newview/llreflectionmap.cpp
#	indra/newview/llselectmgr.cpp
#	indra/newview/llsidepanelappearance.cpp
#	indra/newview/llsidepaneliteminfo.cpp
#	indra/newview/llteleporthistorystorage.cpp
#	indra/newview/lltexturectrl.cpp
#	indra/newview/lltexturectrl.h
#	indra/newview/lltexturefetch.cpp
#	indra/newview/lltexturefetch.h
#	indra/newview/llviewerassetupload.cpp
#	indra/newview/llviewercamera.cpp
#	indra/newview/llviewercamera.h
#	indra/newview/llviewermenufile.cpp
#	indra/newview/llviewerobject.h
#	indra/newview/llviewertexture.cpp
#	indra/newview/llviewerwindow.cpp
#	indra/newview/llvoavatar.cpp
#	indra/newview/llvoavatar.h
#	indra/newview/llvoavatarself.cpp
#	indra/newview/llvovolume.cpp
#	indra/newview/llvovolume.h
#	indra/newview/tests/llviewerassetstats_test.cpp
2025-04-10 06:01:50 +03:00
Ansariel b9740dfc6e Fix loop scope issue and rework some strange-looking loops 2024-07-01 17:58:45 +03:00
Andrey Kleshchev 0dcc912cec Merge main into inventory_favorites
# Conflicts:
#	indra/llui/llfolderviewmodel.h
#	indra/newview/llpanelwearing.cpp
#	indra/newview/llwearableitemslist.cpp
2024-06-10 19:25:02 +03:00
Ansariel b42f9d836b Re-enable a lot of compiler warnings for MSVC and address the C4267 "possible loss of precision" warnings 2024-06-01 15:49:26 +02:00
Ansariel e2e37cced8 Fix line endlings 2024-05-22 22:40:26 +03:00
Ansariel 1b67dd855c Merge remote-tracking branch 'origin/main' into DRTVWR-600-maint-A
# Conflicts:
#	autobuild.xml
#	indra/cmake/CMakeLists.txt
#	indra/cmake/GoogleMock.cmake
#	indra/llaudio/llaudioengine_fmodstudio.cpp
#	indra/llaudio/llaudioengine_fmodstudio.h
#	indra/llaudio/lllistener_fmodstudio.cpp
#	indra/llaudio/lllistener_fmodstudio.h
#	indra/llaudio/llstreamingaudio_fmodstudio.cpp
#	indra/llaudio/llstreamingaudio_fmodstudio.h
#	indra/llcharacter/llmultigesture.cpp
#	indra/llcharacter/llmultigesture.h
#	indra/llimage/llimage.cpp
#	indra/llimage/llimagepng.cpp
#	indra/llimage/llimageworker.cpp
#	indra/llimage/tests/llimageworker_test.cpp
#	indra/llmessage/tests/llmockhttpclient.h
#	indra/llprimitive/llgltfmaterial.h
#	indra/llrender/llfontfreetype.cpp
#	indra/llui/llcombobox.cpp
#	indra/llui/llfolderview.cpp
#	indra/llui/llfolderviewmodel.h
#	indra/llui/lllineeditor.cpp
#	indra/llui/lllineeditor.h
#	indra/llui/lltextbase.cpp
#	indra/llui/lltextbase.h
#	indra/llui/lltexteditor.cpp
#	indra/llui/lltextvalidate.cpp
#	indra/llui/lltextvalidate.h
#	indra/llui/lluictrl.h
#	indra/llui/llview.cpp
#	indra/llwindow/llwindowmacosx.cpp
#	indra/newview/app_settings/settings.xml
#	indra/newview/llappearancemgr.cpp
#	indra/newview/llappearancemgr.h
#	indra/newview/llavatarpropertiesprocessor.cpp
#	indra/newview/llavatarpropertiesprocessor.h
#	indra/newview/llbreadcrumbview.cpp
#	indra/newview/llbreadcrumbview.h
#	indra/newview/llbreastmotion.cpp
#	indra/newview/llbreastmotion.h
#	indra/newview/llconversationmodel.h
#	indra/newview/lldensityctrl.cpp
#	indra/newview/lldensityctrl.h
#	indra/newview/llface.inl
#	indra/newview/llfloatereditsky.cpp
#	indra/newview/llfloatereditwater.cpp
#	indra/newview/llfloateremojipicker.h
#	indra/newview/llfloaterimsessiontab.cpp
#	indra/newview/llfloaterprofiletexture.cpp
#	indra/newview/llfloaterprofiletexture.h
#	indra/newview/llgesturemgr.cpp
#	indra/newview/llgesturemgr.h
#	indra/newview/llimpanel.cpp
#	indra/newview/llimpanel.h
#	indra/newview/llinventorybridge.cpp
#	indra/newview/llinventorybridge.h
#	indra/newview/llinventoryclipboard.cpp
#	indra/newview/llinventoryclipboard.h
#	indra/newview/llinventoryfunctions.cpp
#	indra/newview/llinventoryfunctions.h
#	indra/newview/llinventorygallery.cpp
#	indra/newview/lllistbrowser.cpp
#	indra/newview/lllistbrowser.h
#	indra/newview/llpanelobjectinventory.cpp
#	indra/newview/llpanelprofile.cpp
#	indra/newview/llpanelprofile.h
#	indra/newview/llpreviewgesture.cpp
#	indra/newview/llsavedsettingsglue.cpp
#	indra/newview/llsavedsettingsglue.h
#	indra/newview/lltooldraganddrop.cpp
#	indra/newview/llurllineeditorctrl.cpp
#	indra/newview/llvectorperfoptions.cpp
#	indra/newview/llvectorperfoptions.h
#	indra/newview/llviewerparceloverlay.cpp
#	indra/newview/llviewertexlayer.cpp
#	indra/newview/llviewertexturelist.cpp
#	indra/newview/macmain.h
#	indra/test/test.cpp
2024-05-22 19:04:52 +02:00
Andrey Kleshchev 1eeecfa1a8 viewer#1425 Sorting in Appearance floater 2024-05-15 19:49:23 +03:00
Andrey Lihatskiy 1b68f71348 #824 Process source files in bulk: replace tabs with spaces, convert CRLF to LF, and trim trailing whitespaces as needed 2024-04-29 07:56:09 +03:00
Ansariel d0102af56d Merge branch 'main' of https://github.com/secondlife/viewer into DRTVWR-600-maint-A
# Conflicts:
#	indra/llcommon/llapp.cpp
#	indra/llcommon/llapp.h
#	indra/llimage/llimageworker.cpp
#	indra/llui/llcontainerview.cpp
#	indra/llui/llcontainerview.h
#	indra/llui/llkeywords.cpp
#	indra/llui/lltabcontainer.cpp
#	indra/llui/lltextbase.cpp
#	indra/newview/llappviewer.cpp
#	indra/newview/llfavoritesbar.cpp
#	indra/newview/llfavoritesbar.h
#	indra/newview/llfloaterimnearbychathandler.cpp
#	indra/newview/llfloaterpreference.cpp
#	indra/newview/llhudnametag.h
#	indra/newview/llinventorypanel.cpp
#	indra/newview/llinventorypanel.h
#	indra/newview/llmeshrepository.cpp
#	indra/newview/lloutfitgallery.cpp
#	indra/newview/lloutfitslist.cpp
#	indra/newview/llpaneleditwearable.cpp
#	indra/newview/llpanelprofilepicks.cpp
#	indra/newview/llpanelvoicedevicesettings.h
#	indra/newview/llpreviewscript.cpp
#	indra/newview/llpreviewscript.h
#	indra/newview/llselectmgr.cpp
#	indra/newview/lltranslate.cpp
#	indra/newview/llviewerassetupload.cpp
#	indra/newview/llviewermessage.cpp
2024-04-11 21:59:38 +02:00
Ansariel a5261a5fa8 Convert BOOL to bool in llui 2024-02-21 03:00:25 +02:00
Alexander Gavriliuk c6a82a44f8 SL-20432 Buildfix 2023-10-11 14:40:20 +02:00
Alexander Gavriliuk 45a1a94a35 SL-20432 Filtering My Outfits with big number of items freezes UI 2023-10-11 08:40:50 +02:00
Alexander Gavriliuk 61a04f5ee1 SL-20288 Lags in Appearance floater (code format in LLAccordionCtrl) 2023-10-11 01:40:05 +02:00
Alexander Gavriliuk e9ffe7ee47 SL-20288 Lags in Appearance floater (code format in LLAccordionCtrl) 2023-10-10 23:29:51 +02:00
Rye Mutt 2745465c73 Fix leak of item pairs during LLFlatListView destruction 2022-10-19 22:15:17 -04:00
andreykproductengine 183cc7cdfd MAINT-6860 Appearance floater crash due to missnamed variable 2016-10-21 16:59:02 +03:00
andreykproductengine b7b98918eb MAINT-4950 Appearance panel performance improvements. 2016-09-26 21:29:20 +03:00
Oz Linden c8726aba30 remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
Richard Linden e340009fc5 second phase summer cleaning
replace llinfos, lldebugs, etc with new LL_INFOS(), LL_DEBUGS(), etc.
2013-08-09 17:11:19 -07:00
Richard Linden a2e22732f1 Summer cleaning - removed a lot of llcommon dependencies to speed up build times
consolidated most indra-specific constants in llcommon under indra_constants.h
fixed issues with operations on mixed unit types (implicit and explicit)
made LL_INFOS() style macros variadic in order to subsume other logging methods
such as ll_infos
added optional tag output to error recorders
2013-07-30 19:13:45 -07:00
Graham Madarasz bf6182daa8 Update Mac and Windows breakpad builds to latest 2013-03-29 07:50:08 -07:00
Oz Linden a5619d16f7 correct licenses (fix problem with license change merge) 2010-10-13 07:24:37 -04:00
Vadim Savchuk b27c892bc5 EXT-8357 FIXED ESC key sometimes failing to de-focus the sidebar.
I've found out that the only case when pressing ESC doesn't transfer focus from side tray to game area is
when a flat list view (people, groups, teleport history, etc) is focused.
So, I fixed LLFlatListView to handle pressing ESC as expected.

Reviewed by Sergey Litovchuk at https://codereview.productengine.com/secondlife/r/862/

--HG--
branch : product-engine
2010-08-17 22:34:50 +03:00
Tofu Linden b459f95551 merge from viewer-release 2010-07-28 10:37:06 +01:00
Mike Antipov 6110cb6a36 EXT-8285 FIXED prevented wrong handling in accordion of the "scrollToShowRect" event from the child accordion tab's scroll container.
This problem begins from expanding accordion_tab:

1. adjustToFitScreen - calls adjustContainerPanel with "fit screen" rectangle (calls reshape() and resize()).
   Enter adjustContainerPanel("fit screen")
2. reshape calls ensureSelectedVisible -> scrollToShowRect...
   scrollToShowRect notifyParent about "scrollToShowRect" (notifiParent is sync call)
   Enter LLAccordionCtrl::notifyParent("scrollToShowRect")
4. AccordionCtrl handles "scrollToShowRect" notification and perform adjustContainerPanel with "another" rectangle.
   Perform adjustContainerPanel("another") // At least I have not seen 3rd recursive call of adjustContainerPanel
5. Exit LLAccordionCtrl::notifyParent("scrollToShowRect")
6. Exit reshape("fit screen").
7. setRect("fit screen").
8. Exit adjustContainerPanel("fit screen").
...
As result we get AccordionTab that reshaped to "another" rectangle and resized to "fit screen" rectangle.

+ Fixed by handling "scrollToShowRect" message in LLAccordionCtrlTab from "LLScrollContainer".

+ Removed the workaround comment.

Reviewed by Neal Orman at https://codereview.productengine.com/secondlife/r/727/

--HG--
branch : product-engine
2010-07-28 10:59:53 +03:00
Richard Linden c96caed698 Merge from dessie/viewer-release 2010-07-27 14:44:17 -07:00
Richard Nelson 572e72d8a1 merge 2010-07-20 11:31:23 -07:00
Andrew Dyukov 5a56c79fd4 EXT-7511 FIXED Fixed disappearance of selected item's border in flatlistviews.
- This issue was a regression caused by EXT-8052. Bug was caused by setting visibility of border to FALSE without respect to boolean argument passed to setNoItemsCommentVisible().
setNoItemsCommentVisible() is called on every rearrange, so border disappeared quite often. Fixed it by setting border's visibility depending on passed argument.

Reviewed by Mike Antipov at https://codereview.productengine.com/secondlife/r/764/

--HG--
branch : product-engine
2010-07-15 15:06:35 +03:00
Vadim Savchuk 56af80a2c9 merge
--HG--
branch : product-engine
2010-07-13 18:55:35 +03:00
Vadim Savchuk b5ab9c0703 Manual merge from default branch
Resolved conflicts in llpaneloutfitedit.cpp

--HG--
branch : product-engine
2010-07-13 18:54:16 +03:00
Igor Borovkov 8aec2ce354 EXT-7668 FIXED prohibited deselecting a single selected item w/o using CTRL
Reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/746/

--HG--
branch : product-engine
2010-07-13 18:43:30 +03:00
Monroe Linden b80ee71bed Fix for reopened EXT-8025
Fixed an issue in LLFlatListView where calling setCommitOnSelectionChange(true) wasn't always causing the commit signal to be sent when the selection changed.

Reviewed by Richard at http://codereview.lindenlab.com/2579010
2010-07-12 11:28:48 -07:00
Richard Linden 5b1386e5b6 merge 2010-07-09 14:30:49 -07:00
Richard Linden 1f79bee86e EXT-8237 FIX Opening up Edit Outfit- Add More->Shirt causes FPS to drop from 60fps to 18fps for a really long time
EXT-8235 FIX HUGE long delay when reopening and/or closing edit outfit sidepanel if "Add More..." is active
EXT-7695 FIX UI lockup after add wearable, right click av -> Change Outfit

reviewed by Vir
2010-07-09 14:26:56 -07:00
Vadim Savchuk 75f8563e0a Merge from default branch
--HG--
branch : product-engine
2010-07-08 14:32:45 +03:00
Paul Guslisty 907918c2de EXT-8052 FIXED (Unnecessary selection border remains on 'People->Nearby' tab)
- Hide selection border before showing no items comment

Reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/681/

--HG--
branch : product-engine
2010-07-06 14:34:12 +03:00
Paul Guslisty d5bed7df35 EXT-7565 FIXED Would be nice to preserve selection while switching between folder/list view modes
- Created callback called 'SaveSelecton' (which preserves selection while switching between folder/list view modes) for folder/list view modes buttons in LLPanelOutfitEdit.

- Added 'scrollToShowFirstSelectedItem' method in the LLFlatListView which scrools and shows the first selected item in case multiselection.

- It's possible to set selection for flat list view items before list is build. The result is that any items will be selected. To get rid of it:
   1. Overrided LLFlatListView::selectItemByValue method in LLInventoryItemsList so that if list is not created yet, items ids are saved to the vector.
   2. Added 'LLInventoryItemsList::updateSelection()' method which selects items with ids from that vector when list is created.

- A little refactoring: moved funcionality of updating WearablesPanel's verb buttons to the separate method called LLPanelOutfitEdit::updateWearablesPanelVerbButtons() to made code more readable and self-explanatory

Reviewed by Vadim Savchuk and Neal Orman at https://codereview.productengine.com/secondlife/r/579/

--HG--
branch : product-engine
2010-07-01 20:00:00 +03:00
Andrew Dyukov cb801fafb2 Comments: EXT-7158 ADDITIONAL FIX Slight changes to fix according to review
Added additional check to avoid deselcting of items when filter is applied and made a couple of renames according to Mike's comments in review at https://codereview.productengine.com/secondlife/r/648/

--HG--
branch : product-engine
2010-06-24 16:51:15 +03:00
Andrew Dyukov 9aad53a437 EXT-7158 FIXED Implemented showing of full outfit content if its name or any item(s) inside it match current filter.
- Added availability to force showing unmatched items to LLFlatListViewEx

- Applied it to wearable items lists in LLOutfitsList

- Changed condition for outfit accordion tab showing (because now all items are visible, so checking their number doesn't help).
Used here check for a flag added in this fix, which tells whether last applied filter found any matches in the list.

Reviewed by Neal Orman at https://codereview.productengine.com/secondlife/r/648/

--HG--
branch : product-engine
2010-06-24 01:52:26 +03:00
Yuri Chebotarev ce9ac65014 EXT-7963 FIX introduce new variable "keep_selection_visible_on_reshape" and use it for "edit outfit" flatlist controls.
reviewed by Mike Antipov at https://codereview.productengine.com/secondlife/r/641/

--HG--
branch : product-engine
2010-06-23 17:43:43 +03:00
Sergei Litovchuk eb3716fab9 EXT-7157 FIXED Implemented outfit items sorting in "My Outfits" tab.
- Moved wearable item name comparator from llcofwearables to llwearableitemslist.
- Added wearable item type comparator.
- Added item type and description getters to wearable item base class LLPanelInventoryListItemBase.

Reviewed by Mike Antipov at https://codereview.productengine.com/secondlife/r/407/

--HG--
branch : product-engine
2010-05-19 17:55:58 +03:00
Eugene Mutavchi 582f6502ff Related to low EXT-6823 (Implement a possibility to select several residents by "Shift" button) - fix improved to keep order of multiple selection and to reset the inconsecutive selection.
Reviewed by Richard Nelson at https://codereview.productengine.com/secondlife/r/238/

--HG--
branch : product-engine
2010-05-05 14:23:22 +03:00
Eugene Mutavchi d6edc4cd12 Implemented normal EXT-7002 (Inventory flat list needs optimization.):
- changed the LLInventoryItemsList::addNewItem() to add item to the list without immediately rearranging
 - implemented LLFlatListViewEx::setFilterSubString(), sets up new filter string and filters the list.
 - implemented LLFlatListViewEx::filterItems(), filters the list, rearranges and notifies parent about shape changes. The list items are filtered using the notify() functionality, without need in adding/removing them on each filter call. It sends 'match_filter' request to items and interprets the returned zero as sign of matched filter string, i.e. we don't hide items that don't support 'match_filter' action(separators etc).
 - filtring of LLOutfitsList.
 Reviewed by Mike Antipov at https://codereview.productengine.com/secondlife/r/342/

--HG--
branch : product-engine
2010-04-30 18:27:24 +03:00
Mike Antipov 872b4d7ed0 Fixed critical bug EXT-4837 ( [NUX] When filter results in null state, provide a message suggesting the user try global search.)
Implemented passing of entered filter substring without head spaces to search URI in help message for null filtered results.
* Updated setting "no item message" to use search term from filter editor for avatar & group lists and for inventory panels.
* Updated appropriate translatable strings to get [SEARCH_TERM] substitution.
* Updated processing of filter substring to pass original string to methods applied new filter.

Additional necessary changes
* Changed place to set "no item message" for group list from refresh to where filter is updated (like in avatar lists)
* Removed converting of filter substring to upper case in Places & My Appearance sidepanels (this conversion has already been implemented in where filter is applied)
* Added a separate message for Landmarks to set search URI to secondlife:///app/search/places for Lanmarks panel;
 other inventory related panels have URL to all searched categories (secondlife:///app/search/all)

Reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/326/

--HG--
branch : product-engine
2010-04-28 11:00:53 +03:00
Mike Antipov a00712e951 Fixed major bug EXT-6092 [crashhunters] Crash in LLFlatListView::selectItemPair
Reason:
 A) incorrect UP arrow handling in accordion control: invisible accordion tab was selected to handle selection.
 B) invalid std::map item (in empty map) was used to make selection in Flat List

Fix: added checks against empty map before use front/back item pair before selecting first/last items.
Also updated processing of the UP key in accordion control to not select invisible accordion tab.

Reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/318/

--HG--
branch : product-engine
2010-04-26 17:19:43 +03:00