Index: /applications/editors/josm/plugins/FastDraw/build.xml
===================================================================
--- /applications/editors/josm/plugins/FastDraw/build.xml	(revision 29302)
+++ /applications/editors/josm/plugins/FastDraw/build.xml	(revision 29303)
@@ -30,7 +30,7 @@
 <project name="FastDraw" default="dist" basedir=".">
     <!-- enter the SVN commit message -->
-    <property name="commit.message" value="JOSM/FastDraw: add option (Q) to draw closed polygons"/>
+    <property name="commit.message" value="JOSM/FastDraw: allow automatic tag adding (Q) "/>
     <!-- enter the *lowest* JOSM version this plugin is currently compatible with -->
-    <property name="plugin.main.version" value="5035"/>
+    <property name="plugin.main.version" value="5738"/>
     <!--
       ************************************************
Index: /applications/editors/josm/plugins/FastDraw/src/org/openstreetmap/josm/plugins/fastdraw/FDSettings.java
===================================================================
--- /applications/editors/josm/plugins/FastDraw/src/org/openstreetmap/josm/plugins/fastdraw/FDSettings.java	(revision 29302)
+++ /applications/editors/josm/plugins/FastDraw/src/org/openstreetmap/josm/plugins/fastdraw/FDSettings.java	(revision 29303)
@@ -37,4 +37,5 @@
     public int simplifyMode;
     public float lineWidth;
+    public String autoTags;
     
     public void loadPrefs() {
@@ -59,4 +60,5 @@
         simplifyMode = Main.pref.getInteger("fastdraw.simplifymode", 0);
         lineWidth = (float) Main.pref.getDouble("fastdraw.linewidth", 2);
+        autoTags = Main.pref.get("fastdraw.autotags");
     }
 
@@ -82,4 +84,5 @@
          Main.pref.putInteger("fastdraw.simplifymode", simplifyMode);
          Main.pref.putDouble("fastdraw.linewidth",(double)lineWidth);
+         Main.pref.put("fastdraw.autotags", autoTags);
          try {Main.pref.save();} catch (IOException e) {
              System.err.println(tr("Can not save preferences"));
Index: /applications/editors/josm/plugins/FastDraw/src/org/openstreetmap/josm/plugins/fastdraw/FastDrawConfigDialog.java
===================================================================
--- /applications/editors/josm/plugins/FastDraw/src/org/openstreetmap/josm/plugins/fastdraw/FastDrawConfigDialog.java	(revision 29302)
+++ /applications/editors/josm/plugins/FastDraw/src/org/openstreetmap/josm/plugins/fastdraw/FastDrawConfigDialog.java	(revision 29303)
@@ -7,8 +7,11 @@
 import java.awt.Component;
 import java.awt.GridBagLayout;
+import java.awt.event.ActionEvent;
 import javax.swing.JOptionPane;
 import org.openstreetmap.josm.tools.GBC;
 import java.text.NumberFormat;
 import java.text.ParseException;
+import javax.swing.AbstractAction;
+import javax.swing.JButton;
 import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.gui.ExtendedDialog;
@@ -18,5 +21,10 @@
 import javax.swing.JPanel;
 import javax.swing.JLabel;
+import org.openstreetmap.josm.gui.widgets.HistoryComboBox;
+import org.openstreetmap.josm.io.remotecontrol.AddTagsDialog;
 import static org.openstreetmap.josm.tools.I18n.tr;
+import org.openstreetmap.josm.tools.ImageProvider;
+import org.openstreetmap.josm.tools.TextTagParser;
+import org.openstreetmap.josm.tools.Utils;
 
 public class FastDrawConfigDialog extends ExtendedDialog {
@@ -32,4 +40,5 @@
         JLabel label3=new JLabel(tr("Max points count per 1 km"));
         JLabel label4=new JLabel(/* I18n: Combobox to select what a press to return key does */ tr("Enter key mode"));
+        JLabel label5=new JLabel(tr("Auto add tags"));
         JFormattedTextField text1=new JFormattedTextField(NumberFormat.getInstance());
         JFormattedTextField text2=new  JFormattedTextField(NumberFormat.getInstance());
@@ -38,5 +47,5 @@
 //            tr("Autosimplify and save"),tr("Simplify and wait"),tr("Simplify and save"),
 //            tr("Save as is")});
-        JComboBox combo1=new JComboBox(new String[]{tr("Autosimplify"),
+        JComboBox<String> combo1=new JComboBox(new String[]{tr("Autosimplify"),
             tr("Simplify with initial epsilon"),tr("Save as is")});
         JCheckBox snapCb=new JCheckBox(tr("Snap to nodes"));
@@ -44,4 +53,17 @@
         JCheckBox fixedSpaceCb = new JCheckBox(tr("Add fixed points on spacebar"));
         JCheckBox drawClosedCb = new JCheckBox(tr("Draw closed polygons only"));
+        final HistoryComboBox addTags = new HistoryComboBox();
+        JButton pasteButton = new JButton(new AbstractAction(tr("Paste"), ImageProvider.get("apply")) {
+            @Override
+            public void actionPerformed(ActionEvent e) {
+                String s = Utils.getClipboardContent();
+                if (TextTagParser.getValidatedTagsFromText(s)!=null) {
+                    addTags.setText(s);
+                }
+            }
+        });
+        pasteButton.setToolTipText(tr("Try copying tags from properties table"));
+        
+        addTags.setPossibleItems(Main.pref.getCollection("fastdraw.tags-history"));
         
         all.add(label1,GBC.std().insets(10,0,0,0));
@@ -54,9 +76,16 @@
         all.add(combo1, GBC.eop().fill(GBC.HORIZONTAL).insets(5,0,0,5));
         
+        all.add(label5,GBC.std().insets(10,0,0,0));
+        all.add(pasteButton, GBC.eop().insets(0,0,0,5));
+        
+        all.add(addTags, GBC.eop().fill(GBC.HORIZONTAL).insets(10,0,5,10));
+        
         all.add(snapCb,GBC.eop().insets(20,0,0,0));
+        
         all.add(fixedClickCb,GBC.eop().insets(20,0,0,0));
         all.add(fixedSpaceCb,GBC.eop().insets(20,0,0,0));
         all.add(drawClosedCb,GBC.eop().insets(20,0,0,0));
         
+        addTags.setText(settings.autoTags);
         text1.setValue(settings.epsilonMult);
         text2.setValue(settings.startingEps);
@@ -91,4 +120,7 @@
             settings.drawClosed=drawClosedCb.isSelected();
             settings.simplifyMode=combo1.getSelectedIndex();
+            settings.autoTags=addTags.getText();
+            addTags.addCurrentItemToHistory();
+            Main.pref.putCollection("fastdraw.tags-history", addTags.getHistory());
             settings.savePrefs();
             } catch (ParseException e) {
Index: /applications/editors/josm/plugins/FastDraw/src/org/openstreetmap/josm/plugins/fastdraw/FastDrawingMode.java
===================================================================
--- /applications/editors/josm/plugins/FastDraw/src/org/openstreetmap/josm/plugins/fastdraw/FastDrawingMode.java	(revision 29302)
+++ /applications/editors/josm/plugins/FastDraw/src/org/openstreetmap/josm/plugins/fastdraw/FastDrawingMode.java	(revision 29303)
@@ -51,4 +51,5 @@
 import org.openstreetmap.josm.tools.ImageProvider;
 import org.openstreetmap.josm.tools.Shortcut;
+import org.openstreetmap.josm.tools.TextTagParser;
 
 class FastDrawingMode extends MapMode implements MapViewPaintable,
@@ -610,4 +611,10 @@
             }
         }
+        if (!settings.autoTags.isEmpty()) {
+            Map<String, String> tags = TextTagParser.readTagsFromText(settings.autoTags);
+            for (String k: tags.keySet()) {
+                w.put(k, tags.get(k));
+            }
+        }
         if (delCmd!=null) {
             List<Node> nodes = w.getNodes();
