Commit graph

3008 commits

Author SHA1 Message Date
Ivailo Monev
797a038098 ksmserver: handle key events for icons via event filter in shutdown dialog
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-14 11:38:04 +03:00
Ivailo Monev
b67914031d ksmserver: set the title text before starting the timer in the shutdown dialog
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-14 11:02:40 +03:00
Ivailo Monev
8e96ce1aa8 plasma: tweak lockout applet dialog sizes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-14 10:53:25 +03:00
Ivailo Monev
43894f8f20 plasma: use bigger font for panels in keyboard applet
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-14 10:36:27 +03:00
Ivailo Monev
b783be6185 ksmserver: tweak the shutdown dialog sizes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-14 10:08:55 +03:00
Ivailo Monev
33980544b8 ksmserver: animate the shutdown dialog
much like the lockout plasma applet (which I implemented)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-14 08:24:57 +03:00
Ivailo Monev
e9fa3491a8 ksmserver: change the shutdown dialog title based on more events
fancier than tooltips

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-14 08:08:40 +03:00
Ivailo Monev
cb33b2cf11 plasma: delete the lockout applet dialog event loop via event
because it is executed and stopped from an event while it is running

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-14 07:48:57 +03:00
Ivailo Monev
545ec5fffa ksmserver: change the shutdown dialog title based on focus
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-14 07:43:50 +03:00
Ivailo Monev
f2319df5ee plasma: delay the lockout action by 500ms
with the dialog animation in place (which was not a thing in the old
implementation) the action may be triggered before the dialog has finished
the animation (because it is async, e.g. D-Bus call on interface which
involves event loop) and (for example) locking the screen when the dialog
has not dissapeared yet making the animate complete once the screen is
unlocked. to make the transition smooth delaying it by a little is a must

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-14 07:25:02 +03:00
Ivailo Monev
3147f9515e plasma: animate the lockout applet dialog
ksmserver uses entirely different effect tho (which is triggered by a
button essentially calling ksmserver method) - the entire screen is
darkened when the ksmserver dialog appears (kwin effect)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-14 06:54:26 +03:00
Ivailo Monev
79accd51c6 plasma: disable mouse events for the icon of the lockout applet dialog
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-14 06:38:33 +03:00
Ivailo Monev
971af2f5ea libs: add additional comment about the Plasma::WidgetExplorer sizes
design issue of the old implementation that I have to solve at some point

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-13 18:33:34 +03:00
Ivailo Monev
0305b44785 plasma: perfect size for lockout applet
small for desktop applet but suitable for any theme and any form factor
(desktop-like, panel, etc.)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-13 18:23:37 +03:00
Ivailo Monev
d09ad5f07e plasma: set the preferred lockout dialog icon size to small one
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-13 16:19:29 +03:00
Ivailo Monev
10c7e5124e plasma: ToolTipProxy::updateToolTip() optimization
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-13 15:57:15 +03:00
Ivailo Monev
71c809af91 plasma: pass correct type to Plasma::IconWidget::setPreferredIconSize() in batterymonitor applet
implicit conversion..

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-13 15:40:46 +03:00
Ivailo Monev
aca377b5d0 ksmserver: correct comment in shutdowndlg source file
the timeout used to be 30 seconds but 10 seconds is more than enough to
cancel the operation

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-13 15:36:31 +03:00
Ivailo Monev
b7ebac26ea plasma: remove unused plasmacomponents types
there is a dialog proxy in org.kde.plasma.core, the dialog status type
remains in org.kde.plasma.components tho

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-13 14:22:35 +03:00
Ivailo Monev
15f45fdc81 ksmserver: remove debug bits in KSMShutdownDlg::confirmShutdown()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-13 12:50:24 +03:00
Ivailo Monev
87b03e5336 libs: send arrow key events to the scroll widget from Plasma::WidgetExplorer
note that the key events that Plasma::WidgetExplorer handles are events
when neither the internal filter widget nor the scroll widget has focus

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-13 12:44:34 +03:00
Ivailo Monev
84cc8bfdd0 ksmserver: setup keyboard shortcuts for the shutdown dialog buttons
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-13 12:34:05 +03:00
Ivailo Monev
33c98fb7df plasma: setup keyboard shortcuts for the lockout applet dialog buttons
same as the shortcuts of KStandardGuiItem

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-13 12:28:30 +03:00
Ivailo Monev
bad4c6fba8 Merge branch 'ksmserver' 2023-09-13 12:19:20 +03:00
Ivailo Monev
0bceff7f00 ksmserver: shutdown dialog reimplementation
layout is subject to change, lock and hibernation may or may not be
implemented again

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-13 12:18:37 +03:00
Ivailo Monev
5eee1b4852 plasma: remove unused LockoutDialog member
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-13 06:41:30 +03:00
Ivailo Monev
048b675ae1 plasma: force update of the lockout dialog icon
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-13 05:10:13 +03:00
Ivailo Monev
3da6a08beb plasma: trigger the lockout dialog button actions on button release
kinda like the logout dialog

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-13 05:06:02 +03:00
Ivailo Monev
53203e2b62 plasma: set the focus to the yes button each time the lockout dialog is executed
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-13 05:02:52 +03:00
Ivailo Monev
6eda258de3 plasma: disallow disabling all lockout applet buttons
another feature the old implementation did not had

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-13 04:51:47 +03:00
Ivailo Monev
4351cd3c7c plasma: simplify lockout size expanding, update sizes conditionally
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-13 04:06:44 +03:00
Ivailo Monev
62111cfb4f plasma: rename lockout applet constant to match its meaning
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-13 03:32:13 +03:00
Ivailo Monev
664f9f2bad plasma: update lockout applet sizes when updating the buttons state
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-13 03:25:41 +03:00
Ivailo Monev
30f02b9357 plasma: interrupt the event loop on LockoutDialog hide
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-13 03:05:15 +03:00
Ivailo Monev
9757186f67 plasma: set the lock dialog window state from LockoutDialog::exec()
for re-appearing dialogs

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-13 02:57:31 +03:00
Ivailo Monev
ae63a4b4cb libs: slightly better drag source detection in Plasma::AppletIcon::mouseMoveEvent()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-13 02:45:51 +03:00
Ivailo Monev
700e6d1794 libs: Plasma::WidgetExplorerPrivate::filterApplets() optimization
still, compared to the old implementation it is much faster and does not
need much optimization

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-13 02:12:18 +03:00
Ivailo Monev
4299755b3a libs: make the Plasma::AppletIcon icon look as pressed while dragging
visual pleasantry

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-13 02:06:39 +03:00
Ivailo Monev
d15fff7987 plasma: disable hover effect for the lockout dialog icon
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-13 01:58:46 +03:00
Ivailo Monev
37b3cd7c6e plasma: handle multiple confirmation requests in lockout applet
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-13 01:43:24 +03:00
Ivailo Monev
ab7252464b plasma: remove unused plasmacomponents types
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-13 00:27:28 +03:00
Ivailo Monev
0ae14b92f4 plasma: use the same icon as KStandardGuiItem::no() for the "No" button
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-12 15:06:56 +03:00
Ivailo Monev
cfa580716b plasma: delete only the internal widget of the lockout applet dialog
the scene is parented to the dialog anyway - and the reimplementation is
complete!

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-12 15:01:22 +03:00
Ivailo Monev
ebefe03351 plasma: default to yes for the lockout applet actions in its dialog
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-12 14:55:46 +03:00
Ivailo Monev
1e7586daf2 plasma: delete the lockout applet dialog scene and widget
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-12 14:42:43 +03:00
Ivailo Monev
3b34f15633 plasma: do not show the lockout dialog in pagers and taskbars
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-12 14:35:16 +03:00
Ivailo Monev
07805752c5 plasma: correct shutdown confirmation for lockout applet
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-12 14:27:14 +03:00
Ivailo Monev
307e0862ff plasma: implement confirmation for lockout applet
now with confirm option for each button action but the dialog needs some
finishing touches:
https://ibb.co/pXcbkVY

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-12 13:59:03 +03:00
Ivailo Monev
c162414511 plasma: mostly stub confirmation for lockout applet
everything but the dialog

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-12 12:56:59 +03:00
Ivailo Monev
4ce4ca602b plasma: ensure the minimum size of lockout applet is not too small
because the size policy is set to preferred it is the preferred size that
is used to setup the widget size but it doubles as minimum

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-12 11:40:00 +03:00