Index: /applications/editors/josm/plugins/cadastre-fr/src/cadastre_fr/CadastreGrabber.java
===================================================================
--- /applications/editors/josm/plugins/cadastre-fr/src/cadastre_fr/CadastreGrabber.java	(revision 20239)
+++ /applications/editors/josm/plugins/cadastre-fr/src/cadastre_fr/CadastreGrabber.java	(revision 20240)
@@ -46,5 +46,5 @@
     private URL getURLRaster(WMSLayer wmsLayer, EastNorth lambertMin, EastNorth lambertMax) throws MalformedURLException {
         // GET /scpc/wms?version=1.1&request=GetMap&layers=CDIF:PMC@QH4480001701&format=image/png&bbox=-1186,0,13555,8830&width=576&height=345&exception=application/vnd.ogc.se_inimage&styles= HTTP/1.1
-        final int cRasterX = 800; // keep width constant and adjust width to original image proportions
+        final int cRasterX = CadastrePlugin.imageWidth; // keep width constant and adjust width to original image proportions
         String str = new String(wmsInterface.baseURL+"/scpc/wms?version=1.1&request=GetMap");
         str += "&layers=CDIF:PMC@";
@@ -53,5 +53,5 @@
         str += "&bbox=";
         str += wmsLayer.eastNorth2raster(lambertMin, lambertMax);
-        //str += "&width=800&height=800"; // maximum allowed by wms server
+        //str += "&width=1000&height=800"; // maximum allowed by wms server
         str += "&width="+cRasterX+"&height="; // maximum allowed by wms server (576/345, 800/378, 1000/634)
         str += (int)(cRasterX*(wmsLayer.communeBBox.max.getY() - wmsLayer.communeBBox.min.getY())/(wmsLayer.communeBBox.max.getX() - wmsLayer.communeBBox.min.getX()));
@@ -73,6 +73,5 @@
         str += lambertMax.east() + ",";
         str += lambertMax.north();
-        str += "&width=800&height=600"; // maximum allowed by wms server
-        //str += "&width=1000&height=800"; // maximum allowed by wms server
+        str += "&width="+CadastrePlugin.imageWidth+"&height="+CadastrePlugin.imageHeight;
         //str += "&exception=application/vnd.ogc.se_inimage"; // used by normal client but not required
         str += "&styles=LS3_90,LS2_90,LS1_90,PARCELLE_90,NUMERO_90,PT3_90,PT2_90,PT1_90,LIEUDIT_90";
Index: /applications/editors/josm/plugins/cadastre-fr/src/cadastre_fr/CadastrePlugin.java
===================================================================
--- /applications/editors/josm/plugins/cadastre-fr/src/cadastre_fr/CadastrePlugin.java	(revision 20239)
+++ /applications/editors/josm/plugins/cadastre-fr/src/cadastre_fr/CadastrePlugin.java	(revision 20240)
@@ -99,4 +99,5 @@
  *                 - raster image rotation issues fixed, now using shift+ctrl key instead of ctrl
  *                 - raster image adjustment using default system menu modifier (ctrl for windows) for Mac support
+ *                 - image resolution configurable (high, medium, low) like the online interface
  *                 - from Erik Amzallag:
  *                 -     possibility to modify the auto-sourcing text just before upload 
@@ -129,4 +130,6 @@
 
     public static boolean drawBoundaries = false;
+
+    public static int imageWidth, imageHeight;
 
     static private boolean menuEnabled = false;
@@ -177,5 +180,5 @@
             });
 
-            JMenuItem menuResetCookie = new JMenuItem(new MenuActionResetCookie());
+            //JMenuItem menuResetCookie = new JMenuItem(new MenuActionResetCookie());
             //JMenuItem menuLambertZone = new JMenuItem(new MenuActionLambertZone());
             JMenuItem menuLoadFromCache = new JMenuItem(new MenuActionLoadFromCache());
@@ -210,4 +213,13 @@
             transparency = 1.0f;
         }
+        String currentResolution = Main.pref.get("cadastrewms.resolution", "high");
+        if (currentResolution.equals("high")) {
+            imageWidth = 1000; imageHeight = 800;
+        } else if (currentResolution.equals("medium")){
+            imageWidth = 800; imageHeight = 600;
+        } else { 
+            imageWidth = 600; imageHeight = 400;
+        }
+        
         // overwrite F11 shortcut used from the beginning by this plugin and recently used
         // for full-screen switch in JOSM core
Index: /applications/editors/josm/plugins/cadastre-fr/src/cadastre_fr/CadastrePreferenceSetting.java
===================================================================
--- /applications/editors/josm/plugins/cadastre-fr/src/cadastre_fr/CadastrePreferenceSetting.java	(revision 20239)
+++ /applications/editors/josm/plugins/cadastre-fr/src/cadastre_fr/CadastrePreferenceSetting.java	(revision 20240)
@@ -58,4 +58,10 @@
     private JCheckBox autoFirstLayer = new JCheckBox(tr("Automaticly select first WMS layer when grabing if multiple layers exist."));
     
+    private JRadioButton grabRes1 = new JRadioButton("high");
+
+    private JRadioButton grabRes2 = new JRadioButton("medium");
+
+    private JRadioButton grabRes3 = new JRadioButton("low");
+
     static final int DEFAULT_SQUARE_SIZE = 100;
     private JTextField grabMultiplier4Size = new JTextField(5);
@@ -124,6 +130,36 @@
         cadastrewms.add(drawBoundaries, GBC.eop().insets(0, 0, 0, 5));
 
+        // option to select the single grabbed image resolution
+        JLabel jLabelRes = new JLabel(tr("Image resolution:"));
+        cadastrewms.add(jLabelRes, GBC.std().insets(0, 5, 10, 0));
+        ButtonGroup bgResolution = new ButtonGroup();
+        ActionListener resActionListener = new ActionListener() {
+            public void actionPerformed(ActionEvent actionEvent) {
+              AbstractButton button = (AbstractButton) actionEvent.getSource();
+              grabMultiplier4Size.setEnabled(button == grabMultiplier4);
+            }
+          };
+        grabRes1.addActionListener( resActionListener);
+        grabRes1.setToolTipText(tr("High resolution (1000x800)"));
+        grabRes2.addActionListener( resActionListener);
+        grabRes2.setToolTipText(tr("Medium resolution (800x600)"));
+        grabRes3.addActionListener( resActionListener);
+        grabRes3.setToolTipText(tr("Low resolution (600x400)"));
+        bgResolution.add(grabRes1);
+        bgResolution.add(grabRes2);
+        bgResolution.add(grabRes3);
+        String currentResolution = Main.pref.get("cadastrewms.resolution", "high");
+        if (currentResolution.equals("high"))
+            grabRes1.setSelected(true);
+        if (currentResolution.equals("medium"))
+            grabRes2.setSelected(true);
+        if (currentResolution.equals("low"))
+            grabRes3.setSelected(true);
+        cadastrewms.add(grabRes1, GBC.std().insets(5, 0, 5, 0));
+        cadastrewms.add(grabRes2, GBC.std().insets(5, 0, 5, 0));
+        cadastrewms.add(grabRes3, GBC.eol().fill(GBC.HORIZONTAL).insets(5, 5, 0, 5));
+        
         // option to select image zooming interpolation method
-        JLabel jLabelImageZoomInterpolation = new JLabel(tr("Image zoom interpolation:"));
+        JLabel jLabelImageZoomInterpolation = new JLabel(tr("Image filter interpolation:"));
         cadastrewms.add(jLabelImageZoomInterpolation, GBC.std().insets(0, 0, 10, 0));
         imageInterpolationMethod.addItem(tr("Nearest-Neighbor (fastest) [ Default ]"));
@@ -155,4 +191,5 @@
         grabMultiplier1.setSelectedIcon(ImageProvider.get("preferences", "sel_box_1"));
         grabMultiplier1.addActionListener( multiplierActionListener);
+        grabMultiplier1.setToolTipText(tr("Grab one image full screen"));
         grabMultiplier2.setIcon(ImageProvider.get("preferences", "unsel_box_2"));
         grabMultiplier2.setSelectedIcon(ImageProvider.get("preferences", "sel_box_2"));
@@ -259,4 +296,10 @@
         Main.pref.put("cadastrewms.brightness", Float.toString((float)sliderTrans.getValue()/10));
         Main.pref.put("cadastrewms.drawBoundaries", drawBoundaries.isSelected());
+        if (grabRes1.isSelected())
+            Main.pref.put("cadastrewms.resolution", "high");
+        else if (grabRes2.isSelected())
+            Main.pref.put("cadastrewms.resolution", "medium");
+        else if (grabRes3.isSelected())
+            Main.pref.put("cadastrewms.resolution", "low");
         if (imageInterpolationMethod.getSelectedIndex() == 2)
             Main.pref.put("cadastrewms.imageInterpolation", "bicubic");
Index: /applications/editors/josm/plugins/cadastre-fr/src/cadastre_fr/DownloadSVGBuilding.java
===================================================================
--- /applications/editors/josm/plugins/cadastre-fr/src/cadastre_fr/DownloadSVGBuilding.java	(revision 20239)
+++ /applications/editors/josm/plugins/cadastre-fr/src/cadastre_fr/DownloadSVGBuilding.java	(revision 20240)
@@ -221,5 +221,5 @@
         str += bbox.max.east() + ",";
         str += bbox.max.north();
-        str += "&width=800&height=600"; // maximum allowed by wms server
+        str += "&width="+CadastrePlugin.imageWidth+"&height="+CadastrePlugin.imageHeight;
         str += "&exception=application/vnd.ogc.se_inimage";
         str += "&styles=";
Index: /applications/editors/josm/plugins/cadastre-fr/src/cadastre_fr/DownloadSVGTask.java
===================================================================
--- /applications/editors/josm/plugins/cadastre-fr/src/cadastre_fr/DownloadSVGTask.java	(revision 20239)
+++ /applications/editors/josm/plugins/cadastre-fr/src/cadastre_fr/DownloadSVGTask.java	(revision 20240)
@@ -177,5 +177,5 @@
         str += bbox.max.east() + ",";
         str += bbox.max.north();
-        str += "&width=800&height=600"; // maximum allowed by wms server
+        str += "&width="+CadastrePlugin.imageWidth+"&height="+CadastrePlugin.imageHeight;
         str += "&styles=";
         str += "COMMUNE_90";
Index: /applications/editors/josm/plugins/cadastre-fr/src/cadastre_fr/WMSLayer.java
===================================================================
--- /applications/editors/josm/plugins/cadastre-fr/src/cadastre_fr/WMSLayer.java	(revision 20239)
+++ /applications/editors/josm/plugins/cadastre-fr/src/cadastre_fr/WMSLayer.java	(revision 20240)
@@ -238,5 +238,5 @@
             Object savedInterpolation = g.getRenderingHint(RenderingHints.KEY_INTERPOLATION);
             if (savedInterpolation == null) savedInterpolation = RenderingHints.VALUE_INTERPOLATION_NEAREST_NEIGHBOR;
-            String interpolation = Main.pref.get("cadastrewms.imageInterpolation", "Standard");
+            String interpolation = Main.pref.get("cadastrewms.imageInterpolation", "standard");
             if (interpolation.equals("bilinear"))
                 g.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);
