How to Lock Application Screen Orientation in Symbian
Jump to navigation
Jump to search
Overview
This code snippet shows how one can have their application screen (ui) to be locked to a particular orientation (landscape or portrait mode)
In your Project profile (.pro) file
You must add the cone.lib, eikcore.lib, and avkon.lib Symbian libraries into the Qt for S60 build for orientation handling.
symbian: {
// Define UID3 for the Symbian app.
// In Qt Creator this is asked when creating an application using Mobile template.
TARGET.UID3 = 0xSOMEUID
// cone.lib, eikcore.lib and avkon.lib Symbian libraries
LIBS += -lcone -leikcore -lavkon
}
In your main.cpp file
#include <QtGui/QApplication>
#include "SomeMainWindow.h"
// Needed Symbian specific headers
#ifdef Q_OS_SYMBIAN
#include <eikenv.h>
#include <eikappui.h>
#include <aknenv.h>
#include <aknappui.h>
#endif
int main(int argc, char '''argv[])
{
QApplication a(argc, argv);
SomeMainWindow w;
// Symbian specific code
#ifdef Q_OS_SYMBIAN
CAknAppUi''' appUi = dynamic_cast<CAknAppUi*> (CEikonEnv::Static()->AppUi());
TRAPD (error,
if (appUi) {
// Lock application orientation into landscape
appUi->SetOrientationL(CAknAppUi::EAppUiOrientationLandscape);
}
);
#endif
w.showFullScreen();
return a.exec();
}
Note
In the latest Qt Creator you get an option to lock the orientation as a part of the application creation wizard.