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))
|
(local { : view } (require :fennel))
|
||||||
|
|
||||||
(fn new-buffer [name]
|
(fn new-buffer [name]
|
||||||
|
(var property-change-listener nil)
|
||||||
(let [props {}
|
(let [props {}
|
||||||
widget (WebKit2.WebView {
|
widget (WebKit2.WebView {
|
||||||
;; :on_decide_policy
|
;; :on_decide_policy
|
||||||
@ -19,11 +20,16 @@
|
|||||||
(when (not (= pspec.name :parent))
|
(when (not (= pspec.name :parent))
|
||||||
(let [val (. self pspec.name)]
|
(let [val (. self pspec.name)]
|
||||||
(tset props pspec.name val)
|
(tset props pspec.name val)
|
||||||
;(listeners:notify pspec.name val)
|
(when property-change-listener
|
||||||
)))
|
(property-change-listener
|
||||||
|
pspec.name val)))
|
||||||
|
))
|
||||||
})]
|
})]
|
||||||
{:webview widget
|
{:webview widget
|
||||||
:name name
|
:name name
|
||||||
|
:subscribe-property-changes
|
||||||
|
(fn [self cb]
|
||||||
|
(set property-change-listener cb))
|
||||||
:location #(widget:get_uri)
|
:location #(widget:get_uri)
|
||||||
:visit (fn [_ u] (widget:load_uri u))
|
:visit (fn [_ u] (widget:load_uri u))
|
||||||
:properties props}))
|
:properties props}))
|
||||||
|
@ -183,6 +183,9 @@
|
|||||||
:widget box
|
:widget box
|
||||||
: prompt
|
: prompt
|
||||||
: frame
|
: frame
|
||||||
|
:set-inactive-text (fn [self text]
|
||||||
|
(when (not self.state.active)
|
||||||
|
(tset entry :text text)))
|
||||||
:completions-widget completions
|
:completions-widget completions
|
||||||
}]
|
}]
|
||||||
(hbox:pack_start prompt false false 15)
|
(hbox:pack_start prompt false false 15)
|
||||||
|
14
frame.fnl
14
frame.fnl
@ -30,7 +30,14 @@
|
|||||||
contentwidget (Gtk.Box {
|
contentwidget (Gtk.Box {
|
||||||
:orientation Gtk.Orientation.VERTICAL
|
: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
|
(tset window :on_key_release_event
|
||||||
(fn [window event]
|
(fn [window event]
|
||||||
@ -58,6 +65,11 @@
|
|||||||
(w:hide))
|
(w:hide))
|
||||||
(tset self :buffer b)
|
(tset self :buffer b)
|
||||||
(contentwidget:pack_start b.webview true true 0)
|
(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))
|
(b.webview:show))
|
||||||
}]
|
}]
|
||||||
(lume.extend self f)
|
(lume.extend self f)
|
||||||
|
Loading…
Reference in New Issue
Block a user