Commit graph

1037 commits

Author SHA1 Message Date
Ivailo Monev
c560428d0d kio: remove KIO::SlaveBase compat bits
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-03 07:30:00 +03:00
Ivailo Monev
4cbd252f74 kio: require all KIO::SlaveBase::send() arguments
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-03 07:25:04 +03:00
Ivailo Monev
1fc61ea965 kio: easier to cope job and scheduler commands
commands are integers and logged as such from debug messages for example

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-03 07:18:42 +03:00
Ivailo Monev
25bcc606ca kio: merge enums for communication between KIO::SlaveBase and KIO::SlaveInterface
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-03 07:12:15 +03:00
Ivailo Monev
fa38c2ec13 kio: bring back the slaves reusability feature
only this time the missing feature to unmark slaves as idle and not mess
up the command queue is there

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-03 06:21:18 +03:00
Ivailo Monev
e273741fdb kio: drop MIME type feature of slaves
the specialized one, stat() does it now because emitting MIME type while
also emitting data (in or out) interrupts the data flow

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-03 05:26:56 +03:00
Ivailo Monev
8f72524923 kio: remove non-operational KIO::FileUndoManager bits
yep, half of that class was non-operationl

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-03 01:23:47 +03:00
Ivailo Monev
f598f0efbf kio: emit slave processed size data as it arrives
because the speed is based on the processed size, for it to be precisely
calculated for 1sec (or whatever the speed timer may be in the future)
it better be emitted as often as it arives from the slave

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-02 22:31:47 +03:00
Ivailo Monev
5cf8aa96b9 kio: rename Charsets metadata to Charset
because in configs (e.g. written by dolphin) it is "Charset", less
confusion

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-02 22:19:07 +03:00
Ivailo Monev
374d63e359 kio: remove now unused KIO::SlaveInterface methods
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-02 22:06:22 +03:00
Ivailo Monev
6954447bf9 kio: correct metadata check in KIO::SlaveBase
was incorrect even prior to 97e7649bd3

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-02 21:57:06 +03:00
Ivailo Monev
dde3b7eb82 kio: do not assume Charset metadata is not empty in KIO:SlaveBase
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-02 21:53:40 +03:00
Ivailo Monev
97e7649bd3 kio: drop KRemoteEncoding class
can be done by slaves via custom QTextConverter or whatever, the
converter is using Charset metadata and the KRemoteEncoding class is not
required outside the slaves

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-02 21:47:54 +03:00
Ivailo Monev
1a5f247e86 kio: remove redundant KIO::SlaveBase methods
assume there is no metadata if empty, otherwise it is 2x the trip - one
time to check and one time to get the metadata

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-02 21:27:30 +03:00
Ivailo Monev
0adda2b5e2 kio: KIO::Scheduler review
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-02 20:39:25 +03:00
Ivailo Monev
e21ca8d7b2 kio: KRemoteEncoding::directory() optimization
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-02 20:39:15 +03:00
Ivailo Monev
0fece01714 kio: require all KIO::Connection::send() arguments
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-02 11:28:50 +03:00
Ivailo Monev
d006f066ee kio: remove redundant KIO::Connection::inited() method
has the same meaning as isConnected()

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-02 11:24:53 +03:00
Ivailo Monev
fb1fc34008 kio: rework KRemoteEncoding to use QTextConverter instead of QTextCodec
2x faster because the input has to be converted only once

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-02 11:14:12 +03:00
Ivailo Monev
b05e3f86ae kio: unexport the private connection-related classes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-02 09:46:26 +03:00
Ivailo Monev
4af1fc2871 kio: reduce the gaps in job priorities
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-02 09:45:55 +03:00
Ivailo Monev
2abb4cf251 kio: prioritize some type of jobs and do not reuse slaves
turned out the some slaves, the file slave for one, is not ready for
reusable action..

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-02 08:24:10 +03:00
Ivailo Monev
df7257e308 kio: remove unused and internal KIO::SlaveBase::sendAndKeepMetaData() method
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-02 06:38:46 +03:00
Ivailo Monev
0d6c466f34 kio: merge KIO::SessionData into KIO::Scheduler
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-02 06:29:30 +03:00
Ivailo Monev
4fb4ce61ef kio: job scheduler review
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-02 05:36:30 +03:00
Ivailo Monev
34687b1e91 kio: stop the idle check timer once there are no more slaves
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-02 05:33:27 +03:00
Ivailo Monev
3bf383938b kio: kill job slaves idle for more than 1 minute
that was borked before me reworking the job scheduler, not anymore

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-02 05:31:50 +03:00
Ivailo Monev
5108de6bc1 kio: use only the host for determening when to not reuse a slave
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-02 03:53:50 +03:00
Ivailo Monev
481b9fa430 kio: do not call KProtocolManager::reparseConfiguration from KIO::SessionData::reset()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-02 03:51:16 +03:00
Ivailo Monev
305e5d90ce kio: do not call KProtocolManager::reparseConfiguration from KIO::Scheduler::reparseSlaveConfiguration()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-02 03:42:49 +03:00
Ivailo Monev
540ee2cde7 kio: rework the job scheduler
thread-safe and private

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-02 02:16:50 +03:00
Ivailo Monev
81ed3d4665 kio: always emit speed from KIO::SlaveInterface
even if processed size is not available (zero or less), that means either
stalled or just unknown. if the job is not in running state then it is
unknown and is what job interfaces can use to determine that

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-01 08:02:14 +03:00
Ivailo Monev
77d32f4169 kio: always calculate the speed on fixed 1sec interval based on the difference in processed size
because there are quircks such as slaves emitting total and/or processed
size way too often, the total size may not even be known at the start of
the get (chunked HTTP(s) transfer)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-01 06:15:31 +03:00
Ivailo Monev
c1a8f1087a kio: remove unused KIO::SlaveInterface method
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-01 04:59:59 +03:00
Ivailo Monev
71971d1699 kio: unexport KIO::SlaveInterface
private class, not much to say. KIO::Scheduler and some classes should
not be exported either

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-01 04:50:22 +03:00
Ivailo Monev
e13f945e89 kio: allow links for KIO job errors
requires the previous commit

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-04-30 03:35:08 +03:00
Ivailo Monev
4d017d011b kio: KIO::SlaveInterface optimization and prepration to unexport it
reparenting the KIO::ConnectionServer object (held as pointer) was
sub-optimal

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-04-30 02:53:59 +03:00
Ivailo Monev
a37180e9ec kio: use QElapsedTimer for the idle time
assuming monotonic clock is supported and enabled on the system the idle
time will not be subject to clock jumps

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-04-30 02:21:24 +03:00
Ivailo Monev
6b4693904c kio: remove unused definitions and methods
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-04-30 01:38:36 +03:00
Ivailo Monev
3361c25982 kio: adjust to thumbnail slave changes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-04-29 12:17:52 +03:00
Ivailo Monev
956cfc5a59 generic: prepare for Katie changes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-04-26 22:38:19 +03:00
Ivailo Monev
843463c95d kdeui: drop KSortcut
missing proper configuration interface for the shortcuts, the old one
was borked anyway

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-04-24 10:19:03 +03:00
Ivailo Monev
671d45fe1d generic: adjust to Katie changes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-04-22 04:29:48 +03:00
Ivailo Monev
c31499dd07 generic: drop messages handler support
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-04-20 20:17:56 +03:00
Ivailo Monev
f53d175e6b kio: handle non-local URLs in KRecentDocument and reject URLs with empty filename
this is mostly for KIO jobs that, for example, get remote URLs

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-04-20 16:28:28 +03:00
Ivailo Monev
3be77d2b5f kio: remove unused header inclusion
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-04-20 16:00:49 +03:00
Ivailo Monev
302a470d3b kded: drop unused window registration feature
no point in passing around windows to kded4 or its modules, job UI delegate
windows are different thing tho

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-04-20 15:45:36 +03:00
Ivailo Monev
d4ab9eae6c kio: KRecentDocument optimization
the bug report was related to the resources system that Katie does not
support

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-04-19 04:35:28 +03:00
Ivailo Monev
2f485d5376 generic: replace QThreadPool and QRunnable with custom class
on a side note it does not solve any thread-safety issues, such are out
of the scope of the class

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-04-18 03:05:03 +03:00
Ivailo Monev
d4fb98cc28 generic: KIO protocols classification optimization
unfortunate as it is the class for getting protocol information is not
part of kio library so generic..

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-04-14 09:54:36 +03:00