aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMike Skec <skec@protonmail.ch>2021-02-17 15:19:47 +1100
committerFelix Queißner <felix@ib-queissner.de>2021-02-17 09:24:05 +0100
commitb82ecad5462eec767e2e3216e9e96dfebf04f1cc (patch)
treeabb3c9ac713aae70d63d496d27348cade698a260 /src
parent9bf17318f91b0d5a42c970491d0963178fd23938 (diff)
downloadkristall-b82ecad5462eec767e2e3216e9e96dfebf04f1cc.tar.gz
Add basic root/parent navigation options to menu, with shortcuts
Diffstat (limited to 'src')
-rw-r--r--src/mainwindow.cpp29
-rw-r--r--src/mainwindow.hpp4
-rw-r--r--src/mainwindow.ui24
3 files changed, 57 insertions, 0 deletions
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();
diff --git a/src/mainwindow.hpp b/src/mainwindow.hpp
index 7602ac5..a252daa 100644
--- a/src/mainwindow.hpp
+++ b/src/mainwindow.hpp
@@ -70,6 +70,10 @@ private slots:
void on_actionBackward_triggered();
+ void on_actionRoot_triggered();
+
+ void on_actionParent_triggered();
+
void on_actionRefresh_triggered();
void on_actionAbout_Qt_triggered();
diff --git a/src/mainwindow.ui b/src/mainwindow.ui
index bc503ca..5c11e56 100644
--- a/src/mainwindow.ui
+++ b/src/mainwindow.ui
@@ -222,6 +222,8 @@
<addaction name="actionGo_to_home"/>
<addaction name="actionBackward"/>
<addaction name="actionForward"/>
+ <addaction name="actionRoot"/>
+ <addaction name="actionParent"/>
<addaction name="separator"/>
<addaction name="actionRefresh"/>
<addaction name="separator"/>
@@ -310,6 +312,28 @@
<string>Alt+Right</string>
</property>
</action>
+ <action name="actionRoot">
+ <property name="text">
+ <string>Root</string>
+ </property>
+ <property name="toolTip">
+ <string>Go to the root directory (/)</string>
+ </property>
+ <property name="shortcut">
+ <string>Ctrl+/</string>
+ </property>
+ </action>
+ <action name="actionParent">
+ <property name="text">
+ <string>Parent</string>
+ </property>
+ <property name="toolTip">
+ <string>Go to the parent directory</string>
+ </property>
+ <property name="shortcut">
+ <string>Alt+Up</string>
+ </property>
+ </action>
<action name="actionRefresh">
<property name="icon">
<iconset theme="view-refresh"/>