Commit Graph

2024 Commits (a4767b36c039ca5d86b927473cc45702b02f9850)

Author SHA1 Message Date
Michail Vourlakos e368d03222 fix crash from configwindow when switching layouts
l10n daemon script d0bf13aa72 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
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
Michail Vourlakos dbee0a81df fix typo in availableScreenRectWithCriteria
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
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
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
Michail Vourlakos 0da74fb3ce Tasks:track multiple Tasks applets
--create an infrastructure in order to be able
to adjust and configure multiple Tasks plasmoids
Michail Vourlakos da2d4c2b35 DetailsWin:sort combobox layouts based on name
Michail Vourlakos f4fa185246 fix details window first showing layout
Michail Vourlakos 5a1237fb6a first connections,Details window and Layouts Model
Michail Vourlakos c067764013 add details window functionality
Michail Vourlakos c8c0871754 fix crash for Esc in Settings window
Michail Vourlakos bde33f98a9 remove blockHidingEvent on SideBar startup
Michail Vourlakos a1b8e4518a update details window info when changing layouts
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
Michail Vourlakos 92f1b1fe30 details window improvements
Michail Vourlakos 0e7420037e settings:same infrastructure for information
--add GenericDialog class in order to provide
same implementation for all settings::dialogs.
As a first step GenericDialog provides a common
showInlineMessage api
Michail Vourlakos 3447e44f25 details:background shadow fixes
Michail Vourlakos 14e739b395 details:provided layout backgrounds
Michail Vourlakos 423df425ee improve detail items alignment
Michail Vourlakos cbc5ff5d40 introduce details dialog ui
Michail Vourlakos f9c024095c ignore View real panel movements for desktop space
--when real panel views are slided out either for auto
hiding, dodge case or dynamically removing their screen
margin the desktop available space should not be
changed; it should stay the same.
Michail Vourlakos 1af553fa13 improve applets context menu placement
l10n daemon script 92f717dc06 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
Michail Vourlakos 72ebfe1aae improve contextmenu placement for containments
Michail Vourlakos 87b5dff9b5 dont switch layout with Enter in settings
Michail Vourlakos 8b41314b2f enable scrolling activation only for expandable
--systrays/internal containments are blocked from
this
Michail Vourlakos 6fafa83b15 improve applets context menu placement
Michail Vourlakos 0046c904d1 View:Move expanded applets code to View::Interface
Michail Vourlakos fa65462dea move View::deactivateApplets to extendedInterface
Michail Vourlakos 50c136b56f provide View::ExtendedInterface to qml parts
Michail Vourlakos ce245ab253 ignore some windows in LastActiveWindow
--LastActiveWindow is providing information to
applets thus special windows that contain
the following flags:
skipTaskBar AND (skipPager OR skipSwitcher)
these windows can be totally ignored.
In such window case the LastActiveWindow used
are provided.

BUG:419384
Michail Vourlakos f90e86fa88 introduce hasSkipPager/Switcher for window infos
Michail Vourlakos 1f92045873 update windowinfowrap code style
--make its code style like the one
used in other data classes
Michail Vourlakos c333e11cdb update applets expanded tracking on every startup
--even when the views is recreated
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
Michail Vourlakos f63a467b1e improvements for applet isExpanded tracking
Michail Vourlakos 8c3ed88a2f disable some debug messages
Michail Vourlakos 1adcbdb863 improve identify applets expanded state
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
Michail Vourlakos 778dcc3e5a fix 5.38 compatibility for wayland case
Michail Vourlakos 688a45289a make SHARETOINEDITROLE proxy model capable
l10n daemon script a8cd465917 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
Michail Vourlakos b4847e1a79 choose which layouts must be saved in settings
--through the Layouts model we know which layouts
have been saved and which of them do not need to
be touched because they do not have any changes
Michail Vourlakos e4670dace2 new implementation to update layout ids in settings
Michail Vourlakos 6bc4409b0b move settings dialogs in their own directory
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
Michail Vourlakos 0d29114664 whitelist krunner and yakuake windows
Michail Vourlakos 1e9785dc0b introduce details button in settings window
Michail Vourlakos 41f945d4e1 move layout icons handling in the model
--this way it will be easier the layout icons
list to be used by other widgets also
l10n daemon script 6dac4e4065 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
Michail Vourlakos 4d3b5e86e8 major refrest for wm(s), remove consts
--introduce also windows whitelist that can
be used in order to force tracking in some
windows
Michail Vourlakos a651d9f731 wayland:ignore all popups
Michail Vourlakos efaaf70297 x11: do not track popups at all cases
Michail Vourlakos 6ab4c61d5a protect layout toggle sharing
--do not assign a share will it is already used
from other layout
Michail Vourlakos 15fd0f1059 sort layouts model based on groups
Michail Vourlakos 72fdf4563b improve AbstractLayout background infrastructure
--the new infrastructure can remember settings between
CustomBackgroundStyle and ColorStyle in order to
help the user to not have to reassign values
when changing backgrounds, between predefined
colors style and custom one.
Michail Vourlakos a613bb49ba small improvements
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
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
Michail Vourlakos 25cfd25477 fix plasma geometries publish in multi-screen
--when a screen becomes inactive then its last values
for available rect and reqions should also be removed
from the recorded values.
Michail Vourlakos e951aa67b2 protect updating LastActiveWindow appData
--LastActiveWindow application data should be updated
only when the last active window id is equal with
the sent application data. Otherwise we may show
Application name and icon for totally irrelevant
window.

Bug was first reported at:
https://github.com/psifidotos/applet-window-title/issues/89/

FIXED-IN:0.9.10
Michail Vourlakos 5bdb8a683d update sorting in layouts model
--the new priorities take into account
the layout name to be ordered as a last
criteria
Michail Vourlakos 4832042b0f add message for dropping layout files
Michail Vourlakos 2e79a5df30 mv layouts headerview to settings/views folder
Michail Vourlakos 100e3d4884 update knsrc installation path
--since kde frameworks >= 57 there is a specified path
for which knsrc files should be present
Michail Vourlakos df635fb88b improve Layouts sorting behavior
Michail Vourlakos 38f7df72fb get userfeedback for saving and switching tabs
Michail Vourlakos f51126eae2 prevent switch tabs when there are unsaved changes
Michail Vourlakos 1690ace196 store layoutsView user sorting preferences
Michail Vourlakos a21874b29b move LayoutsTab storage to view LayoutsContrailer
Michail Vourlakos b63c7bfbc7 enabled antialiasing for Layouts::HeaderView
Michail Vourlakos 7613396708 remove deprecated code from layoutscontroller
Michail Vourlakos 27aebc9304 insert Settings::Layout menu at correct position
Michail Vourlakos 5285aee716 TabLayouts dataChanged when removing layouts
Michail Vourlakos d87663413e move properties at Settings window code
--no reason for Settings Window properties to
be present at UniversalSettings. They are moved
to their SettingsDialog best match classes.
Michail Vourlakos 5d52083968 rename for consistency
Michail Vourlakos 0d79c2ed15 update code to TabLayoutsHandler
--all ui code from settings dialog for Layouts Tab
in now moved to its handler.
Michail Vourlakos f7b8bd6619 introduce the TabLayoutsHandler
Michail Vourlakos 0cae6f0ec3 define interface for Settings::Handler(s)
Michail Vourlakos 4f92222863 user Layouts::Manager for currentLayoutName
Michail Vourlakos 92c0a68a19 update active states differently for singlelayout
Michail Vourlakos 0534c33ff8 reduce publish geometries interval to 1000ms
Michail Vourlakos 6188888840 update infoview to be ignored properly
Michail Vourlakos 70359602b8 apply activities at views andcurrentActivitychanges
Michail Vourlakos 93d7422059 dont use too often, costly kwinrc tracking
Michail Vourlakos 0ff8f2b74f force plasmageometries updates for activitieschange
Michail Vourlakos 850b058ecd fix layouts data broadcasting when applying
Michail Vourlakos ad8723ce4f fix, save temporary layouts when user applied
Michail Vourlakos f954999b12 drag n' drop layout files in layouts editor
Michail Vourlakos 252ebcaa19 refactor preferences settings handling
--we introduce handlers that are going to be
responsible for the ui parts of settings windows.
So having data structures, MVC for models/tables that
are used and Handlers for any ui interaction
simplify the implementation and make it more
structured in order to be maintained and grow
safely.
Michail Vourlakos fe7f35b9bf remove boldness from preferences settings
Michail Vourlakos 2256a8b855 update last-1 column width properly
Michail Vourlakos 1113f942b1 provide feedback to the user in layouts view
--provide feedback to the user for which layout
options have been altered. This is achievable
by providing italicness to these options.
Michail Vourlakos 9faa3cac86 meaning sortings for layouts model
Michail Vourlakos c62ff66ffd validate layouts data to follow userrole
--all layouts table cell user Qt::UserRole as
the first role to user for their data and any
subdata should use an explicitly-set
LAYOUTUSERROLE
Michail Vourlakos f6aeea9980 move original data into layouts model
--this way the model items can become aware
of all data changes and become visual
responsive accordingly. All changed data
should use the italic paradigm... If a
value is changed from its original value
can become italic in order for the user
to know which values have changed.
Johnny Jazeix ebaf3aebee fix build for Qt < 5.14
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.
Michail Vourlakos 466129c1d0 update shared layouts activities icons
Michail Vourlakos 7dacde2d3a update Preferences settings to follow KDE HIG
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
Michail Vourlakos 338159c01f calculate better the screen edge margin
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.
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.
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.
Michail Vourlakos f4c255952f disable some debug messages
Michail Vourlakos e0c04a9c6f import:dont update view:local_geometry when hidden
--if this does not apply then local geometry are not valid
when views become hidden
Michail Vourlakos 3246ce2447 update free activities flag from external changes
--when the user has altered the free_activities from
its context menu then settings window it must better
update its record concerning the layout that will
be responsible for free activities
Michail Vourlakos b960a8579e use all cell height for free activities icon
Michail Vourlakos 2bc4e63431 fix a case to autoupdate free_activities_id
--when free_activities layout becomes shared
then another layout should become responsible
for FREE_ACTIVITIES
Michail Vourlakos 97e5345f40 update shareto line settings indicator
--improve its appearance in general and its
behavior also
Michail Vourlakos 20602acbfb provide nice icons for layouts from activities
Michail Vourlakos df844ed171 drop double reference in corona
Michail Vourlakos c59dc52e1e move activities logic out of activity delegate
--all activities information/data for activities
and layouts are now handled properly from the
layoutsmodel in settings
Michail Vourlakos 11798211a9 multiple fixes for imports/exports
--import/export full configurations are now
moved to File menu and move out their
implementation from Import/Export layouts
Yuri Chornoivan e61445d5cc Fix minor typos: <i/> -> <i>
Michail Vourlakos 652cbb0041 add layout actions to Layout menu
--improve vastly how actions in the layout menu
and Layout push buttons use the same code and
shortcuts in order to work correctly
Michail Vourlakos e9ec4ea266 add shortcuts for layouts editor
Michail Vourlakos 7a11aa93c0 improve settings window Esc key handling
Michail Vourlakos b6b34b06de validate layout name icons colors
Michail Vourlakos 5323e7832c internal messages intervals
Michail Vourlakos 07df968fde update layouts states after reseting layouts data
Michail Vourlakos 6e09bb5601 drop KNotifications from settings window
--introduce a new dependency for KIO, it works
really nice in order to open files in filemanager
and selecting them
Michail Vourlakos 01bab50d67 add more inline message for adding layouts
Michail Vourlakos 3e3b455a53 introduce kmessagewidget in settings window
--use the nicely look kmessagewidget in order to
show inline internal messages to the user
Michail Vourlakos 300f4a364f add alignment for backgroundcolumn
Michail Vourlakos 22a9416583 fixes for assigned layouts handling
Michail Vourlakos ba94546cb4 multiple fixes for single layout case
Michail Vourlakos 748ca87bb8 simplify code for switch button-single layout
Michail Vourlakos 0724124f63 set settings on all activities
--simplify pause button and switch button
codes
Michail Vourlakos 68f2ab9c47 improve switch button enablement
Michail Vourlakos 8c97dcecc5 update shared visual properly
Michail Vourlakos 2ad1a040b4 introduce custom headerview for layouts
Michail Vourlakos 92f37eef8c improve alignments for layouts delegates
Michail Vourlakos 9a3918763b settings,improve layouts header visual
Michail Vourlakos 79936a662d improve background circle visual
Michail Vourlakos 4deaa3bc0b make Shared button proxy model aware
Michail Vourlakos a7ecd549b0 drop dataAreAccepted in settings window
--this is not needed any more, data should
always be valid
Michail Vourlakos 94e5a04de2 make copy layout function proxy aware
Michail Vourlakos 37cac2ca81 reject duplicate layout names in settings
Michail Vourlakos 880ed9638e introduce proxy model for layouts in settings
Michail Vourlakos bddc04d371 inform controller for inserted rows
Michail Vourlakos 00f4e4cd22 fix crash from layouts reset functionality
Michail Vourlakos 00e6fbba5b update synchronizer semantics to freeactivities
Michail Vourlakos 0d39ee6f55 settings:always a layout is set for freeactivities
Michail Vourlakos 93a8ae3ff2 improvements for Layouts Editor
Michail Vourlakos 3b85867c56 introduce setLayoutForFreeActivities
Michail Vourlakos abc4ca4308 layouts settings tab improvements
Michail Vourlakos 8be38bf7dc apply current names after layouts saving
Michail Vourlakos 671f413a3e introduce Reset button
Michail Vourlakos 7acde8be5d update SharedTo column visibility properly
Michail Vourlakos c0d8116e7b visual improvements for settings delegates
Michail Vourlakos 7dbfb1184b settings window improvements
Michail Vourlakos 3122103f6c save column widths properly in settings window
Michail Vourlakos 1e855f2472 dont crash when saving a new layout
Michail Vourlakos d418abbeb4 remove deprecated code from settings dialog
Michail Vourlakos 45e3531ad3 move logic out of settings dialog
--layouts controller in settings window
should take ownership for all logic
related to layouts model/view
Michail Vourlakos 01bb785999 rename editedName to currentName for layout data
--improve semantics for layout data in settings
window
Michail Vourlakos 4437472fa9 simplify shares map create/sync in settings window
Michail Vourlakos 4de91c535c remove deprecated code
Michail Vourlakos e29b5a3e38 update layout removing in settings window
Michail Vourlakos 60d24144b5 update layouts settings data classes
Michail Vourlakos 264b2b7568 remove deprecated settings window functions
Michail Vourlakos 828bacce33 update share_id automatic when layout_id changed
Michail Vourlakos c6e8f6f032 introduce layouts controller for MVC approach
--the new controller will take all functionality
from Layouts model that is currently found in settings
window and that way the settings window will be
simplified and is going to be responsible only for
the UI elements of the window and NOT the QTableView
internals
Michail Vourlakos 6ff1102e1f update qt5 deprecated code
Michail Vourlakos 2db252b769 fix warnings
Michail Vourlakos 154000345d fix some warnings for shareddelegate
Michail Vourlakos aa4a6061cd improve semantics for settings
Michail Vourlakos 9a104340bb simplify code for background cmbbox
Michail Vourlakos c39a50f253 rename colorscmb to backgroundcmb
--improve delegate name
Michail Vourlakos 5f3007ed93 simplify colors combobox in layouts editor
Michail Vourlakos 49e203de86 fixes for shared column delegate behavior
Michail Vourlakos 46e44606bc update editor shared delegate to new model
Michail Vourlakos 44c1abcf73 update settings activities delegate
--drop totally deprecated activities delegate
code
Michail Vourlakos d4ed1aa609 update settings Activites delegate
Michail Vourlakos 6e66907957 update settings Layout name delegate
Michail Vourlakos e5baecfb9f visual for layout name was edited
Michail Vourlakos a9bc5aa19f introduce original/edited Named in layout data
Michail Vourlakos 4428d4b083 support setData function for layouts model
--initial support for this
Michail Vourlakos 4874b254dd fix sharedcolumn and introduce some editable items
Michail Vourlakos bab5564d0a remove deprecated settings window code
Michail Vourlakos 70c8841646 update layouts headers
Michail Vourlakos b55447764a update layouts checkdelegates for new model
Michail Vourlakos 401a56a8a4 support loading in the new model
Michail Vourlakos 5e75b889e0 introduce initial LayoutsModel
Michail Vourlakos be4e088f5e use QList for layoutsdata
--add isActive flag for Data::Layout
Michail Vourlakos f81d535468 drop old originalLayoutNames list
Michail Vourlakos 09c599a2d7 update how layouts settings are stored in editor
Michail Vourlakos 7bb01f150a support new layouts data for settings
Michail Vourlakos 1ee24adbbd update "FreeActivities" during apply
Michail Vourlakos fca4db5962 support font style for FreeActivities record
Michail Vourlakos 5f7bcf565d remove old code for activities in settings window
--remove relevant deprecated code that is not needed
in the new implementation
Michail Vourlakos 43de9b509b update activities combobox implementation
--the new implementation will provide all Activites
and everything else will be updated automatically
--also a default option is introduced which describes
which layout will be used for the free layouts and
the user will be able to alter this easily
Michail Vourlakos 1d8fe4541c Important:fix localGeometry calculations
--and add also new visual debug mode for
localGeometry calculations
Michail Vourlakos 38d7ec5c2e prevent user from switching to shared layouts
Michail Vourlakos 5464018135 fix crashes and update share ids runtime in model
Michail Vourlakos d164f06354 fix wrong mis-assignment of Shared layouts
--when an active central layout was changing
from one shared layout to another the new
shared layout was not loaded properly