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)
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.
Summary:
This allows us to use the new consistent appearance introduced with D29074.
Depends on D29074
Test Plan: {F8273822}
Reviewers: #plasma, #kirigami
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D29075
GHNS Quick Button signals changedEntriesChanged initially even if nothing changed.
While this is a bug that should be fixed in GHNS, the wallpaper model didn't handle the case well,
when the model was reloaded while a preview was being generated.
It looks up whether a preview exists by QUrl and stores a QPersistentModelIndex.
However, when the model is reloaded and it accesses data for the same QUrl, the job might still be in-flight,
but the QPersistentModelIndex is invalid as the model has been reset.
This fixes it by performing all lookups exclusively on QPersistentModelIndex.
The hash lookup is optimized for data() (loads of accesses) with the slower key() lookup being done only
when the less frequently occurring thumbnail generation finishes/fails.
It will now do two preview jobs initially, but at least it shows something again...
BUG: 419234
FIXED-IN: 5.18.4
Differential Revision: https://phabricator.kde.org/D28420