BrowserToolbar.js
authorChris <chris@roojs.com>
Tue, 17 Sep 2013 09:24:11 +0000 (17:24 +0800)
committerChris <chris@roojs.com>
Tue, 17 Sep 2013 09:24:11 +0000 (17:24 +0800)
Attribute Changed :BrowserToolbar.js

BrowserToolbar.js [new file with mode: 0644]

diff --git a/BrowserToolbar.js b/BrowserToolbar.js
new file mode 100644 (file)
index 0000000..0038acc
--- /dev/null
@@ -0,0 +1,118 @@
+Gtk = imports.gi.Gtk;
+
+BrowserSettings = imports.BrowserSettings;
+TabbedBrowser = imports.TabbedBrowser;
+File = imports.File.File;
+
+
+
+BrowserToolbar = new GType({
+    parent: Gtk.HBox.type,
+    name: "BrowserToolbar",
+    init: function ()
+    {
+        // Private
+        var url_bar = new Gtk.Entry();
+
+        var back_button = new Gtk.ToolButton({stock_id:"gtk-go-back"});
+        var forward_button = new Gtk.ToolButton({stock_id:"gtk-go-forward"});
+        var refresh_button = new Gtk.ToolButton({stock_id:"gtk-refresh"});
+        var grab_button = new Gtk.ToolButton({label:"mirror"});
+        var nsgrab_button = new Gtk.ToolButton({label:"netsuite grab"});
+        
+        
+        var back = function ()
+        {
+            TabbedBrowser.browser.current_tab().get_web_view().go_back();
+        };
+
+        var forward = function ()
+        {
+            TabbedBrowser.browser.current_tab().get_web_view().go_forward();
+        };
+
+        var refresh = function ()
+        {
+            
+            
+            TabbedBrowser.browser.current_tab().get_web_view().reload();
+            
+            /*TabbedBrowser.browser.current_tab().get_web_view().signals.onload_event(function() {
+           
+                print("Sending gather links");
+                TabbedBrowser.browser.current_tab().get_web_view().execute_script(
+                    "gatherlinks();"
+                    
+                );
+             });
+            */
+
+        };
+
+        var browse = function (url)
+        {
+            TabbedBrowser.browser.current_tab().get_web_view().browse(url.text);
+        };
+
+       var grab = function(){
+            print("sedning gather links (Start)");
+            TabbedBrowser.browser.current_tab().get_web_view().add_inject();
+            TabbedBrowser.browser.current_tab().get_web_view().execute_script(
+                "BrowserMirror.gatherlinks();"
+            );
+    
+           // print('test');
+       };
+        var nsgrab = function(){
+            print("sedning ns gather links (Start)");
+            TabbedBrowser.browser.current_tab().get_web_view().add_nsinject();
+            TabbedBrowser.browser.current_tab().get_web_view().nsdownloadNext();
+    
+           // print('test');
+       };
+        
+        
+        
+         
+        // Public
+        this.set_url = function (url)
+        {
+            url_bar.text = url;
+        };
+
+        this.set_can_go_back = function (can_go_back)
+        {
+            back_button.sensitive = can_go_back;
+        };
+
+        this.set_can_go_forward = function (can_go_forward)
+        {
+            forward_button.sensitive = can_go_forward;
+        };
+
+        this.set_progress = function (progress)
+        {
+            if(BrowserSettings.have_progress_bar)
+                url_bar.set_progress_fraction(progress);
+        };
+
+        // Implementation
+        back_button.signal.clicked.connect(back);
+        forward_button.signal.clicked.connect(forward);
+        refresh_button.signal.clicked.connect(refresh);
+        url_bar.signal.activate.connect(browse);
+        grab_button.signal.clicked.connect(grab);
+        nsgrab_button.signal.clicked.connect(nsgrab);
+
+        this.pack_start(back_button);
+        this.pack_start(forward_button);
+        
+        
+        this.pack_start(refresh_button);
+        this.pack_start(grab_button);
+        this.pack_start(nsgrab_button);
+        this.pack_start(url_bar, true, true);
+
+
+    }
+});