-
Notifications
You must be signed in to change notification settings - Fork 3
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
Significantly-faster package list loading and nearly-instant search, both provided by a DataView and its RowFilter. #140
Merged
Conversation
This file contains 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
use it for packages when saving and loading in virtual mode + add and rename a few of the properties.
I had to fix the vbproj files because Visual Studio decided to delete the "Form" subtype from the forms, preventing usage of the designer for them.
of the new virtual mode implementation, or whatever I'll use.
code that fills the SqliteList rows.
filling in the datatable + get rid of extra control-updating code.
I forgot that the SqliteTable has a different set of columns to the datagridview. Still need to get the long descriptions correctly.
Not sure how much this'll help, but I hope it at least helps a little.
the columns in here and I'm not sure how to access it outside.
This avoids the difficulty of figuring out how to properly remove then re-add them later.
Not sure if it needs to be turned off at runtime or not for better performance.
…ols... is set to False.
after searching if the search was the same as the one run previously.
bar if the current number of rows in the package list table is divisible by 100 when there are 100 or more packages (goes up by 100 in that case), if it's divisible by 10 when there are 10 or more but fewer than 100 packages (goes up by 10 in that case), or go up by 1 if there are fewer than 10 packages.
I still need to have the menu pop-up if the user single-clicks in the Action column.
disappear when marking them if you're not in the "All" view now.
It's not perfect, but it keeps keyboard functionality, and may be less finicky than the previous dropdowns.
for Properties and Show context menu so they're better and don't conflict.
moves the datagridview to the bottom of the lowest package row and it's more annoying than just sometimes showing a package longer than necessary.
consistent with the previous version.
the cache + don't unset or re-apply autosize as we're clearing the datagridview now so there's no point in unsetting it.
textbox context menu region.
instead of having to look through the disk.
results, as it doesn't make sense to show the previously-selected package's details when there are no packages available. Been wanting to fix this for a while, and the new DataView and DataTable setup allow this to work. Fixes #17. This is one of the oldest still-opened issues.
rather than the datagridview, or we won't get everything depending on what the DataView filter is set as.
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.
Thought this was going to be using VirtualMode and a Package class, but so far these changes are major improvements, so I might not do those unless necessary.
Current known bugs and issues:
Actions
column right now, as I don't entirely know how to put them into DataTables. This is super important to ensure people can use it anyway they want. Edit: maybe I can just have it so that people can pressspacebar
when theAction
column is the current column and open a makeshift menu for theAction
items that's used instead of the previous dropdown. Edit 2: I just added theCtrl+M
keyboard shortcut so people can open the context menu in the top-left corner of the package list DataGridView, which is a lot less work and should be better than what it was before. People can still useAlt+S
if they wish to open theSelected packages
menu, which has theCtrl+M
button in it. Only potential issue is this'll cover up some of the packages, but for now, I don't have any other simple solutions that aren't more buggy than the previous dropdowns.Actions
andStatus
columns aren't auto-sized correctly.Installed version
once there's a way to allow users to choose a different version to install rather than the latest version. This'll just be something I'll add in the future, rather than in this PR.Additions:
DebuggingShowManifestPathColumn
, Boolean, defaults toFalse
. You can use this to show the ManifestPath column, as expected.Show context menu
button in theSelected packages
menu to display the context menu for the package list, as a replacement for the removedAction
column dropdowns. See the item on this in theRemovals
section for more details.Fixes:
Removals:
PackageInfo
class or whatever it's called sometimes anymore, so I removed it completely and it's not just commented out now.Action
column no longer has the dropdowns like it used to. Replacing that is the ability to single-click on any cell in theAction
column to open the context menu instead of requiring a double-click, or pressingCtrl+M
to open the context menu directly without having to use the context menu key on the keyboard, as it may be difficult or impossible to access. You can still use any other way of marking packages that was previously available, including but not limited to opening theSelected packages
menu withAlt+S
.Other changes:
If ManifestPaths.Count = 0...
instead ofIf ManifestPaths(0) = String.Empty
to make sure it doesn't break as easily.AllCells
for the autosizemode for theAction
andStatus
columns, they're now usingDisplayedCells
. Hopefully this speeds things up.