Commit graph

313 commits

Author SHA1 Message Date
Ivailo Monev
1dfb02b361 kutils: slightly better writable archive check
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-11 07:38:27 +03:00
Ivailo Monev
8d2453c1be kutils: manually set the archive filter when it is known to not be recognized by libarchive
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-11 07:31:53 +03:00
Ivailo Monev
c37e70c894 kutils: set the group and username of new archive entries
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-10 01:49:25 +03:00
Ivailo Monev
24a9ce64c2 kutils: implement KDNSSD::isSupported()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-10 01:35:08 +03:00
Ivailo Monev
bafbb328e9 kutils: return boolean from KDNSSD::startBrowse() indicating success or failure
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-10 01:34:47 +03:00
Ivailo Monev
2c7288649c kutils: stub KArchive progress signal
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-09 21:02:31 +03:00
Ivailo Monev
b3a991b9d6 kutils: test listing and extraction of password-protected archive
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-09 18:04:16 +03:00
Ivailo Monev
8caebd2d4f Revert "kutils: fix archive entry double-free in case of archive_write_header() failure"
This reverts commit faefab7258.
2022-10-09 16:00:17 +03:00
Ivailo Monev
e82f83a22a kutils: implement methods for checking if archive requires passphrase and set one for reading and writing
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-09 15:36:08 +03:00
Ivailo Monev
faefab7258 kutils: fix archive entry double-free in case of archive_write_header() failure
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-09 15:26:27 +03:00
Ivailo Monev
578396197e kutils: correct archive_read_extract2() failure error reporting
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-09 15:03:06 +03:00
Ivailo Monev
8009f7d734 kutils: remove extra dot in tmpName() function
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-09 06:02:01 +03:00
Ivailo Monev
02229df53a kutils: read the next header before skipping if path does not match in KArchive::list()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-09 05:38:52 +03:00
Ivailo Monev
59fef88db1 kutils: remove the config option to disable the power manager
disable the kded service if that is desired

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-08 21:06:17 +03:00
Ivailo Monev
8e4f5eeda0 kutils: add KSpeech test
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-08 20:54:21 +03:00
Ivailo Monev
c7514f9157 kutils: return boolean from KSpeech::removeAllJobs() and KSpeech::removeJob()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-08 20:23:19 +03:00
Ivailo Monev
4ff227e336 kdecore: emulate cross-filesystem move in KDE::rename()
if the temporary directory is of tmpfs type (which is the case on
Debian) then moving temporary files will fail thus thumbnails will not be
cached for example because they are stored as temporary file first and
then moved to ~/.thumbnails

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-07 22:38:57 +03:00
Ivailo Monev
0e3275dc35 kutils: make use of the new KTemporaryFile::filePath() method
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-07 05:22:41 +03:00
Ivailo Monev
9afece26a8 kutils: implement operator equal for KArchiveEntry
required to check if QList<KArchiveEntry> contains KArchiveEntry for example

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-06 21:31:25 +03:00
Ivailo Monev
720e62b6f1 kutils: check if the leading directory is writable from KArchive constructor
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-06 19:58:29 +03:00
Ivailo Monev
95162630d4 kutils: process events while iterating over the paths that need to be added in KArchive::add()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-06 22:28:16 +03:00
Ivailo Monev
6d66041086 kutils: zero-initialize the readlink() buffer in KArchive::add()
fixes adding to archive in case of symlink

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-06 22:22:52 +03:00
Ivailo Monev
16ebe8408f kutils: copy-pasta typo
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-06 22:21:40 +03:00
Ivailo Monev
779bb0e9ab kutils: KArchive documentation update
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-06 21:33:45 +03:00
Ivailo Monev
14f75001ba kutils: set the passphase callback to dummy one for now
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-06 21:09:54 +03:00
Ivailo Monev
2a0f817096 kutils: build fix for the case when strmode() is available
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-06 21:07:26 +03:00
Ivailo Monev
587259b61f kutils: save errno value before calling functions that may change it in KArchive::add()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-06 20:31:54 +03:00
Ivailo Monev
2170542166 kutils: define PATH_MAX to _POSIX_PATH_MAX if it is not defined
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-06 20:30:50 +03:00
Ivailo Monev
3ab3f3b47f kutils: new karchive library to replace KZip and KTar
it has to solve a few problems like:
1. blocking the current thread while listing, extracting or adding to
   archive
2. lack of support for some archive formats such as 7-zip in the
   previously available classes for dealing with archive
3. progress and error reporting

a KArchiveJob class may have to be implemented to solve the above
issues. the API is just as frustrating to use as KTar and KZip right now
tho and I am not happy with that but the class itself is a 3-rd rewrite
of what was once Python module, plugin for another project and now used
as base in library.

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-06 16:53:55 +03:00
Ivailo Monev
6641474990 kutils: make use of KToolInvocation::invokeHelp() in KCMultiDialog::slotHelpClicked()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-04 08:45:25 +03:00
Ivailo Monev
285b8f1490 kutils: create org.kde.kded interface on demand in KPasswdStore
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-04 02:42:56 +03:00
Ivailo Monev
f1a580ebaf kutils: fix build without MPV
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-02 13:37:59 +03:00
Ivailo Monev
cfe982a0b5 kutils: replace QT_STATBUF with KDE_struct_stat in KHTTPPrivate::accessCallback() for consistency
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-01 22:17:23 +03:00
Ivailo Monev
9980b9d70b kutils: KSpeech branches optimization
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-09-29 20:02:35 +03:00
Ivailo Monev
7c9aaf853e kutils: remove code used for debugging in kspeech source file
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-09-29 19:18:56 +03:00
Ivailo Monev
c14ba1b5d4 kutils: check the return values of speech-dispatcher function calls
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-09-29 18:58:34 +03:00
Ivailo Monev
911d4c575a kutils: check if volume and pitch values are in the range they are supposed to be
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-09-29 18:51:11 +03:00
Ivailo Monev
2588f50365 kutils: handle some special cases when setting voice
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-09-29 18:30:57 +03:00
Ivailo Monev
ea8820348b kutils: initialize speech-dispatcher connection only from KSpeech constructor and reinitialize on ID change
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-09-29 18:30:22 +03:00
Ivailo Monev
2673f025e6 kutils: do not remove all jobs from KSpeech destuctor
if the KSpeech object is stack-allocated then a voice message may be
dispatched and stopped shortly after when the KSpeech object is destroyed

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-09-29 18:27:32 +03:00
Ivailo Monev
ee7c852183 kutils: use the same default as speech-dispatcher for voice pitch
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-09-29 18:25:44 +03:00
Ivailo Monev
5fce9429a4 kutils: implement per-application (client) settings for KSpeech
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-09-29 16:00:48 +03:00
Ivailo Monev
d47d62e503 kutils: new kspeech library to replace the kttsd service and its interface
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-09-29 15:01:39 +03:00
Ivailo Monev
675a066c47 kutils: pass references where possible in KMediaWidget
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-09-28 12:03:32 +03:00
Ivailo Monev
7dc5187778 kdecore: replace most of KRandomSequence with new KRandom::randomMax() function
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-09-26 12:58:37 +03:00
Ivailo Monev
e88c621aa2 generic: authorization reimplementation
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-09-25 19:27:41 +03:00
Ivailo Monev
1a06d034e0 kutils: warn when the media player option type is invalid
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-09-23 08:03:09 +03:00
Ivailo Monev
7026d992e9 kutils: switch password store cipher to AES-256 CBC
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-09-21 02:03:46 +03:00
Ivailo Monev
16b6848ed5 kutils: stop the HTTP(S) server from its destructor
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-09-20 08:05:58 +03:00
Ivailo Monev
43e773758a kutils: build fix for the case when HAVE_OPENSSL is not defined
for reference:
https://github.com/fluxer/katana/issues/33

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-07-19 21:00:13 +03:00