diff options
Diffstat (limited to 'qt/org.eclipse.cdt.qt.ui/src/org/eclipse/cdt/internal/qt/ui/preferences')
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); } } |