std::error_code errorToErrorCode(Error Err) { std::error_code EC; handleAllErrors(std::move(Err), [&](const ErrorInfoBase &EI) { EC = EI.convertToErrorCode(); }); if (EC == inconvertibleErrorCode()) report_fatal_error(EC.message()); return EC; }
void logAllUnhandledErrors(Error E, raw_ostream &OS, Twine ErrorBanner) { if (!E) return; OS << ErrorBanner; handleAllErrors(std::move(E), [&](const ErrorInfoBase &EI) { EI.log(OS); OS << "\n"; }); }
void MainWindow::advancedSearch() { SearchDialog searchDialog( window() ); searchDialog.setWindowIcon( windowIcon() ); searchDialog.setWindowModality( Qt::ApplicationModal ); if( searchDialog.exec() == QDialog::Accepted ){ QString query = YOUTUBE_URL + "&q=" + searchDialog.getQuery() + "&key=" + API_KEY; try { m_networkManager->getRequest( QUrl{ query } ); displayVideoInfo( m_networkManager->result ); } catch( BaseError & err ){ handleAllErrors( err.what() ); return; } } }
void MainWindow::basicSearch() { bool ok = false; QString query = QInputDialog::getText( this->window(), tr("Basic Search"), tr( "Enter video title" ), QLineEdit::Normal, QString{}, &ok ); query = tr( QUrl::toPercentEncoding( query ) ); if( ok && query.size() != 0 ){ QString new_query = YOUTUBE_URL + "&q=" + query + tr( "&maxResults=%1&key=%2" ) .arg( MAX_RESULT ) .arg( API_KEY ); try { m_networkManager->getRequest( QUrl( new_query ) ); displayVideoInfo( m_networkManager->result ); } catch ( BaseError & err ) { handleAllErrors( err.what() ); return; } } }
void error(Error EC) { if (!EC) return; handleAllErrors(std::move(EC), [&](const ErrorInfoBase &EI) { reportError(EI.message()); }); }