Commit graph

2906 commits

Author SHA1 Message Date
Ivailo Monev
dd4b27b579 soliduiserver: pass the Solid::Device object instead of the UDI to kExecuteAction()
so that it does not have to be re-constructed and removed device can be
passed to it

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-09 09:00:42 +03:00
Ivailo Monev
09f7754713 soliduiserver: do not use umount2() for unmounting
umount2() does not work for removed devices and a mount-point cleaner will
be implemented soon

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-09 08:59:08 +03:00
Ivailo Monev
ab1d46e3c7 soliduiserver: move the handleActions() call to the scope it should be
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-09 08:57:55 +03:00
Ivailo Monev
566830cdc6 plasma: remove unused places data engine
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-09 08:03:51 +03:00
Ivailo Monev
176d2326b2 soliduiserver: do not detach when unmounting
while and operation in progress, such as copy job, will complete setting up
the permissions of the destination will fail for example if the device is
lazily-unmounted

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-08 23:17:24 +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
300beddd4e kcontrol: set flag as the icon for the layout column in keyboard KCM
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-08 19:38:30 +03:00
Ivailo Monev
e4366d3493 soliduiserver: implement feature to execute actions under certain conditions
can implement condition for when device changes occurs too but I have no
plans to use it for something, not yet that is. the remove condition can
(and probably will be) used to start kvkbd when there is no keyboard
plugged in altough that will require program to check when to do that

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-08 19:26:41 +03:00
Ivailo Monev
6692330c26 kcrash: show human-readable description, the bug address and homepage in the dialog
the icon requires the following commit from kdelibs:
7ed5ec71eb5b3670d01b5751741b67375f4bdc53

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-08 18:50:42 +03:00
Ivailo Monev
e5fce03460 plasma: remove unused components
experimental, unfinished and unused - bye!

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-08 10:58:14 +03:00
Ivailo Monev
0373b489c4 plasma: remove unused favicons and filebrowser data engines
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-08 10:11:20 +03:00
Ivailo Monev
0d80e11934 generic: add feature information about eject, cdcontrol and cdio
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-08 08:54:59 +03:00
Ivailo Monev
3c48401883 kcontrol: warn about keyboard layout options in keyboard KCM
I've tested only the grp:alt_space_toggle option, don't even want to know
what kind of issues the other option will cause. feel free to file issues
to X11 tho

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-08 05:56:19 +03:00
Ivailo Monev
f68fd1b58d kcontrol: set the tooltip and "what is this?" for the model box of keyboard KCM
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-08 05:05:53 +03:00
Ivailo Monev
18073517bb kcontrol: disable moving of tree columns in keyboard KCM
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-08 04:27:45 +03:00
Ivailo Monev
8b3b954d85 kcontrol: implement keyboard layout options
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-08 04:09:57 +03:00
Ivailo Monev
119bf184de kioslave: create absolute lock file for the trash kioslave
otherwise it is affected by the current directory of the slave process

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-08 03:22:15 +03:00
Ivailo Monev
ec442d8ad1 kcontrol: stub keyboard KCM keyboard layout options
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-08 02:38:02 +03:00
Ivailo Monev
54df6ed55d Merge branch 'master' of ssh://bitbucket.org/smil3y/kde-workspace 2023-09-08 02:14:40 +03:00
Ivailo Monev
e7a2d4f45b kcontrol: use automatic initial size for KCMKeyboardDialog
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-08 02:13:42 +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
efc37e8962 kcrash: do not use KDialog::makeStandardCaption() for creating the KCrashDialog window title
with no flags KDialog::makeStandardCaption() returns the original string

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-07 23:46:06 +03:00
Ivailo Monev
3e469d96f0 solid: set the SolidUiDialog device label text to similar one prior to d477598c1d
except with correct new-line tag

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-07 22:50:52 +03:00
Ivailo Monev
7065198d98 kcontrol: add solid action files for mouse, keyboard and joystick devices
try plugging a mouse, keyboard or joystick - see what happens!

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-07 22:20:37 +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
388eeea355 plasma: handle generic device search in solid runner
side note: the places runner may also add matches for the removable devices
because the places implementation handles them as bookmarks (the devices
in the dolphin places panel are bookmarks!
see kdelibs/kfile/kfileplacesitem.cpp)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-06 20:15:50 +03:00
Ivailo Monev
e0985f16cf plasma: filter duplicates and fix listing of optical drives in solid runner
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-06 19:30: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
Ivailo Monev
d1874e4964 plasma: create Plasma::Svg on the heap in KeyboardApplet::paintInterface()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-06 18:59:07 +03:00
Ivailo Monev
ff2486c1bb plasma: translate solid runner comment to bg
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-06 05:32:10 +03:00
Ivailo Monev
ae6e4b8808 plasma: additional note about kSolidActionCommand() function
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-06 05:21:25 +03:00
Ivailo Monev
52a83a7bad kcontrol: disallow adding duplicate layouts from keyboard KCM
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-06 05:16:23 +03:00
Ivailo Monev
c402bff997 kcontrol: remove redundant KCMKeyboard destructor
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-06 04:02:42 +03:00
Ivailo Monev
cc7fd6b174 kcontrol: remove declaration of non-existing KCMKeyboardDialog::save() signal
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-06 04:01:34 +03:00
Ivailo Monev
343749034c kcontrol: remove declaration of non-existing KCMKeyboardDialog::updateWidgets() method
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-06 04:00:21 +03:00
Ivailo Monev
b77b83565f plasma: plug keyboard applet memory leak
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-06 03:51:50 +03:00
Ivailo Monev
6ca60e84b5 plasma: reimplement the solid runner
using solid directly and not depending on soliduiserver for the actions,
now the hotplug and devicenotifications data engines aswell as the
devicenotifier applet can be reimplemented too

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-06 03:35:02 +03:00