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
Make selection work in list views #28
Comments
Might be doable by treating the list items as a special form of icon, but not trivial. |
Ah, sorry. Why is this categorised 'unrealistic'? |
I'm using that tag to set expectations for anything that would require substantial rewrite/rearchitecture, i.e. many tens of hours. Which is unlikely to get done without other contributors taking the lead. |
Removing BCR-low just because this is one of the top requests. It's a huge amount of work and I'm unlikely to tackle it, but it might be worth it for someone to take it on. |
It's not icons for all the types, and they're still not selectable (see #28), but this updated treatment seems okay.
In preparation for tackling #28 (selection in list views), this commit reworks a bunch of plumbing in DeskTop to break assumptions and set the groundwork for bigger things to come. * IconTK::GetIconBounds is used when measuring icons and computing icon bounding rects, instead of custom logic. * Icon bounding rects no longer include the window header. * Icon layout is done using runtime adjustable parameters instead of constants. * Windows are populated with icons using an indirection allowing the order to be modified. This makes the initialization of icon and list views much more similar. * Initial window sizing is factored out of the window creation steps. No intentional big behavior changes, although window/icon layouts are very subtly tweaked, and scrolling icons into view (e.g. after creating a folder or arrowing through icons) uses a slightly different bounding box. Some minor IconTK simplification too, which saves some bytes.
As mentioned in 988b88f, now that list views are not useless it makes sense to save and restore the view type in addition to window bounds across restarts. The LOCAL/DESKTOP.FILE file format version is incremented, so you'll lose window state when updating to this version (or downgrading, if you're playing git shennanigans). Fit and finish following #28
Previously, what was stored was the window position and dimensions. Now the window position (viewloc) and viewport (maprect) are persisted. This simplifies the code, too. So this doesn't actually store the scroll position, just the *viewport*, or the view into the window's coordinate space. The scroll position is derived from this but since icon positions are not persisted (please don't ask for that) if you move the icons the actual scrollbar positions might not be restored. The LOCAL/DESKTOP.FILE file format version is incremented, so you'll lose window state when updating to this version (or downgrading, if you're playing git shennanigans). Fit and finish following #28
No description provided.
The text was updated successfully, but these errors were encountered: