X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/2b895e7e2bd096e55faa1032ebc6a355a72c2325..6e05c6365eec005caa3198a13bb071c782b8b192:/src/statusbar/statusbarspaceinfo.cpp diff --git a/src/statusbar/statusbarspaceinfo.cpp b/src/statusbar/statusbarspaceinfo.cpp index 127641e60..9b8d249fb 100644 --- a/src/statusbar/statusbarspaceinfo.cpp +++ b/src/statusbar/statusbarspaceinfo.cpp @@ -21,18 +21,18 @@ #include "statusbarspaceinfo.h" #include "spaceinfoobserver.h" -#include "spaceinfotoolsmenu.h" - -#include #include -#include +#include +#include +#include StatusBarSpaceInfo::StatusBarSpaceInfo(QWidget* parent) : KCapacityBar(KCapacityBar::DrawTextInline, parent), - m_observer(0) + m_observer(nullptr) { + setCursor(Qt::PointingHandCursor); } StatusBarSpaceInfo::~StatusBarSpaceInfo() @@ -71,8 +71,19 @@ void StatusBarSpaceInfo::hideEvent(QHideEvent* event) void StatusBarSpaceInfo::mousePressEvent(QMouseEvent* event) { if (event->button() == Qt::LeftButton) { - SpaceInfoToolsMenu spaceInfoToolsMenu(this, m_url); - spaceInfoToolsMenu.exec(QCursor::pos()); + // Creates a menu with tools that help to find out more about free + // disk space for the given url. + + // 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); + + menu->exec(QCursor::pos()); } }