-
Notifications
You must be signed in to change notification settings - Fork 110
Files View #3334
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
Open
ekoneil
wants to merge
247
commits into
master
Choose a base branch
from
Skyline/work/20250102_FilesView
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Files View #3334
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
… project with simple support for replicates and peptide libraries. Includes a very simple test which is more of a placeholder than an full fledged test. FilesTree is incomplete - does not work in all scenarios, is missing files, etc.
…ed strings and bug where FilesTree did not reset properly after a second .sky file was opened during the same Skyline session.
* Remove settings node * Move .blib files directly under Libraries folder * Move Audit Log up a level * Silly bug: clear tooltip when right-click menu shows
…parent container FilesTreeForm. Also moved the tree's ContextMenuStrip into the designer.
* Support background proteome files (.protdb) * Improve tree node encapsulation
…zard/pwiz into Skyline/work/20250102_FilesView
* Extend Skyline's data model with support for files and groups of files * Implement file data model on Chromatograms, Peptide Library, and Background Proteome * Switch UI to new file model This is far from finished. Current interface names are meh. Next up: handle document change events incrementally using the model, consider adding IFileProvider to file model.
* Hide tooltip when tree loses focus
* Update SrmSettings with a way to return its files, this unblocks work on FilesTree but needs to be reworked * Cleanup FilesTreeNode subclasses * Rename FileType enum values
… FilesTreeForm which handles access to Skyline window (rather than pushing SkylineWindow into FilesTree). * Also for .skyl / .sky.view: placeholder tooltips, action to Open Containing Folder
… has DocumentFilePath so don't need access to SkylineWindow * TC code inspection fixes
…zard/pwiz into Skyline/work/20250102_FilesView
…zard/pwiz into Skyline/work/20250102_FilesView
…e already watched folders. Fixes issues like importing results stored in a directory different from the current Skyline document. (2) Improve debug info show in tooltips. (3) Improve test checks of file system monitoring. (4) Fix code inspection
…. a .sky file saved before Files was released. Exactly once per .sky file, the Files tab is added as a new tab behind the Targets tree. After appearing once, Skyline uses whatever was saved in the .view file. 2) Fix a failing test by disabling Alt+V,i keyboard shortcut - turns out this is used by View => Retention Times. All letters in "Files" are used by existing View Menu shortcuts. Need to consider alternatives. 3) Minor test changes. Prepare for adding a new .zip to expand file system watcher tests. 4) Update FilesTree tests to check top node and selected node are restored from view state.
…ch directory of interest to Skyline, rather than monitoring recrusive directory trees.
…zard/pwiz into Skyline/work/20250102_FilesView
… trash can. Need to set MeasuredResults to "null" instead of passing an empty list. Thanks to Brendan for helping debug. (2) Update tooltips to show the preferred combination of file path / local file path now that tips show extra info when debugging. (3) Throw an exception when MeasuredResults.ChangeChromatograms is called with zero-length list. (4) Set max number of async processing threads to 2.
(2) Improve separation between test cases by putting Skyline documents in sub-directories
…matogram list. Revert argument exception added in previous commit - that discussion is happening elsewhere.
…and (2) remove .mzml file inadvertently added last week. * Update the .sky file icon - this one is specifically for Files Tree and taken from the 16x16 version of skyline_relese.ico. The blue in this version may be too bright (?).
* Hide effects when dragging the last node outside the tree's bounds * Add the chromatogram cache to Files tree, only shows the "final" cache. Also adds Identity and implements IFile on Model.Results.ChromatogramCache. * Save and restore selected and top nodes on FilesTree when handling document change events. * Fix issue correctly setting focus on FilesTree when opened from View menu * Fix issue not hiding tooltips when mouse leaves FilesTreeForm * Adjust tests to expect the Chromatogram Cache to appear in FilesTree
1) Rename FileNode => FileModel 2) More use of C# naming conventions 3) Initialize FileSystemService outside the TreeView BeginUpdate/EndUpdate block 4) Remove unused code 5) More docs 6) Explicitly fully qualify paths in file system cache
…r files and directories. (2) Consolidate tree traversal into one Traverse method that takes an action to perform on a node. (3) Improve handling of the New Document scenario where a document exists but has not been saved. In this scenario, the Audit Log exists only in-memory. Add a test to check this special case where the file should not be marked as avaialble (it's not saved) but also not missing (because it's in memory). (4) More descriptive names for IFileSystemService impls
(1) A wrapper managing FileSystemWatchers. FSWs throw errors when the monitored directory is deleted or otherwise becomes unavailable. ManagedFileSystemWatcher provides error handling and works in conjunction with #2 to handle pause / restart of FSW instances when needed. (2) A new background thread that periodically checks for the existence of each directory monitored by a FileSystemWatcher. FileSystemHealthMonitor runs a periodic check to see if directories monitored by FSW are available and: (2.1) Restarts a paused FileSystemWatcher when its monitored path is avaialble again (2.2) Updates tree nodes when their files are un/available Also: (1) Improve handling of files stored in a root directory - ex: C:\sample-file-123.raw (2) Keep ManagedFileSystemWatchers in a dictionary keyed path rather than a flat list (3) Consolidate path related helpers in FileSystemUtil
…, empty Skyline document loads and happened to bring along spectral libraries from the previous document. Before, those files were marked as missing since FileSystemService did not load local files until the Skyline document was saved. Now, the tree loads local files even if the Skyline document has never been saved.
…or create, delete, rename.
…g a file locking issue.
…zard/pwiz into Skyline/work/20250102_FilesView
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Checkpoint FilesTree. This tree shows files associated with a Skyline project with simple support for replicates and peptide libraries. Includes a simple functional test which is more of a placeholder than an actual test.
FilesTree is incomplete - does not work in all scenarios, is missing files, etc.