BrowserToolbar.js
[app.wkmirror] / BrowserToolbar.js
1 Gtk = imports.gi.Gtk;
2
3 BrowserSettings = imports.BrowserSettings;
4 TabbedBrowser = imports.TabbedBrowser;
5
6 BrowserToolbar = new GType({
7     parent: Gtk.HBox.type,
8     name: "BrowserToolbar",
9     init: function ()
10     {
11         // Private
12         var url_bar = new Gtk.Entry();
13
14         var back_button = new Gtk.ToolButton({stock_id:"gtk-go-back"});
15         var forward_button = new Gtk.ToolButton({stock_id:"gtk-go-forward"});
16         var refresh_button = new Gtk.ToolButton({stock_id:"gtk-refresh"});
17         var grab_button = new Gtk.ToolButton({label:"grab"});
18
19         var back = function ()
20         {
21             TabbedBrowser.browser.current_tab().get_web_view().go_back();
22         };
23
24         var forward = function ()
25         {
26             TabbedBrowser.browser.current_tab().get_web_view().go_forward();
27         };
28
29         var refresh = function ()
30         {
31             TabbedBrowser.browser.current_tab().get_web_view().reload();
32         };
33
34         var browse = function (url)
35         {
36             TabbedBrowser.browser.current_tab().get_web_view().browse(url.text);
37         };
38
39         var grab = function(){
40                 //TabbedBrowser.browser.current_tab().get_web_view().reload();
41         
42             TabbedBrowser.browser.current_tab().get_web_view().execute_script(
43                 "document.body.innerHTML + = 'TEST';"
44             )
45         
46             print('test');
47         };
48
49         // Public
50         this.set_url = function (url)
51         {
52             url_bar.text = url;
53         };
54
55         this.set_can_go_back = function (can_go_back)
56         {
57             back_button.sensitive = can_go_back;
58         };
59
60         this.set_can_go_forward = function (can_go_forward)
61         {
62             forward_button.sensitive = can_go_forward;
63         };
64
65         this.set_progress = function (progress)
66         {
67             if(BrowserSettings.have_progress_bar)
68                 url_bar.set_progress_fraction(progress);
69         };
70
71         // Implementation
72         back_button.signal.clicked.connect(back);
73         forward_button.signal.clicked.connect(forward);
74         refresh_button.signal.clicked.connect(refresh);
75         url_bar.signal.activate.connect(browse);
76         grab_button.signal.clicked.connect(grab);
77
78         this.pack_start(back_button);
79         this.pack_start(forward_button);
80         
81         
82          this.pack_start(refresh_button);
83          this.pack_start(grab_button);
84         this.pack_start(url_bar, true, true);
85
86
87     }
88 });