Example #1
0
 def __init__(self, ephemeral=False, parent=None, webview=None):
     """
         Init view
         @param ephemeral as bool
         @param as parent as View
         @param webview as WebView
     """
     Gtk.Overlay.__init__(self)
     self.__reading_view = None
     self.__parent = parent
     if parent is not None:
         parent.connect("destroy", self.__on_parent_destroy)
     if webview is None:
         if ephemeral:
             self.__webview = WebView.new_ephemeral()
         else:
             self.__webview = WebView.new()
     else:
         self.__webview = webview
     self.__webview.show()
     self.__find_widget = FindWidget(self.__webview)
     self.__find_widget.show()
     grid = Gtk.Grid()
     grid.set_orientation(Gtk.Orientation.VERTICAL)
     grid.add(self.__find_widget)
     grid.add(self.__webview)
     grid.show()
     self.add(grid)
     self.__uri_label = UriLabel()
     self.add_overlay(self.__uri_label)
     self.__webview.connect("mouse-target-changed",
                            self.__on_mouse_target_changed)
Example #2
0
 def get_new_webview(ephemeral):
     """
         Get a new webview
         @return webview as WebView
     """
     if ephemeral:
         return WebView.new_ephemeral()
     else:
         return WebView.new()
Example #3
0
 def get_new_webview(ephemeral, window):
     """
         Get a new webview
         @return webview as WebView
         @param window as Window
     """
     if ephemeral:
         return WebView.new_ephemeral(window)
     else:
         return WebView.new(window)
Example #4
0
 def switch_read_mode(self):
     """
         Show a readable version of page if available.
         If in read mode, switch back to page
         If force, always go in read mode
         @param force as bool
     """
     system = Gio.Settings.new("org.gnome.desktop.interface")
     document_font_name = system.get_value(
         "document-font-name").get_string()
     document_font_size = str(int(document_font_name[-2:]) * 1.3) + "pt"
     if self.__reading_view is None:
         self.__reading_view = WebView.new(self._window)
         self.__reading_view.show()
         self.add_overlay(self.__reading_view)
         if self.__webview.readable_content:
             self.__in_read_mode = True
             html = "<html><head>\
                     <style type='text/css'>\
                     *:not(img) {font-size: %s;\
                         background-color: #333333;\
                         color: #e6e6e6;\
                         margin-left: auto;\
                         margin-right: auto;\
                         width: %s}\
                     </style></head>" % (document_font_size,
                                         self.get_allocated_width() / 1.5)
             html += "<title>%s</title>" % self.__webview.get_title()
             html += self.__webview.readable_content
             html += "</html>"
             GLib.idle_add(self.__reading_view.load_html, html, None)
     else:
         self.__reading_view.destroy()
         self.__reading_view = None
Example #5
0
 def __on_create(self, related, navigation_action):
     """
         Create a new view for action
         @param related as WebView
         @param navigation_action as WebKit2.NavigationAction
     """
     # Block popups, see WebView::set_popup_exception() for details
     popup_block = El().settings.get_value("popupblock")
     parsed_request = urlparse(navigation_action.get_request().get_uri())
     parsed_related = urlparse(related.get_uri())
     exception = El().adblock.is_an_exception(parsed_related.netloc) or\
         El().adblock.is_an_exception(parsed_related.netloc +
                                      parsed_related.path) or\
         parsed_request.netloc == parsed_related.netloc
     if not exception and popup_block and\
             navigation_action.get_navigation_type() in [
                            WebKit2.NavigationType.OTHER,
                            WebKit2.NavigationType.RELOAD,
                            WebKit2.NavigationType.BACK_FORWARD] and\
             parsed_request.netloc != related.popup_exception:
         related.set_popup_exception(parsed_request.netloc)
         return
     from eolie.view_web import WebView
     webview = WebView.new_with_related_view(related)
     webview.connect("ready-to-show", self.__on_ready_to_show)
     return webview
Example #6
0
 def __on_new_page(self, webview, uri, window_type):
     """
         Open a new page, switch to view if show is True
         @param webview as WebView
         @param uri as str
         @param window_type as Gdk.WindowType
     """
     if uri:
         if window_type == Gdk.WindowType.SUBSURFACE:
             if webview.ephemeral:
                 webview = WebView.new_ephemeral()
             else:
                 webview = WebView.new()
             self.popup_webview(webview)
             GLib.idle_add(webview.load_uri, uri)
         else:
             parent = self.__get_view_for_webview(webview)
             self.add_webview(uri, window_type, webview.ephemeral, parent)
 def __on_new_page(self, webview, uri, window_type):
     """
         Open a new page, switch to view if show is True
         @param webview as WebView
         @param uri as str
         @param window_type as Gdk.WindowType
     """
     if uri:
         if window_type == Gdk.WindowType.SUBSURFACE:
             if webview.ephemeral:
                 webview = WebView.new_ephemeral(self._window)
             else:
                 webview = WebView.new(self._window)
             self._window.container.popup_webview(webview, True)
             GLib.idle_add(webview.load_uri, uri)
         else:
             self._window.container.add_webview(uri, window_type,
                                                webview.ephemeral, self)
Example #8
0
 def __on_create(self, related, navigation_action):
     """
         Create a new view for action
         @param related as WebView
         @param navigation_action as WebKit2.NavigationAction
         @param force as bool
     """
     webview = WebView.new_with_related_view(related)
     webview.connect("ready-to-show", self.__on_ready_to_show, related,
                     navigation_action)
     return webview