Commit Graph

275 Commits (c859f17cab1ad564117c963ba7aa60c1d107f7d4)

Author SHA1 Message Date
Michail Vourlakos 2ef0cdd944 introduce Layouter ability 5 years ago
Michail Vourlakos 66f8cce6d9 introduce Layouter Debug mode
--really handy and beautiful in order to confirm the
calculations that are valid. Already a bug was found
for ParabolicEffect. There is 1px difference between
hovering Tasks and Applets
5 years ago
Michail Vourlakos e83f7e551e redraw panel shadows after !visible workarounds
--use a single slot when View triggers its workarounds
for the kwin issue that kwin hides panels when an activity
stops. In such case the view shadows are also redrawn.
5 years ago
Michail Vourlakos 344a7b7f53 smoothen up glitches inConfigureApplets mode 5 years ago
Michail Vourlakos e64921d2bf rename Indexer ability clients properties
--include also a fix for Tasks addingarea
5 years ago
Michail Vourlakos 28ec313bd2 track container fill calculations better
--container fill calculations are now tracked much
better when they are applied.
--as an improvement fill calculations are now taking place
at all edit mode states. So inConfigureApplets mode
the fill(s) applets do not throw out of screen
applets that are the layout edges
5 years ago
Michail Vourlakos 30aa8963cb fixes for Fitts Law applet margins 5 years ago
Michail Vourlakos a9425409d0 improve Indexer Container/Bridge implementation 5 years ago
Michail Vourlakos df4df914ca introduce Indexer ContainerAbility 5 years ago
Michail Vourlakos 87ffc22f6a remove AppletsRecords container ability
--use the all new much better infrastructure
to track applet abilities requirements
5 years ago
Michail Vourlakos 62879df90e rename appletitem aliases properly 5 years ago
Michail Vourlakos 44c7faba65 move zoomFactor,maxZoomFactor to ContainerAbility
--use nicer names such as parabolic.factor.zoom
and parabolic.factor.maxZoom
5 years ago
Michail Vourlakos 81abb0eb35 fix some parabolic effect glitches 5 years ago
Michail Vourlakos 7e1be6144a remove Parabolic::DirectRender timer functionality
--remove direct render timer which is not used any more.
5 years ago
Michail Vourlakos 140cc8cb73 smoothen up parabolic effect 5 years ago
Michail Vourlakos 63500ed524 HoveredIndex:Drop for containment
--a new implementation is needed which is going
to be simpler and lighter. Removing the current
implementation, parabolic effect works just fine
without issues and feels more responsive.
5 years ago
Michail Vourlakos 7b521634a8 restore properly multi-tasks parabolic effect
--update parabolic effect clear zoom functionanlity in order
to clear zoom properly
5 years ago
Michail Vourlakos 9145634434 PARABOLIC:new parabolic effect implementation
--the new implementation relies on items in order to
forward scale signals properly to their neighbours. So
parabolic effect does not have to know separators and
hidden items any more. As it appears it is lighter
also and more responsive. This is a very important
milestone for the parabolic effect.
5 years ago
Michail Vourlakos 22f9bdd6a7 use Metrics Ability for screenEdgeMargin 5 years ago
Michail Vourlakos 6259c395de move lengthMargin(s) to Metrics ability 5 years ago
Michail Vourlakos dae35a12bb rename thicknessMargins to thicknessEdges
--which is more accurate an Edge can be the calculated
distance of margin+border+padding like css is also
describing
5 years ago
Michail Vourlakos c45e45138f rename Metrics padding.length 5 years ago
Michail Vourlakos 1c6fef6c12 move thickMargin(s) to Metrics Ability 5 years ago
Michail Vourlakos e0d2991790 move fractions to MetricsPrivate 5 years ago
Michail Vourlakos 97e7c428b7 rename Ability.Container to Metrics
--major change but improves readability a lot
5 years ago
Michail Vourlakos dbd830aa48 remove applets spacers unneeded code 5 years ago
Michail Vourlakos 3a7a8368fa provide a multiapplets innerZoomFactor structure
--introduce AppletsRecords in order to keep track
of their requirements that influence the containment
qml behavior
5 years ago
Michail Vourlakos 368b4b8441 references improvements in container qml 5 years ago
Michail Vourlakos 152a467878 refactor: Tasks applet support Animations ability 5 years ago
Michail Vourlakos 732c7821f1 support property AbilityDefinition.Animations
--use qml for this and it is much better than c++
5 years ago
Michail Vourlakos 82f007e4bf provide an AbilityDefinition for Animations
--this way both containers and applets can use
the same infrastructure and properties
5 years ago
Michail Vourlakos 6a558df10b refactor:add Containment.AnimationsAbility
--change/update the animations api in order to
be understandable and easier to maintain/debug
5 years ago
Michail Vourlakos ac99708315 MAJOR MAJOR:splitting types to their own component
--improve types and references and add types splitted
at better places. So now we have
 - LatteCore.Types that are global for all components
 - LatteTasks.Types that are private to tasks plasmoid
 - LatteContainment.Types that are private to latte
containment
5 years ago
Michail Vourlakos 6833a9b5cb expose an object for AppletRequirements 5 years ago
Michail Vourlakos a72c30f763 replace containmentAb name with container 5 years ago
Michail Vourlakos 0db7b29a2d Abilities:move iconSize to containmentAbility 5 years ago
Michail Vourlakos aebbff4dfd improve applets badges location 5 years ago
Michail Vourlakos 8b41314b2f enable scrolling activation only for expandable
--systrays/internal containments are blocked from
this
5 years ago
Michail Vourlakos 0046c904d1 View:Move expanded applets code to View::Interface 5 years ago
Michail Vourlakos f63a467b1e improvements for applet isExpanded tracking 5 years ago
Michail Vourlakos 1adcbdb863 improve identify applets expanded state 5 years ago
Michail Vourlakos aa3aba50d9 make blockHiding multiple state
--blockHiding now tracks down which event has
requested it and it can work flawlessly with
multiple events

BUG:419034
5 years ago
Michail Vourlakos 1c88a97c55 app animations independent of plasma durations
--plasma durations can mess up the Latte animations
experience a lot. We now use our own set animations
durations which are independent of what the user
chose for plasma animations speed.

BUG:418883
5 years ago
Michail Vourlakos 8e614468bc imrove applets scroll wheel activation
--the new implementation works at all cases even
when the ParabolicEffect MouseArea is not really
enabled (e.g. real panels)
5 years ago
Michail Vourlakos 154038c245 consider edge margin for applets shorcut badges 5 years ago
Michail Vourlakos 79705e9753 option to disable creenEdgeMargin for maximized
--improved settings for Floating windows in Behavior
tab and add a new option to hide ALL screen gaps meaning
both length screen and thickness screen gap when there
is a maximized window in the screen

BUG:415630
5 years ago
Michail Vourlakos 6f7eebeec2 choose behavior for floating screen gap
--when the user has enabled dragging/moving active
window from floatings screen gap then that space
can not be used to activate applets. It is rather
used to drag/move/restore last active window.
5 years ago
Michail Vourlakos 6a17a3e67b only left click for applets neutral areas activate 5 years ago
Michail Vourlakos 06fdd0d703 make screenEdgeMargin aware some elements
--update some containment elements and make
them screenEdgeMargin aware in order to be
positioned properly
5 years ago
Michail Vourlakos 8ee4b83461 update applets to screen edge margin awareness
--applets can now use the screen edge margin value
in order to follow Fitt's Law for floating docks/panels
if they want to. Latte takes case all applets of
course but in case an applet would like also to
to use also the space between the gap of the view
and the screen edge, it can so.
5 years ago
Michail Vourlakos d31d7afb9d dont wait for dock to show for activate shortcuts
--when the application launcher is not a popup then
we do not have to wait for the dock show we can execute
the activation code immediately
--when Latte activates an entry can now understand
if a popup is going to be shown in order to delay
the execution. If a popup is NOT going to show either
for a latte task or an applet then the code is executed
immediately

BUG:415417
FIXED-IN:0.9.6
5 years ago
Michail Vourlakos 484741558e add comments 5 years ago
Michail Vourlakos 2493971f03 improve atScreenEdge code 5 years ago
Michail Vourlakos 2577c33b7d improvements for margins/paddings
--fix also how firstVisibleIndex is tracked for
AppletContainer(s)
5 years ago
Michail Vourlakos 5c5084f7bb improve some semantics in AppletItem 5 years ago
Michail Vourlakos bfd72413d9 show a smaller indicator for atScreenEdge applets
--this is a temporary fix in order to provide a
visually pleasant result until the final fix for
Fitt's law is applied.
5 years ago
Michail Vourlakos 5aac422a65 Fitt's Law improvements for applets
--each applets layout can not identify properly
which applet is the first/last visible from its
contents. This way we can now identify properly
at all cases which applets should remove their
margins in order to follow Fitt's Law at screen
edges. For example when a windows buttons applet
is found at the screen edge and suddently it
hides itself then the next visible applet should
be considered at screen edge and such should remove
its margins in order to touch the screen edge.
5 years ago
Michail Vourlakos 453ac890ab remove exceptions for systray and indicators
--remove the layout exception for the plasma systray
and behave for this just all the rest applets
--fix indicators for applets in order to consider
properly the indicators padding and applets margins.
In other words the Latte indicators for applets should
not take up all the length provided but ONLY the
applet length + indicators padding (without at any
case the applet length margins)

BUG:414104
FIXED-IN:0.9.5
5 years ago
Michail Vourlakos 7663e86068 multiple fixes for different margins
--multiple fixes for margins all over the place. More
specific how they are calculated and when they are
used
5 years ago
Michail Vourlakos 5a2c59601c Indicators:different margins for applets
--indicators gained a way to set different margins
for applets if they want to
6 years ago
Michail Vourlakos 768a6b4b2a indicators can now offset a bit icons
--through level.requested options each indicator
instance can request specific repositioning for
each icon. Very good example for this is the
Win7 style indicator
6 years ago
Michail Vourlakos 289429185b hacky flag to keep Latte behavior for zoom=1
--if some users want to keep the Latte specific behavior
when the zoom factor = 1 then it can just LOCK
these applets

BUG:410695
6 years ago
Michail Vourlakos 7521d8beb8 forward pressed/released to underneath applets
--there were cases that these signals were not sent
to underneath applets

BUG:410350
FIXED-IN:0.9.1
6 years ago
Michail Vourlakos 30c5a00835 release BothAxis animation on applet destruction
--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
6 years ago
Michail Vourlakos 583b79314c improve tooltips identifier and checkCanBeHovered 6 years ago
Michail Vourlakos cda688c2a5 refactor:move AddingVisuals to LatteComponents 6 years ago
Michail Vourlakos be90ca6269 improve TasksArea Visual for containment 6 years ago
Michail Vourlakos d283e61b5d improve DragDrop behavior/responsiveness 6 years ago
Michail Vourlakos beb0100644 fix some applets animations flickerring
--especially when the user drags something over
the Latte::View and afterwards drops it
6 years ago
Michail Vourlakos 4d8933b8bb TitleTooltips at second role compare to Plasma
--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
6 years ago
Michail Vourlakos 4dd93f3ba8 animate dragging applets only on ViewParallelAxis 6 years ago
Michail Vourlakos 1ef4de0da8 VASTLY IMPROVE dragging experience
--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
6 years ago
Michail Vourlakos 927c518a6d track applets mouse click events differently
--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
6 years ago
Michail Vourlakos eb96b52866 disable hover/clicked animations for applets
--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
6 years ago
Michail Vourlakos 6f47b7c4c8 rename Rectangled TO Square for Indicators 6 years ago
Michail Vourlakos 9e9990e2df increase criteria for applets size parab.effect
--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
6 years ago
Michail Vourlakos d1fc95d934 dont follow Fitt's Law when not at the scredge 6 years ago
Michail Vourlakos 95e141346e update applets container
--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
6 years ago
Michail Vourlakos f33b61d6cf simplify original applet behavior enablement
--restores tooltips for systray when the Latte
tooltips are not enabled

BUG: 405591
6 years ago
Michail Vourlakos 9ce7ba35bb simplify mouse signals from Latte::Views 6 years ago
Michail Vourlakos 6505e8797f send mouse signals from View to containment
--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.
6 years ago
Michail Vourlakos 1d1f881032 identify original plasma applet behavior better 6 years ago
Michail Vourlakos ecb7bd8e35 simplify code 6 years ago
Michail Vourlakos 2486e3bef4 impr.original plasma applet identification criteria 6 years ago
Michail Vourlakos d95d861b64 add new options to indicators interface
--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
6 years ago
Michail Vourlakos f497d4ae62 improve updateIndexes at Justify alignment changes
--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.
6 years ago
Michail Vourlakos de56372bf9 fixes for Splitters and LiveEditing 6 years ago
Michail Vourlakos 05c45dad5e hide justify splitters for liveEditing mode 6 years ago
Michail Vourlakos 6d84b6eea2 better way to identify applet plasma behavior
--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
6 years ago
Michail Vourlakos 89e0eaa3ee dont animate clicking for locked applets 6 years ago
Michail Vourlakos 6569160195 improve icon colors for applets
--provide a background and glow color for those
applets that do not provide an icon to render
6 years ago
Michail Vourlakos 262dfa6b09 Indicators protocol change attributes to level
--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
6 years ago
Michail Vourlakos 10ee2d9ab8 fixes for reversed state of config window 6 years ago
Michail Vourlakos 614ec3ea48 move shortcut badges at top left corner
--this way the elements are observed better and
the user is able to both watch out the items and
the shortcut that activates them
6 years ago
Michail Vourlakos 0b90411b1d IMPORTANT: All new Indicators architecture
--this huge commit contains all the changes needed
in order for Latte to load Indicators dynamically
from their own packages
6 years ago
Michail Vourlakos 8be388b893 improve vastly the indicators arch independence 6 years ago
Michail Vourlakos c85ec4c07a new architecture for Indicators
--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
6 years ago
Michail Vourlakos 25b636465a split animations and make par.effect independent 6 years ago
Michail Vourlakos 83d2ead0a0 support increase/decreaseLength for latte separator 6 years ago
Michail Vourlakos 8b46ecc92a support new Latte separator properly 6 years ago