diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/configurable/CommitDialogSettingsPanel.form b/platform/vcs-impl/src/com/intellij/openapi/vcs/configurable/CommitDialogSettingsPanel.form index f9a3093e3947..0b645965b285 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/configurable/CommitDialogSettingsPanel.form +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/configurable/CommitDialogSettingsPanel.form @@ -1,6 +1,6 @@
- + @@ -10,7 +10,7 @@ - + @@ -19,7 +19,7 @@ - + @@ -35,6 +35,54 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/configurable/CommitDialogSettingsPanel.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/configurable/CommitDialogSettingsPanel.java index 54de54b9916d..3efd82bce87d 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/configurable/CommitDialogSettingsPanel.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/configurable/CommitDialogSettingsPanel.java @@ -19,8 +19,12 @@ import com.intellij.openapi.Disposable; import com.intellij.openapi.options.ConfigurableUi; import com.intellij.openapi.options.ConfigurationException; import com.intellij.openapi.project.Project; +import com.intellij.openapi.ui.ComboBox; import com.intellij.openapi.util.Disposer; import com.intellij.openapi.vcs.VcsConfiguration; +import com.intellij.openapi.vcs.VcsShowConfirmationOption; +import com.intellij.ui.EnumComboBoxModel; +import com.intellij.ui.ListCellRendererWrapper; import com.intellij.ui.components.JBCheckBox; import com.intellij.vcs.commit.CommitMessageInspectionsPanel; import org.jetbrains.annotations.NotNull; @@ -32,25 +36,51 @@ public class CommitDialogSettingsPanel implements ConfigurableUi myMoveToFailedCommitChangeList; + private EnumComboBoxModel myMoveToFailedCommitChangeListModel; public CommitDialogSettingsPanel(@NotNull Project project) { myProject = project; + myMoveToFailedCommitChangeListModel = new EnumComboBoxModel<>(VcsShowConfirmationOption.Value.class); + myMoveToFailedCommitChangeList.setRenderer(new ListCellRendererWrapper() { + @Override + public void customize(JList list, VcsShowConfirmationOption.Value value, int index, boolean selected, boolean hasFocus) { + setText(getConfirmationOptionText(value)); + } + }); + myMoveToFailedCommitChangeList.setModel(myMoveToFailedCommitChangeListModel); } @Override public void reset(@NotNull VcsConfiguration settings) { myShowUnversionedFiles.setSelected(settings.SHOW_UNVERSIONED_FILES_WHILE_COMMIT); + myClearInitialCommitMessage.setSelected(settings.CLEAR_INITIAL_COMMIT_MESSAGE); + myForceNonEmptyCommitMessage.setSelected(settings.FORCE_NON_EMPTY_COMMENT); + myMoveUncommittedToAnotherChangeList.setSelected(settings.OFFER_MOVE_TO_ANOTHER_CHANGELIST_ON_PARTIAL_COMMIT); + myMoveToFailedCommitChangeListModel.setSelectedItem(settings.MOVE_TO_FAILED_COMMIT_CHANGELIST); myInspectionsPanel.reset(); } @Override public boolean isModified(@NotNull VcsConfiguration settings) { - return settings.SHOW_UNVERSIONED_FILES_WHILE_COMMIT != myShowUnversionedFiles.isSelected() || myInspectionsPanel.isModified(); + return settings.SHOW_UNVERSIONED_FILES_WHILE_COMMIT != myShowUnversionedFiles.isSelected() || + settings.CLEAR_INITIAL_COMMIT_MESSAGE != myClearInitialCommitMessage.isSelected() || + settings.FORCE_NON_EMPTY_COMMENT != myForceNonEmptyCommitMessage.isSelected() || + settings.OFFER_MOVE_TO_ANOTHER_CHANGELIST_ON_PARTIAL_COMMIT != myMoveUncommittedToAnotherChangeList.isSelected() || + settings.MOVE_TO_FAILED_COMMIT_CHANGELIST != myMoveToFailedCommitChangeListModel.getSelectedItem() || + myInspectionsPanel.isModified(); } @Override public void apply(@NotNull VcsConfiguration settings) throws ConfigurationException { settings.SHOW_UNVERSIONED_FILES_WHILE_COMMIT = myShowUnversionedFiles.isSelected(); + settings.CLEAR_INITIAL_COMMIT_MESSAGE = myClearInitialCommitMessage.isSelected(); + settings.FORCE_NON_EMPTY_COMMENT = myForceNonEmptyCommitMessage.isSelected(); + settings.OFFER_MOVE_TO_ANOTHER_CHANGELIST_ON_PARTIAL_COMMIT = myMoveUncommittedToAnotherChangeList.isSelected(); + settings.MOVE_TO_FAILED_COMMIT_CHANGELIST = myMoveToFailedCommitChangeListModel.getSelectedItem(); myInspectionsPanel.apply(); } @@ -68,4 +98,17 @@ public class CommitDialogSettingsPanel implements ConfigurableUi - + @@ -160,22 +160,6 @@ - - - - - - - - - - - - - - - - @@ -184,35 +168,9 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -236,17 +194,9 @@ - - - - - - - - - + diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/configurable/VcsGeneralConfigurationPanel.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/configurable/VcsGeneralConfigurationPanel.java index 861025db44ed..88f458c5a928 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/configurable/VcsGeneralConfigurationPanel.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/configurable/VcsGeneralConfigurationPanel.java @@ -34,7 +34,6 @@ import java.util.List; public class VcsGeneralConfigurationPanel { - private JCheckBox myForceNonEmptyComment; private JCheckBox myShowReadOnlyStatusDialog; private JRadioButton myShowDialogOnAddingFile; @@ -57,10 +56,7 @@ public class VcsGeneralConfigurationPanel { Map myPromptOptions = new LinkedHashMap<>(); private JPanel myRemoveConfirmationPanel; private JPanel myAddConfirmationPanel; - private JCheckBox myCbOfferToMoveChanges; - private JComboBox myFailedCommitChangelistCombo; private JComboBox myOnPatchCreation; - private JCheckBox myClearInitialCommitMessage; private JCheckBox myReloadContext; private ButtonGroup myEmptyChangelistRemovingGroup; @@ -101,11 +97,7 @@ public class VcsGeneralConfigurationPanel { VcsConfiguration settings = VcsConfiguration.getInstance(myProject); - settings.FORCE_NON_EMPTY_COMMENT = myForceNonEmptyComment.isSelected(); - settings.CLEAR_INITIAL_COMMIT_MESSAGE = myClearInitialCommitMessage.isSelected(); - settings.OFFER_MOVE_TO_ANOTHER_CHANGELIST_ON_PARTIAL_COMMIT = myCbOfferToMoveChanges.isSelected(); settings.REMOVE_EMPTY_INACTIVE_CHANGELISTS = getSelected(myEmptyChangelistRemovingGroup); - settings.MOVE_TO_FAILED_COMMIT_CHANGELIST = getFailedCommitConfirm(); settings.RELOAD_CONTEXT = myReloadContext.isSelected(); for (VcsShowOptionsSettingImpl setting : myPromptOptions.keySet()) { @@ -135,14 +127,6 @@ public class VcsGeneralConfigurationPanel { } } - private VcsShowConfirmationOption.Value getFailedCommitConfirm() { - switch(myFailedCommitChangelistCombo.getSelectedIndex()) { - case 0: return VcsShowConfirmationOption.Value.DO_ACTION_SILENTLY; - case 1: return VcsShowConfirmationOption.Value.DO_NOTHING_SILENTLY; - default: return VcsShowConfirmationOption.Value.SHOW_CONFIRMATION; - } - } - private VcsShowConfirmationOption getAddConfirmation() { return ProjectLevelVcsManagerEx.getInstanceEx(myProject) .getConfirmation(VcsConfiguration.StandardConfirmation.ADD); @@ -177,24 +161,11 @@ public class VcsGeneralConfigurationPanel { public boolean isModified() { VcsConfiguration settings = VcsConfiguration.getInstance(myProject); - if (settings.FORCE_NON_EMPTY_COMMENT != myForceNonEmptyComment.isSelected()){ - return true; - } - if (settings.CLEAR_INITIAL_COMMIT_MESSAGE != myClearInitialCommitMessage.isSelected()){ - return true; - } - if (settings.OFFER_MOVE_TO_ANOTHER_CHANGELIST_ON_PARTIAL_COMMIT != myCbOfferToMoveChanges.isSelected()){ - return true; - } if (settings.REMOVE_EMPTY_INACTIVE_CHANGELISTS != getSelected(myEmptyChangelistRemovingGroup)){ return true; } if (settings.RELOAD_CONTEXT != myReloadContext.isSelected()) return true; - if (!Comparing.equal(getFailedCommitConfirm(), settings.MOVE_TO_FAILED_COMMIT_CHANGELIST)) { - return true; - } - if (getReadOnlyStatusHandler().getState().SHOW_DIALOG != myShowReadOnlyStatusDialog.isSelected()) { return true; } @@ -212,25 +183,12 @@ public class VcsGeneralConfigurationPanel { public void reset() { VcsConfiguration settings = VcsConfiguration.getInstance(myProject); - myForceNonEmptyComment.setSelected(settings.FORCE_NON_EMPTY_COMMENT); - myClearInitialCommitMessage.setSelected(settings.CLEAR_INITIAL_COMMIT_MESSAGE); - myCbOfferToMoveChanges.setSelected(settings.OFFER_MOVE_TO_ANOTHER_CHANGELIST_ON_PARTIAL_COMMIT); myReloadContext.setSelected(settings.RELOAD_CONTEXT); VcsShowConfirmationOption.Value value = settings.REMOVE_EMPTY_INACTIVE_CHANGELISTS; UIUtil.setSelectedButton(myEmptyChangelistRemovingGroup, value == VcsShowConfirmationOption.Value.SHOW_CONFIRMATION ? 0 : value == VcsShowConfirmationOption.Value.DO_NOTHING_SILENTLY ? 2 : 1); myShowReadOnlyStatusDialog.setSelected(getReadOnlyStatusHandler().getState().SHOW_DIALOG); - if (settings.MOVE_TO_FAILED_COMMIT_CHANGELIST == VcsShowConfirmationOption.Value.DO_ACTION_SILENTLY) { - myFailedCommitChangelistCombo.setSelectedIndex(0); - } - else if (settings.MOVE_TO_FAILED_COMMIT_CHANGELIST == VcsShowConfirmationOption.Value.DO_NOTHING_SILENTLY) { - myFailedCommitChangelistCombo.setSelectedIndex(1); - } - else { - myFailedCommitChangelistCombo.setSelectedIndex(2); - } - for (VcsShowOptionsSettingImpl setting : myPromptOptions.keySet()) { myPromptOptions.get(setting).setSelected(setting.getValue()); }