┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/dolphinmainwindow.cpp
diff options
context:
space:
mode:
authorFelix Ernst <[email protected]>2025-04-19 14:32:25 +0200
committerFelix Ernst <[email protected]>2025-04-19 14:32:25 +0200
commitb889a446bfe851a7f49821d469c5f3041b6e5774 (patch)
treee14a8ddec8efc56c27fd11cbb46f72d9b325784b /src/dolphinmainwindow.cpp
parent81627bbf9a8eace35f87b6bb09d25afef5ea8421 (diff)
Add Filelight menu to Tools menu
The menu for installing and launching Filelight was only available through the status bar free space info button until now. By default we do no longer show the free space info button because the status bar has been changed to show less information by default. This commit adds the "Manage Disk Space Usage" menu to the "Tools" menu in the menu bar so it is more discoverable for users.
Diffstat (limited to 'src/dolphinmainwindow.cpp')
-rw-r--r--src/dolphinmainwindow.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/dolphinmainwindow.cpp b/src/dolphinmainwindow.cpp
index 67db2c5e9..1f483309f 100644
--- a/src/dolphinmainwindow.cpp
+++ b/src/dolphinmainwindow.cpp
@@ -29,6 +29,7 @@
#include "search/dolphinquery.h"
#include "selectionmode/actiontexthelper.h"
#include "settings/dolphinsettingsdialog.h"
+#include "statusbar/diskspaceusagemenu.h"
#include "statusbar/dolphinstatusbar.h"
#include "views/dolphinnewfilemenuobserver.h"
#include "views/dolphinremoteencoding.h"
@@ -126,6 +127,7 @@ DolphinMainWindow::DolphinMainWindow()
, m_forwardAction(nullptr)
, m_splitViewAction(nullptr)
, m_splitViewMenuAction(nullptr)
+ , m_diskSpaceUsageMenu(nullptr)
, m_sessionSaveTimer(nullptr)
, m_sessionSaveWatcher(nullptr)
, m_sessionSaveScheduled(false)
@@ -392,6 +394,7 @@ void DolphinMainWindow::changeUrl(const QUrl &url)
updatePasteAction();
updateViewActions();
updateGoActions();
+ m_diskSpaceUsageMenu->setUrl(url);
// will signal used urls to activities manager, too
m_recentFiles->addUrl(url, QString(), "inode/directory");
@@ -1626,6 +1629,7 @@ void DolphinMainWindow::activeViewChanged(DolphinViewContainer *viewContainer)
if (auto secondaryUrlNavigator = navigators->secondaryUrlNavigator()) {
secondaryUrlNavigator->disconnect(this);
}
+ oldViewContainer->disconnect(m_diskSpaceUsageMenu);
// except the requestItemInfo so that on hover the information panel can still be updated
connect(oldViewContainer->view(), &DolphinView::requestItemInfo, this, &DolphinMainWindow::requestItemInfo);
@@ -1647,6 +1651,13 @@ void DolphinMainWindow::activeViewChanged(DolphinViewContainer *viewContainer)
updateViewActions();
updateGoActions();
updateSearchAction();
+ connect(m_diskSpaceUsageMenu,
+ &DiskSpaceUsageMenu::showMessage,
+ viewContainer,
+ [viewContainer](const QString &message, KMessageWidget::MessageType messageType) {
+ viewContainer->showMessage(message, messageType);
+ });
+ connect(m_diskSpaceUsageMenu, &DiskSpaceUsageMenu::showInstallationProgress, viewContainer, &DolphinViewContainer::showProgress);
const QUrl url = viewContainer->url();
Q_EMIT urlChanged(url);
@@ -2090,6 +2101,12 @@ void DolphinMainWindow::setupActions()
compareFiles->setEnabled(false);
connect(compareFiles, &QAction::triggered, this, &DolphinMainWindow::compareFiles);
+ QAction *manageDiskSpaceUsage = actionCollection()->addAction(QStringLiteral("manage_disk_space"));
+ manageDiskSpaceUsage->setText(i18nc("@action:inmenu Tools", "Manage Disk Space Usage"));
+ manageDiskSpaceUsage->setIcon(QIcon::fromTheme(QStringLiteral("filelight")));
+ m_diskSpaceUsageMenu = new DiskSpaceUsageMenu{this};
+ manageDiskSpaceUsage->setMenu(m_diskSpaceUsageMenu);
+
QAction *openPreferredSearchTool = actionCollection()->addAction(QStringLiteral("open_preferred_search_tool"));
openPreferredSearchTool->setText(i18nc("@action:inmenu Tools", "Open Preferred Search Tool"));
openPreferredSearchTool->setWhatsThis(xi18nc("@info:whatsthis",