Mercurial > octave
changeset 26318:e1b849489e73 stable
improve displaying search result in documentation browser (bug #55228)
* documentation.cc (global_search): get first quoted string or the first
string from the search query for the full text search within the
displayed help text
author | Torsten <mttl@mailbox.org> |
---|---|
date | Sat, 29 Dec 2018 13:12:21 +0100 |
parents | 522a70bb738f |
children | 4764e9c0face |
files | libgui/src/documentation.cc |
diffstat | 1 files changed, 12 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/libgui/src/documentation.cc Fri Dec 28 21:59:41 2018 -0800 +++ b/libgui/src/documentation.cc Sat Dec 29 13:12:21 2018 +0100 @@ -388,19 +388,28 @@ void documentation::global_search (void) { + + QString query_string; #if defined (HAVE_QHELPSEARCHQUERYWIDGET_SEARCHINPUT) QString queries = m_help_engine->searchEngine ()->queryWidget ()->searchInput (); - m_query_string = queries.split (" ").first (); + query_string = queries; #else + // FIXME: drop this part when support for Qt4 is dropped QList<QHelpSearchQuery> queries = m_help_engine->searchEngine ()->queryWidget ()->query (); if (queries.count ()) - m_query_string = queries.first ().wordList.first (); + query_string = queries.first ().wordList.join (" "); else - m_query_string = ""; + query_string = ""; #endif + // Get quoted search strings first, then take first string as fall back + QRegExp rx ("\"([^\"]*)\""); + if (rx.indexIn (query_string, 0) != -1) + m_query_string = rx.cap (1); + else + m_query_string = query_string.split (" ", QString::SkipEmptyParts).first (); m_help_engine->searchEngine ()->search (queries); }