#include <KIO/Job>
#include <kio_version.h>
#include <KLocalizedString>
-#include <KLazyLocalizedString>
#include <KUrlMimeData>
#include <QElapsedTimer>
void KFileItemModel::setShowHiddenFiles(bool show)
{
+#if KIO_VERSION < QT_VERSION_CHECK(5, 100, 0)
m_dirLister->setShowingDotFiles(show);
+#else
+ m_dirLister->setShowHiddenFiles(show);
+#endif
m_dirLister->emitChanges();
if (show) {
dispatchPendingItemsToInsert();
bool KFileItemModel::showHiddenFiles() const
{
+#if KIO_VERSION < QT_VERSION_CHECK(5, 100, 0)
return m_dirLister->showingDotFiles();
+#else
+ return m_dirLister->showHiddenFiles();
+#endif
}
void KFileItemModel::setShowDirectoriesOnly(bool enabled)
indexesToRemove.reserve(items.count());
KFileItemList dirsChanged;
+ const auto currentDir = directory();
+
for (const KFileItem& item : items) {
+ if (item.url() == currentDir) {
+ Q_EMIT currentDirectoryRemoved();
+ return;
+ }
+
const int indexForItem = index(item);
if (indexForItem >= 0) {
indexesToRemove.append(indexForItem);
data.insert(sharedValue("text"), item.text());
}
- if (m_requestRole[ExtensionRole]) {
+ if (m_requestRole[ExtensionRole] && !isDir) {
data.insert(sharedValue("extension"), QFileInfo(item.name()).suffix());
}
break;
}
+ case AccessTimeRole: {
+ const long long dateTimeA = itemA.entry().numberValue(KIO::UDSEntry::UDS_ACCESS_TIME, -1);
+ const long long dateTimeB = itemB.entry().numberValue(KIO::UDSEntry::UDS_ACCESS_TIME, -1);
+ if (dateTimeA < dateTimeB) {
+ return -1;
+ } else if (dateTimeA > dateTimeB) {
+ return +1;
+ }
+ break;
+ }
+
case CreationTimeRole: {
const long long dateTimeA = itemA.entry().numberValue(KIO::UDSEntry::UDS_CREATION_TIME, -1);
const long long dateTimeB = itemB.entry().numberValue(KIO::UDSEntry::UDS_CREATION_TIME, -1);