diff --git a/src/playlist/playlistcontainer.cpp b/src/playlist/playlistcontainer.cpp index 610b949fd..a6299c75f 100644 --- a/src/playlist/playlistcontainer.cpp +++ b/src/playlist/playlistcontainer.cpp @@ -123,6 +123,38 @@ PlaylistContainer::PlaylistContainer(QWidget *parent) QObject::connect(ui_->playlist, &PlaylistView::FocusOnFilterSignal, this, &PlaylistContainer::FocusOnFilter); ui_->search_field->installEventFilter(this); + QString available_fields = PlaylistFilter().column_names_.keys().join(", "); + ui_->search_field->setToolTip( + QString("
") + + tr("Prefix a search term with a field name to limit the search to that field, e.g.:") + + QString(" ") + + QString("") + + tr("artist") + + 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("Multiple search terms can also be combined with \"%1\" (default) and \"%2\", as well as grouped with parentheses. ") + .arg("AND", "OR") + + + QString("
") + + tr("Available fields") + + QString(": ") + QString("") + + available_fields + + QString(".") + + QString("
") + ); + + ReloadSettings(); } diff --git a/src/playlist/playlistfilter.h b/src/playlist/playlistfilter.h index bab9a6c3e..1191345a9 100644 --- a/src/playlist/playlistfilter.h +++ b/src/playlist/playlistfilter.h @@ -52,6 +52,8 @@ class PlaylistFilter : public QSortFilterProxyModel { QString filter_text() const { return filter_text_; } + QMap