From f7fe2b1c08da9c91db58bd91e50ebeafbef1c0ca Mon Sep 17 00:00:00 2001 From: Konstantin Bulenkov Date: Mon, 13 Apr 2020 18:35:50 +0200 Subject: [PATCH] move grid & chessboard to registry GitOrigin-RevId: a7b654dccbf2c5936c5bfcaa51171ed2b48d6432 --- images/resources/META-INF/plugin.xml | 2 + .../ToggleTransparencyChessboardAction.java | 2 + .../images/options/impl/GridOptionsImpl.kt | 18 +++------ .../TransparencyChessboardOptionsImpl.java | 40 ++----------------- 4 files changed, 13 insertions(+), 49 deletions(-) diff --git a/images/resources/META-INF/plugin.xml b/images/resources/META-INF/plugin.xml index e57dee52d6ac..356eb3c22e3d 100644 --- a/images/resources/META-INF/plugin.xml +++ b/images/resources/META-INF/plugin.xml @@ -31,6 +31,8 @@ + + diff --git a/images/src/org/intellij/images/actions/ToggleTransparencyChessboardAction.java b/images/src/org/intellij/images/actions/ToggleTransparencyChessboardAction.java index 1032ce416bd3..a728cae3bdf9 100644 --- a/images/src/org/intellij/images/actions/ToggleTransparencyChessboardAction.java +++ b/images/src/org/intellij/images/actions/ToggleTransparencyChessboardAction.java @@ -18,6 +18,7 @@ package org.intellij.images.actions; import com.intellij.ide.IdeBundle; import com.intellij.openapi.actionSystem.AnActionEvent; import com.intellij.openapi.actionSystem.ToggleAction; +import org.intellij.images.options.DefaultImageEditorSettings; import org.intellij.images.ui.ImageComponentDecorator; import org.jetbrains.annotations.NotNull; @@ -39,6 +40,7 @@ public final class ToggleTransparencyChessboardAction extends ToggleAction { ImageComponentDecorator decorator = e.getData(ImageComponentDecorator.DATA_KEY); if (decorator != null && decorator.isEnabledForActionPlace(e.getPlace())) { decorator.setTransparencyChessboardVisible(state); + DefaultImageEditorSettings.INSTANCE.setShowChessboard(state); } } diff --git a/images/src/org/intellij/images/options/impl/GridOptionsImpl.kt b/images/src/org/intellij/images/options/impl/GridOptionsImpl.kt index a7915562c665..0915a94a9ae7 100644 --- a/images/src/org/intellij/images/options/impl/GridOptionsImpl.kt +++ b/images/src/org/intellij/images/options/impl/GridOptionsImpl.kt @@ -20,6 +20,7 @@ import com.intellij.openapi.util.JDOMExternalizable import com.intellij.openapi.util.JDOMExternalizer import com.intellij.ui.JBColor import com.intellij.util.addOptionTag +import org.intellij.images.options.DefaultImageEditorSettings import org.intellij.images.options.GridOptions import org.jdom.Element import java.awt.Color @@ -29,12 +30,13 @@ import java.beans.PropertyChangeSupport * Grid options implementation. */ internal class GridOptionsImpl(private val propertyChangeSupport: PropertyChangeSupport) : GridOptions { - private var showDefault: Boolean? = null + private var showDefault: Boolean = DefaultImageEditorSettings.showGrid private var lineMinZoomFactor = GridOptions.DEFAULT_LINE_ZOOM_FACTOR private var lineSpan = GridOptions.DEFAULT_LINE_SPAN private var lineColor: Color? = null + override fun isShowDefault(): Boolean { - return showDefault ?: false + return showDefault } override fun getLineZoomFactor(): Int { @@ -50,14 +52,6 @@ internal class GridOptionsImpl(private val propertyChangeSupport: PropertyChange EditorColorsManager.getInstance().globalScheme.getColor(GRID_LINE_COLOR_KEY) ?: JBColor.DARK_GRAY } - fun setShowDefault(showDefault: Boolean) { - val oldValue = this.showDefault - if (oldValue != showDefault) { - this.showDefault = showDefault - propertyChangeSupport.firePropertyChange(GridOptions.ATTR_SHOW_DEFAULT, oldValue, this.showDefault) - } - } - fun setLineMinZoomFactor(lineMinZoomFactor: Int) { val oldValue = this.lineMinZoomFactor if (oldValue != lineMinZoomFactor) { @@ -75,14 +69,14 @@ internal class GridOptionsImpl(private val propertyChangeSupport: PropertyChange } override fun inject(options: GridOptions) { - isShowDefault = options.isShowDefault + showDefault = options.isShowDefault setLineMinZoomFactor(options.lineZoomFactor) setLineSpan(options.lineSpan) } override fun setOption(name: String, value: Any): Boolean { if (GridOptions.ATTR_SHOW_DEFAULT == name) { - isShowDefault = value as Boolean + showDefault = value as Boolean } else if (GridOptions.ATTR_LINE_ZOOM_FACTOR == name) { setLineMinZoomFactor(value as Int) diff --git a/images/src/org/intellij/images/options/impl/TransparencyChessboardOptionsImpl.java b/images/src/org/intellij/images/options/impl/TransparencyChessboardOptionsImpl.java index cf862c70a011..48544a156c1c 100644 --- a/images/src/org/intellij/images/options/impl/TransparencyChessboardOptionsImpl.java +++ b/images/src/org/intellij/images/options/impl/TransparencyChessboardOptionsImpl.java @@ -18,6 +18,7 @@ package org.intellij.images.options.impl; import com.intellij.openapi.util.JDOMExternalizable; import com.intellij.openapi.util.JDOMExternalizer; import com.intellij.util.JdomKt; +import org.intellij.images.options.DefaultImageEditorSettings; import org.intellij.images.options.TransparencyChessboardOptions; import org.jdom.Element; @@ -30,7 +31,6 @@ import java.beans.PropertyChangeSupport; * @author Alexey Efimov */ final class TransparencyChessboardOptionsImpl implements TransparencyChessboardOptions, JDOMExternalizable { - private boolean showDefault = true; private int cellSize = DEFAULT_CELL_SIZE; private Color whiteColor = DEFAULT_WHITE_COLOR; private Color blackColor = DEFAULT_BLACK_COLOR; @@ -42,7 +42,7 @@ final class TransparencyChessboardOptionsImpl implements TransparencyChessboardO @Override public boolean isShowDefault() { - return showDefault; + return DefaultImageEditorSettings.INSTANCE.getShowChessboard(); } @Override @@ -61,11 +61,6 @@ final class TransparencyChessboardOptionsImpl implements TransparencyChessboardO } void setShowDefault(boolean showDefault) { - boolean oldValue = this.showDefault; - if (oldValue != showDefault) { - this.showDefault = showDefault; - propertyChangeSupport.firePropertyChange(ATTR_SHOW_DEFAULT, oldValue, this.showDefault); - } } void setCellSize(int cellSize) { @@ -136,38 +131,9 @@ final class TransparencyChessboardOptionsImpl implements TransparencyChessboardO @Override public void writeExternal(Element element) { - JdomKt.addOptionTag(element, ATTR_SHOW_DEFAULT, Boolean.toString(showDefault), "setting"); + JdomKt.addOptionTag(element, ATTR_SHOW_DEFAULT, Boolean.toString(isShowDefault()), "setting"); JdomKt.addOptionTag(element, ATTR_CELL_SIZE, Integer.toString(cellSize), "setting"); JDOMExternalizerEx.write(element, ATTR_WHITE_COLOR, whiteColor); JDOMExternalizerEx.write(element, ATTR_BLACK_COLOR, blackColor); } - - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (!(o instanceof TransparencyChessboardOptions)) { - return false; - } - - TransparencyChessboardOptions otherOptions = (TransparencyChessboardOptions)o; - - return cellSize == otherOptions.getCellSize() && - showDefault == otherOptions.isShowDefault() && - (blackColor != null ? - blackColor.equals(otherOptions.getBlackColor()) : - otherOptions.getBlackColor() == null) && - (whiteColor != null ? - whiteColor.equals(otherOptions.getWhiteColor()) : - otherOptions.getWhiteColor() == null); - } - - public int hashCode() { - int result; - result = (showDefault ? 1 : 0); - result = 29 * result + cellSize; - result = 29 * result + (whiteColor != null ? whiteColor.hashCode() : 0); - result = 29 * result + (blackColor != null ? blackColor.hashCode() : 0); - return result; - } }