--renaming active layout in single mode is a little
tricky in order to not leave any deprecated data behind.
Successful steps would be:
1. unload current single layout
2. load new single layout for the new file
3. remove deprecated layout file after new file loaded correctly
--move internal synced launchers infrastructure
in order to use Launchers Ability. Things
this way will become much cleaner and
at the same reusable and maintainable
--when the user requests a specific layout in Multiple
Layout mode the new approach is the following. If
the layout has assigned activities this is respected
but if its activities are empty that layout is assigned
only on the current activity and any other layouts assigned
explicitly to that activity are released
--the controller does not need to host its own
CentralLayouts any more. It retrieves original
data for Synchronizer, updates layouts accordingly
and sends back to Synchronizer all the updated
layouts data
--Move in a simpler layouts approach.
--Single Layout mode loads ONLY ONE Layout for ALL Activities
--Multiple Layouts mode loads any combination of Layouts based
on the following settings:
-- OnAllActivities
-- ForFreeActivities
-- SpecificActivities
--create an abstract implementation for subcontainments
such as systrays and group applet in order to use
the same infrastructure for all storage operations
such as Multiple Layouts loading, copying views,
providing important information etc.
BUG:418642
--this class will be the replacement for layout::storage
and will be responsible for any containment actions for
all layouts either loaded or offloaded. Through this
refactor loading and checking CentralLayouts should become
lighter and also memory efficient
--all storage functions are now taking place into
the same Latte TMP directory that is introduced
for layouts. So no more .bak files are needed from
~/.config folder.
--implement things simpler by using the same
CoreTypes header file both for LatteCore.Types
import statement and App c++ implementation.
Let's leave in the future to decide if
a LibLatte is really necessary.
--use a more logical organization for types. LibLatte2
is split to become LatteCore library and Latte types
are now moved to application level. The Latte Types will
be split even more... Tasks-Only related types will
become Latte.Tasks types
BUG:420210
--the orphaned-central layout should NOT be loaded
when it has already been loaded as SHARED layout for
other CENTRAL layouts in a MULTIPLE LAYOUTS environment
BUG:417886
FIXED-IN:0.9.9
--dont mess the old migrating process during startup
with a new user that uses Latte for first time. This
is a very important step during startup otherwise the
entire Latte experiences instability.
BUG:417886
FIXED-IN:0.9.9
Summary:
- Add `Configure Latte Global Settings...` because it's too hidden in Layout > Configure and does not relate to the Layout menu.
- Insert a new `Separator` to separate between Global settings and View settings (see screenshot)
- Rename `Panel/Dock Settings` to `Edit Panel/Dock` (Verb + Noun)
- Rename `Layout > Configure...` to `Layout > Manage Layouts` (Verb + Noun)
Menu Items Order:
a. -separator-
b. Layouts->
c. Configure Application...
e. -separator-
f. Add Widgets...
g. Edit Dock...
h. -separator- [only for Tasks plasmoid]
i. Close... [only for Tasks plasmoid]
BUG: 415584
Test Plan:
Before:
{F7844554}
After:
a. context menu of applets
{F7845184}
b. context menu of a task that hasn't/has one window shown
{F7844944}
{F7845185}
c. context menu of Latte Tasks plasmoid when used on the desktop
{F7845186}
{F7845187}
Reviewers: #latte_dock, #vdg, mvourlakos
Reviewed By: #latte_dock, mvourlakos
Subscribers: ngraham, ndavis, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D26238
--occasionaly when the user was switching
layouts it could get some crashes. It looks
safer to unload first the Latte::Views objects
and their corresponding containments afterwards.
I tried in my system to switch multiple layouts
in plenty different configurations and I could
not get a crash. This patch should fix the
mentioned crash report if that was the root
of the issue.
BUG:412864
FIXED-IN:0.9.5