This commit is contained in:
2026-04-08 16:39:46 +02:00
parent de8930cd2a
commit 0e23acdfb3
4 changed files with 28 additions and 1 deletions

View File

@@ -12,6 +12,7 @@
) )
(provide download-racket-webview-qt (provide download-racket-webview-qt
racket-webview-qt-clear-download!
racket-webview-qt-version racket-webview-qt-version
racket-webview-qt-directory racket-webview-qt-directory
racket-webview-qt-is-available? racket-webview-qt-is-available?
@@ -120,6 +121,11 @@
(file->value version-file) (file->value version-file)
#f)) #f))
(define (racket-webview-qt-clear-download!)
(when (file-exists? version-file)
(delete-file version-file)))
(define (racket-webview-qt-is-downloadable?) (define (racket-webview-qt-is-downloadable?)
(with-handlers ([exn:fail? (λ (e) #f)]) (with-handlers ([exn:fail? (λ (e) #f)])
(let ((in (download-port rkt-download-url))) (let ((in (download-port rkt-download-url)))

View File

@@ -37,6 +37,7 @@
rkt-webview-minimize rkt-webview-minimize
rkt-webview-window-state rkt-webview-window-state
rkt-webview-set-title! rkt-webview-set-title!
rkt-webview-set-icon!
rkt-webview-present rkt-webview-present
rkt-webview-exit rkt-webview-exit
rkt-webview-valid? rkt-webview-valid?
@@ -425,6 +426,11 @@
(define-rktwebview rkt_webview_set_title (define-rktwebview rkt_webview_set_title
(_fun _int _string/utf-8 -> _rkt_result_t)) (_fun _int _string/utf-8 -> _rkt_result_t))
;RKTWEBVIEW_QT_EXPORT result_t rkt_webview_set_icon(rktwebview_t wv, const char *icon-file);
(define-rktwebview rkt_webview_set_icon
(_fun _int _string/utf-8 -> _rkt_result_t))
;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_choose_dir(rktwebview_t w, const char *title, const char *base_dir);
(define-rktwebview rkt_webview_choose_dir (define-rktwebview rkt_webview_choose_dir
(_fun _int _string/utf-8 _string/utf-8 -> _rkt_result_t)) (_fun _int _string/utf-8 _string/utf-8 -> _rkt_result_t))
@@ -648,6 +654,9 @@
(define (rkt-webview-set-title! wv title) (define (rkt-webview-set-title! wv title)
(rkt_webview_set_title (rkt-wv-win wv) title)) (rkt_webview_set_title (rkt-wv-win wv) title))
(define (rkt-webview-set-icon! wv icon-file)
(rkt_webview_set_icon (rkt-wv-win wv) icon-file))
(define (rkt-webview-run-js wv js) (define (rkt-webview-run-js wv js)
(rkt_webview_run_js (rkt-wv-win wv) js)) (rkt_webview_run_js (rkt-wv-win wv) js))

View File

@@ -48,6 +48,7 @@
webview-minimize webview-minimize
webview-window-state webview-window-state
webview-set-title! webview-set-title!
webview-set-icon!
webview-messagebox webview-messagebox
@@ -658,6 +659,10 @@
(-> wv-win? string? symbol?) (-> wv-win? string? symbol?)
(rkt-webview-set-title! (wv-win-handle wv) title)) (rkt-webview-set-title! (wv-win-handle wv) title))
(define/contract (webview-set-icon! wv icon-file)
(-> wv-win? (or/c string? path?) symbol?)
(rkt-webview-set-icon! (wv-win-handle wv) (format "~a" icon-file)))
(define/contract (webview-close wv) (define/contract (webview-close wv)
(-> wv-win? symbol?) (-> wv-win? symbol?)
(begin (begin

View File

@@ -54,6 +54,7 @@
[html-path (error "html path is mandatory")] [html-path (error "html path is mandatory")]
[settings (send wv-context settings (string->symbol (format "~a" html-path)))] [settings (send wv-context settings (string->symbol (format "~a" html-path)))]
[title "Racket Webview Window"] [title "Racket Webview Window"]
[icon #f]
[width #f] [width #f]
[height #f] [height #f]
[x #f] [x #f]
@@ -327,6 +328,9 @@
(define/public (set-title! title) (define/public (set-title! title)
(webview-set-title! wv title)) (webview-set-title! wv title))
(define/public (set-icon! icon-file)
(webview-set-icon! wv icon-file))
(define/public (popup-menu! menu-def x y) (define/public (popup-menu! menu-def x y)
(webview-popup-menu! wv menu-def x y) (webview-popup-menu! wv menu-def x y)
(let* ((ids (list)) (let* ((ids (list))
@@ -468,8 +472,11 @@
event-handler event-handler
#:parent wv-parent))) #:parent wv-parent)))
;; Set title ;; Set title / icon
(send this set-title! title) (send this set-title! title)
(unless (eq? icon #f)
(send this set-icon! icon))
;; Move and resize window to settings ;; Move and resize window to settings
(send this init-size) (send this init-size)