From 22c4fb946f5868e48361ebbef6d0dd378087d5ec Mon Sep 17 00:00:00 2001 From: Mike Skec Date: Mon, 15 Feb 2021 16:07:13 +1100 Subject: BrowserTab.cpp: basic search engine functionality added --- src/browsertab.cpp | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'src/browsertab.cpp') diff --git a/src/browsertab.cpp b/src/browsertab.cpp index ac192c1..57d04b1 100644 --- a/src/browsertab.cpp +++ b/src/browsertab.cpp @@ -292,7 +292,21 @@ void BrowserTab::on_url_bar_returnPressed() if (url.scheme().isEmpty()) { - url = QUrl{"gemini://" + this->ui->url_bar->text()}; + // Need this to get the validation below to work. + url.setUrl("internal://" + this->ui->url_bar->text()); + + // We check if there is at least a TLD so that single words + // are assumed to be searches. + if (url.isValid() && url.host().contains(".")) + { + url = QUrl{"gemini://" + urltext}; + } + else + { + // Use the text as a search query. + static const QString search_engine = "gemini://gus.guru/search?%1"; + url = QUrl{QString(search_engine).arg(this->ui->url_bar->text())}; + } } this->ui->url_bar->clearFocus(); -- cgit v1.2.3