Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Port codebase to Qt 6 #1642

Open
4 of 6 tasks
rkhaotix opened this issue Jan 18, 2022 · 1 comment
Open
4 of 6 tasks

Port codebase to Qt 6 #1642

rkhaotix opened this issue Jan 18, 2022 · 1 comment

Comments

@rkhaotix
Copy link
Member

rkhaotix commented Jan 18, 2022

In order to take advantage of new versions of Qt, the codebase must be ported to series 6.x (6.2 LTS preferably) since 5.15.x will reach its EOL until May 2023 which can impact a future code base porting since pgModeler 1.0 will be under development.

It would be great to move to CMake too. Fortunately, pull request #1649 contains a great starting point to move away from a qmake-based building in favor of CMake.

TODO

  • Rename QRegExp to QRegularExpression (Or use an alias for QRegularExpression?)
  • Remove deprecated code for QPrinter settings
  • Remove QtCompat in favor of Qt6-only code
  • Update signal/slot syntax from conect(obj, SIGNAL(), obj, SLOT()) to connect(obj, &Class::signal, obj, &Class::slot)

Signals which are not compatible with the slots parameters should be treated in a lambda to avoid using the classic connection syntax
Signals treated in lambda slots must pass the context object in the connect() call

https://github.com/KDE/clazy/blob/1.11/docs/checks/README-connect-3arg-lambda.md

  • Change multiple QString::arg() calls to a single call when all the arguments are strings.
  • Migrate to a CMake-based building
@backerman
Copy link

QT6 will also enable a native ARM64 build on Windows (although the AMD64 version works reasonably well in the meantime).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants