This adds a small cli helper tool which allows you to list what Plasma
themes are available on the system (and which is the current one), as
well as letting you set a theme as the current. It handles being passed
a full path to the theme, though when that happens it just uses the last
bit of the path as the name of the theme.
The latter part allows it to be used by KNewStuff as an adoption
command, and the changes to the knsrc file makes that happen. There is
also a small change which fixes a discrepancy in the naming of the
Plasma Themes dialog, making it consistent with everywhere else that
references Plasma Themes (not sure why they were called styles here,
guessing a really old copy/paste thing).
Additionally, a similar tool for the color and cursor KCMs are also added by
this patch, and the lookandfeeltool binary built by the global themes kcm is
also modified slightly to accept a full path to a package, and added as
an adoption command for those.
The patch also adds a tool which sets wallpapers, which replaces the
failure-prone dbus command previously used as the kns adoption command.
Prior to this change, the use commands would fail if the wallpaper
download payload had a space in the filename (caused, paradoxically, by
the method used to ensure the payload is escaped for shell use).
This patch introduces a new knsrc for wallpapers that's supposed to be
used for mobile devices. While many of the existing wallpapers on the
store do work for mobile use, a great many of them only focus on desktop
style form factors, and since there's mobile-focused categories on the
store now, we probably want to make use of that.
This makes it look better with the change to Kirigami.SwipeListItem to
make the actions always visible on the desktop, and in the process fixes
a binding loop and some minor visual glitches.
We do this sometimes, but not consistenly.
The benefit is twofold.
First it improves the diff when adding new values since no existing line needs to be touched.
Second it prevents clang-format from collapsing the definition into a single line, which is undesired for large enums.
Qt 5.15 introduced new syntax for defining Connections. Fix warnings like this one:
QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... }
They work, but they weren't marked as such. Now you can drad-and-drop
images of these types onto the desktop to get the correct drop menu.
BUG: 426379
FIXED-IN: 5.20
The refreshes are async and we were cleaning it up at the async trigger
and populating it at the end. This created an intermediate invalid state
which confused the item selection code.
This change moves all the refreshing into one reset call so the view is
only refreshed once.
This helps us keep the frontend code simpler by not having to refresh to
show momentarily invalid information.
This begins the process of porting plasma-workspace to PlasmaComponents3. At
this point, only the relatively easy work is done. Every file not ported
now has been given the reason for still using PC2 in a comment on the import
line so you can see at a glance what the blocker is by running
`grep -r "org.kde.plasma.components 2.0"` in the repo.
Everything is tested and there are no breakages or functional regressions. In
the process, a few unused imports are removed.
Here are the remaining PC3 omissions blocking what's left from getting easily
ported:
- No Highlight
- No ListItem
- No PageStack
- No ContextMenu
- No QueryDialog
- No ModelContextMenu
- TabBar has no left and right tab states
- ToolButton has no built-in method to show a menu when clicked
Image takes a string and loads the relevant package at a given path
wallpapers+packageName
pluginId typically is the same as the package name on disk, but not
always, either due to bad metadata or it being deliberately mangled
during install to avoid escaped characters.
Returning the package path has the same desired effect for saving
chosen images by package names, but avoids the complexity above.
metaData presence is still queried to separate real packages from the
fake packages generated internally which represent just one image.
BUG: 423987
(cherry picked from commit 74e9f990ae)
Image takes a string and loads the relevant package at a given path
wallpapers+packageName
pluginId typically is the same as the package name on disk, but not
always, either due to bad metadata or it being deliberately mangled
during install to avoid escaped characters.
Returning the package path has the same desired effect for saving
chosen images by package names, but avoids the complexity above.
metaData presence is still queried to separate real packages from the
fake packages generated internally which represent just one image.
BUG: 423987
If a user selects a wallpaper from a package we want to save the package
name, not a path.
This means we continue to load the correct resolution image if a screen
size (or scale) changes at runtime.
(cherry picked from commit 530b36abb0)