1
0
mirror of https://invent.kde.org/system/dolphin synced 2024-07-07 10:51:45 +00:00

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 e3578ee3b7.
This commit is contained in:
Emmanuel Pescosta 2015-02-26 17:09:46 +01:00
parent 2b895e7e2b
commit 6787467a7b
3 changed files with 17 additions and 54 deletions

View File

@ -141,7 +141,6 @@ if(HAVE_BALOO)
dolphinprivate PUBLIC
KF5::FileMetaData
KF5::Baloo
KF5::BalooNaturalQueryParser
KF5::BalooWidgets
)
endif()

View File

@ -38,9 +38,8 @@
#include <QToolButton>
#include <QVBoxLayout>
#include <config-baloo.h>
#ifdef HAVE_BALOO
#include <Baloo/NaturalFileQueryParser>
#include <Baloo/QueryBuilder>
#include <Baloo/Query>
#include <Baloo/Term>
#include <Baloo/IndexerConfig>
@ -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<void (QButtonGroup::*)(int)>(&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
}

View File

@ -23,8 +23,6 @@
#include <QUrl>
#include <QWidget>
#include <config-baloo.h>
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<Baloo::NaturalQueryParser> m_queryParser;
#else
QLineEdit* m_searchInput;
#endif
QScrollArea* m_optionsScrollArea;
QToolButton* m_fileNameButton;
QToolButton* m_contentButton;