Fix flushing windows dialog able to move around using trackpad and added esc to close dialog (#12694)

Added entry to wipingdialog.html css to prevent it from being overscrollable and its position fixed.
Added escape button to close dialog event on both javascript and webview events

JIRA-136
This commit is contained in:
Derrick
2026-03-09 19:28:59 +08:00
committed by GitHub
parent ca85d8ade3
commit 8b15ec44f0
2 changed files with 31 additions and 7 deletions

View File

@@ -8,13 +8,19 @@
-webkit-user-select: none;
}
html, body {
margin: 0px;
padding: 0px;
height: 100%;
background: #f5f5f5;
font-family: sans-serif;
}
html, body {
margin: 0px;
padding: 0px;
height: 100%;
background: #f5f5f5;
font-family: sans-serif;
overscroll-behavior: none;
}
body {
position: fixed;
inset: 0;
}
.container {
background: #fff;
@@ -413,6 +419,15 @@
window.wipingDialog.postMessage(data);
});
// Escape should close the dialog even when focus is inside web content.
document.addEventListener("keydown", function (event) {
if (event.key === "Escape") {
event.preventDefault();
event.stopPropagation();
quit();
}
}, true);
function buildText(data) {
document.getElementById('volume_desp_panel').innerText = data.volume_desp_panel
document.getElementById('volume_range_panel').innerText = data.volume_range_panel

View File

@@ -496,6 +496,15 @@ WipingDialog::WipingDialog(wxWindow* parent, const int max_flush_volume) :
BOOST_LOG_TRIVIAL(error) << __FUNCTION__<< "Failed to parse json message: " << message;
}
});
m_webview->Bind(wxEVT_CHAR_HOOK, [this](wxKeyEvent& e) {
if (e.GetKeyCode() == WXK_ESCAPE) {
if (IsModal()) EndModal(wxID_CANCEL);
else Close();
return;
}
e.Skip();
});
}