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:"grab"});
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             TabbedBrowser.browser.current_tab().get_web_view().reload();
35         };
36
37         var browse = function (url)
38         {
39             TabbedBrowser.browser.current_tab().get_web_view().browse(url.text);
40         };
41
42         var grab = function(){
43                 //TabbedBrowser.browser.current_tab().get_web_view().reload();
44             // use File.
45         
46             TabbedBrowser.browser.current_tab().get_web_view().execute_script(
47                 "document.body.innerHTML += 'TEST';"
48                 
49             );
50         
51             print('test');
52         };
53
54         // Public
55         this.set_url = function (url)
56         {
57             url_bar.text = url;
58         };
59
60         this.set_can_go_back = function (can_go_back)
61         {
62             back_button.sensitive = can_go_back;
63         };
64
65         this.set_can_go_forward = function (can_go_forward)
66         {
67             forward_button.sensitive = can_go_forward;
68         };
69
70         this.set_progress = function (progress)
71         {
72             if(BrowserSettings.have_progress_bar)
73                 url_bar.set_progress_fraction(progress);
74         };
75
76         // Implementation
77         back_button.signal.clicked.connect(back);
78         forward_button.signal.clicked.connect(forward);
79         refresh_button.signal.clicked.connect(refresh);
80         url_bar.signal.activate.connect(browse);
81         grab_button.signal.clicked.connect(grab);
82
83         this.pack_start(back_button);
84         this.pack_start(forward_button);
85         
86         
87          this.pack_start(refresh_button);
88          this.pack_start(grab_button);
89         this.pack_start(url_bar, true, true);
90
91
92     }
93 });