BrowserWindow.bjs
authorAlan Knowles <alan@roojs.com>
Tue, 22 Dec 2015 03:05:48 +0000 (11:05 +0800)
committerAlan Knowles <alan@roojs.com>
Tue, 22 Dec 2015 03:05:48 +0000 (11:05 +0800)
BrowserWindow.vala

BrowserWindow.bjs
BrowserWindow.vala

index 6e949d1..8196896 100644 (file)
@@ -27,7 +27,7 @@
         "load_finished" : "( ) => {\n\t\t \n       this.printit();\n \n}"
        },
        "id" : "view",
-       "| void printit" : "() {\n   print(\"load_finsihed\\n\");\n \n\t\t// inject any javascript if needed..\n\t\tif (webkitpdf.opt_inject_js != null) {\n\t\t\tfor(var i =0; i < webkitpdf.opt_inject_js.length;i++) {\n\t\t\t\tstring str;\n\t\t\t\tFileUtils.get_contents( webkitpdf.opt_inject_js[i], out str);\n\t\t\t\tthis.el.execute_script(str);\n\t\t\t}\n\t\t}\n \n\t\tprint(\"calling print in %d seconds\\n\", (int)webkitpdf.opt_delay);\n        GLib.Timeout.add_seconds(webkitpdf.opt_delay, () => { \n    \t\t \n    \t\tvar  pe = new  Gtk.PrintOperation();\n    \t\tpe.export_filename = webkitpdf.opt_target_pdf;\n\t\t\tprint(\"got callback for print\");\n    \t\tpe.ref();\n\t\t\t/*pe.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*/;\n    \t\t pe.done.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 \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    pe.set_default_page_setup(psetup);\n\t\t    print(\"Calling Print?\\n\");\n\t\t    //pe.run_dialog(_this.el);\n\t\t    this.el.get_main_frame().print_full(pe,Gtk.PrintOperationAction.EXPORT);\n\t\t    \n\t\t    \n\t\t     \n\t\t\treturn false;\n        }, GLib.Priority.DEFAULT);\n}\n",
+       "| void printit" : "() {\n   print(\"load_finsihed\\n\");\n \n\t\t// inject any javascript if needed..\n\t\tif (webkitpdf.opt_inject_js != null) {\n\t\t\tfor(var i =0; i < webkitpdf.opt_inject_js.length;i++) {\n\t\t\t\tstring str;\n\t\t\t\ttry {\n\t\t\t\t\tFileUtils.get_contents( webkitpdf.opt_inject_js[i], out str);\n\t\t\t\t} catch(FileError e) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tthis.el.execute_script(str);\n\t\t\t}\n\t\t}\n \n\t\tprint(\"calling print in %d seconds\\n\", (int)webkitpdf.opt_delay);\n        GLib.Timeout.add_seconds(webkitpdf.opt_delay, () => { \n    \t\t \n    \t\tvar  pe = new  Gtk.PrintOperation();\n    \t\tpe.export_filename = webkitpdf.opt_target_pdf;\n\t\t\tprint(\"got callback for print\");\n    \t\tpe.ref();\n\t\t\t/*pe.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*/;\n    \t\t pe.done.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 \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    pe.set_default_page_setup(psetup);\n\t\t    print(\"Calling Print?\\n\");\n\t\t    //pe.run_dialog(_this.el);\n\t\t    this.el.get_main_frame().print_full(pe,Gtk.PrintOperationAction.EXPORT);\n\t\t    \n\t\t    \n\t\t     \n\t\t\treturn false;\n        }, GLib.Priority.DEFAULT);\n}\n",
        "* pack" : "add",
        "xtype" : "WebView",
        "$ xns" : "WebKit"
index 829a798..8de1bc5 100644 (file)
@@ -114,7 +114,11 @@ public class BrowserWindow : Object
                        if (webkitpdf.opt_inject_js != null) {
                                for(var i =0; i < webkitpdf.opt_inject_js.length;i++) {
                                        string str;
-                                       FileUtils.get_contents( webkitpdf.opt_inject_js[i], out str);
+                                       try {
+                                               FileUtils.get_contents( webkitpdf.opt_inject_js[i], out str);
+                                       } catch(FileError e) {
+                                               continue;
+                                       }
                                        this.el.execute_script(str);
                                }
                        }