[education/rkward] rkward/windows: Trigger only one refresh per page
Thomas Friedrichsmeier
null at kde.org
Thu Apr 21 14:20:25 BST 2022
Git commit 6befbab61b5b5ec9330448ee1b70f59777dfb77d by Thomas Friedrichsmeier.
Committed on 21/04/2022 at 13:20.
Pushed by tfry into branch 'master'.
Trigger only one refresh per page
M +3 -1 rkward/windows/rkhtmlwindow.cpp
https://invent.kde.org/education/rkward/commit/6befbab61b5b5ec9330448ee1b70f59777dfb77d
diff --git a/rkward/windows/rkhtmlwindow.cpp b/rkward/windows/rkhtmlwindow.cpp
index 8c9a155f..70c77c29 100644
--- a/rkward/windows/rkhtmlwindow.cpp
+++ b/rkward/windows/rkhtmlwindow.cpp
@@ -1103,6 +1103,7 @@ bool RKHelpRenderer::renderRKHelp (const QUrl &url, RKHTMLWindow* container) {
writeHTML(endSection());
}
+ bool container_refresh_connected = false;
XMLChildList section_elements = help_xml_helper.getChildElements (help_doc_element, "section", DL_INFO);
for (XMLChildList::iterator it = section_elements.begin (); it != section_elements.end (); ++it) {
QString title = help_xml_helper.i18nStringAttribute (*it, "title", QString (), DL_WARNING);
@@ -1120,7 +1121,8 @@ bool RKHelpRenderer::renderRKHelp (const QUrl &url, RKHTMLWindow* container) {
}
writeHTML(QString("<li><<a href=\"rkward://open/%1/\">%2</a>></li>\n").arg(category, i18n("Choose another file")));
writeHTML("</ul>\n");
- if (container) {
+ if (container && !container_refresh_connected) {
+ container_refresh_connected = true;
auto connection = new QMetaObject::Connection;
*connection = QObject::connect(RKRecentUrls::notifier(), &RKRecentUrls::recentUrlsChanged, container, [connection, container](){
// connection must self-destruct, as it will be re-created from refresh()
More information about the rkward-tracker
mailing list