Commit graph

874 commits

Author SHA1 Message Date
Ivailo Monev
969ddd830f kutils: rewrite KHTTP and move it to kio library
same functionality but without extra dependencies and better throughput

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-25 04:59:18 +02:00
Ivailo Monev
3f6c5931af kio: add typo to the possible causes for KIO::ERR_MALFORMED_URL
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-23 18:45:56 +02:00
Ivailo Monev
1365112606 kio: pass the caption to KMessageBox::detailedError() from KIO::JobUiDelegate::showErrorMessage()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-23 18:39:41 +02:00
Ivailo Monev
0f0db0c3a7 kio: show unqueued and detailed job error messages
some errors (such as KIO::ERR_SERVICE_NOT_AVAILABLE) are not handled in
KIO::rawErrorDetail() yet tho

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-23 04:09:49 +02:00
Ivailo Monev
9a2e49d59a kio: replace QVariant with QMap header inclusion in global header
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-23 02:33:29 +02:00
Ivailo Monev
ca7fc963e7 kio: simplify SimpleJob::slotMetaData()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-23 01:54:25 +02:00
Ivailo Monev
96f7941236 kio: drop KIO::MetaData from and to QVariant conversion methods
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-23 00:59:47 +02:00
Ivailo Monev
5a270d4864 kio: initialize all KIO::SlaveBasePrivate members before connecting the slave
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-22 23:40:05 +02:00
Ivailo Monev
b2d0b1a955 kio: remove unused CMD_SLAVE_STATUS command
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-22 23:08:32 +02:00
Ivailo Monev
83eab16683 kio: remove unused CMD_SLAVE_CONNECT command
never dispatched

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-22 22:31:46 +02:00
Ivailo Monev
5fa0b7a569 kio: remove unused port-related definitions
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-22 22:26:07 +02:00
Ivailo Monev
b7e764dfcd kio: remove unimplemented KIO::SlaveBase::setLinkDest()
not even handled in KIO::SlaveBase::dispatch()

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-22 21:23:25 +02:00
Ivailo Monev
ab75b45d49 kio: move private KIO::Command enum to job_p header
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-22 20:46:09 +02:00
Ivailo Monev
5e86975733 kio: remove unused KIO::ERR_ABORTED enum
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-22 19:58:00 +02:00
Ivailo Monev
15933214f9 kio: remove unused KIO::ERR_UNSUPPORTED_PROTOCOL enum
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-22 19:51:10 +02:00
Ivailo Monev
0b881add5e kio: remove unused KIO::Job::detailedErrorStrings() and KIO::rawErrorDetail() methods argument
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-22 19:47:04 +02:00
Ivailo Monev
effc55e44f kio: remove unused KIO::Error enums
note that KIO::ERR_NEED_PASSWD was not handled at all

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-22 19:24:56 +02:00
Ivailo Monev
8fde788cd6 kio: zero-initialize the buffer in KIO::number()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-22 18:40:22 +02:00
Ivailo Monev
7b6f2c92d8 kio: poppler metadata extractor optimization
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-21 19:10:17 +02:00
Ivailo Monev
75e5990125 kio: taglib metadata extractor optimization
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-21 18:59:23 +02:00
Ivailo Monev
212cc9717a kio: log KFileMetaInfo messages to the kio debug area
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-20 00:22:57 +02:00
Ivailo Monev
bba71d3a27 kio: effectively revert db9b369a00
nah, I do not have to care about preferences - I wrote code to filter
duplicate metadata keys (something KIO:PreviewJob lacks - what if
preferred thumbnailer fails but other succeeds?)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-20 00:22:07 +02:00
Ivailo Monev
db9b369a00 kio: prioritize taglib metadata plugin for audio files
the code for preferences is pretty much the same I wrote for
KIO::PreviewJob (see KIO::PreviewJobPrivate::startPreview())

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-19 21:47:18 +02:00
Ivailo Monev
39b4346e6a kio: do not use KJobUiDelegate::showErrorMessage() in KRun
it queues a message box parented to the window (does not block until OK
button is clicked) and in case of error KRun and the message box are
automatically deleted

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-19 20:04:05 +02:00
Ivailo Monev
80c29cd794 kioslave: handle 404 and 503 HTTP error as service not available
note that KIO::ERR_SERVICE_NOT_AVAILABLE was not handled in
KIO::buildErrorString() (since before the fork)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-19 19:35:10 +02:00
Ivailo Monev
4fb8a1d674 generic: call klauncher methods asynchronously from KToolInvocation
so that application event processing is not blocked by any
KToolInvocation method, the D-Bus service name and PID return arguments
are not used anyway so removing them

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-19 12:44:44 +02:00
Ivailo Monev
121069d88c kio: ThumbCreator documentation update
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-18 16:44:24 +02:00
Ivailo Monev
4fda11def4 kio: remove unused KIO::UDSEntry field enums
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-18 11:05:23 +02:00
Ivailo Monev
d3bf519674 kio: set the slave PID from Slave::createSlave()
if PID is not set then Slave::kill() is non-operational, note that it
was not done by the code before the klauncher rewrite (see
aa6b5ea4f0)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-17 18:16:06 +02:00
Ivailo Monev
4bfca6f8c8 kio: fix regression since bc067dbdfa
there may be tasks in queue with the socket open but the connection state
may not be connected (see KIO::SocketConnectionBackend::state)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-17 13:35:18 +02:00
Ivailo Monev
8ca2e6e168 kio: remove unused SlaveBasePrivate members
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-17 11:44:34 +02:00
Ivailo Monev
97b5d53233 kio: free the metadata keys pointer only if it's non-null in KFileMetaDataDjVuLibrePlugin::metaData()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-16 19:00:47 +02:00
Ivailo Monev
873013b7f2 kio: remove redundant Q_OS_UNIX definition checks
if Q_OS_UNIX is not defined (which always is now, it's just compat
definition) then kdelibs itself will not build because it is not checked
if it defined in the kautomount source file

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-14 14:48:22 +02:00
Ivailo Monev
a934004638 kio: use 125 as default for the preview icon alpha
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-13 14:27:57 +02:00
Ivailo Monev
af901f454d kio: replace KUriFilter::loadPlugins() with its body
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-13 13:58:37 +02:00
Ivailo Monev
350056d016 kio: pass the matches list directly to KUrlCompletionPrivate::addMatches()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-13 13:43:42 +02:00
Ivailo Monev
db387cd314 kio: someone's typo
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-13 13:32:36 +02:00
Ivailo Monev
fa5db6c506 kio: debug message correction
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-13 07:03:51 +02:00
Ivailo Monev
777e9d8024 kio: new djvulibre metadata extractor
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-13 06:45:19 +02:00
Ivailo Monev
638f54bc2b kio: deprecation warning fix
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-08 14:04:47 +02:00
Ivailo Monev
6c98720e24 kdeui: implement KCrash::NoRestart flag
for programs that cannot be restarted by simply exec-ing them such as the
KIO slaves which require application socket as argument

note that restarting is maybe works thing - programs started by kdesudo
cannot be restarted (properly) as they are exec-ed by other program that
does the setup for them to function the way they should

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-08 00:36:35 +02:00
Ivailo Monev
d258df3881 generic: unblock signals when setting handlers for them
generally, those signals should not be blocked but it seems something is
blocking consequent SIGSEGV signals send by `kill` for example

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-07 07:45:25 +02:00
Ivailo Monev
053898e849 kio: use the default KCrash handler for debugging KIO slaves
once KIO slaves are plugins it would not matter tho (KApplication sets the
KCrash::DrKonqi flag already) but for now since they are detached
process poping drkonqi in case they crash (and KDE_DEBUG is set) is more
usefull than printing trace to stderr

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-07 07:33:20 +02:00
Ivailo Monev
08a5c77e48 kio: compiler warning fixes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-06 23:50:37 +02:00
Ivailo Monev
c1a17d5a30 kio: disconnect the slave and close the connection in case of error in the slave loop
this was done only when there was pool socket (when klauncher was handling
slaves) but it has to be done anyway to prevent more tasks (commands) from
being send after error occurs

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-06 05:22:53 +02:00
Ivailo Monev
bc067dbdfa kio: drop support for putting slaves on hold
with klauncher no longer responsible for KIO slave the next step is to
make them plugins and the feature to put them on hold will be of no value
because QLibrary reuses library/plugin instances and creating a new
slave object will be cheap

in other words the performance will be similar to that of KFileMetaInfo
for which I also wrote the plugins myself - they are pretty quick
compared to what strigi was doing and with more flexible configuration
interface but it took some effort to get there

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-06 04:22:23 +02:00
Ivailo Monev
babadc729f kio: remove unused KRun::checkStartupNotify() argument
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-05 08:47:55 +02:00
Ivailo Monev
5177126cc6 generic: documentation update
note that the kdeinit README used to reference Pentium 3 CPU

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-05 02:08:10 +02:00
Ivailo Monev
aa6b5ea4f0 kinit: klauncher and KCrash rewrite
much simpler and easier to maintain, also it will be proper D-Bus
service now with no sockets, process title hack and whatnot. KCrash
and startkde script (in kde-workspace repo) have to be adjusted for
it tho

note that the internal KIO scheduler already has the functionality to
put slaves on hold but now they will be started as detached process.
eventually they may become plugins (they are loaded as such by kioslave
program) without event loop dispatcher

fixes application startup notification (ASN) and cleanup issues

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-04 23:20:15 +02:00
Ivailo Monev
7f3fa16363 kio: remove documentation for removed KIO::StatJob method
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-03 00:18:50 +02:00