stories order by name
[nikiroo-utils.git] / src / be / nikiroo / fanfix_swing / gui / browser / TagsTab.java
index 746f268928f07ae15ddb7287c26bf1a5b11b282e..4224fb343a51126f45ea1eae66f12879d742075f 100644 (file)
@@ -1,12 +1,15 @@
 package be.nikiroo.fanfix_swing.gui.browser;
 
 import java.util.ArrayList;
+import java.util.Collections;
 import java.util.List;
 
 import javax.swing.tree.DefaultMutableTreeNode;
 
 import be.nikiroo.fanfix.Instance;
+import be.nikiroo.fanfix.bundles.StringIdGui;
 import be.nikiroo.fanfix.data.MetaData;
+import be.nikiroo.fanfix.library.MetaResultList;
 
 public class TagsTab extends BasicTab<List<String>> {
        public TagsTab(int index, String listenerCommand) {
@@ -20,9 +23,12 @@ public class TagsTab extends BasicTab<List<String>> {
 
        @Override
        protected void fillData(List<String> data) {
+               data.clear();
                try {
-                       List<MetaData> metas = Instance.getInstance().getLibrary().getList();
-                       for (MetaData meta : metas) {
+                       MetaResultList metas = Instance.getInstance().getLibrary()
+                                       .getList();
+                       // TODO: getTagList, getAuthorList... ?
+                       for (MetaData meta : metas.getMetas()) {
                                List<String> tags = meta.getTags();
                                if (tags != null) {
                                        for (String tag : tags) {
@@ -32,6 +38,8 @@ public class TagsTab extends BasicTab<List<String>> {
                                        }
                                }
                        }
+
+                       sort(data);
                } catch (Exception e) {
                        // TODO
                        e.printStackTrace();
@@ -45,14 +53,22 @@ public class TagsTab extends BasicTab<List<String>> {
 
        @Override
        protected String keyToDisplay(String key) {
+               if (key.trim().isEmpty()) {
+                       // TODO: new TAG_UNKNOWN needed
+                       key = Instance.getInstance().getTransGui()
+                                       .getString(StringIdGui.MENU_AUTHORS_UNKNOWN);
+               }
+
                return key;
        }
 
        @Override
-       protected int loadData(DefaultMutableTreeNode root, List<String> tags, String filter) {
+       protected int loadData(DefaultMutableTreeNode root, List<String> tags,
+                       String filter) {
                for (String tag : tags) {
                        if (checkFilter(filter, tag)) {
-                               DefaultMutableTreeNode sourceNode = new DefaultMutableTreeNode(tag);
+                               DefaultMutableTreeNode sourceNode = new DefaultMutableTreeNode(
+                                               tag);
                                root.add(sourceNode);
                        }
                }