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.
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.
Summary:
The wallpaper knsrc file file assumes that `qdbus` is in $PATH. However this is not
guaranteed; the command lives in the Qt binaries dir which is not typically in $PATH,
and distros typically create symlinks with different names in `/usr/bin`, but not all
create a second compatibility symlink at `/usr/bin/qdbus` that points to the version
for the current Qt version.
Therefore, we should find the command in the Qt binaries dir itself rather than relying
on these compatibility symlinks.
Test Plan: See that the knsrc file now has the absolute path to `qdbus` in it
Reviewers: davidedmundson, fvogt, #plasma, apol
Reviewed By: apol
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D25884
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:
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
Previously it would use an on-disk KImageCache which would never be invalidated.
Moreover, it just uses KIO::PreviewJob which does its own more clever (compares mtime and other properties) on-disk caching already.
It is using its own QCache rather than QPixmapCache to not jeopardize other caching for the potentially large wallpaper thumbnails
that are only relevant while the dialog is open.
BUG: 395447
FIXED-IN: 5.15.0
Differential Revision: https://phabricator.kde.org/D16095
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
Summary: And remove some useless debug statements as well
Test Plan: no more useless debug statment
Reviewers: #plasma, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D4529
Summary:
This new version of the distance function simplifies the
findPreferredImageInPackage method by using the aspect ratio in the
calculation. Now, it won't only search for a wallpaper with the same
aspect ratio, but will also choose one with the closest possible
aspect ratio when a perfect match is not found.
Also, I separated the method that chooses the preferred image
to not use KPackage in order to use it from a test application
that tests the distance algorithm with all possible resolutions.
Test application that tests the Image::findPreferredImage method
The test initializes a list of available wallpaper image sizes,
then a list of screen resolutions, and then executes
Image::findPreferredImage to find out which is the preferred image
in each case.
Test Plan:
I tested with different screen resolutions on a virtual machine with
openSUSE Leap 42.2 RC1 and also included a commit that adds a test
application (not built by default) that tests all possible resolutions.
Reviewers: #plasma, mart
Reviewed By: mart
Subscribers: mart, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D3188
Summary:
This new version of the distance function simplifies the
findPreferredImageInPackage method by using the aspect ratio in the
calculation. Now, it won't only search for a wallpaper with the same
aspect ratio, but will also choose one with the closest possible
aspect ratio when a perfect match is not found.
Also, I separated the method that chooses the preferred image
to not use KPackage in order to use it from a test application
that tests the distance algorithm with all possible resolutions.
Test application that tests the Image::findPreferredImage method
The test initializes a list of available wallpaper image sizes,
then a list of screen resolutions, and then executes
Image::findPreferredImage to find out which is the preferred image
in each case.
Test Plan:
I tested with different screen resolutions on a virtual machine with
openSUSE Leap 42.2 RC1 and also included a commit that adds a test
application (not built by default) that tests all possible resolutions.
Reviewers: #plasma, mart
Reviewed By: mart
Subscribers: mart, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D3188
this will allow it to be shared by other plugins out there. it does mean
sacrificing the generic "find best paper size" functionality which was
tightly bound to the image wallpaper (in plasma4, this was Plasma::Wallpaper,
so acceptable). Finding the best image is now left up to the plugin,
though I imagine that other plugins will want this eventually as well
and it will find its way into a library somewhere or else just be
copy-and-pasted a lot.
This is the beginning of revision history for this module. If you
want to look at revision history older than this, please refer to the
techbase wiki for how to use Git history grafting. At the time of
writing, this wiki is located here:
http://community.kde.org/Frameworks/GitOldHistory
If you have already performed the grafting and you don't see any
history beyond this commit, try running "git log" with the "--follow"
argument.
Branched from the monolithic repo kde-workspace, frameworks branch, at commit
049113e719dd2fc4446d054fa1a3aada330094f0