Commit Graph

22 Commits (6351d13444acee29b6ba34de6e1c2ed9d58d0b09)

Author SHA1 Message Date
Michail Vourlakos 60095bba3b fix #96,FEATURE:AllScreens and AllSecondaryScreens
--This is a HUGE FEATURE and so important for multi-screens
users. It is introduced as one single commit because it
reimplements plenty of infrastructure changes and it will
be easier to identify newly introduced bugs.
--Users can now choose for their docks and panels to belong
at various screen groups. The first two screen groups introduced
are AllScreens and AllSecondayScreens. In the future it might
be possible to provide CustomScreensGroup that the user will
be able to define specific screens in which a dock or panel
should be always present.
--Current solution specifies an Original dock or panel and clones/copies
itself automatically to other screens. So docks and panels in other screens
are just real docks and panels that reference themselves to original
docks and panels.
--Clones are destroyed during layout startup and are automaticaly
recreated. It is suggested to export your layouts through the
official Layouts Editor in order to share them because in that case
clones are not included in the new generated layout file. If in any
case you do not this and you share your layout with any previous
versions then your clones will just appear as separate docks and
panels that belong to specific screens.
--Automatic syncing was introduced in order to keep up-to-date
the configuration of Original docks and panels with their referenced
Clones.
--Automatic syncing currently works for all docks and panels settings,
for all normal applets configurations and for all subcontaiments
configuration such as systrays.
--Automatic syncing does not work for applets inside subcontainments
such as Group Plasmoid. In such case it is suggested to configure
your applets inside your Group Plasmoid in the original dock or panel
and afterwards to trigger a recreation for the relevant clones
--Manual recreation of clones is easily possible by just choosing
the dock or panel to be OnPrimary or OnSpecificScreen and rechoosing
afterwards the AllScreensGroup or AllSecondaryScreensGroup
3 years ago
Michail Vourlakos c9515a0353 activate through mouse wheel more applets
--when an applet is not identified as expandable
but on the other hand has activated the flag
activationTogglesExpanded then for those
applets the mouse wheel option should also
trigger an activation event
3 years ago
Michail Vourlakos 59360176ee dont block visibility function after Meta trigger
--Menu11 and SimpleMenu applets are using a custom
plasmoid approach in order to be able to position their
popups differently on the screen. This patch considers
this in a more generic way and does not use the default
codepath to show popups from these applets. More
importantly the Needs/RequiresAttention status is used
in order to determine the panel/dock visibility for
these applets.

BUG:441053
3 years ago
Alexander Lohnau 505379ed04 Use spdx syntax for all files 4 years ago
Michail Vourlakos f6df7a7df1 introduc fast layout manager for containment 4 years ago
Michail Vourlakos 39ad54f9bb provide visual indicator for multiple tasks
--when the user changes Tasks tab settings between
different applets, the selected applet is providing an
animation
4 years ago
Michail Vourlakos f37fde5824 simplify dragging architecture
--simpler implementation both for plasmoid
mousehandler and containment droparea
4 years ago
Michail Vourlakos 2e7dcb5428 refactor rely on c++ to provide justify alignment
--c++ takes the burden to validate the Justify alignment
4 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 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 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 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 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
5 years ago
Michail Vourlakos 0da74fb3ce Tasks:track multiple Tasks applets
--create an infrastructure in order to be able
to adjust and configure multiple Tasks plasmoids
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 34d6c2cd78 identify highest priority application launcher
--provide a new way to identify which application
launcher has the highest priority in order to be
triggered. When an application launcher applet
has a global shortcut assigned to it then that
application launcher applet has the highest
priority in order to be triggered through
"Super" global key.
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 111254e509 refactor:move qml handling from globalshortcuts
--all the qml handling code from globalshortcuts is
now moved to Latte::View::ContaimentInterface. This
way the code is cleaner and can be expanded easier.
5 years ago