┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/search/dolphinsearchbox.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/search/dolphinsearchbox.cpp')
-rw-r--r--src/search/dolphinsearchbox.cpp38
1 files changed, 17 insertions, 21 deletions
diff --git a/src/search/dolphinsearchbox.cpp b/src/search/dolphinsearchbox.cpp
index 9c41db9c5..d846e5b6c 100644
--- a/src/search/dolphinsearchbox.cpp
+++ b/src/search/dolphinsearchbox.cpp
@@ -49,7 +49,6 @@ DolphinSearchBox::DolphinSearchBox(QWidget* parent) :
m_startedSearching(false),
m_active(true),
m_topLayout(nullptr),
- m_searchLabel(nullptr),
m_searchInput(nullptr),
m_saveSearchAction(nullptr),
m_optionsScrollArea(nullptr),
@@ -87,22 +86,22 @@ void DolphinSearchBox::setSearchPath(const QUrl& url)
QFontMetrics metrics(m_fromHereButton->font());
const int maxWidth = metrics.height() * 8;
- QString location = url.fileName();
+ const QUrl cleanedUrl = url.adjusted(QUrl::RemoveUserInfo | QUrl::StripTrailingSlash);
+ QString location = cleanedUrl.fileName();
if (location.isEmpty()) {
- if (url.isLocalFile()) {
- location = QStringLiteral("/");
- } else {
- location = url.scheme() + QLatin1String(" - ") + url.host();
- }
+ location = cleanedUrl.toString(QUrl::PreferLocalFile);
+ }
+ if (m_fromHereButton->isChecked() && cleanedUrl.path() == QDir::homePath()) {
+ m_fromHereButton->setChecked(false);
+ m_everywhereButton->setChecked(true);
+ } else {
+ m_fromHereButton->setChecked(true);
+ m_everywhereButton->setChecked(false);
}
const QString elidedLocation = metrics.elidedText(location, Qt::ElideMiddle, maxWidth);
m_fromHereButton->setText(i18nc("action:button", "From Here (%1)", elidedLocation));
-
- const bool showSearchFromButtons = url.isLocalFile();
- m_separator->setVisible(showSearchFromButtons);
- m_fromHereButton->setVisible(showSearchFromButtons);
- m_everywhereButton->setVisible(showSearchFromButtons);
+ m_fromHereButton->setToolTip(i18nc("action:button", "Limit search to '%1' and its subfolders", cleanedUrl.toString(QUrl::PreferLocalFile)));
bool hasFacetsSupport = false;
#ifdef HAVE_BALOO
@@ -138,9 +137,6 @@ QUrl DolphinSearchBox::urlForSearching() const
QString encodedUrl;
if (m_everywhereButton->isChecked()) {
- // It is very unlikely, that the majority of Dolphins target users
- // mean "the whole harddisk" instead of "my home folder" when
- // selecting the "Everywhere" button.
encodedUrl = QDir::homePath();
} else {
encodedUrl = m_searchPath.url();
@@ -358,11 +354,9 @@ void DolphinSearchBox::init()
closeButton->setToolTip(i18nc("@info:tooltip", "Quit searching"));
connect(closeButton, &QToolButton::clicked, this, &DolphinSearchBox::emitCloseRequest);
- // Create search label
- m_searchLabel = new QLabel(this);
-
// Create search box
m_searchInput = new QLineEdit(this);
+ m_searchInput->setPlaceholderText(i18n("Search..."));
m_searchInput->installEventFilter(this);
m_searchInput->setClearButtonEnabled(true);
m_searchInput->setFont(QFontDatabase::systemFont(QFontDatabase::GeneralFont));
@@ -384,7 +378,6 @@ void DolphinSearchBox::init()
QHBoxLayout* searchInputLayout = new QHBoxLayout();
searchInputLayout->setContentsMargins(0, 0, 0, 0);
searchInputLayout->addWidget(closeButton);
- searchInputLayout->addWidget(m_searchLabel);
searchInputLayout->addWidget(m_searchInput);
// Create "Filename" and "Content" button
@@ -402,13 +395,16 @@ void DolphinSearchBox::init()
m_separator = new KSeparator(Qt::Vertical, this);
- // Create "From Here" and "Everywhere"button
+ // Create "From Here" and "Your files" buttons
m_fromHereButton = new QToolButton(this);
m_fromHereButton->setText(i18nc("action:button", "From Here"));
initButton(m_fromHereButton);
m_everywhereButton = new QToolButton(this);
- m_everywhereButton->setText(i18nc("action:button", "Everywhere"));
+ m_everywhereButton->setText(i18nc("action:button", "Your files"));
+ m_everywhereButton->setToolTip(i18nc("action:button", "Search in your home directory"));
+ m_everywhereButton->setIcon(QIcon::fromTheme(QStringLiteral("user-home")));
+ m_everywhereButton->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
initButton(m_everywhereButton);
QButtonGroup* searchLocationGroup = new QButtonGroup(this);