Merge lp:~jeremywootten/pantheon-files/fix-hang-on-large-copy into lp:~elementary-apps/pantheon-files/trunk
Status: | Merged |
---|---|
Approved by: | Danielle Foré |
Approved revision: | 2374 |
Merged at revision: | 2574 |
Proposed branch: | lp:~jeremywootten/pantheon-files/fix-hang-on-large-copy |
Merge into: | lp:~elementary-apps/pantheon-files/trunk |
Diff against target: |
383 lines (+110/-63) 4 files modified
src/View/AbstractDirectoryView.vala (+62/-31) src/View/AbstractTreeView.vala (+26/-18) src/View/IconView.vala (+21/-13) src/View/Slot.vala (+1/-1) |
To merge this branch: | bzr merge lp:~jeremywootten/pantheon-files/fix-hang-on-large-copy |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Adam Bieńkowski (community) | testing | Approve | |
Dieter Debast (community) | ux | Approve | |
Zisu Andrei | Pending | ||
Review via email: mp+314546@code.launchpad.net |
This proposal supersedes a proposal from 2016-11-04.
Commit message
Fix hang on selecting many files after paste or view change.
Description of the change
This fixes the exponentially increasing time take to select the debuting files in the view after pasting. With a large number of files (e.g. 1000+) the interface appears to hang when using List View.
TO TEST:
A.
IN ICON VIEW
1) Create two test folders and open each in a tab
2) In one folder create a large number (~1000) of small files (~1K)
3) Select all the files (Ctrl-A)
4) Copy the files to the clipboard
5) Switch to empty folder and paste the files.
In trunk the interface appears to hang for a long time after the pasted files appear (A core is maxed out).
B. IN LIST VIEW
1) Create many files as described under A.
2) Select them all.
3) Switch to icon view.
In trunk the interface appears to hang for a long time while the selected files are re-selected (one at a time) in the new view (A core is maxed out).
KILL THE PANTHEON-FILES PROCESS BEFORE RUNNING THIS BRANCH.
In this branch the pasted files or reselected files are all selected soon after they appear. The interface does not hang.
The branch additionally fixes pasting into a List or Column View - all the pasted files are selected (trunk only selects the one file, unlike Icon View)
The same code is now used whether pasting is done via keyboard or drag and drop (simplification).
I agree that this branch seems to alleviate the issue, but it does not make it disappear entirely.