#include "statusbarspaceinfo.h"
#include "spaceinfoobserver.h"
-#include "spaceinfotoolsmenu.h"
#include <QMouseEvent>
#include <KLocalizedString>
+#include <KNS3/KMoreToolsMenuFactory>
#include <KIO/Job>
-
+#include <knewstuff_version.h>
StatusBarSpaceInfo::StatusBarSpaceInfo(QWidget* parent) :
KCapacityBar(KCapacityBar::DrawTextInline, parent),
- m_observer(0)
+ m_observer(nullptr)
{
+ setCursor(Qt::PointingHandCursor);
}
StatusBarSpaceInfo::~StatusBarSpaceInfo()
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());
}
}