Commit Graph

1105 Commits (1aaef7aa2b8464dfeb3d47f256a421ac88548748)

Author SHA1 Message Date
Michail Vourlakos 9f50a49ce1 restore margins for applets at screen edges
Michail Vourlakos e119bd9a7a hide TasksArea message when not hovering Tasks
--this is applied when the user has chosen to add
launchers as applets also that it is NOT a DEFAULT
behavior. In such case when the dragging is out of
Tasks plasmoid it becomes hidden.
Michail Vourlakos cda688c2a5 refactor:move AddingVisuals to LatteComponents
Michail Vourlakos be90ca6269 improve TasksArea Visual for containment
Michail Vourlakos d283e61b5d improve DragDrop behavior/responsiveness
Michail Vourlakos beb0100644 fix some applets animations flickerring
--especially when the user drags something over
the Latte::View and afterwards drops it
Michail Vourlakos 58f99c0c55 simplify tooltips texts in ConfigOverlay
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
Michail Vourlakos 74772cd7a9 introduce SCROLLING options for Tasks
--the user can now adjust the Scrolling options
for its Tasks when the items overflow. The following
are provided:
Scrolling: ENABLE/DISABLE
--Manual Scrolling: DISABLE/PARALLEL/HORIZONTALANDVERTICAL
--Auto Scrolling: ENABLE/DISABLE

BUG: 407779
Michail Vourlakos 4dd93f3ba8 animate dragging applets only on ViewParallelAxis
Michail Vourlakos 2aff2da949 identify drag enter in containment differently
Michail Vourlakos b237f6efa3 improve a bit the dragging Timer
Michail Vourlakos 7ffe7d436d introduce plasmoid:TasksExtendedManager
--All the Tasks WORKSAROUNDS for libtaskmanager
limitation in one place
Michail Vourlakos cfc9143632 respect Add launchers only in Tasks area
Michail Vourlakos 86e645c720 position properly dropped applets and urls in view
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
Michail Vourlakos 8ccdd2e719 improve Tasks adding launchers responsiveness
Michail Vourlakos 3789f3c178 improve adding applets through dragging responsive
--fix all events identifications from DragMove and
DragExit etc. in containment::qml part and all drags
flags are calculated only at DragEnter! This fixes
the DragMove signaling and all DragMove signals are
sent correctly.
It needs to be fixed also for Tasks plasmoid because
every time the mouse hovers the Tasks Plasmoid then
the DragMove signals are NOT SENT as they should.
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
Michail Vourlakos 93528d3164 fixes for clearing parabolic effect zoom
--case 1: first left applet neighbour of Tasks was not
clearing its zoom if the mouse was entering too fast
the Tasks applet from the applet direction
--case 2: first task in Tasks was not clearing its zoom
when the applet triggering the clear zoom effect was too
far from the Tasks

BUG: 401294
Michail Vourlakos be25a3b145 improve debug graphics mode visuals
Michail Vourlakos 844dc8096c fix startup warnings
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
Michail Vourlakos ae4578433c dont track windows for AutoHide mode
--add initialization of values for views
tracking hints when enabled becomes false
--add some debug messages to be used when
we want to test out things
Michail Vourlakos a6b8fbcaff consider view::hidden state after slide-out
Michail Vourlakos a27ff3ec48 REFACTOR:Update LayoutManager to Layouts::Manager
--create "layouts" own directory in order to host
all LAYOUTS management/control code and classes
Michail Vourlakos 29157f4636 refactor:rename managedLayout to layout/viewLayout
Michail Vourlakos 6f47b7c4c8 rename Rectangled TO Square for Indicators
l10n daemon script e8d79632bd SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
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
Michail Vourlakos 4092a98654 dont show hidden applets in liveEditMode
Michail Vourlakos ac6454892e fix type for vertical indicators
Michail Vourlakos 98fd21131e Revert "fixes for applets margins/indicators"
This reverts commit 99ff8c198e.
Michail Vourlakos c38e3016de update hidden state after slide-in
BUG: 406415
Michail Vourlakos fc9b683faf restore main layout anchoring animation
Michail Vourlakos 99ff8c198e fixes for applets margins/indicators
Michail Vourlakos d1fc95d934 dont follow Fitt's Law when not at the scredge
Michail Vourlakos 5fbdf19b78 fixes for edit mode
Michail Vourlakos 13cb58d54a improve badges borders colors
Michail Vourlakos a2566d1414 move dodgeAllWindows to windowtracker
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
Michail Vourlakos 77f7d27c83 enable lock button for systray
Michail Vourlakos d8c294aada compute better scrolling area thickness
Michail Vourlakos f572970a95 add option for Tasks scrolling
Michail Vourlakos 4b92a87c41 update fill(s) applets appropriately
--more specific when maxLength is changed
in editMode and !inconfigureAppletsMode
Michail Vourlakos 6710be3ae5 update plasmoid to support scrolling
l10n daemon script 32904be361 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
Michail Vourlakos f33b61d6cf simplify original applet behavior enablement
--restores tooltips for systray when the Latte
tooltips are not enabled

BUG: 405591
Michail Vourlakos 9ce7ba35bb simplify mouse signals from Latte::Views
Michail Vourlakos 8a99a9249b improvements for !compositing mode
--fixed struts gap for !compositing mode in order
to handle the strange kwin behavior. Kwin under
!compositing removes 1px. from the struts specified
by windows
--plenty of fixes concerning automatic coloring
under !compositing mode
Michail Vourlakos 43a007c39b fix coloring in !compositing && inConfigureApplets
--when the panel trasparency was set under 40% the
coloring was broken in some layouts
Michail Vourlakos d3ab078070 improve panelSpacing for !compositing
Michail Vourlakos 499c4eb1d1 update !compositing panelbackground used until now
--following plasma approach and use always
even for !compositing mode the widgets/panel-background
svg file. This way when Latte and Plasma panels are
combined there is uniformity between them.

BUG: 406597
Michail Vourlakos 7a11670e33 introduce AppletsContainer for LayoutsContainer
Michail Vourlakos 4fe515fb8e fixe !compositing behaveAsPanel sizes calculations
--this patch positions correctly behaveAsPanel view
types in !compositing mode concerning and taking into
account maxLength and offset
--the patch introduces also an AppletsContainer to
substitute all three layouts of LayoutsContainer
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.
Michail Vourlakos bcbc822541 animate editBackground for disabledAnimations
--fix warnings
Michail Vourlakos da3a60357a disable par.effect when animations are disabled
Michail Vourlakos 21825369bb small adjustements
--save applets layout when the user chooses a
different alignment
--dont animate offset if the edit background is
not shown in full thickness
Michail Vourlakos 105655310a improve edit mode sliding in animation
Michail Vourlakos 2963a1fc2f apply all colors from applyTheme
--infrastructure is now ready to expose to
applets the full color paletter and not
make compromises by choosing only from
original plasma theme for some of the
exposed colors
--dont reverse colors for selection group.
It creates a much nicer effect from user point
of view to keep the highlighting colors the
same for both the normal and reversed plasma
themes.
Michail Vourlakos 1d1f881032 identify original plasma applet behavior better
Michail Vourlakos ecb7bd8e35 simplify code
Michail Vourlakos 67a4a4ab14 remove deprecated options
--reversed, dotsOnActive and
threeColors that were related
to Latte indicator
Michail Vourlakos 2486e3bef4 impr.original plasma applet identification criteria
Michail Vourlakos 99ffe9d418 improvements for indicators
Michail Vourlakos 03f507b09c improve liveediting for maxLength changes
--the user can now get visual feedback also for
Justify mode changes that are influenced by
maxLength and offset changes
Michail Vourlakos b4e55e4e87 fix applets indicator size
--also dont count internalMargins
for isSeparator and isSpacer applets
Michail Vourlakos af65e8ab48 flexible Tasks page
--introduce android clicke animation for Plasma
style
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
Michail Vourlakos 20a57f3c15 improve edge changing animation
Michail Vourlakos 30174bbb00 fix parabolic effect for vertical views
Michail Vourlakos 8fa495ce7e update tooltips for edit settingsOverlay
Michail Vourlakos 5665efd31f add a publishing state to simplify things
--this way the syncGeometries calculations are
reduced
Michail Vourlakos db6a4e9d0d make struts and Always Visible lighter
--support them also in Live Editing
Michail Vourlakos 9d76dc7284 consistent metrics between different states
Michail Vourlakos 86c7e72abf add option to enable/disable active window dragging
Michail Vourlakos 243ece638c update editVisual transparency through emptyAreas
Michail Vourlakos f7484eba47 update indexes after loading Justify alignment
Michail Vourlakos 7e9064eb5e track last active window properly at per view
Michail Vourlakos a293e8c92a introduce EnvironmentActions area
--move the EnvironmentActions login exactly
below the Layouts layer and make its size to
follow always the appropriate size and placement
Michail Vourlakos fccbb64808 move LayoutsContainer in its own folder
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.
Michail Vourlakos d5b294b88e improve vastly Justify Live Editing experience
--the entire Justify to Another alignment experience
has been improved a lot and made much smoother than
in the past
Michail Vourlakos de56372bf9 fixes for Splitters and LiveEditing
Michail Vourlakos 71c2036096 improvements for LiveEditing and Justify case
Michail Vourlakos 05c45dad5e hide justify splitters for liveEditing mode
Michail Vourlakos 4048edc7f9 Option to set Settings size at per screen level
--the Latte Settings window tries its best in order
to provide a nice experience concerning its width/height
ratio and a width size that is best for its contents.
There are cases that this fails so the user in the
best to set it right. Latte now provides two shortcuts
Meta+Scroll, that changes the width scale ratio and
Ctrl+Scroll, that changes the height scale ratio when
settings are in Basic mode.
The previous shortcuts must be applied when the mouse
is over the empty areas in the Settings View window.
Michail Vourlakos 6290ec33cf update margins for Rearrange button
Michail Vourlakos 260307d16f improve identification of Rearrange applets button
this improvement was mentioned at: D20249
Michail Vourlakos 3e19e553f1 add IndicatorInfo to have a global reference
Michail Vourlakos 915bb1bd39 provide visual limits for margins/padding
--based on the current indicator there minimum
thickness and indicator padding can be altered.
Providing some visual feedback for the user to
understand these limits is a good practice.
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
Michail Vourlakos 1503dbe247 take into account indicator minimum paddings
Michail Vourlakos 89e0eaa3ee dont animate clicking for locked applets
Michail Vourlakos 1210e708c9 support automatic roundness to !compositing
Michail Vourlakos d9a2e4c948 make text translatable
Michail Vourlakos 834bb56194 provide panel transparency info to indicators
Tranter Madi 5fe27176fa Center align shortcut badges when iconSize < 48
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
Michail Vourlakos d4b2589d0c expose isPressed state to indicators
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
Michail Vourlakos 69bbb82841 improve icons colors names
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
Michail Vourlakos 10ee2d9ab8 fixes for reversed state of config window
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
Michail Vourlakos 71d3979f0c separate liveEditingMode and inConfigureApplets
--try to improve experience for liveEditingMode and
inConfigureApplets. LiveEditingMode should be as much
as nearer to the standard experience and inConfigureApplets
state should provide nice coloring
Michail Vourlakos 7c59929b28 fixes for shadows calculations
Michail Vourlakos 28ef36a774 simplify indicators names
Michail Vourlakos 9a464226bd improve loading for indigator config ui
--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
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
Michail Vourlakos ef0ec2831b apply Smart coloring also for locked editMode
Michail Vourlakos 14417a69f1 improve outline color calculations
Michail Vourlakos ca80a7932f introduce LatteComponents to be consumed globally
--this is needed in order for indicators plugins in
the future to provide the same UI elements with the
rest of LatteView Settings windows
Michail Vourlakos 28d197484e fix warnings
Michail Vourlakos b89ef0e50b fix warnings fron new indicators architecture
Michail Vourlakos 8be388b893 improve vastly the indicators arch independence
Michail Vourlakos 4318404c9c fix warnings and improvements for Indicators
Michail Vourlakos 0d568c81d5 update indicators architecture to be independent
--first steps in order to support completely independent
indicators that can be downloaded/installed/used online
Michail Vourlakos 4460e3ed16 increase contrast for light outline
Michail Vourlakos e30ee3abba enable Blur for isBusy backgrounds
Michail Vourlakos 9afafcc7c2 disable panel shadows only when active maximized
Michail Vourlakos 067c0df044 draw panel shadows when isBusy after 40% opacity
Michail Vourlakos 10fbf41081 enable hover effect for Plasma Style
Michail Vourlakos 14e7eb1899 ui and interaction improvements
Michail Vourlakos 33c584cc08 Mouse wheel action for empty areas
--User can now choose for the panel empty areas
a sroll wheel behavior:
-Scroll Desktops
-Scroll Activities
-Scroll Tasks

BUG: 404266
Michail Vourlakos aaee132951 add outline width option in Preferences
Michail Vourlakos f3f6dccf65 support Outline option for compositing mode
--works much better than I was expecting and at the
same time it simplifies the PanelBox code a lot
Michail Vourlakos 3666ab42db position CustomBackground border correctly
Michail Vourlakos 661f3cad1b update panel backgrounds implementation
--there is now an always shown underlying layer that
provides full solidness for 100% panel transparency
--Colorizer.CustomBackground was updated in order to
support Borders drawing
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
Michail Vourlakos 104ee8581f add more information for indicators consumption
--currentIconSize/maxIconSize/windowsCount/
windowsMinimizedCount
Michail Vourlakos f50be9bc9d update Panel/Dock type detection
Michail Vourlakos 9d710297e1 catch up edit Visual animation to changes
Michail Vourlakos 8f4fafa2db fix warning
Michail Vourlakos d8f8737d05 add tooltip for editing background
--the user is informed about scroll wheel
and more specific that can alter the
edit background opacity
Michail Vourlakos f06e3415de restore mask calculaltions for noCompositingEdit
Michail Vourlakos 9a4a515a68 improve identification of inConfigureApplets mode
Michail Vourlakos b00598949d activate/disable independent animations
Michail Vourlakos 25b636465a split animations and make par.effect independent
Michail Vourlakos 01e60370b0 consider shadows for updating needed mask
--avoiding circumstances that the shadows are broken
because the mask is too small
Michail Vourlakos 7902bf8ce5 remove panel external margin
Michail Vourlakos 83d2ead0a0 support increase/decreaseLength for latte separator
Michail Vourlakos 8b46ecc92a support new Latte separator properly
Michail Vourlakos 37ea714fb3 fix applet positioning when dragged in editMode
Michail Vourlakos 218e8254a2 improve placement for SettingsOverlay tooltip
--place the SettingsOverlay tooltip under editMode
smarter in order to not break the parabolic
effect experience
Michail Vourlakos a2876a3b72 make edit mode popup plasma friendly
Michail Vourlakos d1340486bb improve margins options placement in settings
Michail Vourlakos faf38820d5 fix Blur Demonstration under editMode
Michail Vourlakos f1a34ce437 add hacks in config windows for inner shadow
Michail Vourlakos e1c964ea34 move external shadow under liblatte2