Commit Graph

300 Commits (32a5282517ef33d23973078a3502ba6e92ff8058)

Author SHA1 Message Date
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
Michail Vourlakos 05afe9e8d3 show title tooltips in liveEditMode 6 years ago
Michail Vourlakos 3fac7c2388 remove deprecated showZoomed from appletItem 6 years ago
Michail Vourlakos b15df34cc4 livemode:enable parabolic effect for editMode
--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
6 years ago
Michail Vourlakos dcb2d4e528 restore previous behavior and add a timer
--reduce calculations and add a timer in order
to avoid binding loops by giving applets some
time to adjust their sizes properly
6 years ago
Michail Vourlakos f00e34e36b improvements for applets canBeHovered heuristics 6 years ago
Michail Vourlakos d8738758a9 restore normal behavior for applets size 6 years ago
Michail Vourlakos bd2336b7af fix for applets size calculations
--fix how maxSize of an applet is calculated
in order to provide parabolic effect capability
or not.

BUG: 404977
6 years ago
Michail Vourlakos ff77bc3485 compute icon colors only for indicators requesting 6 years ago
Michail Vourlakos c805963327 prepare for new latte separators 6 years ago
Michail Vourlakos f2479d6678 move applet IndicatorLoader to its own qml file 6 years ago
Michail Vourlakos dd1c3f61b8 increase mask thickness when indicators needed it 6 years ago
Michail Vourlakos f1eb8becfc improvements for Plasma Style indicator 6 years ago
Michail Vourlakos fe71e5dd2e remove deprecated headers 6 years ago
Michail Vourlakos fc8d0ed46c fixes for margins 6 years ago
Michail Vourlakos d9fe9d438d move Plasma/UnityIndicators into liblatte2 6 years ago
Michail Vourlakos 529c6f0bab adjust applet to new LatteIndicator 6 years ago
Michail Vourlakos fb522d6231 introduce new margins for containment 6 years ago
Michail Vourlakos c2dc637a46 activate Unity indicator style
--this is just initial work and not even close
to the final result but it is the ground in order
to build upon.
6 years ago
Michail Vourlakos d387e7b6ef important improve applets layout
--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.
6 years ago
Michail Vourlakos 2884f73507 enable Plasma Indicator Style
CCBUG: 404122
6 years ago
Michail Vourlakos fd300ec9cf simplify colorize properties & active new options 6 years ago
Michail Vourlakos 730d204a56 improve settings explanations 6 years ago
Michail Vourlakos fef791d8e1 improve names for globalshortcuts qml calls 6 years ago
Michail Vourlakos b3a845a0d5 do not show tooltip for spacers and separators 6 years ago
Michail Vourlakos f03e820caf reposition items to respect proper stack order 6 years ago
Michail Vourlakos fb78f49d8f dont colorize Applet Shortcut Badges 6 years ago
Michail Vourlakos d04a3307d7 change names for two Communicator options
--follow qt naming for some Communicator options
6 years ago
Michail Vourlakos 3908b668a3 add two new Communicator options for 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
6 years ago
Michail Vourlakos e2cf406ade faulty object name 6 years ago
Michail Vourlakos 52465865f9 rename Task SubParts in plasmoid accordingly 6 years ago
Michail Vourlakos eddb6d229f rename applet(container) to appletItem
--improve naming for main applet item
6 years ago
Michail Vourlakos abeb42935b rename Applet parts accordingly 6 years ago
Michail Vourlakos a01ac0d504 move Colorizer.Applet to better fit place 6 years ago
Michail Vourlakos 9d49063cc4 move applet active indicator out of colorizer
--the Active Applet Indicator must not be colorized
and as such is moved out of the Colorozing scope
6 years ago
Michail Vourlakos 582b59dae2 enable/disable colorizing from user
--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.
6 years ago
Yuri Chornoivan 8d7110f761 Fix minor typos
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
6 years ago
Michail Vourlakos f84043d28e REFACTOR:change dock in containment to latteView 6 years ago
Michail Vourlakos d8621a9435 refactor:plasmoid rename latteDock to latteView 6 years ago
Michail Vourlakos 67253eda9d REFACTOR:update qml to new Latte.Types 6 years ago
Michail Vourlakos 5c82996dfa disable applet mouseareas for not loaded applets 6 years ago
Michail Vourlakos 53d17bfd01 new communication protocol one more time 6 years ago
Michail Vourlakos 722d656bfa enhance colorschemes and colorizer to new arch 6 years ago
Michail Vourlakos 9374ff3cc4 move colorizeManager to its own Item class 6 years ago
Michail Vourlakos d705d5a657 fixes for new Communicator protocol 6 years ago
Michail Vourlakos 5bab21d786 add function to identify mainitem in applets
--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
6 years ago
Michail Vourlakos 9dae7f7170 add Colorizing properties in Communicator
--add properties in order for the Communicator
to inform applet when to use the LatteColorScheme
6 years ago
Michail Vourlakos 1f51524d42 create Applet Communicator for applets
--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
6 years ago
Michail Vourlakos 1192760f28 apply Colorizer at per applet bases 6 years ago
Michail Vourlakos e7bd3f5aaf dont block tooltips for zoom scale=1
--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
7 years ago
Michail Vourlakos 8251fa8263 forward wheel events for underneath plasmoids
BUG: 396811
FIXED-IN: 0.8.1
7 years ago
Michail Vourlakos d4cb4e2410 setup unified global shortcuts per dock
--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.
7 years ago
Michail Vourlakos 00d15a7906 support no-unified global shortcuts
--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.
7 years ago
Michail Vourlakos 50a4727ffa fix #867,enable neutral areas in corner cases
--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.
7 years ago
Michail Vourlakos 28f0bed9dd fix #997,decrease text size when needed
Launchers Area text wasnt decreasing its size for
very small thickness.
7 years ago
Michail Vourlakos 506d23d948 enable parab.effect for latte spacer 7 years ago
Michail Vourlakos c14470c742 fix #983,expose latte availability to applets
--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.
7 years ago
Michail Vourlakos 92c025d94d show tooltips by default
--shows Latte tooltips by default except
if an applet is locked or zoomfactor==1
7 years ago
Michail Vourlakos f5bcb6462e disable active indicator for plasma appmenu 7 years ago
Michail Vourlakos 2b2ddfeb70 improve contrast for Launchers Area text 7 years ago
Michail Vourlakos a3ebd17070 fix #928,pass propagated events to applets
-- the mousearea used for the parabolic effect
can block some important signals to go to
underneath applets. We make sure that such
signals are not accepted, and as such are
forwarded to underlying applets.
7 years ago
Michail Vourlakos b2d917026f enable directRenderDelayer after hiding 7 years ago
Michail Vourlakos 0bb70c1595 drop fastEntering for directRenderDelayer
--the directRenderDelayer is used during first
entering in order to delay the activation of
directRendering. The cons of previous fastEntering
implementation added the necessity for this
replacement.
7 years ago
Michail Vourlakos 5b77c09faa improve fastEntering tracking
--take into account both hoveredIndexes
(applet & containment) for fastEntering
identify.
7 years ago
Michail Vourlakos 2658dce93e use mouse wheel to activate applets
--when the user has chosen to activate tasks
through mouse wheel and there are applets that
can be hovered, then for these applets the mouse
wheel can be also used to activate/deactivate them.
7 years ago
Michail Vourlakos 6bb7f0ab51 improve context menus for wayland 7 years ago
Michail Vourlakos db58a24040 dont count internalViewSplitters for globalShortcs
-- as mentioned at #879
-- improve also the semantics of globalShortcuts
7 years ago
Michail Vourlakos 1ff161a030 updates and improvements at applets glob.shortcuts 7 years ago
Michail Vourlakos 103b901125 support showing applets numbers with badges
-- this is used mainly from globalshortcuts triggering
7 years ago
Michail Vourlakos 5b3c00ff8c improve code for enable/disable checkRestoreZoom 7 years ago
Michail Vourlakos 7c5d550e9c fix #871,improve clearing zoom indicators
--accept clearZooms only in both hoveredIndexes
are -1 (for plasmoid and containment)
7 years ago
Michail Vourlakos 14ffc70088 cleanup deprecated directRenderTimer/containment 7 years ago
Michail Vourlakos 7c1cd0cb70 improvements to applets parabolic effect 7 years ago
Michail Vourlakos 00241dcd8f fix breakage in par.effect from separators applets 7 years ago
Michail Vourlakos 53633290fc block parabolic animations onEnter event
--calculations for parabolic effect are blocked
at the onEntered events because the mouse position
is faulty and breaks the animations
7 years ago
Michail Vourlakos 05e08e57c5 delay a bit the directRender activation
--previously directRender was activating also when
from the first entered element the mouse moved fast
enough to the second element. But this could happen
also accidentaly some times. This improvements indicates
also the mouse position in the second element to be
near the center of that element
7 years ago