From: Ismael Asensio Date: Fri, 31 Jul 2020 21:59:21 +0000 (+0200) Subject: [search] Close tags menu after click when there is only one tag X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/commitdiff_plain/f9fd0e7be301eb6fa5019b0abfdfbc7ed60e2325?ds=sidebyside [search] Close tags menu after click when there is only one tag It stays open otherwise to allow checking/unchecking several tags at a time BUG: 424873 FIXED-IN: 20.08 --- diff --git a/src/search/dolphinfacetswidget.cpp b/src/search/dolphinfacetswidget.cpp index d9943abcd..8bae83887 100644 --- a/src/search/dolphinfacetswidget.cpp +++ b/src/search/dolphinfacetswidget.cpp @@ -272,12 +272,14 @@ void DolphinFacetsWidget::updateTagsMenuItems(const QUrl&, const KFileItemList& allTags.sort(Qt::CaseInsensitive); allTags.removeDuplicates(); + const bool onlyOneTag = allTags.count() == 1; + for (const QString& tagName : qAsConst(allTags)) { QAction* action = m_tagsSelector->menu()->addAction(QIcon::fromTheme(QStringLiteral("tag")), tagName); action->setCheckable(true); action->setChecked(m_searchTags.contains(tagName)); - connect(action, &QAction::triggered, this, [this, tagName](bool isChecked) { + connect(action, &QAction::triggered, this, [this, tagName, onlyOneTag](bool isChecked) { if (isChecked) { addSearchTag(tagName); } else { @@ -285,7 +287,9 @@ void DolphinFacetsWidget::updateTagsMenuItems(const QUrl&, const KFileItemList& } emit facetChanged(); - m_tagsSelector->menu()->show(); + if (!onlyOneTag) { + m_tagsSelector->menu()->show(); + } }); }