mirror of
https://github.com/mitb-archive/filebot
synced 2025-03-09 22:09:47 -04:00
* fix that caused "All Languages" to be restored as "undefined"
This commit is contained in:
parent
d496a97ac8
commit
7fa0d86a7d
@ -24,13 +24,13 @@ public class LanguageComboBoxModel extends AbstractListModel implements ComboBox
|
|||||||
|
|
||||||
private List<Language> values = availableLanguages();
|
private List<Language> values = availableLanguages();
|
||||||
|
|
||||||
|
|
||||||
public LanguageComboBoxModel(boolean requireSpecificLanguage, Language initialSelection) {
|
public LanguageComboBoxModel(boolean requireSpecificLanguage, Language initialSelection) {
|
||||||
this.requireSpecificLanguage = requireSpecificLanguage;
|
this.requireSpecificLanguage = requireSpecificLanguage;
|
||||||
this.selection = initialSelection;
|
this.selection = initialSelection;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Language getElementAt(int index) {
|
public Language getElementAt(int index) {
|
||||||
// "All Languages"
|
// "All Languages"
|
||||||
@ -52,78 +52,79 @@ public class LanguageComboBoxModel extends AbstractListModel implements ComboBox
|
|||||||
return values.get(index);
|
return values.get(index);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getSize() {
|
public int getSize() {
|
||||||
// "All Languages" : favorites[] : values[]
|
// "All Languages" : favorites[] : values[]
|
||||||
return (requireSpecificLanguage ? 0 : 1) + favorites.size() + values.size();
|
return (requireSpecificLanguage ? 0 : 1) + favorites.size() + values.size();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public List<Language> favorites() {
|
public List<Language> favorites() {
|
||||||
return favorites;
|
return favorites;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Language getSelectedItem() {
|
public Language getSelectedItem() {
|
||||||
return selection;
|
return selection;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setSelectedItem(Object value) {
|
public void setSelectedItem(Object value) {
|
||||||
if (value instanceof Language) {
|
if (value instanceof Language) {
|
||||||
selection = (Language) value;
|
Language language = (Language) value;
|
||||||
|
selection = ALL_LANGUAGES.getCode().equals(language.getCode()) ? ALL_LANGUAGES : language;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
protected int convertFavoriteIndexToModel(int favoriteIndex) {
|
protected int convertFavoriteIndexToModel(int favoriteIndex) {
|
||||||
return (requireSpecificLanguage ? 0 : 1) + favoriteIndex;
|
return (requireSpecificLanguage ? 0 : 1) + favoriteIndex;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
protected void fireFavoritesAdded(int from, int to) {
|
protected void fireFavoritesAdded(int from, int to) {
|
||||||
fireIntervalAdded(this, convertFavoriteIndexToModel(from), convertFavoriteIndexToModel(to));
|
fireIntervalAdded(this, convertFavoriteIndexToModel(from), convertFavoriteIndexToModel(to));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
protected void fireFavoritesRemoved(int from, int to) {
|
protected void fireFavoritesRemoved(int from, int to) {
|
||||||
fireIntervalRemoved(this, convertFavoriteIndexToModel(from), convertFavoriteIndexToModel(to));
|
fireIntervalRemoved(this, convertFavoriteIndexToModel(from), convertFavoriteIndexToModel(to));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private class Favorites extends AbstractList<Language> implements Set<Language> {
|
private class Favorites extends AbstractList<Language> implements Set<Language> {
|
||||||
|
|
||||||
private final List<Language> data;
|
private final List<Language> data;
|
||||||
|
|
||||||
private final int capacity;
|
private final int capacity;
|
||||||
|
|
||||||
|
|
||||||
public Favorites(int capacity) {
|
public Favorites(int capacity) {
|
||||||
this.data = new ArrayList<Language>(capacity);
|
this.data = new ArrayList<Language>(capacity);
|
||||||
this.capacity = capacity;
|
this.capacity = capacity;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Language get(int index) {
|
public Language get(int index) {
|
||||||
return data.get(index);
|
return data.get(index);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public boolean add(Language element) {
|
public boolean add(Language element) {
|
||||||
// add first
|
// add first
|
||||||
return addIfAbsent(0, element);
|
return addIfAbsent(0, element);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public void add(int index, Language element) {
|
public void add(int index, Language element) {
|
||||||
addIfAbsent(index, element);
|
addIfAbsent(index, element);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public boolean addIfAbsent(int index, Language element) {
|
public boolean addIfAbsent(int index, Language element) {
|
||||||
// 1. ignore null values
|
// 1. ignore null values
|
||||||
// 2. ignore ALL_LANGUAGES
|
// 2. ignore ALL_LANGUAGES
|
||||||
@ -149,7 +150,7 @@ public class LanguageComboBoxModel extends AbstractListModel implements ComboBox
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean contains(Object obj) {
|
public boolean contains(Object obj) {
|
||||||
// check via language code, because data consists of clones
|
// check via language code, because data consists of clones
|
||||||
@ -165,7 +166,7 @@ public class LanguageComboBoxModel extends AbstractListModel implements ComboBox
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Language remove(int index) {
|
public Language remove(int index) {
|
||||||
Language old = data.remove(index);
|
Language old = data.remove(index);
|
||||||
@ -176,7 +177,7 @@ public class LanguageComboBoxModel extends AbstractListModel implements ComboBox
|
|||||||
return old;
|
return old;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int size() {
|
public int size() {
|
||||||
return data.size();
|
return data.size();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user