"| void printit" : "() {\n print(\"load_finsihed\\n\");\n \n\t// inject any javascript if needed..\n\tif (webkitpdf.opt_inject_js != null) {\n\t\tfor(var i =0; i < webkitpdf.opt_inject_js.length;i++) {\n\t\t\tstring str;\n\t\t\ttry {\n\t\t\t\tFileUtils.get_contents( webkitpdf.opt_inject_js[i], out str);\n\t\t\t} catch(FileError e) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tthis.el.execute_script(str);\n\t\t}\n\t}\n\n\tprint(\"calling print in %d seconds\\n\", (int)webkitpdf.opt_delay);\n GLib.Timeout.add_seconds(webkitpdf.opt_delay, () => { \n\t\n }, GLib.Priority.DEFAULT);\n}\n",
"* pack" : "add",
"xtype" : "WebView",
- "$ xns" : "WebKit",
- "| return_type printpdf" : "() {\n\n}\n"
+ "| bool printpdf" : "() {\n\t \n\t\tvar pe = new Gtk.PrintOperation();\n\t\tpe.export_filename = webkitpdf.opt_target_pdf;\n\t\tprint(\"got callback for print\");\n\t\tpe.ref();\n\t\t/*pe.failed.connect(() => {\n\t\t\tprint(\"print failed\\n\");\n\t\t\t Gtk.main_quit();\n \t\t\n\t\t})\n\t\t*/;\n\t\t pe.done.connect(() => {\n\t\t\tprint(\"print completed\\n\");\n\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 \n\t\t\n\t var list = Gtk.PaperSize.get_paper_sizes(false);\n\t var psetup = new Gtk.PageSetup();\n\t for(var i = 0; i < list.length(); i++ ) {\n\t var entry = list.nth_data(i).copy();\n\t if (entry.get_name() == \"iso_a2\") {\n\t psetup.set_paper_size(entry);\n\t }\n\t }\n\t \n\n\n\t pe.set_default_page_setup(psetup);\n\t print(\"Calling Print?\\n\");\n\t //pe.run_dialog(_this.el);\n\t try {\n\t\t this.el.get_main_frame().print_full(pe,Gtk.PrintOperationAction.EXPORT);\n\t } catch (Error e) {\n\t\t\t// print failed...\n\t\t}\n\t \n\t \n\t \n\t\treturn false;\n}\n",
+ "$ xns" : "WebKit"
}
]
}
}, GLib.Priority.DEFAULT);
}
- public return_type printpdf () {
+ public bool printpdf () {
+
+ var pe = new Gtk.PrintOperation();
+ pe.export_filename = webkitpdf.opt_target_pdf;
+ print("got callback for print");
+ pe.ref();
+ /*pe.failed.connect(() => {
+ print("print failed\n");
+ Gtk.main_quit();
+
+ })
+ */;
+ pe.done.connect(() => {
+ print("print completed\n");
+ Gtk.main_quit();
+
+ });
+
+ //pe.run_dialog(_this.el);
+
+
+ var list = Gtk.PaperSize.get_paper_sizes(false);
+ var psetup = new Gtk.PageSetup();
+ for(var i = 0; i < list.length(); i++ ) {
+ var entry = list.nth_data(i).copy();
+ if (entry.get_name() == "iso_a2") {
+ psetup.set_paper_size(entry);
+ }
+ }
+
+
+ pe.set_default_page_setup(psetup);
+ print("Calling Print?\n");
+ //pe.run_dialog(_this.el);
+ try {
+ this.el.get_main_frame().print_full(pe,Gtk.PrintOperationAction.EXPORT);
+ } catch (Error e) {
+ // print failed...
+ }
+
+
+
+ return false;
}
}