X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Ffanfix_swing%2Fgui%2Fbrowser%2FSourceTab.java;h=a86420e57a58ab2c807ff2823cc81bebe3630331;hb=62c7e07ef88c8f809b46f4e4525aa0d3f8a9cb14;hp=8ac5c1ef96ab4c56b6bd1a98a462d87693bb3891;hpb=32ed608959c0dec74660388248831976b97e8c56;p=nikiroo-utils.git diff --git a/src/be/nikiroo/fanfix_swing/gui/browser/SourceTab.java b/src/be/nikiroo/fanfix_swing/gui/browser/SourceTab.java index 8ac5c1e..a86420e 100644 --- a/src/be/nikiroo/fanfix_swing/gui/browser/SourceTab.java +++ b/src/be/nikiroo/fanfix_swing/gui/browser/SourceTab.java @@ -1,5 +1,9 @@ package be.nikiroo.fanfix_swing.gui.browser; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.Comparator; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -20,6 +24,7 @@ public class SourceTab extends BasicTab>> { @Override protected void fillData(Map> data) { + data.clear(); try { Map> sourcesGrouped = Instance.getInstance() .getLibrary().getSourcesGrouped(); @@ -66,7 +71,9 @@ public class SourceTab extends BasicTab>> { protected int loadData(DefaultMutableTreeNode root, Map> sourcesGrouped, String filter) { int count = 0; - for (String source : sourcesGrouped.keySet()) { + List sources = new ArrayList(sourcesGrouped.keySet()); + sort(sources); + for (String source : sources) { if (checkFilter(filter, source) || checkFilter(filter, sourcesGrouped.get(source))) { List children = sourcesGrouped.get(source); @@ -76,6 +83,7 @@ public class SourceTab extends BasicTab>> { DefaultMutableTreeNode sourceNode = new DefaultMutableTreeNode( ">" + source + (hasChildren ? "/" : "")); root.add(sourceNode); + sort(children); for (String subSource : children) { if (checkFilter(filter, source) || checkFilter(filter, subSource)) {