diff options
| author | Mike Skec <skec@protonmail.ch> | 2021-02-15 16:07:13 +1100 |
|---|---|---|
| committer | Felix Queißner <felix@ib-queissner.de> | 2021-02-15 10:48:07 +0100 |
| commit | 22c4fb946f5868e48361ebbef6d0dd378087d5ec (patch) | |
| tree | 95e740a8ea9e40653323c48d89aa529027e82985 /src/browsertab.cpp | |
| parent | beb30b66d54c14b1a5b93e7f024bbc834091985a (diff) | |
| download | kristall-22c4fb946f5868e48361ebbef6d0dd378087d5ec.tar.gz | |
BrowserTab.cpp: basic search engine functionality added
Diffstat (limited to 'src/browsertab.cpp')
| -rw-r--r-- | src/browsertab.cpp | 16 |
1 files changed, 15 insertions, 1 deletions
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(); |
