mirror of
https://github.com/wailsapp/wails.git
synced 2025-05-04 05:01:49 +08:00
Update windowSetupSignalHandlers & linux events
This commit is contained in:
parent
b6c5d90c9d
commit
6b0daf3da9
@ -1005,6 +1005,33 @@ func handleLoadChanged(webview *C.WebKitWebView, event C.WebKitLoadEvent, data C
|
||||
}
|
||||
}
|
||||
|
||||
func windowSetupSignalHandlers(windowId uint, window, webview pointer, emit func(e events.WindowEventType)) {
|
||||
|
||||
c := NewCalloc()
|
||||
defer c.Free()
|
||||
|
||||
winID := unsafe.Pointer(uintptr(C.uint(windowId)))
|
||||
|
||||
// Set up the window close event
|
||||
C.signal_connect(unsafe.Pointer(window), c.String("delete-event"), C.handleDeleteEvent, winID)
|
||||
C.signal_connect(unsafe.Pointer(webview), c.String("load-changed"), C.handleLoadChanged, winID)
|
||||
|
||||
contentManager := C.webkit_web_view_get_user_content_manager((*C.WebKitWebView)(webview))
|
||||
C.signal_connect(unsafe.Pointer(contentManager), c.String("script-message-received::external"), C.sendMessageToBackend, nil)
|
||||
C.signal_connect(unsafe.Pointer(webview), c.String("button-press-event"), C.onButtonEvent, winID)
|
||||
C.signal_connect(unsafe.Pointer(webview), c.String("button-release-event"), C.onButtonEvent, winID)
|
||||
C.signal_connect(unsafe.Pointer(webview), c.String("key-press-event"), C.onKeyPressEvent, winID)
|
||||
|
||||
}
|
||||
|
||||
//export handleLoadChanged
|
||||
func handleLoadChanged(webview *C.WebKitWebView, event C.WebKitLoadEvent, data C.uintptr_t) {
|
||||
switch event {
|
||||
case C.WEBKIT_LOAD_FINISHED:
|
||||
processWindowEvent(C.uint(data), C.uint(events.Linux.WindowLoadChanged))
|
||||
}
|
||||
}
|
||||
|
||||
func (w *linuxWebviewWindow) setupSignalHandlers(emit func(e events.WindowEventType)) {
|
||||
|
||||
c := NewCalloc()
|
||||
|
@ -5,11 +5,12 @@ package application
|
||||
import "C"
|
||||
import (
|
||||
"fmt"
|
||||
"math"
|
||||
|
||||
"github.com/wailsapp/wails/v3/internal/assetserver"
|
||||
"github.com/wailsapp/wails/v3/internal/capabilities"
|
||||
"github.com/wailsapp/wails/v3/internal/runtime"
|
||||
"github.com/wailsapp/wails/v3/pkg/events"
|
||||
"math"
|
||||
)
|
||||
|
||||
type dragInfo struct {
|
||||
|
Loading…
Reference in New Issue
Block a user