boludoz 2 лет назад
Родитель
Сommit
0a75519ab5
3 измененных файлов с 30 добавлено и 11 удалено
  1. 27 8
      src/common/fs/path_util.cpp
  2. 1 1
      src/yuzu/main.h
  3. 2 2
      src/yuzu/util/util.cpp

+ 27 - 8
src/common/fs/path_util.cpp

@@ -363,13 +363,28 @@ fs::path GetDesktopPath() {
         LOG_ERROR(Common_Filesystem,
                   "[GetDesktopPath] Failed to get the path to the desktop directory");
     }
+    return fs::path{};
 #else
-    fs::path shortcut_path = GetHomeDirectory() / "Desktop";
-    if (fs::exists(shortcut_path)) {
-        return shortcut_path;
+    fs::path shortcut_path{};
+
+    // Array of possible desktop
+    std::vector<std::string> desktop_paths = {
+        "Desktop",      "Escritorio", "Bureau",       "Skrivebord", "Plocha",
+        "Skrivbord",    "Desktop",    "Рабочий стол", "Pulpit",     "Área de Trabalho",
+        "Робочий стіл", "Bureaublad", "デスクトップ", "桌面",       "Pöytä",
+        "바탕 화면",    "바탕 화면",  "سطح المكتب",   "دسکتاپ",     "שולחן עבודה"};
+
+    for (auto& path : desktop_paths) {
+        if (fs::exists(GetHomeDirectory() / path)) {
+            return path;
+        }
     }
+
+    LOG_ERROR(Common_Filesystem,
+              "[GetDesktopPath] Failed to get the path to the desktop directory");
+
+    return shortcut_path;
 #endif
-    return fs::path{};
 }
 
 fs::path GetAppsShortcutsPath() {
@@ -387,16 +402,20 @@ fs::path GetAppsShortcutsPath() {
         LOG_ERROR(Common_Filesystem,
                   "[GetAppsShortcutsPath] Failed to get the path to the App Shortcuts directory");
     }
+
+    return fs::path{};
 #else
     fs::path shortcut_path = GetHomeDirectory() / ".local/share/applications";
     if (!fs::exists(shortcut_path)) {
         shortcut_path = std::filesystem::path("/usr/share/applications");
-        return shortcut_path;
-    } else {
-        return shortcut_path;
+        if (!fs::exists(shortcut_path)) {
+            LOG_ERROR(Common_Filesystem,
+                      "[GetAppsShortcutsPath] Failed to get the path to the App Shortcuts "
+                      "directory");
+        }
     }
-#endif
     return fs::path{};
+#endif
 }
 
 // vvvvvvvvvv Deprecated vvvvvvvvvv //

+ 1 - 1
src/yuzu/main.h

@@ -152,7 +152,7 @@ class GMainWindow : public QMainWindow {
         UI_EMU_STOPPING,
     };
 
-    const enum {
+    enum {
         CREATE_SHORTCUT_MSGBOX_FULLSCREEN_YES,
         CREATE_SHORTCUT_MSGBOX_SUCCESS,
         CREATE_SHORTCUT_MSGBOX_ERROR,

+ 2 - 2
src/yuzu/util/util.cpp

@@ -144,7 +144,7 @@ bool SaveIconToFile(const QImage& image, const std::filesystem::path& icon_path)
     }
 
     return true;
-#endif
-
+#else
     return false;
+#endif
 }