Details
-
Task
-
Resolution: Unresolved
-
Not Evaluated
-
None
-
None
-
None
Description
QAbstractFileEngine was public for a while until it was made private for Qt 5 in https://codereview.qt-project.org/c/qt/qtbase/+/15236.
This is, however, useful API, used by Qt Creator and in the wild[1,2] and repeatedly asked for after its disappearance[3,4,5,6]. While using the private class is possible (and grudgingly done e.g. by Qt Creator), this comes with severe penalties, like pinning to a specific Qt version[7] or extra maintenance effort[8]
It would be good to have a stable interface to this functionality again.
This does not necessary mean to revert the change the hiding of QAbstractFileEngine, but could be some e.g. be some separate public class with a similar interface holding and redirecting to a suitable QAFEngine member (pimpled when needed). Or any other
mechanims to the same effect.
[1] https://www.denondj.com/products/dj-players.html
[2] https://www.airmusictech.com/virtual-instruments.html
[3] https://www.qtcentre.org/threads/71831-What-is-replacement-for-QAbstractFileEngine
[4] https://stackoverflow.com/questions/46427908/removing-modifying-static-qt-resources-in-run-time [5] https://stackoverflow.com/questions/64486344/using-qsettings-with-data-stored-in-a-qbytearray-or-qiodevice
[6] https://softwareengineering.stackexchange.com/questions/409967/fake-filesystem-for-unit-tests
[7] https://codereview.qt-project.org/c/qt-creator/qt-creator/+/554977
[8] https://codereview.qt-project.org/c/qt-creator/qt-creator/+/547029
Attachments
Issue Links
- duplicates
-
QTBUG-103246 Qt should have a QIo like what KIO is. But much much better
- Open
- is duplicated by
-
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