┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/dolphinurlnavigator.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/dolphinurlnavigator.cpp')
-rw-r--r--src/dolphinurlnavigator.cpp27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/dolphinurlnavigator.cpp b/src/dolphinurlnavigator.cpp
index ad4569177..3a40eea5c 100644
--- a/src/dolphinurlnavigator.cpp
+++ b/src/dolphinurlnavigator.cpp
@@ -16,6 +16,7 @@
#include <KUrlComboBox>
#include <QAbstractButton>
+#include <QLabel>
#include <QLayout>
#include <QLineEdit>
@@ -49,6 +50,12 @@ DolphinUrlNavigator::DolphinUrlNavigator(const QUrl &url, QWidget *parent)
DolphinUrlNavigatorsController::registerDolphinUrlNavigator(this);
connect(this, &KUrlNavigator::returnPressed, this, &DolphinUrlNavigator::slotReturnPressed);
+
+ auto readOnlyBadge = new QLabel();
+ readOnlyBadge->setPixmap(QIcon::fromTheme(QStringLiteral("emblem-readonly")).pixmap(12, 12));
+ readOnlyBadge->setToolTip(i18nc("@info:tooltip of a 'locked' symbol in url navigator", "This folder is not writable for you."));
+ readOnlyBadge->hide();
+ setBadgeWidget(readOnlyBadge);
}
DolphinUrlNavigator::~DolphinUrlNavigator()
@@ -69,6 +76,9 @@ QSize DolphinUrlNavigator::sizeHint() const
widthHint += widget->minimumSizeHint().width();
}
}
+ if (readOnlyBadgeVisible()) {
+ widthHint += badgeWidget()->sizeHint().width();
+ }
return QSize(widthHint, KUrlNavigator::sizeHint().height());
}
@@ -111,6 +121,23 @@ void DolphinUrlNavigator::setPlaceholderText(const QString &text)
editor()->lineEdit()->setPlaceholderText(text);
}
+void DolphinUrlNavigator::setReadOnlyBadgeVisible(bool visible)
+{
+ QWidget *readOnlyBadge = badgeWidget();
+ if (readOnlyBadge) {
+ readOnlyBadge->setVisible(visible);
+ }
+}
+
+bool DolphinUrlNavigator::readOnlyBadgeVisible() const
+{
+ QWidget *readOnlyBadge = badgeWidget();
+ if (readOnlyBadge) {
+ return readOnlyBadge->isVisible();
+ }
+ return false;
+}
+
void DolphinUrlNavigator::slotReturnPressed()
{
if (!GeneralSettings::editableUrl()) {