Attribute Changed :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
22         var back = function ()
23         {
24             TabbedBrowser.browser.current_tab().get_web_view().go_back();
25         };
26
27         var forward = function ()
28         {
29             TabbedBrowser.browser.current_tab().get_web_view().go_forward();
30         };
31
32         var refresh = function ()
33         {
34             
35             
36             TabbedBrowser.browser.current_tab().get_web_view().reload();
37             
38             /*TabbedBrowser.browser.current_tab().get_web_view().signals.onload_event(function() {
39            
40                 print("Sending gather links");
41                 TabbedBrowser.browser.current_tab().get_web_view().execute_script(
42                     "gatherlinks();"
43                     
44                 );
45              });
46             */
47
48         };
49
50         var browse = function (url)
51         {
52             TabbedBrowser.browser.current_tab().get_web_view().browse(url.text);
53         };
54
55         var grab = function(){
56             print("sedning gather links (Start)");
57             TabbedBrowser.browser.current_tab().get_web_view().add_inject();
58             TabbedBrowser.browser.current_tab().get_web_view().execute_script(
59                 "BrowserMirror.gatherlinks();"
60             );
61     
62            // print('test');
63         };
64         
65          
66         // Public
67         this.set_url = function (url)
68         {
69             url_bar.text = url;
70         };
71
72         this.set_can_go_back = function (can_go_back)
73         {
74             back_button.sensitive = can_go_back;
75         };
76
77         this.set_can_go_forward = function (can_go_forward)
78         {
79             forward_button.sensitive = can_go_forward;
80         };
81
82         this.set_progress = function (progress)
83         {
84             if(BrowserSettings.have_progress_bar)
85                 url_bar.set_progress_fraction(progress);
86         };
87
88         // Implementation
89         back_button.signal.clicked.connect(back);
90         forward_button.signal.clicked.connect(forward);
91         refresh_button.signal.clicked.connect(refresh);
92         url_bar.signal.activate.connect(browse);
93         grab_button.signal.clicked.connect(grab);
94
95         this.pack_start(back_button);
96         this.pack_start(forward_button);
97         
98         
99          this.pack_start(refresh_button);
100          this.pack_start(grab_button);
101         this.pack_start(url_bar, true, true);
102
103
104     }
105 });