diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index f56b64ad..c5c5a981 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -57,6 +57,7 @@ set(SOURCES utilities/filemanagerutils.cpp utilities/coverutils.cpp utilities/screenutils.cpp + utilities/searchparserutils.cpp engine/enginebase.cpp engine/enginedevice.cpp diff --git a/src/collection/collectionfilterwidget.cpp b/src/collection/collectionfilterwidget.cpp index 15a69c74..c183c108 100644 --- a/src/collection/collectionfilterwidget.cpp +++ b/src/collection/collectionfilterwidget.cpp @@ -73,6 +73,7 @@ CollectionFilterWidget::CollectionFilterWidget(QWidget *parent) ui_->setupUi(this); QString available_fields = Song::kFtsColumns.join(", ").replace(QRegularExpression("\\bfts"), ""); + available_fields += QString(", ") + Song::kNumericalColumns.join(", "); ui_->search_field->setToolTip( QString("
") + @@ -80,18 +81,26 @@ CollectionFilterWidget::CollectionFilterWidget(QWidget *parent) QString(" ") + QString("") + tr("artist") + - QString(":") + - QString("Strawbs") + - QString(" ") + - tr("searches the collection for all artists that contain the word") + - QString(" Strawbs.") + + QString(":Strawbs ") + + tr("searches the collection for all artists that contain the word %1. ").arg("Strawbs") + + QString("
") + + tr("Search terms for numerical fields can be prefixed with %1 or %2 to refine the search, e.g.: ") + .arg(" =, !=, <, >, <=", ">=") + + QString("") + + tr("rating") + + QString("") + + QString(":>=") + + QString("4") + + QString("
") + tr("Available fields") + QString(": ") + - "" + + QString("") + + QString("") + available_fields + QString(".") + - QString("
")); + QString("