Commit Graph

812 Commits (41a861cd0f2737906bf805c06a896a9bbae8b599)

Author SHA1 Message Date
Michail Vourlakos 484741558e add comments 5 years ago
Michail Vourlakos 2493971f03 improve atScreenEdge code 5 years ago
Michail Vourlakos 747d4870a0 introduce AutomaticItemSizer and add protector
--the automatic item sizer algorithm now is present
in its own class/responsibility area. As a new
improvement/fix the new implementation provides also
a protector/tracker that when the current prediction
to grow has already be applied two steps back in
history then the growing is not applied. This way
endless loops with growings and shrinks are blocked.

BUG:414180
FIXED-IN:0.9.5
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
Adrien Brunelat a21f46d85f
[414174] - Panel background transition color bug
Summary:
Added animation on background color change.
Removed test for background color that is not needed any more.

BUG:414174
FIXED-IN:0.9.5

Reviewers: mvourlakos

Reviewed By: mvourlakos

Subscribers: ognarb, plasma-devel

Tags: #plasma

Differential Revision: https://phabricator.kde.org/D25392
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 63ed290593 improve option "Hide Background when not needed"
--when option "Hide Background when not needed" is
used on its own activates or not the forceTransparentPanel
code path. So when that option is enabled and any
window is touching the Latte::View then the force
transparency codepath should be disabled. In such
case the user background settings are applied.

BUG:414071
FIXED-IN:0.9.5
5 years ago
Michail Vourlakos c2a1c20d92 expose colorScheme to lastActiveWindow(s)
--applets can now use the color scheme from lastActiveWindow
objects in order to paint some of their elements
5 years ago
Michail Vourlakos b9d82fe0f1 improvements for automatic icon size code path
--this patch add two fixes concerning automatic
icon size when contents exceed the view maximum
length.
--A) when the function is called then it also
called one more time after 1sec to confirm that
the icon size found is valid. In the past that
approach was creating an endless loop that should
not be triggered any more
--B) the grow limit was made to be equal with
the shrink limit trying to be more predictive from
the user when the items will grow or shrink. In
the future we must take care of this if the items
grow or shrink endlessly

BUG:411860
FIXED-IN:0.9.3
5 years ago
Michail Vourlakos eb564fdc7d use automatic icon size for behaveAsPlasmaPanel
--this way the panel can be shrinked because it
exceeds screen boundaries even when view is used
as a plasma panel
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 a385f49aea dont draw outline for plasma popups
--when the user of course has chosen the plasma
experience for applets popups
6 years ago
Michail Vourlakos 17621e0ffd check no panel shadows from windows states first 6 years ago
Michail Vourlakos cef15c3adc forceSolidness higher priority from busy background 6 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 2866b6a3aa plasma theme colors for !accelerated graphics
--fix also how accelerated graphics are identified
by using GraphicsInfo api
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 153f5dab27 remove obsolete draggingStarted signals/slots
--draggingStarted signals/slots were used in order
to handle the active window dragging from empty areas.
The new approach ungrabs the mouse properly through
View relevant function and at the same time sends a
QEvent::Leave event to inform applets that the mouse
has left the view. This is enough in order to remove
any older draggingStarted workarounds and hacks.
6 years ago
Yuri Chornoivan 15ab253efd Fix minor EBN issues 6 years ago
Michail Vourlakos 3fb0206243 reverse scrolling for vds/activities switching
--Latte should use the same workflow paradigm for
switching vds and activities with the plasma pager
approach. This commit complies with this.

BUG:411086
FIXED-IN:0.9.2
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 8058778a93 initialy support only one case for busyVerticals 6 years ago
Michail Vourlakos 92a4fb054e improve smartness for Unity case layout
--when a vertical view is in busy state and is touching
also a horizontal view that is fully transparent in
SMART mode then the visual result is not that good.
In that case it is better to show the view background.
The horizontal view background in that case can provide
three different states:
a) if the panel style for popups is activated then the
horizontal view will follow the plasma original style
b) if NOT [a] and solid background for touching windows
is enabled then solid background will be offered
c) if NOT [a] and NOT [b] then the isBusy state
transparency will be offered
6 years ago
Michail Vourlakos cad13372d6 support touching horizontal view and isbusy
--trying to increase smartness for horizontal
and vertical views. In multiple layouts environment
a view can exist in cases that one or more of
the sided views that is touching it is NOT
transparent, it would be nice for those
cases the top or bottom  view to LOSE also
its transparency in order to not look
inconsistent.
6 years ago
Michail Vourlakos e684924d7c improve more the isBusy background case
--the new implementation supports and always darkish
case when the isBusy background is drawn. So now
we have the following possibilities:
a)panel transparency<35 means BEST contrast with
underlying desktop background
b)panel transparency>=35 AND <70 means a DARKISH
background
c)panel transparency>=70 the user chosen plasma
theme
6 years ago
Michail Vourlakos bab3e9126e fix published absolute geometry in !compositing
--absolute geometry is the published area that the
dock/panel occupies when it is shown. So it should
not change when the dock becomes hidden. This patch
fixes the case for the !compositing environment.
6 years ago
Michail Vourlakos 7644e67b35 update absolute geometry in !compositing slide-in 6 years ago
Michail Vourlakos 4501cb6eec fix "Disabled KWin edges" for !compositing
BUG:410370
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 7fe42921a8 fix reference for ignoreRegularFileDragging 6 years ago
Michail Vourlakos e578a1bee4 improvements for communicator API 6 years ago
Michail Vourlakos 0cd1d702bb block view hiding when suddenly contains mouse 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 804d3d4d73 ignore regular files/links dragging in Normal mode 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 03569f660d fix effects area for behaveAsPlasmaPanel
--in case the maxLength is below 100%
6 years ago
Michail Vourlakos 67e9bd610f fix typo for Communicator windowstracking 6 years ago
Michail Vourlakos 1f1188bfc8 improve painting between different backgrounds
BUG: 409062
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 df9394ddd6 option for prominent color of Notification Badges
--The user from Tasks,Badges can choose a more prominent
color for notification badges (usually reddish). In case
the user has not enabled that option(default) then the plasma
theme highlight color is used which is also the default
option of Latte v0.8

BUG: 408955
6 years ago
Michail Vourlakos 9c0e3f2992 do not trigger mask from invalid drags
--DragDropArea in containment should not activate
mask update (animationsNeedLength) if the dragging
is not valid for that DragDropArea. A good example
for this is when the user drags Tasks, in such case
the DragEnter signal is ignored and the DragLeave
may not reach to containment. In such case the
animationsNeedLength signal should NOT be sent

BUG: 408926
6 years ago
Michail Vourlakos 64589345ff update fills applets in LiveEditingMode 6 years ago
Michail Vourlakos b7cf5dbb62 avoid glitch from panel shadow 6 years ago
Michail Vourlakos 2396ffbe19 rethink isBusy state panel shadow
--panel shadows in ISBUSY state are applied
when BLUR is enabled and backgroundopacity>0 OR
BLUR is NOT enabled and backgroundopacity>20
6 years ago
Michail Vourlakos 1b0de4f312 improve calculations for view mask and shadows
--improve how applet shadows are considered in order
to increase or decrease the view mask based on how
big or not are the applets shadows
6 years ago
Michail Vourlakos 91a9e7c0c5 improvements for effects area and painting 6 years ago
Michail Vourlakos 8a281bc3e8 update panel shadows for isBusy state 6 years ago
Michail Vourlakos fd9025f632 adjust panel transparency according to theme level
--Latte now identifies what is the maximum transparency
provided by a plasma theme and uses that information
in order to provide full solidness if needed by the
Background Opacity option (meaning 100% should be totally
solid)
6 years ago
Michail Vourlakos 98587d11d4 make Latte panel background painting more important
--I reversed the logic meaning that the Latte panel
background painting in more important than the Plasma
original SVG painting. That way the animations between
panels painting become smoother with no glitches

BUG: 408552
6 years ago
Michail Vourlakos 1051372e04 expose to qml builtin activity/vds switching
--tested that this fixes also the Latte crash
on exit as PagerModel is not used any more in
Latte internal code
6 years ago
Michail Vourlakos 0b6c07a1e5 support Active Window Filtering
--Latte can now use the new multi-screen
Last Active Window infrastructur to choose
which Active Window is preferred, only from
current screen OR from all screens
6 years ago
Michail Vourlakos 35752bbc2f proceed with implementation of LastActiveWindow 6 years ago
Michail Vourlakos e25da5a668 update Containment Windows Tracking with screens
--new screens implementation for Latte screen
tracking
6 years ago
Michail Vourlakos 96c081e076 remove View from TrackedGeneralInfo 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 c0e3004717 add LastActiveWindow debug records
--in DebugWindow
6 years ago
Michail Vourlakos c05204ab7b enable windows tracking for draggingActiveWindow
BUG: 408266
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 62b8aa6987 improve animationSenting fro DragDropArea 6 years ago
Michail Vourlakos f3eacf169e add actions for LastActiveWindow 6 years ago
Michail Vourlakos 342d4a1a00 move window funcionality to lastactivewindow 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 50ddf87d4d improve margins for ruler only under editMode
--this way the mask under Normal mode is more
accurate
6 years ago
Michail Vourlakos 9f50a49ce1 restore margins for applets at screen edges 6 years ago
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.
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 58f99c0c55 simplify tooltips texts in ConfigOverlay 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 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
6 years ago
Michail Vourlakos 4dd93f3ba8 animate dragging applets only on ViewParallelAxis 6 years ago
Michail Vourlakos 2aff2da949 identify drag enter in containment differently 6 years ago
Michail Vourlakos b237f6efa3 improve a bit the dragging Timer 6 years ago
Michail Vourlakos 7ffe7d436d introduce plasmoid:TasksExtendedManager
--All the Tasks WORKSAROUNDS for libtaskmanager
limitation in one place
6 years ago
Michail Vourlakos cfc9143632 respect Add launchers only in Tasks area 6 years ago
Michail Vourlakos 86e645c720 position properly dropped applets and urls in view 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 8ccdd2e719 improve Tasks adding launchers responsiveness 6 years ago
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.
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