Building QtWebKit for Blackberry: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
(Created page with "Category:BlackBerry Category:HowTo Category:Developing_with_Qt::Qt 5 = Building Qt 5 QtWebKit for BlackBerry = == Setting up the environment == See Blackberry...")
 
(Update link)
 
(3 intermediate revisions by 2 users not shown)
Line 2: Line 2:
[[Category:HowTo]]
[[Category:HowTo]]
[[Category:Developing_with_Qt::Qt 5]]
[[Category:Developing_with_Qt::Qt 5]]
= Building Qt 5 QtWebKit for BlackBerry =
== Setting up the environment ==
== Setting up the environment ==


Line 11: Line 8:
== Getting the source ==
== Getting the source ==


We will clone the git repository of webkit from Gitorious. Note that this takes a very long time and includes lots of test data, leading to a whopping 5GB disk space requirement for the checkout.
We will clone the git repository of webkit from code.qt.io. Note that this takes a very long time and includes lots of test data, leading to a whopping 5GB disk space requirement for the checkout.


<code>
<code>
$ git clone git://gitorious.org/webkit/webkit.git
$ git clone git://code.qt.io/webkit/webkit.git
</code>
</code>


Line 32: Line 29:
$ cd webkit
$ cd webkit
$ # here <N> is the number of parallel make jobs to run. This is often set to <No. of CPU cores + 1>. adapt this
$ # here <N> is the number of parallel make jobs to run. This is often set to <No. of CPU cores + 1>. adapt this
$ perl Tools/Scripts/webkit-build —qt —install-libs="$(qmake -query QT_INSTALL_PREFIX)" —makeargs="-j&amp;amp;lt;N&amp;amp;gt;"
$ perl Tools/Scripts/webkit-build —qt —install-libs="$(qmake -query QT_INSTALL_PREFIX)" —makeargs="-j<N>"
</code>
</code>


Line 42: Line 39:


* [[Building Qt5 for Blackberry]]
* [[Building Qt5 for Blackberry]]
* [[A HelloWorld using the Blackberry NDK CLI tools]]
* [[Building_and_Deploying_Qt_Applications_to_the_Playbook]]
* [[Building_and_Deploying_Qt_Applications_to_the_Playbook]]
* [[Deploying_Qt_to_a_central_place_on_Blackberry_devices]]
* [[Deploying_Qt_to_a_central_place_on_Blackberry_devices]]
Line 61: Line 57:


Using QtWebKit with the old QtQuick1 QML API is currently broken. Eventually, this code will be moved from QtWebKit to the QtQuick1 module and reactivated.
Using QtWebKit with the old QtQuick1 QML API is currently broken. Eventually, this code will be moved from QtWebKit to the QtQuick1 module and reactivated.
=== WebKit2/QML ===

Latest revision as of 21:36, 25 March 2016

Setting up the environment

See Blackberry for instructions. Furthermore see Building Qt5 for Blackberry as a prerequisite.

Getting the source

We will clone the git repository of webkit from code.qt.io. Note that this takes a very long time and includes lots of test data, leading to a whopping 5GB disk space requirement for the checkout.

$ git clone git://code.qt.io/webkit/webkit.git

Building

There are two ways of building QtWebKit:

Usage/Testing

The suggested way is to build QtWebKit just like any other Qt5 module via QMake. See Building Qt5 for Blackberry on how to call QMake.

Development

There is a second process of building QtWebKit which differs from the other Qt5 modules. This is the suggested way to use when you want to develop QtWebKit. you still have to have configured your environment to use the BBNDK as described in Blackberry! Especially ensure that the QMake binary in your PATH is the Blackberry version.

$ cd webkit
$ # here <N> is the number of parallel make jobs to run. This is often set to <No. of CPU cores + 1>. adapt this
$ perl Tools/Scripts/webkit-build qt install-libs="$(qmake -query QT_INSTALL_PREFIX)" makeargs="-j<N>"

This will compile QtWebKit for QNX in a folder called WebKitBuild/Release in your webkit checkout.

After this process, you should have a Qt5 QtWebKit located in your Qt install prefix (i.e. $HOME/development/qnx/qt5 or in C:stall, depending of your operating system- if you followed the other howtos).

See also

Known Issues

WebKit1/C++

QtWebKit applications using the WebKit1/C++ API are a bad fit for touch devices like the PlayBook. To simulate mouse events out of touch events, call the following on your QWebView:

webView->setAttribute(Qt::WA_AcceptTouchEvents, false);

If you do not do this, touch events are accpted and delegated to the JavaScript, but you will not be able to interact with the WebView, meaning: You cannot scroll, click links or do anything with it.

WebKit1/QML

Using QtWebKit with the old QtQuick1 QML API is currently broken. Eventually, this code will be moved from QtWebKit to the QtQuick1 module and reactivated.