Commit Graph

67 Commits (57d52a78bf16332c6c8a3f4715d29737d4be7f51)

Author SHA1 Message Date
Michail Vourlakos 9a10cd1e26 fix SharedLayout VisibilityManager::isCurrent state
--when KWin edges are used in a SharedLayout then the
all view Layout::isCurrent() function must be used
otherwise the layout is not identified properly as
current based on different layouts per activities
6 years ago
Michail Vourlakos c94843c9e6 KWin issue #2,hiding windows when activies stopped
--in such case under x11, the winIds of the visible
Latte windows are changed and as such the windows
tracking mechanism becomes broken. The code introduced
tries to track the case the update the WM::ignoredWindows
properly
6 years ago
Michail Vourlakos c5b1e9bbf5 x11:drop QWindow::setVisible() function
--this function creates irrelevant crashes even
under x11 environment... Dropped in favour of
show()/hide() functions that seem to not create
any issues
6 years ago
Michail Vourlakos 1ef328bd3a avoid wayland crashes from QWindow::setVisible 6 years ago
Michail Vourlakos c85d24ac37 use WM:IgnoredWindows infrastructure for wayland
--improvements for IgnoredWindows infrastructure
all over the relevant classes
6 years ago
Michail Vourlakos 79f392723e wm:support ignored windows
--x11 implementation is in place and wayland
case must be updated accordingly
6 years ago
Michail Vourlakos ba6460e919 update indicators runtime
--fixes to signals in ViewParts in order to avoid
crashes. Currently the recreateView approach is used
in order to reload indicators runtime dynamically.
The "View::setSource" approach does not reload the
indicators properly
6 years ago
Michail Vourlakos 4cc4bfd6de REFACTOR WindowsTracker to provide more information
--View::WindowsTracker now provides all the time
information about CurrentScreen and AllScreens!
This way all consumers (Latte::Containment, Applets etc.)
can choose whatever suits them best.
6 years ago
Michail Vourlakos c2bfda46d3 make WindowsTracking activity filtering accurate 6 years ago
Michail Vourlakos 7cd3b6201d remember the last created ConfigView per layout 6 years ago
Michail Vourlakos beb0100644 fix some applets animations flickerring
--especially when the user drags something over
the Latte::View and afterwards drops it
6 years ago
Michail Vourlakos 86e645c720 position properly dropped applets and urls in view 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 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 ebeabb1033 increase View::timers kwin hack 6 years ago
Michail Vourlakos a295352514 limit WM::setViewExtraFlags calls 6 years ago
Michail Vourlakos a661fbb032 refactor:drop LAYOUTSMANAGER apis moved to SYNCHER 6 years ago
Michail Vourlakos c6cd3f4685 move layout connections in the view
--any view and view::containment() signals that
are related to layout are now moved in the
View::setLayout() in order to be reinitialized
properly when the view changes to another
layout
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 f43d1b56c7 fix crash concerning WORKAROUND for KWIN
--KWin hides some Views without reason when
Activities are closed under Multiple mode.
This crash fixes these kind of crashes.
6 years ago
Michail Vourlakos 1f14405e63 REFACTOR: rename Active TO -> CENTRALLAYOUT 6 years ago
Michail Vourlakos 913c35523f move views between Active/SharedLayouts
--the move to layout option under View Settings
window now can enable the user to move view
between Active and Shared Layouts
6 years ago
Michail Vourlakos 5fbdf19b78 fixes for edit mode 6 years ago
Michail Vourlakos 417f992831 move intersect function to WindowsTracker 6 years ago
Michail Vourlakos 9ce7ba35bb simplify mouse signals from Latte::Views 6 years ago
Michail Vourlakos 6505e8797f send mouse signals from View to containment
--this is side-way path for mouse events and
more specific the mouse pressed, released
events to be sent from parent window to its
qml containment part. This way it is possible
to keep the original plasma applet behavior
such as original plasma tooltips and provide
Latte specific functionality such as animated
clicks from indicators.

NOTE: An investigation - testing took place in
order to check if this approach could be also used
for mouseMove events to be used for applets parabolic
effect. The result was that this was not possible because
there were too many signals and too much calculations
too identify for which applet the signal belonged to.
The parabolic effect was not fluid in that case and
could not catch up.
6 years ago
Michail Vourlakos b35fa94307 reduce availableScreenGeometry calls 6 years ago
Michail Vourlakos 6620cf54bd plenty fixes updates for MultipleTopLayouts 6 years ago
Michail Vourlakos dc9553b3ca fix crashes from loading/unloading layouts 6 years ago
Michail Vourlakos bbddfd3d48 REFACTOR:move code from Active to GeneralLayout
--huge refactor in order to split the logic of the
Layout file. One of small steps in order to end at
the following logic:
AbstractLayout->GeneralLayout->InterfacedLayout

InterfacedLayout->NormalLayout
InterfacedLayout->OnTopLayout

PresentedLayout, that will contain references for
one ActiveLayout and one OnTopLayout and will
act as a class to provide useful information to
layoutManager and all other classes that want
to work with Views.

GeneralLayout will gain a storage object
for all STORAGE properties that require
a CORONA to work
6 years ago
Michail Vourlakos 7d0905e379 refactor: rename Layout to ActiveLayout
--first steps to abstract the Layout code in
different classes
6 years ago
Michail Vourlakos 8b3920ef64 fix indicators warnings when removing a view 6 years ago
Michail Vourlakos c735792c30 REFACTOR:replace all "foreach" statements 6 years ago
Michail Vourlakos 555fc966b0 activate config windows under wayland environment
--add heuristic method in wayland interface in order to
return the internal id of a window by using its appId
and its geometry
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 cab2055279 adjust secondary config win to new design
--secondary config window now follows the primary
config window design. Config windows now are just
simple windows !AboveAll and are activated from
Latte::View on demand. This way we can now have
demonstration of the parabolic effect during
editMode at all times
6 years ago
Michail Vourlakos 1dba8d1841 block requestActivate() for wayland
--requestActivate is not supported under wayland
6 years ago
Michail Vourlakos e9e0c04198 fix wayland crash when hiding config window 6 years ago
Michail Vourlakos fabf6f44d2 show configuration windows only for one view
-- for each layout only one dock should show its configuration windows
otherwise we could reach a point that because a settings window
is below another Latte View its options are not reachable
6 years ago
Michail Vourlakos 83b5b2323a fix calculations for left subtracked mask 6 years ago
Michail Vourlakos 736d068a44 improve masking for config windows
--now config windows are masked properly in order to
accessible to all of their areas. By design the config
windows are trying to be below the main view, this is
why masking is needed in order to work properly and not
having areas that can not be clicked/accessed because
of the top Latte View
6 years ago
Michail Vourlakos 37ca5f1663 restore config windows behavior to previous state
--approach the problem of showing parabolic effect properly
during edit mode in a different way. The Latte View now
on Enter event raises itself
6 years ago
Michail Vourlakos 3ac5ebffeb fix focusOut behavior for config windows 6 years ago
Michail Vourlakos 366f2783f2 improve config windows activation
--when the mouse enters the main latte view,
the primary and secondary config windows should
be activated. This patch improves how this is
handled in order to not mess up the focusOut
even handling from config windows. The config
windows do not race now in order to identify
if all the config windows has lost focus.
6 years ago
Michail Vourlakos e4254ed8c7 activate config windows whenever mouse enters view 6 years ago
Michail Vourlakos 542174f296 make edit visual totally dynamic
--meaning that edit Visual can contain more
elements than just the usual ones and as such
we can now add a "Rearrangement" option to make
things easier to switch between live/static editing
6 years ago
Michail Vourlakos 7772ee2855 add Type property for Latte::View
Summary:
--this way any part interested to know the
real type of Latte::View it can access the
all new type() property

Test Plan:
test view settings that indicate correctly
the panel/dock type

Reviewers: trmdi, #latte_dock

Reviewed By: trmdi

Subscribers: plasma-devel

Tags: #plasma

Differential Revision: https://phabricator.kde.org/D18926
6 years ago
Michail Vourlakos 1e65211277 DodgeAllWindows now uses WindowsTracker
--this way we use the same code for Dynamic
Background and DodgeAllWindows
6 years ago
Michail Vourlakos 78096b4181 refactor:move window functions to its own class
--all windows related functions present at visibility
manager are moved at their own class WindowsTracker
6 years ago