Commit graph

3671 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
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
Ivailo Monev
9d5d4d3f72 kdeui: remove the compat KApplication::saveYourself() signal
now unused

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-22 14:36:22 +02:00
Ivailo Monev
5d2bbf9b77 kded: apply XDG_MENU_PREFIX only to the main applications menu file
the spec documents it only for use with the applications menu file

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-22 13:22:22 +02:00
Ivailo Monev
81ac307c68 kutils: move some KArchive MIME types from the writable to the readable list
side note: `bsdtar` creates archives with the MIME type extension as
application/x-tar even if the extension is not recognized by libarchive
(i.e. autodetection fails but it proccedes anyway)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-22 01:57:19 +02:00
Ivailo Monev
890dfa808d kded: prefix the applications menu with kde-
according to the spec it may be prefixed, if it is XDG_MENU_PREFIX must
be exported (which matters not to Katana since the main application menu
file is hardcoded anyway). for reference:
https://specifications.freedesktop.org/menu-spec/menu-spec-1.0.html

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-22 01:08:35 +02:00
Ivailo Monev
a4ac5fbb46 kded: do not deep-copy QString objects when iterating
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-22 01:03:54 +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
e921df61cf kdecore: implement option to recurse into sub-directories from KDirWatch::addDir()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-21 11:47:56 +02:00
Ivailo Monev
6160da3e6a kdecore: remove the paths from the internal KDirWatch list
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-21 11:18:24 +02:00
Ivailo Monev
ece9331d4b kutils: KArchive documentation correction
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-21 00:49:54 +02:00
Ivailo Monev
03aba012a0 kdecore: KDirWatch rewrite
I rewrote QFileSystemWatcher some time ago for it to be able to watch
non-existing directories, did rewrite KDirWatch too to not use FAM
and inotify making the created() and deleted() signals non-operational
(with the plan to maybe implement them in QFileSystemWatcher but that
will be hack-ish for directories with stat()-based implementation)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-21 00:24:49 +02:00
Ivailo Monev
1cf9b433f7 cmake: consistent enviornment variable for FFmpegThumbnailer header and library path
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-20 18:45:40 +02:00