How to Lock Application Screen Orientation in Symbian: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 3: Line 3:
This code snippet shows how one can have their application screen (ui) to be locked to a particular orientation (landscape or portrait mode)
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
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.
You must add the cone.lib, eikcore.lib, and avkon.lib Symbian libraries into the Qt for S60 build for orientation handling.


<code>symbian: {<br /> // Define UID3 for the Symbian app.<br /> // In Qt Creator this is asked when creating an application using Mobile template.<br /> TARGET.UID3 = 0xSOMEUID<br /> // cone.lib, eikcore.lib and avkon.lib Symbian libraries<br /> LIBS += -lcone -leikcore <s>lavkon<br />}</code>
<code>symbian: {<br /> // Define UID3 for the Symbian app.<br /> // In Qt Creator this is asked when creating an application using Mobile template.<br /> TARGET.UID3 = 0xSOMEUID<br /> // cone.lib, eikcore.lib and avkon.lib Symbian libraries<br /> LIBS += -lcone -leikcore -lavkon<br />}</code>
<br />In your main.cpp file
<br />In your main.cpp file
<br /><code>#include &lt;QtGui/QApplication&amp;gt;<br />#include &quot;SomeMainWindow.h&amp;quot;
<br /><code>#include <QtGui/QApplication><br />#include "SomeMainWindow.h"
<br />// Needed Symbian specific headers<br />#ifdef Q_OS_SYMBIAN<br />#include &lt;eikenv.h&amp;gt;<br />#include &lt;eikappui.h&amp;gt;<br />#include &lt;aknenv.h&amp;gt;<br />#include &lt;aknappui.h&amp;gt;<br />#endif
<br />// Needed Symbian specific headers<br />#ifdef Q_OS_SYMBIAN<br />#include <eikenv.h><br />#include <eikappui.h><br />#include <aknenv.h><br />#include <aknappui.h><br />#endif
<br />int main(int argc, char '''argv[])<br />{<br /> QApplication a(argc, argv);
<br />int main(int argc, char '''argv[])<br />{<br /> QApplication a(argc, argv);
<br /> SomeMainWindow w;
<br /> SomeMainWindow w;
<br /> // Symbian specific code<br /> #ifdef Q_OS_SYMBIAN<br /> CAknAppUi''' appUi = dynamic_cast&amp;lt;CAknAppUi*&gt; (CEikonEnv::Static()</s>&gt;AppUi());<br /> TRAPD (error,  
<br /> // Symbian specific code<br /> #ifdef Q_OS_SYMBIAN<br /> CAknAppUi''' appUi = dynamic_cast<CAknAppUi*> (CEikonEnv::Static()->AppUi());<br /> TRAPD (error,  
     if (appUi) {<br /> // Lock application orientation into landscape<br /> appUi-&gt;SetOrientationL(CAknAppUi::EAppUiOrientationLandscape);<br /> }<br /> );<br /> #endif
     if (appUi) {<br /> // Lock application orientation into landscape<br /> appUi->SetOrientationL(CAknAppUi::EAppUiOrientationLandscape);<br /> }<br /> );<br /> #endif


w.showFullScreen();<br /> return a.exec&amp;amp;#40;&amp;#41;;<br />}</code>
w.showFullScreen();<br /> return a.exec();<br />}</code>


===== Note =====
===== Note =====


In the latest Qt Creator you get an option to lock the orientation as a part of the application creation wizard.
In the latest Qt Creator you get an option to lock the orientation as a part of the application creation wizard.

Revision as of 14:49, 24 February 2015

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: {<br /> // Define UID3 for the Symbian app.<br /> // In Qt Creator this is asked when creating an application using Mobile template.<br /> TARGET.UID3 = 0xSOMEUID<br /> // cone.lib, eikcore.lib and avkon.lib Symbian libraries<br /> LIBS += -lcone -leikcore -lavkon<br />}


In your main.cpp file


#include <QtGui/QApplication><br />#include "SomeMainWindow.h"
<br />// Needed Symbian specific headers<br />#ifdef Q_OS_SYMBIAN<br />#include <eikenv.h><br />#include <eikappui.h><br />#include <aknenv.h><br />#include <aknappui.h><br />#endif
<br />int main(int argc, char '''argv[])<br />{<br /> QApplication a(argc, argv);
<br /> SomeMainWindow w;
<br /> // Symbian specific code<br /> #ifdef Q_OS_SYMBIAN<br /> CAknAppUi''' appUi = dynamic_cast<CAknAppUi*> (CEikonEnv::Static()->AppUi());<br /> TRAPD (error, 
    if (appUi) {<br /> // Lock application orientation into landscape<br /> appUi->SetOrientationL(CAknAppUi::EAppUiOrientationLandscape);<br /> }<br /> );<br /> #endif

w.showFullScreen();<br /> return a.exec();<br />}
Note

In the latest Qt Creator you get an option to lock the orientation as a part of the application creation wizard.