Commit graph

53 commits

Author SHA1 Message Date
Ivailo Monev
c18bacba12 kio: make KIO::UDSEntry::UDS_URL required/mandatory
if the slaves do not know what URL is being stat()-ed, listed, etc. then
what? this may make the URL different than the one originally requested (as
it should be) in case of redirection(s) for example

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-31 16:30:03 +03:00
Ivailo Monev
4f3da48844 kio: use the KFileItem icon instead of determening it in KFilePropsPlugin
otherwise the icon does not match the one that dolphin shows for example,
not to mention KMimeType::findByUrl() can only guess from the name for
remote URLs instead of using the info KFileItem already has

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-30 02:49:47 +03:00
Ivailo Monev
edbdb6dfbe kio: drop redundant KFileItem constructors and arguments
never set to anything other than empty QString or KFileItem::Unknown

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-27 18:26:44 +03:00
Ivailo Monev
75cf57aac5 kio: drop support for "most local URL"
was used by some slaves (e.g. the archive slave which is no more).

lets see if you can find it jira:
https://ivailo-monev.atlassian.net/browse/KDE-12

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-24 20:46:17 +03:00
Ivailo Monev
bd3345543d kio: reuse variable in KFilePropsPlugin
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-12 22:45:15 +03:00
Ivailo Monev
aee3b7b3da kio: log debug messages to a valid debug area
250 is not a registered one

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-12 14:25:51 +03:00
Ivailo Monev
b90f90905b kio: move most of the KRun bits to KLauncher
two things doing the same thing - one has to go away. also KRun does not
fork and the launched service/application lifetime was bound to the
process launching it, that is not the case with klauncher - it is bound
to the session (in the usual case)

a few things on the TODO list but mostly for services/applications
lacking features

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-12 03:21:17 +03:00
Ivailo Monev
d45c3a867b kio: remove unused variable
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-04 21:59:13 +03:00
Ivailo Monev
817b7a4aab kdecore: rework KMimeType
more accurate probing then before, notably by probing the file content
from the file slave (only the name was checked before because the
filepath was not a full path in some cases and the file could not be
open)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-04 20:14:53 +03:00
Ivailo Monev
fbfb374b9c generic: drop scripting and tray support
after changes to multiple sub-projects (Katie, kdelibs, kde-workspace
and kde-extraapps) that finally happened, can write lots about it but I
will keep it short - by rewriting parts that were using js/qml (e.g. the
plasma applets) the desktop startup was reduced to half, also the legacy
tray thing shall be no more (anything that needs tray icon shall be a
plasma applet now) thus some applications and features will be dropped
aswell. see all repositories for the changes done

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-10-21 08:06:58 +03:00
Ivailo Monev
88598523d0 kdeui: new KPixmapWidget
the idea for QImage/QPixmap-optimized widget occurred to me while
writing kimageviewer (see the kde-playground repo), unlike the widget I
wrote for kimageviewer this one supports drag-n-drop tho and is drop-in
replacement for QLabel when showing only a pixmap is required. the
widget also shows a small image while dragging ala ksnapshot

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-08-29 08:59:51 +03:00
Ivailo Monev
80d185a980 kio: rename X-KDE-SysTray to X-KDE-HasTrayOption
the tray feature of KApplication works like a charm:
https://ibb.co/sbqxjVr

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-08-24 16:30:40 +03:00
Ivailo Monev
4b632fcae6 kdeui: implement status notifier for any KApplication instance
optional feature that requires "-tray" command line argument and replaces
what the `ksystraycmd` program was doing. requires "X-KDE-SysTray" entry
in the desktop file as indicator that the application supports "-tray"
argument, unlike `ksystraycmd` does not spawn extra process and even
session management will work properly for it (the argument is manually
added to the restart command)

the feature is very much tide to KMainWindow (and derived classes) but the
overhead is next to none when the "-tray" argument is not specified (the
status notifier is not created in such case) however if created an
expensive tooltip update is done whenever a window changes (may have to
look into optimizing it but then again - most of the code does nothing
unless the "-tray" argument is specified)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-08-24 01:41:02 +03:00
Ivailo Monev
14b62a7d3d kio: implement interface to change the "StartupWMClass" key of .desktop files
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-08-20 03:03:09 +03:00
Ivailo Monev
a50c72de91 generic: drop support for startup notification via D-Bus service
just another way to do what ASN does, the KService::DBusWait mode was
not used too. with this change however all of the process setup code is
moved to a seperate class and the responsibility of KLauncher about ASN
is reduced (ASN now works better for process that fork but if application
claims ASN support and does not send ASN finish then the timeout will be
reached)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-08-19 19:53:14 +03:00
Ivailo Monev
07660bf9cd kio: drop support for X-KDE-WMClass and X-KDE-StartupNotify
see the following commit in kde-workspace repo:
f1f6ae7a3ec35e289df1f45cd47e71bd3c696fbe

on a side note the default for StartupNotify should probably be false as it
is unknown if the application actually supports startup notification is one
of the reasons why currently KLauncher does more than merely set an
environment variable and assume applications know what to do with it

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-08-18 18:21:58 +03:00
Ivailo Monev
625373ffa8 kdecore: drop KDateTime
with the rewrite (see f452e2e50b),
KDateTime is just glue-code for compatibility now. the exception is
KDateTime::isNightTime() (written by me) which is used only in one place
(kde-workspace/plasma/dataengines/weather/ions/wetter.com/ion_wettercom.cpp)
and can be moved there

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-08-14 22:35:08 +03:00
Ivailo Monev
ccd463e634 kio: adjust to desktop KIO slave removal
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-22 03:13:24 +03:00
Ivailo Monev
9a27be0215 kio: format and indent
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-19 06:05:10 +03:00
Ivailo Monev
e259bfaba9 kio: move KUrlPropsPluginPrivate::URLStr member to the scope it is used in
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-19 06:00:02 +03:00
Ivailo Monev
48e89aeea0 kio: consistent properties private classes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-19 05:10:12 +03:00
Ivailo Monev
ad61621e00 kio: reduces conditions in KDEPrivate::AppNodeLessThan() function
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-19 04:34:16 +03:00
Ivailo Monev
5436220b95 kio: KDesktopPropsPlugin::slotAdvanced() optimization
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-19 04:12:30 +03:00
Ivailo Monev
69aaffe8f4 kio: remove bogus break in KFilePermissionsPropsPlugin::updateAccessControls()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-19 03:42:23 +03:00
Ivailo Monev
66df922711 kio: initialize variable in KFilePermissionsPropsPlugin constructor
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-19 03:05:53 +03:00
Ivailo Monev
b3a6606e0c kio: remove redundant KFilePermissionsPropsPluginPrivate destructor
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-19 02:56:42 +03:00
Ivailo Monev
af7077a0a3 kio: format and indent
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-19 02:54:36 +03:00
Ivailo Monev
30be334df2 kio: initialize KPropertiesDialogPluginPrivate member in its constructor
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-19 01:45:10 +03:00
Ivailo Monev
c66d486a0e kio: set the placeholder text of the device widget from KDevicePropsPlugin constructor
instead of using the label as hint what to enter in case there are no
devices detected

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-15 23:18:46 +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
704ef230d5 generic: make use of KUser and KUserGroup
eventually KUser and KUserGroup will use getpwnam_r(), getgrnam_r(), etc. for thread safety

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-10 21:05:19 +03:00
Ivailo Monev
17de7b68f2 kio: deprecation warning fix
better not use std::mem_fun() and std::mem_fn() at all

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-09-26 06:58:22 +03:00
Ivailo Monev
e88c621aa2 generic: authorization reimplementation
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-09-25 19:27:41 +03:00
Ivailo Monev
08f290fa8b generic: cast pointers with QObject as base class via qobject_cast<T>()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-06-01 18:06:11 +00:00
Ivailo Monev
8696681c5c generic: process all events and use KJob::exec() instead of QEventLoop
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-26 15:56:30 +03:00
Ivailo Monev
2f8c0f7841 kio: show meta properties dialog
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-03-11 02:49:51 +02:00
Ivailo Monev
c3f8cfe6d2 kio: use acl_get_file() to determine if filesystem supports ACL
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-09-02 21:22:15 +03:00
Ivailo Monev
aacf719686 kio: correct signal connections for device widget
fixes device link creation

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-08-03 11:20:07 +03:00
Ivailo Monev
32872f16d5 kio: remove unused file sharing API
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-06-08 05:09:56 +03:00
Ivailo Monev
c12103d15e kio: fix possible null-pointer dereference
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-03-09 17:27:31 +02:00
Ivailo Monev
c891c0cd82 kio: correct logic for terminal options
patches from NetBSD's pkgsrc

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-01-23 02:24:58 +02:00
Ivailo Monev
d2c5598a0f generic: DragonFly BSD build fixes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2020-12-25 00:14:07 +00:00
Ivailo Monev
d147517cd5 generic: remove redudndant kdelnk checks
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2016-04-21 20:13:10 +00:00
Ivailo Monev
4d683ae8b3 generic: cleanups remains of custom apps resources support 2015-09-06 14:42:29 +03:00
Ivailo Monev
21ad0df488 generic: make changes required for building against katie 2015-08-11 05:56:07 +03:00
Ivailo Monev
bbea8b2acc generic: drop most of the KIOSK functionality 2015-05-19 05:23:35 +00:00
Ivailo Monev
5333e9917d generic: remove deprecated API 2015-02-28 03:27:54 +00:00
Ivailo Monev
82fc15f54b generic: use CMake moc instead of automoc4 by default
for compatibilty reasons automoc4 support is not removed but it
shall be in the future. automoc4 has not been maintained for a
while (last commit is from 2011) and the stable release is from
2009.

CMake version >= 2.8.6 provides the functionality for mocking so
I see no reason to not make use of it.
2015-02-27 07:40:26 +00:00
Ivailo Monev
c7a2a17692 yet more windows and mac code remove 2014-11-19 15:30:39 +00:00
Ivailo Monev
b99fa1400b more windows code remove 2014-11-19 15:19:19 +00:00