diff options
author | Petr Mrázek <peterix@gmail.com> | 2020-11-24 22:31:19 +0100 |
---|---|---|
committer | Petr Mrázek <peterix@gmail.com> | 2020-11-24 22:31:49 +0100 |
commit | 88d6b6ea3fb8b6f3711d4d829f78c367e497945a (patch) | |
tree | 2b59ee91b3b18cda41f48db21cf9fd4f507fdd7f | |
parent | 66c09999014fd4337baa6ae03f019cb77917d6df (diff) | |
download | PrismLauncher-88d6b6ea3fb8b6f3711d4d829f78c367e497945a.tar.gz PrismLauncher-88d6b6ea3fb8b6f3711d4d829f78c367e497945a.tar.bz2 PrismLauncher-88d6b6ea3fb8b6f3711d4d829f78c367e497945a.zip |
GH-3427 add low effort datapack button to worlds
-rw-r--r-- | application/pages/instance/WorldListPage.cpp | 18 | ||||
-rw-r--r-- | application/pages/instance/WorldListPage.h | 1 | ||||
-rw-r--r-- | application/pages/instance/WorldListPage.ui | 9 |
3 files changed, 28 insertions, 0 deletions
diff --git a/application/pages/instance/WorldListPage.cpp b/application/pages/instance/WorldListPage.cpp index 75741d22..4d737025 100644 --- a/application/pages/instance/WorldListPage.cpp +++ b/application/pages/instance/WorldListPage.cpp @@ -170,6 +170,24 @@ void WorldListPage::on_actionView_Folder_triggered() DesktopServices::openDirectory(m_worlds->dir().absolutePath(), true); } +void WorldListPage::on_actionDatapacks_triggered() +{ + QModelIndex index = getSelectedWorld(); + + if (!index.isValid()) + { + return; + } + + if(!worldSafetyNagQuestion()) + return; + + auto fullPath = m_worlds->data(index, WorldList::FolderRole).toString(); + + DesktopServices::openDirectory(FS::PathCombine(fullPath, "datapacks"), true); +} + + void WorldListPage::on_actionReset_Icon_triggered() { auto proxiedIndex = getSelectedWorld(); diff --git a/application/pages/instance/WorldListPage.h b/application/pages/instance/WorldListPage.h index 8ff14819..d19f4937 100644 --- a/application/pages/instance/WorldListPage.h +++ b/application/pages/instance/WorldListPage.h @@ -90,6 +90,7 @@ private slots: void on_actionRename_triggered(); void on_actionRefresh_triggered(); void on_actionView_Folder_triggered(); + void on_actionDatapacks_triggered(); void on_actionReset_Icon_triggered(); void worldChanged(const QModelIndex ¤t, const QModelIndex &previous); void mceditState(LoggedProcess::State state); diff --git a/application/pages/instance/WorldListPage.ui b/application/pages/instance/WorldListPage.ui index 8d00f8f4..ed078d94 100644 --- a/application/pages/instance/WorldListPage.ui +++ b/application/pages/instance/WorldListPage.ui @@ -85,6 +85,7 @@ <addaction name="actionCopy"/> <addaction name="actionRemove"/> <addaction name="actionMCEdit"/> + <addaction name="actionDatapacks"/> <addaction name="actionReset_Icon"/> <addaction name="separator"/> <addaction name="actionCopy_Seed"/> @@ -139,6 +140,14 @@ <string>Remove world icon to make the game re-generate it on next load.</string> </property> </action> + <action name="actionDatapacks"> + <property name="text"> + <string>Datapacks</string> + </property> + <property name="toolTip"> + <string>Manage datapacks inside the world.</string> + </property> + </action> </widget> <customwidgets> <customwidget> |