Files

45 lines
1011 B
Go
Raw Permalink Normal View History

2023-02-06 20:50:11 +11:00
package application
import (
"net/http"
)
2023-08-24 20:24:08 +10:00
const (
ClipboardSetText = 0
ClipboardText = 1
)
var clipboardMethods = map[int]string{
ClipboardSetText: "SetText",
ClipboardText: "Text",
}
2023-09-28 11:38:59 -05:00
func (m *MessageProcessor) processClipboardMethod(method int, rw http.ResponseWriter, _ *http.Request, _ Window, params QueryParams) {
2023-08-24 20:24:08 +10:00
args, err := params.Args()
if err != nil {
2023-09-08 12:03:55 +10:00
m.httpError(rw, "Unable to parse arguments: %s", err.Error())
2023-08-24 20:24:08 +10:00
return
}
2023-02-06 20:50:11 +11:00
switch method {
2023-08-24 20:24:08 +10:00
case ClipboardSetText:
text := args.String("text")
2023-08-18 09:35:03 +10:00
if text == nil {
2023-02-06 20:50:11 +11:00
m.Error("SetText: text is required")
return
}
2023-08-18 09:35:03 +10:00
globalApplication.Clipboard().SetText(*text)
2023-02-06 20:50:11 +11:00
m.ok(rw)
2023-08-24 20:24:08 +10:00
m.Info("Runtime Call:", "method", "Clipboard."+clipboardMethods[method], "text", *text)
case ClipboardText:
2023-06-11 11:47:50 +10:00
text, _ := globalApplication.Clipboard().Text()
2023-02-06 20:50:11 +11:00
m.text(rw, text)
2023-08-24 20:24:08 +10:00
m.Info("Runtime Call:", "method", "Clipboard."+clipboardMethods[method], "text", text)
2023-02-06 20:50:11 +11:00
default:
2023-09-08 12:03:55 +10:00
m.httpError(rw, "Unknown clipboard method: %d", method)
2023-08-24 20:24:08 +10:00
return
2023-02-06 20:50:11 +11:00
}
}