Commit graph

5461 commits

Author SHA1 Message Date
Ivailo Monev
e4fbbef130 kio: move private KIO::PasteDialog class where it belongs
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-03 11:27:37 +03:00
Ivailo Monev
da0271810a kio: minor KIO::Scheduler optimization
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-03 10:24:36 +03:00
Ivailo Monev
c4eb95672e kio: pass the device to KMimeType::findByNameAndContent()
it reads more than 1024 because it is unknown how much data the rules need

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-03 09:38:02 +03:00
Ivailo Monev
6f38be8580 kio: remove unused typedefs
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-03 09:27:45 +03:00
Ivailo Monev
f88f9f9b13 kio: KIO::SlaveInterface review
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-03 09:27:34 +03:00
Ivailo Monev
da1448658a kio: suspend slaves to prevent data going in or out
that design flaw needs a proper fix but it will not happen until I rewrite
everything job-related

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-03 09:13:47 +03:00
Ivailo Monev
053420e816 kutils: read data from files and write it to archive in chunks
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-03 08:13:57 +03:00
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
bd9f76451d generic: remove redundant metatype registrations
builtin

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-03 02:17:57 +03:00
Ivailo Monev
2d61f31612 kdecore: PCI IDs database update
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-03 01:30:53 +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
b5b73968c3 kioslave: initialize variable in FileProtocol::put()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-03 01:06:22 +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
1c22bf126b kdecore: round duration to seconds in KLocale::formatDuration()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-02 22:02:07 +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
5a3d145146 includes: remove header for now gone class
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-02 11:37:42 +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
d02a35de93 kdecore: remove redundant private member
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-02 10:28:02 +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
dcb57aa69a kdeui: manually delete the dialog in KMessageBox::createKMessageBox()
Qt::WA_DeleteOnClose can have some unforseen consequences

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-02 08:57:44 +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
aeef583555 kdeui: unregister any registered jobs from KPlasmaJobTracker destructor
this is so that jobs are not left in the plasma applets as active when, for
example, the program that has jobs registered is interrupted by a signal
(be that ctrl+c or something nasty like SIGSEGV). KUiServerJobTracker
was just warning about it but I can do better

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-01 06:48:43 +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