--when dragging a new applet over the view
the responsiveness is now improved vastly
--the new architecture uses two different
DragAndDropAreas. One which is the old one
and is used when dragged launchers, urls and
separators. The second is used only when
applets are dragged into the view
--the visuals for adding launchers/applets have
been improved and a circular visual is preferred
now instead
--the applets mouse click events are now tracked
for View::MouseSignals tracking mechanism. This
way no MouseArea is used overlaied over the applets
for the mouse click events. In that way the applets
are using their own built-in functionality for mouse
click events and at the same time for Latte is tracking
only the neutral areas for this meaning the applets external
margins in order to obey Fitt's Law
BUG: 406215
--in order to show built-in hover/clicked animations
for applets, the applets must be Squared/with no
Plasma behavior and the chosen Indicator to not
provide hover or click animation
--the criteria in order to track when an applet can
be zoomed or not have increased. The limit is now
specified from (iconSize+thickMargins) for applets
--fix separators, spacers corner cases behavior
--dont apply hidden spacers for separators and
spacers
--remove the plasma panel spacer reference which
is deprecated and not used any more
--this is side-way path for mouse events and
more specific the mouse pressed, released
events to be sent from parent window to its
qml containment part. This way it is possible
to keep the original plasma applet behavior
such as original plasma tooltips and provide
Latte specific functionality such as animated
clicks from indicators.
NOTE: An investigation - testing took place in
order to check if this approach could be also used
for mouseMove events to be used for applets parabolic
effect. The result was that this was not possible because
there were too many signals and too much calculations
too identify for which applet the signal belonged to.
The parabolic effect was not fluid in that case and
could not catch up.
--providesHoveredAnimation, in order to disable
the Latte one
--providesClickedAnimation, in order to disable
the Latte one
--needsMouseEventCoordinates, in order to know
when the mouse pressed e.g. creating animations
like the android way
--fix how applets are identifying their index when the
user switches alignments from Justify to Another and
vice versa. More specific this patch helps in order to
not break the parabolic effect between alignment changes.
--there is a combinantion of settings that enables
plasma original applet behavior.
1. the applet is locked and is not using parabolic effect
2. the zoomfactor === 1 and the user has not activated
title tooltips
Summary:
When iconSize is not big enough, center aligned shortcut badges look better than top-left aligned ones.
BUG: 406037
Test Plan:
- When iconSize < 48: shortcut badges are center aligned
- When iconSize >= 48: they are top-left aligned
For example, with iconSize = 32:
Before:
{F6736365}
After:
{F6736366}
Reviewers: #latte_dock, mvourlakos
Reviewed By: mvourlakos
Subscribers: mvourlakos, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D20128
--introduce a new class called level which contains
all the needed information concerning indicator level
and at the same time the bridge that provides information
for the specific indicator states
--in order for all indicators infrastructure to
load the plugin correctly the configuration and
the component elements of ViewPart::Indicator
must be loaded first correctly and afterwards
the relevant Indicators to follow
--indicators now support both Back/Front
layers. Back layer is the usual layer
behind the current Item and the Front layer is
a layer above the current Item (overlay)
--update Unity to follow new architecture
--first commit to restructure editMode in order to
support livemode under editing. Live mode means
that all options changes during editMode will be
available to be tested directly
--applets can now use the LatteBridge in order
to send/receive messages between them. A good
example of this could be the window title and
the window appmenu applets in order the hide
and show themselves based on mouse hovering.
--use plasma way to layout the applets. With this
fix all the applets layout is improved vastly
especially concerning more the plasma indicators
trigerred by applets.
--activeIndicatorEnabled, applets can use it in order
to enable/disable the Latte Active Indicator for them
--parabolicEffectEnabled, applets can use it in order
to disable Parabolic Effect (zoom) for them