Add addon: contextMenuGo

This commit is contained in:
Fierelier 2023-01-10 15:26:23 +01:00
parent 317b00178a
commit 6f2b747e0c
1 changed files with 53 additions and 0 deletions

View File

@ -0,0 +1,53 @@
import gi
gi.require_version("Gtk","3.0")
gi.require_version("WebKit2","4.0")
from gi.repository import Gtk,WebKit2
defaultProtocol = "http"
def resizeHandler(obj,event):
onResize(obj,event.width,event.height)
def onResize(obj,width,height):
obj.cMain.move(obj.cUrlBox,5,5)
obj.cUrlBox.set_size_request(width - 10,32)
obj.cMain.move(obj.cGoButton,width - 65,height - 35)
obj.cGoButton.set_size_request(60,30)
def doGo(button):
window = button.get_toplevel()
uri = window.cUrlBox.get_text()
uri = uri.split(":",1)
if len(uri) < 2: uri = [defaultProtocol] + uri
window.cStatus.webView.load_uri(":".join(uri))
window.close()
def goAction(status):
obj = Gtk.Window()
obj.set_title("Go... (" +status.webView.cWindow.get_title()+ ")")
obj.resize(320,80)
obj.connect("configure-event",resizeHandler)
obj.cMainWrapper = Gtk.ScrolledWindow()
obj.add(obj.cMainWrapper)
obj.cMain = Gtk.Fixed()
obj.cMainWrapper.add(obj.cMain)
obj.cStatus = status
obj.cUrlBox = Gtk.Entry()
obj.cUrlBox.set_text(status.webView.get_uri())
obj.cUrlBox.connect("activate",doGo)
obj.cMain.add(obj.cUrlBox)
obj.cGoButton = Gtk.Button()
obj.cGoButton.set_label("Go!")
obj.cGoButton.connect("clicked",doGo)
obj.cMain.add(obj.cGoButton)
onResize(obj,320,80)
obj.show_all()
def addGo(status):
status.addon.addItem(status,"Go ...",goAction)
eventHandler = mfp.Bunch()
eventHandler["contextMenu:created"] = addGo