Uploaded image for project: 'Qt Creator'
  1. Qt Creator
  2. QTCREATORBUG-29890

Stand-alone Qt Creator tasks

    XMLWordPrintable

Details

    • Task
    • Resolution: Unresolved
    • Not Evaluated
    • None
    • None
    • All Other Issues
    • 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

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

              hjk hjk
              hjk hjk
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:

                Gerrit Reviews

                  There are no open Gerrit changes