--the addDock code now checks if at the primary screen
in the specific edge there is already assigned an explicit
dock. In that case it doesnt add that primary dock
--during startup Latte checks if a tasks plasmoid
is going to be present (because of multi-screen settings).
Now these checks are also considering the case of
plasma taskmanagers
-- copy dock method wasnt using correctly the signals
and the methods from containments during first loading
the new copied containments. That could create crashes
if the user was trying to remove a copied dock directly
after used the copy method
--Latte when loading a layout tries to identify if based
on the docks settings there will be at least one dock
containing a tasks plasmoid. This code was extended in order
to identify also the plasma taskmanagers. One more improvement
is that this code now is executed also when dynamically
changing layouts
--during changing layouts there were cases that Latte
would crash because between deleting containment and
triggering the event to delete the dockview, there was
a race condition. The dockview wasnt deleted and as
a consequence the libtaskmanager or kwindowsystem were
forwarding events to them
--add functionality for layoutManager
--add widgets action and alternative layout action to
layoutManager
--remove more functionality that belongs to globalSettings
--the session functionality is not removed only from
globalsettings class which is just waiting to be removed
tottaly when its functionality moves to the new classes
--the new layout is loaded without closing
Latte and with properly loading globalSettings
and screen from the layout file. The layout
new files are updated when Latte is closing
--users reported that when activating an external screen
as primary and at the same time disabling the original
screen e.g. the laptop one, latte wasnt showing docks at
all. This could also occur on startup. This commit
fixes this and improves more the multi-screen code in
various corner cases
--the new implementation possibly fixes two crashes
that could occur occasionaly. First it is ensured
that the new dock in created after the old one has been
removed. We also use directly the containment instead
of using a reference for it which could create a crash
in some cases. One more fix, setting dock visible to false
had no reason as long as it is going to be deleted either
way.
--improve the signaling between the configuration window
and the dockview concerning freeEdges for current screens
and docks count. Now the docks counting is different
between screens and in general
--the new algorithms are using QScreen* values
from dockviews instead of the containment screen()
which can not be trusted at the first minutes
of a dock creation
--the globalshortcuts class contains all the relevant
code and includes also some functions that were used
from corona to trigger changes into the Latte Tasks
plasmoid
--this patch adds an external config file in
order to store the user layouts. Adds also in
the globalSettings the layouts mechanism
--todo: the confirmation dialog is not working
correctly for some reason. It doesnt return
the accept value and on the exec() function
is crashing