diff options
Diffstat (limited to 'src/browsertab.cpp')
| -rw-r--r-- | src/browsertab.cpp | 14 |
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()) { |
