-
Notifications
You must be signed in to change notification settings - Fork 5
Brainstorming
Ivailo Monev edited this page Jul 31, 2023
·
64 revisions
Here are a few ideas:
- use Freetype2 rasterizer and remove
QRasterizer
- reimplement classes with STL alternatives
-
QMap
withstd::map
-
QReadLocker
/QReadWriteLock
withstd::shared_lock
/std::shared_mutex
-
QWriteLocker
/QReadWriteLock
withstd::unique_lock
/std::shared_mutex
-
QTextStream
/QDatastream
withstd::stringstream
- etc.
-
- use libvips for image operations
-
Q_NO_RESERVE
compile time definition to disable reserving space for elements in containers, e.g.QHash
, for memory constrained systems - tunnable
QCache
alternative, e.g. associated with a key in the toolkit or per-application config - tune
QFile
I/O withposix_fadvise
- optionally lock
QFile
I/O withflock
-
QFileRollback
to rollback changes on write failure - optionally encrypt
QTemporaryFile
content - write script to shuffle struct members and find most optimal order to reduce the struct size
- use
QErrorMessage
to report warnings, errors and fatal conditions - gdb-like tool for the GUI component, to be done on the repaintengine branch via Cairo scripting feature
- tune quality of images saved via
QImageWriter
based on its width, height and the desktop resolution - fuzz tool for applications
- set random writable
QObject
/QWidget
property to random value - process events
- trigger random public signal
- process events
- repeat
- set random writable
And some patches that should be considered:
Tag commits with TODO, FIXME, BUGFIX and other keywords that may be used to:
- generate release notes
- generate obvious TODO list
- make it easier to find for package maintainers that backport fixes
- do something fancy
Katie is part of the Katana Desktop Environment project.