Index: trunk/src/org/expeditee/settings/UserSettings.java
===================================================================
--- trunk/src/org/expeditee/settings/UserSettings.java	(revision 777)
+++ trunk/src/org/expeditee/settings/UserSettings.java	(revision 778)
@@ -1,12 +1,8 @@
 package org.expeditee.settings;
 
-import java.awt.Color;
-import java.awt.Font;
-import java.awt.GraphicsEnvironment;
 import java.io.File;
 import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.LinkedList;
 import java.util.List;
@@ -15,15 +11,9 @@
 import org.expeditee.agents.mail.MailSession;
 import org.expeditee.agents.wordprocessing.JSpellChecker;
-import org.expeditee.gui.AttributeValuePair;
-import org.expeditee.gui.DisplayIO;
 import org.expeditee.gui.Frame;
 import org.expeditee.gui.FrameIO;
 import org.expeditee.gui.FrameUtils;
-import org.expeditee.gui.FreeItems;
 import org.expeditee.gui.MessageBay;
-import org.expeditee.items.Item;
-import org.expeditee.items.ItemUtils;
 import org.expeditee.items.Text;
-import org.expeditee.setting.ArraySetting;
 import org.expeditee.setting.BooleanSetting;
 import org.expeditee.setting.FloatSetting;
@@ -32,7 +22,6 @@
 import org.expeditee.setting.IntegerSetting;
 import org.expeditee.setting.ListSetting;
-import org.expeditee.setting.Setting;
 import org.expeditee.setting.StringSetting;
-import org.expeditee.setting.TextSetting;
+import org.expeditee.settings.folders.FolderSettings;
 
 /**
@@ -72,51 +61,8 @@
 		}
 	};
-	public static final StringSetting DefaultFrame = new StringSetting("The default frame", null) {
-		@Override
-		public boolean setSetting(Text text) {
-			_value = FrameUtils.getLink(text, _value);
-			return true;
-		}
-	};
 	public static final IntegerSetting InitialWidth = new IntegerSetting("Initial width of Expeditee window", 1024);
 	
 	public static final IntegerSetting InitialHeight = new IntegerSetting("Initial height of Expeditee window", 768);
 	
-	public static final TextSetting ItemTemplate = new TextSetting("Template for normal text items") {
-		@Override
-		public Text generateText() {
-			return new Text("ItemTemplate");
-		}
-	};
-	public static final TextSetting AnnotationTemplate = new TextSetting("Template for annotation text items") {
-		@Override
-		public Text generateText() {
-			Text t = new Text("AnnotationTemplate");
-    		t.setColor(Color.gray);
-    		return t;
-		}
-	};
-
-	public static final TextSetting CommentTemplate = new TextSetting("Template for code comment text items") {
-		@Override
-		public Text generateText() {
-			Text t = new Text("CommentTemplate");
-    		t.setColor(Color.green.darker());
-    		return t;
-		}
-	};
-
-	public static final TextSetting StatTemplate = new TextSetting("Template for statistics (e.g. extracted attributes) text items") {
-		@Override
-		public Text generateText() {
-			Text t = new Text("StatsTemplate");
-    		t.setColor(Color.BLACK);
-    		t.setBackgroundColor(new Color(0.9F, 0.9F, 0.9F));
-    		t.setFamily(Text.MONOSPACED_FONT);
-    		t.setSize(14);
-    		return t;
-		}
-	};
-	
 	/*
 	 * General settings (no setter functions)
@@ -157,151 +103,4 @@
 
 	public static final StringSetting MenuFrame = new StringSetting("The menu frame", null);
-
-	/*
-	 *  Directories
-	 */
-	public static final ListSetting<String> FrameDirs = new ListSetting<String>("Directories to look in for frames") {
-		@Override
-		public boolean setSetting(Text text) {
-			_value.addAll(FrameUtils.getDirs(text));
-			return true;
-		}
-	};
-	public static final Setting FramesetDir = new Setting("Adds a directory to look in for frames") {
-		@Override
-		public boolean setSetting(Text text) {
-			if(text.getText().indexOf(':') == -1) {
-				return false;
-    		}
-    		AttributeValuePair avp = new AttributeValuePair(text.getText());
-    		if(avp.getValue().trim().length() != 0) {
-    			String dir = FrameUtils.getDir(avp.getValue());
-    			if (dir != null) {
-    				UserSettings.FrameDirs.get().add(dir);
-    				return true;
-    			}
-    		}
-    		return false;
-		}
-	};
-
-	public static ListSetting<String> ImageDirs = new ListSetting<String>("Directories to look in for images") {
-		@Override
-		public boolean setSetting(Text text) {
-			_value.addAll(FrameUtils.getDirs(text));
-			return true;
-		}
-	};
-	public static final Setting ImageDir = new Setting("Adds a directory to look in for images") {
-		@Override
-		public boolean setSetting(Text text) {
-    		if(text.getText().indexOf(':') == -1) {
-    			return false;
-    		}
-    		AttributeValuePair avp = new AttributeValuePair(text.getText());
-    		if(avp.getValue().trim().length() != 0) {
-    			String dir = FrameUtils.getDir(avp.getValue());
-    			if(dir != null) {
-    				UserSettings.ImageDirs.get().add(0, dir);
-    				return true;
-    			}
-    		}
-    		return false;
-		}
-	};
-	
-	public static final Setting LogDir = new Setting("Set the directory to save logs") {
-		@Override
-		public boolean setSetting(Text text) {
-			if(text.getText().indexOf(':') == -1) {
-    			return false;
-    		}
-    		AttributeValuePair avp = new AttributeValuePair(text.getText());
-    		if(avp.getValue().trim().length() != 0) {
-    			FrameIO.LOGS_DIR = FrameUtils.getDir(avp.getValue());
-    		}
-    		return true;
-		}
-	};
-
-	/*
-	 *  Templates
-	 */
-	public static final TextSetting TitleTemplate = new TextSetting("Template for Title text item") {
-		@Override
-		public Text generateText() {
-			Text t = new Text("TitleTemplate");
-			t.setSize(30);
-    		t.setFontStyle("Bold");
-    		t.setFamily("SansSerif");
-    		t.setColor(Color.BLUE);
-    		t.setPosition(25, 50);
-    		return t;
-		}
-	};
-	
-	public static final TextSetting DotTemplate = new TextSetting("Template for dot items") {
-		@Override
-		public Text generateText() {
-			return new Text("DotTemplate");
-		}
-	};
-	
-	public static final TextSetting TooltipTemplate = new TextSetting("Template for tooltips") {
-		@Override
-		public Text generateText() {
-			Text t = new Text("TooltipTemplate");
-    		t.setColor(Color.BLACK);
-    		t.setBackgroundColor(new Color(0.7F, 0.7F, 0.9F));
-    		// t.setFamily(Text.MONOSPACED_FONT);
-    		t.setSize(14);
-    		return t;
-		}
-	};
-	
-	/*
-	 * Colorwheels
-	 */
-	public static final ArraySetting<Color> ColorWheel = new ArraySetting<Color>("The colours of items in the child frame are used to populate the colour wheel",
-			new Color[] { Color.BLACK, Color.RED, Color.BLUE, Item.GREEN, Color.MAGENTA, Color.YELLOW.darker(), Color.WHITE }) {
-		@Override
-		public boolean setSetting(Text text) {
-			Frame child = text.getChild();
-    		if (child == null) {
-    			return false;
-    		}
-    		_value = FrameUtils.getColorWheel(child);
-    		return true;
-		}
-	};
-	
-	public static final ArraySetting<Color> FillColorWheel = new ArraySetting<Color>("The colours of items in the child frame are used to populate the colour wheel",
-			new Color[] { new Color(255, 150, 150), new Color(150, 150, 255), new Color(150, 255, 150),
-			new Color(255, 150, 255), new Color(255, 255, 100), Color.WHITE, Color.BLACK }) {
-		@Override
-		public boolean setSetting(Text text) {
-			Frame child = text.getChild();
-    		if (child == null) {
-    			return false;
-    		}
-    		_value = FrameUtils.getColorWheel(child);
-    		return true;
-		}
-	};
-	
-	public static final ArraySetting<Color> BackgroundColorWheel = new ArraySetting<Color>("The colours of items in the child frame are used to populate the colour wheel",
-			new Color[] { new Color(235, 235, 235), new Color(225, 225, 255), new Color(195, 255, 255),
-			new Color(225, 255, 225), new Color(255, 255, 195), new Color(255, 225, 225),
-			new Color(255, 195, 255), Color.WHITE, Color.GRAY, Color.DARK_GRAY, Color.BLACK, null }) {
-		@Override
-		public boolean setSetting(Text text) {
-			Frame child = text.getChild();
-    		if (child == null) {
-    			return false;
-    		}
-    		_value = FrameUtils.getColorWheel(child);
-    		return true;
-		}
-	};
 	
 	/*
@@ -380,16 +179,4 @@
 		}
 	};
-	
-	public static final FrameSetting CursorFrame = new FrameSetting("Items on this frame will be used as the cursor (clearing the frame or removing the link will default back to a normal cursor)") {
-		@Override
-		public void run(Frame frame) {
-			FreeItems.getCursor().addAll(ItemUtils.CopyItems(frame.getAllItems()));
-			for (Item i : FreeItems.getCursor()) {
-				i.setParent(null);
-			}
-			DisplayIO.setCursor(Item.HIDDEN_CURSOR);
-			DisplayIO.setCursor(Item.DEFAULT_CURSOR);
-		}
-	};
 
 	// add default values
@@ -402,12 +189,12 @@
 		}
 	  
-		UserSettings.FrameDirs.get().add(FrameIO.FRAME_PATH);
-		UserSettings.FrameDirs.get().add(FrameIO.PUBLIC_PATH);
-		UserSettings.FrameDirs.get().add(FrameIO.PROFILE_PATH);
-		UserSettings.FrameDirs.get().add(FrameIO.HELP_PATH);
-		UserSettings.FrameDirs.get().add(FrameIO.MESSAGES_PATH);
-		UserSettings.FrameDirs.setDefault(UserSettings.FrameDirs.get());
-		UserSettings.ImageDirs.get().add(FrameIO.IMAGES_PATH);
-		UserSettings.ImageDirs.setDefault(UserSettings.ImageDirs.get());
+		FolderSettings.FrameDirs.get().add(FrameIO.FRAME_PATH);
+		FolderSettings.FrameDirs.get().add(FrameIO.PUBLIC_PATH);
+		FolderSettings.FrameDirs.get().add(FrameIO.PROFILE_PATH);
+		FolderSettings.FrameDirs.get().add(FrameIO.HELP_PATH);
+		FolderSettings.FrameDirs.get().add(FrameIO.MESSAGES_PATH);
+		FolderSettings.FrameDirs.setDefault(FolderSettings.FrameDirs.get());
+		FolderSettings.ImageDirs.get().add(FrameIO.IMAGES_PATH);
+		FolderSettings.ImageDirs.setDefault(FolderSettings.ImageDirs.get());
 	}
 
