Commit graph

920 commits

Author SHA1 Message Date
Ivailo Monev
da154d3195 kio: replace KFileItemPrivate::readUDSEntry() with its body
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-21 01:30:56 +03:00
Ivailo Monev
8475feef40 kio: format and indent
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-21 01:26:19 +03:00
Ivailo Monev
1f028422e8 kio: remove unused KIO::StandardFieldTypes::UDS_HIDDEN enum
UNIX being UNIX the leading dot meaning a file/directory is hidden is not
going anywhere, the private KFileItem hidden member is always set to
KFileItemPrivate::Auto too

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-21 00:29:10 +03:00
Ivailo Monev
3251c5eb1b kio: replace KFileItemPrivate::size() and KFileItemPrivate::cmp() with their body
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-21 00:14:18 +03:00
Ivailo Monev
a990de2b93 kio: KFileItemList::urlList() and KFileItemList::targetUrlList() optimization
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-21 00:08:22 +03:00
Ivailo Monev
ea56b1c92f kio: KFileItem::mimeComment() optimization
KFileItem::mimeTypePtr() is lesser version of
KFileItem::determineMimeType() and if KFileItem::determineMimeType() did
not return valid KMimeType::Ptr then neither will KFileItem::mimeTypePtr()
but calling KFileItem::::mimeTypePtr() after KFileItem::determineMimeType()
is redundant

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-20 23:57:46 +03:00
Ivailo Monev
632f5e52de kio: make the internal KIO::CopyInfo actually private, remove unused KIO::CopyJob signal
the signal is actually not used, see the following commit in kde-workspace:
45bbcd5e5e963d029974e09fd66edc454e7e9dc4

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-20 23:23:05 +03:00
Ivailo Monev
903e15327d kio: remove unused headers inclusions in kfileitem source file
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-20 22:45:14 +03:00
Ivailo Monev
29a6bc934a kio: convert KFileItem::permissionsString() to proper getter
way too much private and mutable KFileItem members, not used a lot so the
performance impact is next to none

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-20 22:08:35 +03:00
Ivailo Monev
a487c9edc6 kio: drop KFileItem metadata related getter and setter
first thing first - KFileMetaInfo does not support non-local files and
KFileItem is ment to be wrapper for both local and (most importantly)
remote (including virtual KIO) files. KIO::UDSEntry does not carry metadata
either so having a metadata getter and setter in KFileItem is simply
redundant, both are not tested and used only by plasma folderview applet
(see kde-workspace/plasma/applets/folderview/tooltipwidget.cpp)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-20 21:03:18 +03:00
Ivailo Monev
39daa5baf3 kio: check if the KMimeType pointer is null in KFileItem::mimetype()
fixes possible crash (in the unusual case when the MIME type cannot be
determinted)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-19 07:38:04 +03:00
Ivailo Monev
757ac43baf kio: do not attempt to get metadata for non-local file URLs
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-18 03:48:11 +03:00
Ivailo Monev
4e1fc45705 kio: remove unused KFileMetaInfo flags
when it comes to KFileMetaInfo its bottleneck is determening what plugin to
use for the given URL/path - determening MIME type, matching globs, etc.
and it still is quite fast to the point where the flags are simply
redundant

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-18 03:36:06 +03:00
Ivailo Monev
3371f4866a kio: KFileMetaInfo::name() optimization
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-18 03:16:12 +03:00
Ivailo Monev
7e01cd1bee kio: format and indent
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-17 23:14:02 +03:00
Ivailo Monev
f35801d3ee kio: initialize KIO::FileCopyJobPrivate members
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-17 22:53:33 +03:00
Ivailo Monev
e94cf597a6 kio: use the QByteArray::append() method in KIO::StoredTransferJobPrivate::slotStoredData()
does the same really

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-17 22:08:06 +03:00
Ivailo Monev
7452efccf4 kio: format and indent
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-17 22:05:51 +03:00
Ivailo Monev
2186a064bb kio: replace KIO::SimpleJobPrivate::simpleJobInit() with its body
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-17 21:48:21 +03:00
Ivailo Monev
c20c6cc64f kio: remove unused KIO::JobPrivate::emitMounting() and KIO::JobPrivate::emitUnmounting() methods
mounting and unmounting is no longer done by kio

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-17 21:44:01 +03:00
Ivailo Monev
f987d060a2 kio: remove unused async data sending feature
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-17 21:37:09 +03:00
Ivailo Monev
bce5621ae2 kio: remove unused and private KIO::TransferJobPrivate members
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-17 21:19:25 +03:00
Ivailo Monev
bccf27bfe0 kio: compare the items via KFileItem::cmp() too in KDirListerPrivate::_k_slotUpdateResult()
contrary to common sense the KFileItem comparison operator does not compare
the item attributes, only the URL

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-16 08:11:12 +03:00
Ivailo Monev
888f1bec7c generic: drop support for sequenced thumbnails
unused

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-15 00:24:33 +03:00
Ivailo Monev
2c647b3eee kio: initialize the KIO::PreviewJob members from already created config instance
no point to delay it and re-open config

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-15 00:07:17 +03:00
Ivailo Monev
16950e124e kio: remove unused KIO::PreviewJobPrivate member
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-15 00:04:33 +03:00
Ivailo Monev
084a03fb5e kio: iterate over a copy of the watched URLs list in KDirLister::openUrl()
because KDirListerPrivate::unwatchUrl() modifies the list, fixes possible
crash (if the watched URLs list was not empty)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-14 08:09:28 +03:00
Ivailo Monev
f8871a44ff kio: remove reference to non-existing drag-n-drop format
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-13 07:05:27 +03:00
Ivailo Monev
71bfaa374e kio: always create KDirNotify isntance for KDirLister
for emblem icon on shared directories for example (file property change)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-09 20:53:39 +03:00
Ivailo Monev
16f575c7e9 kio: do not emit refresh for the root item on KDirLister update
dolphin for example assumes that signals are emitted only for the filtered
items, not for the root too

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-07 18:15:41 +03:00
Ivailo Monev
cf207aaa67 kio: remove redundant KDirNotify signals
see 693febf429, and since mount points are
local directories (or rather not a KIO thing) KDirWatch will notify
about the changes when the mount point directory no longer contains
entries

bonus points for reducung the D-Bus traffic

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-06 18:29:56 +03:00
Ivailo Monev
49e58e0380 kio: emit deleted before added items from KDirLister
fixes dolphin model inconsistency

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-06 18:00:56 +03:00
Ivailo Monev
7e035dbe90 kio: additional note about the refresh of .desktop files on KDirLister update
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-06 17:12:10 +03:00
Ivailo Monev
2116909445 kio: KDirLister update optimization
one more thing to (possibly) optimize - KDirListerPrivate::_k_slotFileRenamed(),
after that its hammer (test) time and I already have something in mind

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-06 08:35:36 +03:00
Ivailo Monev
7ca48a2806 kio: check if the local watcher exists before attempting to remove entries from it in KDirListerPrivate::unwatchUrl()
for the rare case of currently listing remote protocol (such as
filenamesearch:/) and local file that is not watched being deleted (the
signal is emitted by KDirNotify)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-06 08:06:15 +03:00
Ivailo Monev
6deb136bad kio: remove unused constant in KDirListerPrivate::unwatchUrl()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-06 07:36:33 +03:00
Ivailo Monev
8e6b9e3b28 kio: do not set KFile::LocalOnly in KFileDialog::getExistingDirectoryUrl()
KFileDialog::getExistingDirectoryUrl() is used to get remote directories
too

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-06 05:57:11 +03:00
Ivailo Monev
3caf682ebb kio: watch/unwatch on KDirLister update
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-06 05:01:47 +03:00
Ivailo Monev
b5df13055c kio: correct desktop items pair in KDirListerPrivate::_k_slotUpdateResult()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-06 05:00:00 +03:00
Ivailo Monev
092de4a493 kio: note in the KDirLister documentation that some signals are emitted on update
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-06 04:24:27 +03:00
Ivailo Monev
b05beace42 kio: replace KDirLister::doNameFilter() and KDirLister::doMimeFilter() with their body
KDirLister::matchesFilter() and KDirLister::matchesMimeFilter() overloads
are virtual already

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-06 02:28:49 +03:00
Ivailo Monev
a1c2742223 kio: KDirLister overhaul to update via KIO::ListJob
passes practical, dolphin and gwenview tests. moveover KDirLister will
now emit partial updates

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-06 01:25:12 +03:00
Ivailo Monev
d3aa5356fd kio: do not emit KDirLister::itemsDeleted() from KDirLister::openUrl()
if anything expected signals should be adjusted in tests,
KDirLister::clear() is emitted anyway

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-05 08:43:16 +03:00
Ivailo Monev
2e682648c9 kio: update comments about KFile::Mode enums
KFileWidget now handles directories properly - booyah!

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-05 06:24:48 +03:00
Ivailo Monev
b0d0a4ee18 kio: do not convert the element attribute to latin1 in KBookmark::url()
that will only convert it back to QString in the KUrl constructor but it
will not be from UTF-8 bytes - the attribute string is converted to latin1,
duh

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-05 05:47:03 +03:00
Ivailo Monev
74dc070da5 kfile: remove duplicate header inclusion
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-05 02:31:52 +03:00
Ivailo Monev
db4190995a kio: check if the currently set URL is valid before updating in KDirLister::updateDirectory()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-05 00:39:04 +03:00
Ivailo Monev
7762ec727b kio: KDirListerPrivate::_k_slotEntries() optiomization
only for the case when not automatically updating (not adding to the URL
list to save memory and computation)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-05 00:38:16 +03:00
Ivailo Monev
9767ce8fc4 kio: watch the sub-directories when listing recursively
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-05 00:00:14 +03:00
Ivailo Monev
5d60973ab4 kio: implement recursive listing for KDirLister
to be used by the gwenview recursive model, note that recursive listing via
KIO::listRecursive() does not follow links

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-04 21:17:30 +03:00