Summary: | Cannot scroll into the settings window of certain wallpaper plugins | ||
---|---|---|---|
Product: | [Applications] systemsettings | Reporter: | Archisman Panigrahi <apandada1> |
Component: | kcm_wallpaper | Assignee: | Plasma Bugs List <plasma-bugs> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | 4wy78uwh, meven29, meven, nate |
Priority: | NOR | ||
Version First Reported In: | 6.1.1 | ||
Target Milestone: | --- | ||
Platform: | Arch Linux | ||
OS: | Linux | ||
See Also: | https://bugs.kde.org/show_bug.cgi?id=492654 | ||
Latest Commit: | https://invent.kde.org/plasma/plasma-workspace/-/commit/d424c156acf6c0f8e2156aa02a0c89c9d841c9a4 | Version Fixed In: | 6.4.0 |
Sentry Crash Report: | |||
Attachments: | screenshot-of-issue |
Description
Archisman Panigrahi
2024-07-02 03:56:31 UTC
Can reproduce. I guess we need to make this page scrollable. Affects the KScreenLocker KCM as well. This is a tricky problem. We need the page itself to be scrollable, just in case the wallpaper plugin assumes it's been placed on a scrollable page and doesn't provide its own internal scrollview. But if the wallpaper plugin does have an internal scrollview, we want its implicit height on the parent page to be exactly the available height so the page *doesn't* become scrollable — or else there would be two adjacent scrollbars. I think we would have to introspect the plugin object, but I can't see a feasible way to do it here. Any ideas here, Ivan? > Any ideas here, Ivan?
Not much, other than "just use more pages", but I see how some people might see that as a waste of space.
QtQuick/ListView aren't really designed to cooperate with each other in a compostable way, and you can't easily/safely use implicingHeight/contentHeight.
Then I guess the question is how it's working in the Plasma desktop configuration window. Seems like we need to replicate that in the wallpaper and screen locking KCMs. (In reply to Nate Graham from comment #4) > Then I guess the question is how it's working in the Plasma desktop > configuration window. Seems like we need to replicate that in the wallpaper > and screen locking KCMs. The other way to set dialog option (right on the desktop > wallpaper probably still work. A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/5341 A possibly relevant merge request was started @ https://invent.kde.org/plasma/kscreenlocker/-/merge_requests/276 Git commit d424c156acf6c0f8e2156aa02a0c89c9d841c9a4 by Christoph Wolk. Committed on 27/03/2025 at 05:51. Pushed by cwo into branch 'master'. kcms/wallpaper: make long wallpaper plugins scrollable Wallpaper plugins can (and usually do) have their own settings, which are dynamically loaded. There is a problem though because some wallpaper plugins are based around a resizable view (such as a gridview of images) that provides its own scollview and expect to fill the available area, while others just provide items and rely on the loading container to provide scrollability. Instead, we set the implicitSize of the loader to its content and adjust the main layout height accordingly if necessary (so (implicitly) large items will cause scrollability, but keep the loader filling the layout (so resizable views take up the whole space). Along the way, we fix a warning during the loading of the kcm. M +5 -3 kcms/wallpaper/ui/main.qml https://invent.kde.org/plasma/plasma-workspace/-/commit/d424c156acf6c0f8e2156aa02a0c89c9d841c9a4 Git commit 7ad3016f6e419f4e5e13561856af1d360e5d6b63 by Christoph Wolk. Committed on 27/03/2025 at 07:40. Pushed by cwo into branch 'master'. kcm: make long wallpaper plugins scrollable Wallpaper plugins can (and usually do) have their own settings, which are dynamically loaded. There is a problem though because some wallpaper plugins are based around a resizable view (such as a gridview of images) that provides its own scollview and expect to fill the available area, while others just provide items and rely on the loading container to provide scrollability. Instead, we set the implicitSize of the loader to its content and adjust the main layout height accordingly if necessary (so (implicitly) large items will cause scrollability, but keep the loader filling the layout (so resizable views take up the whole space). Along the way, we fix a warning during the loading of the kcm. M +3 -2 kcm/ui/Appearance.qml M +1 -1 kcm/ui/WallpaperConfig.qml https://invent.kde.org/plasma/kscreenlocker/-/commit/7ad3016f6e419f4e5e13561856af1d360e5d6b63 |