5
0
mirror of https://github.com/wailsapp/wails.git synced 2025-05-05 03:29:52 +08:00
wails/v3/pkg/application/messageprocessor_clipboard.go
2023-08-27 15:54:01 +10:00

45 lines
1011 B
Go

package application
import (
"net/http"
)
const (
ClipboardSetText = 0
ClipboardText = 1
)
var clipboardMethods = map[int]string{
ClipboardSetText: "SetText",
ClipboardText: "Text",
}
func (m *MessageProcessor) processClipboardMethod(method int, rw http.ResponseWriter, _ *http.Request, _ *WebviewWindow, params QueryParams) {
args, err := params.Args()
if err != nil {
m.httpError(rw, "Unable to parse arguments: %s", err)
return
}
switch method {
case ClipboardSetText:
text := args.String("text")
if text == nil {
m.Error("SetText: text is required")
return
}
globalApplication.Clipboard().SetText(*text)
m.ok(rw)
m.Info("Runtime Call:", "method", "Clipboard."+clipboardMethods[method], "text", *text)
case ClipboardText:
text, _ := globalApplication.Clipboard().Text()
m.text(rw, text)
m.Info("Runtime Call:", "method", "Clipboard."+clipboardMethods[method], "text", text)
default:
m.httpError(rw, "Unknown clipboard method: %s", method)
return
}
}