From 6787467a7b3b54971ce023c1ba1a36b5d1a7c499 Mon Sep 17 00:00:00 2001 From: Emmanuel Pescosta Date: Thu, 26 Feb 2015 17:09:46 +0100 Subject: [PATCH] Revert "Use the Baloo Query Builder widget to add syntax-highlighting in Dolphin search" The natural query parser is too unstable for the release atm, we'll readd the query parser when the code is mature enough. This reverts commit e3578ee3b770a1b8f359ed1a3cc6e3ac7f6c700e. --- src/CMakeLists.txt | 1 - src/search/dolphinsearchbox.cpp | 52 +++++++++------------------------ src/search/dolphinsearchbox.h | 18 ++---------- 3 files changed, 17 insertions(+), 54 deletions(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 94aa5a51ca..1b04a642b1 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -141,7 +141,6 @@ if(HAVE_BALOO) dolphinprivate PUBLIC KF5::FileMetaData KF5::Baloo - KF5::BalooNaturalQueryParser KF5::BalooWidgets ) endif() diff --git a/src/search/dolphinsearchbox.cpp b/src/search/dolphinsearchbox.cpp index fe298312f7..9e908de5d8 100644 --- a/src/search/dolphinsearchbox.cpp +++ b/src/search/dolphinsearchbox.cpp @@ -38,9 +38,8 @@ #include #include +#include #ifdef HAVE_BALOO - #include - #include #include #include #include @@ -251,9 +250,8 @@ void DolphinSearchBox::slotConfigurationChanged() } } -void DolphinSearchBox::slotSearchTextChanged() +void DolphinSearchBox::slotSearchTextChanged(const QString& text) { - const QString text = m_searchInput->text(); if (text.isEmpty()) { m_startSearchTimer->stop(); @@ -266,14 +264,7 @@ void DolphinSearchBox::slotSearchTextChanged() void DolphinSearchBox::slotReturnPressed() { emitSearchRequest(); - emit returnPressed(m_searchInput->text()); -} - -void DolphinSearchBox::updateSearchInputParsing() -{ -#ifdef HAVE_BALOO - m_searchInput->setParsingEnabled(m_contentButton->isChecked()); -#endif + emit returnPressed(); } void DolphinSearchBox::slotFacetsButtonToggled() @@ -314,7 +305,6 @@ void DolphinSearchBox::loadSettings() } m_facetsWidget->setVisible(SearchSettings::showFacetsWidget()); - updateSearchInputParsing(); } void DolphinSearchBox::saveSettings() @@ -338,14 +328,6 @@ void DolphinSearchBox::init() m_searchLabel = new QLabel(this); // Create search box -#ifdef HAVE_BALOO - m_queryParser.reset(new Baloo::NaturalFileQueryParser); - m_searchInput = new Baloo::QueryBuilder(m_queryParser.data(), this); - connect(m_searchInput, &Baloo::QueryBuilder::editingFinished, - this, &DolphinSearchBox::slotReturnPressed); - connect(m_searchInput, &Baloo::QueryBuilder::textChanged, - this, &DolphinSearchBox::slotSearchTextChanged); -#else m_searchInput = new QLineEdit(this); m_searchInput->installEventFilter(this); m_searchInput->setClearButtonEnabled(true); @@ -354,7 +336,6 @@ void DolphinSearchBox::init() this, &DolphinSearchBox::slotReturnPressed); connect(m_searchInput, &QLineEdit::textChanged, this, &DolphinSearchBox::slotSearchTextChanged); -#endif setFocusProxy(m_searchInput); // Apply layout for the search input @@ -376,8 +357,6 @@ void DolphinSearchBox::init() QButtonGroup* searchWhatGroup = new QButtonGroup(this); searchWhatGroup->addButton(m_fileNameButton); searchWhatGroup->addButton(m_contentButton); - connect(searchWhatGroup, static_cast(&QButtonGroup::buttonClicked), - this, &DolphinSearchBox::updateSearchInputParsing); m_separator = new KSeparator(Qt::Vertical, this); @@ -454,31 +433,28 @@ QUrl DolphinSearchBox::balooUrlForSearching() const const QString text = m_searchInput->text(); Baloo::Query query; - - if (m_contentButton->isChecked()) { - query = m_queryParser->parse(text, Baloo::NaturalQueryParser::DetectFilenamePattern); - } else { - query.setTerm(Baloo::Term(QLatin1String("filename"), text)); - } - - // Configure the query so that it returns files and takes the rating into account query.addType("File"); query.addType(m_facetsWidget->facetType()); Baloo::Term term(Baloo::Term::And); + Baloo::Term ratingTerm = m_facetsWidget->ratingTerm(); - if (ratingTerm.isValid()) { - term.addSubTerm(query.term()); term.addSubTerm(ratingTerm); + } - query.setTerm(term); + if (m_contentButton->isChecked()) { + query.setSearchString(text); + } else if (!text.isEmpty()) { + term.addSubTerm(Baloo::Term(QLatin1String("filename"), text)); } if (m_fromHereButton->isChecked()) { query.setIncludeFolder(m_searchPath.toLocalFile()); } + query.setTerm(term); + return query.toSearchUrl(i18nc("@title UDS_DISPLAY_NAME for a KIO directory listing. %1 is the query the user entered.", "Query Results from '%1'", text)); #else @@ -503,9 +479,7 @@ void DolphinSearchBox::fromBalooSearchUrl(const QUrl& url) setSearchPath(QDir::homePath()); } - if (!query.searchString().isEmpty()) { - setText(query.searchString()); - } + setText(query.searchString()); QStringList types = query.types(); types.removeOne("File"); // We are only interested in facet widget types @@ -525,6 +499,8 @@ void DolphinSearchBox::fromBalooSearchUrl(const QUrl& url) m_startSearchTimer->stop(); blockSignals(false); +#else + Q_UNUSED(url); #endif } diff --git a/src/search/dolphinsearchbox.h b/src/search/dolphinsearchbox.h index ef48d08308..a806174760 100644 --- a/src/search/dolphinsearchbox.h +++ b/src/search/dolphinsearchbox.h @@ -23,8 +23,6 @@ #include #include -#include - class DolphinFacetsWidget; class QLineEdit; class KSeparator; @@ -33,11 +31,6 @@ class QScrollArea; class QLabel; class QVBoxLayout; -namespace Baloo { - class QueryBuilder; - class NaturalQueryParser; -} - /** * @brief Input box for searching files with or without Baloo. * @@ -122,7 +115,7 @@ signals: */ void searchTextChanged(const QString& text); - void returnPressed(const QString& text); + void returnPressed(); /** * Emitted as soon as the search box should get closed. @@ -140,11 +133,10 @@ private slots: void emitSearchRequest(); void emitCloseRequest(); void slotConfigurationChanged(); - void slotSearchTextChanged(); + void slotSearchTextChanged(const QString& text); void slotReturnPressed(); void slotFacetsButtonToggled(); void slotFacetChanged(); - void updateSearchInputParsing(); private: void initButton(QToolButton* button); @@ -164,6 +156,7 @@ private: void fromBalooSearchUrl(const QUrl& url); void updateFacetsToggleButton(); + private: bool m_startedSearching; bool m_active; @@ -171,12 +164,7 @@ private: QVBoxLayout* m_topLayout; QLabel* m_searchLabel; -#ifdef HAVE_BALOO - Baloo::QueryBuilder* m_searchInput; - QScopedPointer m_queryParser; -#else QLineEdit* m_searchInput; -#endif QScrollArea* m_optionsScrollArea; QToolButton* m_fileNameButton; QToolButton* m_contentButton;