- Timestamp:
- 08/01/08 10:18:16 PM (5 months ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
trunk/LogicMail/src/org/logicprobe/LogicMail/mail/imap/ImapClient.java
r253 r259 325 325 } 326 326 327 public void refreshFolderStatus(FolderTreeItem root) throws IOException, MailException { 328 // Flatten the tree for easy batching of the status refresh 329 Vector folders = new Vector(); 330 flattenFolderTree(folders, root); 331 327 public void refreshFolderStatus(FolderTreeItem[] folders) throws IOException, MailException { 332 328 // Construct an array of mailbox paths to match the folder vector 333 int size = folders.size();334 329 Vector mboxPaths = new Vector(); 335 330 Hashtable mboxMap = new Hashtable(); 336 331 int i; 337 for(i=0; i< size; i++) {338 FolderTreeItem item = (FolderTreeItem)folders.elementAt(i);332 for(i=0; i<folders.length; i++) { 333 FolderTreeItem item = folders[i]; 339 334 if(item.isSelectable()) { 340 335 mboxPaths.addElement(item.getPath()); … … 355 350 } 356 351 } 357 358 /**359 * Recursively walk the folder tree, populating a flat vector of360 * FolderTreeItem objects.361 *362 * @param folders An initialized Vector to populate363 * @param node The FolderTreeItem to start from364 */365 private void flattenFolderTree(Vector folders, FolderTreeItem node) {366 // Avoid adding the invisible root node367 if(node.getPath().length() > 0) {368 folders.addElement(node);369 }370 371 if(node.hasChildren()) {372 FolderTreeItem[] children = node.children();373 for(int i = 0; i < children.length; i++) {374 flattenFolderTree(folders, children[i]);375 }376 }377 }378 379 352 380 353 public FolderTreeItem getActiveFolder() {
