Commit graph

361 commits

Author SHA1 Message Date
Ivailo Monev
72f316b08d solid: implement Solid::Input interface for devinfo backend
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-10 22:35:08 +03:00
Ivailo Monev
5c66432bfe Revert "solid: check if the object is null before qobject_cast<T>()-ing it in return_SOLID_CALL() macro"
see the following commit in the Katie repo:
d87d2a4e09388bd07560a807be848d4dbc995807
2024-05-10 09:56:46 +03:00
Ivailo Monev
5e8ef901ce solid: check if the object is null before qobject_cast<T>()-ing it in return_SOLID_CALL() macro
fixes possible crashes, notably on FreeBSD the backend of which does not
implement all interfaces

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-10 09:15:24 +03:00
Ivailo Monev
b46e8b1170 solid: remove unused SOLID_CALL() macro
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-10 09:14:09 +03:00
Ivailo Monev
bfde45b639 solid: handle Solid::DeviceInterface::NetworkInterface in Solid::Backends::Devinfo::DevinfoDevice::icon()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-04-05 09:52:21 +03:00
Ivailo Monev
01e742c868 solid: handle Solid::DeviceInterface::NetworkInterface in Solid::Backends::UDev::UDevDevice::icon()
standard XDG icons, should be there

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-04-04 21:54:00 +03:00
Ivailo Monev
92fbd1b17e solid: use correct variable for extracting messages
the messages are wrapped around Katana macros now

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-04-03 12:35:07 +03:00
Ivailo Monev
d52a4a7c6b solid: drop button interface
now unused, the signals were never implemented either

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-30 07:35:48 +02:00
Ivailo Monev
000463c53d solid: remove redundant include directories
Katie setups the compile definitions and include directories for each
component

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-27 07:06:23 +02:00
Ivailo Monev
7a15582618 solid: reference the freebsd cgit repo
if they change their repo address tho..

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-17 05:51:51 +02:00
Ivailo Monev
9a33d048ba solid: implement getter for the minimum CPU speed
cannot test it for the devinfo backend right now so it is on the TODO, for
the udev backend it ends up as being optimization because the check if the
frequency can be changed already reads cpuinfo_min_freq and
cpuinfo_max_freq files

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-17 05:35:17 +02:00
Ivailo Monev
f27719e1f8 solid: initialize variables in Solid::Predicate::matches()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-09 09:29:46 +03:00
Ivailo Monev
aa0cc77a6a solid: keep reference to the QByteArray object in Solid::Backends::UDev::NetworkInterface::isWireless()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-08 07:50:24 +03:00
Ivailo Monev
0fc1865606 solid: remove redundant Solid::Backends::UDev::UDevDevice::devicePath() method
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-08 07:31:29 +03:00
Ivailo Monev
2da2e7ddb6 solid: remove unused Solid::Backends::UDev::UDevDevice::device() method
return the same as Solid::Backends::UDev::UDevDevice::devicePath() too

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-08 07:29:18 +03:00
Ivailo Monev
d519e61cb5 solid: UdevQt::Client::monitorReadyRead() optimization
because the string returned by udev_device_get_action() is valid for as
long as the device is storing it in QByteArray is redundant

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-08 07:12:22 +03:00
Ivailo Monev
ccfd17a401 solid: remove unused UdevQt::Client signals
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-08 06:45:34 +03:00
Ivailo Monev
e6aef8e5d5 solid: parent the QSocketNotifier to UdevQt::Client
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-08 06:42:01 +03:00
Ivailo Monev
1467f3cae0 solid: do not block while waiting for org.kde.SolidUiServer replies
so that, for example, the plasma devicenotifier applet does not block
plasma-desktop events when mounting/unmounting

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-07 21:55:19 +03:00
Ivailo Monev
49637b249d solid: unmount optical drives conditionally
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-07 21:40:51 +03:00
Ivailo Monev
b77a8b70fd solid: unmount the optical drive before ejecting it
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-07 20:43:21 +03:00
Ivailo Monev
4d6cc60bc6 solid: return QByteArray object from UdevQt::Device::driver()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-07 08:38:16 +03:00
Ivailo Monev
35241fbc27 solid: return QByteArray object from UdevQt::Device::subsystem()
it is handled as latin1 anyway

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-07 08:30:09 +03:00
Ivailo Monev
d69e5328dd solid: const-ify Solid::Backends::UDev::UDevDevice::udevDevice() method
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-07 08:19:52 +03:00
Ivailo Monev
134fd23a6c solid: do not deep-copy the device object for Solid::Backends::UDev::UDevDevice constructor
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-07 08:16:38 +03:00
Ivailo Monev
ce1dcbb552 kdeui: new KKeyboardLayout class
KKeyboardLayout along with Solid::Input are to be used not only in a
reimplementation of the keyboard plasma applet but also potentially
for a software input panel (QEvent::RequestSoftwareInputPanel and
QEvent::CloseSoftwareInputPanel handler)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-05 18:15:25 +03:00
Ivailo Monev
aeba52714a solid: new Solid::Input class for mouse, keyboard and joystick devices
includes camel-case header for Solid::Video as it was noticed to be
missing while working on the handling the new class in kde-workspace

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-03 20:21:52 +03:00
Ivailo Monev
057f775782 solid: use "battery-charging"-prefixed icons for fully charged batteries
battery can be fully charged but because it is plugged in not discharging

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-03 03:40:47 +03:00
Ivailo Monev
d254c051ed kdecore: do not insert the solid_qt catalog by default
that means to get the translations linking to solid library or calling
KGlobal::locale()->insertCatalog("solid_qt") is required

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-03 02:20:43 +03:00
Ivailo Monev
a637b54384 solid: workaround for bogus udev "change" event
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-03 01:33:51 +03:00
Ivailo Monev
6f822a30bb solid: implicitly convert the D-Bus reply to the value type in Solid::PowerManagement::beginSuppressingSleep() and Solid::PowerManagement::stopSuppressingSleep()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-03 00:16:00 +03:00
Ivailo Monev
b75a45c5d6 solid: set Solid::OpticalDisc::UnknownDiscType to be zero
much like other enums

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-02 04:56:22 +03:00
Ivailo Monev
1dc39b0b86 solid: remove useless README file
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-30 08:59:27 +03:00
Ivailo Monev
4900d60892 solid: new Solid::PowerManagement::supportedSleepStatesChanged() signal
to be used by the powerdevil runner

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-09 18:33:12 +03:00
Ivailo Monev
1807acdaf1 solid: remove unused Solid::PowerManagement::requestSleep() arguments
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-09 18:08:55 +03:00
Ivailo Monev
355bca1289 kutils: new knetworkmanager library
to replace the status notifier (in the kde-workspace repo) and
eventually manage network connections aswell as move network status
notifier out of solid

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-08 07:48:38 +03:00
Ivailo Monev
5724c779d7 solid: export the Solid::errorString() function
fixes loading of soliduiserver module

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-05 09:50:22 +03:00
Ivailo Monev
5cb62b9388 solid: use QString instead of QVariant for the Solid::StorageAccess signals arguments
to avoid needless conversion to and from QVariant

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-05 07:03:18 +03:00
Ivailo Monev
ee0d50c901 generic: purge most manual tests
long overdue, have no use for them

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-03 07:03:28 +03:00
Ivailo Monev
38bdfc6e82 solid: remove redundant check in StorageAccess::filePath()
the device links (DEVLINKS property) includes the label link

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-29 08:13:29 +03:00
Ivailo Monev
ed79c859b2 generic: merge KDELibs4ToolsTargets and KDELibs4LibraryTargets
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-17 23:57:38 +03:00
Ivailo Monev
5613e5483c generic: remove redundant build varibles
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-17 20:25:52 +03:00
Ivailo Monev
36c910c653 generic: move stuff from KDE4Internal module to KDELibs4Config
large-scale changes to the build system, nothing a user sees tho - it is
all under the hood

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-17 19:01:40 +03:00
Ivailo Monev
2344fa495f solid: remove unused connect/disconnect policy API
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-16 17:45:56 +03:00
Ivailo Monev
461b637c77 solid: remove unused Solid::GenericInterface
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-16 01:53:21 +03:00
Ivailo Monev
986a303ff6 kio: KAutoMount and KAutoUnmount rewrite to use org.kde.SolidUiServer interface
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-15 22:05:16 +03:00
Ivailo Monev
b23225e1d1 solid: remove declaration of non-existing Solid::Ifaces::Device::deviceDBusPath() method
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-15 20:25:19 +03:00
Ivailo Monev
d269abe7a0 solid: implement all Solid::StorageDrive::DriveType for udev backend
Xd is not a thing

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-15 19:25:55 +03:00
Ivailo Monev
e52ca10b25 solid: implement Solid::StorageDrive::Tape for udev backend
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-15 09:23:31 +03:00
Ivailo Monev
f79ff0e685 solid: use socket notifier to watch for /etc/mtab changes
in the proc man page (man 5 proc) /proc/pid/mounts is documented to be
pollable and trigger exception when changed, the current solution for the
accessibility signal remains process namespace restricted

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-15 06:55:01 +03:00