-
Notifications
You must be signed in to change notification settings - Fork 2
Inneans Qt Components modified to work on the BlackBerry 10 (BB10) operating system.
License
harmattan/qt-components
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Qt Components for BB10 =============================== This branch (bb10) contains the MeeGo/Harmattan Qt Components modified to work on the BlackBerry 10 OS. What was changed from Ineans components ======================================= - main window size is automatically detected as runtime ("normal" Qt Components just have a hardcoded value) - the default orientation was changed to portrait - orientation fixes to work correctly with the QBB_USE_OPENGL environmental variable - removed dependency on QSystemInfo when building with qt-mobility support, as QSystemInfo is not part of the BB10 Qt build - fixed screen rotation to landscape every time the application is minimized - high-DPI adaptation for relevant components --> this is not 100% done & patches are welcome ! :) -- basically, most of the hardcoded values were multiplied by 2, which seems to work quite fine on the high-DPI screen of the Dev-Alpha Where to make changes ===================== For you changes to make effect, edit the files present in the src/fremantle/cssu folder. Changing the other files will not influence the build with the below provided commands. Preparing for the build ====================== Firs of all install the BlackBerry 10 native SDK. Then prepare you shell for cross-compiling with the BB10 NDK: source ~/bbndk/bbdnk-env.sh Configuring =========== Use the following command to configure for build: ./configure -fremantle -no-maliit -make cssu -force-local-theme -mobility -no-xrandr -no-xdamage -nomake examples Compiling ========= Just start make to compile it: make -j5 Result ====== The resulting compiled components are in the imports/ folder. You can drop the "org" folder as that contains components targeted for Maemo 5 Fremantle, that are not needed by the ordinary MeeGo components. Recompiling =========== First clean the directory: make clean Then remove the imports folder with the result & proceed with configure & make as usual. Using the components ==================== To use these components, use the following import in your QML: import com.nokia.meego 1.0 You also need to pack the contents of the "imports" folder together with your application and then point the QML_IMPORT_PATH to it on application startup. Or you can feel the QDeclarativeEngine to add it when instantiation the QDeclarativeView. Also don't forget to set the QBB_USE_OPENGL environmental variable to "1", as it it would not use OpenGL and be horrendously slow. The automatic orientation code also expects OpenGL to be set, as it fixes a few glitches introduces by using it and might not work correctly otherwise. You can include the following code in your bar, which makes sure QBB_USE_OPENGL is properly set at startup: <env var="QBB_USE_OPENGL" value="1"/> Compatible theme ================ You can get a BB10 Qt Components theme from here: https://gitorious.org/~martink/fremantle-qt-components/bb10-qt-components-graphics Se README in the main folder for how to use the theme. Original Qt Components README ============================= This source tree contains the Qt Components project. Building ======== configure (for compiling specific component sets add '-meego' or '-symbian') make make install The project is divided into: - The module Qt.labs.components: _for now_ contains general purpose helpers for QML. and also (for the time being) two QML modules for component sets implemented using those components - com.meego: components from MeeGo Touch UI library, - com.nokia.symbian: set of UI components for Symbian. The lib will install in QTDIR/lib, while the modules will go to QTDIR/imports. Build dependencies ================== - Qt 4.7 Optional dependencies ===================== - MeeGo Touch (for some features of the the com.meego module) -- On desktop, download and install: libmeegotouch & meegotouch-theme from http://meego.gitorious.org/meegotouch -- NOTE: meegotouch is already available if you are compiling inside scratchbox with a maemo6 target setup Coding Style ================== Follow the respective Qt coding style for C++ and QML files and the JavaScript coding style for JS only files. Coding Styles - Qt C++: http://qt.gitorious.org/qt/pages/QtCodingStyle - QML: http://doc.qt.nokia.com/4.7/qml-coding-conventions.html - JS: https://developer.mozilla.org/En/Developer_Guide/Coding_Style Running on Desktop ================== - Pass -graphicssystem native - On mac, running tests require prefixing the path to the libqtcomponentsplugin.dylib: "DYLD_LIBRARY_PATH=/Developer/depot/qt/imports/Qt/labs/components/ make check" Building the Documentation ================== To generate the Symbian components documentation: configure -symbian make docs This will generate HTML files in the doc/html directory. Also, a qch file will be generated in the doc/qch directory. This qch file can be loaded in Qt Assistant or Qt Creator. Build instructions for MeeGoTouch (quickstart) ============================================== (After trying to install things in a different prefix, I gave up since I couldn't get meegotouch to find its theme.) You will need these projects: git://gitorious.org/meegotouch/meegotouch-theme.git git://gitorious.org/meegotouch/libmeegotouch.git git@gitorious.org:qt-components/qt-components.git 1: meegotouch-theme: qmake PREFIX=/usr/local/ && sudo make install 2: libmeegotouch: ./configure --prefix=/usr Make sure that you configure with dbus. If it doesn't pick up qt's dbus: export PKG_CONFIG_PATH=$QTDIR/lib/pkgconfig make install 3: qt-components: ./configure -meego && make install (installs into your current binary qt path) or use dpkg-buildpackage to make a .deb package
About
Inneans Qt Components modified to work on the BlackBerry 10 (BB10) operating system.
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published