Blog  •  March 25, 2013  •  By ICS  •  Qt QML  • 
Introduction A quick trivia quiz: Does Qt use multiple inheritance? If so, how many public Qt classes use it? Does any Qt class directly inherit from more than two classes? Does Qt let you multiply inherit (directly or indirectly) from QObject? If you can correctly answer these questions off the top of your head you're definitely a Qt and C++ guru and can stop reading now. If not, then by the end of this article you will be able to answer these questions and impress your colleagues with your knowledge. What is Multiple Inheritance? Multiple inheritance is a feature...
Blog  •  March 11, 2013  •  By ICS  •  Qt QML  • 
Qt 5.0.0 introduced the QStandardPaths class. This expands on functionality that was in Qt 4 in the QDesktopServices class. The QStandardPaths class provides methods for accessing standard paths on a system such as the location of the user's desktop directory or location of a program executable. The class provides only static methods, so it never needs to be instantiated as an object. I wrote a small Qt-based graphical application that illustrates many of the features of the class. A screen shot is shown below.   Given one of about fifteen...
Blog  •  January 22, 2013  •  By ICS  •  Qt QML  • 
One sometimes needs to store information in a temporary location. POSIX compliant platforms like Linux provide the tmpfile() library function to create a unique temporary file that is automatically deleted when it is closed or the program terminates. Qt provides an abstraction of this with the QTemporaryFile class. Qt 5.0.0 introduces a new QTemporaryDir class that can create a temporary directory. The directory name is guaranteed to be unique and gets created by the constructor and removed in the destructor. Typically you create a QTemporaryDir on...
Blog  •  May 4, 2012  •  By ICS  •  Qt QML, Raspberry Pi  •  Qt, Cordova, Raspberry Pi
We've recently been running the Cordova tests and making some fixes to get them to run better. We've documented on the Wiki how to run the Cordova tests. See the section "Running Cordova Tests" at this wiki page. We hope to have a demo video up soon showing the tests running on the simulator and Nokia phones. Incidently, the Qt Wiki recently moved from http://wiki.qt-project.org/ to http://qt-project.org/wiki/ The older Wiki will go away at some point. We made a couple more videos showing a preliminary version of Wikipedia Mobile running on Cordova Qt....
Blog  •  April 23, 2012  •  By ICS  •  Qt QML, Raspberry Pi  •  Qt, Raspberry Pi, Cordova
Work has been slowing down somewhat as Qt 5 has been firming up for release. The Qt 5 alpha came out on April 3rd and we tested our code with it. Work is moving ahead for a Qt 5 beta release and then the 5.0.0 final this summer. Qt 4.8.1 also came out and we tested Cordova Qt with it. A 4.8.2 is expected in the next few weeks, indicating that Qt 4 is still actively being developed and is expected to do so for some time until Qt 5 is stable. Realistically I would expect many people to continue to use Qt 4 at least until Qt 5.1 is out, as some of the Qt Quick 2 C++ APIs will not be...
Blog  •  March 26, 2012  •  By ICS  •  Qt QML  •  Qt, Mobile, Cordova
In the past week or so we commited some more code for Contacts and Notification. Camera support has been submitted as a pull request. We are doing some testing on Symbian with a Nokia E7 phone  as we haven't done much testing on Symbian up to now. I updated the README.md file to better reflect the current status. I also added some links to the Wiki on Getting Started. We posted a YouTube video of Wikipedia Mobile running on a Nokia N9 running Cordova Qt. This can be considered alpha quality. We ran into some issues with WebKit on Qt 4 on...
Blog  •  March 13, 2012  •  By ICS  •  Qt QML, Raspberry Pi  •  Qt, PhoneGap, Raspberry Pi, Cordova
Throughout this project one thing that has been constantly changing has been the source code repositories, both due to several project names changes and with the move to being run as an Apache project. This last week the old repository at http://github.com/cordova/cordova-qt was removed and replaced by the read-only repository at http://github.com/apache/incubator-cordova-qt. The upstream repository is at http://git-wip-us.apache.org/repos/asf?p=incubator-cordova-qt.git. Changes made to the Apache repository get mirrored to github. Developers who are not maintainers can...
Blog  •  March 2, 2012  •  By ICS  •  Qt QML, Raspberry Pi  •  Qt, QML, Raspberry Pi, Cordova
Since the last posting we properly set up deployment of Cordova Qt for MeeGo Harmattan (e.g. the Nokia N9 phone). We also got Qt 5 packages including WebKit built for MeeGo Harmattan and tested it on a Nokia N9. Incidently, a big PR1.2 software update rolled out this week for MeeGo Harmattan phones. Both the Qt 4 and Qt 5 versions now use a QML WebView as there is no support for widgets on some mobile platforms. However, Symbian S60 systems may still be using Qt 4.6 which doesn't support QML so it looks like we still need to maintain a widget-based version for these systems. More of...
Blog  •  February 17, 2012  •  By ICS  •  Qt QML  •  Qt, Cordova, PhoneGap
This week we switched to the new repository. Some pull requests from the old repository had to be resubmitted. Changes were committed for : Patches to get code to compile with Qt 5 (still backwards compatible with Qt 4) Adding Compass sensor suport Renaming references to Callback or PhoneGap to Cordova Changes to use QML WebView in the Qt 5 version Pull requests are in review for Accelerometer support and Alerts. We're also moving to using a QML WebView for the Qt 4 version as there are some limitations with the C++ QWebView widget (at least on MeeGo Harmattan) that this...
Blog  •  February 13, 2012  •  By ICS  •  Qt QML, Raspberry Pi  •  Qt, Cordova, Raspberry Pi, PhoneGap
This week we finished implementing some Cordova APIs (at least for the Qt 4 version). Compass and Accelerometer are done and some of Events was implemented. Notification is done as is most of File support and we are starting work on Contacts and Camera. Note that I am going to start consistently using the name Cordova rather than Callback orPhoneGap for this project. One of the team completed the demo code for the new Qt5 WebView that illustrates passing messages in both directions between the QML JavaScript and WebKit HTML/JavaScript environments. I also...
Blog  •  February 6, 2012  •  By ICS  •  Qt QML  •  Qt, PhoneGap
There was no blog posting last week because I was away for some vacation in a warm place. This week work continued implementing the APIs for Accelerometer and Notification and using the Qt Simulator for testing. We also started looking at the new APIs needed to use WebKit2 from Qt 5. With Qt 5 and Webkit2 the APIs for QtWebKit and Web View are changing significantly. This is because with WebKit2, WebKit and the application run in different processes. The old QWebView widget will only be supported on Qt for desktops and won't use the new WebKit2. Mobile phone platforms typically won'...
Blog  •  January 29, 2012  •  By ICS  •  Qt QML  •  Qt, PhoneGap, Cordova
I thought it would be a good time to step back and review where we are on the Cordova Qt project, as it may not be obvious just from glancing at the Wiki. Software The source code is maintained in the Apache git repository at git-wip-us.apache.org as well as a read-only mirror for checkouts and pull requests at github.com (which is standard practice for Cordova). Links to the repositories are on the project Wiki. Documentation The main portal for information on the project is the Wiki page. The Wiki has a section on "Getting Started" with links...
Blog  •  January 16, 2012  •  By ICS  •  Raspberry Pi  •  Raspberry Pi
The Raspberry Pi folks report that the first batch of production boards is finally in production. The first 10,000 units should start becoming available around the end of this month. ICS should be getting a number of boards from this first batch which we will distribute among our developers. The people that won boards in our booth at Qt Developer Days should also shortly be receiving vouchers to claim their boards. Ten of the beta boards went up for auction on eBay as a fundraiser for the non-profit Raspberry Pi foundation. The first board sold was bought by an anonymous buyer and...
Blog  •  January 16, 2012  •  By ICS  •  Qt QML, Raspberry Pi  •  Qt, PhoneGap, Raspberry Pi
This week we did some marketing to promote the project. I made a posting to the callback developer mailing list and we put a link to this blog from the ICS web site. Quim Gil of Nokia kindly made a posting to the Nokia Qt blog. I also recorded a podcast with Mark Hatch for the ICS This Week in Qt podcast. All of this effort stimulated some good discussion on the blogs and callback developer mailing list. Based on comments from some of the Qt 5 and WebKit developers, we will need to implement the Web View differently in Qt 5 since the QWebView widget will...
Blog  •  December 6, 2011  •  By ICS  •  Raspberry Pi  •  Raspberry Pi
As part of the initiative to put Qt 5 on Raspberry Pi, ICS gave away over 70 Raspberry Pi boards to interested developers at Qt Developer Days last week. If you were one of the lucky winners, be on the lookout over the next few days for an email from ICS so you'll know how to go about receiving it once they are available. More details and a video demo are available here: Qt 5 + Raspberry Pi
Blog  •  November 29, 2011  •  By ICS  •  Raspberry Pi  •  Raspberry Pi
Be sure to stop by the ICS stand at Qt Developer Days this week for a chance to win a Raspberry Pi. We'll be giving away 50 boards over the course of the conference!
Blog  •  November 23, 2011  •  By ICS  •  Raspberry Pi  •  Raspberry Pi, Embedded
Here's a video of my colleague, Roland Krause, demonstrating Qt 5 + Raspberry Pi at Qt Dev Days in Munich. Stop by our booth in San Francisco next week to see it first hand...and for your chance to win one of your very own!
Blog  •  November 7, 2011  •  By ICS  •  Raspberry Pi  •  Raspberry Pi
Good talking to you all at Qt Dev Days Munich. We captured some of our Raspberry Pi thoughts in a podcast posted here: This Week in Qt Episode 23 We'll be at Dev Days in San Francisco beginning Nov 29 - hope to see you there!
Blog  •  October 21, 2011  •  By ICS  •  Raspberry Pi  •  Raspberry Pi, Embedded
About three weeks ago, Nokia arranged for ICS to gain access to the Raspberry Pi board so that we could help with an exploratory open source effort to get Qt working on this platform. That is how I got my chance to hack some code for this amazing board. The idea was to get a bleeding edge version of Qt 5 to run and to experience first hand hardware accelerated QSceneGraph based QML. And indeed bleeding edge it is - but also blazing fast. Now, first things first: We have all by now heard of Raspberry Pi, the newest entry into the world of dessert named geek toys. Actually we are talking...