From df13f60fcea6052057f8efce1bee0dc96a91a596 Mon Sep 17 00:00:00 2001 From: Konstantin Bulenkov Date: Mon, 5 Sep 2016 15:42:23 +0200 Subject: [PATCH] variable indent options for trees (IDEA-126373) --- .../util/resources/misc/registry.properties | 3 +++ .../util/ui/tree/WideSelectionTreeUI.java | 20 +++++++++---------- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/platform/util/resources/misc/registry.properties b/platform/util/resources/misc/registry.properties index e65bd7becd02..5f5fd2b9a6fb 100644 --- a/platform/util/resources/misc/registry.properties +++ b/platform/util/resources/misc/registry.properties @@ -503,6 +503,9 @@ vcs.add.remove.silent=true ide.ui.scale.override=false ide.ui.scale=1.0 +ide.ui.tree.indent=-1 +ide.ui.tree.indent.description=Allows to increase or decrease indents in trees. Use -1 to use default indent + ide.new.notification.enabled=true ide.new.notification.visible.count=2 diff --git a/platform/util/src/com/intellij/util/ui/tree/WideSelectionTreeUI.java b/platform/util/src/com/intellij/util/ui/tree/WideSelectionTreeUI.java index 0ed5a0369a35..f3bf7a773e16 100644 --- a/platform/util/src/com/intellij/util/ui/tree/WideSelectionTreeUI.java +++ b/platform/util/src/com/intellij/util/ui/tree/WideSelectionTreeUI.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2015 JetBrains s.r.o. + * Copyright 2000-2016 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -18,6 +18,8 @@ package com.intellij.util.ui.tree; import com.intellij.openapi.util.Condition; import com.intellij.openapi.util.Conditions; import com.intellij.openapi.util.SystemInfo; +import com.intellij.openapi.util.registry.Registry; +import com.intellij.util.ui.JBUI; import com.intellij.util.ui.MouseEventAdapter; import com.intellij.util.ui.UIUtil; import org.jetbrains.annotations.NonNls; @@ -73,19 +75,15 @@ public class WideSelectionTreeUI extends BasicTreeUI { @Override public int getRightChildIndent() { - return isSkinny() ? 8 : super.getRightChildIndent(); + return isCustomIndent() ? getCustomIndent() : super.getRightChildIndent(); } - public boolean isSkinny() { - return mySkinny; + public boolean isCustomIndent() { + return getCustomIndent() > 0; } - /** - * Setting to true make tree to reduce row offset - * @param skinny true to reduce row offset - */ - public void setSkinny(boolean skinny) { - mySkinny = skinny; + protected int getCustomIndent() { + return JBUI.scale(Registry.intValue("ide.ui.tree.indent")); } @Override @@ -237,7 +235,7 @@ public class WideSelectionTreeUI extends BasicTreeUI { @Override protected int getRowX(int row, int depth) { - if (isSkinny()) { + if (isCustomIndent()) { int off = tree.isRootVisible() ? 8 : 0; return 8 * depth + 8 + off; } else {