From f377e27f0b8ddabf755c6efe71d6bc0e53e751c1 Mon Sep 17 00:00:00 2001
From: Maxim Nikolenko <maximnproductengine@lindenlab.com>
Date: Mon, 27 Feb 2023 20:27:11 +0200
Subject: SL-19274 Add new double-click option to Inventory settings

---
 indra/llui/llfolderviewitem.cpp | 9 +++++++--
 indra/llui/llfolderviewmodel.h  | 2 +-
 2 files changed, 8 insertions(+), 3 deletions(-)

(limited to 'indra/llui')

diff --git a/indra/llui/llfolderviewitem.cpp b/indra/llui/llfolderviewitem.cpp
index 4a9ac56d9f..6ddbf26639 100644
--- a/indra/llui/llfolderviewitem.cpp
+++ b/indra/llui/llfolderviewitem.cpp
@@ -2077,11 +2077,16 @@ BOOL LLFolderViewFolder::handleDoubleClick( S32 x, S32 y, MASK mask )
 	}
 	if( !handled )
 	{
-        static LLUICachedControl<bool> double_click_new_window("MultiModeDoubleClickOpenWindow", false);
-        if (double_click_new_window)
+        static LLUICachedControl<U32> double_click_action("MultiModeDoubleClickFolder", false);
+        if (double_click_action == 1)
         {
             getViewModelItem()->navigateToFolder(true);
             return TRUE;
+        }
+        if (double_click_action == 2)
+        {
+            getViewModelItem()->navigateToFolder(false, true);
+            return TRUE;
         }
 		if(mIndentation < x && x < mIndentation + (isCollapsed() ? 0 : mArrowSize) + mTextPad)
 		{
diff --git a/indra/llui/llfolderviewmodel.h b/indra/llui/llfolderviewmodel.h
index b1db9489fd..b5a765fab3 100644
--- a/indra/llui/llfolderviewmodel.h
+++ b/indra/llui/llfolderviewmodel.h
@@ -160,7 +160,7 @@ public:
 	virtual void closeItem( void ) = 0;
 	virtual void selectItem(void) = 0;
 
-    virtual void navigateToFolder(bool new_window = false) = 0;
+    virtual void navigateToFolder(bool new_window = false, bool change_mode = false) = 0;
     
     virtual BOOL isItemWearable() const { return FALSE; }
 
-- 
cgit v1.2.3