aboutsummaryrefslogtreecommitdiff
path: root/src/browsertab.cpp
diff options
context:
space:
mode:
authorMike Skec <skec@protonmail.ch>2020-12-30 13:51:35 +1100
committerFelix Queißner <felix@ib-queissner.de>2020-12-30 11:10:54 +0100
commit4c24c4a2fbd47115fb5a4449172723ace7059ce1 (patch)
treeb7baba2ff1960c20224bee3aed132ca45bb3e927 /src/browsertab.cpp
parentb044dec60c0274ebf016154a26f6e1aa3eaa95d7 (diff)
downloadkristall-4c24c4a2fbd47115fb5a4449172723ace7059ce1.tar.gz
Tilde '~' now expanded in URL bar for file:// protocols
Expansion is done on return-key press
Diffstat (limited to 'src/browsertab.cpp')
-rw-r--r--src/browsertab.cpp14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/browsertab.cpp b/src/browsertab.cpp
index 75825d6..cb23093 100644
--- a/src/browsertab.cpp
+++ b/src/browsertab.cpp
@@ -38,6 +38,7 @@
#include <QDesktopServices>
#include <QShortcut>
#include <QKeySequence>
+#include <QDir>
#include <QPlainTextEdit>
#include <QVBoxLayout>
@@ -257,7 +258,18 @@ void BrowserTab::openSourceView()
void BrowserTab::on_url_bar_returnPressed()
{
- QUrl url { this->ui->url_bar->text().trimmed() };
+ QString urltext = this->ui->url_bar->text().trimmed();
+
+ // Expand '~' to user's home directory.
+ static const QString F_PROTO = "file://";
+ static const int F_PROTO_LEN = F_PROTO.length();
+ if (urltext.startsWith(F_PROTO) &&
+ QStringRef(&urltext, F_PROTO_LEN, 2) == "~/")
+ {
+ urltext = F_PROTO + QDir::homePath() + urltext.remove(0, F_PROTO_LEN + 1);
+ }
+
+ QUrl url { urltext };
if (url.scheme().isEmpty())
{