Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # -*- Mode: Python; coding: utf-8; indent-tabs-mode: nil; tab-width: 4 -*-
- ### BEGIN LICENSE
- # This file is in the public domain
- ### END LICENSE
- from locale import gettext as _
- from gi.repository import Gtk, WebKit # pylint: disable=E0611
- import logging
- logger = logging.getLogger('optimus')
- from optimus_lib import Window
- from optimus.AboutOptimusDialog import AboutOptimusDialog
- from optimus.PreferencesOptimusDialog import PreferencesOptimusDialog
- # See optimus_lib.Window.py for more details about how this class works
- class OptimusWindow(Window):
- __gtype_name__ = "OptimusWindow"
- def finish_initializing(self, builder): # pylint: disable=E1002
- """Set up the main window"""
- super(OptimusWindow, self).finish_initializing(builder)
- self.AboutDialog = AboutOptimusDialog
- self.PreferencesDialog = PreferencesOptimusDialog
- # Code for other initialization actions should be added here.
- self.refreshbutton = self.builder.get_object("refreshbutton")
- self.urlentry = self.builder.get_object("urlentry")
- self.backbutton = self.builder.get_object("backbutton")
- self.forwardbutton = self.builder.get_object("forwardbutton")
- self.notebook = self.builder.get_object("notebook1")
- self.tab = self.builder.get_object("addtab")
- self.webview = WebKit.WebView()
- self.webview.connect("title-changed", self.on_title_changed)
- self.webview.connect("load-started", self.on_load_started)
- self.webview.connect("load-finished", self.on_load_finished)
- self.notebook.connect("switch-page", self._tab_changed)
- self.scrolledwindow = self.builder.get_object("scrolledwindow")
- self.window = self.builder.get_object("window")
- self.notebook.show()
- self.scrolledwindow.add(self.webview)
- self.webview.show()
- self.webview.open("http://google.com")
- self.tabs = []
- self.backbutton.set_sensitive(False)
- self.forwardbutton.set_sensitive(False)
- self.webview.settings=WebKit.WebSettings()
- useragent=self.webview.settings.get_property('user-agent')
- devsettings=self.webview.settings.get_property('enable-developer-extras')
- self.num = 0
- self.webview.settings.set_property('enable-developer-extras', True)
- self.webview.settings.set_property('user-agent', 'Optimus Browser')
- self.webview.set_settings(self.webview.settings)
- def on_urlentry_activate(self, widget):
- if self.webview.can_go_back():
- self.backbutton.set_sensitive(True)
- def _tab_changed(self, notebook, current_page, index):
- print self.notebook.get_current_page()
- def get_pages(self):
- subjectNum = self.notebook.get_current_page()
- pages = self.notebook.get_nth_page(subjectNum)
- return pages
- def on_refreshbutton_clicked(self, widget):
- self.webview.reload()
- def on_addtab_clicked(self, widget):
- self.num = self.num + 1
- self.newtablabel = Gtk.Label(self.num)
- self.newpagelabel = Gtk.ScrolledWindow()
- self.notebook.insert_page(self.newpagelabel, self.newtablabel, self.num)
- self.scrolledwindow.add(self.webview)
- print self.notebook.get_current_page()
- print self.num
- self.get_pages()
- self.notebook.show_all()
- self.show_all()
- def on_backbutton_clicked(self, widget):
- self.webview.go_back()
- def on_forwardbutton_clicked(self, widget):
- self.webview.go_forward()
- def on_urlentry_activate(self, widget):
- url = widget.get_text()
- if ' ' in url:
- url = 'https://www.google.ca/search?q=' + url
- self.urlentry.set_text(url)
- elif '.' not in url:
- url = 'https://www.google.ca/search?q=' + url
- self.urlentry.set_text(url)
- elif not url.startswith('http'):
- url = 'http://' + url
- self.urlentry.set_text(url)
- self.webview.open(url)
- def on_title_changed(self, webview, frame, title):
- self.set_title(title)
- def on_load_started(self, webview, frame):
- print 'Loaded'
- def on_load_finished(self, webview, frame):
- self.set_title(frame.get_title())
- if self.webview.can_go_back():
- self.backbutton.set_sensitive(True)
- else:
- self.backbutton.set_sensitive(False)
- if self.webview.can_go_forward():
- self.forwardbutton.set_sensitive(True)
- else:
- self.forwardbutton.set_sensitive(False)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement