From b82ecad5462eec767e2e3216e9e96dfebf04f1cc Mon Sep 17 00:00:00 2001 From: Mike Skec Date: Wed, 17 Feb 2021 15:19:47 +1100 Subject: Add basic root/parent navigation options to menu, with shortcuts --- src/mainwindow.cpp | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'src/mainwindow.cpp') diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index d656867..d2623eb 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -482,6 +482,35 @@ void MainWindow::on_actionBackward_triggered() } } +void MainWindow::on_actionRoot_triggered() +{ + BrowserTab * tab = this->curTab(); + if(tab != nullptr && !tab->is_internal_location) { + QUrl url = tab->current_location; + url.setPath("/"); + tab->navigateTo(url, BrowserTab::PushImmediate); + } +} + +void MainWindow::on_actionParent_triggered() +{ + BrowserTab * tab = this->curTab(); + if(tab != nullptr && !tab->is_internal_location) { + QUrl url = tab->current_location; + + // Make sure we have a trailing slash, or else + // QUrl::resolved will not work + if (!url.path().endsWith("/")) + { + url.setPath(url.path() + "/"); + } + + // Go up one directory + url = url.resolved(QUrl{".."}); + tab->navigateTo(url, BrowserTab::PushImmediate); + } +} + void MainWindow::on_actionRefresh_triggered() { BrowserTab * tab = this->curTab(); -- cgit v1.2.3