Index: trunk/gli/src/org/greenstone/gatherer/gui/GUIManager.java
===================================================================
--- trunk/gli/src/org/greenstone/gatherer/gui/GUIManager.java	(revision 4565)
+++ trunk/gli/src/org/greenstone/gatherer/gui/GUIManager.java	(revision 4585)
@@ -187,16 +187,11 @@
 	}
         else if(esrc == menu_bar.file_new) {
-	    if(!Gatherer.c_man.saved()) {
-		cont = showSaveCollectionBox(false, false);
-	    }
-	    if(cont) {
-		showNewCollectionPrompt();
-	    }
+	    showNewCollectionPrompt();
 	}
 	else if(esrc == menu_bar.file_open) {
-	    if(!Gatherer.c_man.saved()) {
-		cont = showSaveCollectionBox(false, false);
-	    }
-	    if(cont) {
+	    // if(!Gatherer.c_man.saved()) {
+	    // cont = showSaveCollectionBox(false, false);
+	    // }
+	    // if(cont) {
 		//if(!
 		showLoadCollectionBox();
@@ -204,5 +199,5 @@
 		//collectionChanged(false);
 		//}
-	    }
+		// }
 	}
 	else if(esrc == menu_bar.file_options) {
@@ -606,15 +601,17 @@
 	// User can cancel action.
 	if(filename != null) {
-	    // If there is already a collection open, close it.
+	    // If there is already a collection open, save and close it.
 	    if(Gatherer.c_man.ready()) {
-		Gatherer.c_man.closeCollection();
+		showSaveCollectionBox(true, false);		
 		// Wait until it is closed.
-		try {
-		    while(Gatherer.c_man.ready()) {
-			wait(10);
-		    }
-		}
-		catch(Exception error) {
-		}
+//  		try {
+//  		    while(Gatherer.c_man.ready()) {
+//  			wait(10);
+//  		    }
+//  		}
+//  		catch(Exception error) {
+//    		    System.err.println("Exception: " + error);
+//    		    error.printStackTrace();
+//  		}
 	    }
 	    result = Gatherer.c_man.loadCollection(filename);
@@ -635,5 +632,5 @@
     }
     /** This method is used to open the new collection box on the screen.
-	  */
+     */
     public void showNewCollectionPrompt() {
 	NewCollectionMetadataPrompt ncm_prompt = null;
@@ -646,19 +643,25 @@
 	// Create the new collection (if not cancelled) in a new thread.
 	if(!ncd_prompt.isCancelled() && (ncm_prompt == null || !ncm_prompt.isCancelled())) {
-	    // If there is already a collection open, close it.
+	    // If there is already a collection open, save and close it.
 	    if(Gatherer.c_man.ready()) {
-		Gatherer.c_man.closeCollection();
+		showSaveCollectionBox(true, false);
 		// Wait until it is closed.
-		try {
-		    while(Gatherer.c_man.ready()) {
-			wait(10);
-		    }
-		}
-		catch(Exception error) {
-		}
-	    }
+//  		try {
+//  		    synchronized(this) {
+//  			while(Gatherer.c_man.ready()) {
+//  			    wait(10);
+//  			}
+//  		    }
+//  		}
+//  		catch(Exception error) {
+//  		    System.err.println("Exception: " + error);
+//  		    error.printStackTrace();
+//  		}
+	    }
+
 	    // Create new collection.
 	    CreationTask task = new CreationTask(ncd_prompt, ncm_prompt);
-	    SwingUtilities.invokeLater(task);
+	    // SwingUtilities.invokeLater(task);
+	    task.start();
 	    // Close prompt.
 	}
@@ -668,5 +671,5 @@
     }
     private class CreationTask
-	implements Runnable {
+        extends Thread {
 	private NewCollectionDetailsPrompt ncd_prompt = null;
 	private NewCollectionMetadataPrompt ncm_prompt = null; 
@@ -677,4 +680,5 @@
 
 	public void run() {
+	    // System.err.println("Running CreationTask...");
 	    if(ncm_prompt == null) {
 		Gatherer.c_man.createCollection(ncd_prompt.getDescription(), ncd_prompt.getEmail(), ncd_prompt.getName(), ncd_prompt.getTitle(), ncd_prompt.getBase(), null);
@@ -732,28 +736,30 @@
 	    }
 	}
+	// "View assigned metadata" menu item is disabled by default
+	menu_bar.metadata_view.setCanEnable(false);
+	menu_bar.setMetaAuditSuffix(null);
+
 	menu_bar.tabSelected(tab_pane.getSelectedIndex());
 	if(tab_pane.getSelectedIndex() == tab_pane.indexOfComponent(collection_pane)) {
+	    collection_pane.gainFocus();
+	    // "View assigned metadata" menu item is enabled for the "Gather" pane
 	    menu_bar.metadata_view.setCanEnable(true);
 	}
 	else if(tab_pane.getSelectedIndex() == tab_pane.indexOfComponent(metaedit_pane)) {
 	    metaedit_pane.gainFocus();
+	    // "View assigned metadata" menu item is enabled for the "Enrich" pane
 	    menu_bar.metadata_view.setCanEnable(true);
 	}
 	else if(tab_pane.getSelectedIndex() == tab_pane.indexOfComponent(config_pane)) {
 	    config_pane.gainFocus();
-	    menu_bar.metadata_view.setCanEnable(false);
 	}
 	else if(tab_pane.getSelectedIndex() == tab_pane.indexOfComponent(create_pane)) {
 	    create_pane.gainFocus();
-	    menu_bar.metadata_view.setCanEnable(false);
 	}
 	else if(tab_pane.getSelectedIndex() == tab_pane.indexOfComponent(preview_pane)) {
 	    config_pane.saveConfiguration();
 	    preview_pane.gainFocus();
-	    menu_bar.metadata_view.setCanEnable(false);
-	}
-	else {
-	    menu_bar.metadata_view.setCanEnable(false);
-	}
+	}
+
 	previous_pane = (JPanel) tab_pane.getSelectedComponent();
     }
