Commit graph

3683 commits

Author SHA1 Message Date
Ivailo Monev
6b61bac251 kio: KHTTP optimization
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-25 20:33:55 +02:00
Ivailo Monev
907782ff6d kio: KHTTP::respond() documentation update
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-25 18:55:17 +02:00
Ivailo Monev
931a05dbb7 kio: do not assume server does not contain space characters in HTTPHeaders() function
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-25 18:44:18 +02:00
Ivailo Monev
046d5caaee kio: new KHTTP::setServerID() setter
because authentication is done before calling the virtual KHTTP::responed()
method which means that Server header set in the headers from it would have
no effect

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-25 18:33:02 +02:00
Ivailo Monev
11e4eacc8e kio: pass authentication requirement to KHTTPPrivate::writeResponse()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-25 18:14:57 +02:00
Ivailo Monev
3dbe3173be kio: drop support for custom authentication message, de-duplicate code
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-25 18:05:47 +02:00
Ivailo Monev
9e0707ff8b kio: reject large client payloads in KHTTP
for reference:
https://datatracker.ietf.org/doc/html/rfc7230#section-9.3

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-25 17:46:39 +02:00
Ivailo Monev
27caa4c394 kdecore: update reference to KHTTP debug area
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-25 16:46:15 +02:00
Ivailo Monev
1f60123bd7 kutils: check if the entry is directory as fallback when recursing in KArchive::remove() and KArchive::extract()
for some formats (such as ISO 9660 images) the directories do not end with
trailing slash

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-25 06:44:59 +02:00
Ivailo Monev
dc5aa31eca kio: KHTTP dcoumentation update
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-25 06:26:41 +02:00
Ivailo Monev
d51e0ec201 kio: do not assume the authentication message is non-empty in KHTTP
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-25 06:19:21 +02:00
Ivailo Monev
59567864f0 kio: translate the error in KHTTP::setAuthenticate()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-25 05:16:44 +02:00
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
0c2fa57bdd kutils: group structs and typedefs documentation
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-24 13:24:47 +02:00
Ivailo Monev
efa445c361 kutils: mark some KArchivePrivate methods as const
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-24 13:15:45 +02:00
Ivailo Monev
0bc98740e0 kutils: error string correction
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-24 13:13:14 +02:00
Ivailo Monev
5e4e0c83e2 kutils: minor KArchive documentation correction
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-24 13:03:20 +02:00
Ivailo Monev
c29fc4dca1 kutils: test KCompressor and KDecompressor with empty data
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-24 12:59:19 +02:00
Ivailo Monev
4c16e7c0d5 kutils: recursively remove/extract when paths contain directory
this also makes it match the behaviour of KArchive::add() which recurses
into directories and adds the files that the specified directory holds

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-24 01:56:21 +02:00
Ivailo Monev
7a4a048bdb cmake: do not install the WebP module
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-23 20:49:34 +02:00
Ivailo Monev
d4aaf51952 cmake: add FindLibmicrohttpd module to the list of modules that are not installed
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-23 20:47:09 +02:00
Ivailo Monev
58798988c1 kdeui: minor KApplication documentation correction
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-23 20:27:49 +02:00
Ivailo Monev
8c5d11fc77 kioslave: map CURLE_REMOTE_FILE_EXISTS and CURLE_COULDNT_RESOLVE_HOST to KIO errors
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-23 19:58:56 +02:00
Ivailo Monev
02c945a3ca kutils: plug file descriptor leak in case the output filepath is not a regular file
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-23 19:42:47 +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
ee59c22250 kdeui: minor KApplicationPrivate::sessionConfigName() optimization
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-23 18:40:00 +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
8ab4b4bd40 kdeui: close only QMainWindow and derived classes from the KApplication quit handler
any widget should be parented to the main window (i.e. be a child of the
main window)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-23 17:49:33 +02:00
Ivailo Monev
d5e9d695df kutils: do not stop the player from KMediaWidget destructor
the state is saved before terminating MPV and that may require the player
to be playing (not paused or stopped)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-23 17:46:55 +02:00
Ivailo Monev
d19d80431b kutils: stop the volume effect from KMediaWidget::setVolume()
the effect duration is 3sec but the user may change the volume meanwhile
via the volume widget

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-23 17:21:44 +02:00
Ivailo Monev
4dd219d38b kdeui: close top-level widgets from the KApplication signal handler
this is much like session management but simply quitting the application
does not close the windows, if windows are not closed they will be leaked
(KMainWindow and derived classes are created on the heap without parent!)
and not saved properly because destructors would not be called

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-23 17:11:10 +02:00
Ivailo Monev
38e370d475 kdeui: new KApplication::quitOnDisconnected() method, also setup quit signal handler by default
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-23 15:09:48 +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
786a11eeb0 kdeui: format and indent kdialogjobuidelegate source and header files
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-23 03:35:16 +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
110333d920 kioslave: replace KIO::ERR_COULD_NOT_AUTHENTICATE with KIO::ERR_COULD_NOT_LOGIN in http slave
according to the KIO::ERR_COULD_NOT_AUTHENTICATE error description it is
used when the authentication method is not supported, not when credentials
are required or incorrect

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-22 20:05:21 +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
5e3ceb0dd2 kdeui: quit KApplication when D-Bus daemon disconnects
so that applications (services like kglobalaccel, knotify, etc.) do not
keep running after the daemon quits (e.g. when program is started via
`kdesudo`, daemon quits but does not terminate services). there is a catch
tho - the order in which services quit may cause some trouble for
applications that do not expect services to suddenly stop

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-22 16:16:35 +02:00