On Wayland we need to pass a parent to popup menus.
See https://community.kde.org/Guidelines_and_HOWTOs/Wayland_Porting_Notes#Popup_Menus
So we use the new setParentWidget() method from KNewStuff (introduced in
Frameworks 5.37).
#include <KLocalizedString>
#include <KNS3/KMoreToolsMenuFactory>
#include <KIO/Job>
#include <KLocalizedString>
#include <KNS3/KMoreToolsMenuFactory>
#include <KIO/Job>
+#include <knewstuff_version.h>
StatusBarSpaceInfo::StatusBarSpaceInfo(QWidget* parent) :
KCapacityBar(KCapacityBar::DrawTextInline, parent),
StatusBarSpaceInfo::StatusBarSpaceInfo(QWidget* parent) :
KCapacityBar(KCapacityBar::DrawTextInline, parent),
// Note that this object must live long enough in case the user opens
// the "Configure..." dialog
KMoreToolsMenuFactory menuFactory(QStringLiteral("dolphin/statusbar-diskspace-menu"));
// Note that this object must live long enough in case the user opens
// the "Configure..." dialog
KMoreToolsMenuFactory menuFactory(QStringLiteral("dolphin/statusbar-diskspace-menu"));
+#if KNEWSTUFF_VERSION >= QT_VERSION_CHECK(5, 37, 0)
+ menuFactory.setParentWidget(this);
+#endif
auto menu = menuFactory.createMenuFromGroupingNames(
{ "disk-usage", "more:", "disk-partitions" }, m_url);
auto menu = menuFactory.createMenuFromGroupingNames(
{ "disk-usage", "more:", "disk-partitions" }, m_url);