Details
-
Epic
-
Resolution: Unresolved
-
P2: Important
-
None
-
5.15, 6.3.0, 6.5
-
None
-
Qt has no answer to Gio and GVfs
-
Description
We all know that Alexander Larsson won the battle of the virtual file systems. Today GLib's Gio with GVfs is massively better than KDE's KIO with its kio-slaves.
Any further discussion after about 15 years of debacle is more or less pointless: everybody and everything uses Gio with GVfs. Almost nothing uses KIO (except KDE's software titles). And KIO is completely unmaintained and its code is rotting.
Meanwhile almost everybody wants a virtual file system API from Qt.
I think its implementation should follow Gio's, which unlike KIO's include a rich support for streaming.
I think the API should utilise the QPromise and QFuture advancements that Qt finally has been making in its 6.x series.
And I think it's time to do it.
Perhaps firstly by wrapping GLib's Gio. And by that I mean to rid ourselves of Qt ideologies and allowing a GLib/Gio dependency. Until somebody makes a implementation that is pure to C++ without GLib (yes, whatever).
The problem, I think, with the whole silly debate is that for decades now: we are not making good abstractions that just work for the end-users of the Qt framework.
This end-user really doesn't care about this ideology, or lack of ideology. This end-user just wants a way to address a virtual file system.
I think the end-user is right to expect this in goddamn 2022.
Attachments
Issue Links
- covers
-
QTBUG-129368 Research QFileV2 equivalent with async access from scratch
- Open
-
QTBUG-129365 Enable QFile supporting asynchronous file access
- Open
- is duplicated by
-
QTBUG-124395 (Re-)create a stable QAbstractFileEngine-ish interface
- Reported
- is required for
-
QTBUG-108146 move remote resource loading from Qt Quick to QtCore
- Reported
- relates to
-
QTBUG-99611 Webassembly Support for "File System Access API"
- In Progress
-
QTBUG-112962 [iOS] FileDialog is unable to select files from iCloud Drive
- Reported
-
QTBUG-86437 Absence of (supported) codec handling in Qt6 / Stream/Text/ReaderWriter
- Reported
-
QTBUG-124884 QLibrary/QPluginLoader: add async load() public API
- Reported
-
QTBUG-41387 Can't add a custom file system support (QFSFileEngine, QAbstractFileEngine, QAbstractFileEngineIterator, and QAbstractFileEngineHandler not replaced)
- Reported
-
QTBUG-29121 need QAbstractFileEngine set public export
- Open
-
QTBUG-3897 Please make QZip as a permanent class inside Qt
- Open
-
QTBUG-92155 Provide a QML module for file system access
- Open
-
QTBUG-7010 QFileSystemModel does not work on the virtual resource file system
- Open
-
QTBUG-84572 Provide QUrl to Qt path conversion utils
- Open
-
QTBUG-35688 QQuickTextEdit: Make it possible to change the text document
- Closed