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