From 7961fe618937b22758fd18cbf29bfd90b9ce3b6f Mon Sep 17 00:00:00 2001 From: DanielSvoboda Date: Wed, 11 Oct 2023 19:54:30 -0300 Subject: [PATCH] Update main.cpp --- src/yuzu/main.cpp | 55 +++++++++++++++++++++-------------------------- 1 file changed, 25 insertions(+), 30 deletions(-) diff --git a/src/yuzu/main.cpp b/src/yuzu/main.cpp index 1483874400..3f1747edd2 100644 --- a/src/yuzu/main.cpp +++ b/src/yuzu/main.cpp @@ -2872,36 +2872,31 @@ void GMainWindow::OnGameListCreateShortcut(u64 program_id, const std::string& ga std::filesystem::path target_directory{}; - // Determine target directory for shortcut - if (target == GameListShortcutTarget::Desktop) { - const auto desktop_path = QStandardPaths::writableLocation(QStandardPaths::DesktopLocation); - target_directory = desktop_path.toUtf8().toStdString(); - const QDir dir(QString::fromStdString(target_directory.generic_string())); - if (!dir.exists()) { - QMessageBox::critical( - this, tr("Create Shortcut"), - tr("Cannot create shortcut on desktop. Path \"%1\" does not exist.") - .arg(QString::fromStdString(target_directory.generic_string())), - QMessageBox::StandardButton::Ok); - return; - } - } else if (target == GameListShortcutTarget::Applications) { -#if defined(__linux__) - QString applicationsPath = - QStandardPaths::writableLocation(QStandardPaths::ApplicationsLocation); - target_directory = applicationsPath.toUtf8().toStdString(); - QDir dir(QString::fromStdString(target_directory.generic_string())); - if (!dir.exists()) { - QMessageBox::critical( - this, tr("Create Shortcut"), - tr("Cannot create shortcut in applications menu. Path \"%1\" " - "does not exist and cannot be created.") - .arg(QString::fromStdString(target_directory.generic_string())), - QMessageBox::StandardButton::Ok); - return; - } -#endif - } +switch (target) { + case GameListShortcutTarget::Desktop: { + const QString desktopPath = + QStandardPaths::writableLocation(QStandardPaths::DesktopLocation); + target_directory = desktopPath.toUtf8().toStdString(); + break; + } + case GameListShortcutTarget::Applications: { + const QString applicationsPath = + QStandardPaths::writableLocation(QStandardPaths::ApplicationsLocation); + target_directory = applicationsPath.toUtf8().toStdString(); + break; + } + default: + return; + } + + const QDir dir(QString::fromStdString(target_directory.generic_string())); + if (!dir.exists()) { + QMessageBox::critical(this, tr("Create Shortcut"), + tr("Cannot create shortcut. Path \"%1\" does not exist.") + .arg(QString::fromStdString(target_directory.generic_string())), + QMessageBox::StandardButton::Ok); + return; + } const std::string game_file_name = std::filesystem::path(game_path).filename().string(); // Determine full paths for icon and shortcut