Compare commits
7 Commits
58f052a3d2
...
1816edd50f
Author | SHA1 | Date |
---|---|---|
Fierelier | 1816edd50f | |
Fierelier | 967cfc67de | |
Fierelier | a575b5f4cf | |
Fierelier | 68c96f9fcc | |
Fierelier | c04c2ccc08 | |
Fierelier | da063b736c | |
Fierelier | 3a1832923d |
|
@ -8,9 +8,11 @@ gi.require_version("Gtk","3.0")
|
|||
gi.require_version("WebKit2","4.0")
|
||||
from gi.repository import Gtk,WebKit2
|
||||
|
||||
def createWebView(*args,**kwargs):
|
||||
webView = WebKit2.WebView.new()
|
||||
return webView
|
||||
def createWebView(*args,relatedWebView = None,**kwargs):
|
||||
if relatedWebView != None:
|
||||
return WebKit2.WebView.new_with_related_view(relatedWebView)
|
||||
else:
|
||||
return WebKit2.WebView.new()
|
||||
|
||||
def init():
|
||||
global event
|
||||
|
|
|
@ -25,8 +25,7 @@ def onClose(obj):
|
|||
if len(browser.windows) == 0:
|
||||
Gtk.main_quit()
|
||||
|
||||
def addWebView(window,index = -1):
|
||||
webView = browser.createWebView()
|
||||
def addWebView(window,webView,index = -1):
|
||||
if index == -1:
|
||||
window.cWebViews.append(webView)
|
||||
else:
|
||||
|
@ -34,9 +33,8 @@ def addWebView(window,index = -1):
|
|||
|
||||
window.cMain.add(webView)
|
||||
browser.event.trigger("webview:created",webView)
|
||||
return webView
|
||||
|
||||
def create(url = sys.argv[1]):
|
||||
def create(url = sys.argv[1],webViews = None):
|
||||
self = mfp.Bunch()
|
||||
obj = Gtk.Window()
|
||||
self.obj = obj
|
||||
|
@ -56,8 +54,16 @@ def create(url = sys.argv[1]):
|
|||
obj.connect("destroy",onClose)
|
||||
|
||||
obj.cWebViews = []
|
||||
webView = addWebView(obj)
|
||||
webView.load_uri(url)
|
||||
if webViews == None: webViews = []
|
||||
if len(webViews) < 1:
|
||||
webViews.append(browser.createWebView())
|
||||
addWebView(obj,webViews[0])
|
||||
webViews[0].load_uri(url)
|
||||
else:
|
||||
for webView in webViews:
|
||||
addWebView(obj,webView)
|
||||
|
||||
webView = webViews[0]
|
||||
obj.set_focus(webView)
|
||||
onResize(obj)
|
||||
obj.show_all()
|
||||
|
|
|
@ -1,19 +1,27 @@
|
|||
# Base
|
||||
userModules
|
||||
title
|
||||
favicon
|
||||
history
|
||||
newWindow
|
||||
|
||||
# Settings
|
||||
settings
|
||||
settingsNoHardwareAccel
|
||||
settingsPerformanceCPU
|
||||
settingsPerformanceRAM
|
||||
|
||||
# Content
|
||||
content
|
||||
contentStylePerformance01
|
||||
contentStylePerformance02
|
||||
#contentStylePerformance03
|
||||
#contentStylePerformance04
|
||||
|
||||
# Context menu
|
||||
contextMenu
|
||||
contextMenuWindow
|
||||
contextMenuGo
|
||||
contextMenuGo
|
||||
|
||||
# Overrides
|
||||
#singleProcess
|
|
@ -5,7 +5,9 @@ from gi.repository import Gtk,WebKit2
|
|||
browser = mfp.require("browser")
|
||||
contentManager = WebKit2.UserContentManager.new()
|
||||
|
||||
def f(*args,**kwargs):
|
||||
webView = WebKit2.WebView.new_with_user_content_manager(contentManager)
|
||||
return webView
|
||||
def f(*args,relatedWebView = None,**kwargs):
|
||||
if relatedWebView != None:
|
||||
return WebKit2.WebView.new_with_related_view(relatedWebView)
|
||||
else:
|
||||
return WebKit2.WebView.new_with_user_content_manager(contentManager)
|
||||
browser.createWebView = f
|
|
@ -31,7 +31,8 @@ def doGo(button):
|
|||
destroyedViews.append(webView) # not keeping a reference makes gtk sad.. i should probably report this.
|
||||
if len(destroyedViews) > 10: destroyedViews.pop(0)
|
||||
webView.destroy()
|
||||
webView = browserWindow.addWebView(mainWindow,webViewIndex)
|
||||
webView = browser.createWebView()
|
||||
browserWindow.addWebView(mainWindow,webView,webViewIndex)
|
||||
browserWindow.onResize(mainWindow)
|
||||
mainWindow.show_all()
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
def newAction(status):
|
||||
browser = mfp.require("browser")
|
||||
browser.windows.append(mfp.require("browser").module.require(mfp.p("window","browser.py")).create("about:blank"))
|
||||
browser.windows.append(browser.module.require(mfp.p("window","browser.py")).create("about:blank"))
|
||||
|
||||
def addNew(status):
|
||||
status.addon.addItem(status,"New window",newAction)
|
||||
|
|
|
@ -0,0 +1,22 @@
|
|||
import gi
|
||||
gi.require_version("WebKit2","4.0")
|
||||
from gi.repository import WebKit2
|
||||
|
||||
browser = mfp.require("browser")
|
||||
eventHandler = mfp.Bunch()
|
||||
|
||||
def decidePolicy(webView,decision,decisionType):
|
||||
if decisionType == WebKit2.PolicyDecisionType.NEW_WINDOW_ACTION:
|
||||
webView.cNewWindow = True
|
||||
decision.use()
|
||||
return False
|
||||
|
||||
def create(webView,navigationAction):
|
||||
newWebView = browser.createWebView()
|
||||
browser.windows.append(browser.module.require(mfp.p("window","browser.py")).create(webViews=[newWebView]))
|
||||
newWebView.load_request(navigationAction.get_request())
|
||||
|
||||
def onWebviewCreated(webView):
|
||||
webView.connect("decide-policy",decidePolicy)
|
||||
webView.connect("create",create)
|
||||
eventHandler["webview:created"] = onWebviewCreated
|
|
@ -0,0 +1,16 @@
|
|||
import gi
|
||||
gi.require_version("WebKit2","4.0")
|
||||
from gi.repository import Gtk,WebKit2
|
||||
|
||||
browser = mfp.require("browser")
|
||||
browserWindow = browser.module.require(mfp.p("window","browser.py"))
|
||||
oldCreateWebView = browser.createWebView
|
||||
|
||||
def f(*args,relatedWebView = None,**kwargs):
|
||||
if len(browser.windows) < 1:
|
||||
return oldCreateWebView(*args,relatedWebView=relatedWebView,**kwargs)
|
||||
|
||||
for window in browser.windows:
|
||||
for webview in window.obj.cWebViews:
|
||||
return oldCreateWebView(*args,relatedWebView=webview,**kwargs)
|
||||
browser.createWebView = f
|
Loading…
Reference in New Issue