from gi.repository import Gtk, WebKit
builder = Gtk.Builder()
builder.add_from_file("pybrowse.glade")
window = builder.get_object("mainWindow")
webview = WebKit.WebView()
def onLoad(webview, stat_type):
if webview.get_load_status() == WebKit.LoadStatus.FINISHED:
builder.get_object("goTxt").set_text(webview.get_uri())
window.set_title(webview.get_title())
webview.connect("notify::load-status", onLoad)
mv = builder.get_object("mainview")
mv.add(webview)
class SigHandler(object):
eval_model = builder.get_object('historyModel')
def goBtn_clicked_cb(self, v):
print(self,v)
webview.load_uri(v.get_text())
eval_locals = dict()
def evalBtn_clicked_cb(self, v):
txt = v.get_text()
exec(txt, globals(), self.eval_locals)
self.eval_model.append([txt])
def row_activated(self, s, *a):
model, itr = s.get_selected()
eval_txt = builder.get_object('evalTxt')
eval_txt.set_text(model[itr][0])
eval_txt.grab_focus()
def row_added(self, *a):
print('row_added')
print(a)
builder.connect_signals(SigHandler())
window.connect("delete-event", Gtk.main_quit)
window.show_all()
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('uri', nargs='?', default='http://google.com')
args = parser.parse_args()
webview.load_uri(args.uri)
Gtk.main()