Commit Graph

97 Commits (909538369f895262736b158e19badee93f108ecd)

Author SHA1 Message Date
Michail Vourlakos 70e3c2bb7a expose dockview local geometry to qml 8 years ago
Michail Vourlakos b8ce37d4c3 fix #198,recreate windows when it is needed
--in order for a dock to be above KeepAbove
windows must contain flag BypassWindowManagerHint.
Unfortunately this flag breaks the experience with
AlwaysVisible state especially the struts and
snapping behavior. This patch recreates a
dockView when a mode is changed and an
update for the flags is needed.
--at the same time move the localGeometry to
dockView in order to trigger properly the
updateAbsGeometry when it is needed, on
window's geometry changes not only when there
is local geometry change
--when a dock is created through corona, the
addDock function reads the mode which is going
to be used and specifys this way the flags that
have to be set during docks creation
8 years ago
Michail Vourlakos 329ba8b6ff fix #126, improve behavior for auto positioning
--support also an edge case where a top and left dock
overlap each other but there is also a free space in them.
This case hasnt been taken into account into the previous
implementation
8 years ago
Michail Vourlakos f3dbd30ec1 signals to update free area
--more specific when the normalThickness or
shadow size are changed
8 years ago
Michail Vourlakos b2b4517ba8 fix crash from quit of configuration window 8 years ago
Michail Vourlakos 70c83d8b83 support blur/background contrast effects
--support these effects for docks that draw
their shadows externally with the window
server
8 years ago
Michail Vourlakos 2a8bd25e0e compute availableScreenRect only once
--this commit reduces into half the calculations
needed from the vertical docks in order to position
themselves based on horizontal docks. More specific
it makes the QRegion calculations only once for
each dock instead of two times
8 years ago
Michail Vourlakos 0b2bebfbd8 protect dock removal in some cases
--forbid removal of the last running dock with
tasks in it
--forbid removal of the last tasks plasmoid from
running docks
8 years ago
Michail Vourlakos 0f7df07ef1 remove no return error 8 years ago
Michail Vourlakos 6010638094 support overlap dock cases by using free space
--this commit uses free region from corona instead
of free rectangle in order to calculate size and
positioning for the docks. This way is possible to
be positioned more intelligently.
8 years ago
Michail Vourlakos d2e8dd7881 fix #218,reenable garbage collect and trim cache
--the clear component cache was disabled because on
exit it creates crashes when 2 and more docks are
running
8 years ago
Michail Vourlakos c510c74cc5 fix #214, comment new multi-screen behavior
--refer to last 6-7 commits that contain this new
multi-screen behavior
--the new multi-screen behavior becomes more intelligent.
Latte trys to never let you without a dock containing
tasks plasmoid. It trys to do that intelligently not
depending on how many docks you have registered and if
they are set to explicit or primary ones
8 years ago
Michail Vourlakos fbf8cd3802 disable debug messages 8 years ago
Michail Vourlakos 81dfa36cef set a timer for sync docks screens
--add debuging message
8 years ago
Michail Vourlakos 74770a9f37 dock containing tasks is protected in multi-screen
--the last dock containing tasks can not be removed
automatic by Latte based on screens heuristics
--on startup Latte checks if a dock containing tasks
will be loaded based on screens associated. If it
doesnt it loads the first dock containing tasks and
puts it on primary screen and setting also its flag
to onPrimary
--on the configuration window when a dock changes from
explicit to primary screen by latte automation the
record of the previous screen is shown correctly
8 years ago
Michail Vourlakos 5962cbc9bb stop timer on exit 8 years ago
Michail Vourlakos 6214318e09 change primary dock screen when relevant edge freed 8 years ago
Michail Vourlakos 38e3446db9 do not allow a primary dock overlap an explicit 8 years ago
Michail Vourlakos 2385e593d2 fix screen choosing from configuration window
--the check for the screen if it has the specific
edge free added some small bugs
8 years ago
Michail Vourlakos 18f57f51fd block screen change when edge is occupied
--unfortunately this contains also white spaces
fixes. Sorry for this but by implementing multi-screen
the laptop wasnt correctly configured for
astyle and whitespaces
8 years ago
Michail Vourlakos 0bef60838a disable flag ByPassWindowManagerHint 8 years ago
Michail Vourlakos 5f5cfbad35 fix #208,crash on exit through quit button 8 years ago
Michail Vourlakos 17d2626443 fix whitespaces 8 years ago
Johan Smith Agudelo Rodriguez d2b5487abd fix #198, flag ByPassWindowManagerHint 8 years ago
Michail Vourlakos c72e62a5d0 fix #12,multi-screen support
--this commit is just a small clean up that
acts as a reference for all the previous
10-12 commits that provide the new anticipated
multi-screen support. With multi-screen support
the user can set for its docks either to be always
on the primary screen or an explicit one... The
docks are loaded and removed automatically on
screen changes
8 years ago
Michail Vourlakos b88170caaa support always on primary case
-- :) fantastic behavior from Latte...
8 years ago
Michail Vourlakos 14b72f49e6 restore add/remove dock buttons
--also use a single timer for screen sync
for dockview
8 years ago
Michail Vourlakos f46848e039 add screen information into debug window 8 years ago
Michail Vourlakos 9259a28cde improvements to add/remove docks on screen demand 8 years ago
Michail Vourlakos 8a7bb2942c add basic multi screen support
--the user can change the dock's screen
from the configuration window... Optimizations
must be made of course in the future...
8 years ago
Michail Vourlakos c468353407 fix #116, update screen in screengeometry changes
--when the screengeometry was called the dockview screen
hadnt changed to primaryscreen, that had as a
consequence the dock to go to the primary screen
but because that was out of the boundaries of
its own screen to return again to first place
8 years ago
Johan Smith Agudelo Rodriguez 1ba8a62e07 remove property debugFlags of DockView 8 years ago
Johan Smith Agudelo Rodriguez fbf5808667 update commandline options 8 years ago
Johan Smith Agudelo Rodriguez 75d4b71216 #199, AbstractWindowInterface is now a shared resource 8 years ago
Michail Vourlakos 0a50e76bf6 disable debug messages 8 years ago
Michail Vourlakos a38dd1d91e disable debug message 8 years ago
Michail Vourlakos 4c0a97348c disable debug messages, fix masking positioning 8 years ago
Michail Vourlakos b7c42a5365 mouse events debug messages 8 years ago
Michail Vourlakos 81b36dc91e improve when dock can hide itself
--when an applet becomes activated then the dock
shouldnt hide itself until the applet to become
inactive
8 years ago
Michail Vourlakos 827bde86d4 fix #116, remove QueuedConnection 8 years ago
Michail Vourlakos 4579fcff46 protect crashes from containment() in dockview 8 years ago
Michail Vourlakos 3ab252339c fix #116,add protections in multi-screen 8 years ago
Johan Smith Agudelo Rodriguez 988ffdae35 fix position when external shadows is enable 8 years ago
Johan Smith Agudelo Rodriguez 0592ba3aaf avoid overlaping 8 years ago
Johan Smith Agudelo Rodriguez 8c820073f0 fix narrow casts 8 years ago
Michail Vourlakos b717a714f5 fix #154,crash on screenGeometry change
--strange thing is that the code producing
this was very weird. From the user's backtrace
syntax: if(!screen())
and more specific at updateEnabledBorders() of
dockview was creating the crash.
replacing it with syntax:
if (!this->screen())
fixes the issue
8 years ago
Michail Vourlakos 6dd4aa9982 fix, publish correct borders
--this fix publish the correct panel borders
that should be drawn according to alignment
and location. Improves also PanelBox heurestics
and should be also any shadows issues
8 years ago
Michail Vourlakos 09629b774b support drawing panel shadows outside dock window
--this is set by default only in case of Always Visible,
zoom factor 1.0, Justify alignment and maximum panel
thickness
8 years ago
Michail Vourlakos f9a2226457 prevent dockview crashes because screen in not set 8 years ago
Michail Vourlakos 41e79cf188 support debug flags from the runtime
--the user is able to set some additional
debug flags in --debug state by just executing
the application.

supported flags:
--with-window: provides a separate window
to show metrics from each separate dock
--graphics: visual indicator for the various
elements
--mask: additional debug messages concerning
mask calculations
8 years ago