{
"listeners" : {
"print" : "(pe) => {\n\t\n \t\t print(\"got callback for print\");\n \t\tpe.ref();\n\t\t\tpe.failed.connect(() => {\n \t\t\t\tprint(\"print failed\\n\");\n\t\t\t\t Gtk.main_quit();\n \t\t\n \t\t});\n \t\t pe.finished.connect(() => {\n \t\t\t\tprint(\"print completed\\n\");\n\t\t\t\t Gtk.main_quit();\n \t\t\n \t\t});\n \t\t\n \t\t//pe.run_dialog(_this.el);\n \t\treturn false;\n \t\t\n\t\t var list = Gtk.PaperSize.get_paper_sizes(false);\n\t\t var psetup = new Gtk.PageSetup();\n\t\t for(var i = 0; i < list.length(); i++ ) {\n\t\t var entry = list.nth_data(i).copy();\n\t\t if (entry.get_name() == \"iso_a2\") {\n\t\t psetup.set_paper_size(entry);\n\t\t }\n\t\t }\n\t\t \n\n\n\t\t var ps = new Gtk.PrintSettings();\n\t\t ps.set_printer(\"Print to File\");\n\t\t ps.set(\"output-file-format\", \"pdf\");\n\t\t //ps.set(\"output-uri\", \"file://\" + webkitpdf.opt_target_pdf);\n\t\t ps.set(\"output-uri\", webkitpdf.opt_target_pdf);\n\n\t\t pe.set_print_settings(ps);\n\t\t pe.set_page_setup(psetup);\n\t\t print(\"Calling Print?\\n\");\n\t\t pe.run_dialog(_this.el);\n\t\t //pe.print();\n\t\t return false;\n\t\t \n}",
- "load_changed" : "(le) => {\n\t\t \n print(\"load_changed %d ?= %d\\n\", le, WebKit.LoadEvent.FINISHED);\n\n if (le != WebKit.LoadEvent.FINISHED) {\n return;\n }\n /*\n GLib.Timeout.add_seconds(webkitpdf.opt_delay, () => { \n print(\"making screenshot\\n\");\n _this.view.el.get_snapshot.begin(\n \t\t\tWebKit.SnapshotRegion.FULL_DOCUMENT, \n \t\t\tWebKit.SnapshotOptions.NONE, null, (obj, res) => {\n var sf = _this.view.el.get_snapshot.end(res);\n\n sf.write_to_png(webkitpdf.opt_target_png);\n });\n Gtk.main_quit();\n return false;\n }, GLib.Priority.DEFAULT);\n */ \n \n\t\tprint(\"calling print in %d seconds\\n\", (int)webkitpdf.opt_delay);\n GLib.Timeout.add_seconds(webkitpdf.opt_delay, () => { \n \t\tprint(\"calling print in js\\n\");\n\t\t\tthis.el.run_javascript.begin(\"print()\", null, () => {} );\n\t\t\treturn false;\n }, GLib.Priority.DEFAULT);\n \n}"
+ "load_changed" : "(le) => {\n\t\t \n print(\"load_changed %d ?= %d\\n\", le, WebKit.LoadEvent.FINISHED);\n\n if (le != WebKit.LoadEvent.FINISHED) {\n return;\n }\n /*\n GLib.Timeout.add_seconds(webkitpdf.opt_delay, () => { \n print(\"making screenshot\\n\");\n _this.view.el.get_snapshot.begin(\n \t\t\tWebKit.SnapshotRegion.FULL_DOCUMENT, \n \t\t\tWebKit.SnapshotOptions.NONE, null, (obj, res) => {\n var sf = _this.view.el.get_snapshot.end(res);\n\n sf.write_to_png(webkitpdf.opt_target_png);\n });\n Gtk.main_quit();\n return false;\n }, GLib.Priority.DEFAULT);\n */ \n \n\t\tprint(\"calling print in %d seconds\\n\", (int)webkitpdf.opt_delay);\n GLib.Timeout.add_seconds(webkitpdf.opt_delay, () => { \n \t\tprint(\"calling print in js\\n\");\n \t\t\n \t\t var loop = new MainLoop();\n\t\t\tthis.el.run_javascript.begin(\"print()\", null, () => {\n\t\t\t\t this.el.run_javascript.end(res);\n\t\t\t\t loop.quit();\n\t\t\t});\n\t\t\tloop.run();\n\n\t\t\treturn false;\n }, GLib.Priority.DEFAULT);\n \n}"
},
"id" : "view",
"xtype" : "WebView",
print("calling print in %d seconds\n", (int)webkitpdf.opt_delay);
GLib.Timeout.add_seconds(webkitpdf.opt_delay, () => {
print("calling print in js\n");
- this.el.run_javascript.begin("print()", null, () => {} );
+
+ var loop = new MainLoop();
+ this.el.run_javascript.begin("print()", null, () => {
+ this.el.run_javascript.end(res);
+ loop.quit();
+ });
+ loop.run();
+
return false;
}, GLib.Priority.DEFAULT);