// 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(window, 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."); } } }); } });