make viewplex track the events it should relay for
This commit is contained in:
parent
140cac0dfe
commit
a8345a1734
@ -60,21 +60,31 @@
|
|||||||
|
|
||||||
(local
|
(local
|
||||||
Viewplex
|
Viewplex
|
||||||
|
(let [relay-events []]
|
||||||
{
|
{
|
||||||
:new
|
:new
|
||||||
#(let [listeners (Listeners.new)
|
#(let [listeners (Listeners.new)
|
||||||
widget (Gtk.Notebook {
|
widget (Gtk.Notebook {
|
||||||
:show_tabs false
|
:show_tabs false
|
||||||
;;# :on_switch_page
|
;;# :on_switch_page
|
||||||
})]
|
})
|
||||||
|
views []]
|
||||||
(var foreground-view nil)
|
(var foreground-view nil)
|
||||||
{
|
{
|
||||||
:listen #(listeners:add $2 $3)
|
:listen (fn [_ name fun]
|
||||||
|
(if (not (. relay-events name))
|
||||||
|
(each [_ v (ipairs views)]
|
||||||
|
(v:listen name #(listeners:notify name $1))))
|
||||||
|
(table.insert relay-events name)
|
||||||
|
(listeners:add name fun))
|
||||||
:widget widget
|
:widget widget
|
||||||
:add-view (fn [self webview]
|
:add-view (fn [self webview]
|
||||||
(set foreground-view webview)
|
(set foreground-view webview)
|
||||||
(webview.widget:show)
|
(webview.widget:show)
|
||||||
(webview:listen :uri #(listeners:notify :uri $1))
|
(table.insert views webview)
|
||||||
|
(each [_ event-name (ipairs relay-events)]
|
||||||
|
(webview:listen event-name
|
||||||
|
#(listeners:notify event-name $1)))
|
||||||
(set widget.page
|
(set widget.page
|
||||||
(widget:append_page webview.widget)))
|
(widget:append_page webview.widget)))
|
||||||
:visit #(and foreground-view (foreground-view:visit $2))
|
:visit #(and foreground-view (foreground-view:visit $2))
|
||||||
@ -82,8 +92,9 @@
|
|||||||
(foreground-view:stop-loading))
|
(foreground-view:stop-loading))
|
||||||
:refresh #(and foreground-view (foreground-view:refresh))
|
:refresh #(and foreground-view (foreground-view:refresh))
|
||||||
:go-back #(and foreground-view (foreground-view:go-back))
|
:go-back #(and foreground-view (foreground-view:go-back))
|
||||||
})
|
}
|
||||||
})
|
)}))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user