X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/f46e630ddaaf5716cd1a1ce0c389ff66dcd76f85..8c4d4b9a129b3b5dd54a7f6d67f2cf3059c7f404:/src/dolphinnavigatorswidgetaction.cpp diff --git a/src/dolphinnavigatorswidgetaction.cpp b/src/dolphinnavigatorswidgetaction.cpp index b8c77c69b..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); @@ -266,5 +279,5 @@ void DolphinNavigatorsWidgetAction::updateText() { const int urlNavigatorsAmount = m_splitter->count() > 1 && m_splitter->widget(1)->isVisible() ? 2 : 1; - setText(i18ncp("@action:inmenu", "Url Navigator", "Url Navigators", urlNavigatorsAmount)); + setText(i18ncp("@action:inmenu", "Location Bar", "Location Bars", urlNavigatorsAmount)); }