diff options
Diffstat (limited to 'indra/llui')
-rw-r--r-- | indra/llui/llfolderviewitem.cpp | 10 | ||||
-rw-r--r-- | indra/llui/llfolderviewmodel.h | 2 |
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; } |