Commit Graph

489 Commits (b4a71bdbe38e623bbc48aa48f8db5894c698d5e7)

Author SHA1 Message Date
Michail Vourlakos df4df914ca introduce Indexer ContainerAbility 5 years ago
Michail Vourlakos a9c29916b0 improve catching signals for Container abilities 5 years ago
Michail Vourlakos 87ffc22f6a remove AppletsRecords container ability
--use the all new much better infrastructure
to track applet abilities requirements
5 years ago
Michail Vourlakos e3e4ee4c5a fantastico! full decoupled parabolic effect
--This is the first commit that demonstrates also
a beautiful and easy way to gain properties from
multiple applets that support specific activities
5 years ago
Michail Vourlakos cfd79ae713 fixes for ParabolicEffect Ability 5 years ago
Michail Vourlakos 44c7faba65 move zoomFactor,maxZoomFactor to ContainerAbility
--use nicer names such as parabolic.factor.zoom
and parabolic.factor.maxZoom
5 years ago
Michail Vourlakos 0bb838d90e fix triggering for contextMenuIsShown
--it should not be triggered in every view press
event but only when there is or not a context
menu any more
5 years ago
Michail Vourlakos a0e4f688e5 fix some previews issues 5 years ago
Michail Vourlakos 81abb0eb35 fix some parabolic effect glitches 5 years ago
Michail Vourlakos 7e1be6144a remove Parabolic::DirectRender timer functionality
--remove direct render timer which is not used any more.
5 years ago
Michail Vourlakos 140cc8cb73 smoothen up parabolic effect 5 years ago
Michail Vourlakos c9b7866662 HoveredIndex:Drop plasmoid implementation
--parabolic effect does not need hovered index
any more in order to work properly
5 years ago
Michail Vourlakos 63500ed524 HoveredIndex:Drop for containment
--a new implementation is needed which is going
to be simpler and lighter. Removing the current
implementation, parabolic effect works just fine
without issues and feels more responsive.
5 years ago
Michail Vourlakos 7b521634a8 restore properly multi-tasks parabolic effect
--update parabolic effect clear zoom functionanlity in order
to clear zoom properly
5 years ago
Michail Vourlakos 22f9bdd6a7 use Metrics Ability for screenEdgeMargin 5 years ago
Michail Vourlakos 4d1f5b2df0 deprecate root.screenEdgeMargin from containment 5 years ago
Michail Vourlakos 9be7822b98 upgrade to LatteApp.Interfaces containment access 5 years ago
Michail Vourlakos 6259c395de move lengthMargin(s) to Metrics ability 5 years ago
Michail Vourlakos dae35a12bb rename thicknessMargins to thicknessEdges
--which is more accurate an Edge can be the calculated
distance of margin+border+padding like css is also
describing
5 years ago
Michail Vourlakos c45e45138f rename Metrics padding.length 5 years ago
Michail Vourlakos 1c6fef6c12 move thickMargin(s) to Metrics Ability 5 years ago
Michail Vourlakos 583af39fba add metrics.margin.maxThickness 5 years ago
Michail Vourlakos e0d2991790 move fractions to MetricsPrivate 5 years ago
Michail Vourlakos 441fbdf635 plenty of improvements to position Latte panels
--used a video demonstrating multiple panels at the
bottom edge with padding between them
--max/minLength and offset are changed to float values
--max/minLength and offset can now be adjusted with
Ctrl+Wheel over their label in Appearance tab page. Clicking
the previous mentioned label will round the values
--introduce an autoSizeEnabled value in order to block
auto size mechanism when it becomes annoying. Such issue
appears more often to Latte panels
--block MenuZ from Latte icon heuristics
5 years ago
Michail Vourlakos 00127f28c0 Tasks:introduce Tasks.Dialog
--this is just a subclass of PlasmaQuick::Dialog
that provides "containsMouse" property
5 years ago
Michail Vourlakos 97e7c428b7 rename Ability.Container to Metrics
--major change but improves readability a lot
5 years ago
Michail Vourlakos 92a6319dac update applets windows tracking for AppletsRecords 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 03de9bb09f replace maxZoomFactor with innerZoomFactor
--innerZoomFactor is a way for applets to
request specific zoom factor at some cases
for example during some of their animations
5 years ago
Michail Vourlakos c9ec2bc957 rename minZoomFactor to animations.maxZoomFactor 5 years ago
Michail Vourlakos 7709e1514b simplify autosize container ability 5 years ago
Michail Vourlakos 368b4b8441 references improvements in container qml 5 years ago
Michail Vourlakos c43dd6d003 update root references to Abilities 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 790e0af406 add Containment.ThemeColorsGroup enum 5 years ago
Michail Vourlakos 1bc14b5d7a add Containment.ThemeColorsGroup 5 years ago
Michail Vourlakos 35d09789c9 add Containment.ShadowColorGroup qml enum 5 years ago
Michail Vourlakos 7ac648983f upgrade applet shadows variable for cotainment
--replace deprecated configuration.shadows with
configuration.appletShadowsEnabled
5 years ago
Michail Vourlakos 9c57f9db4b introduce AppTypes.MouseSensitivity 5 years ago
Michail Vourlakos a4e9b51b2b support LatteContaiment.ActiveWindowFilterGroup 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 214447b12f make AutoItemSizer an Ability called AutoSize 5 years ago
Michail Vourlakos 505f63b3ad update plasmoid Containment to Container 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 b69af88ebc refactor:move irrelevant WindowSystem properties
--irrelevant WindowSystem properties are now moved
to LatteCore.Environment that fit better semantically
5 years ago
Michail Vourlakos 5073939335 REFACTOR:split up and refactor liblatte2 and types
--use a more logical organization for types. LibLatte2
is split to become LatteCore library and Latte types
are now moved to application level. The Latte Types will
be split even more... Tasks-Only related types will
become Latte.Tasks types

BUG:420210
5 years ago
Michail Vourlakos 5fdcef81af TASKS:Migrate to multiple Tasks architecture
--First steps in order to support mulitple Tasks
applets in the same dock and panel.
--Step1: migrate values from Containment to Task
applet.
--Step2: deprecate Task applet options that are
found in containment
--Step3: provide multiple dynamic Tasks tabs in
settings
5 years ago
Michail Vourlakos 7f4ff70950 upgrader:Alignment instead of PanelPosition
--ContainmentQuickItem is now using alignment
in its configuration
5 years ago
Michail Vourlakos 0046c904d1 View:Move expanded applets code to View::Interface 5 years ago
Michail Vourlakos fa65462dea move View::deactivateApplets to extendedInterface 5 years ago
Michail Vourlakos c333e11cdb update applets expanded tracking on every startup
--even when the views is recreated
5 years ago
Michail Vourlakos 0625ad1423 fix edit visual style in !compositing 5 years ago
Michail Vourlakos ef41f17ef3 fix minimumLength for !compositing 5 years ago
Michail Vourlakos 6034073dd0 fix floating editMode for !compositing case 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 ecd39b4098 introduce minimum length option
--found also some fixes for mask calculations
in right or bottom alignment
5 years ago
Michail Vourlakos 1d8fe4541c Important:fix localGeometry calculations
--and add also new visual debug mode for
localGeometry calculations
5 years ago
Michail Vourlakos ef3a59e836 behaveAsPlasmaPanel for NOCOMPOSITING environment
--all views in NOCOMPOSITING environment should behave
as Plasma Panels in order to interact much better with
windows
5 years ago
Michail Vourlakos 5efa757146 fix Justify Splitter appearance at all cases
--introduce also some max/min values for applets
size for inConfigureAppletsMode state
5 years ago
Michail Vourlakos de1604bb71 improve bouncing animation speed for plasma 5.18 5 years ago
Michail Vourlakos bac31e450e plasma5.18:update animations speed 5 years ago
Michail Vourlakos b5233ddfe0 option for tasks to scroll and minimize them
--a new Wheel action is introduced to Tasks and
the user can now choose to disable wheel actions
only for tasks OR cycle through grouped tasks OR
upwards cycles trhough grouped tasks and downwards
minimizes them.

BUG:416096
5 years ago
Michail Vourlakos 77b66e85e0 option to close active window with mid click
--an option to close active window with middle
click from empty areas
5 years ago
Michail Vourlakos 5288aa6e38 protect floating views appearance
--floating views is a strange situation for which
plasma theme do not have any way to be protected for
their drawing (there is a chance that shadows and content
overlap). Latte in order to protect from that situation
now uses the auto-discovered plasma theme roundness to be used
in order to calculate the minimum thicknes for panel
background.
5 years ago
Michail Vourlakos a9d4f91c05 add inSlideAnimation flag for ViewPart::Positioner
--it can be used in order to enable/disable some codepaths
5 years ago
Michail Vourlakos aa00d6348b disable zoom labels in settings for !animatons 5 years ago
Michail Vourlakos 813b40e9ca fix glitch from editMode to real floating 5 years ago
Michail Vourlakos 1dc154f932 track inLocationAnimation of View:Positioner 5 years ago
Michail Vourlakos 4034ccfaf9 blockHiding in editMode based on edit animations
--it is safer to block/unblock view hiding based on
edit mode animations. This way any view hiding mechanisms
are applied only after the containment editMode has
really applied.
5 years ago
Michail Vourlakos 103de33c92 trying to implement real panels sliding in/ou 5 years ago
Michail Vourlakos 07a1065320 animate dynamic screen edge margin behavior
--when the view is NOT behavingAsPlasmaPanel then for
those cases we can animate the screenEdgeMargin
shrinking/expanding
5 years ago
Michail Vourlakos 5d65909adb fix binding loop from hideLengthScreenGap 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 6a95af5f8c option,always apply Fitt's Law for floating mode
-The use can specify to always apply Fitt's Law when
in floating mode
5 years ago
Michail Vourlakos 32f02c871e consider also thickMarginsEnabled for screenEdge
--if thickness margins are disabled then it must not
be applied any screen edge margin
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 8194ee94bc inform applets/indicators for screen edge margin
--fix geometries publishing, update margins calculations
5 years ago
Michail Vourlakos 0ebef42513 add screenEdgeMargin and update border accordingly 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 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 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 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 17621e0ffd check no panel shadows from windows states first 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 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 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 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 7fe42921a8 fix reference for ignoreRegularFileDragging 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 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 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 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 8a281bc3e8 update panel shadows for isBusy state 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 e25da5a668 update Containment Windows Tracking with screens
--new screens implementation for Latte screen
tracking
6 years ago
Michail Vourlakos 3c97bd222e track how many applets need windowsTracking 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 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 2aff2da949 identify drag enter in containment differently 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 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 be25a3b145 improve debug graphics mode visuals 6 years ago
Michail Vourlakos a27ff3ec48 REFACTOR:Update LayoutManager to Layouts::Manager
--create "layouts" own directory in order to host
all LAYOUTS management/control code and classes
6 years ago
Michail Vourlakos 29157f4636 refactor:rename managedLayout to layout/viewLayout 6 years ago
Michail Vourlakos 4092a98654 dont show hidden applets in liveEditMode 6 years ago
Michail Vourlakos d8c294aada compute better scrolling area thickness 6 years ago
Michail Vourlakos f572970a95 add option for Tasks scrolling 6 years ago
Michail Vourlakos 4b92a87c41 update fill(s) applets appropriately
--more specific when maxLength is changed
in editMode and !inconfigureAppletsMode
6 years ago
Michail Vourlakos 6710be3ae5 update plasmoid to support scrolling 6 years ago
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
6 years ago
Michail Vourlakos da3a60357a disable par.effect when animations are disabled 6 years ago
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
6 years ago
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
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 86c7e72abf add option to enable/disable active window dragging 6 years ago
Michail Vourlakos 243ece638c update editVisual transparency through emptyAreas 6 years ago
Michail Vourlakos fccbb64808 move LayoutsContainer in its own folder 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 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
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 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 1503dbe247 take into account indicator minimum paddings 6 years ago
Michail Vourlakos 1210e708c9 support automatic roundness to !compositing 6 years ago
Michail Vourlakos 834bb56194 provide panel transparency info to indicators 6 years ago
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
6 years ago
Michail Vourlakos 7c59929b28 fixes for shadows calculations 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 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 e30ee3abba enable Blur for isBusy backgrounds 6 years ago
Michail Vourlakos 9afafcc7c2 disable panel shadows only when active maximized 6 years ago
Michail Vourlakos 067c0df044 draw panel shadows when isBusy after 40% opacity 6 years ago