diff options
Diffstat (limited to 'platform/util/src/com/intellij/openapi')
5 files changed, 48 insertions, 15 deletions
diff --git a/platform/util/src/com/intellij/openapi/ui/VerticalFlowLayout.java b/platform/util/src/com/intellij/openapi/ui/VerticalFlowLayout.java index 884a11711992..43aa9b37b510 100644 --- a/platform/util/src/com/intellij/openapi/ui/VerticalFlowLayout.java +++ b/platform/util/src/com/intellij/openapi/ui/VerticalFlowLayout.java @@ -48,6 +48,10 @@ public class VerticalFlowLayout extends FlowLayout implements Serializable { this(alignment, 5, 5, fillHorizontally, fillVertically); } + public VerticalFlowLayout(int hGap, int vGap) { + this(TOP, hGap, vGap, true, false); + } + public VerticalFlowLayout(@VerticalFlowAlignment int alignment, int hGap, int vGap, boolean fillHorizontally, boolean fillVertically) { setAlignment(alignment); this.hGap = hGap; diff --git a/platform/util/src/com/intellij/openapi/util/BuildNumber.java b/platform/util/src/com/intellij/openapi/util/BuildNumber.java index a888db7becf9..22cf77504a63 100644 --- a/platform/util/src/com/intellij/openapi/util/BuildNumber.java +++ b/platform/util/src/com/intellij/openapi/util/BuildNumber.java @@ -38,22 +38,28 @@ public class BuildNumber implements Comparable<BuildNumber> { private final String myProductCode; private final int myBaselineVersion; private final int myBuildNumber; + private final String myAttemptInfo; public BuildNumber(String productCode, int baselineVersion, int buildNumber) { + this(productCode, baselineVersion, buildNumber, null); + } + + public BuildNumber(String productCode, int baselineVersion, int buildNumber, String attemptInfo) { myProductCode = productCode; myBaselineVersion = baselineVersion; myBuildNumber = buildNumber; + myAttemptInfo = StringUtil.isEmpty(attemptInfo) ? null : attemptInfo; } public String asString() { - return asString(true); + return asString(true, false); } public String asStringWithoutProductCode() { - return asString(false); + return asString(false, false); } - private String asString(boolean includeProductCode) { + private String asString(boolean includeProductCode, boolean withBuildAttempt) { StringBuilder builder = new StringBuilder(); if (includeProductCode && !StringUtil.isEmpty(myProductCode)) { @@ -69,6 +75,10 @@ public class BuildNumber implements Comparable<BuildNumber> { builder.append(SNAPSHOT); } + if (withBuildAttempt && myAttemptInfo != null) { + builder.append('.').append(myAttemptInfo); + } + return builder.toString(); } @@ -98,9 +108,11 @@ public class BuildNumber implements Comparable<BuildNumber> { int baselineVersionSeparator = code.indexOf('.'); int baselineVersion; int buildNumber; + String attemptInfo = null; + if (baselineVersionSeparator > 0) { try { - final String baselineVersionString = code.substring(0, baselineVersionSeparator); + String baselineVersionString = code.substring(0, baselineVersionSeparator); if (baselineVersionString.trim().isEmpty()) return null; baselineVersion = Integer.parseInt(baselineVersionString); code = code.substring(baselineVersionSeparator + 1); @@ -109,6 +121,11 @@ public class BuildNumber implements Comparable<BuildNumber> { throw new RuntimeException("Invalid version number: " + version + "; plugin name: " + name); } + int minorBuildSeparator = code.indexOf('.'); // allow <BuildNumber>.<BuildAttemptNumber> skipping BuildAttemptNumber + if (minorBuildSeparator > 0) { + attemptInfo = code.substring(minorBuildSeparator + 1); + code = code.substring(0, minorBuildSeparator); + } buildNumber = parseBuildNumber(version, code, name); } else { @@ -116,13 +133,13 @@ public class BuildNumber implements Comparable<BuildNumber> { if (buildNumber <= 2000) { // it's probably a baseline, not a build number - return new BuildNumber(productCode, buildNumber, 0); + return new BuildNumber(productCode, buildNumber, 0, null); } baselineVersion = getBaseLineForHistoricBuilds(buildNumber); } - return new BuildNumber(productCode, baselineVersion, buildNumber); + return new BuildNumber(productCode, baselineVersion, buildNumber, attemptInfo); } private static int parseBuildNumber(String version, String code, String name) { @@ -188,6 +205,7 @@ public class BuildNumber implements Comparable<BuildNumber> { if (myBaselineVersion != that.myBaselineVersion) return false; if (myBuildNumber != that.myBuildNumber) return false; if (!myProductCode.equals(that.myProductCode)) return false; + if (!Comparing.equal(myAttemptInfo, that.myAttemptInfo)) return false; return true; } @@ -197,6 +215,7 @@ public class BuildNumber implements Comparable<BuildNumber> { int result = myProductCode.hashCode(); result = 31 * result + myBaselineVersion; result = 31 * result + myBuildNumber; + if (myAttemptInfo != null) result = 31 * result + myAttemptInfo.hashCode(); return result; } @@ -256,4 +275,8 @@ public class BuildNumber implements Comparable<BuildNumber> { public boolean isSnapshot() { return myBuildNumber == Integer.MAX_VALUE; } + + public String asStringWithAllDetails() { + return asString(true, true); + } } diff --git a/platform/util/src/com/intellij/openapi/util/IconLoader.java b/platform/util/src/com/intellij/openapi/util/IconLoader.java index 37948dfd49d8..cc87d0dcfc43 100644 --- a/platform/util/src/com/intellij/openapi/util/IconLoader.java +++ b/platform/util/src/com/intellij/openapi/util/IconLoader.java @@ -159,10 +159,6 @@ public final class IconLoader { ourIsActivated = true; } - public static void deactivate() { - ourIsActivated = false; - } - private static boolean isLoaderDisabled() { return !ourIsActivated; } diff --git a/platform/util/src/com/intellij/openapi/util/io/FileUtil.java b/platform/util/src/com/intellij/openapi/util/io/FileUtil.java index fa67b7462bec..0f95577cf2b5 100644 --- a/platform/util/src/com/intellij/openapi/util/io/FileUtil.java +++ b/platform/util/src/com/intellij/openapi/util/io/FileUtil.java @@ -415,6 +415,17 @@ public class FileUtil extends FileUtilRt { } public static boolean delete(@NotNull File file) { + if (SystemInfo.isWindows) { + File tempFile = findSequentNonexistentFile(file.getParentFile(), file.getName(), ""); + if (file.renameTo(tempFile)) { + file = tempFile; + } + } + + return doDelete(file); + } + + private static boolean doDelete(File file) { FileAttributes attributes = FileSystemUtil.getAttributes(file); if (attributes == null) return true; @@ -422,7 +433,7 @@ public class FileUtil extends FileUtilRt { File[] files = file.listFiles(); if (files != null) { for (File child : files) { - if (!delete(child)) return false; + if (!doDelete(child)) return false; } } } diff --git a/platform/util/src/com/intellij/openapi/util/registry/ui/RegistryCheckBox.java b/platform/util/src/com/intellij/openapi/util/registry/ui/RegistryCheckBox.java index 657f8dd85a38..ffc664eacab1 100644 --- a/platform/util/src/com/intellij/openapi/util/registry/ui/RegistryCheckBox.java +++ b/platform/util/src/com/intellij/openapi/util/registry/ui/RegistryCheckBox.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2009 JetBrains s.r.o. + * Copyright 2000-2014 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. @@ -22,8 +22,7 @@ import org.jetbrains.annotations.Nullable; import javax.swing.*; public class RegistryCheckBox extends CheckBoxWithDescription { - - private RegistryValue myValue; + private final RegistryValue myValue; public RegistryCheckBox(RegistryValue value) { this(value, value.getDescription(), null); @@ -31,6 +30,7 @@ public class RegistryCheckBox extends CheckBoxWithDescription { public RegistryCheckBox(RegistryValue value, String text, @Nullable String longDescription) { super(new JCheckBox(text), longDescription); + myValue = value; getCheckBox().setSelected(myValue.asBoolean()); } @@ -42,5 +42,4 @@ public class RegistryCheckBox extends CheckBoxWithDescription { public void save() { myValue.setValue(Boolean.valueOf(getCheckBox().isSelected()).toString()); } - }
\ No newline at end of file |