Qt's foreach is deprecated and should be replaced with modern C++
range-for loops. Const qualifiers are added to variable declarations
and wrapper in std::as_const as required to prevent unnecessary
clones/detach.
Qt's foreach is deprecated and should be replaced with modern C++
range-for loops. Const qualifiers are added to variable declarations
and wrapper in std::as_const as required to prevent unnecessary
clones/detach.
And factored out some duplicated code on the way.
Summary:
This is one of the tasks on the Plasma 5.9 release todo, as
agreed at the kick-off meeting. Dashboard is about enabling
an alternative fullscreen workflow for people who want one,
and this extends the coverage to widget management. It's also
a widget management workflow many people are used to from
their phone.
This is quite early code, but already works fairly nicely.
There's even polish like pre-loading the widget explorer model
as soon as the tab is hovered to speed up the tab switch, and
keyboard nav is working, too.
I would like to get it reviewed now and merged once egregious
technical founds are identified and eliminated. Please don't
be too picky on the visual or even workflow details - one
reason I want it merged early is so that I can get it into
the VDG's hands via Neon for advice, and also because I want
people to spend some time using it in general. It's early
enough in the 5.9 cycle to iterate more.
In addition to the attached screenshot, here is a video demo:
https://www.youtube.com/watch?v=ajIzfU0eJtI
Reviewers: #plasma
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D3200
Containment mutability is taken into account, the smart thing
is done for Folder View (symlink the .desktop file, don't spawn
an Icon applet) and the Task Manager (if found) is asked if it
already has a launcher.
We're pretty unhappy with all the coupling, though it wasn't any
better in Plasma 1. Long-term, a more generic framework to re-
gister launchers and allow containments and applets to work with
that data is to be implemented.