From 297375852067a4ca5050daf7fb2f7da429cd61a8 Mon Sep 17 00:00:00 2001 From: Dmitry Batrak Date: Mon, 22 Sep 2014 20:42:37 +0400 Subject: [PATCH] expand/collapse block recursively on Shift-click on gutter icon (IDEA-92889) --- .../src/com/intellij/openapi/editor/impl/EditorImpl.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorImpl.java b/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorImpl.java index d65497d6972d..154fb71fdefb 100644 --- a/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorImpl.java @@ -5627,7 +5627,7 @@ public final class EditorImpl extends UserDataHolderBase implements EditorEx, Hi } } - private boolean processMousePressed(@NotNull MouseEvent e) { + private boolean processMousePressed(@NotNull final MouseEvent e) { myInitialMouseEvent = e; if (myMouseSelectionState != MOUSE_SELECTION_STATE_NONE && @@ -5656,6 +5656,13 @@ public final class EditorImpl extends UserDataHolderBase implements EditorEx, Hi public void run() { myFoldingModel.flushCaretShift(); range.setExpanded(expansion); + if (e.isShiftDown()) { + for (FoldRegion region : myFoldingModel.getAllFoldRegions()) { + if (region.getStartOffset() >= range.getStartOffset() && region.getEndOffset() <= range.getEndOffset()) { + region.setExpanded(expansion); + } + } + } } }; getFoldingModel().runBatchFoldingOperation(processor);