src/Builder4/DialogPluginWebkit.vala
"$ xns" : "Gtk",
"items" : [
{
+ "listeners" : {
+ "script_alert" : " (dialog) => {\n if (this.el == null) {\n return true;\n }\n \n var msg = dialog.get_message();\n if (msg.length < 4) {\n return false;\n }\n if (msg.substring(0,4) != \"IPC:\") {\n return false;\n }\n var ar = msg.split(\":\", 3);\n if (ar.length < 3) {\n return false;\n }\n switch(ar[1]) {\n case \"SAVEHTML\":\n print(\"%sw\",ar[2]);\n // _this.file.saveHTML(ar[2]);\n return true;\n default:\n return false;\n }\n \n}"
+ },
"id" : "webview",
"* init" : " {\n // this may not work!?\n var settings = this.el.get_settings();\n \n \n var fs= new FakeServer(this.el);\n fs.ref();\n // this was an attempt to change the url perms.. did not work..\n // settings.enable_file_access_from_file_uris = true;\n // settings.enable_offline_web_application_cache - true;\n // settings.enable_universal_access_from_file_uris = true;\n \n \n \n \n \n\n // FIXME - base url of script..\n // we need it so some of the database features work.\n this.el.load_html( \"Render not ready\" , \n //fixme - should be a config option!\n // or should we catch stuff and fix it up..\n \"xhttp://localhost/app.Builder/\"\n );\n \n \n \n \n}\n",
"xtype" : "WebView",
}
+
+ // listeners
+ this.el.script_alert.connect( (dialog) => {
+ if (this.el == null) {
+ return true;
+ }
+
+ var msg = dialog.get_message();
+ if (msg.length < 4) {
+ return false;
+ }
+ if (msg.substring(0,4) != "IPC:") {
+ return false;
+ }
+ var ar = msg.split(":", 3);
+ if (ar.length < 3) {
+ return false;
+ }
+ switch(ar[1]) {
+ case "SAVEHTML":
+ print("%sw",ar[2]);
+ // _this.file.saveHTML(ar[2]);
+ return true;
+ default:
+ return false;
+ }
+
+ });
}
// user defined functions