Summary:
Right now, when there are no configured wallpaper slideshow paths or wallpapers in the
slideshow, the list and grid (respectively) are just empty. This patch adds some
placeholder labels to let the user know that it's not broken, just like we do in the
Thunderbolt KCM.
See one `FIXME:` in the code that I could use a hand with.
Test Plan: {F7870947}
Reviewers: #vdg, #plasma, mart
Reviewed By: #vdg, #plasma, mart
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D26528
Summary:
This is full of mixed bindings/signal handlers for properties and of
broken references in here!
There's likely more to do, but those were the most obvious ones when
working on the screenlocker KCM.
Reviewers: #plasma, mart, davidedmundson, crossi, bport
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D25567
Summary:
Allows setting of other sorting orders like alphabetical or last modified date.
To enable this a new ProxyModel is introduced which handles the sorting and
filtering (as indicated by the checkboxes). This is backed by the slideshowModel
whcih previously as only used for the configutation. The lists of slides and unseen
slides are dropped as now the slides that are shown are taken from the model.
FEATURE: 186181
FIXED-IN: 5.17.0
Test Plan:
{F6938259}
{F6938260}
{F6938261}
{F6938263}
Reviewers: #plasma, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: davidedmundson, msdobrescu, ngraham, filipf, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D22121
Summary:
Instead of loading the image size of the scaled window, use the actual resolution of the display.
This way no scaling will be needed on high dpi displays.
Test Plan: Added debug statements that load the wallpaper that matches my monitor size.
Reviewers: #plasma, broulik
Reviewed By: #plasma, broulik
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D22078
Summary:
Porting to Kirigami.FormLayout and using twinFormLayouts in order to ensure alignment with the main layout.
NOTE: Vertical spacing is still clearly wrong, but I could fix that as well if someone could offer a suggestion on how to do it.
Test Plan:
D19932 needed before testing.
Before:
{F6707737}
After:
{F6707739}
Before:
{F6707742}
After:
{F6707740}
Everything still worked.
Reviewers: #plasma, ngraham, mart, hein
Reviewed By: #plasma, ngraham, mart, hein
Subscribers: hein, davidre, mart, abetts, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D19873
Summary:
This allows to exlude single images from the slideshow by unchecking the little checkbox in the top right corner.
Feature or todo?: If a folder is removed I don't touch the unchecked Slides. So the list could get very big but if a formerly removed folder is
added again an excluded image will be excluded again.
Test Plan:
{F6684113}
- Uncheck some images
- They don't appear in the slideshow
Reviewers: #plasma, #vdg, ngraham, davidedmundson
Reviewed By: #plasma, #vdg, ngraham, davidedmundson
Subscribers: davidedmundson, filipf, abetts, ngraham, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D19687
Summary:
This shows all the pictures inside the folders added to the Folders list. I also tried to make single pictures excludable via a checkbox on the thumbnail. This is the first time for me programming with QT/QML/Singals-Slots and I tried to use as much existing code as possible. The thumbnail view is the same as for single images and I simply subclassed the listmodel. However even if I tried to do everything like the code for slidePaths it doesn't work correctly. The checking/unchecking of images only applies on restart of plasmashell. Maybe it's a single mistake that is easily spotted by a more experienced programmer otherwise if the thumbnail view is accepted I can also revert all the checkbox stuff.
FEATURE: 403703
FIXED-IN: 5.16.0
{F6595564}
Reviewers: #vdg, ngraham, davidedmundson
Reviewed By: #vdg, ngraham, davidedmundson
Subscribers: filipf, mart, alexde, davidedmundson, ngraham, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D18809
Summary:
This patch makes the wallpaper chooser grid view delegates show the wallpaper's
title (if it has a desktop file) or filename (if it doesn't). Authorship information
is shown via a tooltip, if present.
Test Plan:
{F6587535, size=full}
{F6587536, size=full}
Reviewers: #vdg, #plasma, broulik
Reviewed By: #plasma, broulik
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D18737
Summary:
BUG: 400549
FIXED-IN: 5.15.0
Test Plan:
On the lock screen KCM at 1.2x scale, before: {F6554037}
After: {F6554040}
All functionality continues to work on the lock screen and SDDM KCMs and desktop containment window.
Reviewers: #plasma, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: davidedmundson, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D18343
Summary: The current default setting is "Scaled", which results in images that don't match the screen's aspect ratio being compressed along the X or Y axis which almost never looks good. Cropping the image instead of deforming it is a much better default setting.
Test Plan:
- Create new user account
- Right-click on desktop > Configure Desktop
- See that "Scaled and Cropped" is the default setting for the Image and Slideshow plugins
Reviewers: #vdg, #plasma, ndavis
Reviewed By: #vdg, ndavis
Subscribers: ndavis, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D18004
Summary: No big visible changes, but simplifies and modernizes the code
Test Plan: used all functionality of the systray config dialog
Reviewers: #plasma, #vdg, ngraham
Reviewed By: #vdg, ngraham
Subscribers: ngraham, abetts, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D17212
org.kde.slideshow is duplicated at compile time, so translations aren't extracted for it.
Setting an explicit domain fixes that.
Differential Revision: https://phabricator.kde.org/D16037
Summary:
With slideshow desktop wallpaper plugin, selecting "Open wallpaper Image" from RMB does nothing. It looks like the `action_open` method called by the RMB menu action is using an old field that no longer exists.
The patch updates the code to use the correct field.
BUG: 394035
Reviewers: #plasma_workspaces, ngraham, broulik
Reviewed By: #plasma_workspaces, ngraham, broulik
Subscribers: broulik, ngraham, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D12777
Summary:
update the wallpaper dialog to the same design as the new KCMS
for consistency
Test Plan:
dialog loads with proper wallpaper selected, and both clicking on one
works and the attached toolbuttons work too
Reviewers: #plasma, #vdg, davidedmundson, broulik
Reviewed By: #plasma, broulik
Subscribers: davidedmundson, broulik, abetts, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D12148
This broke in the transition to StackView as the blur needs a full-size source. Additionally
* put the item into a Loader to avoid needless shader compilation and other work
* only load the blur for image fill modes where the image does not cover the full size
* don't render background color when blur is enabled as you cannot see it anyway
Differential Revision: https://phabricator.kde.org/D11981
Summary:
The image wallpaper is a mess of 4 different fade functions, some not in
sync, and very complicated swapping images about.
This simplifies the whole thing by using a StackView, we just pop our
setup with a new configuration on and it handles deleting old objects
when the transition ends.
Code is 1/3 the size, whilst doing the same thing and should result in
having fewer items about.
In addition with this patch changing the transition effect in future
would be super trivial.
Test Plan:
Set as both image and wallpaper
Renders stuff as before
Reviewers: #plasma, broulik
Reviewed By: #plasma, broulik
Subscribers: broulik, mart, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D11726
Summary:
The wallpaper loading code expects the catalogs to follow the pattern
"plasma_wallpaper_" + pluginid. While in config QML the domain needs
to be explicitly set using i18nd, as the default textdomain is set to
that of the config container, it is not needed in the wallpaper QML.
While using a catalog with plasma_applet_* prefix works if setting
the domain explicitly, the usage goes against the design of the
naming patterns. So to give a good example and also properly marking
the usage of the catalog, the names are switched.
Reviewers: #plasma, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: davidedmundson, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D10850
This avoids fading the image source, or the fill mode, or the source size on startup while we're still setting things up.
While a Timer is usually a bad idea, this simplifies the code a lot.
Differential Revision: https://phabricator.kde.org/D9762
The delete button changes the currentIndex to something else when deleting the current image but that didn't update cfg_Image.
Just listen to when we become current. Might also fix keyboard navigation (didn't test if that worked before but it certainly does now).
BUG: 388805
Differential Revision: https://phabricator.kde.org/D9818
Summary:
Related to patch https://phabricator.kde.org/D7047 . Pointed out by @ngraham
Make a new option called "Edge filling". Users can choose either "Blur image" or "Solid color". They are only visible when the image filling mode is "Center" or "Scale and keep ratio".
When it is "Center":
{F5447565}
When it is "Tile":
{F5447053}
Reviewers: ngraham, jensreuterberg
Reviewed By: ngraham, jensreuterberg
Subscribers: jensreuterberg, broulik, ngraham, davidedmundson, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D8441
Summary:
There's a bunch of code referring to this setting but not such a setting,
so the qml engine is confused and outputs tons of warnings
Reviewers: #plasma, guoyunhe, ngraham, broulik
Reviewed By: #plasma, broulik
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D8807
Summary:
On wayland we're using Qt scaling.
This normally handles most scaling stuff itself, except because we're
explicitly forcing a source size, we need to scale that.
Test Plan:
Loaded a 4k wallpaper from internet
Looked at the tiny pixels
Reviewers: #plasma
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D8826
Summary:
Changes the button in the wallpaper chooser marked "Open..." to say "Add Image..". This matches the text style for the button in slideshow mode, which says, "Add Folder"
Also added ellipses to "Add Folder"; it's now "Add Folder..."
Test Plan:
Tested in KDE Neon.
Before:
{F5473479}
After:
{F5473507}
Reviewers: #plasma, broulik, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: aspotashev, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D8658
This allows adding images (for image wallpaper) and folders (for slideshow) by dragging them into the list of images/folder.
Differential Revision: https://phabricator.kde.org/D6568
It is still set for when a source is applied for the next
transistion.
Summary:
This saves evaluating a new paintedSize and doing a bunch of evaluations
which are not used.
More importantly it works round a Qt animation crash.
fadeAnim.running is bound to otherImage.status !== loading
with the intention of delaying animations until the images are really
loaded.
By setting the fill mode and then the source, we go to loading and back,
effectively restarting the animation from within the animation.
This leads to a crash.
CCBUG: 381105
Test Plan:
End user result is the same.
Reviewers: #plasma, broulik, mart
Reviewed By: #plasma, broulik, mart
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D7248
KCMs can be individually disabled by KIOSK if desired but wallpaper configuration cannot (unless you lock down
Plasma completely). Hence, at least honoring the ghns restriction here, until we have a proper solution
(that is a QtQuick equivalent of KNS3::Button).
Also, KNS3::DownloadDialog refuses to open when ghns is restricted *but* this applies only to using open()
or exec() but not a blatant show() we do from QML.
Differential Revision: https://phabricator.kde.org/D7086
This allows to open the location of the folder the wallpaper is in.
BUG: 371247
FIXED-IN: 5.11.0
Differential Revision: https://phabricator.kde.org/D6450
Summary:
Currently the selected wallpaper is deselected when the "Apply"
button is clicked, as if no wallpaper is selected. This patch
fixes that. I didn't understand what the original restoreIndex
thing was trying to do by passing the count, so I gutted it and
wrote code that makes more sense to me.
Reviewers: #plasma, mart
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D5440
Summary:
Whilst using units is generally good, the wallpaper transition time is
way too short. It's a different type of animation to the others,
especially in a slideshow, where the transition is an important part of
the behaviour.
This patch loads it from a hidden configuration option with a duration
of 1000ms, if and only if animations are enabled.
Value determined through brief trial and error.
BUG: 365979
Test Plan:
Opened wallpaper. Clicked next.
Also changed static wallpaper manually, transition looked fine
Reviewers: #plasma, broulik
Reviewed By: #plasma, broulik
Subscribers: broulik, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D4370
Summary:
Currently the we create previews with QPixmapItem from KDeclrarative and
when a wallpaper is set to centered sets it to an enum value that
doesn't exist.
PreserveAspectFit displays the wallpaper in the correct proportions as
when it will be applied, but will still be big enough to make it
actually previewable.
BUG: 375675
Reviewers: #plasma, mart
Reviewed By: mart
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D4840
Summary:
qml gridview don't have an official way to ensure the
current index is visible when the view is first instantiated,
the only way we have is to do positionViewAtIndex when we know the
proper space has already been allocated (Component.onCompleted
is way too early) we used to do that on onCountChanged, but that
too seems to early sometimes, as the selected wallpaper
is visible only sometimes, attaching it to onContentHeightChanged
seems to be more reliable (for all branches)
Test Plan: proper wallpaper is visible every time the window opens
Reviewers: #plasma, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: hein, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D4648
Summary:
qml gridview don't have an official way to ensure the
current index is visible when the view is first instantiated,
the only way we have is to do positionViewAtIndex when we know the
proper space has already been allocated (Component.onCompleted
is way too early) we used to do that on onCountChanged, but that
too seems to early sometimes, as the selected wallpaper
is visible only sometimes, attaching it to onContentHeightChanged
seems to be more reliable (for all branches)
Test Plan: proper wallpaper is visible every time the window opens
Reviewers: #plasma, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: hein, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D4648
Summary:
qml gridview don't have an official way to ensure the
current index is visible when the view is first instantiated,
the only way we have is to do positionViewAtIndex when we know the
proper space has already been allocated (Component.onCompleted
is way too early) we used to do that on onCountChanged, but that
too seems to early sometimes, as the selected wallpaper
is visible only sometimes, attaching it to onContentHeightChanged
seems to be more reliable (for all branches)
Test Plan: proper wallpaper is visible every time the window opens
Reviewers: #plasma, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: hein, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D4648
Directly expose "targetSize" as property. The wallpaper is already initialized with
the correct size for some time now but the fact that we had two properties width and height
in there had it still do unneccessary work when it emitted "sizeChanged(2560, 0)" and
then the final "sizeChanged(2560, 1440)" afterwards.
Also, I didn't really see a point in storing the wallpaper size in its config,
it's overwritten by the wallpaper anyway and only used in the wallpaper config dialog
for the aspect ratio. We can just ask the view directly then.
BUG: 374689
FIXED-IN: 5.9.0
Differential Revision: https://phabricator.kde.org/D4001
Summary:
select the correct index upon loading when the count changes.
this removes the flicker at startup and the view is at the correct
wallpaper since the first frame. Also, now when a wallpaper is
downloaded with knewstuff, the old wallpaper stays selected,
it doesn't get resetted to the first wallpaper anymore
Test Plan:
open wallpaer dialog, no more flicker
install a new wallpaper, the currently selected one stays selected
Reviewers: #plasma, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D3532