Commit graph

1025 commits

Author SHA1 Message Date
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
Ivailo Monev
9bab635b46 kio: remove redundant spacing override
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-04-10 03:51:12 +03:00
Ivailo Monev
8293d08153 kdeui: rework job tracking
just watch me do it without a dedicated D-Bus service and dataengine

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-04-07 23:35:17 +03:00
Ivailo Monev
179d6768bf kio: correct buffer size in KIO::SocketConnectionBackend::sendCommand()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-30 21:54:03 +02:00
Ivailo Monev
1eaf89824e generic: make use of the new QPixmap comparison operators
requires the following commit from the Katie repo:
e28900041a4e78589f3ba28c36fda5bfd6e0f150

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-30 13:07:11 +02:00
Ivailo Monev
d9847b4290 kio: remove unused read timeout getters
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-29 15:44:06 +02:00
Ivailo Monev
f1521944ed kio: documentation updates
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-29 10:15:33 +02:00
Ivailo Monev
b43339cf19 kio: drop proxy support
because curl internally checks the environment for proxy-related variables
it is redundant to duplicate that feature, that however is possible due to
the rewrite of the ftp, sftp and http slaves that I did. some other changes
were made while at it such enable automatic resuming by default, if KIO
slaves cannot resume or do not resume transfers that is different thing

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-29 09:54:38 +02:00
Ivailo Monev
1eaf3dab61 kio: remove kfilemodule leftovers
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-27 06:12:57 +02:00
Ivailo Monev
4df06d8f7a generic: adjust to Katie changes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-24 02:43:33 +02:00
Ivailo Monev
6e654af2b3 kio: implement KFileWidget::setConfirmOverwrite() and KFileWidget::setInlinePreviewShown()
no idea why those methods were stubs but KFileWidgetPrivate had a method
for it

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-24 02:32:50 +02:00
Ivailo Monev
7dd0200d8f kio: de-virtualize KFileWidget methods
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-24 02:28:43 +02:00
Ivailo Monev
a65bd3b685 kfile: merge it into kio
once upon a time it was either part of it or was separated from it

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-24 01:19:59 +02:00