-
-
Notifications
You must be signed in to change notification settings - Fork 2.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature: Added support for Sync drive #16947
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -45,6 +45,8 @@ public enum CloudProviders | |
|
||
LucidLink, | ||
|
||
kDrive | ||
kDrive, | ||
|
||
SyncDrive | ||
} | ||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
using System.IO; | ||
using Windows.Storage; | ||
|
||
namespace Files.App.Utils.Cloud | ||
{ | ||
/// <summary> | ||
/// Provides a utility for Sync Cloud detection. | ||
/// </summary> | ||
public sealed class SyncCloudDetector : AbstractCloudDetector | ||
{ | ||
protected override async IAsyncEnumerable<ICloudProvider> GetProviders() | ||
{ | ||
string syncFolderPath = Path.Combine(Constants.UserEnvironmentPaths.HomePath, "Sync"); | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. If you change the path in the installer, this would not work. I think it would be better to modify the DetectGenericCloudDrive method. This method detects the existing cloud drives from the registry. I think that only small changes need to be made so that the SyncDrive is also recognized. |
||
|
||
if (Directory.Exists(syncFolderPath)) | ||
{ | ||
foreach (string directory in Directory.GetDirectories(syncFolderPath)) | ||
{ | ||
var folder = await StorageFolder.GetFolderFromPathAsync(directory); | ||
|
||
yield return new CloudProvider(CloudProviders.SyncDrive) | ||
{ | ||
Name = $"Sync - {folder.Name}", | ||
SyncFolder = directory, | ||
// IconData = (needs icon) | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Needs icon There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. There one in the install location There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Thanks |
||
}; | ||
} | ||
} | ||
} | ||
} | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It isn't showing the cloud drive for me. The sync folder is in
%userprofile%\Sync
.The storage location can also be changed by the user,
although I haven't found out where to get it from since it not the registrymarcofranzen99 found where it is in the last screenshotThere was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm aware of this, I haven't gotten round to migrating to finding the path in the Registry yet.