This commit is contained in:
2026-03-09 09:28:46 +01:00
parent 0ec5a42c71
commit a078022401
7 changed files with 673 additions and 19 deletions

View File

@@ -32,7 +32,8 @@ typedef enum {
resize_failed = 13,
choose_dir_failed = 14,
open_file_failed = 15,
save_file_failed = 16
save_file_failed = 16,
failed = 17
} result_t;
typedef struct {

View File

@@ -424,7 +424,7 @@ result_t Rktwebview_qt::rktSetHtml(rktwebview_t wv, const char *html)
bool r = c.result.toBool();
return r ? result_t::oke : result_t::set_navigate_failed;
return r ? result_t::oke : result_t::set_html_failed;
}
rkt_js_result_t *Rktwebview_qt::rktCallJs(rktwebview_t wv, const char *js)
@@ -481,32 +481,32 @@ result_t Rktwebview_qt::rktResize(rktwebview_t wv, int w, int h)
result_t Rktwebview_qt::rktHideWindow(rktwebview_t w)
{
return doWindow(w, COMMAND_HIDE_WIN);
return doWindow(w, COMMAND_HIDE_WIN, result_t::failed);
}
result_t Rktwebview_qt::rktShowWindow(rktwebview_t w)
{
return doWindow(w, COMMAND_SHOW_WIN);
return doWindow(w, COMMAND_SHOW_WIN, result_t::failed);
}
result_t Rktwebview_qt::rktPresentWindow(rktwebview_t w)
{
return doWindow(w, COMMAND_PRESENT_WIN);
return doWindow(w, COMMAND_PRESENT_WIN, result_t::failed);
}
result_t Rktwebview_qt::rktMaximizeWindow(rktwebview_t w)
{
return doWindow(w, COMMAND_MAX_WIN);
return doWindow(w, COMMAND_MAX_WIN, result_t::failed);
}
result_t Rktwebview_qt::rktMinimizeWindow(rktwebview_t w)
{
return doWindow(w, COMMAND_MIN_WIN);
return doWindow(w, COMMAND_MIN_WIN, result_t::failed);
}
result_t Rktwebview_qt::rktShowNormalWindow(rktwebview_t w)
{
return doWindow(w, COMMAND_SHOW_NORMAL_WIN);
return doWindow(w, COMMAND_SHOW_NORMAL_WIN, result_t::failed);
}
window_state_t Rktwebview_qt::rktWindowState(rktwebview_t w)
@@ -609,17 +609,17 @@ result_t Rktwebview_qt::rktWindowSetTitle(rktwebview_t wv, const char *title)
postCommand(&c);
while(!c.done) { doEvents(); }
bool r = c.result.toBool();
return r ? result_t::oke : result_t::resize_failed;
return r ? result_t::oke : result_t::failed;
}
result_t Rktwebview_qt::doWindow(rktwebview_t w, int cmd)
result_t Rktwebview_qt::doWindow(rktwebview_t w, int cmd, result_t on_error)
{
Command c(cmd);
c.args.push_back(w);
postCommand(&c);
while(!c.done) { doEvents(); }
bool r = c.result.toBool();
return r ? result_t::oke : result_t::resize_failed;
return r ? result_t::oke : on_error;
}
bool Rktwebview_qt::rktValid(rktwebview_t wv)

View File

@@ -41,7 +41,7 @@ private:
private:
void runJs(rktwebview_t wv, const char *js);
result_t doWindow(rktwebview_t w, int cmd);
result_t doWindow(rktwebview_t w, int cmd, result_t on_error);
public slots:
void processJsEventQueues();

View File

@@ -150,13 +150,6 @@ void WebviewWindow::addView(WebViewQt *v, Rktwebview_qt *c)
" let json_q = JSON.stringify(q);\n"
" return json_q;\n"
"};\n"
"console.log('We have set:');\n"
"console.log('window.rkt_event_queue:');\n"
"console.log(window.rkt_event_queue);\n"
"console.log('window.rkt_send_event:');\n"
"console.log(window.rkt_send_event);\n"
"console.log('window.rkt_get_events:');\n"
"console.log(window.rkt_get_events);\n"
);
evt_script.setWorldId(QWebEngineScript::ApplicationWorld);
//col.insert(evt_script);