Index: /applications/editors/josm/plugins/slippymap/src/org/openstreetmap/josm/plugins/slippymap/SlippyMapPlugin.java
===================================================================
--- /applications/editors/josm/plugins/slippymap/src/org/openstreetmap/josm/plugins/slippymap/SlippyMapPlugin.java	(revision 5690)
+++ /applications/editors/josm/plugins/slippymap/src/org/openstreetmap/josm/plugins/slippymap/SlippyMapPlugin.java	(revision 5691)
@@ -3,4 +3,5 @@
 import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.gui.MapFrame;
+import org.openstreetmap.josm.gui.preferences.PreferenceSetting;
 import org.openstreetmap.josm.plugins.Plugin;
 
@@ -24,3 +25,15 @@
         Main.main.addLayer(smlayer);
     }
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see org.openstreetmap.josm.plugins.Plugin#getPreferenceSetting()
+     */
+    @Override
+    public PreferenceSetting getPreferenceSetting()
+    {
+        return new SlippyMapPreferenceSetting();
+    }
+
 }
Index: /applications/editors/josm/plugins/slippymap/src/org/openstreetmap/josm/plugins/slippymap/SlippyMapPreferenceSetting.java
===================================================================
--- /applications/editors/josm/plugins/slippymap/src/org/openstreetmap/josm/plugins/slippymap/SlippyMapPreferenceSetting.java	(revision 5691)
+++ /applications/editors/josm/plugins/slippymap/src/org/openstreetmap/josm/plugins/slippymap/SlippyMapPreferenceSetting.java	(revision 5691)
@@ -0,0 +1,65 @@
+package org.openstreetmap.josm.plugins.slippymap;
+
+import static org.openstreetmap.josm.tools.I18n.tr;
+
+import java.awt.Component;
+
+import javax.swing.DefaultListCellRenderer;
+import javax.swing.JComboBox;
+import javax.swing.JLabel;
+import javax.swing.JList;
+import javax.swing.ListCellRenderer;
+import javax.swing.UIManager;
+import javax.swing.UIManager.LookAndFeelInfo;
+
+import org.openstreetmap.josm.Main;
+import org.openstreetmap.josm.gui.preferences.PreferenceDialog;
+import org.openstreetmap.josm.gui.preferences.PreferenceSetting;
+import org.openstreetmap.josm.tools.GBC;
+
+/**
+ * Preference Dialog for Slippy Map Tiles
+ * 
+ * @author Hakan Tandogan <hakan@gurkensalat.com>
+ * 
+ */
+public class SlippyMapPreferenceSetting implements PreferenceSetting
+{
+    /**
+     * ComboBox with all known tile sources.
+     */
+    private JComboBox tileSourceCombo;
+
+    public void addGui(PreferenceDialog gui)
+    {
+        String[] allMapUrls = SlippyMapPreferences.getAllMapUrls();
+        tileSourceCombo = new JComboBox(allMapUrls);
+
+        String source = SlippyMapPreferences.getMapUrl();
+
+        for (int i = 0; i < allMapUrls.length; i++)
+        {
+            System.err.println("Comparing '" + source + "' to '"
+                    + allMapUrls[i]);
+
+            if (source.equals(allMapUrls[i]))
+            {
+                tileSourceCombo.setSelectedIndex(i);
+                break;
+            }
+        }
+
+        gui.display.add(new JLabel(tr("Tile Sources")), GBC.std());
+        gui.display.add(GBC.glue(5, 0), GBC.std().fill(GBC.HORIZONTAL));
+        gui.display.add(tileSourceCombo, GBC.eol().fill(GBC.HORIZONTAL));
+    }
+
+    /**
+     * Someone pressed the "ok" button
+     */
+    public void ok()
+    {
+        Main.pref.put(SlippyMapPreferences.PREFERENCE_TILE_URL, tileSourceCombo
+                .getSelectedItem().toString());
+    }
+}
Index: /applications/editors/josm/plugins/slippymap/src/org/openstreetmap/josm/plugins/slippymap/SlippyMapPreferences.java
===================================================================
--- /applications/editors/josm/plugins/slippymap/src/org/openstreetmap/josm/plugins/slippymap/SlippyMapPreferences.java	(revision 5690)
+++ /applications/editors/josm/plugins/slippymap/src/org/openstreetmap/josm/plugins/slippymap/SlippyMapPreferences.java	(revision 5691)
@@ -14,5 +14,5 @@
 
     public static String PREFERENCE_TILE_URL = PREFERENCE_PREFIX + ".tile_url";
-
+    
     public static String getMapUrl()
     {
@@ -22,6 +22,4 @@
         {
             url = "http://tah.openstreetmap.org/Tiles/tile"; // t@h
-            // url = "http://tile.openstreetmap.org"; // mapnik 
-            // url = "http://hypercube.telascience.org/tiles/1.0.0/coastline" //
             Main.pref.put(PREFERENCE_TILE_URL, url);
         }
@@ -29,3 +27,15 @@
         return url;
     }
+
+    public static String[] getAllMapUrls()
+    {
+        String[] defaultTileSources = new String[]
+        {
+                "http://tah.openstreetmap.org/Tiles/tile", // t@h
+                "http://tah.openstreetmap.org/Tiles/maplint", // maplint
+                "http://tile.openstreetmap.org", // mapnik
+                "http://hypercube.telascience.org/tiles/1.0.0/coastline" // coastline
+        };
+        return defaultTileSources;
+    }
 }
