Made default save behaviour alert the user on how to saveand when necessary inform of FF bug (on first time saved/bug encountered)

git-svn-id: http://svg-edit.googlecode.com/svn/trunk@1385 eee81c28-f429-11dd-99c0-75d572ba1ddd
master
Alexis Deveria 2010-02-12 20:29:59 +00:00
parent 3cff24713b
commit 6f50f5d55c
1 changed files with 25 additions and 29 deletions

View File

@ -175,35 +175,31 @@ function svg_edit_setup() {
// Creates and opens an HTML page that provides a link to the SVG, a preview, and the markup.
// Also includes warning about Mozilla bug #308590 when applicable
var title = svgCanvas.getImageTitle() || "Untitled";
var res = svgCanvas.getResolution();
var str = encodeURIComponent(svg);
var note = '';
// Check if FF and has <defs/>
if(navigator.userAgent.indexOf('Gecko/') !== -1 && svg.indexOf('<defs') !== -1) {
note = "<p><b>NOTE:</b> Due to a <a href='https://bugzilla.mozilla.org/show_bug.cgi?id=308590'>bug</a> in your browser, the image may appear wrong (missing gradients or elements). It will however appear correct once saved as a file.</p>";
}
var win = window.open("data:image/svg+xml;base64," + Utils.encode64(svg));
var htmlpage = "\
<!doctype html>\
<title>SVG-Edit saved image: " + title + "</title>\
<script>\
window.onload = function() {\
var str = '" + str + "';\
var data = 'data:image/svg+xml;base64," + Utils.encode64(svg) + "';\
document.getElementById('ta').value = decodeURIComponent(str);\
document.getElementById('frame').src = data;\
document.getElementById('view').href = data;\
}\
</script>\
<h2>Download</h2>\
<p><a id=view>Download image</a> (Follow link, then choose \"Save As\" on your browser)</p>\
<h2>Preview</h2>" + note +
"<iframe id=frame width='" + res.w + "' height='" + res.h + "'></iframe>\
<h2>Markup</h2>\
<textarea id=ta style='width:100%' rows=10></textarea>\
";
window.open("data:text/html;charset=utf-8;base64," + Utils.encode64(htmlpage));
// Alert will only appear the first time saved OR the first time the bug is encountered
var done = $.pref('save_notice_done');
if(done !== "all") {
var note = 'Select "Save As..." in your browser to save this image as an SVG file.';
// Check if FF and has <defs/>
if(navigator.userAgent.indexOf('Gecko/') !== -1) {
if(svg.indexOf('<defs') !== -1) {
note += "\n\nNOTE: Due to a bug in your browser, this image may appear wrong (missing gradients or elements). It will however appear correct once actually saved.";
$.pref('save_notice_done', 'all');
done = "all";
} else {
$.pref('save_notice_done', 'part');
}
} else {
$.pref('save_notice_done', 'all');
}
if(done !== 'part') {
win.alert(note);
}
}
};
// called when we've selected a different element