BrowserToolbar.js
[app.wkmirror] / BrowserToolbar.js
1 Gtk = imports.gi.Gtk;
2
3 BrowserSettings = imports.BrowserSettings;
4 TabbedBrowser = imports.TabbedBrowser;
5 File = imports.File.File;
6
7
8
9 BrowserToolbar = new GType({
10     parent: Gtk.HBox.type,
11     name: "BrowserToolbar",
12     init: function ()
13     {
14         // Private
15         var url_bar = new Gtk.Entry();
16
17         var back_button = new Gtk.ToolButton({stock_id:"gtk-go-back"});
18         var forward_button = new Gtk.ToolButton({stock_id:"gtk-go-forward"});
19         var refresh_button = new Gtk.ToolButton({stock_id:"gtk-refresh"});
20         var grab_button = new Gtk.ToolButton({label:"mirror"});
21         var nsgrab_button = new Gtk.ToolButton({label:"netsuite grab"});
22         
23         
24         var back = function ()
25         {
26             TabbedBrowser.browser.current_tab().get_web_view().go_back();
27         };
28
29         var forward = function ()
30         {
31             TabbedBrowser.browser.current_tab().get_web_view().go_forward();
32         };
33
34         var refresh = function ()
35         {
36             
37             
38             TabbedBrowser.browser.current_tab().get_web_view().reload();
39             
40             /*TabbedBrowser.browser.current_tab().get_web_view().signals.onload_event(function() {
41            
42                 print("Sending gather links");
43                 TabbedBrowser.browser.current_tab().get_web_view().execute_script(
44                     "gatherlinks();"
45                     
46                 );
47              });
48             */
49
50         };
51
52         var browse = function (url)
53         {
54             TabbedBrowser.browser.current_tab().get_web_view().browse(url.text);
55         };
56
57         var grab = function(){
58             print("sedning gather links (Start)");
59             TabbedBrowser.browser.current_tab().get_web_view().add_inject();
60             TabbedBrowser.browser.current_tab().get_web_view().execute_script(
61                 "BrowserMirror.gatherlinks();"
62             );
63     
64            // print('test');
65         };
66         var grab = function(){
67             print("seding ns gather links (Start)");
68             TabbedBrowser.browser.current_tab().get_web_view().add_nsinject();
69             TabbedBrowser.browser.current_tab().get_web_view().execute_script(
70                 "NS.gatherlinks();"
71             );
72     
73            // print('test');
74         };
75         
76         
77         
78          
79         // Public
80         this.set_url = function (url)
81         {
82             url_bar.text = url;
83         };
84
85         this.set_can_go_back = function (can_go_back)
86         {
87             back_button.sensitive = can_go_back;
88         };
89
90         this.set_can_go_forward = function (can_go_forward)
91         {
92             forward_button.sensitive = can_go_forward;
93         };
94
95         this.set_progress = function (progress)
96         {
97             if(BrowserSettings.have_progress_bar)
98                 url_bar.set_progress_fraction(progress);
99         };
100
101         // Implementation
102         back_button.signal.clicked.connect(back);
103         forward_button.signal.clicked.connect(forward);
104         refresh_button.signal.clicked.connect(refresh);
105         url_bar.signal.activate.connect(browse);
106         grab_button.signal.clicked.connect(grab);
107         nsgrab_button.signal.clicked.connect(nsgrab);
108
109         this.pack_start(back_button);
110         this.pack_start(forward_button);
111         
112         
113         this.pack_start(refresh_button);
114         this.pack_start(grab_button);
115         this.pack_start(nsgrab_button);
116         this.pack_start(url_bar, true, true);
117
118
119     }
120 });