gui: Perform content search and path search by default

Search for content and paths. Merge lone words for content search.

This behaviour is much more natural than typing "c:()".
This commit is contained in:
2021-12-30 12:17:12 +01:00
parent f0260ee14a
commit 42b49fa43e
6 changed files with 27 additions and 10 deletions

View File

@ -166,8 +166,13 @@ void MainWindow::lineEditReturnPressed()
[&, q]()
{
SqliteSearch searcher(db);
this->currentQuery = LooqsQuery::build(q);
return searcher.search(this->currentQuery);
this->contentSearchQuery = LooqsQuery::build(q, TokenType::FILTER_CONTENT_CONTAINS, true);
LooqsQuery filesQuery = LooqsQuery::build(q, TokenType::FILTER_PATH_CONTAINS, false);
QVector<SearchResult> results;
results.append(searcher.search(filesQuery));
results.append(searcher.search(this->contentSearchQuery));
return results;
});
searchWatcher.setFuture(searchFuture);
}
@ -243,7 +248,7 @@ void MainWindow::makePdfPreview(int page)
QVector<QString> wordsToHighlight;
QRegularExpression extractor(R"#("([^"]*)"|(\w+))#");
for(const Token &token : this->currentQuery.getTokens())
for(const Token &token : this->contentSearchQuery.getTokens())
{
if(token.type == FILTER_CONTENT_CONTAINS)
{

View File

@ -45,7 +45,7 @@ class MainWindow : public QMainWindow
unsigned int processedPdfPreviews;
void handleSearchResults(const QVector<SearchResult> &results);
void handleSearchError(QString error);
LooqsQuery currentQuery;
LooqsQuery contentSearchQuery;
int pdfPreviewsPerPage;
void createSearchResutlMenu(QMenu &menu, const QFileInfo &fileInfo);
void ipcDocOpen(QString path, int num);