package com.vpedak.testsrecorder.plugin.ui; import com.intellij.ide.util.PropertiesComponent; import com.intellij.openapi.options.Configurable; import com.intellij.openapi.options.ConfigurationException; import javax.swing.*; import java.awt.*; public class PluginConfiguration implements Configurable { public static final String LEAVE_RUN_CONFIGURATION = "android.test.recorder.leave.run.configuration"; private JPanel rootPanel; private JCheckBox leaveRunConfigurationsCB; @Override public String getDisplayName() { return "Android Test Recorder"; } @Override public String getHelpTopic() { return null; } @Override public JComponent createComponent() { rootPanel = new JPanel(new BorderLayout()); leaveRunConfigurationsCB = new JCheckBox("leave Run Configuration used for recording (for debug purpose)"); rootPanel.add(leaveRunConfigurationsCB, BorderLayout.NORTH); return rootPanel; } @Override public boolean isModified() { return leaveRunConfigurationsCB.isSelected() != isLeaveRunConfiguration(); } @Override public void apply() throws ConfigurationException { PropertiesComponent.getInstance().setValue(LEAVE_RUN_CONFIGURATION, leaveRunConfigurationsCB.isSelected()?"1":"0"); } @Override public void reset() { leaveRunConfigurationsCB.setSelected(isLeaveRunConfiguration()); } @Override public void disposeUIResources() { } public static boolean isLeaveRunConfiguration() { int tst = PropertiesComponent.getInstance().getOrInitInt(LEAVE_RUN_CONFIGURATION, 0); return tst == 1; } }