Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'qt/org.eclipse.cdt.qt.ui/src/org/eclipse/cdt/internal/qt/ui/preferences')
-rw-r--r--qt/org.eclipse.cdt.qt.ui/src/org/eclipse/cdt/internal/qt/ui/preferences/NewQtInstallWizard.java3
-rw-r--r--qt/org.eclipse.cdt.qt.ui/src/org/eclipse/cdt/internal/qt/ui/preferences/NewQtInstallWizardPage.java23
-rw-r--r--qt/org.eclipse.cdt.qt.ui/src/org/eclipse/cdt/internal/qt/ui/preferences/QtPreferencePage.java27
3 files changed, 21 insertions, 32 deletions
diff --git a/qt/org.eclipse.cdt.qt.ui/src/org/eclipse/cdt/internal/qt/ui/preferences/NewQtInstallWizard.java b/qt/org.eclipse.cdt.qt.ui/src/org/eclipse/cdt/internal/qt/ui/preferences/NewQtInstallWizard.java
index 98345cab2b4..9d736437c03 100644
--- a/qt/org.eclipse.cdt.qt.ui/src/org/eclipse/cdt/internal/qt/ui/preferences/NewQtInstallWizard.java
+++ b/qt/org.eclipse.cdt.qt.ui/src/org/eclipse/cdt/internal/qt/ui/preferences/NewQtInstallWizard.java
@@ -7,6 +7,7 @@
*******************************************************************************/
package org.eclipse.cdt.internal.qt.ui.preferences;
+import java.nio.file.Path;
import java.util.Map;
import org.eclipse.cdt.qt.core.IQtInstall;
@@ -17,7 +18,7 @@ public class NewQtInstallWizard extends Wizard {
private final NewQtInstallWizardPage page;
private IQtInstall install;
- public NewQtInstallWizard(Map<String, IQtInstall> existing) {
+ public NewQtInstallWizard(Map<Path, IQtInstall> existing) {
page = new NewQtInstallWizardPage(existing);
}
diff --git a/qt/org.eclipse.cdt.qt.ui/src/org/eclipse/cdt/internal/qt/ui/preferences/NewQtInstallWizardPage.java b/qt/org.eclipse.cdt.qt.ui/src/org/eclipse/cdt/internal/qt/ui/preferences/NewQtInstallWizardPage.java
index c1b870d97d7..a870cafddeb 100644
--- a/qt/org.eclipse.cdt.qt.ui/src/org/eclipse/cdt/internal/qt/ui/preferences/NewQtInstallWizardPage.java
+++ b/qt/org.eclipse.cdt.qt.ui/src/org/eclipse/cdt/internal/qt/ui/preferences/NewQtInstallWizardPage.java
@@ -8,6 +8,7 @@
package org.eclipse.cdt.internal.qt.ui.preferences;
import java.io.IOException;
+import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.Map;
@@ -31,13 +32,12 @@ import org.eclipse.swt.widgets.Text;
public class NewQtInstallWizardPage extends WizardPage {
- private Text nameText;
private Text locationText;
private Text specText;
- private final Map<String, IQtInstall> existing;
+ private final Map<Path, IQtInstall> existing;
- public NewQtInstallWizardPage(Map<String, IQtInstall> existing) {
+ public NewQtInstallWizardPage(Map<Path, IQtInstall> existing) {
super(Messages.NewQtInstallWizardPage_0, Messages.NewQtInstallWizardPage_1, null);
this.existing = existing;
}
@@ -52,10 +52,6 @@ public class NewQtInstallWizardPage extends WizardPage {
nameLabel.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false));
nameLabel.setText(Messages.NewQtInstallWizardPage_2);
- nameText = new Text(comp, SWT.BORDER);
- nameText.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
- nameText.addModifyListener(e -> validate());
-
Label locationLabel = new Label(comp, SWT.NONE);
locationLabel.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false));
locationLabel.setText(Messages.NewQtInstallWizardPage_3);
@@ -88,9 +84,6 @@ public class NewQtInstallWizardPage extends WizardPage {
String spec = QtInstall.getSpec(selected);
getControl().getDisplay().asyncExec(() -> {
specText.setText(spec);
- if (nameText.getText().isEmpty() && !existing.containsKey(spec)) {
- nameText.setText(spec);
- }
});
return Status.OK_STATUS;
} catch (IOException e) {
@@ -114,13 +107,7 @@ public class NewQtInstallWizardPage extends WizardPage {
private void validate() {
setPageComplete(false);
- String name = nameText.getText().trim();
- if (name.isEmpty()) {
- setErrorMessage(Messages.NewQtInstallWizardPage_10);
- return;
- }
-
- if (existing.containsKey(name)) {
+ if (existing.containsKey(Paths.get(locationText.getText()))) {
setErrorMessage(Messages.NewQtInstallWizardPage_11);
return;
}
@@ -130,7 +117,7 @@ public class NewQtInstallWizardPage extends WizardPage {
}
IQtInstall getInstall() {
- return new QtInstall(nameText.getText(), Paths.get(locationText.getText()));
+ return new QtInstall(Paths.get(locationText.getText()));
}
}
diff --git a/qt/org.eclipse.cdt.qt.ui/src/org/eclipse/cdt/internal/qt/ui/preferences/QtPreferencePage.java b/qt/org.eclipse.cdt.qt.ui/src/org/eclipse/cdt/internal/qt/ui/preferences/QtPreferencePage.java
index 2dc37db00f9..d0260e57cea 100644
--- a/qt/org.eclipse.cdt.qt.ui/src/org/eclipse/cdt/internal/qt/ui/preferences/QtPreferencePage.java
+++ b/qt/org.eclipse.cdt.qt.ui/src/org/eclipse/cdt/internal/qt/ui/preferences/QtPreferencePage.java
@@ -10,14 +10,15 @@
*******************************************************************************/
package org.eclipse.cdt.internal.qt.ui.preferences;
+import java.nio.file.Path;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import org.eclipse.cdt.internal.qt.ui.Messages;
import org.eclipse.cdt.internal.qt.ui.Activator;
+import org.eclipse.cdt.internal.qt.ui.Messages;
import org.eclipse.cdt.qt.core.IQtInstall;
import org.eclipse.cdt.qt.core.IQtInstallManager;
import org.eclipse.jface.dialogs.MessageDialog;
@@ -47,8 +48,8 @@ public class QtPreferencePage extends PreferencePage implements IWorkbenchPrefer
private Table installTable;
private Button removeButton;
- private Map<String, IQtInstall> installsToAdd = new HashMap<>();
- private Map<String, IQtInstall> installsToRemove = new HashMap<>();
+ private Map<Path, IQtInstall> installsToAdd = new HashMap<>();
+ private Map<Path, IQtInstall> installsToRemove = new HashMap<>();
@Override
public void init(IWorkbench workbench) {
@@ -102,7 +103,7 @@ public class QtPreferencePage extends PreferencePage implements IWorkbenchPrefer
WizardDialog dialog = new WizardDialog(getShell(), wizard);
if (dialog.open() == Window.OK) {
IQtInstall install = wizard.getInstall();
- installsToAdd.put(install.getName(), install);
+ installsToAdd.put(install.getQmakePath(), install);
updateTable();
}
}
@@ -116,7 +117,7 @@ public class QtPreferencePage extends PreferencePage implements IWorkbenchPrefer
if (MessageDialog.openConfirm(getShell(), Messages.QtPreferencePage_5, Messages.QtPreferencePage_6)) {
for (TableItem item : installTable.getSelection()) {
IQtInstall install = (IQtInstall) item.getData();
- installsToRemove.put(install.getName(), install);
+ installsToRemove.put(install.getQmakePath(), install);
updateTable();
}
}
@@ -127,18 +128,18 @@ public class QtPreferencePage extends PreferencePage implements IWorkbenchPrefer
return control;
}
- private Map<String, IQtInstall> getInstalls() {
- Map<String, IQtInstall> installs = new HashMap<>();
+ private Map<Path, IQtInstall> getInstalls() {
+ Map<Path, IQtInstall> installs = new HashMap<>();
for (IQtInstall install : manager.getInstalls()) {
- installs.put(install.getName(), install);
+ installs.put(install.getQmakePath(), install);
}
for (IQtInstall install : installsToAdd.values()) {
- installs.put(install.getName(), install);
+ installs.put(install.getQmakePath(), install);
}
for (IQtInstall install : installsToRemove.values()) {
- installs.remove(install.getName());
+ installs.remove(install.getQmakePath());
}
return installs;
@@ -146,13 +147,13 @@ public class QtPreferencePage extends PreferencePage implements IWorkbenchPrefer
private void updateTable() {
List<IQtInstall> sorted = new ArrayList<>(getInstalls().values());
- Collections.sort(sorted, (o1, o2) -> o1.getName().compareToIgnoreCase(o2.getName()));
+ Collections.sort(sorted, (o1, o2) -> o1.getQmakePath().toString().compareToIgnoreCase(o2.getQmakePath().toString()));
installTable.removeAll();
for (IQtInstall install : sorted) {
TableItem item = new TableItem(installTable, SWT.NONE);
- item.setText(0, install.getName());
- item.setText(1, install.getQmakePath().toString());
+ item.setText(0, install.getQmakePath().toString());
+ item.setText(1, install.getSpec());
item.setData(install);
}
}

Back to the top