X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.utils.ui%2Fsrc%2Forg%2Fsimantics%2Futils%2Fui%2Fwidgets%2FFileOrDirectorySelectionWidget.java;fp=bundles%2Forg.simantics.utils.ui%2Fsrc%2Forg%2Fsimantics%2Futils%2Fui%2Fwidgets%2FFileOrDirectorySelectionWidget.java;h=19390e5667f82c6d3c4abab2f4eae943874efee9;hp=d685b7af05d5be6605d66ca7be7c74b1f4197857;hb=f015145947a0aaf44bd11f8dab45aef96feed149;hpb=95144e3b879f0a10715927027bb9a7aa8e05bdeb diff --git a/bundles/org.simantics.utils.ui/src/org/simantics/utils/ui/widgets/FileOrDirectorySelectionWidget.java b/bundles/org.simantics.utils.ui/src/org/simantics/utils/ui/widgets/FileOrDirectorySelectionWidget.java index d685b7af0..19390e566 100644 --- a/bundles/org.simantics.utils.ui/src/org/simantics/utils/ui/widgets/FileOrDirectorySelectionWidget.java +++ b/bundles/org.simantics.utils.ui/src/org/simantics/utils/ui/widgets/FileOrDirectorySelectionWidget.java @@ -53,7 +53,7 @@ public abstract class FileOrDirectorySelectionWidget extends Composite{ public void widgetSelected(SelectionEvent e) { String[] name = openDialog(); if (name != null) { - setFilename(name); + setFilename(name,true); } } }); @@ -63,7 +63,11 @@ public abstract class FileOrDirectorySelectionWidget extends Composite{ @Override public void modifyText(ModifyEvent e) { String file = fileText.getText(); - setFilename(file.split(",")); + String files[] = file.split(","); + for (int i = 0; i < files.length; i++) { + files[i] = files[i].trim(); + } + setFilename(files, false); } }); @@ -74,14 +78,22 @@ public abstract class FileOrDirectorySelectionWidget extends Composite{ protected abstract boolean isValid(File file); protected void setFilename(String[] filename) { + setFilename(filename, true); + } + + protected void setFilename(String[] filename, boolean update) { String text = ""; - for (String s : filename) { - text += s + ","; + if (filename.length < 6) { + for (String s : filename) { + text += s + ","; + } + if (text.length() > 2) + text = text.substring(0, text.length() - 1); + } else { + text = filename[0] + " and " + (filename.length -1) + " other files."; } - if (text.length() > 2) - text = text.substring(0, text.length() - 1); - if (!text.equals(fileText.getText())) + if (update && !text.equals(fileText.getText())) fileText.setText(text); boolean accept = true;