hook up progress-bar, uri display
the road to callback hell is plagued with good intentions: I am not unwilling to revisit this code if it gets any more gnarly
This commit is contained in:
parent
39735be891
commit
64d4dfe2ff
10
buffer.fnl
10
buffer.fnl
@ -2,6 +2,7 @@
|
||||
(local { : view } (require :fennel))
|
||||
|
||||
(fn new-buffer [name]
|
||||
(var property-change-listener nil)
|
||||
(let [props {}
|
||||
widget (WebKit2.WebView {
|
||||
;; :on_decide_policy
|
||||
@ -19,11 +20,16 @@
|
||||
(when (not (= pspec.name :parent))
|
||||
(let [val (. self pspec.name)]
|
||||
(tset props pspec.name val)
|
||||
;(listeners:notify pspec.name val)
|
||||
)))
|
||||
(when property-change-listener
|
||||
(property-change-listener
|
||||
pspec.name val)))
|
||||
))
|
||||
})]
|
||||
{:webview widget
|
||||
:name name
|
||||
:subscribe-property-changes
|
||||
(fn [self cb]
|
||||
(set property-change-listener cb))
|
||||
:location #(widget:get_uri)
|
||||
:visit (fn [_ u] (widget:load_uri u))
|
||||
:properties props}))
|
||||
|
@ -183,6 +183,9 @@
|
||||
:widget box
|
||||
: prompt
|
||||
: frame
|
||||
:set-inactive-text (fn [self text]
|
||||
(when (not self.state.active)
|
||||
(tset entry :text text)))
|
||||
:completions-widget completions
|
||||
}]
|
||||
(hbox:pack_start prompt false false 15)
|
||||
|
14
frame.fnl
14
frame.fnl
@ -30,7 +30,14 @@
|
||||
contentwidget (Gtk.Box {
|
||||
:orientation Gtk.Orientation.VERTICAL
|
||||
})
|
||||
]
|
||||
update-prop (fn [name value]
|
||||
(match name
|
||||
:estimated-load-progress
|
||||
(tset progress-bar :fraction value)
|
||||
:uri
|
||||
(commander:set-inactive-text value)
|
||||
n
|
||||
(comment (print "prop change" n value))))]
|
||||
|
||||
(tset window :on_key_release_event
|
||||
(fn [window event]
|
||||
@ -58,6 +65,11 @@
|
||||
(w:hide))
|
||||
(tset self :buffer b)
|
||||
(contentwidget:pack_start b.webview true true 0)
|
||||
(b:subscribe-property-changes
|
||||
(fn [name val]
|
||||
(if (= b self.buffer)
|
||||
(update-prop name val)
|
||||
(print "ignore props from background" b))))
|
||||
(b.webview:show))
|
||||
}]
|
||||
(lume.extend self f)
|
||||
|
Loading…
Reference in New Issue
Block a user