Commit Graph

588 Commits (0aedefd959b4941347d224a5ddac7f81e726351c)

Author SHA1 Message Date
Michail Vourlakos 60aa17dada fix missing header 4 years ago
Michail Vourlakos ba9233684e view:separate parabolic c++ code from view
--The parabolic effect c++ part of View now
leaves in its own class
4 years ago
Michail Vourlakos b5ceb4d91a tasksparabolic:use view triggering values 4 years ago
Michail Vourlakos 259f04f7c9 view:forward ParabolicEnter from c++ 4 years ago
Michail Vourlakos 17865ee21a task parabolic more fixes for its implementation 4 years ago
Michail Vourlakos dcde80e6ed view::use a timer to nulify currentParabolicItem 4 years ago
Michail Vourlakos a1ec6de412 tasks:make parabolic effect fixes 4 years ago
Michail Vourlakos 345d2823f6 simplify parabolic criteria in view 4 years ago
Michail Vourlakos ae9836ccba first iteration for new parabolic 4 years ago
Michail Vourlakos bc5ba50147 refactor:plenty of fixes for masks/input events
--use only input events in order to identify the area
from which a window accepts input and also remove almost
every mask-qml code handling
--by reducing mask usage to minimum we fix also the
BLACKLINE bug under X11
4 years ago
Michail Vourlakos ba94315ecb REFACTOR:input events and mask area
-- The new approach reduces mask area calls to
barely minimum. Input mask is used instead to
specify the area for which we accept input.
-- The new approach solves also the BLACKLINE issue
when hovering the view at startup. This is because
at all times the full window area is drawn.
4 years ago
Michail Vourlakos 4bf562c17b remove unneeded line 4 years ago
Michail Vourlakos 0c153de58f sinkedevents:optimize calculations 4 years ago
Michail Vourlakos 167a19b748 sinked events:respect Fitts Law 4 years ago
Michail Vourlakos 259d183179 dont be so verbose for sinked events
--so debug messages only for pressed sinked event
4 years ago
Michail Vourlakos 74d9065f1f change applets margins/paddings approach 4 years ago
Michail Vourlakos 96fd421e9f sinked events:various fixes
--disable sinked events when parabolic effect is
enabled. It needs to be rethought how this could work
properly with parabolic effect.
4 years ago
Michail Vourlakos 746f32050d adjust mouse events relevant to view paddings 4 years ago
Michail Vourlakos b06e164f53 expose view padding through qml 4 years ago
Michail Vourlakos 2deed2d10c visibilitymanager use effects to hide/show mask 4 years ago
Michail Vourlakos c7d11c443e fix hiding of panels with mask technique 4 years ago
Michail Vourlakos 043c65e36c remove irrelevant line 4 years ago
Michail Vourlakos d610cd3419 wayland:dont show/hide views totally, use mask
--use mask to achieve this in order to not have to
handle wayland weirdness with surfaces and reattached
properties
4 years ago
Michail Vourlakos 5e50147848 fixes for dock settings window
--do not alter maxlength and offset incorrectly
when cycling between different views with different
relevant settings
4 years ago
Michail Vourlakos eb627dd070 multiple mode:animate properly layouts unloading 4 years ago
Michail Vourlakos d5e83280d2 refactor:simplify layout data access 4 years ago
Michail Vourlakos 419886b2ea identify dock changing layout in same visible area 4 years ago
Michail Vourlakos c7d163fdb6 plenty of fixes for multiple layouts 4 years ago
Michail Vourlakos 42dedca86f fixes for multiple layouts new approach 4 years ago
Michail Vourlakos 3689cc406d retrieve available screen space through activityid 4 years ago
Michail Vourlakos 2e120f9446 make Multiple mode work correctly 4 years ago
Michail Vourlakos caf9bf7b78 REFACTOR:Drop Shared Layouts infrastructure
--Move in a simpler layouts approach.
--Single Layout mode loads ONLY ONE Layout for ALL Activities
--Multiple Layouts mode loads any combination of Layouts based
on the following settings:
  -- OnAllActivities
  -- ForFreeActivities
  -- SpecificActivities
4 years ago
Michail Vourlakos 1142950f69 provide effect/masks regions for custom backgrounds
--PlasmaExtended::Theme produces QRegions based on corners
radius that can be consumed afterwards from Effects calculations
in order to provide correct QRegions for custom backgrounds
produced from custom background radius option
5 years ago
Michail Vourlakos bd16a0da69 provide self-calculated theme corners mask 5 years ago
Michail Vourlakos 343c1e632a provide consistent slots naming
--onSomethingChanged syntax is preferred for all
slots that are triggered from somethingChanged signals
--doThis syntax is preferred for generic slots that
are triggered from various different codepaths
5 years ago
Michail Vourlakos 3de29ece9b drop subContaiment functions from genericlayout
--responsibility is now at Layouts::Storage singleton
class
5 years ago
Michail Vourlakos 5d7ea7c9c7 fix crash at primary config when switching layouts
--fix crash at primary config when switching layouts
--load on demand view type options at vertical latte
views as memory improvement
5 years ago
Michail Vourlakos e323f31645 use universal inAdvancedMode for edit settings
--for all view edit windows are now using the same
flag in order to identify basic and advanced level
for editing their settings
5 years ago
Michail Vourlakos 0bcc45e633 use KWin slideouts when switching layouts 5 years ago
Michail Vourlakos b808fa2559 reduce minimum hide timer interval to zero 5 years ago
Michail Vourlakos 7e4791fdbc fixes for hiding/showing signaling 5 years ago
Michail Vourlakos 8c1d0d34e5 rename internal containments to subcontainments
--applets that act as internal containments are now called
subcontainments because they are containments inside
main containments
5 years ago
Michail Vourlakos c3e430e356 fix crash when unloading layouts
--when unloading layouts applets are deleted
and subsequently all the heuristics for identifying
expanded applets are removed. In such case
there were rare cases that applet()->id() was
trying to be accessed and that was subsequently
creating crashes because applet did not exist
anymore. AppletQuickItems probably are deleted
after applet has already been destroyed.
5 years ago
Michail Vourlakos c64354c048 update CustomIndicator button onParentView change 5 years ago
Michail Vourlakos 45d09b2cd4 editdock:support indicatorsuimanager
--the new approach is much more memory efficient
as the same indicator config ui is used for ALL
views and anything related to config uis is now
handled by the manager instead of each diffent
view on its own
5 years ago
Michail Vourlakos 582de7afe3 each view now keeps one indicator configui
--curent view indicator config ui is not deleted
when the PrimaryConfigView changes its parent view.
For each view there is one indicator config ui
that is kept available to be shown when appropriate.
This way we avoid unnecessary recreations of indicator
config uis when the user cycles between different views
settings.
5 years ago
Michail Vourlakos a3250cf7ca fixed for View::inEditMode flags
--inEditMode is now updated directly from
containment()->inUserConfiguring()
--add again hiding blockers when View gets
into edit mode. That was lost during last commits
because it was part of Visual qml code that
has been moved to another window.
5 years ago
Michail Vourlakos 6cb97068c2 SidebarAutoHide support floating gap contains mouse
--floating gap window is now activated independently of
kwin edges supports and only when really needed.
SidebarAutoHide visibility mode has been adjusted in order
to work nicely with floating gap window helper
5 years ago
Michail Vourlakos 0d02a92733 increase hide timer specific SidebarAutoHide msecs
--when the user has triggered its showing. It must be
given enough time for the user to observed the sidebar
contents before checking out if the sidebar must hide.
5 years ago
Michail Vourlakos 01a17ea9ba visibility:update hide timer interval handling
--hide timer now has a default/user set value but
it can also become with different intervals if
specific codepaths require it.
5 years ago
Michail Vourlakos 3b3388d673 rename SideBar to SidebarOnDemand
--improve semantics all over the place now
that we provide two different sidebar
visibility modes
5 years ago
Michail Vourlakos 0784c0dacd improve View isFloatingPanel semantics 5 years ago
Martijn Vogelaar 2e4f7da4c2 Introduction and implementation of the SidebarAutohide
as discussed in #19.
5 years ago
Michail Vourlakos e00ec530c9 update primary config advanced mode properly
--each View has its own advanced level identification.
5 years ago
Michail Vourlakos 5e78a0a3c7 provide all background corners option
--provide an option to force showing of all background
corners
5 years ago
Michail Vourlakos af37c31f36 support theme length paddings
--update layouter, background and layoutscontainer
in order to take into account the background length
paddings
5 years ago
Michail Vourlakos 22acd85d9c struts calculations at screen_edge coordinates
--as it appears in wayland the struts calculations must be
applied for exact screen_edge coordinates and use only the
view shown thickness. During the process floating panels
struts were not accurate at all cases and as such they
were fixed also for x11.
5 years ago
Michail Vourlakos 6de05c92e8 support XCP::SHAPE for Views
--views can now specify their input area under X11 and
give valuable space to underlying windows
5 years ago
Michail Vourlakos cf1cb1ca8e always now Views when needed
--when View::Visibility::mustBeShown signal is
triggered then the Views should always be shown
even when KWin has hide it with no real reason
--force appling activities to ALL View related windows
when changing current Activity. This way we make
sure that when KWin makes faulty assignments,
Latte is coming to the rescue.
5 years ago
Michail Vourlakos 81bc74f49d dont recreate view unnecessary
--FrameExtents are working fine with margins 0,0,0,0
and Plasma 5.19.3
5 years ago
Michail Vourlakos 79d95371d7 fix #9,panel/dock buttons
--fix panel/dock mode buttons from configuration
windows.
5 years ago
Michail Vourlakos e4437b7f66 abilities:introduce UserRequests 5 years ago
Michail Vourlakos 02e1e87d59 smoothen anim for hide length screen gaps 5 years ago
Michail Vourlakos ca0e065441 improvements for calculations 5 years ago
Michail Vourlakos ff01f266e4 fix panels positioning when sliding out 5 years ago
Michail Vourlakos 0b8fa321bc dont crash when panels change location 5 years ago
Michail Vourlakos ea7940dffe hide length screen gaps after slide in 5 years ago
Michail Vourlakos 1698afc2e8 add missing header 5 years ago
Michail Vourlakos ac996f1721 fixes for View:layout activities windows updates 5 years ago
Michail Vourlakos a0a2c4b265 fix binding loops 5 years ago
Michail Vourlakos 19eb9f9ff5 fix edge margin adjustment 5 years ago
Michail Vourlakos 166ee1899a multiple fixes to PrimaryConfig geom calcs
--provide also instant layout switching when
View changes a layout between central and shared
layout in the same view port
5 years ago
Michail Vourlakos d30143f7f1 update only when needed PrimaryCV availScreenGeom 5 years ago
Michail Vourlakos 6a4aeb16f0 fix Canvas context menu issues
--fix a crash when using left click in Canvas window
--fix blocking View when switching for editMode to
inConfigureApplets mode and vice versa
5 years ago
Michail Vourlakos a4445a3e9a provide context menu for Canvas config window 5 years ago
Michail Vourlakos 7084953672 wayland:fix multi-config views behavior 5 years ago
Michail Vourlakos f7e89a6d6e update some config views wayland code 5 years ago
Michail Vourlakos 2b7d663950 wayland:fix view config windows positioning 5 years ago
Michail Vourlakos c2df25649e update Canvas geometry when editThickness altered 5 years ago
Michail Vourlakos 673882f966 provide live editing for !compositing 5 years ago
Michail Vourlakos 334a40fff1 improve View config windows focusOut codepath 5 years ago
Michail Vourlakos 1740c0be91 orchestrate View config windows showing properly 5 years ago
Michail Vourlakos ba87b3b32b remove View config windows deprecated code 5 years ago
Michail Vourlakos ed226761f9 fix crash from reloading View sources 5 years ago
Michail Vourlakos b22a184337 improve positioning for primary/secconfigviews 5 years ago
Michail Vourlakos 2b06debfa4 draw Canvas on top of surrounding panels docks 5 years ago
Michail Vourlakos a51eb8578e support most of CanvasConfigView functionality
--move the relevant qml files from containment into
shell configuration files
5 years ago
Michail Vourlakos e74e013f43 provide CanvasGeometry from View::Positioner
--View::Positioner is now responsible to provide
the proper Canvas config window geometry
5 years ago
Michail Vourlakos fa83db7825 provide consistent Canvas SubConfigWindow behavior
--CanvasSubConfigWindow is now ready to provide the
same Header editing controls and behavior that previous
implementation was already doing so
5 years ago
Michail Vourlakos b5df821eb2 introduce new Canvas subconfig view window 5 years ago
Michail Vourlakos bf2c7ebbd9 expose Colorizer to itw own View c++ class 5 years ago
Michail Vourlakos 7fd56aebfb compute editThickness in View c++ level 5 years ago
Michail Vourlakos 37248789f6 improvements to view config windows abstraction 5 years ago
Michail Vourlakos 5cba3c3259 upgrade PrimaryConfigView at SubConfigView base 5 years ago
Michail Vourlakos 7aee0fbca1 upgrade secconfigview to subconfigview class 5 years ago
Michail Vourlakos 622acc27b9 introduce View:SubConfig base view 5 years ago
Michail Vourlakos 03dca23ce6 improve semantics for primary config view 5 years ago
Michail Vourlakos 91449e06f0 remove option delete hidden config windows
--it is not needed any more because config windows
are now using a singleton design in order to be
created only one time.

BUG:423268
5 years ago
Michail Vourlakos 6652cb9a15 update indicators to primary config singleton 5 years ago
Michail Vourlakos fcde318d7a hide view config windows in layout switching 5 years ago
Michail Vourlakos 7906c8788a update primary config window to isReady 5 years ago
Michail Vourlakos ca87504535 fix crash 5 years ago
Michail Vourlakos 038b649804 delete PrimConfigView only on app exit 5 years ago
Michail Vourlakos e6ab9385d8 fix crash when destoying config window 5 years ago
Michail Vourlakos dea32cb37a update SecConfigView to new design
--SecConfigView is created only once and
use afterwards for all Views
5 years ago
Michail Vourlakos 75d14b4af8 apply activities to config windows when shown 5 years ago
Michail Vourlakos d01d1f60a4 use primary config single instance for all views 5 years ago
Michail Vourlakos 5c22b8f8ed update View:: config views creators 5 years ago
Michail Vourlakos 6c2dcfbab8 drop Plasma::ConfigView for View primary window
--this is a step forward in order for all Views to
use the same Config Windows which is more memory
efficient.
5 years ago
Michail Vourlakos e1c38213b9 introduce viewsettingsfactory
--is going to be responsible to hold only
one instance of view config windows
5 years ago
Michail Vourlakos 5bd1fe955d dont initialize global launchers group from config 5 years ago
Michail Vourlakos e6e68d86c3 update FrameExtends for View::typeChanged
--during startup a panel type may become a dock type
and vice versa. We make sure that frameExtents
are updated accordingly when that happens.
5 years ago
Michail Vourlakos edb943db6b fixes for spacers and positioning of behaveAsPanel
--fix positioning for Right/Bottom alignments when
View behavesAsPlasmaPanel
5 years ago
Michail Vourlakos 84a5eecf79 update struts in Single layout mode earlier 5 years ago
Michail Vourlakos 631837e199 Tasks fixes for disableAllWindowsFunctionality 5 years ago
Michail Vourlakos fa4ffbf521 use PositionShortuts Ability for activate/new 5 years ago
Michail Vourlakos dc78257962 improvement for Container::OnPositionShortcuts
--bind On Position Shortcuts Container ability
with View::ExtendedContainmentInterface implementation
5 years ago
Michail Vourlakos f32937ca6d first commit for multi on position shortcuts 5 years ago
Michail Vourlakos cb368c504d drop old Tasks identification code paths 5 years ago
Michail Vourlakos 3cadc32fc4 improvements for Tasks applets usage 5 years ago
Michail Vourlakos 2fae4a87ba ContainmentInt is now resposible for all Tasks 5 years ago
Michail Vourlakos 99db4d54f2 support plasma tasks model for tracking 5 years ago
Michail Vourlakos 76781094af rename ExtInterface::model to LatteTasksModel 5 years ago
Michail Vourlakos fe4704e355 block par.effect for applet popups 5 years ago
Michail Vourlakos b264854a98 Dodge visibility mode now ignores edge touches
--The new implementation for snapping needed to remove
the touching view edge from touching algorithm. The
windows trakers now provide two separate values for each
touching.
----First value is for regular window touches for which
their window geometry intersects with view published
absoluteGeometry
----Second value is for windows that are touching
view edge without intersecting with view geometry
5 years ago
Michail Vourlakos b4de1e3cad update Positioner::syncGeometry in specific case
--when a behaveAsPlasmaPanel is sliding-in and View
is in editMode, it is a good idea to calle
Positioner::syncGeometry() in order to validate
the View window geometry in edit mode. The problematic
case example was a right SideBar Panel that when
was hidden and the user was using Meta+A to
show its settings, the View did not change its
geometry properly in the end.
5 years ago
Michail Vourlakos 236dd2c3b9 update frameExtents for View::locationChanged 5 years ago
Michail Vourlakos 6f3367225d new Effects API for config windows subtract region 5 years ago
Michail Vourlakos 741eedfc3c improve Primary Config view syncGeometry
--fix also a crash when updateInlineProperties
was called
5 years ago
Michail Vourlakos 614bb7014f new Effects API for mask United/Subtracted regions
--View::Effects now provides in API in order for
elements to publish regions that need to be added
or removed from View::mask(). A good example for this
is View Config windows that must remove a rectangle
for their bottom edge in order for users to have
fully access to their action buttons at the bottom.
5 years ago
Michail Vourlakos 54ea58c215 remove deprecated Effects subtracted implementatio 5 years ago
Michail Vourlakos 46760a04de cycle properly config views with Meta+A 5 years ago
Michail Vourlakos d6fc66a7a3 user option for hiddenConfigWindowsAreDeleted
--when hidden configuration windows are deleted memory
consumption is improved and provides much lower values
--when hidden configuration windows are not deleted
memory consumption increases but their responsiveness
for hiding/showing is instantly
5 years ago
Michail Vourlakos 1dcf799d42 a way to not delete hidden config windows 5 years ago
Michail Vourlakos 66f8cce6d9 introduce Layouter Debug mode
--really handy and beautiful in order to confirm the
calculations that are valid. Already a bug was found
for ParabolicEffect. There is 1px difference between
hovering Tasks and Applets
5 years ago
Michail Vourlakos afb4279e09 fix View::Settings::updateEffects() area
--update effects area should be consistent with
settings dialog backgroud. Currently that has
changed to more apporpriate "dialogs/background"
5 years ago
Michail Vourlakos 3ad89c10a4 fix crash from indicator config ui creation 5 years ago
Michail Vourlakos ec949948b6 fix View recraetion and frameExtents freezes
--View recreation path was broken from new implementation
for Latte::Interfaces that pass objects to containment
interface. This is now fixed and Interfaces::View object is updated
and broadcasted correctly when changed
--when GtkFrameExtents are zeroed for behaveAsPlasmaPanels
then it is better to recreate the view to avoid freezes and
hidings of the view because of compositor strange behavior
5 years ago
Michail Vourlakos b6183c526c update frameExtents at View::forcedWorkaroundShown 5 years ago
Michail Vourlakos a91f6a8a8e make Effects updateEffect(),GtkFrameExtents aware 5 years ago
Michail Vourlakos e16ca1f87b release indicator config ui when window closes 5 years ago
Michail Vourlakos 381675ac57 reduce kconfig.sync() calls
--improves startup times in some cases because
it does not write to disk that often.
5 years ago
Michail Vourlakos e83f7e551e redraw panel shadows after !visible workarounds
--use a single slot when View triggers its workarounds
for the kwin issue that kwin hides panels when an activity
stops. In such case the view shadows are also redrawn.
5 years ago
Michail Vourlakos 7f2dc14880 fix Blur calculations during workaround
--there are cases that the Blurred area svg returns
a NULL mask() even though it should not. In such
cases the workaround takes place and for the workaround
the calculations have already taken place and we
do not need to reapply them because in that case
the blurred area moves out of the window.
5 years ago
Michail Vourlakos 114828ad88 reduce GtkFrameExtents calls/triggers 5 years ago
Michail Vourlakos 3e17f718ee dont block hiding for #debugwindow#(s) 5 years ago
Michail Vourlakos 8b32be15b9 support GtkFrameExtents under X11
--this way to dock windows can now snap beautifully
with windows around them, very beautiful behavior!
That was pretty annoying in the past.
5 years ago
Michail Vourlakos 4501c940f1 fix hide screen gap animation for behaveAsPanels 5 years ago
Michail Vourlakos dd4e4fb79d rename all Background.MultiLayer values
--much better and understandable names are now used
5 years ago
Michail Vourlakos 1e144fc3e7 solution for Unity style layouts top view shadow
--when a vertical view that acts as a unity-style one
is activated, it sends a signal to top view to update
their visibility in order to stay on top
5 years ago