Welcome!

Welcome to the official BlackBerry Support Community Forums.

This is your resource to discuss support topics with your peers, and learn from each other.

inside custom component

Native Development

Reply
Contributor
achipa
Posts: 19
Registered: ‎02-12-2012
My Carrier: N/A

QtInfo on BB10

[ Edited ]

Rejoice ! QtInfo (your swiss army knife info-tool for everything Qt on any platform) is now available for BB10. I'm having some issues with appworld so not quite downloadable from where it should be, but you can already get the .bar from the project home at https://projects.developer.nokia.com/qtinfo until the appworld submission goes through.

 

Known issues (=not shown for now in QtInfo):

- FontDatabase support is broken on BB10 cascades apps

- QtOpenGL support is broken on BB10 cascades apps

- Multimediakit seems to be broken in BB10 cascades apps

- Some Qt.Labs modules present but unusable/unsupported

 

Here is what it shows currently on a Dev Alpha with 10.0.9.1103

 

 

 

 

-----
Author of QtInfo, the universal Qt info-tool for everything Qt
Please use plain text.
Developer
BGmot
Posts: 1,061
Registered: ‎11-24-2011
My Carrier: x

Re: QtInfo on BB10

Is this app build using Qt or Cascades UI?

Please use plain text.
Contributor
achipa
Posts: 19
Registered: ‎02-12-2012
My Carrier: N/A

Re: QtInfo on BB10

[ Edited ]

Qt Info is special - it doesn't really have a "native" UI tech, the beauty of it is that it identifies the options at runtime and chooses the best available one (it can have literally all of QWidgets, QtQuick, QQC and Cascades UIs in a single binary). In the case of the QNX build the default choice *is* cascades and I'm still working on how to make it possible to be able to fall back to something else.

 

PS: If you scroll down on https://projects.developer.nokia.com/qtinfo you'll see a few screenshots of how it looks like on various platforms - and I emphasize this is NOT a compile-time choice, but runtime checking and loading of various modules.

-----
Author of QtInfo, the universal Qt info-tool for everything Qt
Please use plain text.
Developer
BGmot
Posts: 1,061
Registered: ‎11-24-2011
My Carrier: x

Re: QtInfo on BB10

Thank you for this information but how do you (technically) compile a binary with both Qt's

QApplication app(argc, argv);
app.exec();

and Cascades':

Applicationapp(argc,argv);
Application::exec();

 is that possible?

Please use plain text.
Contributor
achipa
Posts: 19
Registered: ‎02-12-2012
My Carrier: N/A

Re: QtInfo on BB10

[ Edited ]

In theory, the same mechanism I'm using for dynamic UI loading could be used for that, too. You would have a main() with neither QApplication nor Application but a bootstrap loader that tries to load a .so that instantiates Application, and if that fails, loads a .so with QApplication. I think someone actually worked on something similar for Symbian (there the use-case was to pop-up an avkon "You don't have Qt installed" dialog if QApplication instantiation failed). I simply didn't do it that way currently because I haven't made up my mind if I want to adopt that as a general approach in QtInfo or not...

-----
Author of QtInfo, the universal Qt info-tool for everything Qt
Please use plain text.
Contributor
achipa
Posts: 19
Registered: ‎02-12-2012
My Carrier: N/A

Re: QtInfo on BB10

Come to think of it, there *is* one real world use-case for such a setup - if you want to run the same binary on the Playbook and the BB10 devices. Even if you bundle the Qt libs for your Playbook app, you'd still be missing cascades. This way at least you avoid #ifdeffing between PlaybookOS and BB10. And the black magic: when BB10 does come to Playbook, such an app will automagically use cascades without a recompile/reupload/QA/certify cycle. Ta-da !

-----
Author of QtInfo, the universal Qt info-tool for everything Qt
Please use plain text.
Developer
BGmot
Posts: 1,061
Registered: ‎11-24-2011
My Carrier: x

Re: QtInfo on BB10

Then your binary would include in this case tons of Qt libraries that are not needed for BB10. I prefer #ifdefing. Matter of taste of course.

Please use plain text.
Contributor
achipa
Posts: 19
Registered: ‎02-12-2012
My Carrier: N/A

Re: QtInfo on BB10

Well, not necessarily Qt and not necessarily tons :smileyhappy: The same principle applies if you have a pure OpenGL or SDL based UIs (so you choose between that and cascades, not necessarily QtWidgets). On the other hand, even if it is plain Qt you're using, it really depends on which ones you are using as you don't need to link/package/build ALL Qt libs (this is especially true for Qt5)

-----
Author of QtInfo, the universal Qt info-tool for everything Qt
Please use plain text.
Contributor
achipa
Posts: 19
Registered: ‎02-12-2012
My Carrier: N/A

Re: QtInfo on BB10

Differences in the 10.0.9.1675 firmware (too lazy to transfer and highlight in screenshots):

 

- 2012 Dec 8 build of Qt 4.8.4

- Model name available ("BlackBerry 10 Dev Alpha")

- Model number available ("PRO100-2")

- New QML plugin: bb.network.1

- New QML plugin: bb.utility.i18n.1

- New QML plugin: QtMobilitySubset.location

 

-----
Author of QtInfo, the universal Qt info-tool for everything Qt
Please use plain text.
Contributor
achipa
Posts: 19
Registered: ‎02-12-2012
My Carrier: N/A

Re: QtInfo on BB10

Differences in the 10.0.9.2320 firmware (too lazy to transfer and highlight in screenshots):

 

- 2013 Jan 8 build of Qt 4.8.4

- Qt modules - QtConnectivity added

- Model name changed ("10 Dev Alpha")

- New QML plugin: bb.cascades.pickers.1

- New QML plugin: bb.data.1

- New QML plugin: QtMobility.connectivity

-----
Author of QtInfo, the universal Qt info-tool for everything Qt
Please use plain text.