Commit graph

1072 commits

Author SHA1 Message Date
Ivailo Monev
f452e2e50b kdecore: reimplement KDateTime via QDateTime
KDateTime shall be used only for storing date and time while KLocale
shall be used to display such, not even going to test what KDateTime
does because it is basically a few methods on top of QDateTime now.

and because QDateTime knows not much about calendar systems while
KLocale supports several it makes sense for KDateTime to not be used for
displaying date and time thus the TODOs for KLocale are simply removed

note that KLocale still uses its own parser and formatter which means
that the change affects only KDateTime and its uses, not KLocale

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-21 07:51:13 +03:00
Ivailo Monev
53a5c81a3a kio: minor KRecentDocument::recentDocuments() optimization
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-21 01:46:20 +03:00
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