Save 'Search for references' checkbox state on move of kotlin file

Fixed #KT-24929
This commit is contained in:
Igor Yakovlev
2019-08-27 13:27:28 +03:00
parent eca2707dbf
commit 3951fde081
@@ -24,7 +24,6 @@ import com.intellij.refactoring.copy.CopyFilesOrDirectoriesDialog
import com.intellij.refactoring.copy.CopyFilesOrDirectoriesHandler import com.intellij.refactoring.copy.CopyFilesOrDirectoriesHandler
import com.intellij.refactoring.move.MoveCallback import com.intellij.refactoring.move.MoveCallback
import com.intellij.refactoring.move.MoveHandler import com.intellij.refactoring.move.MoveHandler
import com.intellij.refactoring.util.CommonRefactoringUtil
import com.intellij.ui.NonFocusableCheckBox import com.intellij.ui.NonFocusableCheckBox
import com.intellij.ui.RecentsManager import com.intellij.ui.RecentsManager
import com.intellij.ui.TextFieldWithHistoryWithBrowseButton import com.intellij.ui.TextFieldWithHistoryWithBrowseButton
@@ -49,7 +48,17 @@ class KotlinAwareMoveFilesOrDirectoriesDialog(
companion object { companion object {
private const val RECENT_KEYS = "MoveFile.RECENT_KEYS" private const val RECENT_KEYS = "MoveFile.RECENT_KEYS"
private const val MOVE_FILES_OPEN_IN_EDITOR = "MoveFile.OpenInEditor" private const val MOVE_FILES_OPEN_IN_EDITOR = "MoveFile.OpenInEditor"
private const val MOVE_FILES_SEARCH_REFERENCES = "MoveFile.SearchReferences"
private const val HELP_ID = "refactoring.moveFile" private const val HELP_ID = "refactoring.moveFile"
private fun setConfigurationValue(id: String, value: Boolean, defaultValue: Boolean) {
if (!ApplicationManager.getApplication().isUnitTestMode) {
PropertiesComponent.getInstance().setValue(id, value, defaultValue)
}
}
private fun getConfigurationValue(id: String, defaultValue: Boolean) =
!ApplicationManager.getApplication().isUnitTestMode && PropertiesComponent.getInstance().getBoolean(id, defaultValue)
} }
private val nameLabel = JBLabelDecorator.createJBLabelDecorator().setBold(true) private val nameLabel = JBLabelDecorator.createJBLabelDecorator().setBold(true)
@@ -89,7 +98,8 @@ class KotlinAwareMoveFilesOrDirectoriesDialog(
targetDirectoryField.setTextFieldPreferredWidth(CopyFilesOrDirectoriesDialog.MAX_PATH_LENGTH) targetDirectoryField.setTextFieldPreferredWidth(CopyFilesOrDirectoriesDialog.MAX_PATH_LENGTH)
Disposer.register(disposable, targetDirectoryField) Disposer.register(disposable, targetDirectoryField)
openInEditorCb.isSelected = isOpenInEditor() openInEditorCb.isSelected = getConfigurationValue(id = MOVE_FILES_OPEN_IN_EDITOR, defaultValue = false)
searchReferencesCb.isSelected = getConfigurationValue(id = MOVE_FILES_SEARCH_REFERENCES, defaultValue = true)
val shortcutText = KeymapUtil.getFirstKeyboardShortcutText(ActionManager.getInstance().getAction(IdeActions.ACTION_CODE_COMPLETION)) val shortcutText = KeymapUtil.getFirstKeyboardShortcutText(ActionManager.getInstance().getAction(IdeActions.ACTION_CODE_COMPLETION))
return FormBuilder.createFormBuilder() return FormBuilder.createFormBuilder()
@@ -138,11 +148,6 @@ class KotlinAwareMoveFilesOrDirectoriesDialog(
} }
} }
private fun isOpenInEditor(): Boolean {
if (ApplicationManager.getApplication().isUnitTestMode) return false
return PropertiesComponent.getInstance().getBoolean(MOVE_FILES_OPEN_IN_EDITOR, false)
}
private fun validateOKButton() { private fun validateOKButton() {
isOKActionEnabled = targetDirectoryField.childComponent.text.isNotEmpty() isOKActionEnabled = targetDirectoryField.childComponent.text.isNotEmpty()
} }
@@ -192,9 +197,11 @@ class KotlinAwareMoveFilesOrDirectoriesDialog(
processor.run() processor.run()
} }
PropertiesComponent.getInstance().setValue(MOVE_FILES_OPEN_IN_EDITOR, openInEditorCb.isSelected, false) setConfigurationValue(id = MOVE_FILES_OPEN_IN_EDITOR, value = openInEditorCb.isSelected, defaultValue = false)
setConfigurationValue(id = MOVE_FILES_SEARCH_REFERENCES, value = searchReferencesCb.isSelected, defaultValue = true)
RecentsManager.getInstance(project).registerRecentEntry(RECENT_KEYS, targetDirectoryField.childComponent.text) RecentsManager.getInstance(project).registerRecentEntry(RECENT_KEYS, targetDirectoryField.childComponent.text)
close(OK_EXIT_CODE, true) close(OK_EXIT_CODE, /* isOk = */ true)
} }
} }