Okteta making a small step to Qt6

Old, but stable, even more in when it comes to the feature set, and still getting its polishing now and then: your simple editor for the raw data of files, named Okteta.

What started in 2003 as a hex editing widget library for KDE3 (and Qt3), of course named KHexEdit (to be confused with the unrelated hex editor program that was part of KDE at that time), it turned into a first dedicated application by the title Okteta during the years 2006 to 2008 for KDE4 (and Qt4). From there on a small set of features was added once in a while, most impressively Alexander Richardson’s Structures tool in 2010,. Until then in 2013 the port to Qt5/KF5 was done (also to a good degree by Alexander). After that things had settled, the program working properly when needed, otherwise just left in the corner of the storage.

Now, nearly 2 decades after the first lines were written, the next port is to be done, to Qt6 and KF6. And this time the actual port is just amazingly boring: changing a few “Qt5” to “Qt6” in the buildsystem (and later some “KF5” to “KF6” once KF6 is ready), adding Qt6::Core5Compat as helper library for 1-2 classes that had not yet been substituted, adding a “const” to the argument of an overridden virtual method, replacing some forward declarations with includes to have all signal and slot argument types fully declared, adapting some “QStringList” forward declarations, a few more explicit constructor calls for type conversions… and done.

It’s even hard to spot a difference (Qt5 above, Qt6 below), just some margins are done differently by the style code right now:

Okteta 0.26.8 running on Qt5.15 & KF 5.94
Okteta (local work branch) running on Qt6.3 and pre-KF6

Well, the story has a dark spot though: the Structures tool is missing from the port for now. Because it uses an old JavaScript engine which is gone in Qt6 finally (QScript), and so far no-one has completed the port to an other JavaScript engine, .like the one part of QML.

So while the good people working on preparing KF6 are taking their time still as needed, there is despite this initial happy result a building block to finish for Okteta as well, to not suffer in this current port. And instead having it get even older and still stable 🙂

The thing to highlight here is: how all the preparation work done by the Qt and KF developers, when followed in due time on the consumer side by taking care of all the things marked deprecated in favour of the substitutes, pays out and has been worth the investment IMHO. No deep and wild waters to cross to the new version continent, just a small jump. Hopefully also for your software.

2 thoughts on “Okteta making a small step to Qt6

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.