aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/main/java/org/qtproject/qt/androidstudiotools/ImportProjectAction.java2
-rw-r--r--src/main/java/org/qtproject/qt/androidstudiotools/ImportProjectDialogWrapper.java18
-rw-r--r--src/main/java/org/qtproject/qt/androidstudiotools/NewProjectAction.java15
-rw-r--r--src/main/java/org/qtproject/qt/androidstudiotools/NewProjectDialogWrapper.java9
4 files changed, 36 insertions, 8 deletions
diff --git a/src/main/java/org/qtproject/qt/androidstudiotools/ImportProjectAction.java b/src/main/java/org/qtproject/qt/androidstudiotools/ImportProjectAction.java
index bc82e6a..925e371 100644
--- a/src/main/java/org/qtproject/qt/androidstudiotools/ImportProjectAction.java
+++ b/src/main/java/org/qtproject/qt/androidstudiotools/ImportProjectAction.java
@@ -31,7 +31,7 @@ class ImportProjectAction extends AnAction {
return;
}
- ImportProjectDialogWrapper wrapper = new ImportProjectDialogWrapper();
+ ImportProjectDialogWrapper wrapper = new ImportProjectDialogWrapper(e.getProject());
wrapper.show();
}
}
diff --git a/src/main/java/org/qtproject/qt/androidstudiotools/ImportProjectDialogWrapper.java b/src/main/java/org/qtproject/qt/androidstudiotools/ImportProjectDialogWrapper.java
index 330ee03..fd6f5ac 100644
--- a/src/main/java/org/qtproject/qt/androidstudiotools/ImportProjectDialogWrapper.java
+++ b/src/main/java/org/qtproject/qt/androidstudiotools/ImportProjectDialogWrapper.java
@@ -6,11 +6,13 @@ package org.qtproject.qt.androidstudiotools;
import java.awt.Color;
import java.awt.Dimension;
import java.io.File;
+import java.util.Map;
import javax.swing.JComponent;
import javax.swing.JLabel;
import javax.swing.event.DocumentEvent;
import com.intellij.openapi.fileChooser.FileChooserDescriptor;
+import com.intellij.openapi.project.Project;
import com.intellij.openapi.ui.ComponentValidator;
import com.intellij.openapi.ui.DialogWrapper;
import com.intellij.openapi.ui.TextBrowseFolderListener;
@@ -23,13 +25,16 @@ import org.jetbrains.annotations.Nullable;
class ImportProjectDialogWrapper extends DialogWrapper {
private JLabel m_errorLabel;
+ private Project m_project;
private final TextFieldWithBrowseButton m_qtPathLocationBtn = new TextFieldWithBrowseButton();
private final TextFieldWithBrowseButton m_newQtProjectLocationBtn = new TextFieldWithBrowseButton();
- protected ImportProjectDialogWrapper() {
+ protected ImportProjectDialogWrapper(Project project) {
super(true);
+ this.m_project = project;
+
setTitle("Import Qt Project");
init();
@@ -40,6 +45,9 @@ class ImportProjectDialogWrapper extends DialogWrapper {
m_qtPathLocationBtn.addBrowseFolderListener(new TextBrowseFolderListener(allowFoldersFCD));
m_newQtProjectLocationBtn.addBrowseFolderListener(new TextBrowseFolderListener(allowFoldersFCD));
+ QtSettingStateProject settings = QtSettingStateProject.getInstance(m_project);
+ m_qtPathLocationBtn.setText(settings.getQtPath());
+
ComponentValidator qtPathValidator = new ComponentValidator(getDisposable()).withValidator(
() -> validateQtPath()).installOn(m_qtPathLocationBtn);
@@ -105,8 +113,12 @@ class ImportProjectDialogWrapper extends DialogWrapper {
// Close the current dialog before starting the new one
dispose();
- CodeSnippetDialogWrapper dialog = new CodeSnippetDialogWrapper(newProjectLocation, qtPathLocation);
- dialog.show();
+ GradlePropertiesManager propertiesManager =
+ new GradlePropertiesManager(m_project.getBasePath());
+ propertiesManager.writeMultipleProperties(Map.of(
+ GradleFileParser.QT_PATH_PROPERTY, qtPathLocation,
+ GradleFileParser.QT_PROJECT_PATH_PROPERTY, newProjectLocation
+ ));
super.doOKAction();
}
diff --git a/src/main/java/org/qtproject/qt/androidstudiotools/NewProjectAction.java b/src/main/java/org/qtproject/qt/androidstudiotools/NewProjectAction.java
index db3162c..ecc6b55 100644
--- a/src/main/java/org/qtproject/qt/androidstudiotools/NewProjectAction.java
+++ b/src/main/java/org/qtproject/qt/androidstudiotools/NewProjectAction.java
@@ -17,6 +17,7 @@ import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.nio.file.Paths;
+import java.util.Map;
class NewProjectAction extends AnAction {
@@ -47,9 +48,17 @@ class NewProjectAction extends AnAction {
ProgressManager.getInstance().run(new Task.Backgroundable(e.getProject(), "Creating new Project") {
@Override
public void onSuccess() {
- CodeSnippetDialogWrapper dialog = new CodeSnippetDialogWrapper(wrapper.getNewProjectLocation(),
- wrapper.getQtPath());
- dialog.show();
+ GradlePropertiesManager propertiesManager =
+ new GradlePropertiesManager(e.getProject().getBasePath());
+ propertiesManager.writeMultipleProperties(Map.of(
+ GradleFileParser.QT_PATH_PROPERTY, wrapper.getQtPath(),
+ GradleFileParser.QT_PROJECT_PATH_PROPERTY, wrapper.getNewProjectLocation()
+ ));
+
+ QtSettingStateProject settings =
+ QtSettingStateProject.getInstance(e.getProject());
+ settings.setQtMinimumVersion(wrapper.getMinimumQtVersion());
+
super.onSuccess();
}
diff --git a/src/main/java/org/qtproject/qt/androidstudiotools/NewProjectDialogWrapper.java b/src/main/java/org/qtproject/qt/androidstudiotools/NewProjectDialogWrapper.java
index c47a725..d2caa1c 100644
--- a/src/main/java/org/qtproject/qt/androidstudiotools/NewProjectDialogWrapper.java
+++ b/src/main/java/org/qtproject/qt/androidstudiotools/NewProjectDialogWrapper.java
@@ -21,6 +21,7 @@ import com.intellij.openapi.ui.ValidationInfo;
import com.intellij.ui.DocumentAdapter;
import com.intellij.ui.components.JBTextField;
import com.intellij.util.ui.FormBuilder;
+import org.apache.commons.lang.ArrayUtils;
import org.jetbrains.annotations.Nullable;
// TODO: QTBUG-122062 Separate the new project dialog
@@ -36,7 +37,7 @@ class NewProjectDialogWrapper extends DialogWrapper {
private final ComboBox<String> m_minimumQtVersionComboBox = new ComboBox<>();
private final static String[] m_minQtVersions = new String[]{"6.8"};
- protected NewProjectDialogWrapper(@Nullable Project project) {
+ protected NewProjectDialogWrapper(Project project) {
super(project, true);
m_project = project;
@@ -55,6 +56,12 @@ class NewProjectDialogWrapper extends DialogWrapper {
m_qtPathLocationBtn.addBrowseFolderListener(new TextBrowseFolderListener(allowFoldersFCD));
m_newQtProjectLocationBtn.addBrowseFolderListener(new TextBrowseFolderListener(allowFoldersFCD));
+ QtSettingStateProject settings = QtSettingStateProject.getInstance(m_project);
+ m_qtPathLocationBtn.setText(settings.getQtPath());
+ m_minimumQtVersionComboBox.setSelectedIndex(
+ ArrayUtils.indexOf(m_minQtVersions, settings.getMinimumQtVersion())
+ );
+
ComponentValidator projectNameValidator = new ComponentValidator(
getDisposable()).withValidator(() -> validateProjectName())
.installOn(m_newQtProjectNameField);