diff options
Diffstat (limited to 'src/dolphinnavigatorswidgetaction.cpp')
| -rw-r--r-- | src/dolphinnavigatorswidgetaction.cpp | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/src/dolphinnavigatorswidgetaction.cpp b/src/dolphinnavigatorswidgetaction.cpp index cabeac4ed..6b76aad08 100644 --- a/src/dolphinnavigatorswidgetaction.cpp +++ b/src/dolphinnavigatorswidgetaction.cpp @@ -212,11 +212,24 @@ QWidget *DolphinNavigatorsWidgetAction::createNavigatorWidget(Side side) const auto emptyTrashButton = newEmptyTrashButton(urlNavigator, navigatorWidget); layout->addWidget(emptyTrashButton); - connect(urlNavigator, &KUrlNavigator::urlChanged, this, [this]() { + connect(urlNavigator, &KUrlNavigator::urlChanged, this, [urlNavigator, this]() { + // Update URL navigator to show a server URL entry placeholder text if we + // just loaded the remote:/ page, to make it easier for users to figure out + // that they can enter arbitrary remote URLs. See bug 414670 + if (urlNavigator->locationUrl().scheme() == QLatin1String("remote")) { + if (!urlNavigator->isUrlEditable()) { + urlNavigator->setUrlEditable(true); + } + urlNavigator->clearText(); + urlNavigator->setPlaceholderText(i18n("Enter server URL (e.g. smb://[ip address])")); + } else { + urlNavigator->setPlaceholderText(QString()); + } + // We have to wait for DolphinUrlNavigator::sizeHint() to update which // happens a little bit later than when urlChanged is emitted. this->m_adjustSpacingTimer->start(); - }); + }, Qt::QueuedConnection); auto trailingSpacing = new QWidget{navigatorWidget}; layout->addWidget(trailingSpacing); |
