i18n: Add bundle for idea-jvm
This commit is contained in:
committed by
Dmitry Gridin
parent
40bdc099e3
commit
4cc19d3fda
@@ -216,9 +216,6 @@ suppress.warnings.family=Suppress Warnings
|
|||||||
suppress.warning.for=Suppress ''{0}'' for {1} {2}
|
suppress.warning.for=Suppress ''{0}'' for {1} {2}
|
||||||
|
|
||||||
reflection.not.found=Reflection not found in the classpath
|
reflection.not.found=Reflection not found in the classpath
|
||||||
add.reflection.to.classpath=Add kotlin-reflect.jar to the classpath
|
|
||||||
add.test.to.classpath=Add kotlin-test.jar to the classpath
|
|
||||||
add.script.runtime.to.classpath=Add kotlin-script-runtime.jar to the classpath
|
|
||||||
|
|
||||||
# Kotlin Compiler Settings Tab
|
# Kotlin Compiler Settings Tab
|
||||||
|
|
||||||
|
|||||||
+1
-2
@@ -9,7 +9,6 @@ import com.intellij.CommonBundle
|
|||||||
import org.jetbrains.annotations.NonNls
|
import org.jetbrains.annotations.NonNls
|
||||||
import org.jetbrains.annotations.PropertyKey
|
import org.jetbrains.annotations.PropertyKey
|
||||||
import org.jetbrains.kotlin.idea.core.util.KotlinBundleBase
|
import org.jetbrains.kotlin.idea.core.util.KotlinBundleBase
|
||||||
import org.jetbrains.kotlin.idea.debugger.evaluate.KotlinDebuggerEvaluationBundle
|
|
||||||
import java.util.*
|
import java.util.*
|
||||||
|
|
||||||
object KotlinGradleNativeBundle : KotlinBundleBase() {
|
object KotlinGradleNativeBundle : KotlinBundleBase() {
|
||||||
@@ -20,6 +19,6 @@ object KotlinGradleNativeBundle : KotlinBundleBase() {
|
|||||||
|
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
fun message(@NonNls @PropertyKey(resourceBundle = BUNDLE) key: String, vararg params: Any?): String {
|
fun message(@NonNls @PropertyKey(resourceBundle = BUNDLE) key: String, vararg params: Any?): String {
|
||||||
return CommonBundle.message(KotlinDebuggerEvaluationBundle.bundle, key, *params)
|
return CommonBundle.message(bundle, key, *params)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,69 @@
|
|||||||
|
classpath.add.reflection=Add ''kotlin-reflect.jar'' to the classpath
|
||||||
|
classpath.add.script.runtime=Add ''kotlin-script-runtime.jar'' to the classpath
|
||||||
|
classpath.add.kotlin.test=Add ''kotlin-test.jar'' to the classpath
|
||||||
|
|
||||||
|
scratch.clear.button=Clear results
|
||||||
|
scratch.inlay.output.mode=Inlay output mode\n\nThe output is shown in the code editor right next to the expression. Well suited for a short single-line output.
|
||||||
|
scratch.inlay.output.mode.description=Inlay output mode
|
||||||
|
scratch.side.panel.output.mode=Side panel output mode\n\nThe output is shown in the separate panel. Useful if the output is long or multi-line.
|
||||||
|
scratch.side.panel.output.mode.description=Side panel output mode
|
||||||
|
|
||||||
|
scratch.module.combobox=Use classpath of module
|
||||||
|
scratch.run.button=Run Scratch File
|
||||||
|
scratch.run.from.here.button=Run Scratch From Here
|
||||||
|
scratch.stop.button=Stop scratch execution
|
||||||
|
|
||||||
|
scratch.is.repl.checkbox=Use REPL
|
||||||
|
scratch.is.repl.checkbox.description=Runs in the Kotlin REPL. Executes only the new expressions added to the end of the scratch
|
||||||
|
|
||||||
|
scratch.is.interactive.checkbox=Interactive mode
|
||||||
|
scratch.is.interactive.checkbox.description=Runs after you stop typing for {0} seconds
|
||||||
|
|
||||||
|
scratch.make.before.run.checkbox=Make module before Run
|
||||||
|
scratch.make.before.run.checkbox.description=Make module {0} before running scratch. Only compiled code is reachable from this scope
|
||||||
|
|
||||||
|
incompatible.api.report=Report as Incompatible API
|
||||||
|
choose.module.modules={0}, {1} and <a href="#">{2,number,#} other modules</a>
|
||||||
|
choose.module.modules.with.kotlin=Modules with Kotlin Files
|
||||||
|
|
||||||
|
choose.path.title=Choose Destination Folder
|
||||||
|
choose.path.description=Choose folder
|
||||||
|
|
||||||
|
configure.kotlin.title=Configure Kotlin with {0}
|
||||||
|
configure.kotlin.find.maven.versions=Find Kotlin Maven plugin versions
|
||||||
|
configure.kotlin.loading=loading…
|
||||||
|
configure.kotlin.cant.load.versions=Couldn't load versions list from search.maven.org
|
||||||
|
|
||||||
|
copy.into.title=Copy Into…
|
||||||
|
copy.into.description=Choose folder where files will be copied
|
||||||
|
|
||||||
|
file.exists.single=File ''{0}'' already exists in {1}. Do you want to overwrite it?
|
||||||
|
file.exists=Files already exist: \n{0}\nDo you want to overwrite them?
|
||||||
|
file.overwrite.title=Overwrite file
|
||||||
|
file.overwrite.overwrite=Overwrite
|
||||||
|
file.overwrite.cancel=Cancel
|
||||||
|
file.destination.folder=Destination folder
|
||||||
|
file.error.new.folder=Error during folder creation: {0}
|
||||||
|
file.error.copy=Error during copying {0}
|
||||||
|
|
||||||
|
frameworks.remove.conflict.title=Framework Conflict
|
||||||
|
frameworks.remove.conflict.question=Current module is already configured with ''{0}'' framework.\nDo you want to remove it?
|
||||||
|
|
||||||
|
library.label.jvm=Kotlin runtime
|
||||||
|
library.label.javascript=Kotlin JS library
|
||||||
|
|
||||||
|
library.no.kotlin.library.title=No Kotlin Runtime Specified
|
||||||
|
library.no.kotlin.library.question=Do you want to continue with no Kotlin Runtime library?
|
||||||
|
|
||||||
|
run.configuration.error.no.module=Module not specified
|
||||||
|
run.configuration.error.no.main.class=No main class specified
|
||||||
|
run.configuration.error.class.not.found=Class ''{0}'' not found in module ''{1}''
|
||||||
|
run.configuration.error.class.no.main.method=Class ''{0}'' has no ''main()'' method
|
||||||
|
run.configuration.error.main.not.found=Function ''main()'' not found in class ''{0}''
|
||||||
|
run.configuration.error.main.not.found.top.level=Top-level function ''main()'' not found in package ''{0}''
|
||||||
|
|
||||||
|
script.choose.file=Choose script file
|
||||||
|
|
||||||
|
editor.editor.only=Editor only
|
||||||
|
editor.preview.only=Preview only
|
||||||
|
editor.editor.and.preview=Editor and preview
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||||
|
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package org.jetbrains.kotlin.idea
|
||||||
|
|
||||||
|
import com.intellij.CommonBundle
|
||||||
|
import org.jetbrains.annotations.NonNls
|
||||||
|
import org.jetbrains.annotations.PropertyKey
|
||||||
|
import org.jetbrains.kotlin.idea.core.util.KotlinBundleBase
|
||||||
|
import java.util.*
|
||||||
|
|
||||||
|
object KotlinJvmBundle : KotlinBundleBase() {
|
||||||
|
@NonNls
|
||||||
|
private const val BUNDLE = "org.jetbrains.kotlin.idea.KotlinJvmBundle"
|
||||||
|
|
||||||
|
override fun createBundle(): ResourceBundle = ResourceBundle.getBundle(BUNDLE)
|
||||||
|
|
||||||
|
@JvmStatic
|
||||||
|
fun message(@NonNls @PropertyKey(resourceBundle = BUNDLE) key: String, vararg params: Any?): String {
|
||||||
|
return CommonBundle.message(bundle, key, *params)
|
||||||
|
}
|
||||||
|
}
|
||||||
+6
-4
@@ -25,6 +25,7 @@ import com.intellij.openapi.roots.libraries.LibraryKind;
|
|||||||
import com.intellij.openapi.roots.ui.configuration.libraries.LibraryPresentationManager;
|
import com.intellij.openapi.roots.ui.configuration.libraries.LibraryPresentationManager;
|
||||||
import com.intellij.openapi.ui.Messages;
|
import com.intellij.openapi.ui.Messages;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinJvmBundle;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
@@ -54,10 +55,11 @@ public class FrameworksCompatibilityUtils {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
removeWithConfirm(rootModel, existingEntries,
|
removeWithConfirm(
|
||||||
String.format("Current module is already configured with '%s' framework.\nDo you want to remove it?",
|
rootModel, existingEntries,
|
||||||
presentableName),
|
KotlinJvmBundle.message("frameworks.remove.conflict.question", presentableName),
|
||||||
"Framework Conflict");
|
KotlinJvmBundle.message("frameworks.remove.conflict.title")
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void removeWithConfirm(ModifiableRootModel rootModel, List<OrderEntry> orderEntries, String message, String title) {
|
private static void removeWithConfirm(ModifiableRootModel rootModel, List<OrderEntry> orderEntries, String message, String title) {
|
||||||
|
|||||||
@@ -44,6 +44,7 @@ import kotlin.collections.ArraysKt;
|
|||||||
import kotlin.jvm.functions.Function1;
|
import kotlin.jvm.functions.Function1;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinJvmBundle;
|
||||||
import org.jetbrains.kotlin.idea.formatter.KotlinStyleGuideCodeStyle;
|
import org.jetbrains.kotlin.idea.formatter.KotlinStyleGuideCodeStyle;
|
||||||
import org.jetbrains.kotlin.idea.formatter.ProjectCodeStyleImporter;
|
import org.jetbrains.kotlin.idea.formatter.ProjectCodeStyleImporter;
|
||||||
import org.jetbrains.kotlin.platform.TargetPlatform;
|
import org.jetbrains.kotlin.platform.TargetPlatform;
|
||||||
@@ -140,8 +141,8 @@ public class KotlinModuleSettingStep extends ModuleWizardStep {
|
|||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
protected String getLibraryLabelText() {
|
protected String getLibraryLabelText() {
|
||||||
if (JvmPlatformKt.isJvm(targetPlatform)) return "Kotlin runtime";
|
if (JvmPlatformKt.isJvm(targetPlatform)) return KotlinJvmBundle.message("library.label.jvm");
|
||||||
if (JsPlatformKt.isJs(targetPlatform)) return "Kotlin JS library";
|
if (JsPlatformKt.isJs(targetPlatform)) return KotlinJvmBundle.message("library.label.javascript");
|
||||||
throw new IllegalStateException("Only JS and JVM target are supported");
|
throw new IllegalStateException("Only JS and JVM target are supported");
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -167,8 +168,8 @@ public class KotlinModuleSettingStep extends ModuleWizardStep {
|
|||||||
Boolean selected = isLibrarySelected();
|
Boolean selected = isLibrarySelected();
|
||||||
if (selected != null && !selected) {
|
if (selected != null && !selected) {
|
||||||
if (Messages.showDialog(
|
if (Messages.showDialog(
|
||||||
"Do you want to continue with no Kotlin Runtime library?",
|
KotlinJvmBundle.message("library.no.kotlin.library.question"),
|
||||||
"No Kotlin Runtime Specified",
|
KotlinJvmBundle.message("library.no.kotlin.library.title"),
|
||||||
new String[] {CommonBundle.getYesButtonText(), CommonBundle.getNoButtonText()}, 1,
|
new String[] {CommonBundle.getYesButtonText(), CommonBundle.getNoButtonText()}, 1,
|
||||||
Messages.getWarningIcon()) != Messages.YES) {
|
Messages.getWarningIcon()) != Messages.YES) {
|
||||||
return false;
|
return false;
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ import com.intellij.ui.HyperlinkLabel;
|
|||||||
import com.intellij.util.Function;
|
import com.intellij.util.Function;
|
||||||
import com.intellij.xml.util.XmlUtil;
|
import com.intellij.xml.util.XmlUtil;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinJvmBundle;
|
||||||
import org.jetbrains.kotlin.idea.configuration.ConfigureKotlinInProjectUtilsKt;
|
import org.jetbrains.kotlin.idea.configuration.ConfigureKotlinInProjectUtilsKt;
|
||||||
import org.jetbrains.kotlin.idea.configuration.KotlinProjectConfigurator;
|
import org.jetbrains.kotlin.idea.configuration.KotlinProjectConfigurator;
|
||||||
|
|
||||||
@@ -78,13 +79,15 @@ public class ChooseModulePanel {
|
|||||||
allModulesRadioButton.addActionListener(listener);
|
allModulesRadioButton.addActionListener(listener);
|
||||||
|
|
||||||
if (modulesWithKtFiles.size() > 2) {
|
if (modulesWithKtFiles.size() > 2) {
|
||||||
allModulesWithKtNames.setHtmlText("<html>" + XmlUtil.escape(modulesWithKtFiles.get(0).getName()) + ", " +
|
String firstName = modulesWithKtFiles.get(0).getName();
|
||||||
XmlUtil.escape(modulesWithKtFiles.get(1).getName()) +
|
String secondName = modulesWithKtFiles.get(1).getName();
|
||||||
" and <a href=\"#\">" + (modulesWithKtFiles.size() - 2) + " other modules</a>");
|
String message = KotlinJvmBundle.message("choose.module.modules", firstName, secondName, modulesWithKtFiles.size() - 2);
|
||||||
|
allModulesWithKtNames.setHtmlText("<html>" + message);
|
||||||
allModulesWithKtNames.addHyperlinkListener(new HyperlinkListener() {
|
allModulesWithKtNames.addHyperlinkListener(new HyperlinkListener() {
|
||||||
@Override
|
@Override
|
||||||
public void hyperlinkUpdate(HyperlinkEvent event) {
|
public void hyperlinkUpdate(HyperlinkEvent event) {
|
||||||
JBPopupFactory.getInstance().createListPopup(new BaseListPopupStep<Module>("Modules with Kotlin Files", modulesWithKtFiles) {
|
String title = KotlinJvmBundle.message("choose.module.modules.with.kotlin");
|
||||||
|
JBPopupFactory.getInstance().createListPopup(new BaseListPopupStep<Module>(title, modulesWithKtFiles) {
|
||||||
@NotNull
|
@NotNull
|
||||||
@Override
|
@Override
|
||||||
public String getTextFor(Module value) {
|
public String getTextFor(Module value) {
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ import com.intellij.openapi.ui.TextFieldWithBrowseButton;
|
|||||||
import org.jdesktop.swingx.VerticalLayout;
|
import org.jdesktop.swingx.VerticalLayout;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinJvmBundle;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
|
|
||||||
@@ -61,7 +62,11 @@ class ChoosePathDialog extends DialogWrapper {
|
|||||||
field.getField().setColumns(25);
|
field.getField().setColumns(25);
|
||||||
|
|
||||||
myPathField = new TextFieldWithBrowseButton(field.getField());
|
myPathField = new TextFieldWithBrowseButton(field.getField());
|
||||||
myPathField.addBrowseFolderListener("Choose Destination Folder", "Choose folder", myProject, descriptor);
|
myPathField.addBrowseFolderListener(
|
||||||
|
KotlinJvmBundle.message("choose.path.title"),
|
||||||
|
KotlinJvmBundle.message("choose.path.description"),
|
||||||
|
myProject, descriptor
|
||||||
|
);
|
||||||
myPathField.setText(defaultPath);
|
myPathField.setText(defaultPath);
|
||||||
|
|
||||||
panel.add(myPathField);
|
panel.add(myPathField);
|
||||||
|
|||||||
+7
-4
@@ -35,6 +35,7 @@ import com.intellij.util.ui.AsyncProcessIcon;
|
|||||||
import com.intellij.util.ui.UIUtil;
|
import com.intellij.util.ui.UIUtil;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinJvmBundle;
|
||||||
import org.jetbrains.kotlin.idea.KotlinPluginUtil;
|
import org.jetbrains.kotlin.idea.KotlinPluginUtil;
|
||||||
import org.jetbrains.kotlin.idea.configuration.ConfigureKotlinInProjectUtilsKt;
|
import org.jetbrains.kotlin.idea.configuration.ConfigureKotlinInProjectUtilsKt;
|
||||||
import org.jetbrains.kotlin.idea.configuration.KotlinProjectConfigurator;
|
import org.jetbrains.kotlin.idea.configuration.KotlinProjectConfigurator;
|
||||||
@@ -76,12 +77,14 @@ public class ConfigureDialogWithModulesAndVersion extends DialogWrapper {
|
|||||||
) {
|
) {
|
||||||
super(project);
|
super(project);
|
||||||
|
|
||||||
setTitle("Configure Kotlin with " + configurator.getPresentableText());
|
setTitle(KotlinJvmBundle.message("configure.kotlin.title", configurator.getPresentableText()));
|
||||||
|
|
||||||
this.minimumVersion = minimumVersion;
|
this.minimumVersion = minimumVersion;
|
||||||
init();
|
init();
|
||||||
|
|
||||||
ProgressManager.getInstance().run(new Task.Backgroundable(project, "Find Kotlin Maven plugin versions", false) {
|
ProgressManager.getInstance().run(new Task.Backgroundable(
|
||||||
|
project, KotlinJvmBundle.message("configure.kotlin.find.maven.versions"), false
|
||||||
|
) {
|
||||||
@Override
|
@Override
|
||||||
public void run(@NotNull ProgressIndicator indicator) {
|
public void run(@NotNull ProgressIndicator indicator) {
|
||||||
loadKotlinVersions();
|
loadKotlinVersions();
|
||||||
@@ -95,7 +98,7 @@ public class ConfigureDialogWithModulesAndVersion extends DialogWrapper {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
kotlinVersionComboBox.addItem("loading...");
|
kotlinVersionComboBox.addItem(KotlinJvmBundle.message("configure.kotlin.loading"));
|
||||||
kotlinVersionComboBox.setEnabled(false);
|
kotlinVersionComboBox.setEnabled(false);
|
||||||
|
|
||||||
processIcon.resume();
|
processIcon.resume();
|
||||||
@@ -150,7 +153,7 @@ public class ConfigureDialogWithModulesAndVersion extends DialogWrapper {
|
|||||||
public void run() {
|
public void run() {
|
||||||
infoPanel.remove(processIcon);
|
infoPanel.remove(processIcon);
|
||||||
infoPanel.add(new JLabel(UIUtil.getBalloonWarningIcon()), BorderLayout.CENTER);
|
infoPanel.add(new JLabel(UIUtil.getBalloonWarningIcon()), BorderLayout.CENTER);
|
||||||
infoPanel.setToolTipText("Couldn't load versions list from search.maven.org");
|
infoPanel.setToolTipText(KotlinJvmBundle.message("configure.kotlin.cant.load.versions"));
|
||||||
infoPanel.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
|
infoPanel.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
|
||||||
infoPanel.updateUI();
|
infoPanel.updateUI();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ import com.intellij.util.EventDispatcher;
|
|||||||
import kotlin.Unit;
|
import kotlin.Unit;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinJvmBundle;
|
||||||
import org.jetbrains.kotlin.idea.core.util.UiUtilsKt;
|
import org.jetbrains.kotlin.idea.core.util.UiUtilsKt;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
@@ -45,8 +46,9 @@ public class CopyIntoPanel {
|
|||||||
|
|
||||||
public CopyIntoPanel(@Nullable Project project, @NotNull String defaultPath, @Nullable String labelText) {
|
public CopyIntoPanel(@Nullable Project project, @NotNull String defaultPath, @Nullable String labelText) {
|
||||||
copyIntoField.addBrowseFolderListener(
|
copyIntoField.addBrowseFolderListener(
|
||||||
"Copy Into...", "Choose folder where files will be copied", project,
|
KotlinJvmBundle.message("copy.into.title"),
|
||||||
FileChooserDescriptorFactory.createSingleFolderDescriptor());
|
KotlinJvmBundle.message("copy.into.description"),
|
||||||
|
project, FileChooserDescriptorFactory.createSingleFolderDescriptor());
|
||||||
UiUtilsKt.onTextChange(
|
UiUtilsKt.onTextChange(
|
||||||
copyIntoField.getTextField(),
|
copyIntoField.getTextField(),
|
||||||
(DocumentEvent e) -> {
|
(DocumentEvent e) -> {
|
||||||
|
|||||||
@@ -28,6 +28,7 @@ import com.intellij.util.PathUtil;
|
|||||||
import kotlin.collections.CollectionsKt;
|
import kotlin.collections.CollectionsKt;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinJvmBundle;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
@@ -83,20 +84,22 @@ public class FileUIUtils {
|
|||||||
|
|
||||||
if (existentFiles.size() == 1) {
|
if (existentFiles.size() == 1) {
|
||||||
File conflictingFile = existentFiles.iterator().next().getValue();
|
File conflictingFile = existentFiles.iterator().next().getValue();
|
||||||
message = String.format("File \"%s\" already exists in %s.\nDo you want to overwrite it?", conflictingFile.getName(),
|
message = KotlinJvmBundle.message(
|
||||||
conflictingFile.getParentFile().getAbsolutePath());
|
"file.exists.single",
|
||||||
|
conflictingFile.getName(), conflictingFile.getParentFile().getAbsolutePath())
|
||||||
|
;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
Collection<File> conflictFiles = CollectionsKt.map(existentFiles, Map.Entry::getValue);
|
Collection<File> conflictFiles = CollectionsKt.map(existentFiles, Map.Entry::getValue);
|
||||||
message = String.format("Files already exist:\n%s\nDo you want to overwrite them?", StringUtil.join(conflictFiles, "\n"));
|
message = KotlinJvmBundle.message("file.exists", StringUtil.join(conflictFiles, "\n"));
|
||||||
}
|
}
|
||||||
|
|
||||||
int replaceIfExist = Messages.showYesNoDialog(
|
int replaceIfExist = Messages.showYesNoDialog(
|
||||||
null,
|
null,
|
||||||
message,
|
message,
|
||||||
messagesTitle + ". Replace File",
|
messagesTitle + KotlinJvmBundle.message("file.overwrite.title"),
|
||||||
"Overwrite",
|
KotlinJvmBundle.message("file.overwrite.overwrite"),
|
||||||
"Cancel",
|
KotlinJvmBundle.message("file.overwrite.cancel"),
|
||||||
Messages.getWarningIcon());
|
Messages.getWarningIcon());
|
||||||
|
|
||||||
if (replaceIfExist != JOptionPane.YES_OPTION) {
|
if (replaceIfExist != JOptionPane.YES_OPTION) {
|
||||||
@@ -107,8 +110,8 @@ public class FileUIUtils {
|
|||||||
for (Map.Entry<File, File> sourceToTarget : targetFiles.entrySet()) {
|
for (Map.Entry<File, File> sourceToTarget : targetFiles.entrySet()) {
|
||||||
try {
|
try {
|
||||||
String destinationPath = sourceToTarget.getValue().getParentFile().getAbsolutePath();
|
String destinationPath = sourceToTarget.getValue().getParentFile().getAbsolutePath();
|
||||||
if (!ProjectWizardUtil.createDirectoryIfNotExists("Destination folder", destinationPath, false)) {
|
if (!ProjectWizardUtil.createDirectoryIfNotExists(KotlinJvmBundle.message("file.destination.folder"), destinationPath, false)) {
|
||||||
Messages.showErrorDialog(String.format("Error during folder creating '%s'", destinationPath), messagesTitle + ". Error");
|
Messages.showErrorDialog(KotlinJvmBundle.message("file.error.new.folder", destinationPath), messagesTitle);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -116,7 +119,7 @@ public class FileUIUtils {
|
|||||||
LocalFileSystem.getInstance().refreshAndFindFileByIoFile(sourceToTarget.getValue());
|
LocalFileSystem.getInstance().refreshAndFindFileByIoFile(sourceToTarget.getValue());
|
||||||
}
|
}
|
||||||
catch (IOException e) {
|
catch (IOException e) {
|
||||||
Messages.showErrorDialog("Error with copy file " + sourceToTarget.getKey().getName(), messagesTitle + ". Error");
|
Messages.showErrorDialog(KotlinJvmBundle.message("file.error.copy", sourceToTarget.getKey().getName()), messagesTitle);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ import com.intellij.openapi.roots.ProjectRootManager
|
|||||||
import com.intellij.psi.util.PsiTreeUtil
|
import com.intellij.psi.util.PsiTreeUtil
|
||||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||||
import org.jetbrains.kotlin.diagnostics.Errors
|
import org.jetbrains.kotlin.diagnostics.Errors
|
||||||
import org.jetbrains.kotlin.idea.KotlinBundle
|
import org.jetbrains.kotlin.idea.KotlinJvmBundle
|
||||||
import org.jetbrains.kotlin.idea.configuration.findApplicableConfigurator
|
import org.jetbrains.kotlin.idea.configuration.findApplicableConfigurator
|
||||||
import org.jetbrains.kotlin.idea.facet.getCleanRuntimeLibraryVersion
|
import org.jetbrains.kotlin.idea.facet.getCleanRuntimeLibraryVersion
|
||||||
import org.jetbrains.kotlin.idea.quickfix.KotlinQuickFixAction
|
import org.jetbrains.kotlin.idea.quickfix.KotlinQuickFixAction
|
||||||
@@ -33,7 +33,7 @@ class AddReflectionQuickFix(element: KtElement) : AddKotlinLibQuickFix(
|
|||||||
LibraryJarDescriptor.REFLECT_SRC_JAR
|
LibraryJarDescriptor.REFLECT_SRC_JAR
|
||||||
)
|
)
|
||||||
) {
|
) {
|
||||||
override fun getText() = KotlinBundle.message("add.reflection.to.classpath")
|
override fun getText() = KotlinJvmBundle.message("classpath.add.reflection")
|
||||||
override fun getFamilyName() = text
|
override fun getFamilyName() = text
|
||||||
|
|
||||||
override fun getLibraryDescriptor(module: Module) = MavenExternalLibraryDescriptor(
|
override fun getLibraryDescriptor(module: Module) = MavenExternalLibraryDescriptor(
|
||||||
@@ -47,7 +47,7 @@ class AddReflectionQuickFix(element: KtElement) : AddKotlinLibQuickFix(
|
|||||||
}
|
}
|
||||||
|
|
||||||
class AddScriptRuntimeQuickFix(element: KtElement) : AddKotlinLibQuickFix(element, listOf(LibraryJarDescriptor.SCRIPT_RUNTIME_JAR)) {
|
class AddScriptRuntimeQuickFix(element: KtElement) : AddKotlinLibQuickFix(element, listOf(LibraryJarDescriptor.SCRIPT_RUNTIME_JAR)) {
|
||||||
override fun getText() = KotlinBundle.message("add.script.runtime.to.classpath")
|
override fun getText() = KotlinJvmBundle.message("classpath.add.script.runtime")
|
||||||
override fun getFamilyName() = text
|
override fun getFamilyName() = text
|
||||||
|
|
||||||
override fun getLibraryDescriptor(module: Module) = MavenExternalLibraryDescriptor(
|
override fun getLibraryDescriptor(module: Module) = MavenExternalLibraryDescriptor(
|
||||||
@@ -68,7 +68,7 @@ class AddTestLibQuickFix(element: KtElement) : AddKotlinLibQuickFix(
|
|||||||
LibraryJarDescriptor.TEST_SRC_JAR
|
LibraryJarDescriptor.TEST_SRC_JAR
|
||||||
)
|
)
|
||||||
) {
|
) {
|
||||||
override fun getText() = KotlinBundle.message("add.test.to.classpath")
|
override fun getText() = KotlinJvmBundle.message("classpath.add.kotlin.test")
|
||||||
override fun getFamilyName() = text
|
override fun getFamilyName() = text
|
||||||
|
|
||||||
override fun getLibraryDescriptor(module: Module) = MavenExternalLibraryDescriptor(
|
override fun getLibraryDescriptor(module: Module) = MavenExternalLibraryDescriptor(
|
||||||
|
|||||||
+2
-1
@@ -11,6 +11,7 @@ import com.intellij.openapi.project.Project;
|
|||||||
import com.intellij.openapi.ui.DialogWrapper;
|
import com.intellij.openapi.ui.DialogWrapper;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinJvmBundle;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
@@ -27,7 +28,7 @@ public class AddToIncompatibleApiDialog extends DialogWrapper {
|
|||||||
this.project = project;
|
this.project = project;
|
||||||
|
|
||||||
setModal(true);
|
setModal(true);
|
||||||
setTitle("Report as Incompatible API");
|
setTitle(KotlinJvmBundle.message("incompatible.api.report"));
|
||||||
referenceTextField.setText(qualifiedReference);
|
referenceTextField.setText(qualifiedReference);
|
||||||
|
|
||||||
init();
|
init();
|
||||||
|
|||||||
@@ -53,6 +53,7 @@ import org.jetbrains.annotations.NotNull;
|
|||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
import org.jetbrains.kotlin.asJava.classes.KtLightClassForSourceDeclaration;
|
import org.jetbrains.kotlin.asJava.classes.KtLightClassForSourceDeclaration;
|
||||||
import org.jetbrains.kotlin.asJava.elements.KtLightMethod;
|
import org.jetbrains.kotlin.asJava.elements.KtLightMethod;
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinJvmBundle;
|
||||||
import org.jetbrains.kotlin.idea.MainFunctionDetector;
|
import org.jetbrains.kotlin.idea.MainFunctionDetector;
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.ResolutionUtils;
|
import org.jetbrains.kotlin.idea.caches.resolve.ResolutionUtils;
|
||||||
import org.jetbrains.kotlin.idea.core.FileIndexUtilsKt;
|
import org.jetbrains.kotlin.idea.core.FileIndexUtilsKt;
|
||||||
@@ -208,17 +209,20 @@ public class KotlinRunConfiguration extends JetRunConfiguration {
|
|||||||
|
|
||||||
Module module = getConfigurationModule().getModule();
|
Module module = getConfigurationModule().getModule();
|
||||||
if (module == null) {
|
if (module == null) {
|
||||||
throw new RuntimeConfigurationError("Module not specified");
|
throw new RuntimeConfigurationError(KotlinJvmBundle.message("run.configuration.error.no.module"));
|
||||||
}
|
}
|
||||||
if (StringUtil.isEmpty(MAIN_CLASS_NAME)) {
|
if (StringUtil.isEmpty(MAIN_CLASS_NAME)) {
|
||||||
throw new RuntimeConfigurationError("No main class specified");
|
throw new RuntimeConfigurationError(KotlinJvmBundle.message("run.configuration.error.no.main.class"));
|
||||||
}
|
}
|
||||||
PsiClass psiClass = JavaExecutionUtil.findMainClass(module, MAIN_CLASS_NAME);
|
PsiClass psiClass = JavaExecutionUtil.findMainClass(module, MAIN_CLASS_NAME);
|
||||||
if (psiClass == null) {
|
if (psiClass == null) {
|
||||||
throw new RuntimeConfigurationWarning("Class '" + MAIN_CLASS_NAME + "' not found in module " + getConfigurationModule().getModuleName());
|
String moduleName = getConfigurationModule().getModuleName();
|
||||||
|
throw new RuntimeConfigurationWarning(
|
||||||
|
KotlinJvmBundle.message("run.configuration.error.class.not.found", MAIN_CLASS_NAME, moduleName)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
if (findMainFun(psiClass) == null) {
|
if (findMainFun(psiClass) == null) {
|
||||||
throw new RuntimeConfigurationWarning("The class " + MAIN_CLASS_NAME + " has no main method");
|
throw new RuntimeConfigurationWarning(KotlinJvmBundle.message("run.configuration.error.class.no.main.method", MAIN_CLASS_NAME));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -398,9 +402,9 @@ public class KotlinRunConfiguration extends JetRunConfiguration {
|
|||||||
//noinspection ConstantConditions
|
//noinspection ConstantConditions
|
||||||
FqName classFqName = new FqName(psiClass.getQualifiedName());
|
FqName classFqName = new FqName(psiClass.getQualifiedName());
|
||||||
if (psiClass instanceof KtLightClassForSourceDeclaration) {
|
if (psiClass instanceof KtLightClassForSourceDeclaration) {
|
||||||
return String.format("Function 'main' not found in class '%s'", classFqName);
|
return KotlinJvmBundle.message("run.configuration.error.main.not.found", classFqName);
|
||||||
}
|
}
|
||||||
return String.format("Top-level function 'main' not found in package '%s'", classFqName.parent());
|
return KotlinJvmBundle.message("run.configuration.error.main.not.found.top.level", classFqName.parent());
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void setupModulePath(JavaParameters params, JavaRunConfigurationModule module) {
|
private static void setupModulePath(JavaParameters params, JavaRunConfigurationModule module) {
|
||||||
|
|||||||
+5
-1
@@ -21,6 +21,7 @@ import com.intellij.openapi.vfs.VirtualFile;
|
|||||||
import com.intellij.ui.PanelWithAnchor;
|
import com.intellij.ui.PanelWithAnchor;
|
||||||
import com.intellij.util.ui.UIUtil;
|
import com.intellij.util.ui.UIUtil;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinJvmBundle;
|
||||||
import org.jetbrains.kotlin.parsing.KotlinParserDefinition;
|
import org.jetbrains.kotlin.parsing.KotlinParserDefinition;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
@@ -49,7 +50,10 @@ public class KotlinStandaloneScriptRunConfigurationEditor extends SettingsEditor
|
|||||||
})
|
})
|
||||||
.withTreeRootVisible(true);
|
.withTreeRootVisible(true);
|
||||||
|
|
||||||
chooseScriptFileTextField.addBrowseFolderListener("Choose script file", null, project, descriptor, TextComponentAccessor.TEXT_FIELD_WHOLE_TEXT);
|
chooseScriptFileTextField.addBrowseFolderListener(
|
||||||
|
KotlinJvmBundle.message("script.choose.file"),
|
||||||
|
null, project, descriptor, TextComponentAccessor.TEXT_FIELD_WHOLE_TEXT
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -20,11 +20,11 @@ import com.intellij.icons.AllIcons
|
|||||||
import com.intellij.openapi.actionSystem.AnActionEvent
|
import com.intellij.openapi.actionSystem.AnActionEvent
|
||||||
import com.intellij.openapi.fileEditor.FileEditorManager
|
import com.intellij.openapi.fileEditor.FileEditorManager
|
||||||
import com.intellij.openapi.fileEditor.impl.text.TextEditorProvider
|
import com.intellij.openapi.fileEditor.impl.text.TextEditorProvider
|
||||||
import org.jetbrains.kotlin.idea.KotlinBundle
|
import org.jetbrains.kotlin.idea.KotlinJvmBundle
|
||||||
import org.jetbrains.kotlin.idea.scratch.ui.findScratchFileEditorWithPreview
|
import org.jetbrains.kotlin.idea.scratch.ui.findScratchFileEditorWithPreview
|
||||||
|
|
||||||
class ClearScratchAction : ScratchAction(
|
class ClearScratchAction : ScratchAction(
|
||||||
KotlinBundle.message("scratch.clear.button"),
|
KotlinJvmBundle.message("scratch.clear.button"),
|
||||||
AllIcons.Actions.GC
|
AllIcons.Actions.GC
|
||||||
) {
|
) {
|
||||||
override fun actionPerformed(e: AnActionEvent) {
|
override fun actionPerformed(e: AnActionEvent) {
|
||||||
|
|||||||
@@ -25,13 +25,13 @@ import com.intellij.task.ProjectTaskContext
|
|||||||
import com.intellij.task.ProjectTaskManager
|
import com.intellij.task.ProjectTaskManager
|
||||||
import com.intellij.task.ProjectTaskNotification
|
import com.intellij.task.ProjectTaskNotification
|
||||||
import com.intellij.task.ProjectTaskResult
|
import com.intellij.task.ProjectTaskResult
|
||||||
import org.jetbrains.kotlin.idea.KotlinBundle
|
import org.jetbrains.kotlin.idea.KotlinJvmBundle
|
||||||
import org.jetbrains.kotlin.idea.scratch.*
|
import org.jetbrains.kotlin.idea.scratch.*
|
||||||
import org.jetbrains.kotlin.idea.scratch.printDebugMessage
|
import org.jetbrains.kotlin.idea.scratch.printDebugMessage
|
||||||
import org.jetbrains.kotlin.idea.scratch.LOG as log
|
import org.jetbrains.kotlin.idea.scratch.LOG as log
|
||||||
|
|
||||||
class RunScratchAction : ScratchAction(
|
class RunScratchAction : ScratchAction(
|
||||||
KotlinBundle.message("scratch.run.button"),
|
KotlinJvmBundle.message("scratch.run.button"),
|
||||||
AllIcons.Actions.Execute
|
AllIcons.Actions.Execute
|
||||||
) {
|
) {
|
||||||
|
|
||||||
|
|||||||
@@ -22,13 +22,13 @@ import com.intellij.openapi.keymap.KeymapManager
|
|||||||
import com.intellij.openapi.keymap.KeymapUtil
|
import com.intellij.openapi.keymap.KeymapUtil
|
||||||
import com.intellij.openapi.project.DumbService
|
import com.intellij.openapi.project.DumbService
|
||||||
import com.intellij.task.ProjectTaskManager
|
import com.intellij.task.ProjectTaskManager
|
||||||
import org.jetbrains.kotlin.idea.KotlinBundle
|
import org.jetbrains.kotlin.idea.KotlinJvmBundle
|
||||||
import org.jetbrains.kotlin.idea.scratch.*
|
import org.jetbrains.kotlin.idea.scratch.*
|
||||||
import org.jetbrains.kotlin.idea.scratch.printDebugMessage
|
import org.jetbrains.kotlin.idea.scratch.printDebugMessage
|
||||||
import org.jetbrains.kotlin.idea.scratch.LOG as log
|
import org.jetbrains.kotlin.idea.scratch.LOG as log
|
||||||
|
|
||||||
class RunScratchAction : ScratchAction(
|
class RunScratchAction : ScratchAction(
|
||||||
KotlinBundle.message("scratch.run.button"),
|
KotlinJvmBundle.message("scratch.run.button"),
|
||||||
AllIcons.Actions.Execute
|
AllIcons.Actions.Execute
|
||||||
) {
|
) {
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -7,12 +7,12 @@ package org.jetbrains.kotlin.idea.scratch.actions
|
|||||||
|
|
||||||
import com.intellij.icons.AllIcons
|
import com.intellij.icons.AllIcons
|
||||||
import com.intellij.openapi.actionSystem.AnActionEvent
|
import com.intellij.openapi.actionSystem.AnActionEvent
|
||||||
import org.jetbrains.kotlin.idea.KotlinBundle
|
import org.jetbrains.kotlin.idea.KotlinJvmBundle
|
||||||
import org.jetbrains.kotlin.idea.scratch.ScratchFile
|
import org.jetbrains.kotlin.idea.scratch.ScratchFile
|
||||||
import org.jetbrains.kotlin.idea.scratch.getScratchFileFromSelectedEditor
|
import org.jetbrains.kotlin.idea.scratch.getScratchFileFromSelectedEditor
|
||||||
|
|
||||||
class RunScratchFromHereAction : ScratchAction(
|
class RunScratchFromHereAction : ScratchAction(
|
||||||
KotlinBundle.message("scratch.run.from.here.button"),
|
KotlinJvmBundle.message("scratch.run.from.here.button"),
|
||||||
AllIcons.Diff.ArrowRight
|
AllIcons.Diff.ArrowRight
|
||||||
) {
|
) {
|
||||||
|
|
||||||
|
|||||||
@@ -7,11 +7,11 @@ package org.jetbrains.kotlin.idea.scratch.actions
|
|||||||
|
|
||||||
import com.intellij.icons.AllIcons
|
import com.intellij.icons.AllIcons
|
||||||
import com.intellij.openapi.actionSystem.AnActionEvent
|
import com.intellij.openapi.actionSystem.AnActionEvent
|
||||||
import org.jetbrains.kotlin.idea.KotlinBundle
|
import org.jetbrains.kotlin.idea.KotlinJvmBundle
|
||||||
import org.jetbrains.kotlin.idea.scratch.getScratchFileFromSelectedEditor
|
import org.jetbrains.kotlin.idea.scratch.getScratchFileFromSelectedEditor
|
||||||
|
|
||||||
class StopScratchAction : ScratchAction(
|
class StopScratchAction : ScratchAction(
|
||||||
KotlinBundle.message("scratch.stop.button"),
|
KotlinJvmBundle.message("scratch.stop.button"),
|
||||||
AllIcons.Actions.Suspend
|
AllIcons.Actions.Suspend
|
||||||
) {
|
) {
|
||||||
|
|
||||||
|
|||||||
+5
-5
@@ -29,7 +29,7 @@ import com.intellij.openapi.vfs.VirtualFile
|
|||||||
import com.intellij.pom.Navigatable
|
import com.intellij.pom.Navigatable
|
||||||
import com.intellij.psi.PsiManager
|
import com.intellij.psi.PsiManager
|
||||||
import org.jetbrains.annotations.TestOnly
|
import org.jetbrains.annotations.TestOnly
|
||||||
import org.jetbrains.kotlin.idea.KotlinBundle
|
import org.jetbrains.kotlin.idea.KotlinJvmBundle
|
||||||
import org.jetbrains.kotlin.idea.core.util.getLineNumber
|
import org.jetbrains.kotlin.idea.core.util.getLineNumber
|
||||||
import org.jetbrains.kotlin.idea.scratch.*
|
import org.jetbrains.kotlin.idea.scratch.*
|
||||||
import org.jetbrains.kotlin.idea.scratch.output.*
|
import org.jetbrains.kotlin.idea.scratch.output.*
|
||||||
@@ -171,13 +171,13 @@ class KtScratchFileEditorWithPreview private constructor(
|
|||||||
* That's why we set long and descriptive [Presentation.getText], but short [Presentation.getDescription].
|
* That's why we set long and descriptive [Presentation.getText], but short [Presentation.getDescription].
|
||||||
*/
|
*/
|
||||||
override fun getShowEditorAction(): ToggleAction = super.getShowEditorAction().apply {
|
override fun getShowEditorAction(): ToggleAction = super.getShowEditorAction().apply {
|
||||||
templatePresentation.text = KotlinBundle.message("scratch.inlay.output.mode")
|
templatePresentation.text = KotlinJvmBundle.message("scratch.inlay.output.mode")
|
||||||
templatePresentation.description = KotlinBundle.message("scratch.inlay.output.mode.description")
|
templatePresentation.description = KotlinJvmBundle.message("scratch.inlay.output.mode.description")
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun getShowEditorAndPreviewAction(): ToggleAction = super.getShowEditorAndPreviewAction().apply {
|
override fun getShowEditorAndPreviewAction(): ToggleAction = super.getShowEditorAndPreviewAction().apply {
|
||||||
templatePresentation.text = KotlinBundle.message("scratch.side.panel.output.mode")
|
templatePresentation.text = KotlinJvmBundle.message("scratch.side.panel.output.mode")
|
||||||
templatePresentation.description = KotlinBundle.message("scratch.side.panel.output.mode.description")
|
templatePresentation.description = KotlinJvmBundle.message("scratch.side.panel.output.mode.description")
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun setLayout(newLayout: Layout) {
|
override fun setLayout(newLayout: Layout) {
|
||||||
|
|||||||
@@ -16,14 +16,16 @@ import com.intellij.openapi.project.DumbAwareAction
|
|||||||
import com.intellij.openapi.vcs.changes.committed.LabeledComboBoxAction
|
import com.intellij.openapi.vcs.changes.committed.LabeledComboBoxAction
|
||||||
import com.intellij.util.ui.UIUtil
|
import com.intellij.util.ui.UIUtil
|
||||||
import org.jetbrains.annotations.TestOnly
|
import org.jetbrains.annotations.TestOnly
|
||||||
import org.jetbrains.kotlin.idea.KotlinBundle
|
import org.jetbrains.kotlin.idea.KotlinJvmBundle
|
||||||
import org.jetbrains.kotlin.idea.caches.project.productionSourceInfo
|
import org.jetbrains.kotlin.idea.caches.project.productionSourceInfo
|
||||||
import org.jetbrains.kotlin.idea.caches.project.testSourceInfo
|
import org.jetbrains.kotlin.idea.caches.project.testSourceInfo
|
||||||
import org.jetbrains.kotlin.idea.scratch.ScratchFile
|
import org.jetbrains.kotlin.idea.scratch.ScratchFile
|
||||||
import org.jetbrains.kotlin.idea.scratch.isKotlinWorksheet
|
import org.jetbrains.kotlin.idea.scratch.isKotlinWorksheet
|
||||||
import javax.swing.JComponent
|
import javax.swing.JComponent
|
||||||
|
|
||||||
class ModulesComboBoxAction(private val scratchFile: ScratchFile) : LabeledComboBoxAction(KotlinBundle.message("scratch.module.combobox")) {
|
class ModulesComboBoxAction(private val scratchFile: ScratchFile) :
|
||||||
|
LabeledComboBoxAction(KotlinJvmBundle.message("scratch.module.combobox"))
|
||||||
|
{
|
||||||
override fun createPopupActionGroup(button: JComponent): DefaultActionGroup {
|
override fun createPopupActionGroup(button: JComponent): DefaultActionGroup {
|
||||||
val actionGroup = DefaultActionGroup()
|
val actionGroup = DefaultActionGroup()
|
||||||
actionGroup.add(ModuleIsNotSelectedAction(ConfigurationModuleSelector.NO_MODULE_TEXT))
|
actionGroup.add(ModuleIsNotSelectedAction(ConfigurationModuleSelector.NO_MODULE_TEXT))
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ package org.jetbrains.kotlin.idea.scratch.ui
|
|||||||
|
|
||||||
import com.intellij.openapi.actionSystem.*
|
import com.intellij.openapi.actionSystem.*
|
||||||
import com.intellij.openapi.application.ApplicationManager
|
import com.intellij.openapi.application.ApplicationManager
|
||||||
import org.jetbrains.kotlin.idea.KotlinBundle
|
import org.jetbrains.kotlin.idea.KotlinJvmBundle
|
||||||
import org.jetbrains.kotlin.idea.scratch.ScratchFile
|
import org.jetbrains.kotlin.idea.scratch.ScratchFile
|
||||||
import org.jetbrains.kotlin.idea.scratch.ScratchFileAutoRunner
|
import org.jetbrains.kotlin.idea.scratch.ScratchFileAutoRunner
|
||||||
import org.jetbrains.kotlin.idea.scratch.actions.ClearScratchAction
|
import org.jetbrains.kotlin.idea.scratch.actions.ClearScratchAction
|
||||||
@@ -77,12 +77,12 @@ class ScratchTopPanel(val scratchFile: ScratchFile) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private inner class IsMakeBeforeRunAction : SmallBorderCheckboxAction(KotlinBundle.message("scratch.make.before.run.checkbox")) {
|
private inner class IsMakeBeforeRunAction : SmallBorderCheckboxAction(KotlinJvmBundle.message("scratch.make.before.run.checkbox")) {
|
||||||
override fun update(e: AnActionEvent) {
|
override fun update(e: AnActionEvent) {
|
||||||
super.update(e)
|
super.update(e)
|
||||||
e.presentation.isVisible = scratchFile.module != null
|
e.presentation.isVisible = scratchFile.module != null
|
||||||
e.presentation.description = scratchFile.module?.let { selectedModule ->
|
e.presentation.description = scratchFile.module?.let { selectedModule ->
|
||||||
KotlinBundle.message("scratch.make.before.run.checkbox.description", selectedModule.name)
|
KotlinJvmBundle.message("scratch.make.before.run.checkbox.description", selectedModule.name)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -96,8 +96,8 @@ class ScratchTopPanel(val scratchFile: ScratchFile) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private inner class IsInteractiveCheckboxAction : SmallBorderCheckboxAction(
|
private inner class IsInteractiveCheckboxAction : SmallBorderCheckboxAction(
|
||||||
text = KotlinBundle.message("scratch.is.interactive.checkbox"),
|
text = KotlinJvmBundle.message("scratch.is.interactive.checkbox"),
|
||||||
description = KotlinBundle.message("scratch.is.interactive.checkbox.description", ScratchFileAutoRunner.AUTO_RUN_DELAY_IN_SECONDS)
|
description = KotlinJvmBundle.message("scratch.is.interactive.checkbox.description", ScratchFileAutoRunner.AUTO_RUN_DELAY_IN_SECONDS)
|
||||||
) {
|
) {
|
||||||
override fun isSelected(e: AnActionEvent): Boolean {
|
override fun isSelected(e: AnActionEvent): Boolean {
|
||||||
return scratchFile.options.isInteractiveMode
|
return scratchFile.options.isInteractiveMode
|
||||||
@@ -109,8 +109,8 @@ class ScratchTopPanel(val scratchFile: ScratchFile) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private inner class IsReplCheckboxAction : SmallBorderCheckboxAction(
|
private inner class IsReplCheckboxAction : SmallBorderCheckboxAction(
|
||||||
text = KotlinBundle.message("scratch.is.repl.checkbox"),
|
text = KotlinJvmBundle.message("scratch.is.repl.checkbox"),
|
||||||
description = KotlinBundle.message("scratch.is.repl.checkbox.description")
|
description = KotlinJvmBundle.message("scratch.is.repl.checkbox.description")
|
||||||
) {
|
) {
|
||||||
override fun isSelected(e: AnActionEvent): Boolean {
|
override fun isSelected(e: AnActionEvent): Boolean {
|
||||||
return scratchFile.options.isRepl
|
return scratchFile.options.isRepl
|
||||||
|
|||||||
@@ -25,6 +25,7 @@ import com.intellij.util.ui.UIUtil;
|
|||||||
import org.jetbrains.annotations.ApiStatus;
|
import org.jetbrains.annotations.ApiStatus;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinJvmBundle;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
@@ -388,9 +389,9 @@ public class TextEditorWithPreview extends UserDataHolderBase implements FileEdi
|
|||||||
}
|
}
|
||||||
|
|
||||||
public enum Layout {
|
public enum Layout {
|
||||||
SHOW_EDITOR("Editor only", AllIcons.General.LayoutEditorOnly),
|
SHOW_EDITOR(KotlinJvmBundle.message("editor.editor.only"), AllIcons.General.LayoutEditorOnly),
|
||||||
SHOW_PREVIEW("Preview only", AllIcons.General.LayoutPreviewOnly),
|
SHOW_PREVIEW(KotlinJvmBundle.message("editor.preview.only"), AllIcons.General.LayoutPreviewOnly),
|
||||||
SHOW_EDITOR_AND_PREVIEW("Editor and Preview", AllIcons.General.LayoutEditorPreview);
|
SHOW_EDITOR_AND_PREVIEW(KotlinJvmBundle.message("editor.editor.and.preview"), AllIcons.General.LayoutEditorPreview);
|
||||||
|
|
||||||
private final String myName;
|
private final String myName;
|
||||||
private final Icon myIcon;
|
private final Icon myIcon;
|
||||||
|
|||||||
+4
-3
@@ -24,6 +24,7 @@ import com.intellij.util.ui.JBUI;
|
|||||||
import com.intellij.util.ui.UIUtil;
|
import com.intellij.util.ui.UIUtil;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinJvmBundle;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
@@ -387,9 +388,9 @@ public class TextEditorWithPreview extends UserDataHolderBase implements FileEdi
|
|||||||
}
|
}
|
||||||
|
|
||||||
public enum Layout {
|
public enum Layout {
|
||||||
SHOW_EDITOR("Editor only", AllIcons.General.LayoutEditorOnly),
|
SHOW_EDITOR(KotlinJvmBundle.message("editor.editor.only"), AllIcons.General.LayoutEditorOnly),
|
||||||
SHOW_PREVIEW("Preview only", AllIcons.General.LayoutPreviewOnly),
|
SHOW_PREVIEW(KotlinJvmBundle.message("editor.preview.only"), AllIcons.General.LayoutPreviewOnly),
|
||||||
SHOW_EDITOR_AND_PREVIEW("Editor and Preview", AllIcons.General.LayoutEditorPreview);
|
SHOW_EDITOR_AND_PREVIEW(KotlinJvmBundle.message("editor.editor.and.preview"), AllIcons.General.LayoutEditorPreview);
|
||||||
|
|
||||||
private final String myName;
|
private final String myName;
|
||||||
private final Icon myIcon;
|
private final Icon myIcon;
|
||||||
|
|||||||
Reference in New Issue
Block a user