gui: disable searchbar when search is running

avoids waiting in the gui thread. does not try to cancel
the QFuture that actually cannot be cancelled anyway.

sidesteps a strange bug which rethrows already caught exception.
Этот коммит содержится в:
Albert S. 2020-06-06 23:18:33 +02:00
родитель 2b97f4a737
Коммит a46ecf9bff
1 изменённых файлов: 2 добавлений и 2 удалений

Просмотреть файл

@ -49,6 +49,7 @@ void MainWindow::connectSignals()
{
try
{
this->ui->txtSearch->setEnabled(true);
auto results = searchWatcher.future().result();
handleSearchResults(results);
}
@ -169,8 +170,7 @@ void MainWindow::lineEditReturnPressed()
}
// TODO: validate q;
ui->lblSearchResults->setText("Searching...");
searchWatcher.cancel();
searchWatcher.waitForFinished();
this->ui->txtSearch->setEnabled(false);
QFuture<QVector<SearchResult>> searchFuture = QtConcurrent::run(
[&, q]()
{