Details
-
Task
-
Resolution: Unresolved
-
Not Evaluated
-
None
-
None
-
None
Description
These are some task suitable to get started with Qt Creator development that don't require deep initial insight but may help to get acquainted with the code base.
Finish or at least progress on ongoing refactorings
FilePathify
Utils::FilePath is simpler to use and allows to handle "remote" files transparently. Replace QFilePath, QDir,... by FilePath
[This is "really wanted", and straight-forward to implement, but can need testing in unusual environments]
De-Q_OBJECT-ify
Since the need to mark functions as "slots" is gone with the non-string based connects() and we use the Tr::tr() pattern to mark translatable strings, the Q_OBJECT macro is practically only needed for the (rare) cases of qobject_casts and the case of new signals. In the other cases it imposes slight overhead on .text size and compile times for no real benefit.
[This is "nice to have", straight-forward also for beginners]
Use ActionBuilder to create/register Core::Commands/Core::Action
This will be part of the "Stable Creator API", would be good to eat our own dogfood
[This is "nice to have", straight-forward also for beginners]
Inline remaining .ui files
(Widget-).ui files in the core creator code base have mostly been dropped since the use of LayoutBuilder in code has proven to be less maintenance effort overall. There are 13 files left in the core code base. [This is "wanted", all these are QmlDesigner plugin, so it might be good to be already somewhat familiar with that part of the code base.
[This is "wanted", straight-forward also for beginners]
Proceed with Tr::tr
The per-class translation contexts that "plain" tr() provides are too fine-grained and change too often when code pieces are moved around, resulting in significant more work for translators. We therefore are now generally using per-plugin contexts. Notably exception is the QmlDesigner plugin, that should be adapted, too
[This is "wanted", straight-forward also for beginners, can go hand-in-hand with the .ui inlining]
Proceed with TaskTree use
Creator is full of smaller "task" (external processes, parsers, ...) that need to be combined sequentially or in parallel, can produce errors etc. We now have the TaskTree framework making this much simpler and more robust and more flexible at the same time, but a lot if the existing code still uses the traditional approach of "handcrafted" error handling/parallelization often with latent bugs or missed optimization opportunity. (Some of) these should be adapted
[This is "really wanted", with varying degrees of complexity]
New Features
Minimap
https://bugreports.qt.io/browse/QTCREATORBUG-29177
[From the 2024 wish list, result is performance-critical, i.e. a "senior" job]
Support setting the translation context for a QML file
https://bugreports.qt.io/browse/QTBUG-114528
[This is actually something for the Qt side, but would allow us in the long run to finish the Tr::tr effort also for plugins containing .qml code. A "senior" job for someone already familiar with the code side of QtQuick]
Support binary trace format
JSON is too slow
UX
Tooltips
A lot of UI elements lack tooltips or similar "in-place help"
Attachments
Issue Links
- relates to
-
QTCREATORBUG-29177 Minimap support
-
- Reported
-
- mentioned in
-
Page Loading...