Skip to content
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

feat(VirtualStorageItem): instantiation from filesystem path #9048

Merged
merged 2 commits into from May 1, 2022

Conversation

lukeblevins
Copy link
Contributor

Resolved / Related Issues
N/A

Details of Changes
Expands the capability of our new VirtualStorageItem impl to support instantiation solely from a filesystem path. For this feature, we leverage the fast FindFirstFileExFromApp() method to get enough item properties to construct the backing ListedItem which is used to set the properties on the IStorageItem contract.

Additionally, a static data field for BasicProperties is created on the VirtualStorageItem class and is set, only initially, from a simple streamed storage file. This makes the present use of VirtualStorageFile (in BaseLayout for drag and drop) more concise.

Lastly, path instantiation will allow us to leverage VirtualStorageItem for all filesystem operations, instead of having to create a StorageFile/Folder n number of times. This will likely speed up paste for storage item operations like move and copy because we inspect the underlying FileDropList (dealing with filesystem paths) instead of the DataPackage itself as of #9035.

Validation
How did you test these changes?

  • Built and ran the app
  • Tested the changes for accessibility

Screenshots (optional)
N/A

Copy link
Member

@gave92 gave92 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good.. unless we need to revert #9014 as per my comment :(

@yaira2 yaira2 merged commit 105f8b0 into main May 1, 2022
@yaira2 yaira2 deleted the dev/lubl/virt-str branch May 1, 2022 14:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants