Skip to content

Conversation

d2dyno1
Copy link
Member

@d2dyno1 d2dyno1 commented Jun 10, 2021

Resolved / Related Issues

Details of Changes
This PR adds decompressing feature with progress report and ability to cancel the operation. The performance is comparable to winrar.

Validation
How did you test these changes?

  • Built and ran the app

@d2dyno1 d2dyno1 marked this pull request as draft June 10, 2021 20:34
@cinqmilleans
Copy link
Contributor

Try the library SevenZip to compare.

@gave92
Copy link
Member

gave92 commented Jun 13, 2021

If the slowness is due to storagefile operations I guess we could either:

  1. Use CreateFileFromApp/WriteFile etc in UWP instead of storagefile methods
  2. Unzip using the fulltrust process and send progress back
  3. Unzip in the app's local folder (where you can use System.IO.File.Create() etc) and then move the final directory to the destination (fast if destination is on the same drive)

@d2dyno1
Copy link
Member Author

d2dyno1 commented Jun 13, 2021

Wow, thanks a lot @gave92! I settled on the first option but used only a hFile handle to create a FileStream

@d2dyno1 d2dyno1 marked this pull request as ready for review June 13, 2021 11:04
@yaira2
Copy link
Member

yaira2 commented Jun 13, 2021

Unzip in the app's local folder (where you can use System.IO.File.Create() etc) and then move the final directory to the destination (fast if destination is on the same drive)

@gave92 this is what we originally did, but we decided to remove the feature until we were able to implement a proper version.

@d2dyno1
Copy link
Member Author

d2dyno1 commented Jun 13, 2021

Unzip in the app's local folder (where you can use System.IO.File.Create() etc) and then move the final directory to the destination (fast if destination is on the same drive)

@gave92 this is what we originally did, but we decided to remove the feature until we were able to implement a proper version.

@yaichenbaum This PR has "the proper" version. Also, could you suggest some design ideas regarding the dialog?

@yaira2
Copy link
Member

yaira2 commented Jun 13, 2021

@d2dyno1 This is a quick mockup for the locations of the different options.
image

@d2dyno1
Copy link
Member Author

d2dyno1 commented Jun 13, 2021

@yaichenbaum What does this option do?

image

@yaira2
Copy link
Member

yaira2 commented Jun 13, 2021

@yaichenbaum What does this option do?

image

It will open the folder with the extracted items.

@d2dyno1 d2dyno1 requested a review from yaira2 June 19, 2021 19:53
@esibruti
Copy link
Contributor

@d2dyno1 , I remembered one thing: there are cases that the zip file can contain a password. Currently, Windows File Explorer does not detect this, but this feature in the zip file decompressor would be interesting, if possible.

@yaira2 yaira2 requested a review from gave92 June 20, 2021 15:56
Copy link
Member

@yaira2 yaira2 left a comment

Choose a reason for hiding this comment

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

LGTM

@yaira2 yaira2 added the ready to merge Pull requests that are approved and ready to merge label Jun 20, 2021
@yaira2 yaira2 changed the title Cmprs Added a dialog for extracting archives Jun 20, 2021
@yaira2 yaira2 merged commit c28f8b6 into files-community:main Jun 20, 2021
@d2dyno1 d2dyno1 deleted the cmprs branch June 20, 2021 18:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ready to merge Pull requests that are approved and ready to merge

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants