Skip to content

Qt How-To: Listen to Orientation Changes in N900

Couple days ago I posted a video example of the MVC-model running on N900. Someone asked me that how did I do that thing and I believe that the question was about how to react on orientation changes in Qt application on N900. If you are not familiar with Qt D-Bus Module it’s worth to read the documentation from here first.

The orientation changes in N900 can be listened through a dbus interface. Doing that is pretty straight forward and it requires only couple lines of code:

QDBusConnection systemBus = QDBusConnection::systemBus();
&scene, SLOT(orientationChanged(QString)));
    MyReceiverClass * receiver = new MyReceiverClass(this);
    QDBusConnection systemBus = QDBusConnection::systemBus();
                      receiver, SLOT(orientationChanged(QString)));

In the code snipplet above I have a basic QObject based class “MyReceiverClass” which have a slot called “orientationChanged(QString)”. This slot takes a QString as an argument. When a signal called “sig_device_orientation_ind” has been send via D-Bus, the receiver’s slot will be called automatically and it can have one of the  “landscape” or “portrait” strings as a literal value. The rest of is up to the developer to decide what to do in the slot.

That’s it. Simple, isn’t it?

Marko Mattila on sabtwitterMarko Mattila on sabinstagramMarko Mattila on sabgoogleMarko Mattila on sabflickr
Marko Mattila
Marko Mattila is a nerd, father, husband, snowboarder, photographer, mountain biker, runner and I love open source.

This is a blog, where I share my thoughts about technology or sometimes about life in general.
Published inMaemoProgrammingQt

Be First to Comment

Leave a Reply

Your email address will not be published. Required fields are marked *