Skip to content

Commit 9a9fb72

Browse files
authored
Merge pull request #480 from tischi/file-widget-both
Add FileWidget.FILE_AND_DIRECTORY_STYLE
2 parents a2d0042 + 79a92d8 commit 9a9fb72

File tree

3 files changed

+18
-4
lines changed

3 files changed

+18
-4
lines changed

pom.xml

+5
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,11 @@
134134
<url>https://imagej.net/people/jaywarrick</url>
135135
<properties><id>jaywarrick</id></properties>
136136
</contributor>
137+
<contributor>
138+
<name>Christian Tischer</name>
139+
<url>https://imagej.net/people/tischi</url>
140+
<properties><id>tischi</id></properties>
141+
</contributor>
137142
</contributors>
138143

139144
<mailingLists>

src/main/java/org/scijava/ui/UserInterface.java

+6-4
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
import org.scijava.ui.console.ConsolePane;
4242
import org.scijava.ui.viewer.DisplayWindow;
4343
import org.scijava.widget.FileWidget;
44+
import org.scijava.widget.WidgetStyle;
4445

4546
/**
4647
* An end-user SciJava application user interface.
@@ -160,11 +161,11 @@ DialogPrompt dialogPrompt(String message, String title,
160161
default File chooseFile(final File file, final String style) {
161162
final String title;
162163
// style can be a string with multiple comma-separated keywords
163-
// TODO use a utility class for style handling, e.g. StyleUtils.isStyle(style, ...)
164164
if (style == null) title = "Choose a file";
165-
else if (style.toLowerCase().contains(FileWidget.DIRECTORY_STYLE)) title = "Choose a directory";
166-
else if (style.toLowerCase().contains(FileWidget.OPEN_STYLE)) title = "Open";
167-
else if (style.toLowerCase().contains(FileWidget.SAVE_STYLE)) title = "Save";
165+
else if (WidgetStyle.isStyle(style, FileWidget.DIRECTORY_STYLE)) title = "Choose a directory";
166+
else if (WidgetStyle.isStyle(style, FileWidget.FILE_AND_DIRECTORY_STYLE)) title = "Choose a file or directory";
167+
else if (WidgetStyle.isStyle(style, FileWidget.OPEN_STYLE)) title = "Open";
168+
else if (WidgetStyle.isStyle(style, FileWidget.SAVE_STYLE)) title = "Save";
168169
else title = "Choose a file";
169170

170171
return chooseFile(title, file, style);
@@ -180,6 +181,7 @@ default File chooseFile(final File file, final String style) {
180181
* <li>{@link FileWidget#OPEN_STYLE}</li>
181182
* <li>{@link FileWidget#SAVE_STYLE}</li>
182183
* <li>{@link FileWidget#DIRECTORY_STYLE}</li>
184+
* <li>{@link FileWidget#FILE_AND_DIRECTORY_STYLE}</li>
183185
* </ul>
184186
* @return The {@link File} chosen by the user, or null if prompt is not
185187
* available

src/main/java/org/scijava/widget/FileWidget.java

+7
Original file line numberDiff line numberDiff line change
@@ -59,4 +59,11 @@ public interface FileWidget<U> extends InputWidget<File, U> {
5959
*/
6060
String DIRECTORY_STYLE = "directory";
6161

62+
/**
63+
* Widget style for directory chooser dialogs.
64+
*
65+
* @see org.scijava.plugin.Parameter#style()
66+
*/
67+
String FILE_AND_DIRECTORY_STYLE = "both";
68+
6269
}

0 commit comments

Comments
 (0)