--through level.requested options each indicator
instance can request specific repositioning for
each icon. Very good example for this is the
Win7 style indicator
--this was noticed when the user was removing an applet
through the context menu and at the same time this
applet was zoomed. With this patch the parabolic effect
behavior returns to normal
--TitleTooltips produced by Latte are thinner but they
can create issues comparing with user expectations and
how Plasma applets original work. This fix takes the
Plasma original behavior as granted and for now on
TitleTooltips from Latte will be applied ONLY WHEN:
----The parabolic effect is enabled, zoomFactor>0% AND
the applet in question is NOT LOCKED, meaning that its
Parabolic Effect is active
--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
--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
--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
--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
--when the user has enabled the monochrome colorizing
in that case in applet options there is now a new option
in order for the user to choose if wants or not that
applet to be colorized. Such an example are colorful
applets that lose their proper appearance through
monochrome option.
Summary: Fix minor typos in messages and comments
Test Plan: No major changes to prevent compilation and usage
Reviewers: mvourlakos
Reviewed By: mvourlakos
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D17894
--applets can have different main elements based on their
implementation. In such case we use a depth of 2 in order
to search for elements that contain variable isInLatte
--this item is fully responsible in order to
communicate the latte containment with any
underlying applet. A protocol specification
is used in that item in order for applets and
latte to exchange information.
currently supported:
ingoing parameters (to applet):
bool isInLatte // is in a Latte dock
outgoing parameters (from applet):
//deprecated from disableLatteOverlay
bool disableLatteParabolicIcon
bool disableLatteOverlay //dont use Latte overlays
--trying to combine dock mode, panel mode and
parabolic effect with plasma applets current implementation
can create such issues. Removing the zoom=1
criteria to activate the Latte MouseArea. The
user can still lock plasmoids that want the
Hover Default Plasmoid behavior or use the
Latte protocol to understand when they are in a Latte
containment.
FIXED-IN: 0.8.1
--in multiple layouts environment the user
may prefer different settings for its global
shortcuts, in some may wants to use global
shortcuts for its applets and in another
layout may not.
--v0.8 introduced unified global shortcuts for all
cases, that means that applets are also taken into
account for Latte activation/new instance global
shortcuts. A new parameter is introduced with
the patch at Latte global settings file called
"unifiedGlobalShortcuts", the user can set that
parameter to false before Latte startup in order
to use only global shortcuts relevant to the
Latte plasmoid.
--The Plasma layout is using the Latte plasmoid. By
following that case the neutral applets areas werent
activated. This is fixed now and also the click animation
in such cases.
--allow the applet developers to set at their
applet main file:
property bool disableLatteParabolicIcon: true
in order to disable any Latte functionality
concerning the parabolic icon
-- allow the applet developers to set at their
main file:
property bool isInLatte: false
in order to be informed by Latte when they are
in a Latte containment. For what ever purposes
the developers need to adjust to their plasmoid.