1
0
mirror of https://github.com/KDE/latte-dock.git synced 2025-01-13 21:18:01 +03:00
Commit Graph

435 Commits

Author SHA1 Message Date
Michail Vourlakos
e6ab9385d8 fix crash when destoying config window 2020-07-03 18:28:30 +03:00
Michail Vourlakos
dea32cb37a update SecConfigView to new design
--SecConfigView is created only once and
use afterwards for all Views
2020-07-03 18:17:30 +03:00
Michail Vourlakos
75d14b4af8 apply activities to config windows when shown 2020-07-03 14:24:43 +03:00
Michail Vourlakos
d01d1f60a4 use primary config single instance for all views 2020-07-03 14:24:43 +03:00
Michail Vourlakos
5c22b8f8ed update View:: config views creators 2020-07-03 14:24:43 +03:00
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.
2020-07-03 14:24:43 +03:00
Michail Vourlakos
e1c38213b9 introduce viewsettingsfactory
--is going to be responsible to hold only
one instance of view config windows
2020-07-03 14:24:43 +03:00
Michail Vourlakos
5bd1fe955d dont initialize global launchers group from config 2020-06-27 17:14:43 +03:00
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.
2020-05-26 16:41:53 +03:00
Michail Vourlakos
edb943db6b fixes for spacers and positioning of behaveAsPanel
--fix positioning for Right/Bottom alignments when
View behavesAsPlasmaPanel
2020-05-25 21:31:01 +03:00
Michail Vourlakos
84a5eecf79 update struts in Single layout mode earlier 2020-05-23 20:04:37 +03:00
Michail Vourlakos
631837e199 Tasks fixes for disableAllWindowsFunctionality 2020-05-23 13:47:51 +03:00
Michail Vourlakos
fa4ffbf521 use PositionShortuts Ability for activate/new 2020-05-22 19:11:10 +03:00
Michail Vourlakos
dc78257962 improvement for Container::OnPositionShortcuts
--bind On Position Shortcuts Container ability
with View::ExtendedContainmentInterface implementation
2020-05-22 14:09:29 +03:00
Michail Vourlakos
f32937ca6d first commit for multi on position shortcuts 2020-05-20 19:07:40 +03:00
Michail Vourlakos
cb368c504d drop old Tasks identification code paths 2020-05-18 20:02:30 +03:00
Michail Vourlakos
3cadc32fc4 improvements for Tasks applets usage 2020-05-18 19:17:11 +03:00
Michail Vourlakos
2fae4a87ba ContainmentInt is now resposible for all Tasks 2020-05-18 19:14:35 +03:00
Michail Vourlakos
99db4d54f2 support plasma tasks model for tracking 2020-05-18 19:04:02 +03:00
Michail Vourlakos
76781094af rename ExtInterface::model to LatteTasksModel 2020-05-18 18:45:12 +03:00
Michail Vourlakos
fe4704e355 block par.effect for applet popups 2020-05-18 16:06:46 +03:00
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
2020-05-17 11:42:09 +03:00
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.
2020-05-16 23:19:21 +03:00
Michail Vourlakos
236dd2c3b9 update frameExtents for View::locationChanged 2020-05-16 21:51:16 +03:00
Michail Vourlakos
6f3367225d new Effects API for config windows subtract region 2020-05-16 21:37:50 +03:00
Michail Vourlakos
741eedfc3c improve Primary Config view syncGeometry
--fix also a crash when updateInlineProperties
was called
2020-05-16 19:31:40 +03:00
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.
2020-05-16 19:17:35 +03:00
Michail Vourlakos
54ea58c215 remove deprecated Effects subtracted implementatio 2020-05-16 18:58:29 +03:00
Michail Vourlakos
46760a04de cycle properly config views with Meta+A 2020-05-16 17:06:19 +03:00
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
2020-05-16 10:02:23 +03:00
Michail Vourlakos
1dcf799d42 a way to not delete hidden config windows 2020-05-15 13:06:53 +03:00
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
2020-05-12 17:08:09 +03:00
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"
2020-05-12 15:04:46 +03:00
Michail Vourlakos
3ad89c10a4 fix crash from indicator config ui creation 2020-05-12 14:59:16 +03:00
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
2020-05-12 14:45:31 +03:00
Michail Vourlakos
b6183c526c update frameExtents at View::forcedWorkaroundShown 2020-05-12 10:30:05 +03:00
Michail Vourlakos
a91f6a8a8e make Effects updateEffect(),GtkFrameExtents aware 2020-05-12 03:10:17 +03:00
Michail Vourlakos
e16ca1f87b release indicator config ui when window closes 2020-05-12 02:38:01 +03:00
Michail Vourlakos
381675ac57 reduce kconfig.sync() calls
--improves startup times in some cases because
it does not write to disk that often.
2020-05-12 02:16:08 +03:00
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.
2020-05-11 23:04:44 +03:00
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.
2020-05-11 20:59:05 +03:00
Michail Vourlakos
114828ad88 reduce GtkFrameExtents calls/triggers 2020-05-11 18:08:55 +03:00
Michail Vourlakos
3e17f718ee dont block hiding for #debugwindow#(s) 2020-05-11 17:44:30 +03:00
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.
2020-05-11 17:31:51 +03:00
Michail Vourlakos
4501c940f1 fix hide screen gap animation for behaveAsPanels 2020-05-10 21:25:29 +03:00
Michail Vourlakos
dd4e4fb79d rename all Background.MultiLayer values
--much better and understandable names are now used
2020-05-10 20:27:35 +03:00
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
2020-05-10 20:27:35 +03:00
Michail Vourlakos
1e48d053f7 fix crash when switching layouts
-- the faulter was containmentinterface that was
calling containment()->applets() during view
destroying phase
2020-05-08 10:16:26 +03:00
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
2020-05-06 20:48:56 +03:00
Michail Vourlakos
9be7822b98 upgrade to LatteApp.Interfaces containment access 2020-05-02 13:23:37 +03:00
Michail Vourlakos
e8c15905d6 position properly alignments for real panels
--provide calculations to position properly real
panels that use Left/Right/Top/Bottom alignments
2020-04-29 10:43:43 +03:00
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
2020-04-29 09:54:16 +03:00
Michail Vourlakos
63187ce5b4 remove Latte library as requirement
--implement things simpler by using the same
CoreTypes header file both for LatteCore.Types
import statement and App c++ implementation.
Let's leave in the future to decide if
a LibLatte is really necessary.
2020-04-24 14:52:16 +03:00
Michail Vourlakos
2526ab7e17 rename to MemoryUsage::LayoutsMemory
--easier to read in the code as that type
provides:
MemoryUsage::SingleLayout
MemoryUsage::MultipleLayouts
2020-04-24 12:31:03 +03:00
Michail Vourlakos
9919952239 bring back Settings::inAdvancedMode
--ViewSettings::complexityLevel is not needed
any more... View::Settings will keep only two
states, Basic and Advanced mode
2020-04-23 21:57:17 +03:00
Michail Vourlakos
6e4779e6ab require new official Latte library 2020-04-22 21:10:17 +03:00
Michail Vourlakos
ac3ccb5b98 try to support a public liblatte library 2020-04-22 14:09:42 +03:00
Michail Vourlakos
1ad1dd2982 fixes for globalshortcuts highest view identify
--always find the highest view that is going to be
used for global shortcuts based on position activation
--adjust the code a bit for SideBars in order to show
when a SideBar is called for global shortcuts based
on position activation and hide correctly when the
global shortcut is not triggered any more.

BUG:420356
2020-04-21 01:45:07 +03:00
Michail Vourlakos
e368d03222 fix crash from configwindow when switching layouts 2020-04-20 11:45:02 +03:00
Michail Vourlakos
0d0b0413bb activate appletquickitem if it is not expandable
--when the user requests to activate an applet that
it is not expandable such as DashBoard then only
thing that it is possible, it is to forcefully
activate it

BUG:420275
2020-04-19 02:24:56 +03:00
Michail Vourlakos
e525596a04 refactor:split Latte Types to Tasks and Types
--move also irrelevant types to their owner. For
example LayoutsPage is moved to Settings::Dialog
namespace
2020-04-18 16:58:00 +03:00
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
2020-04-18 13:39:45 +03:00
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
2020-04-18 13:39:41 +03:00
Michail Vourlakos
0da74fb3ce Tasks:track multiple Tasks applets
--create an infrastructure in order to be able
to adjust and configure multiple Tasks plasmoids
2020-04-18 13:39:41 +03:00
Michail Vourlakos
bde33f98a9 remove blockHidingEvent on SideBar startup 2020-04-15 16:47:15 +03:00
Michail Vourlakos
b296437288 do not reload views for default indicators
--when default indicators are reinstalled then
views do not have to be reload its sources. The user
is expected in such cases to restart Latte. At the
same time installing Latte multiple times does not
create too many views recreations with no real
reason
2020-04-15 12:50:36 +03:00
Michail Vourlakos
1af553fa13 improve applets context menu placement 2020-04-11 18:31:36 +03:00
Michail Vourlakos
72ebfe1aae improve contextmenu placement for containments 2020-04-11 00:41:29 +03:00
Michail Vourlakos
8b41314b2f enable scrolling activation only for expandable
--systrays/internal containments are blocked from
this
2020-04-10 12:31:31 +03:00
Michail Vourlakos
6fafa83b15 improve applets context menu placement 2020-04-08 20:49:14 +03:00
Michail Vourlakos
0046c904d1 View:Move expanded applets code to View::Interface 2020-04-08 15:22:38 +03:00
Michail Vourlakos
fa65462dea move View::deactivateApplets to extendedInterface 2020-04-08 14:39:12 +03:00
Michail Vourlakos
50c136b56f provide View::ExtendedInterface to qml parts 2020-04-08 14:34:05 +03:00
Michail Vourlakos
c333e11cdb update applets expanded tracking on every startup
--even when the views is recreated
2020-04-05 21:06:13 +03:00
Michail Vourlakos
4defd31669 fix compatibility with frameworks 5.38
--FrameSvgItem::mask() was introduced after
frameworks 5.58. Restore a bit the old
implementation

FIXED-IN:0.9.11
BUG:419678
2020-04-05 18:48:42 +03:00
Michail Vourlakos
f63a467b1e improvements for applet isExpanded tracking 2020-04-05 18:04:10 +03:00
Michail Vourlakos
8c3ed88a2f disable some debug messages 2020-04-05 17:02:20 +03:00
Michail Vourlakos
1adcbdb863 improve identify applets expanded state 2020-04-05 17:01:10 +03:00
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
2020-04-05 14:59:26 +03:00
Michail Vourlakos
ef2650e711 systray,support context menus for SNI items
--SNI items are handling the context menu by their
own, so Latte code should not interfere

BUG:419263
FIXED-IN:0.9.11
2020-03-26 14:40:00 +02:00
Michail Vourlakos
a613bb49ba small improvements 2020-03-24 20:29:10 +02:00
Michail Vourlakos
90d1cedc1e fix context menu for applet if group plasmoid
--the new code can understand ALL applets that are
inside an internal containment style applets such
as plasma, nomad systrays and group plasmoid

FIXED-IN:0.9.10
2020-03-24 20:08:27 +02:00
Michail Vourlakos
705e3d2d1e notforce reshow view when really removing from user
--the workaround to reshow views when the activities are
pausing from the kwin_x11 bug interfer with user REMOVING
a dock or panel. We now protect the workaround to not
interfere with REALREMOVING
2020-03-24 16:10:12 +02:00
Michail Vourlakos
70359602b8 apply activities at views andcurrentActivitychanges 2020-03-21 12:44:52 +02:00
Michail Vourlakos
4ad3880579 update PLASMAPANEL geometry immediate after hiding
--behaveAsPlasmaPanel can now slide in/out as real windows
but after they hide there is a chance that their geometry
should be updated. This patch makes sure that this will
happen exactly before the BEHAVEASPLASMAPANEL starts
sliding-in.
2020-03-19 22:12:59 +02:00
Michail Vourlakos
87f6330816 slide in/out nicely when hideThickScreenGap
--when the user has chosen to hide the screen gap
when there is a maximized window in the screen and
at the same time the View behaves as plasma panel,
it now slides in/out nicely
2020-03-19 15:32:36 +02:00
Michail Vourlakos
338159c01f calculate better the screen edge margin 2020-03-19 13:47:04 +02:00
Michail Vourlakos
c9c61818a4 force kwinedge for behaveAsPlasmaPanels
--this way we make sure that the user will be
able to trigger showing with mouse at the screen
edge. Using the window mask to succeed in this
in not an option.
2020-03-19 13:35:31 +02:00
Michail Vourlakos
43d91c9b63 drop QRect::setX/Y from all classes
--they can change the QRect width and height
and this is not the desired behavior.
moveLeft/Top are much better replacements.
2020-03-19 12:54:20 +02:00
Michail Vourlakos
73b3fb234f drop QRect::setX/Y from View
--change them with moveTop/Left which provide
the exact math calculations that are needed
for geometries. Functions setX/Y must be
avoided because they may change the width
and height values.
2020-03-19 12:45:23 +02:00
Michail Vourlakos
22a9416583 fixes for assigned layouts handling 2020-03-16 21:03:14 +02:00
Michail Vourlakos
2db252b769 fix warnings 2020-03-14 14:41:07 +02:00
Michail Vourlakos
d3a07b5371 improvements for multips views and sidebars 2020-03-07 21:24:06 +02:00
Michail Vourlakos
d1faaedc59 improve availableScreen..WithCriteria api
--improve its semantics in order to be more
understandable
2020-03-07 18:58:05 +02:00
Michail Vourlakos
e6ba47daab add more ignore visibility modes for calculations
--when a view is loaded its visibility mode is not
set already, in that case ignore it from all the
availableScreenGeometries calculations
2020-03-07 18:43:18 +02:00
Michail Vourlakos
0b2be421eb IMPORTANT:Multiple docks/panels in same edge
--Latte can now support multiple Views in the same screen
edge. Views as separated in THREE Layers of priorities.
1. Views from Shared Layouts have highest priority and they
are first to occupy a screen edge
2. Views that are set OnPrimary screen occupy a screen edge only
if there is NO other View from a Shared Layout applied already
3. Views that are Explicit to specific screens occupy a screen
edge only if there is NO PRIMARY view already loaded
2020-03-07 18:30:22 +02:00
Michail Vourlakos
719c852c8c update availableScree...WithCriteria functions
--use ignoredModes/Edges instead of accepted ones in order
to make code more readable and easy to understand
2020-03-07 15:36:39 +02:00
Michail Vourlakos
ab83bc5b2e fixes for BLUR in live editMode
--add also missing signal in Effects to updateEffects
when enabledBorders are changed
2020-03-05 22:11:06 +02:00
Michail Vourlakos
e2596b905c fix topbottom borders check in editmode 2020-03-02 19:01:51 +02:00
Michail Vourlakos
dd1a7b72c7 validate top/bottom borders for vertical panels
--make the top/bottom borders identification much
smarter in order to identify in they must be drawn.
There are many corner cases that these borders should
be drawn, for example when a vertical top aligned
panel is half shown its top border because of a
top panel
2020-03-02 18:56:27 +02:00