From 4780a3dcb7d57f4ffefd708cb6716aaa0072dfea Mon Sep 17 00:00:00 2001 From: Hans Dijkema Date: Thu, 5 Mar 2026 14:42:42 +0100 Subject: [PATCH] - --- private/lib/linux/librktwebview_qt.so | Bin 172160 -> 185104 bytes private/racket-webview-qt.rkt | 25 +++ private/racket-webview.rkt | 250 ++++++++++++++++++-------- private/utils.rkt | 72 +++++++- rktwebview_qt/command.h | 4 +- rktwebview_qt/rktwebview.cpp | 12 ++ rktwebview_qt/rktwebview.h | 2 + rktwebview_qt/rktwebview_qt.cpp | 91 ++++++++++ rktwebview_qt/rktwebview_qt.h | 2 + 9 files changed, 382 insertions(+), 76 deletions(-) diff --git a/private/lib/linux/librktwebview_qt.so b/private/lib/linux/librktwebview_qt.so index 49165c4e76c5affbf232bb5cf66dd1a756b3535e..927c26c071da541a588f7e2b164867ae8e4c4394 100755 GIT binary patch literal 185104 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 literal 172160 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 _rkt_js_result_t-pointer)) +;RKTWEBVIEW_QT_EXPORT rkt_js_result_t *rkt_webview_file_open(rktwebview_t w, const char *title, const char *base_dir, const char *permitted_exts); +(define-rktwebview rkt_webview_file_open + (_fun _int _string/utf-8 _string/utf-8 _string/utf-8 -> _rkt_js_result_t-pointer)) + +;RKTWEBVIEW_QT_EXPORT rkt_js_result_t *rkt_webview_file_save(rktwebview_t w, const char *title, const char *base_dir, const char *permitted_exts); +(define-rktwebview rkt_webview_file_save + (_fun _int _string/utf-8 _string/utf-8 _string/utf-8 -> _rkt_js_result_t-pointer)) + + ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Initialize and start library ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @@ -400,6 +411,20 @@ (rkt_webview_destroy_js_result r) (list result value))) +(define (rkt-webview-file-open wv title base-dir permitted-exts) + (let* ((r (rkt_webview_file_open (rkt-wv-win wv) title base-dir permitted-exts)) + (value (cast (rkt_js_result_t-value r) _pointer _string*/utf-8)) + (result (rkt_js_result_t-result r))) + (rkt_webview_destroy_js_result r) + (list result value))) + +(define (rkt-webview-file-save wv title base-dir permitted-exts) + (let* ((r (rkt_webview_file_save (rkt-wv-win wv) title base-dir permitted-exts)) + (value (cast (rkt_js_result_t-value r) _pointer _string*/utf-8)) + (result (rkt_js_result_t-result r))) + (rkt_webview_destroy_js_result r) + (list result value))) + ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Administration ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; diff --git a/private/racket-webview.rkt b/private/racket-webview.rkt index 74fff5f..b138d25 100644 --- a/private/racket-webview.rkt +++ b/private/racket-webview.rkt @@ -16,6 +16,9 @@ xml xml/xexpr json + (prefix-in g: gregor) + (prefix-in g: gregor/time) + gregor-utils ) (provide webview-create @@ -37,6 +40,18 @@ webview-set-title! webview-choose-dir + webview-file-open + webview-file-save + wv-permitted-exts + + make-wv-permitted-exts + wv-permitted-exts-name + wv-permitted-exts-exts + set-wv-permitted-exts-exts! + set-wv-permitted-exts-name! + wv-permitted-exts? + wv-permitted-exts-exts? + wv-list-of-permitted-exts? webview-bind! @@ -44,14 +59,16 @@ webview-set-html! webview-set-innerHTML! + webview-set-value! + webview-value webview-value/bool webview-value/symbol webview-value/number - ;webview-value/date - ;webview-value/time - ;webview-value/datetime + webview-value/date + webview-value/time + webview-value/datetime webview-add-class! webview-remove-class! @@ -60,12 +77,12 @@ webview-set-attr! webview-attr - ;webview-attr/bool - ;webview-attr/symbol - ;webview-attr/number - ;webview-attr/date - ;webview-attr/time - ;webview-attr/datetime + webview-attr/bool + webview-attr/symbol + webview-attr/number + webview-attr/date + webview-attr/time + webview-attr/datetime ;webview-del-attr! @@ -192,6 +209,63 @@ (esc-quote selector) func)))) +(define (make-exts-filter list-of-pe) + (define (mef pe) + (format "~a ~a" + (wv-permitted-exts-name pe) + (map (λ (e) (format "*.~a" e)) (wv-permitted-exts-exts pe)))) + (string-join (map mef (if (list? list-of-pe) list-of-pe (list list-of-pe))) ";;")) + +(define (filter->exts str) + (let ((re #px"^([^ ]+)\\s+[(]([^)]+)[)]")) + (let ((m (regexp-match re str))) + (cond ((eq? m #f) + #f) + (else (let* ((re1 #px"\\s+") + (re2 #px"[*][.](.*)") + (exts (regexp-split re1 (caddr m)))) + (make-wv-permitted-exts (cadr m) + (map (λ (e) + (let ((m (regexp-match re2 e))) + (string->symbol (cadr m)))) + exts)) + ) + ) + ) + ) + ) + ) + + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; Data structures +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +(define-struct wv-permitted-exts + ((name #:mutable) (exts #:mutable)) + #:transparent + ) + +(define (wv-permitted-exts-exts? e) + (list-of? symbol? e)) + +(define (wv-permitted-exts-name? e) + (string? e)) + +(define wv-pm-exts? wv-permitted-exts?) + +(set! wv-permitted-exts? (λ (e) + (and (wv-pm-exts? e) + (wv-permitted-exts-exts? (wv-permitted-exts-exts e)) + (wv-permitted-exts-name? (wv-permitted-exts-name e)) + ))) + +(define (wv-list-of-permitted-exts? l) + (list-of? (λ (e) (and + (wv-permitted-exts? e) + (wv-permitted-exts-exts? (wv-permitted-exts-exts e)))) + l)) + ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Webview functions ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @@ -267,18 +341,45 @@ (if (eq? res #f) #f (cond ((eq? (car res) 'oke) - (let ((h (fromJson (cadr res)))) - (let ((r (make-hash))) - (hash-set! r 'dir (hash-ref h 'dir)) - (hash-set! r 'state (string->symbol - (hash-ref h 'state))) - r))) + (let ((r (make-hash (hash->list (fromJson (cadr res)))))) + (hash-set! r 'state (string->symbol (hash-ref r 'state))) + r)) (else #f)) ) ) ) ) +(define (file-open-save wv title base-dir permitted-exts open-save-f) + (let* ((bd (if (path? base-dir) (path->string base-dir) base-dir)) + (ext-filter (make-exts-filter permitted-exts))) + (let ((res (open-save-f (wv-handle wv) title bd ext-filter))) + (if (eq? res #f) + #f + (cond ((eq? (car res) 'oke) + (let* ((h (make-hash (hash->list (fromJson (cadr res)))))) + (hash-set! h 'state (string->symbol (hash-ref h 'state))) + (hash-set! h 'used-filter (filter->exts (hash-ref h 'used-filter))) + h)) + (else #f)) + ) + ) + ) + ) + + +(define/contract (webview-file-open wv title base-dir permitted-exts) + (-> wv? string? (or/c path? string?) (or/c wv-permitted-exts? wv-list-of-permitted-exts?) + (or/c hash? boolean?)) + (file-open-save wv title base-dir permitted-exts rkt-webview-file-open)) + +(define/contract (webview-file-save wv title base-dir permitted-exts) + (-> wv? string? (or/c path? string?) (or/c wv-permitted-exts? wv-list-of-permitted-exts?) + (or/c hash? boolean?)) + (file-open-save wv title base-dir permitted-exts rkt-webview-file-save)) + + + (define/contract (webview-set-title! wv title) (-> wv? string? symbol?) (rkt-webview-set-title! (wv-handle wv) title)) @@ -351,7 +452,7 @@ ) (define/contract (webview-set-value! wv id val) - (-> wv? symbol? (or/c symbol? string? number? boolean?) symbol?) + (-> wv? symbol? (or/c symbol? string? number? boolean? g:date? g:time? g:datetime?) symbol?) (webview-run-js wv (with-id id el ((string-append @@ -361,7 +462,17 @@ " el.value = '~a';\n" "}") (if (eq? val #f) "false" "true") - (esc-quote (format "~a" val)))) + (cond + ([(g:date? val)] + (date->string val)) + ([(g:time? val)] + (time->string val)) + ([(g:datetime? val)] + (datetime->string val)) + (else + (esc-quote (format "~a" val)))) + ) + ) ) ) @@ -381,28 +492,26 @@ #f v))) -(define/contract (webview-value/number wv id) - (-> wv? symbol? (or/c number? boolean?)) - (let ((v (webview-value wv id))) - (if (eq? v #f) - #f - (string->number (webview-value wv id))))) +(define-syntax wvv + (syntax-rules () + ((_ name type-pred? convert) + (define/contract (name wv id) + (-> wv? symbol? (or/c type-pred? boolean?)) + (let ((v (webview-value wv id))) + (if (eq? v #f) + #f + (convert v)))) + ) + ) + ) -(define/contract (webview-value/symbol wv id) - (-> wv? symbol? (or/c symbol? boolean?)) - (let ((v (webview-value wv id))) - (if (eq? v #f) - #f - (string->symbol (webview-value wv id))))) +(wvv webview-value/time g:time? string->time) +(wvv webview-value/date g:date? string->date) +(wvv webview-value/datetime g:datetime? string->datetime) +(wvv webview-value/number number? string->number) +(wvv webview-value/symbol symbol? string->symbol) +(wvv webview-value/bool boolean? (λ (e) (if (string=? e "true") #t #f))) -(define/contract (webview-value/bool wv id) - (-> wv? symbol? (or/c symbol? boolean?)) - (let ((v (webview-value wv id))) - (if (eq? v #f) - 'fail - (if (string=? (webview-value wv id) "true") - #t - #f)))) (define/contract (webview-add-class! wv id-or-selector class) (-> wv? (or/c symbol? string?) (or/c symbol? string? list?) hash?) @@ -496,13 +605,22 @@ ) (define/contract (webview-set-attr! wv selector attr-entries) - (-> wv? (or/c symbol? string?) (or/c kv? list-of-kv?) hash?) - (let ((sel (if (symbol? selector) - (format "#~a" selector) - selector)) - (cl (mk-js-array (if (kv? attr-entries) - (list attr-entries) - attr-entries))) + (-> wv? (or/c symbol? string?) + (or/c kv? list-of-kv?) hash?) + (let* ((sel (if (symbol? selector) + (format "#~a" selector) + selector)) + (ae* (if (kv? attr-entries) (list attr-entries) attr-entries)) + (ae** (map (λ (kv) + (let ((v (kv-2 kv))) + (make-kv (kv-1 kv) + (cond + ([g:date? v] (date->string v)) + ([g:time? v] (time->string v)) + ([g:datetime? v] (datetime->string v)) + (else (format "~a" v)))) + )) ae*)) + (cl (mk-js-array ae**)) ) (webview-call-js wv (with-selector sel @@ -531,39 +649,25 @@ ) ) - -#|(define/contract (webview-set-style! wv selector style-entries) - (-> wv? (or/c symbol? string?) (or/c list? list-of-kv?) hash?) - -(define (webview-set-style!* wv selector h) - (list wv selector h)) - - -(define-syntax webview-style-entry +(define-syntax wva (syntax-rules () - ((_ h (k v)) - (with-handlers ([exn:fail? (λ (e) - (hash-set! h 'k v))]) - (hash-set! h k v))) - ((_ h q l) - (hash-set! h (car l) (cadr l))) - ((_ h l) - (hash-set! h (car l) (cadr l))) - ) - ) - -(define-syntax webview-set-style! - (syntax-rules () - ((_ wv selector st ...) - (webview-set-style!* wv selector - (let ((h (make-hash))) - (webview-style-entry h st) - ... - h)) + ((_ name type-pred? convert) + (define/contract (name wv id attr) + (-> wv? symbol? (or/c symbol? string?) (or/c type-pred? boolean?)) + (let ((v (webview-attr wv id attr))) + (if (eq? v #f) + #f + (convert v)))) ) ) ) -|# + +(wva webview-attr/number number? string->number) +(wva webview-attr/symbol symbol? string->symbol) +(wva webview-attr/date g:date? string->date) +(wva webview-attr/time g:time? string->time) +(wva webview-attr/datetime g:datetime string->datetime) +(wvv webview-attr/bool boolean? (λ (e) (if (string=? e "true") #t #f))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; testing diff --git a/private/utils.rkt b/private/utils.rkt index af66f69..53257d0 100644 --- a/private/utils.rkt +++ b/private/utils.rkt @@ -2,7 +2,12 @@ (require racket/string racket/port + racket/contract json + (prefix-in g: gregor) + (prefix-in g: gregor/time) + gregor-utils + racket-sprintf ) (provide while @@ -14,10 +19,19 @@ fromJson mk-js-array js-code + kv-1 + kv-2 + make-kv kv? list-of-kv? list-of-symbol? list-of? + string->time + time->string + string->date + date->string + string->datetime + datetime->string ) (define-syntax while @@ -108,6 +122,22 @@ (and (list? e) (= (length e) 2) (symbol? (car e))) (and (pair? e) (symbol? (car e))))) +(define/contract (kv-1 e) + (-> kv? symbol?) + (car e)) + +(define/contract (kv-2 e) + (-> kv? any/c) + (if (list? e) + (cadr e) + (cdr e))) + +(define/contract (make-kv k v) + (-> symbol? any/c kv?) + (if (list? v) + (list k v) + (cons k v))) + (define (list-of? pred? l) (define (all-pred? l) (if (null? l) @@ -124,4 +154,44 @@ (define (list-of-symbol? l) (list-of? symbol? l)) - + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; Date / Time conversion +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +(define (string->time s) + (with-handlers ([exn:fail? + (λ (e) (g:parse-time s "HH:mm"))]) + (g:parse-time s "HH:mm:ss"))) + +(define (time->string t) + (unless (or (g:time? t) (g:datetime? t) (g:moment? t)) + (error "set! - gregor time?, moment? or datetime? expected")) + (sprintf "%02d:%02d:%02d" (g:->hours t) (g:->minutes t) (g:->seconds t))) + +(define (string->datetime s) + (with-handlers ([exn:fail? + (λ (e) (g:parse-moment s "yyyy-MM-dd'T'HH:mm:ss"))]) + (g:parse-moment s "yyyy-MM-dd'T'HH:mm"))) + +(define (datetime->string dt) + (when (racket-date? dt) + (datetime->string date->moment dt)) + (unless (or (g:datetime? dt) (g:moment? dt) (g:date? dt) (g:time? dt)) + (error "set! - gregor time? , date?, datetime? or moment? expected")) + (sprintf "%04d:%02d:%02dT%02d:%02d:%02d" + (g:->year dt) (g:->month dt) (g:->day dt) + (g:->hours dt) (g:->minutes dt) (g:->seconds dt)) + ) + +(define (string->date d) + (g:parse-date d "yyyy-MM-dd")) + +(define (date->string d) + (when (racket-date? d) + (date->string (date->moment d))) + (unless (or (g:date? d) (g:moment? d) (g:datetime? d)) + (error "set! - gregor date expected")) + (sprintf "%04d-%02d-%02d" (g:->year d) (g:->month d) (g:->day d))) + + diff --git a/rktwebview_qt/command.h b/rktwebview_qt/command.h index 9b09cba..b9e2d2e 100644 --- a/rktwebview_qt/command.h +++ b/rktwebview_qt/command.h @@ -23,8 +23,8 @@ #define COMMAND_WINDOW_STATUS 17 #define COMMAND_SET_TITLE 18 #define COMMAND_CHOOSE_DIR 19 -#define COMMAND_OPEN_FILE 20 -#define COMMAND_SAVE_FILE 21 +#define COMMAND_FILE_OPEN 20 +#define COMMAND_FILE_SAVE 21 class Command { diff --git a/rktwebview_qt/rktwebview.cpp b/rktwebview_qt/rktwebview.cpp index aa2b1a4..6855242 100644 --- a/rktwebview_qt/rktwebview.cpp +++ b/rktwebview_qt/rktwebview.cpp @@ -190,3 +190,15 @@ rkt_js_result_t *rkt_webview_choose_dir(rktwebview_t w, const char *title, const rkt_webview_init(); return handler->rktChooseDir(w, title, base_dir); } + +rkt_js_result_t *rkt_webview_file_open(rktwebview_t w, const char *title, const char *base_dir, const char *permitted_exts) +{ + rkt_webview_init(); + return handler->rktFileOpen(w, title, base_dir, permitted_exts); +} + +rkt_js_result_t *rkt_webview_file_save(rktwebview_t w, const char *title, const char *base_dir, const char *permitted_exts) +{ + rkt_webview_init(); + return handler->rktFileSave(w, title, base_dir, permitted_exts); +} diff --git a/rktwebview_qt/rktwebview.h b/rktwebview_qt/rktwebview.h index 457147c..b964dba 100644 --- a/rktwebview_qt/rktwebview.h +++ b/rktwebview_qt/rktwebview.h @@ -81,6 +81,8 @@ RKTWEBVIEW_QT_EXPORT result_t rkt_webview_minimize(rktwebview_t w); RKTWEBVIEW_QT_EXPORT window_state_t rkt_webview_window_state(rktwebview_t w); RKTWEBVIEW_QT_EXPORT rkt_js_result_t *rkt_webview_choose_dir(rktwebview_t w, const char *title, const char *base_dir); +RKTWEBVIEW_QT_EXPORT rkt_js_result_t *rkt_webview_file_open(rktwebview_t w, const char *title, const char *base_dir, const char *permitted_exts); +RKTWEBVIEW_QT_EXPORT rkt_js_result_t *rkt_webview_file_save(rktwebview_t w, const char *title, const char *base_dir, const char *permitted_exts); } diff --git a/rktwebview_qt/rktwebview_qt.cpp b/rktwebview_qt/rktwebview_qt.cpp index a0a973f..e9249fe 100644 --- a/rktwebview_qt/rktwebview_qt.cpp +++ b/rktwebview_qt/rktwebview_qt.cpp @@ -274,6 +274,41 @@ void Rktwebview_qt::processCommand(Command *cmd) cmd->done = true; } break; + case COMMAND_FILE_OPEN: + case COMMAND_FILE_SAVE: { + int wv = cmd->args[0].toInt(); + QString title = cmd->args[1].toString(); + QString base_dir = cmd->args[2].toString(); + QString exts = cmd->args[3].toString(); + if (_views.contains(wv)) { + WebviewWindow *w = _views[wv]; + QString file; + QString selected_filter; + if (cmd->cmd == COMMAND_FILE_OPEN) { + file = QFileDialog::getOpenFileName(w, title, base_dir, exts, &selected_filter); + } else { + file = QFileDialog::getSaveFileName(w, title, base_dir, exts, &selected_filter); + } + if (file == "") { + QJsonObject obj; + obj["state"] = "canceled"; + obj["file"] = ""; + obj["used-filter"] = selected_filter; + cmd->result = QString::fromUtf8(QJsonDocument(obj).toJson(QJsonDocument::JsonFormat::Compact)); + } else { + QJsonObject obj; + obj["state"] = "choosen"; + obj["file"] = file; + obj["used-filter"] = selected_filter; + cmd->result = QString::fromUtf8(QJsonDocument(obj).toJson(QJsonDocument::JsonFormat::Compact)); + } + } else { + cmd->js_result_ok = false; + cmd->result = false; + } + cmd->done = true; + } + break; default: { cmd->result = false; cmd->done = true; @@ -484,6 +519,62 @@ rkt_js_result_t *Rktwebview_qt::rktChooseDir(rktwebview_t w, const char *title, return r; } +rkt_js_result_t *Rktwebview_qt::rktFileOpen(rktwebview_t w, const char *title, const char *base_dir, const char *permitted_exts) +{ + Command c(COMMAND_FILE_OPEN); + c.args.push_back(w); + + QString t(title); + c.args.push_back(t); + + QString dir(base_dir); + c.args.push_back(dir); + + QString exts(permitted_exts); + c.args.push_back(exts); + + postCommand(&c); + + while(!c.done) { doEvents(); } + + bool oke = c.js_result_ok; + + rkt_js_result_t *r = static_cast(malloc(sizeof(rkt_js_result_t))); + r->result = c.js_result_ok ? result_t::oke : result_t::choose_dir_failed; + + r->value = strdup(c.result.toString().toUtf8()); + + return r; +} + +rkt_js_result_t *Rktwebview_qt::rktFileSave(rktwebview_t w, const char *title, const char *base_dir, const char *permitted_exts) +{ + Command c(COMMAND_FILE_SAVE); + c.args.push_back(w); + + QString t(title); + c.args.push_back(t); + + QString dir(base_dir); + c.args.push_back(dir); + + QString exts(permitted_exts); + c.args.push_back(exts); + + postCommand(&c); + + while(!c.done) { doEvents(); } + + bool oke = c.js_result_ok; + + rkt_js_result_t *r = static_cast(malloc(sizeof(rkt_js_result_t))); + r->result = c.js_result_ok ? result_t::oke : result_t::choose_dir_failed; + + r->value = strdup(c.result.toString().toUtf8()); + + return r; +} + result_t Rktwebview_qt::rktWindowSetTitle(rktwebview_t wv, const char *title) { Command c(COMMAND_SET_TITLE); diff --git a/rktwebview_qt/rktwebview_qt.h b/rktwebview_qt/rktwebview_qt.h index 0f7c4b0..295a89c 100644 --- a/rktwebview_qt/rktwebview_qt.h +++ b/rktwebview_qt/rktwebview_qt.h @@ -85,6 +85,8 @@ public: window_state_t rktWindowState(rktwebview_t w); rkt_js_result_t *rktChooseDir(rktwebview_t w, const char *title, const char *base_dir); + rkt_js_result_t * rktFileOpen(rktwebview_t w, const char *title, const char *base_dir, const char *permitted_exts); + rkt_js_result_t * rktFileSave(rktwebview_t w, const char *title, const char *base_dir, const char *permitted_exts); result_t rktWindowSetTitle(rktwebview_t wv, const char *title);