]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/statusbar/statusbarspaceinfo.cpp
GIT_SILENT Sync po/docbooks with svn
[dolphin.git] / src / statusbar / statusbarspaceinfo.cpp
index b9dafe997f44e1c1f91a16957eb3acd8aee94e0d..9df4164676d28b2fa689d4280f329d8a8832c1cf 100644 (file)
@@ -14,6 +14,7 @@
 #include <KLocalizedString>
 #include <KService>
 
+#include <QDesktopServices>
 #include <QHBoxLayout>
 #include <QMenu>
 #include <QMouseEvent>
@@ -99,6 +100,11 @@ void StatusBarSpaceInfo::hideEvent(QHideEvent *event)
     QWidget::hideEvent(event);
 }
 
+QSize StatusBarSpaceInfo::minimumSizeHint() const
+{
+    return QSize();
+}
+
 void StatusBarSpaceInfo::updateMenu()
 {
     m_buttonMenu->clear();
@@ -110,7 +116,17 @@ void StatusBarSpaceInfo::updateMenu()
     const KService::Ptr kdiskfree = KService::serviceByDesktopName(QStringLiteral("org.kde.kdf"));
 
     if (!filelight && !kdiskfree) {
-        // nothing to show
+        QAction *installFilelight =
+            m_buttonMenu->addAction(QIcon::fromTheme(QStringLiteral("filelight")), i18n("Install Filelight to View Disk Usage Statistics…"));
+
+        connect(installFilelight, &QAction::triggered, this, [] {
+#ifdef Q_OS_WIN
+            QDesktopServices::openUrl(QUrl("https://apps.kde.org/filelight"));
+#else
+            QDesktopServices::openUrl(QUrl("appstream://org.kde.filelight.desktop"));
+#endif
+        });
+
         return;
     }
 
@@ -179,7 +195,11 @@ void StatusBarSpaceInfo::slotValuesChanged()
 
     m_textInfoButton->setText(i18nc("@info:status Free disk space", "%1 free", KIO::convertSize(available)));
     setToolTip(i18nc("tooltip:status Free disk space", "%1 free out of %2 (%3% used)", KIO::convertSize(available), KIO::convertSize(size), percentUsed));
-    m_textInfoButton->setToolTip(toolTip());
+    m_textInfoButton->setToolTip(i18nc("@info:tooltip for the free disk space button",
+                                       "%1 free out of %2 (%3% used)\nPress to manage disk space usage.",
+                                       KIO::convertSize(available),
+                                       KIO::convertSize(size),
+                                       percentUsed));
     setUpdatesEnabled(false);
     m_capacityBar->setValue(percentUsed);
     setUpdatesEnabled(true);