summaryrefslogtreecommitdiff
path: root/indra/llui
diff options
context:
space:
mode:
Diffstat (limited to 'indra/llui')
-rw-r--r--indra/llui/llfolderviewitem.cpp10
-rw-r--r--indra/llui/llfolderviewmodel.h2
2 files changed, 10 insertions, 2 deletions
diff --git a/indra/llui/llfolderviewitem.cpp b/indra/llui/llfolderviewitem.cpp
index c7e47e26e0..4a9ac56d9f 100644
--- a/indra/llui/llfolderviewitem.cpp
+++ b/indra/llui/llfolderviewitem.cpp
@@ -2066,15 +2066,23 @@ BOOL LLFolderViewFolder::handleDoubleClick( S32 x, S32 y, MASK mask )
BOOL handled = FALSE;
if(mSingleFolderMode)
{
- getViewModelItem()->navigateToFolder();
+ static LLUICachedControl<bool> double_click_new_window("SingleModeDoubleClickOpenWindow", false);
+ getViewModelItem()->navigateToFolder(double_click_new_window);
return TRUE;
}
+
if( isOpen() )
{
handled = childrenHandleDoubleClick( x, y, mask ) != NULL;
}
if( !handled )
{
+ static LLUICachedControl<bool> double_click_new_window("MultiModeDoubleClickOpenWindow", false);
+ if (double_click_new_window)
+ {
+ getViewModelItem()->navigateToFolder(true);
+ return TRUE;
+ }
if(mIndentation < x && x < mIndentation + (isCollapsed() ? 0 : mArrowSize) + mTextPad)
{
// don't select when user double-clicks plus sign
diff --git a/indra/llui/llfolderviewmodel.h b/indra/llui/llfolderviewmodel.h
index 7a18ed4a45..b1db9489fd 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() = 0;
+ virtual void navigateToFolder(bool new_window = false) = 0;
virtual BOOL isItemWearable() const { return FALSE; }