From 984d6263c936aedba2af03e872c7d69d2be60dc4 Mon Sep 17 00:00:00 2001 From: Alexis Deveria Date: Wed, 10 Feb 2010 19:29:05 +0000 Subject: [PATCH] Added support for unit width/height when set in document properties git-svn-id: http://svg-edit.googlecode.com/svn/trunk@1372 eee81c28-f429-11dd-99c0-75d572ba1ddd --- editor/svg-editor.css | 5 +++++ editor/svg-editor.js | 25 +++++++++++++++++++------ editor/svgcanvas.js | 3 +++ 3 files changed, 27 insertions(+), 6 deletions(-) diff --git a/editor/svg-editor.css b/editor/svg-editor.css index d075e375..ac9d0c6a 100644 --- a/editor/svg-editor.css +++ b/editor/svg-editor.css @@ -722,6 +722,11 @@ span.zoom_tool { z-index: 20001; } +#svg_docprops .error { + border: 1px solid red; + padding: 3px; +} + #svg_docprops #resolution { max-width: 14em; } diff --git a/editor/svg-editor.js b/editor/svg-editor.js index a41890ce..adc0f77b 100644 --- a/editor/svg-editor.js +++ b/editor/svg-editor.js @@ -1513,7 +1513,6 @@ function svg_edit_setup() { $('#image_save_opts input').val([curPrefs.img_save]); // update resolution option with actual resolution - // TODO: what if SVG source is changed? var res = svgCanvas.getResolution(); $('#canvas_width').val(res.w); $('#canvas_height').val(res.h); @@ -1580,12 +1579,26 @@ function svg_edit_setup() { svgCanvas.setImageTitle(new_title); // update resolution - var x = parseInt($('#canvas_width').val()); - var y = parseInt($('#canvas_height').val()); - if(isNaN(x) || isNaN(y)) { - x ='fit'; + var width = $('#canvas_width'), w = width.val(); + var height = $('#canvas_height'), h = height.val(); + + if(w != "fit" && !svgCanvas.isValidUnit('width', w)) { + $.alert(uiStrings.invalidAttrValGiven); + width.parent().addClass('error'); + return false; } - if(!svgCanvas.setResolution(x,y)) { + + width.parent().removeClass('error'); + + if(h != "fit" && !svgCanvas.isValidUnit('height', h)) { + $.alert(uiStrings.invalidAttrValGiven); + height.parent().addClass('error'); + return false; + } + + height.parent().removeClass('error'); + + if(!svgCanvas.setResolution(w, h)) { $.alert(uiStrings.noContentToFitTo); return false; } diff --git a/editor/svgcanvas.js b/editor/svgcanvas.js index 26e8afbb..e6e3d37a 100644 --- a/editor/svgcanvas.js +++ b/editor/svgcanvas.js @@ -6105,6 +6105,9 @@ function BatchCommand(text) { if(!batchCmd) { batchCmd = new BatchCommand("Change Image Dimensions"); } + x = convertToNum('width', x); + y = convertToNum('height', y); + svgcontent.setAttribute('width', x); svgcontent.setAttribute('height', y); batchCmd.addSubCommand(new ChangeElementCommand(svgcontent, {"width":w, "height":h}));