Files
svgedit/opera-widget/handlers.js
Alexis Deveria 3c6f79a8c1 Fixed Issue 99 file open bug on Opera widget
git-svn-id: http://svg-edit.googlecode.com/svn/trunk@487 eee81c28-f429-11dd-99c0-75d572ba1ddd
2009-08-27 13:53:12 +00:00

62 lines
1.5 KiB
JavaScript

// Note: This JavaScript file must be included as the last script on the main HTML editor page to override the open/save handlers
$(function() {
if(window.opera && window.opera.io && window.opera.io.filesystem) {
svgCanvas.setCustomHandlers({
'open':function() {
try {
window.opera.io.filesystem.browseForFile(
new Date().getTime(), /* mountpoint name */
"", /* default location */
function(file) {
try {
if (file) {
fstream = file.open(file, "r");
var output = "";
while (!fstream.eof) {
output += fstream.readLine();
}
svgCanvas.setSvgString(output); /* 'this' is bound to the filestream object here */
}
}
catch(e) {
console.log("Reading file failed.");
}
},
false, /* not persistent */
false, /* no multiple selections */
"*.svg" /* file extension filter */
);
}
catch(e) {
console.log("Open file failed.");
}
},
'save':function(svg) {
try {
window.opera.io.filesystem.browseForSave(
new Date().getTime(), /* mountpoint name */
"", /* default location */
function(file) {
try {
if (file) {
var fstream = file.open(file, "w");
fstream.write(svg, "UTF-8");
fstream.close();
}
}
catch(e) {
console.log("Write to file failed.");
}
},
false /* not persistent */
);
}
catch(e) {
console.log("Save file failed.");
}
}
});
}
});