add new option to consider sub-dirs for folder parser strategy
This commit is contained in:
parent
d0ff774bee
commit
8dc66e1250
@ -17,6 +17,7 @@ public interface ProjectSettings {
|
||||
@NotNull ParserStrategyType getParserStrategy();
|
||||
@NotNull String getFilePattern();
|
||||
|
||||
boolean isIncludeSubDirs();
|
||||
boolean isSorting();
|
||||
|
||||
// Editor Configuration
|
||||
|
@ -51,6 +51,7 @@ public class ProjectSettingsComponent extends ProjectSettingsComponentState {
|
||||
.addLabeledComponent(bundle.getString("settings.resource.path.title"), constructLocalesDirectoryField(), 1, false)
|
||||
.addLabeledComponent(bundle.getString("settings.resource.strategy"), constructFileStrategyPanel(), 1, false)
|
||||
.addVerticalGap(12)
|
||||
.addComponent(constructIncludeSubDirsField())
|
||||
.addComponent(constructSortingField())
|
||||
.addVerticalGap(24)
|
||||
.addComponent(new TitledSeparator(bundle.getString("settings.editor.title")))
|
||||
@ -146,6 +147,12 @@ public class ProjectSettingsComponent extends ProjectSettingsComponentState {
|
||||
return panel;
|
||||
}
|
||||
|
||||
private JComponent constructIncludeSubDirsField() {
|
||||
includeSubDirs = new JBCheckBox(bundle.getString("settings.resource.nesting.title"));
|
||||
includeSubDirs.setToolTipText(bundle.getString("settings.resource.nesting.tooltip"));
|
||||
return includeSubDirs;
|
||||
}
|
||||
|
||||
private JComponent constructSortingField() {
|
||||
sorting = new JBCheckBox(bundle.getString("settings.resource.sorting.title"));
|
||||
sorting.setToolTipText(bundle.getString("settings.resource.sorting.tooltip"));
|
||||
|
@ -23,6 +23,7 @@ public class ProjectSettingsComponentState {
|
||||
protected ComboBox<String> parserStrategy;
|
||||
protected JTextField filePattern;
|
||||
|
||||
protected JCheckBox includeSubDirs;
|
||||
protected JCheckBox sorting;
|
||||
|
||||
// Editor configuration
|
||||
@ -48,6 +49,7 @@ public class ProjectSettingsComponentState {
|
||||
state.setParserStrategy(ParserStrategyType.fromIndex(parserStrategy.getSelectedIndex()));
|
||||
state.setFilePattern(filePattern.getText());
|
||||
|
||||
state.setIncludeSubDirs(includeSubDirs.isSelected());
|
||||
state.setSorting(sorting.isSelected());
|
||||
|
||||
state.setNamespaceDelimiter(namespaceDelimiter.getText());
|
||||
@ -72,6 +74,7 @@ public class ProjectSettingsComponentState {
|
||||
parserStrategy.setSelectedIndex((state.getParserStrategy().toIndex()));
|
||||
filePattern.setText(state.getFilePattern());
|
||||
|
||||
includeSubDirs.setSelected(state.isIncludeSubDirs());
|
||||
sorting.setSelected(state.isSorting());
|
||||
|
||||
namespaceDelimiter.setText(state.getNamespaceDelimiter());
|
||||
|
@ -21,6 +21,7 @@ public class ProjectSettingsState implements ProjectSettings {
|
||||
private ParserStrategyType parserStrategy;
|
||||
private String filePattern;
|
||||
|
||||
private Boolean includeSubDirs;
|
||||
private Boolean sorting;
|
||||
|
||||
// Editor configuration
|
||||
@ -59,6 +60,11 @@ public class ProjectSettingsState implements ProjectSettings {
|
||||
return filePattern != null ? filePattern : defaults.getFilePattern();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isIncludeSubDirs() {
|
||||
return includeSubDirs != null ? includeSubDirs : defaults.isIncludeSubDirs();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isSorting() {
|
||||
return sorting != null ? sorting : defaults.isSorting();
|
||||
@ -126,6 +132,10 @@ public class ProjectSettingsState implements ProjectSettings {
|
||||
this.filePattern = filePattern;
|
||||
}
|
||||
|
||||
public void setIncludeSubDirs(Boolean includeSubDirs) {
|
||||
this.includeSubDirs = includeSubDirs;
|
||||
}
|
||||
|
||||
public void setSorting(Boolean sorting) {
|
||||
this.sorting = sorting;
|
||||
}
|
||||
|
@ -32,6 +32,11 @@ public class DefaultPreset implements ProjectSettings {
|
||||
return "*.*";
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isIncludeSubDirs() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isSorting() {
|
||||
return true;
|
||||
|
@ -32,6 +32,11 @@ public class ReactI18NextPreset implements ProjectSettings {
|
||||
return "*.json";
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isIncludeSubDirs() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isSorting() {
|
||||
return true;
|
||||
|
@ -31,6 +31,11 @@ public class VueI18nPreset implements ProjectSettings {
|
||||
return "*.json";
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isIncludeSubDirs() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isSorting() {
|
||||
return true;
|
||||
|
Loading…
x
Reference in New Issue
Block a user