1
0
Fork 0
forked from suyu/suyu

Unnecessary feature removed

This commit is contained in:
boludoz 2023-10-15 14:44:23 -03:00
parent 0a75519ab5
commit 4d4fe69223
4 changed files with 5 additions and 99 deletions

View file

@ -348,76 +348,6 @@ fs::path GetBundleDirectory() {
#endif #endif
fs::path GetDesktopPath() {
#if defined(_WIN32)
PWSTR DesktopPath = nullptr;
if (SUCCEEDED(SHGetKnownFolderPath(FOLDERID_Desktop, 0, NULL, &DesktopPath))) {
std::wstring wideDesktopPath(DesktopPath);
CoTaskMemFree(DesktopPath);
// UTF-16 filesystem lib to UTF-8 is broken, so we need to convert to UTF-8 with the with
// the Windows library (Filesystem converts the strings literally).
return fs::path{Common::UTF16ToUTF8(wideDesktopPath)};
} else {
LOG_ERROR(Common_Filesystem,
"[GetDesktopPath] Failed to get the path to the desktop directory");
}
return fs::path{};
#else
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
}
fs::path GetAppsShortcutsPath() {
#if defined(_WIN32)
PWSTR AppShortcutsPath = nullptr;
if (SUCCEEDED(SHGetKnownFolderPath(FOLDERID_CommonPrograms, 0, NULL, &AppShortcutsPath))) {
std::wstring wideAppShortcutsPath(AppShortcutsPath);
CoTaskMemFree(AppShortcutsPath);
// UTF-16 filesystem lib to UTF-8 is broken, so we need to convert to UTF-8 with the with
// the Windows library (Filesystem converts the strings literally).
return fs::path{Common::UTF16ToUTF8(wideAppShortcutsPath)};
} else {
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");
if (!fs::exists(shortcut_path)) {
LOG_ERROR(Common_Filesystem,
"[GetAppsShortcutsPath] Failed to get the path to the App Shortcuts "
"directory");
}
}
return fs::path{};
#endif
}
// vvvvvvvvvv Deprecated vvvvvvvvvv // // vvvvvvvvvv Deprecated vvvvvvvvvv //
std::string_view RemoveTrailingSlash(std::string_view path) { std::string_view RemoveTrailingSlash(std::string_view path) {

View file

@ -244,6 +244,7 @@ void SetYuzuPath(YuzuPath yuzu_path, const Path& new_path) {
* @returns The path of the current user's %APPDATA% directory. * @returns The path of the current user's %APPDATA% directory.
*/ */
[[nodiscard]] std::filesystem::path GetAppDataRoamingDirectory(); [[nodiscard]] std::filesystem::path GetAppDataRoamingDirectory();
#else #else
/** /**
@ -274,20 +275,6 @@ void SetYuzuPath(YuzuPath yuzu_path, const Path& new_path) {
#endif #endif
/**
* Gets the path of the current user's desktop directory.
*
* @returns The path of the current user's desktop directory.
*/
[[nodiscard]] std::filesystem::path GetDesktopPath();
/**
* Gets the path of the current user's apps directory.
*
* @returns The path of the current user's apps directory.
*/
[[nodiscard]] std::filesystem::path GetAppsShortcutsPath();
// vvvvvvvvvv Deprecated vvvvvvvvvv // // vvvvvvvvvv Deprecated vvvvvvvvvv //
// Removes the final '/' or '\' if one exists // Removes the final '/' or '\' if one exists

View file

@ -3082,13 +3082,9 @@ void GMainWindow::OnGameListCreateShortcut(u64 program_id, const std::string& ga
// Shortcut path // Shortcut path
std::filesystem::path shortcut_path{}; std::filesystem::path shortcut_path{};
if (target == GameListShortcutTarget::Desktop) { if (target == GameListShortcutTarget::Desktop) {
shortcut_path = Common::FS::GetDesktopPath(); shortcut_path =
if (!std::filesystem::exists(shortcut_path)) { QStandardPaths::writableLocation(QStandardPaths::DesktopLocation).toStdString();
shortcut_path =
QStandardPaths::writableLocation(QStandardPaths::DesktopLocation).toStdString();
}
} else if (target == GameListShortcutTarget::Applications) { } else if (target == GameListShortcutTarget::Applications) {
#if defined(_WIN32) #if defined(_WIN32)
HANDLE hProcess = GetCurrentProcess(); HANDLE hProcess = GetCurrentProcess();
if (!IsUserAnAdmin()) { if (!IsUserAnAdmin()) {
@ -3098,12 +3094,8 @@ void GMainWindow::OnGameListCreateShortcut(u64 program_id, const std::string& ga
} }
CloseHandle(hProcess); CloseHandle(hProcess);
#endif // _WIN32 #endif // _WIN32
shortcut_path =
shortcut_path = Common::FS::GetAppsShortcutsPath(); QStandardPaths::writableLocation(QStandardPaths::ApplicationsLocation).toStdString();
if (!std::filesystem::exists(shortcut_path)) {
shortcut_path = QStandardPaths::writableLocation(QStandardPaths::ApplicationsLocation)
.toStdString();
}
} }
// Icon path and title // Icon path and title

View file

@ -8,11 +8,9 @@
#include <QString> #include <QString>
/// Returns a QFont object appropriate to use as a monospace font for debugging widgets, etc. /// Returns a QFont object appropriate to use as a monospace font for debugging widgets, etc.
[[nodiscard]] QFont GetMonospaceFont(); [[nodiscard]] QFont GetMonospaceFont();
/// Convert a size in bytes into a readable format (KiB, MiB, etc.) /// Convert a size in bytes into a readable format (KiB, MiB, etc.)
[[nodiscard]] QString ReadableByteSize(qulonglong size); [[nodiscard]] QString ReadableByteSize(qulonglong size);
/** /**
@ -34,5 +32,4 @@
* *
* @return bool If the operation succeeded * @return bool If the operation succeeded
*/ */
[[nodiscard]] bool SaveIconToFile(const QImage& image, const std::filesystem::path& icon_path); [[nodiscard]] bool SaveIconToFile(const QImage& image, const std::filesystem::path& icon_path);