client/src/main/java/org/apache/hupa/client/ui/FolderListView.java [173:196]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                .done(new Function(){public void f() {
                    List<ImapFolder> response = arguments(0);
                    folderNodes.clear();
                    for (ImapFolder folder : response) {
                        fillCellList(folderNodes, folder, LabelNode.ROOT, "");
                    }
                    // For some reason removing a row does not update the display correctly
                    updateRowCount(folderNodes.size(), true);
                    updateRowData(0, folderNodes);
                 }});
        }

        private void fillCellList(List<LabelNode> folderNodes, ImapFolder curFolder, LabelNode parent, String intents) {
            LabelNode labelNode = new LabelNode();
            labelNode.setFolder(curFolder);
            labelNode.setName(curFolder.getName());
            labelNode.setNameForDisplay(intents + curFolder.getName());
            labelNode.setParent(parent);
            labelNode.setPath(curFolder.getFullName());
            folderNodes.add(labelNode);
            if (curFolder.getHasChildren()) {
                for (ImapFolder subFolder : curFolder.getChildren()) {
                    // FIXME: don't use intents, it will be much better user experience to use cellTree
                    fillCellList(folderNodes, subFolder, labelNode, intents + "&nbsp;&nbsp;&nbsp;&nbsp;");
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



client/src/main/java/org/apache/hupa/client/ui/LabelListView.java [131:154]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                .done(new Function(){public void f() {
                    List<ImapFolder> response = arguments(0);
                    folderNodes.clear();
                    for (ImapFolder folder : response) {
                        fillCellList(folderNodes, folder, LabelNode.ROOT, "");
                    }
                    // For some reason removing a row does not update the display correctly
                    updateRowCount(folderNodes.size(), true);
                    updateRowData(0, folderNodes);
                 }});
        }

        private void fillCellList(List<LabelNode> folderNodes, ImapFolder curFolder, LabelNode parent, String intents) {
            LabelNode labelNode = new LabelNode();
            labelNode.setFolder(curFolder);
            labelNode.setName(curFolder.getName());
            labelNode.setNameForDisplay(intents + curFolder.getName());
            labelNode.setParent(parent);
            labelNode.setPath(curFolder.getFullName());
            folderNodes.add(labelNode);
            if (curFolder.getHasChildren()) {
                for (ImapFolder subFolder : curFolder.getChildren()) {
                    // FIXME: don't use intents, it will be much better user experience to use cellTree
                    fillCellList(folderNodes, subFolder, labelNode, intents + "&nbsp;&nbsp;&nbsp;&nbsp;");
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



