--situation has improved vastly for users for activities
and shares when trying to change their values. The menus
that appear now contain Ok/Cancel buttons in order to
accept or ignore the changes. If the user just hides
the menu without clicking Ok button then the changes
are ignored.
--when unloading layouts applets are deleted
and subsequently all the heuristics for identifying
expanded applets are removed. In such case
there were rare cases that applet()->id() was
trying to be accessed and that was subsequently
creating crashes because applet did not exist
anymore. AppletQuickItems probably are deleted
after applet has already been destroyed.
--the new approach is much more memory efficient
as the same indicator config ui is used for ALL
views and anything related to config uis is now
handled by the manager instead of each diffent
view on its own
--original data indexes may not be consistent with
current layouts data. If a layout is removed from
current layouts then many original layouts data indexes
are totally different. This commit fixes this.
--curent view indicator config ui is not deleted
when the PrimaryConfigView changes its parent view.
For each view there is one indicator config ui
that is kept available to be shown when appropriate.
This way we avoid unnecessary recreations of indicator
config uis when the user cycles between different views
settings.
--when the shared layout has user assigned icon
then that icon is always preferred
--choose which icons are drawn for shared layout
based completely on what icons are already chosen
for the assigned shares (central layouts)
--drop the sub handler detailsoptionshandler
because the new design wont have tabs like the main
settings window does. Views table will be provided
through a new sub dialog.
--inEditMode is now updated directly from
containment()->inUserConfiguring()
--add again hiding blockers when View gets
into edit mode. That was lost during last commits
because it was part of Visual qml code that
has been moved to another window.
--floating gap window is now activated independently of
kwin edges supports and only when really needed.
SidebarAutoHide visibility mode has been adjusted in order
to work nicely with floating gap window helper
--when the user has triggered its showing. It must be
given enough time for the user to observed the sidebar
contents before checking out if the sidebar must hide.
--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.
--the new code succeeds in more cases and
trys also to handle some wrongly designed
cases such the Air plasma theme that provides
zig-zag corner shadows
--many plasma themes disable their shadows with
settings their opacity to zero instead of removing
their shadow elements. In such case the new approach
sets the hasShadow flag to zero
--the new approach is first tracking panel-background
shadows if they are available and shown in order to
identify the plasma theme panel background roundness
--Plasma::FrameSvgItem margins are not consintent
in order to provide helpful hints how plasma theme
panel-background svg is drawn properly. The new
approach calculates paddings based on top,left,bottom,right
svg elements and in that way a consistent a properly
background.minimumThickness is discovered.
--as it appears in wayland the struts calculations must be
applied for exact screen_edge coordinates and use only the
view shown thickness. During the process floating panels
struts were not accurate at all cases and as such they
were fixed also for x11.
--when View::Visibility::mustBeShown signal is
triggered then the Views should always be shown
even when KWin has hide it with no real reason
--force appling activities to ALL View related windows
when changing current Activity. This way we make
sure that when KWin makes faulty assignments,
Latte is coming to the rescue.