Commit Graph

422 Commits (a1904bf8490ec19338da9499bc784527c5293a94)

Author SHA1 Message Date
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 1c7eec05e3 send only screenEdgeMargin to applets/indicators
--screenEdgeMarginEnabled value is not really needed
to applets and indicators. Only the margin value
applied is of importance in order to place themselves
properly.
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 896afcc068 support screen edge margin for behaveAsPlasmaPanel 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 8194ee94bc inform applets/indicators for screen edge margin
--fix geometries publishing, update margins calculations
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 ac11a3a2d7 do not overlay applets when icon found !visible
--many applets are changing layouts and during that
process the main icon becomes invisile, in that case
the latte overlaied icon should also been disabled and
let applet paint itself accordingly

FIXED-IN:0.9.3
5 years ago
Michail Vourlakos f64f5107bb remove margins,!canbehovered applets in screen edges
--when an applet can not be hovered meaning to use
the parabolic effect and that applet is at the far
screen edge then margins can be disabled for this applet
in order to look exactly touching the screen edge
and at the same feel right following Fitt's Law
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 d8a32fa18a load an indicator for the view background
--this way the plasma android-style click can be
triggered for empty areas
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 edfd111d9a use only exter.margins for separators
--separators are only usings the external margins
between items. In the past it was also consider
the indicators internal padding. This is not
needed and it was creating too big empty
spaces with no real reason.
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 724a59eb23 add accelerated graphics checks all over the place
--when qml uses software rendering checks should be
added in order to not hide the visual elements. This
is taking place now in a more concrete way and checked
also that tasks with badges or not are still shown

BUG:411037
FIXED-IN:0.9.2
6 years ago
Michail Vourlakos 551edf01fb provide Progress information to indicators
--as a test case, the Plasma indicator now supports
the original plasma progress indicator of plasma
taskmanagers
6 years ago
Michail Vourlakos f449e22943 dont hide icons/applets for software rendering
--when qml software rendering is enabled the ShaderEffects
do not work. Hiding sources in that case is hiding
from the user tasks and applets with no visual feedback.
Sources in that case should hide themeselves and give
the user the minimum which is the original drawn contents.

BUG:410920
FIXED-IN:0.9.2
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 e578a1bee4 improvements for communicator API 6 years ago
Michail Vourlakos 30f3145f95 Introduce Flat and 3D style for Badges
--the user can now choose to enable or NOT 3D
style for all badges through Latte Global Preferences
window. By default the Flat style is preferred

BUG: 409467
6 years ago
Michail Vourlakos d7a6e76679 update considering par.effect disabled
--reconsider/fixes applets axis blocking for parabolic
effect when unblock it also when applets are updating
their properties. This takes place only when
applets zoom factor === 1 (in normal mode) otherwise
the parabolic effect may broke
6 years ago
Michail Vourlakos 39f7f3bb0e add maxZoomFactor in Applets::Communicator 6 years ago
Michail Vourlakos 08f3855292 add Communicator::lengthMarginsEnabled for applets
--applets can now inform Latte if they want length
margins or not
6 years ago
Michail Vourlakos 67e9bd610f fix typo for Communicator windowstracking 6 years ago
Michail Vourlakos 9a7788ab58 improve Communicator::version
--provide also a way for applets to identify
versions and make versions through
bridge.actions.version function
6 years ago
Michail Vourlakos 5265822fb1 update communicator windowsTrackingEnabled 6 years ago
Michail Vourlakos 3f88341bcb restore Fitt's Law for edge Applets
--when the Latte View is in Justify mode
and and an applet is touching the screen edge
then for that applet any margins from the
Screen edge should be removed. That way
the Fitt's Law is obeyed. What is going to
happen for the margins of these applets with
their neighbour applets will be considered
in the future.

BUG: 408412
6 years ago
Michail Vourlakos a191a1ce2a fix typo 6 years ago
Michail Vourlakos f75605d78d introduce Resources for Indicators 6 years ago
Michail Vourlakos 33962fa1fc expose some animations properties to Indicators
--animations enabled and durationTime exposed to
Indicators
6 years ago
Michail Vourlakos 3c97bd222e track how many applets need windowsTracking 6 years ago
Michail Vourlakos 53d24fe2c6 forward LastActiveWindow to QML 6 years ago
Michail Vourlakos 583b79314c improve tooltips identifier and checkCanBeHovered 6 years ago
Michail Vourlakos 9f50a49ce1 restore margins for applets at screen edges 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 ac6454892e fix type for vertical indicators 6 years ago
Michail Vourlakos 98fd21131e Revert "fixes for applets margins/indicators"
This reverts commit 99ff8c198e.
6 years ago
Michail Vourlakos 99ff8c198e fixes for applets margins/indicators 6 years ago
Michail Vourlakos d1fc95d934 dont follow Fitt's Law when not at the scredge 6 years ago
Michail Vourlakos 13cb58d54a improve badges borders colors 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 99ffe9d418 improvements for indicators 6 years ago
Michail Vourlakos b4e55e4e87 fix applets indicator size
--also dont count internalMargins
for isSeparator and isSpacer applets
6 years ago
Michail Vourlakos af65e8ab48 flexible Tasks page
--introduce android clicke animation for Plasma
style
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 30174bbb00 fix parabolic effect for vertical views 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 71c2036096 improvements for LiveEditing and Justify case 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 834bb56194 provide panel transparency info to indicators 6 years ago
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
6 years ago
Michail Vourlakos d4b2589d0c expose isPressed state to indicators 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 69bbb82841 improve icons colors names 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 7c59929b28 fixes for shadows calculations 6 years ago
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
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 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
6 years ago
Michail Vourlakos 28d197484e fix warnings 6 years ago
Michail Vourlakos b89ef0e50b fix warnings fron new indicators architecture 6 years ago
Michail Vourlakos 8be388b893 improve vastly the indicators arch independence 6 years ago
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
6 years ago
Michail Vourlakos 10fbf41081 enable hover effect for Plasma Style 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 104ee8581f add more information for indicators consumption
--currentIconSize/maxIconSize/windowsCount/
windowsMinimizedCount
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 218e8254a2 improve placement for SettingsOverlay tooltip
--place the SettingsOverlay tooltip under editMode
smarter in order to not break the parabolic
effect experience
6 years ago
Michail Vourlakos 05afe9e8d3 show title tooltips in liveEditMode 6 years ago
Michail Vourlakos 8a4f669ecf fix hovered masking for editMode when zoomed
--in the past applets could not be hovered when
in editmode
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 33363c241d Enable communication between Applets
--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.
6 years ago
Michail Vourlakos ff77bc3485 compute icon colors only for indicators requesting 6 years ago
Michail Vourlakos b1865e2634 hide indicator properly when task is removed 6 years ago
Michail Vourlakos 1965f7f9c0 move responsibility to separator to draw itself
-- metrics are now provided by the separator applet
and not from Latte
6 years ago
Michail Vourlakos f353363670 fix shadowing for separators 6 years ago
Michail Vourlakos c805963327 prepare for new latte separators 6 years ago
Michail Vourlakos c64df5a078 fixes for 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 98c20e4f83 adjust separators to new indicators design 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 3d7f5e7990 update Latte Indicator to new design 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 341ba05f88 use correct plasma style for 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 b15bd24218 refactor:move shortcutsEngine to its own class
--in that way all environment related shortcuts
management (e.g. plasma related shortcuts) is moved
in its own class
6 years ago
Michail Vourlakos 8e8b8e0c73 fix warnings 6 years ago
Michail Vourlakos 9cd851faea show only one Meta badge
--more fixes for globalshortcuts
6 years ago
Michail Vourlakos 66b2e4bd9c fixes and improvements for globalshortcuts 6 years ago
Michail Vourlakos fef791d8e1 improve names for globalshortcuts qml calls 6 years ago
Michail Vourlakos f31df4ee71 show plasma shortcuts for applets
--when shortcuts badges are shown then the
plasma assigned shortcuts are preferred to
be presented to the user
6 years ago
Michail Vourlakos 58d8208704 fix binding loops for ShortcutBadges 6 years ago
Michail Vourlakos f6d2e8c8f8 add 24px minimum height for ShortcutBadges 6 years ago
Michail Vourlakos 3bfa313cbb fix crash when showing shortcut badges
BUG: 403647
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