From 3152099d52f8d2fda1ed54f459f2d388c853c6ab Mon Sep 17 00:00:00 2001 From: Marco Franzen Date: Sat, 10 May 2025 13:58:00 +0200 Subject: [PATCH 1/2] added support for sync cloud drive --- src/Files.App/Utils/Cloud/CloudDrivesDetector.cs | 14 ++++++++------ src/Files.App/Utils/Cloud/CloudProviders.cs | 4 +++- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/src/Files.App/Utils/Cloud/CloudDrivesDetector.cs b/src/Files.App/Utils/Cloud/CloudDrivesDetector.cs index 6c614f8238c6..10f788638d1a 100644 --- a/src/Files.App/Utils/Cloud/CloudDrivesDetector.cs +++ b/src/Files.App/Utils/Cloud/CloudDrivesDetector.cs @@ -91,6 +91,7 @@ private static Task> DetectGenericCloudDrive() "ProtonDrive" => CloudProviders.ProtonDrive, "kDrive" => CloudProviders.kDrive, "Lucid" => CloudProviders.LucidLink, + "SyncCom" => CloudProviders.SyncDrive, _ => null, }; @@ -98,9 +99,7 @@ private static Task> DetectGenericCloudDrive() continue; var nextCloudValue = (string?)namespaceSubKey?.GetValue(string.Empty); - var ownCloudValue = (string?)clsidSubKey?.GetValue(string.Empty); - var kDriveValue = (string?)clsidSubKey?.GetValue(string.Empty); - var lucidLinkValue = (string?)clsidSubKey?.GetValue(string.Empty); + var clsidDefaultValue = (string?)clsidSubKey?.GetValue(string.Empty); using var defaultIconKey = clsidSubKey?.OpenSubKey(@"DefaultIcon"); var iconPath = (string?)defaultIconKey?.GetValue(string.Empty); @@ -115,10 +114,11 @@ private static Task> DetectGenericCloudDrive() CloudProviders.AppleCloudDrive => $"iCloud Drive", CloudProviders.AppleCloudPhotos => $"iCloud Photos", CloudProviders.AdobeCreativeCloud => $"Creative Cloud Files", - CloudProviders.ownCloud => !string.IsNullOrEmpty(ownCloudValue) ? ownCloudValue : "ownCloud", + CloudProviders.ownCloud => !string.IsNullOrEmpty(clsidDefaultValue) ? clsidDefaultValue : "ownCloud", CloudProviders.ProtonDrive => $"Proton Drive", - CloudProviders.kDrive => !string.IsNullOrEmpty(kDriveValue) ? kDriveValue : "kDrive", - CloudProviders.LucidLink => !string.IsNullOrEmpty(lucidLinkValue) ? lucidLinkValue : "lucidLink", + CloudProviders.kDrive => !string.IsNullOrEmpty(clsidDefaultValue) ? clsidDefaultValue : "kDrive", + CloudProviders.LucidLink => !string.IsNullOrEmpty(clsidDefaultValue) ? clsidDefaultValue : "lucidLink", + CloudProviders.SyncDrive => !string.IsNullOrEmpty(clsidDefaultValue) ? clsidDefaultValue : "Sync", _ => null }, SyncFolder = syncedFolder, @@ -349,6 +349,8 @@ private static string GetDriveType(string driveIdentifier, RegistryKey? namespac return "ownCloud"; if (driveIdentifier.StartsWith("ProtonDrive")) return "ProtonDrive"; + if (driveIdentifier.StartsWith("SyncCom")) + return "SyncCom"; // Nextcloud specific var appNameFromNamespace = (string?)namespaceSubKey?.GetValue("ApplicationName"); diff --git a/src/Files.App/Utils/Cloud/CloudProviders.cs b/src/Files.App/Utils/Cloud/CloudProviders.cs index 5b9d208e1797..ea88038a66b8 100644 --- a/src/Files.App/Utils/Cloud/CloudProviders.cs +++ b/src/Files.App/Utils/Cloud/CloudProviders.cs @@ -45,6 +45,8 @@ public enum CloudProviders LucidLink, - kDrive + kDrive, + + SyncDrive } } From 340ca82b377e1ee1fce5328c9731959293047ab4 Mon Sep 17 00:00:00 2001 From: Marco Franzen Date: Sat, 10 May 2025 14:04:08 +0200 Subject: [PATCH 2/2] added support for MagentaCloud drive --- src/Files.App/Utils/Cloud/CloudDrivesDetector.cs | 2 ++ src/Files.App/Utils/Cloud/CloudProviders.cs | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/Files.App/Utils/Cloud/CloudDrivesDetector.cs b/src/Files.App/Utils/Cloud/CloudDrivesDetector.cs index 10f788638d1a..ebbdebb0f5c7 100644 --- a/src/Files.App/Utils/Cloud/CloudDrivesDetector.cs +++ b/src/Files.App/Utils/Cloud/CloudDrivesDetector.cs @@ -92,6 +92,7 @@ private static Task> DetectGenericCloudDrive() "kDrive" => CloudProviders.kDrive, "Lucid" => CloudProviders.LucidLink, "SyncCom" => CloudProviders.SyncDrive, + "MagentaCLOUD" => CloudProviders.MagentaCloud, _ => null, }; @@ -119,6 +120,7 @@ private static Task> DetectGenericCloudDrive() CloudProviders.kDrive => !string.IsNullOrEmpty(clsidDefaultValue) ? clsidDefaultValue : "kDrive", CloudProviders.LucidLink => !string.IsNullOrEmpty(clsidDefaultValue) ? clsidDefaultValue : "lucidLink", CloudProviders.SyncDrive => !string.IsNullOrEmpty(clsidDefaultValue) ? clsidDefaultValue : "Sync", + CloudProviders.MagentaCloud => !string.IsNullOrEmpty(clsidDefaultValue) ? clsidDefaultValue : "MagentaCLOUD", _ => null }, SyncFolder = syncedFolder, diff --git a/src/Files.App/Utils/Cloud/CloudProviders.cs b/src/Files.App/Utils/Cloud/CloudProviders.cs index ea88038a66b8..89526ec02aaa 100644 --- a/src/Files.App/Utils/Cloud/CloudProviders.cs +++ b/src/Files.App/Utils/Cloud/CloudProviders.cs @@ -47,6 +47,8 @@ public enum CloudProviders kDrive, - SyncDrive + SyncDrive, + + MagentaCloud } }