Commit graph

224 commits

Author SHA1 Message Date
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
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
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
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
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
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
Ivailo Monev
c0d3f7c16d plasma: setup preferred size of lockout applet
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-12 10:55:03 +03:00
Ivailo Monev
6e83869ef8 plasma: set the lockout widget layout
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-12 09:34:28 +03:00
Ivailo Monev
4229bfdcf9 plasma: disable lockout buttons instead of changing the visibility
one of the things the old implementation was not doing - when the action
the button is supposed to do is not supported it will be disabled now so
that is not "why does this button not work?" kind of situation

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-12 09:07:39 +03:00
Ivailo Monev
2f8e2239ec plasma: use different spacing when form factor is panel for lockout applet
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-12 08:51:33 +03:00
Ivailo Monev
54cd004fc5 plasma: fix lockout applet settings saving
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-12 08:30:56 +03:00
Ivailo Monev
ba938080d7 plasma: tweak the lockout applet preferred size, spacing and content margins
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-12 08:10:44 +03:00
Ivailo Monev
afc35539fe plasma: reimplement lockout applet
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-12 07:38:15 +03:00
Ivailo Monev
df8e4fd521 plasma: remove reference to gone applications slave
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-10 01:16:38 +03:00
Ivailo Monev
2b48360cd9 plasma: remove unused variable in Hdd::init()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-09 19:52:22 +03:00
Ivailo Monev
0466b3421e plasma: parent the internal devicenotifier widget to the scroll area, reduce the minimum size
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-08 23:05:10 +03:00
Ivailo Monev
63d9a63011 plasma: cache the keyboard layout string in keyboard applet
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-08 21:17:28 +03:00
Ivailo Monev
ed479c4346 plasma: optimize keyboard applet flag painting
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-08 21:12:10 +03:00
Ivailo Monev
7bc2872f69 plasma: set the keyboard applet minimum size, based on form factor
because it is painted as pixmap setting the minimum size is a must

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-08 21:01:52 +03:00
Ivailo Monev
04d081086c plasma: optimize keyboard applet painting
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-08 20:45:54 +03:00
Ivailo Monev
9bf1356cfd plasma: remove TODO related to devicenotifier applet
done, see fcc96cd259

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-08 01:26:54 +03:00
Ivailo Monev
e278cad3ca plasma: update devicenotifier layout on Solid::DeviceNotifier::contentChanged() signal
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-07 21:31:10 +03:00
Ivailo Monev
6bcd2411b5 plasma: handle optical drives in devicenotifier applet
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-07 20:33:53 +03:00
Ivailo Monev
f5c76ec052 plasma: adjust the devicenotifier widget size after clear
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-07 11:12:08 +03:00
Ivailo Monev
fcc96cd259 plasma: implement configuration interface for devicenotifier applet
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-07 10:57:44 +03:00
Ivailo Monev
140e8a8113 plasma: adjust defaults to the devicenotifier applet changes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-07 10:29:23 +03:00
Ivailo Monev
fb8433665b plasma: add interactive icon for unmounting from devicenotifier applet
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-07 10:23:32 +03:00
Ivailo Monev
33908835cf plasma: check device emblems based on Solid::StorageAccessaccessibilityChanged() signal in devicenotifier applet
side note: because there is no signal for free space change it is checked
on timer

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-07 09:51:30 +03:00
Ivailo Monev
5ab7fa5735 plasma: use scroll widget as base graphics widget for devicenotifier applet
because if non-removable devices are shown things may not fit on the screen

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-07 09:30:32 +03:00
Ivailo Monev
d477598c1d generic: device notification reimplementation
how does it look? something like this:
https://ibb.co/1zbDVpk

and because all the SolidUiServer bits are written by me now - copyright
it to me. the actions dialog was not operational btw (not for hotplug
events anyway).

the solidautoeject thing does not even make sense - when the eject
button is pressed it was calling Solid::OpticalDrive::eject() but if the
button is pressed the tray will eject anyway so what was it doing
actually?

solid-device-automounter can be replaced with solid actions but the
devices are mounted for solid actions anyway so dropping it

as for KCM for the solid actions - there can be none but to add features
such as non-interactive actions (e.g. launch the keyboard KCM when a
keyboard is plugged without poping dialog) or actions that do something
on device removal it has to be done anew

note that the action file for opening a file manager was named
"test-predicate-openinwindow" meaning it was a testing thing rather than
a finished thing

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-07 05:47:54 +03:00
Ivailo Monev
7c6d3bcb45 plasma: create batterymonitor applet widget and keyboard applet layout from constructors
Plasma::Applet::init() and Plasma::Applet::constraintsEvent() may be called
in order such that the members were not created yet

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-06 22:17:22 +03:00
Ivailo Monev
c4ef054ebd Revert "plasma: plug keyboard applet memory leak"
This reverts commit b77b83565f.
2023-09-06 19:10:05 +03:00