aboutsummaryrefslogtreecommitdiff
path: root/launcher/ui/MainWindow.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'launcher/ui/MainWindow.cpp')
-rw-r--r--launcher/ui/MainWindow.cpp15
1 files changed, 14 insertions, 1 deletions
diff --git a/launcher/ui/MainWindow.cpp b/launcher/ui/MainWindow.cpp
index 0a846b59..02f60233 100644
--- a/launcher/ui/MainWindow.cpp
+++ b/launcher/ui/MainWindow.cpp
@@ -2100,7 +2100,20 @@ void MainWindow::on_actionCreateInstanceShortcut_triggered()
}
#ifdef Q_OS_MACOS
- QMessageBox::critical(this, tr("Create instance shortcut"), tr("Not supported on macOS yet!"));
+ // handle macOS bundle weirdness
+ QFileInfo appFileInfo(QApplication::applicationFilePath()));
+ QString appName = appFileInfo.baseName();
+ QString exeName = FS::PathCombine(appFileInfo.filePath(), "Contents/MacOS/" + appName);
+
+ if (FS::createShortcut(FS::PathCombine(desktopPath, m_selectedInstance->name()),
+ exeName, { "--launch", m_selectedInstance->id() }, m_selectedInstance->name(), "")) {
+ QMessageBox::information(this, tr("Create instance shortcut"), tr("Created a shortcut to this instance on your desktop!"));
+ }
+ else
+ {
+ QMessageBox::critical(this, tr("Create instance shortcut"), tr("Failed to create instance shortcut!"));
+ }
+
return;
#endif
auto icon = APPLICATION->icons()->icon(m_selectedInstance->iconKey());