This PR contains all the needed bits to get KVIrc to compile with both Qt5 and Qt6.
Big changes:
QRegExp usage has been ported to QRegularExpression. To avoid disruptive (and future) changes, a new KviRegExp class has been created that mimics the old interface already used in KVIrc;
QChar and QString are more picky when casting from an integer/char, a lot of explicit casts had to be added;
obligatory class and method renames to follow qt's quest for the perfect word;
QKeySequence (used for shortcuts) doesn't like anymore the classic Qt::Modifier + Qt::Key style, so a bit of rework had to be done to keep the definitions compatible with both Qt5 and Qt6
Changes that will need some rework (last commit):
QFont changed the weight scale in Qt6, in order to use the new values we'd need to fix all configuration files in all themes. By now, it uses the legacy deprecated values.
QTextCodec is depecated, and the new QStreamConverter only supports Utf8/16/32 and Latin1 before Qt6.5. By now we stick to qt5compat's QTextCodec.
Other warnings that needs fixing:
all QMessageBox calls needs to be rewritten using a different ctor (the one with StandardButtons);
QVariant::type() is deprecated
The plain is to get this working on CI, collect any comment and maybe start getting the good commits one by one in master.
This PR contains all the needed bits to get KVIrc to compile with both Qt5 and Qt6. Big changes:
Changes that will need some rework (last commit):
Other warnings that needs fixing:
The plain is to get this working on CI, collect any comment and maybe start getting the good commits one by one in master.