From cf28fba3f54f27a1f100eaeca909cf08a4a827e3 Mon Sep 17 00:00:00 2001 From: Hans Dijkema Date: Thu, 26 Mar 2026 14:35:10 +0100 Subject: [PATCH] Logging. --- private/lib/windows/x86_64/rktwebview.dll | Bin 99328 -> 87552 bytes private/lib/windows/x86_64/rktwebview_prg.exe | Bin 138240 -> 140288 bytes .../lib/windows/x86_64/rktwebview_test.exe | Bin 28672 -> 28672 bytes private/racket-webview.rkt | 2 +- rktwebview_qt/CMakeLists.txt | 2 + rktwebview_qt/command.h | 1 + rktwebview_qt/main.cpp | 24 +- rktwebview_qt/rktwebview.cpp | 74 +++-- rktwebview_qt/rktwebview_qt.cpp | 270 ++++++++++++------ rktwebview_qt/rktwebview_qt.h | 10 +- rktwebview_qt/shm.cpp | 19 +- rktwebview_qt/utils.cpp | 25 ++ rktwebview_qt/utils.h | 33 ++- rktwebview_qt/webviewwindow.cpp | 3 +- 14 files changed, 314 insertions(+), 149 deletions(-) create mode 100644 rktwebview_qt/utils.cpp diff --git a/private/lib/windows/x86_64/rktwebview.dll b/private/lib/windows/x86_64/rktwebview.dll index 49f11b448167621e6523e2db79068e6dca9d3311..3db76d5f2dae0a20f3fde8618888828e77333d82 100644 GIT binary patch delta 34332 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 Gm;VP^(|C#i literal 99328 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 diff --git a/private/lib/windows/x86_64/rktwebview_prg.exe b/private/lib/windows/x86_64/rktwebview_prg.exe index 9ac1f7b976e192133d443bc5fd349bbf054a7ba6..b4d357eaafc59c4179f28825a5d609fcae118b33 100644 GIT binary patch literal 140288 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 XHDE-9F$&I(TP9GwOMm|lao~Rg_45Bs literal 138240 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 diff --git a/private/lib/windows/x86_64/rktwebview_test.exe b/private/lib/windows/x86_64/rktwebview_test.exe index 93ebe2c6f3610bc63d99cd98ae68a0494a61d3a9..50412307d676f31129a3dcc5232b76f5a0e94fe4 100644 GIT binary patch delta 24 dcmZp8z}WDBaRDQfh3RG{Mxg)@Ef)An4gh3O2Ydhk delta 24 dcmZp8z}WDBaRDQfg5+if2NVDR diff --git a/private/racket-webview.rkt b/private/racket-webview.rkt index c6111b9..e986420 100644 --- a/private/racket-webview.rkt +++ b/private/racket-webview.rkt @@ -655,7 +655,7 @@ (define (webview-call-js wv js) (-> wv-win? string? (or/c string? list? boolean? hash?)) (let ((result (rkt-webview-call-js (wv-win-handle wv) js))) - (displayln result) + ;(displayln result) (if (webview-call-js-result? result) (if (eq? (car result) 'oke) (hash-ref (fromJson (cadr result)) 'result #f) diff --git a/rktwebview_qt/CMakeLists.txt b/rktwebview_qt/CMakeLists.txt index 48bc0b1..e1d4bb3 100644 --- a/rktwebview_qt/CMakeLists.txt +++ b/rktwebview_qt/CMakeLists.txt @@ -22,6 +22,7 @@ add_library(rktwebview SHARED rktwebview_types.h json.cpp json.h utils.h + utils.cpp ) add_executable(rktwebview_prg @@ -40,6 +41,7 @@ add_executable(rktwebview_prg rkt_protocol.h rktwebview_types.h + utils.cpp utils.h ) add_executable(rktwebview_test diff --git a/rktwebview_qt/command.h b/rktwebview_qt/command.h index 26d3ada..e29fa64 100644 --- a/rktwebview_qt/command.h +++ b/rktwebview_qt/command.h @@ -27,6 +27,7 @@ #define COMMAND_FILE_SAVE 21 #define COMMAND_SET_OU_TOKEN 22 #define COMMAND_NEW_CONTEXT 23 +#define COMMAND_MESSAGE 24 class Command { diff --git a/rktwebview_qt/main.cpp b/rktwebview_qt/main.cpp index ebf7a7c..86f82ec 100644 --- a/rktwebview_qt/main.cpp +++ b/rktwebview_qt/main.cpp @@ -6,6 +6,7 @@ #include "shm.h" #include "shmqueue.h" #include "command.h" +#include "utils.h" #include #include @@ -23,7 +24,7 @@ static void free_data(rkt_data_t *d) free(d->data.js_result.value); free(d); } else { - fprintf(stderr, "UNEXPECTED: data kind %d cannot be freed\n", d->kind); + ERROR1("UNEXPECTED: data kind %d cannot be freed\n", d->kind); } } @@ -62,10 +63,10 @@ int main(int argc, char *argv[]) { const char *me = argv[0]; - fprintf(stderr, "%s runs\n", argv[0]);fflush(stderr); + INFO1("%s runs\n", argv[0]); if (argc < 6) { - fprintf(stderr, "%s: wrong number of arguments\n", me);fflush(stderr); + ERROR1("%s: wrong number of arguments\n", me); exit(1); } @@ -80,11 +81,11 @@ int main(int argc, char *argv[]) int res_slot = atoi(res_slot_str); int evt_slot = atoi(evt_slot_str); - fprintf(stderr, "%s %s %s %s %s %s\n", me, shm_name, shm_size_str, cmd_slot_str, res_slot_str, evt_slot_str);fflush(stderr); - fprintf(stderr, "%s %s %ld %d %d %d\n", me, shm_name, shm_size, cmd_slot, res_slot, evt_slot);fflush(stderr); + MKLOGSTMT(LOG_INFO, fprintf(stderr, "%s %s %s %s %s %s\n", me, shm_name, shm_size_str, cmd_slot_str, res_slot_str, evt_slot_str)); + MKLOGSTMT(LOG_INFO, fprintf(stderr, "%s %s %ld %d %d %d\n", me, shm_name, shm_size, cmd_slot, res_slot, evt_slot)); if (!(shm_size > 0 && cmd_slot > 0 && res_slot > 0 && evt_slot > 0)) { - fprintf(stderr, "%s: Invalid shm size or slots\n", me);fflush(stderr); + ERROR1("%s: Invalid shm size or slots\n", me); exit(2); } @@ -100,10 +101,10 @@ int main(int argc, char *argv[]) handler->webview_handler->initApp(); handler->webview_handler->execApp(); - fprintf(stderr, "waiting for thread to end\n");fflush(stderr); + INFO0("waiting for thread to end\n"); handler->wait(); - fprintf(stderr, "cleaning up shm\n");fflush(stderr); + INFO0("cleaning up shm\n"); delete handler->webview_handler; delete handler->command_queue; @@ -126,9 +127,9 @@ void Handler::run() switch(cmd) { case CMD_QUIT: { - fprintf(stderr, "Got quit message\n"); + INFO0("Got quit message\n"); webview_handler->rktQuit(); - fprintf(stderr, "Enqueing RESULT_QUIT to result queue\n"); + INFO0("Enqueing RESULT_QUIT to result queue\n"); result_queue->enqueue(RESULT_QUIT); quit = true; } @@ -182,7 +183,6 @@ void Handler::run() } break; case CMD_CALL_JS: { - fprintf(stderr, "Calljs\n"); int wv = data_obj["wv"].toInt(); QString js = data_obj["js"].toString(); rkt_data_t *res = webview_handler->rktCallJs(wv, js.toUtf8().constData()); @@ -320,7 +320,7 @@ void Handler::run() } break; default: { - fprintf(stderr, "Unknown command: %d\n", cmd);fflush(stderr); + ERROR1("Unknown command: %d\n", cmd); } } } diff --git a/rktwebview_qt/rktwebview.cpp b/rktwebview_qt/rktwebview.cpp index 4d62fe5..716dbac 100644 --- a/rktwebview_qt/rktwebview.cpp +++ b/rktwebview_qt/rktwebview.cpp @@ -2,6 +2,7 @@ #include #include #include + #ifdef _WIN32 #include #include @@ -9,6 +10,7 @@ #include #include #endif + #include #include "rktwebview.h" #include "rkt_protocol.h" @@ -65,11 +67,11 @@ bool runRktWebview(Handle_t *handler) { char *rkt_webview_prg_path = getenv("RKT_WEBVIEW_PRG"); if (rkt_webview_prg_path == nullptr) { - fprintf(stderr, "RKT_WEBVIEW_PRG environment variable not set, cannot start webview program\n");fflush(stderr); + ERROR0("RKT_WEBVIEW_PRG environment variable not set, cannot start webview program\n"); return false; } if (!fileExists(rkt_webview_prg_path)) { - fprintf(stderr, "%s does not exist or is not executable\n", rkt_webview_prg_path);fflush(stderr); + ERROR1("%s does not exist or is not executable\n", rkt_webview_prg_path); return false; } @@ -88,36 +90,50 @@ bool runRktWebview(Handle_t *handler) // run rktwebview_prg using the environment variable RKT_WEBVIEW_PRG #ifdef _WIN32 - //STARTUPINFO si; - //PROCESS_INFORMATION pi; - //ZeroMemory( &si, sizeof(si) ); - //si.cb = sizeof(si); - //ZeroMemory( &pi, sizeof(pi) ); - - std::string cmdargs = std::string("") + handler->name + " " + shm_size_str + " " + command_slot + " " + command_result_slot + " " + event_slot; - std::string exe = std::string(rkt_webview_prg_path); - const char *td = getenv("TEMP"); if (td == nullptr) { td = "C:\\"; } std::string tmpdir = td; std::string logfile = tmpdir + "\\" + "rktwebview.log"; //handler->name + ".log"; - std::string errfile = tmpdir + "\\" + "rktwebview.err"; - std::string redirect = " ^>" + logfile + " 2^>" + errfile; - std::string cmdline = "start /b \"\" cmd /c \"" + exe + " " + cmdargs + " " + /*redirect*/ + "\"" + redirect; + + SECURITY_ATTRIBUTES sa; + sa.nLength = sizeof(sa); + sa.lpSecurityDescriptor = NULL; + sa.bInheritHandle = TRUE; + + HANDLE h = CreateFile(logfile.c_str(), + FILE_APPEND_DATA, + FILE_SHARE_WRITE | FILE_SHARE_READ, + &sa, + OPEN_ALWAYS, + FILE_ATTRIBUTE_NORMAL, + NULL); + + STARTUPINFO si; + PROCESS_INFORMATION pi; + ZeroMemory( &si, sizeof(si) ); + ZeroMemory( &pi, sizeof(pi) ); + + si.cb = sizeof(si); + si.dwFlags |= STARTF_USESTDHANDLES; + si.hStdInput= NULL; + si.hStdOutput = h; + si.hStdError = h; + + DWORD flags = CREATE_NO_WINDOW | NORMAL_PRIORITY_CLASS; + + std::string cmdargs = std::string("") + handler->name + " " + shm_size_str + " " + command_slot + " " + command_result_slot + " " + event_slot; + std::string exe = std::string(rkt_webview_prg_path); + std::string dir = basedir(exe); + + std::string cmdline = exe + " " + cmdargs; char *cmdline_str = const_cast(cmdline.c_str()); - auto cwd = std::filesystem::current_path(); - std::filesystem::current_path(path); - int r = system(cmdline_str); - std::filesystem::current_path(cwd); - - //CreateProcessA(NULL, cmdline_str, NULL, NULL, FALSE, NORMAL_PRIORITY_CLASS, NULL, path.c_str(), &si, &pi); - handler->rkt_webview_prg_pid = 0; - if (r != 0) { - fprintf(stderr, "Cannot create process '%s' (error = %ld)\n", cmdline_str, GetLastError());fflush(stderr); + bool r = CreateProcessA(NULL, cmdline_str, NULL, NULL, TRUE, flags, NULL, path.c_str(), &si, &pi); + if (!r) { + ERROR2("Cannot create process '%s' (error = %ld)\n", cmdline_str, GetLastError()); } - return (r == 0); + return r; #else char *argv[] = { rkt_webview_prg_path, const_cast(handler->name.c_str()), shm_size_str, command_slot, command_result_slot, event_slot, nullptr }; @@ -161,16 +177,16 @@ void rkt_webview_cleanup() */ if (handler->valid) { - fprintf(stderr, "Sending quit message\n");fflush(stderr); + INFO0("Sending quit message\n"); handler->command_queue->enqueue(CMD_QUIT); - fprintf(stderr, "Message sent\n");fflush(stderr); + INFO0("Message sent\n"); bool stopped = false; while(!stopped) { int cmd; std::string s; - fprintf(stderr, "Getting result of quit message\n");fflush(stderr); + INFO0("Getting result of quit message\n"); handler->command_result_queue->dequeue(cmd, s, true); - fprintf(stderr, "got %d\n", cmd);fflush(stderr); + INFO1("got %d\n", cmd); if (cmd == RESULT_QUIT) { stopped = true; } @@ -481,7 +497,7 @@ void rkt_webview_free_data(rkt_data_t *d) free(d->data.js_result.value); free(d); } else { - fprintf(stderr, "UNEXPECTED: data kind %d cannot be freed\n", d->kind);fflush(stderr); + ERROR1("UNEXPECTED: data kind %d cannot be freed\n", d->kind); } } diff --git a/rktwebview_qt/rktwebview_qt.cpp b/rktwebview_qt/rktwebview_qt.cpp index dd99de1..94c426d 100644 --- a/rktwebview_qt/rktwebview_qt.cpp +++ b/rktwebview_qt/rktwebview_qt.cpp @@ -3,6 +3,7 @@ #include "rktwebview_types.h" #include "webviewwindow.h" #include "rktutils.h" +#include "utils.h" #include #include #include @@ -39,13 +40,13 @@ void Rktwebview_qt::processCommand(Command *cmd) bool has_pem = cmd->args[1].toBool(); QString optional_server_cert_pem = cmd->args[2].toString(); - fprintf(stderr, "bjs: %s\n", boilerplate_js.toUtf8().constData()); - fprintf(stderr, "oscp: %s\n", optional_server_cert_pem.toUtf8().constData()); + DEBUG1("bjs: %s\n", boilerplate_js.toUtf8().constData()); + DEBUG1("oscp: %s\n", optional_server_cert_pem.toUtf8().constData()); QWebEngineProfileBuilder b; if (has_pem) { QByteArray scp = optional_server_cert_pem.toUtf8(); - fprintf(stderr, "Installing cert: %s\n", scp.constData()); + INFO1("Installing cert: %s\n", scp.constData()); QList certs; QSslCertificate cert(scp); certs.append(cert); @@ -238,7 +239,7 @@ void Rktwebview_qt::processCommand(Command *cmd) QString js = cmd->args[1].toString(); if (_views.contains(wv)) { WebviewWindow *w = _views[wv]; - fprintf(stderr, "Running %s\n", js.toUtf8().constData()); + DEBUG1("Running %s\n", js.toUtf8().constData()); w->runJs(js); cmd->result = true; } else { @@ -377,19 +378,12 @@ void Rktwebview_qt::processCommand(Command *cmd) QString title = cmd->args[1].toString(); QString base_dir = cmd->args[2].toString(); if (_views.contains(wv)) { - WebviewWindow *w = _views[wv]; - QString dir = QFileDialog::getExistingDirectory(w, title, base_dir, QFileDialog::ShowDirsOnly | QFileDialog::DontResolveSymlinks); - if (dir == "") { - QJsonObject obj; - obj["state"] = "canceled"; - obj["dir"] = base_dir; - cmd->result = QString::fromUtf8(QJsonDocument(obj).toJson(QJsonDocument::JsonFormat::Compact)); - } else { - QJsonObject obj; - obj["state"] = "choosen"; - obj["dir"] = dir; - cmd->result = QString::fromUtf8(QJsonDocument(obj).toJson(QJsonDocument::JsonFormat::Compact)); - } + result_t r = fileDlg(wv, title, base_dir, "", + QFileDialog::Directory, QFileDialog::AcceptOpen, + "choose-dir-ok", "choose-dir-cancel" + ); + cmd->js_result_ok = true; + cmd->result = (r == result_t::oke); } else { cmd->js_result_ok = false; cmd->result = false; @@ -397,36 +391,57 @@ void Rktwebview_qt::processCommand(Command *cmd) cmd->done = true; } break; - case COMMAND_FILE_OPEN: + case COMMAND_FILE_OPEN: { + 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)) { + result_t r = fileDlg(wv, title, base_dir, exts, + QFileDialog::ExistingFile, QFileDialog::AcceptOpen, + "file-open-ok", "file-open-cancel" + ); + cmd->js_result_ok = true; + cmd->result = (r == result_t::oke); + } else { + cmd->js_result_ok = true; + cmd->result = false; + } + cmd->done = true; + } + break; 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)); - } + result_t r = fileDlg(wv, title, base_dir, exts, + QFileDialog::AnyFile, QFileDialog::AcceptSave, + "file-open-ok", "file-open-cancel" + ); + cmd->js_result_ok = true; + cmd->result = (r == result_t::oke); } else { - cmd->js_result_ok = false; + cmd->js_result_ok = true; + cmd->result = false; + } + cmd->done = true; + } + break; + case COMMAND_MESSAGE: { + int wv = cmd->args[0].toInt(); + QString title = cmd->args[1].toString(); + QString msg = cmd->args[2].toString(); + QString submsg = cmd->args[3].toString(); + rkt_messagetype_t type = static_cast(cmd->args[4].toInt()); + + if (_views.contains(wv)) { + msgBox(wv, title, msg, submsg, type); + cmd->js_result_ok = true; + cmd->result = true; + } else { + cmd->js_result_ok = true; cmd->result = false; } cmd->done = true; @@ -542,7 +557,7 @@ result_t Rktwebview_qt::rktSetHtml(rktwebview_t wv, const char *html) rkt_data_t *Rktwebview_qt::rktCallJs(rktwebview_t wv, const char *js) { - fprintf(stderr, "calljs: %s\n", js); + DEBUG1("calljs: %s\n", js); Command c(COMMAND_CALL_JS); QString _js(js); @@ -555,14 +570,14 @@ rkt_data_t *Rktwebview_qt::rktCallJs(rktwebview_t wv, const char *js) r->kind = js_result; r->data.js_result.result = c.js_result_ok ? result_t::oke : result_t::eval_js_failed; r->data.js_result.value = copyString(c.result.toString().toUtf8()); - fprintf(stderr, "js-result: %s\n", r->data.js_result.value); + DEBUG1("js-result: %s\n", r->data.js_result.value); return r; } result_t Rktwebview_qt::rktRunJs(rktwebview_t wv, const QString &js) { - fprintf(stderr, "rktRunJs: %s\n", js.toUtf8().constData()); + DEBUG1("rktRunJs: %s\n", js.toUtf8().constData()); Command c(COMMAND_RUN_JS); c.args.push_back(wv); c.args.push_back(js); @@ -645,7 +660,14 @@ void Rktwebview_qt::rktQuit() while(!c.done) { doEvents(); } } -result_t Rktwebview_qt::fileDlg(rktwebview_t w, const char *title, const char *base, const char *filters,QFileDialog::FileMode mode, QFileDialog::AcceptMode am, QString evt_ok, QString evt_cancel) +result_t Rktwebview_qt::fileDlg(rktwebview_t w, + const QString &title, + const QString &base, + const QString &filters, + QFileDialog::FileMode mode, + QFileDialog::AcceptMode am, + QString evt_ok, + QString evt_cancel) { if (_views.contains(w)) { WebviewWindow *win = _views[w]; @@ -700,17 +722,60 @@ result_t Rktwebview_qt::fileDlg(rktwebview_t w, const char *title, const char *b result_t Rktwebview_qt::rktChooseDir(rktwebview_t w, const char *title, const char *base_dir) { - return fileDlg(w, title, base_dir, "", QFileDialog::Directory, QFileDialog::AcceptOpen, "choose-dir-ok", "choose-dir-cancel"); + Command c(COMMAND_CHOOSE_DIR); + c.args.push_back(w); + QString s_title(title); + c.args.push_back(s_title); + QString s_base_dir(base_dir); + c.args.push_back(s_base_dir); + + postCommand(&c); + while(!c.done) { + doEvents(); + } + + bool r = c.result.toBool(); + return r ? result_t::oke : result_t::resize_failed; } result_t Rktwebview_qt::rktFileOpen(rktwebview_t w, const char *title, const char *base_dir, const char *permitted_exts) { - return fileDlg(w, title, base_dir, permitted_exts, QFileDialog::ExistingFile, QFileDialog::AcceptOpen, "file-open-ok", "file-open-cancel"); + Command c(COMMAND_FILE_OPEN); + c.args.push_back(w); + QString s_title(title); + c.args.push_back(s_title); + QString s_base_dir(base_dir); + c.args.push_back(s_base_dir); + QString s_pe(permitted_exts); + c.args.push_back(s_pe); + + postCommand(&c); + while(!c.done) { + doEvents(); + } + + bool r = c.result.toBool(); + return r ? result_t::oke : result_t::resize_failed; } result_t Rktwebview_qt::rktFileSave(rktwebview_t w, const char *title, const char *base_dir, const char *permitted_exts) { - return fileDlg(w, title, base_dir, permitted_exts, QFileDialog::AnyFile, QFileDialog::AcceptSave, "file-save-ok", "file-save-cancel"); + Command c(COMMAND_FILE_SAVE); + c.args.push_back(w); + QString s_title(title); + c.args.push_back(s_title); + QString s_base_dir(base_dir); + c.args.push_back(s_base_dir); + QString s_pe(permitted_exts); + c.args.push_back(s_pe); + + postCommand(&c); + while(!c.done) { + doEvents(); + } + + bool r = c.result.toBool(); + return r ? result_t::oke : result_t::resize_failed; } result_t Rktwebview_qt::rktWindowSetTitle(rktwebview_t wv, const char *title) @@ -724,65 +789,82 @@ result_t Rktwebview_qt::rktWindowSetTitle(rktwebview_t wv, const char *title) return r ? result_t::oke : result_t::failed; } -result_t Rktwebview_qt::rktMessageBox(rktwebview_t w, const char *title, const char *message, const char *submessage, rkt_messagetype_t type) +void Rktwebview_qt::msgBox(rktwebview_t w, const QString &title, const QString &message, const QString &submessage, rkt_messagetype_t type) { - if (_views.contains(w)) { - WebviewWindow *win = _views[w]; - QMessageBox *msg = new QMessageBox(win); + WebviewWindow *win = _views[w]; + QMessageBox *msg = new QMessageBox(win); - auto prepButton = [msg, w, this](QMessageBox::StandardButton b, QString event) { - msg->addButton(b); - QAbstractButton *btn = msg->button(b); - QVariant v = QVariant::fromValue(msg); - btn->setProperty("messagebox", v); - btn->setProperty("event", event); - btn->setProperty("rktwebview", w); - connect(btn, &QAbstractButton::clicked, this, [this]() { - QAbstractButton *btn = static_cast(sender()); - QMessageBox *mb = btn->property("messagebox").value(); - rktwebview_t w = btn->property("rktwebview").toInt(); + auto prepButton = [msg, w, this](QMessageBox::StandardButton b, QString event) { + msg->addButton(b); + QAbstractButton *btn = msg->button(b); + QVariant v = QVariant::fromValue(msg); + btn->setProperty("messagebox", v); + btn->setProperty("event", event); + btn->setProperty("rktwebview", w); + connect(btn, &QAbstractButton::clicked, this, [this]() { + QAbstractButton *btn = static_cast(sender()); + QMessageBox *mb = btn->property("messagebox").value(); + rktwebview_t w = btn->property("rktwebview").toInt(); - EventContainer e(btn->property("event").toString()); - this->triggerEvent(w, e); + EventContainer e(btn->property("event").toString()); + this->triggerEvent(w, e); - mb->close(); - }); - }; + mb->close(); + }); + }; - msg->setWindowTitle(title); + msg->setWindowTitle(title); - QString m = QString("

") + message + "

"; - m += QString::asprintf("

%s

", submessage); - msg->setInformativeText(m); + QString m = QString("

") + message + "

"; + m += QString::asprintf("

%s

", submessage.toUtf8().constData()); + msg->setInformativeText(m); - QMessageBox::Icon icn; + QMessageBox::Icon icn; - if (type == rkt_messagetype_t::error) { - icn = QMessageBox::Icon::Critical; - prepButton(QMessageBox::StandardButton::Ok, "msgbox-ok"); - } else if (type == rkt_messagetype_t::warning) { - icn = QMessageBox::Icon::Warning; - prepButton(QMessageBox::StandardButton::Ok, "msgbox-ok"); - } else if (type == rkt_messagetype_t::yes_no || type == rkt_messagetype_t::oke_cancel) { - icn = QMessageBox::Icon::Question; - if (type == rkt_messagetype_t::yes_no) { - prepButton(QMessageBox::StandardButton::No, "msgbox-no"); - prepButton(QMessageBox::StandardButton::Yes, "msgbox-yes"); - } else { - prepButton(QMessageBox::StandardButton::Cancel, "msgbox-cancel"); - prepButton(QMessageBox::StandardButton::Ok, "msgbox-ok"); - } - } else { // informatio - icn = QMessageBox::Icon::Information; + if (type == rkt_messagetype_t::error) { + icn = QMessageBox::Icon::Critical; + prepButton(QMessageBox::StandardButton::Ok, "msgbox-ok"); + } else if (type == rkt_messagetype_t::warning) { + icn = QMessageBox::Icon::Warning; + prepButton(QMessageBox::StandardButton::Ok, "msgbox-ok"); + } else if (type == rkt_messagetype_t::yes_no || type == rkt_messagetype_t::oke_cancel) { + icn = QMessageBox::Icon::Question; + if (type == rkt_messagetype_t::yes_no) { + prepButton(QMessageBox::StandardButton::No, "msgbox-no"); + prepButton(QMessageBox::StandardButton::Yes, "msgbox-yes"); + } else { + prepButton(QMessageBox::StandardButton::Cancel, "msgbox-cancel"); prepButton(QMessageBox::StandardButton::Ok, "msgbox-ok"); } - msg->setIcon(icn); - msg->show(); - return result_t::oke; - } else { - return result_t::failed; + } else { // informatio + icn = QMessageBox::Icon::Information; + prepButton(QMessageBox::StandardButton::Ok, "msgbox-ok"); } + msg->setIcon(icn); + msg->show(); +} + +result_t Rktwebview_qt::rktMessageBox(rktwebview_t w, const char *title, const char *message, const char *submessage, rkt_messagetype_t type) +{ + Command c(COMMAND_MESSAGE); + c.args.push_back(w); + QString s_title(title); + c.args.push_back(s_title); + QString s_msg(message); + c.args.push_back(s_msg); + QString s_submsg(submessage); + c.args.push_back(s_submsg); + c.args.push_back(static_cast(type)); + + postCommand(&c); + + while(!c.done) { + doEvents(); + } + + bool r = c.result.toBool(); + return r ? result_t::oke : result_t::failed; } result_t Rktwebview_qt::doWindow(rktwebview_t w, int cmd, result_t on_error) diff --git a/rktwebview_qt/rktwebview_qt.h b/rktwebview_qt/rktwebview_qt.h index 67ec898..e83de37 100644 --- a/rktwebview_qt/rktwebview_qt.h +++ b/rktwebview_qt/rktwebview_qt.h @@ -52,7 +52,15 @@ private: void handleCommandEvent(CommandEvent *e); void processCommand(Command *cmd); - result_t fileDlg(rktwebview_t w, const char *title, const char *base, const char *filters, QFileDialog::FileMode mode, QFileDialog::AcceptMode am, QString evt_ok, QString evt_cancel); + result_t fileDlg(rktwebview_t w, + const QString &title, const QString &base, + const QString &filters, + QFileDialog::FileMode mode, QFileDialog::AcceptMode am, + QString evt_ok, QString evt_cancel); + + void msgBox(rktwebview_t w, + const QString &title, const QString &message, const QString &submessage, + rkt_messagetype_t type); public: void execApp(); diff --git a/rktwebview_qt/shm.cpp b/rktwebview_qt/shm.cpp index 1a506a2..869831a 100644 --- a/rktwebview_qt/shm.cpp +++ b/rktwebview_qt/shm.cpp @@ -1,4 +1,5 @@ #include "shm.h" +#include "utils.h" #include #include @@ -306,14 +307,14 @@ class ShmSemApi { void wait() { int r = sem_wait(_sem); if (r != 0) { - fprintf(stderr, "sem_wait error: %d, %s\n", errno, strerror(errno)); + ERROR2("sem_wait error: %d, %s\n", errno, strerror(errno)); } } bool trywait() { int r = sem_trywait(reinterpret_cast(_sem)); if (r != 0 && r != EAGAIN) { - fprintf(stderr, "sem_wait error: %d, %s\n", errno, strerror(errno)); + ERROR2("sem_wait error: %d, %s\n", errno, strerror(errno)); } return (r == 0); @@ -373,7 +374,7 @@ public: name); if (_shm_handle == NULL) { - fprintf(stderr, "Cannot create shared memory with name %s and size %lld\n", name, size); + ERROR2("Cannot create shared memory with name %s and size %lld\n", name, size); _valid = false; } } else { @@ -381,7 +382,7 @@ public: FALSE, name); if (_shm_handle == NULL) { - fprintf(stderr, "Cannot open shared memory with name %s\n", name); + ERROR1("Cannot open shared memory with name %s\n", name); _valid = false; } } @@ -393,7 +394,7 @@ public: 0, size)); if (_mem == NULL) { - fprintf(stderr, "Cannot map shared memory, errorcode = %ld\n", GetLastError()); + ERROR1("Cannot map shared memory, errorcode = %ld\n", GetLastError()); _valid = false; CloseHandle(_shm_handle); } @@ -410,7 +411,7 @@ public: _sem_handle = OpenSemaphoreA(SYNCHRONIZE|SEMAPHORE_MODIFY_STATE, FALSE, _sem_name); } if (_sem_handle == NULL) { - fprintf(stderr, "Cannot create or open semaphore with name '%s' (%ld)\n", _sem_name, GetLastError()); + ERROR2("Cannot create or open semaphore with name '%s' (%ld)\n", _sem_name, GetLastError()); UnmapViewOfFile(_mem); CloseHandle(_shm_handle); _valid = false; @@ -486,14 +487,14 @@ public: void wait() { DWORD r = WaitForSingleObject(_sem, INFINITE); if (r != WAIT_OBJECT_0) { - fprintf(stderr, "sem_wait error: %ld\n", r); + ERROR1("sem_wait error: %ld\n", r); } } bool trywait() { DWORD r = WaitForSingleObject(_sem , 0); if (r != WAIT_OBJECT_0 && r != WAIT_TIMEOUT) { - fprintf(stderr, "sem_wait error: %ld\n", r); + ERROR1("sem_wait error: %ld\n", r); } return r == WAIT_OBJECT_0; } @@ -512,7 +513,7 @@ public: } if (_sem == NULL) { - fprintf(stderr, "Cannot create or open semaphore with name '%s'\n", _name); + ERROR1("Cannot create or open semaphore with name '%s'\n", _name); } _owner = owner; } diff --git a/rktwebview_qt/utils.cpp b/rktwebview_qt/utils.cpp new file mode 100644 index 0000000..70c1ea2 --- /dev/null +++ b/rktwebview_qt/utils.cpp @@ -0,0 +1,25 @@ + +#include "utils.h" + +static int _log_level = LOG_INFO; + +int logLevel() +{ + return _log_level; +} + +void setLogLevel(int l) +{ + _log_level = l; +} + +const char *logIndicator(int l) +{ + switch(l) { + case LOG_ERROR: return "ERROR "; + case LOG_INFO: return "INFO "; + case LOG_DEBUG: return "DEBUG "; + case LOG_WARNING: return "WARNING"; + } + return "UNKNOWN"; +} diff --git a/rktwebview_qt/utils.h b/rktwebview_qt/utils.h index b8284c3..5a20701 100644 --- a/rktwebview_qt/utils.h +++ b/rktwebview_qt/utils.h @@ -5,8 +5,8 @@ inline std::string basedir(const std::string &path) { - int idx1 = path.rfind("/"); - int idx2 = path.rfind("\\"); + int idx1 = static_cast(path.rfind("/")); + int idx2 = static_cast(path.rfind("\\")); std::string r; if (idx1 == std::string::npos && idx2 == std::string::npos) { r = ""; @@ -26,4 +26,33 @@ inline std::string basedir(const std::string &path) return r; } +int logLevel(); +void setLogLevel(int l); +const char *logIndicator(int l); + +#define LOG_ERROR 1 +#define LOG_WARNING 2 +#define LOG_INFO 3 +#define LOG_DEBUG 4 + +#define MKLOGSTMT(level, code) if (logLevel() >= level) { fprintf(stderr, "%s: ", logIndicator(level));code;fflush(stderr); } +#define MKL0(level, msg) MKLOGSTMT(level, fprintf(stderr, msg)) +#define MKL1(level, msg, a) MKLOGSTMT(level, fprintf(stderr, msg, a)) +#define MKL2(level, msg, a, b) MKLOGSTMT(level, fprintf(stderr, msg, a, b)) + +#define ERROR0(msg) MKL0(LOG_ERROR, msg) +#define WARN0(msg) MKL0(LOG_WARNING, msg) +#define INFO0(msg) MKL0(LOG_INFO, msg) +#define DEBUG0(msg) MKL0(LOG_DEBUG, msg) + +#define ERROR1(msg, a) MKL1(LOG_ERROR, msg, a) +#define WARN1(msg, a) MKL1(LOG_WARNING, msg, a) +#define INFO1(msg, a) MKL1(LOG_INFO, msg, a) +#define DEBUG1(msg, a) MKL1(LOG_DEBUG, msg, a) + +#define ERROR2(msg, a, b) MKL2(LOG_ERROR, msg, a, b) +#define WARN2(msg, a, b) MKL2(LOG_WARNING, msg, a, b) +#define INFO2(msg, a, b) MKL2(LOG_INFO, msg, a, b) +#define DEBUG2(msg, a, b) MKL2(LOG_DEBUG, msg, a, b) + #endif // UTILS_H diff --git a/rktwebview_qt/webviewwindow.cpp b/rktwebview_qt/webviewwindow.cpp index 4c3ab37..8370487 100644 --- a/rktwebview_qt/webviewwindow.cpp +++ b/rktwebview_qt/webviewwindow.cpp @@ -1,4 +1,5 @@ #include "webviewwindow.h" +#include "utils.h" #include "webviewqt.h" #include "rktwebview_qt.h" @@ -126,7 +127,7 @@ void WebviewWindow::handleCertificate(const QWebEngineCertificateError &certific dodisp(certificateError.certificateChain()); */ - fprintf(stderr, "Certificate Error: %s\n", certificateError.description().toUtf8().constData()); + ERROR1("Certificate Error: %s\n", certificateError.description().toUtf8().constData()); QList chain = certificateError.certificateChain(); int i; for(i = 0; i < chain.size(); i++) {