]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/dolphinnavigatorswidgetaction.cpp
SVN_SILENT made messages (.desktop file) - always resolve ours
[dolphin.git] / src / dolphinnavigatorswidgetaction.cpp
index cabeac4ed2cdc05439fe883b19750e82b5135494..6b76aad08424c965252f79cb0c6af4f55435cd6e 100644 (file)
@@ -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);