diff --git a/dev-qt/qtcore/patches/qt-4.7.3.patch b/dev-qt/qtcore/patches/qt-4.7.3.patch
deleted file mode 100644
index 74615b5ac..000000000
--- a/dev-qt/qtcore/patches/qt-4.7.3.patch
+++ /dev/null
@@ -1,14261 +0,0 @@
-diff -rupN qt-everywhere-opensource-src-4.7.3/configure qt-everywhere-opensource-src-4.7.3_haiku/configure
---- qt-everywhere-opensource-src-4.7.3/configure 2011-03-30 05:16:21.000262144 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/configure 2011-06-13 22:33:04.768868352 +0000
-@@ -187,6 +187,11 @@ fi
- PLATFORM_X11=no
- PLATFORM_MAC=no
- PLATFORM_QWS=no
-+PLATFORM_HAIKU=no
-+
-+if [ $UNAME_SYSTEM = "Haiku" ]; then
-+ PLATFORM_HAIKU=yes
-+fi
-
- if [ -f "$relpath"/src/gui/kernel/qapplication_mac.mm ] && [ -d /System/Library/Frameworks/Carbon.framework ]; then
- # Qt/Mac
-@@ -2742,6 +2747,9 @@ if [ -z "$PLATFORM" ]; then
- QNX:*)
- PLATFORM=unsupported/qnx-g++
- ;;
-+ Haiku:*)
-+ PLATFORM=haiku-g++
-+ ;;
- *)
- if [ "$OPT_HELP" != "yes" ]; then
- echo
-@@ -3005,6 +3013,9 @@ if [ -z "${CFG_HOST_ARCH}" ]; then
- ;;
- esac
- ;;
-+ Haiku:*:*)
-+ CFG_HOST_ARCH=i386
-+ ;;
- *:*:*)
- if [ "$OPT_VERBOSE" = "yes" ]; then
- echo " Trying '$UNAME_MACHINE'..."
-@@ -3172,7 +3183,7 @@ QMAKE_CONF_COMPILER=`getQMakeConf "$XQMA
- TEST_COMPILER="$CXX"
-
- [ -z "$TEST_COMPILER" ] && TEST_COMPILER=$QMAKE_CONF_COMPILER
--if [ "$XPLATFORM" != "symbian-sbsv2" ]; then
-+if [ "$XPLATFORM" != "symbian-sbsv2" ] && [ "$PLATFORM_HAIKU" = "no" ]; then
- #for Symbian we don't need this checking
- if [ -z "$TEST_COMPILER" ]; then
- echo "ERROR: Cannot set the compiler for the configuration tests"
-@@ -3342,6 +3353,8 @@ if [ -z "$QT_INSTALL_PREFIX" ]; then
- elif [ -d "$EPOCROOT" ] && echo $XPLATFORM | grep symbian > /dev/null; then
- QT_INSTALL_PREFIX="$EPOCROOT/epoc32/"
- QT_INSTALL_LIBS="$EPOCROOT/epoc32/release/armv5/lib/"
-+ elif [ "$PLATFORM_HAIKU" = "yes" ]; then
-+ QT_INSTALL_PREFIX="/boot/common"
- else
- QT_INSTALL_PREFIX="/usr/local/Trolltech/Qt-${QT_VERSION}" # the default install prefix is /usr/local/Trolltech/Qt-$QT_VERSION
- fi
-@@ -3367,6 +3380,8 @@ else
- if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
- if [ "$PLATFORM_MAC" = "yes" ]; then
- QT_INSTALL_DOCS="/Developer/Documentation/Qt"
-+ elif [ "$PLATFORM_HAIKU" = "yes" ]; then
-+ QT_INSTALL_DOCS="/boot/common/documentation/doc/Qt"
- fi
- fi
- [ -z "$QT_INSTALL_DOCS" ] && QT_INSTALL_DOCS="$QT_INSTALL_PREFIX/doc" #fallback
-@@ -3395,6 +3410,12 @@ else
- if [ "$CFG_FRAMEWORK" = "yes" ]; then
- QT_INSTALL_LIBS="/Libraries/Frameworks"
- fi
-+ elif [ "$PLATFORM_HAIKU" = "yes" ]; then
-+ if [ -f /boot/system/lib/libsupc++.so ] ; then
-+ QT_INSTALL_LIBS="/boot/common/lib"
-+ else
-+ QT_INSTALL_LIBS="/boot/common/lib/gcc4"
-+ fi
- fi
- fi
- [ -z "$QT_INSTALL_LIBS" ] && QT_INSTALL_LIBS="$QT_INSTALL_PREFIX/lib" #fallback
-@@ -3418,6 +3439,8 @@ else
- if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
- if [ "$PLATFORM_MAC" = "yes" ]; then
- QT_INSTALL_PLUGINS="/Developer/Applications/Qt/plugins"
-+ elif [ "$PLATFORM_HAIKU" = "yes" ]; then
-+ QT_INSTALL_PLUGINS="/boot/common/add-ons/Qt/plugins"
- fi
- fi
- [ -z "$QT_INSTALL_PLUGINS" ] && QT_INSTALL_PLUGINS="$QT_INSTALL_PREFIX/plugins" #fallback
-@@ -3429,6 +3452,8 @@ else
- if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
- if [ "$PLATFORM_MAC" = "yes" ]; then
- QT_INSTALL_IMPORTS="/Developer/Applications/Qt/imports"
-+ elif [ "$PLATFORM_HAIKU" = "yes" ]; then
-+ QT_INSTALL_IMPORTS="/boot/common/add-ons/Qt/imports"
- fi
- fi
- [ -z "$QT_INSTALL_IMPORTS" ] && QT_INSTALL_IMPORTS="$QT_INSTALL_PREFIX/imports" #fallback
-@@ -3437,13 +3462,21 @@ else
-
- #data
- if [ -z "$QT_INSTALL_DATA" ]; then #default
-- QT_INSTALL_DATA="$QT_INSTALL_PREFIX"
-+ if [ "$PLATFORM_HAIKU" = "yes" ] && [ "$CFG_PREFIX_INSTALL" = "no" ]; then
-+ QT_INSTALL_DATA="/boot/common/data/Qt"
-+ else
-+ QT_INSTALL_DATA="$QT_INSTALL_PREFIX"
-+ fi
- fi
- QT_INSTALL_DATA=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_DATA"`
-
- #translations
- if [ -z "$QT_INSTALL_TRANSLATIONS" ]; then #default
-- QT_INSTALL_TRANSLATIONS="$QT_INSTALL_PREFIX/translations"
-+ if [ "$PLATFORM_HAIKU" = "yes" ] && [ "$CFG_PREFIX_INSTALL" = "no" ]; then
-+ QT_INSTALL_TRANSLATIONS="/boot/common/data/Qt/translations"
-+ else
-+ QT_INSTALL_TRANSLATIONS="$QT_INSTALL_PREFIX/translations"
-+ fi
- fi
- QT_INSTALL_TRANSLATIONS=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_TRANSLATIONS"`
-
-@@ -3451,6 +3484,8 @@ else
- if [ -z "$QT_INSTALL_SETTINGS" ]; then #default
- if [ "$PLATFORM_MAC" = "yes" ]; then
- QT_INSTALL_SETTINGS=/Library/Preferences/Qt
-+ elif [ "$PLATFORM_HAIKU" = "yes" ] && [ "$CFG_PREFIX_INSTALL" = "no" ]; then
-+ QT_INSTALL_SETTINGS="/boot/common/settings/Qt"
- else
- QT_INSTALL_SETTINGS=/etc/xdg
- fi
-@@ -3462,6 +3497,8 @@ else
- if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
- if [ "$PLATFORM_MAC" = "yes" ]; then
- QT_INSTALL_EXAMPLES="/Developer/Examples/Qt"
-+ elif [ "$PLATFORM_HAIKU" = "yes" ]; then
-+ QT_INSTALL_EXAMPLES="/boot/apps/Qt/Examples"
- fi
- fi
- [ -z "$QT_INSTALL_EXAMPLES" ] && QT_INSTALL_EXAMPLES="$QT_INSTALL_PREFIX/examples" #fallback
-@@ -3473,6 +3510,8 @@ else
- if [ "$CFG_PREFIX_INSTALL" = "no" ]; then
- if [ "$PLATFORM_MAC" = "yes" ]; then
- QT_INSTALL_DEMOS="/Developer/Examples/Qt/Demos"
-+ elif [ "$PLATFORM_HAIKU" = "yes" ]; then
-+ QT_INSTALL_DEMOS="/boot/apps/Qt/Demos"
- fi
- fi
- [ -z "$QT_INSTALL_DEMOS" ] && QT_INSTALL_DEMOS="$QT_INSTALL_PREFIX/demos"
-@@ -4238,6 +4277,8 @@ elif echo "$XPLATFORM" | grep "symbian"
- Platform="Qt for Symbian"
- elif [ "$XPLATFORM_MINGW" = "yes" ]; then
- Platform="Qt for Windows"
-+elif [ "$PLATFORM_HAIKU" = "yes" ]; then
-+ Platform="Qt for Haiku"
- elif [ '!' -z "`getQMakeConf \"$XQMAKESPEC\" | grep QMAKE_LIBS_X11 | awk '{print $3;}'`" ]; then
- PLATFORM_X11=yes
- Platform="Qt for Linux/X11"
-@@ -5415,7 +5456,7 @@ if [ "$PLATFORM_MAC" = "yes" -a ! -z "$Q
- fi
-
- # X11/QWS
--if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QWS" = "yes" ]; then
-+if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QWS" = "yes" -o "$PLATFORM_HAIKU" = "yes" ]; then
-
- # auto-detect Glib support
- if [ "$CFG_GLIB" != "no" ]; then
-diff -rupN qt-everywhere-opensource-src-4.7.3/include/Qt/qhaikustyle.h qt-everywhere-opensource-src-4.7.3_haiku/include/Qt/qhaikustyle.h
---- qt-everywhere-opensource-src-4.7.3/include/Qt/qhaikustyle.h 1970-01-01 00:00:00.000000000 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/include/Qt/qhaikustyle.h 2011-06-02 22:56:26.000000000 +0000
-@@ -0,0 +1,9 @@
-+#ifndef QT_NO_QT_INCLUDE_WARN
-+ #if defined(__GNUC__)
-+ #warning "Inclusion of header files from include/Qt is deprecated."
-+ #elif defined(_MSC_VER)
-+ #pragma message("WARNING: Inclusion of header files from include/Qt is deprecated.")
-+ #endif
-+#endif
-+
-+#include "../QtGui/qhaikustyle.h"
-diff -rupN qt-everywhere-opensource-src-4.7.3/include/Qt/qsystemtrayicon_haiku.h qt-everywhere-opensource-src-4.7.3_haiku/include/Qt/qsystemtrayicon_haiku.h
---- qt-everywhere-opensource-src-4.7.3/include/Qt/qsystemtrayicon_haiku.h 1970-01-01 00:00:00.000000000 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/include/Qt/qsystemtrayicon_haiku.h 2011-06-02 22:56:26.000000000 +0000
-@@ -0,0 +1,9 @@
-+#ifndef QT_NO_QT_INCLUDE_WARN
-+ #if defined(__GNUC__)
-+ #warning "Inclusion of header files from include/Qt is deprecated."
-+ #elif defined(_MSC_VER)
-+ #pragma message("WARNING: Inclusion of header files from include/Qt is deprecated.")
-+ #endif
-+#endif
-+
-+#include "../QtGui/qsystemtrayicon_haiku.h"
-diff -rupN qt-everywhere-opensource-src-4.7.3/include/Qt/qwidget_haiku.h qt-everywhere-opensource-src-4.7.3_haiku/include/Qt/qwidget_haiku.h
---- qt-everywhere-opensource-src-4.7.3/include/Qt/qwidget_haiku.h 1970-01-01 00:00:00.000000000 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/include/Qt/qwidget_haiku.h 2011-06-02 22:56:25.000000000 +0000
-@@ -0,0 +1,9 @@
-+#ifndef QT_NO_QT_INCLUDE_WARN
-+ #if defined(__GNUC__)
-+ #warning "Inclusion of header files from include/Qt is deprecated."
-+ #elif defined(_MSC_VER)
-+ #pragma message("WARNING: Inclusion of header files from include/Qt is deprecated.")
-+ #endif
-+#endif
-+
-+#include "../QtGui/qwidget_haiku.h"
-diff -rupN qt-everywhere-opensource-src-4.7.3/include/Qt/qwindowdefs_haiku.h qt-everywhere-opensource-src-4.7.3_haiku/include/Qt/qwindowdefs_haiku.h
---- qt-everywhere-opensource-src-4.7.3/include/Qt/qwindowdefs_haiku.h 1970-01-01 00:00:00.000000000 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/include/Qt/qwindowdefs_haiku.h 2011-06-02 22:56:25.000000000 +0000
-@@ -0,0 +1,9 @@
-+#ifndef QT_NO_QT_INCLUDE_WARN
-+ #if defined(__GNUC__)
-+ #warning "Inclusion of header files from include/Qt is deprecated."
-+ #elif defined(_MSC_VER)
-+ #pragma message("WARNING: Inclusion of header files from include/Qt is deprecated.")
-+ #endif
-+#endif
-+
-+#include "../QtGui/qwindowdefs_haiku.h"
-diff -rupN qt-everywhere-opensource-src-4.7.3/include/QtGui/QHaikuStyle qt-everywhere-opensource-src-4.7.3_haiku/include/QtGui/QHaikuStyle
---- qt-everywhere-opensource-src-4.7.3/include/QtGui/QHaikuStyle 1970-01-01 00:00:00.000000000 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/include/QtGui/QHaikuStyle 2010-04-15 16:14:35.000000000 +0000
-@@ -0,0 +1 @@
-+#include "qhaikustyle.h"
-diff -rupN qt-everywhere-opensource-src-4.7.3/include/QtGui/QtHaikuView qt-everywhere-opensource-src-4.7.3_haiku/include/QtGui/QtHaikuView
---- qt-everywhere-opensource-src-4.7.3/include/QtGui/QtHaikuView 1970-01-01 00:00:00.000000000 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/include/QtGui/QtHaikuView 2010-11-09 02:20:07.000000000 +0000
-@@ -0,0 +1 @@
-+#include "qwidget_haiku.h"
-diff -rupN qt-everywhere-opensource-src-4.7.3/include/QtGui/QtHaikuWindow qt-everywhere-opensource-src-4.7.3_haiku/include/QtGui/QtHaikuWindow
---- qt-everywhere-opensource-src-4.7.3/include/QtGui/QtHaikuWindow 1970-01-01 00:00:00.000000000 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/include/QtGui/QtHaikuWindow 2010-11-09 02:20:07.000000000 +0000
-@@ -0,0 +1 @@
-+#include "qwidget_haiku.h"
-diff -rupN qt-everywhere-opensource-src-4.7.3/include/QtGui/headers.pri qt-everywhere-opensource-src-4.7.3_haiku/include/QtGui/headers.pri
---- qt-everywhere-opensource-src-4.7.3/include/QtGui/headers.pri 2011-03-30 05:16:20.013893632 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/include/QtGui/headers.pri 2011-06-14 04:04:50.707264512 +0000
-@@ -1,3 +1,3 @@
--SYNCQT.HEADER_FILES = ../gui/dialogs/qabstractpagesetupdialog.h ../gui/dialogs/qabstractprintdialog.h ../gui/dialogs/qcolordialog.h ../gui/dialogs/qdialog.h ../gui/dialogs/qerrormessage.h ../gui/dialogs/qfiledialog.h ../gui/dialogs/qfilesystemmodel.h ../gui/dialogs/qfontdialog.h ../gui/dialogs/qinputdialog.h ../gui/dialogs/qmessagebox.h ../gui/dialogs/qpagesetupdialog.h ../gui/dialogs/qprintdialog.h ../gui/dialogs/qprintpreviewdialog.h ../gui/dialogs/qprogressdialog.h ../gui/dialogs/qwizard.h ../gui/embedded/qcopchannel_qws.h ../gui/embedded/qdecoration_qws.h ../gui/embedded/qdecorationdefault_qws.h ../gui/embedded/qdecorationfactory_qws.h ../gui/embedded/qdecorationplugin_qws.h ../gui/embedded/qdecorationstyled_qws.h ../gui/embedded/qdecorationwindows_qws.h ../gui/embedded/qdirectpainter_qws.h ../gui/embedded/qkbd_qws.h ../gui/embedded/qkbddriverfactory_qws.h ../gui/embedded/qkbddriverplugin_qws.h ../gui/embedded/qkbdlinuxinput_qws.h ../gui/embedded/qkbdqnx_qws.h ../gui/embedded/qkbdtty_qws.h ../gui/embedded/qkbdum_qws.h ../gui/embedded/qkbdvfb_qws.h ../gui/embedded/qmouse_qws.h ../gui/embedded/qmousedriverfactory_qws.h ../gui/embedded/qmousedriverplugin_qws.h ../gui/embedded/qmouselinuxinput_qws.h ../gui/embedded/qmouselinuxtp_qws.h ../gui/embedded/qmousepc_qws.h ../gui/embedded/qmouseqnx_qws.h ../gui/embedded/qmousetslib_qws.h ../gui/embedded/qmousevfb_qws.h ../gui/embedded/qscreen_qws.h ../gui/embedded/qscreendriverfactory_qws.h ../gui/embedded/qscreendriverplugin_qws.h ../gui/embedded/qscreenlinuxfb_qws.h ../gui/embedded/qscreenproxy_qws.h ../gui/embedded/qscreenqnx_qws.h ../gui/embedded/qscreentransformed_qws.h ../gui/embedded/qscreenvfb_qws.h ../gui/embedded/qsoundqss_qws.h ../gui/embedded/qtransportauth_qws.h ../gui/embedded/qtransportauthdefs_qws.h ../gui/embedded/qvfbhdr.h ../gui/embedded/qwindowsystem_qws.h ../gui/embedded/qwscursor_qws.h ../gui/embedded/qwsdisplay_qws.h ../gui/embedded/qwsembedwidget.h ../gui/embedded/qwsevent_qws.h ../gui/embedded/qwsmanager_qws.h ../gui/embedded/qwsproperty_qws.h ../gui/embedded/qwsprotocolitem_qws.h ../gui/embedded/qwssocket_qws.h ../gui/embedded/qwsutils_qws.h ../gui/graphicsview/qgraphicsanchorlayout.h ../gui/graphicsview/qgraphicsgridlayout.h ../gui/graphicsview/qgraphicsitem.h ../gui/graphicsview/qgraphicsitemanimation.h ../gui/graphicsview/qgraphicslayout.h ../gui/graphicsview/qgraphicslayoutitem.h ../gui/graphicsview/qgraphicslinearlayout.h ../gui/graphicsview/qgraphicsproxywidget.h ../gui/graphicsview/qgraphicsscene.h ../gui/graphicsview/qgraphicssceneevent.h ../gui/graphicsview/qgraphicstransform.h ../gui/graphicsview/qgraphicsview.h ../gui/graphicsview/qgraphicswidget.h ../gui/kernel/qaction.h ../gui/kernel/qactiongroup.h ../gui/kernel/qapplication.h ../gui/kernel/qboxlayout.h ../gui/kernel/qclipboard.h ../gui/kernel/qcursor.h ../gui/kernel/qdesktopwidget.h ../gui/kernel/qdrag.h ../gui/kernel/qevent.h ../gui/kernel/qformlayout.h ../gui/kernel/qgesture.h ../gui/kernel/qgesturerecognizer.h ../gui/kernel/qgridlayout.h ../gui/kernel/qguifunctions_wince.h ../gui/kernel/qkeysequence.h ../gui/kernel/qlayout.h ../gui/kernel/qlayoutitem.h ../gui/kernel/qmacdefines_mac.h ../gui/kernel/qmime.h ../gui/kernel/qpalette.h ../gui/kernel/qsessionmanager.h ../gui/kernel/qshortcut.h ../gui/kernel/qsizepolicy.h ../gui/kernel/qsound.h ../gui/kernel/qstackedlayout.h ../gui/kernel/qtooltip.h ../gui/kernel/qwhatsthis.h ../gui/kernel/qwidget.h ../gui/kernel/qwidgetaction.h ../gui/kernel/qwindowdefs.h ../gui/kernel/qwindowdefs_win.h ../gui/kernel/qx11embed_x11.h ../gui/kernel/qx11info_x11.h ../gui/effects/qgraphicseffect.h ../gui/s60framework/qs60mainapplication.h ../gui/s60framework/qs60mainappui.h ../gui/s60framework/qs60maindocument.h ../gui/math3d/qgenericmatrix.h ../gui/math3d/qmatrix4x4.h ../gui/math3d/qquaternion.h ../gui/math3d/qvector2d.h ../gui/math3d/qvector3d.h ../gui/math3d/qvector4d.h ../gui/image/qbitmap.h ../gui/image/qicon.h ../gui/image/qiconengine.h ../gui/image/qiconengineplugin.h ../gui/image/qimage.h ../gui/image/qimageiohandler.h ../gui/image/qimagereader.h ../gui/image/qimagewriter.h ../gui/image/qmovie.h ../gui/image/qpicture.h ../gui/image/qpictureformatplugin.h ../gui/image/qpixmap.h ../gui/image/qpixmapcache.h ../gui/symbian/qsymbianevent.h ../gui/text/qabstractfontengine_qws.h ../gui/text/qabstracttextdocumentlayout.h ../gui/text/qfont.h ../gui/text/qfontdatabase.h ../gui/text/qfontinfo.h ../gui/text/qfontmetrics.h ../gui/text/qstatictext.h ../gui/text/qsyntaxhighlighter.h ../gui/text/qtextcursor.h ../gui/text/qtextdocument.h ../gui/text/qtextdocumentfragment.h ../gui/text/qtextdocumentwriter.h ../gui/text/qtextformat.h ../gui/text/qtextlayout.h ../gui/text/qtextlist.h ../gui/text/qtextobject.h ../gui/text/qtextoption.h ../gui/text/qtexttable.h ../gui/itemviews/qabstractitemdelegate.h ../gui/itemviews/qabstractitemview.h ../gui/itemviews/qabstractproxymodel.h ../gui/itemviews/qcolumnview.h ../gui/itemviews/qdatawidgetmapper.h ../gui/itemviews/qdirmodel.h ../gui/itemviews/qfileiconprovider.h ../gui/itemviews/qheaderview.h ../gui/itemviews/qitemdelegate.h ../gui/itemviews/qitemeditorfactory.h ../gui/itemviews/qitemselectionmodel.h ../gui/itemviews/qlistview.h ../gui/itemviews/qlistwidget.h ../gui/itemviews/qproxymodel.h ../gui/itemviews/qsortfilterproxymodel.h ../gui/itemviews/qstandarditemmodel.h ../gui/itemviews/qstringlistmodel.h ../gui/itemviews/qstyleditemdelegate.h ../gui/itemviews/qtableview.h ../gui/itemviews/qtablewidget.h ../gui/itemviews/qtreeview.h ../gui/itemviews/qtreewidget.h ../gui/itemviews/qtreewidgetitemiterator.h ../gui/widgets/qabstractbutton.h ../gui/widgets/qabstractscrollarea.h ../gui/widgets/qabstractslider.h ../gui/widgets/qabstractspinbox.h ../gui/widgets/qbuttongroup.h ../gui/widgets/qcalendarwidget.h ../gui/widgets/qcheckbox.h ../gui/widgets/qcombobox.h ../gui/widgets/qcommandlinkbutton.h ../gui/widgets/qdatetimeedit.h ../gui/widgets/qdial.h ../gui/widgets/qdialogbuttonbox.h ../gui/widgets/qdockwidget.h ../gui/widgets/qfocusframe.h ../gui/widgets/qfontcombobox.h ../gui/widgets/qframe.h ../gui/widgets/qgroupbox.h ../gui/widgets/qlabel.h ../gui/widgets/qlcdnumber.h ../gui/widgets/qlineedit.h ../gui/widgets/qmaccocoaviewcontainer_mac.h ../gui/widgets/qmacnativewidget_mac.h ../gui/widgets/qmainwindow.h ../gui/widgets/qmdiarea.h ../gui/widgets/qmdisubwindow.h ../gui/widgets/qmenu.h ../gui/widgets/qmenubar.h ../gui/widgets/qmenudata.h ../gui/widgets/qplaintextedit.h ../gui/widgets/qprintpreviewwidget.h ../gui/widgets/qprogressbar.h ../gui/widgets/qpushbutton.h ../gui/widgets/qradiobutton.h ../gui/widgets/qrubberband.h ../gui/widgets/qscrollarea.h ../gui/widgets/qscrollbar.h ../gui/widgets/qsizegrip.h ../gui/widgets/qslider.h ../gui/widgets/qspinbox.h ../gui/widgets/qsplashscreen.h ../gui/widgets/qsplitter.h ../gui/widgets/qstackedwidget.h ../gui/widgets/qstatusbar.h ../gui/widgets/qtabbar.h ../gui/widgets/qtabwidget.h ../gui/widgets/qtextbrowser.h ../gui/widgets/qtextedit.h ../gui/widgets/qtoolbar.h ../gui/widgets/qtoolbox.h ../gui/widgets/qtoolbutton.h ../gui/widgets/qvalidator.h ../gui/widgets/qworkspace.h ../gui/statemachine/qkeyeventtransition.h ../gui/statemachine/qmouseeventtransition.h ../gui/util/qcompleter.h ../gui/util/qdesktopservices.h ../gui/util/qsystemtrayicon.h ../gui/util/qundogroup.h ../gui/util/qundostack.h ../gui/util/qundoview.h ../gui/accessible/qaccessible.h ../gui/accessible/qaccessible2.h ../gui/accessible/qaccessiblebridge.h ../gui/accessible/qaccessibleobject.h ../gui/accessible/qaccessibleplugin.h ../gui/accessible/qaccessiblewidget.h ../gui/styles/qcdestyle.h ../gui/styles/qcleanlooksstyle.h ../gui/styles/qcommonstyle.h ../gui/styles/qgtkstyle.h ../gui/styles/qmacstyle_mac.h ../gui/styles/qmotifstyle.h ../gui/styles/qplastiquestyle.h ../gui/styles/qproxystyle.h ../gui/styles/qs60style.h ../gui/styles/qstyle.h ../gui/styles/qstylefactory.h ../gui/styles/qstyleoption.h ../gui/styles/qstyleplugin.h ../gui/styles/qwindowscestyle.h ../gui/styles/qwindowsmobilestyle.h ../gui/styles/qwindowsstyle.h ../gui/styles/qwindowsvistastyle.h ../gui/styles/qwindowsxpstyle.h ../gui/inputmethod/qinputcontext.h ../gui/inputmethod/qinputcontextfactory.h ../gui/inputmethod/qinputcontextplugin.h ../gui/painting/qbrush.h ../gui/painting/qcolor.h ../gui/painting/qcolormap.h ../gui/painting/qdrawutil.h ../gui/painting/qmatrix.h ../gui/painting/qpaintdevice.h ../gui/painting/qpaintengine.h ../gui/painting/qpainter.h ../gui/painting/qpainterpath.h ../gui/painting/qpen.h ../gui/painting/qpolygon.h ../gui/painting/qprintengine.h ../gui/painting/qprinter.h ../gui/painting/qprinterinfo.h ../gui/painting/qregion.h ../gui/painting/qrgb.h ../gui/painting/qstylepainter.h ../gui/painting/qtransform.h ../gui/painting/qwmatrix.h ../../include/QtGui/QtGui
--SYNCQT.HEADER_CLASSES = ../../include/QtGui/QAbstractPageSetupDialog ../../include/QtGui/QAbstractPrintDialog ../../include/QtGui/QColorDialog ../../include/QtGui/QDialog ../../include/QtGui/QErrorMessage ../../include/QtGui/QFileDialog ../../include/QtGui/QFileSystemModel ../../include/QtGui/QFontDialog ../../include/QtGui/QInputDialog ../../include/QtGui/QMessageBox ../../include/QtGui/QPageSetupDialog ../../include/QtGui/QUnixPrintWidget ../../include/QtGui/QPrintDialog ../../include/QtGui/QPrintPreviewDialog ../../include/QtGui/QProgressDialog ../../include/QtGui/QWizard ../../include/QtGui/QWizardPage ../../include/QtGui/QCopChannel ../../include/QtGui/QDecorationAction ../../include/QtGui/QDecoration ../../include/QtGui/QDecorationDefault ../../include/QtGui/QDecorationFactory ../../include/QtGui/QDecorationFactoryInterface ../../include/QtGui/QDecorationPlugin ../../include/QtGui/QDecorationStyled ../../include/QtGui/QDecorationWindows ../../include/QtGui/QDirectPainter ../../include/QtGui/QWSKeyboardHandler ../../include/QtGui/QKbdDriverFactory ../../include/QtGui/QWSKeyboardHandlerFactoryInterface ../../include/QtGui/QKbdDriverPlugin ../../include/QtGui/QWSLinuxInputKeyboardHandler ../../include/QtGui/QWSQnxKeyboardHandler ../../include/QtGui/QWSTtyKeyboardHandler ../../include/QtGui/QWSUmKeyboardHandler ../../include/QtGui/QVFbKeyboardHandler ../../include/QtGui/QWSPointerCalibrationData ../../include/QtGui/QWSMouseHandler ../../include/QtGui/QWSCalibratedMouseHandler ../../include/QtGui/QMouseDriverFactory ../../include/QtGui/QWSMouseHandlerFactoryInterface ../../include/QtGui/QMouseDriverPlugin ../../include/QtGui/QWSLinuxInputMouseHandler ../../include/QtGui/QWSLinuxTPMouseHandler ../../include/QtGui/QWSPcMouseHandler ../../include/QtGui/QQnxMouseHandler ../../include/QtGui/QWSTslibMouseHandler ../../include/QtGui/QVFbMouseHandler ../../include/QtGui/QScreenCursor ../../include/QtGui/QPoolEntry ../../include/QtGui/QScreen ../../include/QtGui/QScreenDriverFactory ../../include/QtGui/QScreenDriverFactoryInterface ../../include/QtGui/QScreenDriverPlugin ../../include/QtGui/QLinuxFb_Shared ../../include/QtGui/QLinuxFbScreen ../../include/QtGui/QProxyScreenCursor ../../include/QtGui/QProxyScreen ../../include/QtGui/QQnxScreen ../../include/QtGui/QTransformedScreen ../../include/QtGui/QVFbScreen ../../include/QtGui/QWSSoundServer ../../include/QtGui/QWSSoundClient ../../include/QtGui/QWSSoundServerSocket ../../include/QtGui/QTransportAuth ../../include/QtGui/QAuthDevice ../../include/QtGui/QVFbHeader ../../include/QtGui/QVFbKeyData ../../include/QtGui/QWSInternalWindowInfo ../../include/QtGui/QWSScreenSaver ../../include/QtGui/QWSWindow ../../include/QtGui/QWSServer ../../include/QtGui/QWSInputMethod ../../include/QtGui/QWSCursorMap ../../include/QtGui/QWSClient ../../include/QtGui/QWSCursor ../../include/QtGui/QWSWindowInfo ../../include/QtGui/QWSDisplay ../../include/QtGui/QWSEmbedWidget ../../include/QtGui/QWSEvent ../../include/QtGui/QWSManager ../../include/QtGui/QWSPropertyManager ../../include/QtGui/QWSProtocolItem ../../include/QtGui/QWSSocket ../../include/QtGui/QWSServerSocket ../../include/QtGui/QGraphicsAnchor ../../include/QtGui/QGraphicsAnchorLayout ../../include/QtGui/QGraphicsGridLayout ../../include/QtGui/QGraphicsItem ../../include/QtGui/QGraphicsObject ../../include/QtGui/QAbstractGraphicsShapeItem ../../include/QtGui/QGraphicsPathItem ../../include/QtGui/QGraphicsRectItem ../../include/QtGui/QGraphicsEllipseItem ../../include/QtGui/QGraphicsPolygonItem ../../include/QtGui/QGraphicsLineItem ../../include/QtGui/QGraphicsPixmapItem ../../include/QtGui/QGraphicsTextItem ../../include/QtGui/QGraphicsSimpleTextItem ../../include/QtGui/QGraphicsItemGroup ../../include/QtGui/QGraphicsItemAnimation ../../include/QtGui/QGraphicsLayout ../../include/QtGui/QGraphicsLayoutItem ../../include/QtGui/QGraphicsLinearLayout ../../include/QtGui/QGraphicsProxyWidget ../../include/QtGui/QGraphicsScene ../../include/QtGui/QGraphicsSceneEvent ../../include/QtGui/QGraphicsSceneMouseEvent ../../include/QtGui/QGraphicsSceneWheelEvent ../../include/QtGui/QGraphicsSceneContextMenuEvent ../../include/QtGui/QGraphicsSceneHoverEvent ../../include/QtGui/QGraphicsSceneHelpEvent ../../include/QtGui/QGraphicsSceneDragDropEvent ../../include/QtGui/QGraphicsSceneResizeEvent ../../include/QtGui/QGraphicsSceneMoveEvent ../../include/QtGui/QGraphicsTransform ../../include/QtGui/QGraphicsScale ../../include/QtGui/QGraphicsRotation ../../include/QtGui/QGraphicsView ../../include/QtGui/QGraphicsWidget ../../include/QtGui/QAction ../../include/QtGui/QActionGroup ../../include/QtGui/QApplication ../../include/QtGui/QBoxLayout ../../include/QtGui/QHBoxLayout ../../include/QtGui/QVBoxLayout ../../include/QtGui/QClipboard ../../include/QtGui/QCursor ../../include/QtGui/QCursorShape ../../include/QtGui/QDesktopWidget ../../include/QtGui/QDrag ../../include/QtGui/QtEvents ../../include/QtGui/QInputEvent ../../include/QtGui/QMouseEvent ../../include/QtGui/QHoverEvent ../../include/QtGui/QWheelEvent ../../include/QtGui/QTabletEvent ../../include/QtGui/QKeyEvent ../../include/QtGui/QFocusEvent ../../include/QtGui/QPaintEvent ../../include/QtGui/QUpdateLaterEvent ../../include/QtGui/QMoveEvent ../../include/QtGui/QResizeEvent ../../include/QtGui/QCloseEvent ../../include/QtGui/QIconDragEvent ../../include/QtGui/QShowEvent ../../include/QtGui/QHideEvent ../../include/QtGui/QContextMenuEvent ../../include/QtGui/QInputMethodEvent ../../include/QtGui/QDropEvent ../../include/QtGui/QDragMoveEvent ../../include/QtGui/QDragEnterEvent ../../include/QtGui/QDragResponseEvent ../../include/QtGui/QDragLeaveEvent ../../include/QtGui/QHelpEvent ../../include/QtGui/QStatusTipEvent ../../include/QtGui/QWhatsThisClickedEvent ../../include/QtGui/QActionEvent ../../include/QtGui/QFileOpenEvent ../../include/QtGui/QToolBarChangeEvent ../../include/QtGui/QShortcutEvent ../../include/QtGui/QClipboardEvent ../../include/QtGui/QWindowStateChangeEvent ../../include/QtGui/QMenubarUpdatedEvent ../../include/QtGui/QTouchEvent ../../include/QtGui/QGestureEvent ../../include/QtGui/QFormLayout ../../include/QtGui/QGesture ../../include/QtGui/QPanGesture ../../include/QtGui/QPinchGesture ../../include/QtGui/QSwipeGesture ../../include/QtGui/QTapGesture ../../include/QtGui/QTapAndHoldGesture ../../include/QtGui/QGestureRecognizer ../../include/QtGui/QGridLayout ../../include/QtGui/QKeySequence ../../include/QtGui/QLayoutIterator ../../include/QtGui/QLayout ../../include/QtGui/QLayoutItem ../../include/QtGui/QSpacerItem ../../include/QtGui/QWidgetItem ../../include/QtGui/QWidgetItemV2 ../../include/QtGui/QMimeSource ../../include/QtGui/QWindowsMime ../../include/QtGui/QMacMime ../../include/QtGui/QMacPasteboardMime ../../include/QtGui/QPalette ../../include/QtGui/QColorGroup ../../include/QtGui/QSessionManager ../../include/QtGui/QShortcut ../../include/QtGui/QSizePolicy ../../include/QtGui/QSound ../../include/QtGui/QStackedLayout ../../include/QtGui/QToolTip ../../include/QtGui/QWhatsThis ../../include/QtGui/QWidgetData ../../include/QtGui/QWidget ../../include/QtGui/QWidgetAction ../../include/QtGui/QWidgetList ../../include/QtGui/QWidgetMapper ../../include/QtGui/QWidgetSet ../../include/QtGui/QX11EmbedWidget ../../include/QtGui/QX11EmbedContainer ../../include/QtGui/QX11Info ../../include/QtGui/QGraphicsEffect ../../include/QtGui/QGraphicsColorizeEffect ../../include/QtGui/QGraphicsBlurEffect ../../include/QtGui/QGraphicsDropShadowEffect ../../include/QtGui/QGraphicsOpacityEffect ../../include/QtGui/QS60MainApplicationBase ../../include/QtGui/QS60MainApplication ../../include/QtGui/QS60MainAppUiBase ../../include/QtGui/QS60StubAknAppUiBase ../../include/QtGui/QS60StubMEikStatusPaneObserver ../../include/QtGui/QS60StubMAknTouchPaneObserver ../../include/QtGui/QS60StubAknAppUi ../../include/QtGui/QS60MainAppUi ../../include/QtGui/QS60MainDocumentBase ../../include/QtGui/QS60MainDocument ../../include/QtGui/QGenericMatrix ../../include/QtGui/QMatrix2x2 ../../include/QtGui/QMatrix2x3 ../../include/QtGui/QMatrix2x4 ../../include/QtGui/QMatrix3x2 ../../include/QtGui/QMatrix3x3 ../../include/QtGui/QMatrix3x4 ../../include/QtGui/QMatrix4x2 ../../include/QtGui/QMatrix4x3 ../../include/QtGui/QMatrix4x4 ../../include/QtGui/QQuaternion ../../include/QtGui/QVector2D ../../include/QtGui/QVector3D ../../include/QtGui/QVector4D ../../include/QtGui/QBitmap ../../include/QtGui/QIcon ../../include/QtGui/QIconSet ../../include/QtGui/QIconEngine ../../include/QtGui/QIconEngineV2 ../../include/QtGui/QIconEngineFactoryInterface ../../include/QtGui/QIconEnginePlugin ../../include/QtGui/QIconEngineFactoryInterfaceV2 ../../include/QtGui/QIconEnginePluginV2 ../../include/QtGui/QImageTextKeyLang ../../include/QtGui/QImage ../../include/QtGui/QImageIOHandler ../../include/QtGui/QImageIOHandlerFactoryInterface ../../include/QtGui/QImageIOPlugin ../../include/QtGui/QImageReader ../../include/QtGui/QImageWriter ../../include/QtGui/QMovie ../../include/QtGui/QPicture ../../include/QtGui/QPictureIO ../../include/QtGui/QPictureFormatInterface ../../include/QtGui/QPictureFormatPlugin ../../include/QtGui/QPixmap ../../include/QtGui/QPixmapCache ../../include/QtGui/QSymbianEvent ../../include/QtGui/QFontEngineInfo ../../include/QtGui/QFontEngineFactoryInterface ../../include/QtGui/QFontEnginePlugin ../../include/QtGui/QAbstractFontEngine ../../include/QtGui/QAbstractTextDocumentLayout ../../include/QtGui/QTextObjectInterface ../../include/QtGui/QFont ../../include/QtGui/QFontDatabase ../../include/QtGui/QFontInfo ../../include/QtGui/QFontMetrics ../../include/QtGui/QFontMetricsF ../../include/QtGui/QStaticText ../../include/QtGui/QSyntaxHighlighter ../../include/QtGui/QTextCursor ../../include/QtGui/QAbstractUndoItem ../../include/QtGui/QTextDocument ../../include/QtGui/QTextDocumentFragment ../../include/QtGui/QTextDocumentWriter ../../include/QtGui/QTextLength ../../include/QtGui/QTextFormat ../../include/QtGui/QTextCharFormat ../../include/QtGui/QTextBlockFormat ../../include/QtGui/QTextListFormat ../../include/QtGui/QTextImageFormat ../../include/QtGui/QTextFrameFormat ../../include/QtGui/QTextTableFormat ../../include/QtGui/QTextTableCellFormat ../../include/QtGui/QTextInlineObject ../../include/QtGui/QTextLayout ../../include/QtGui/QTextLine ../../include/QtGui/QTextList ../../include/QtGui/QTextObject ../../include/QtGui/QTextBlockGroup ../../include/QtGui/QTextFrameLayoutData ../../include/QtGui/QTextFrame ../../include/QtGui/QTextBlockUserData ../../include/QtGui/QTextBlock ../../include/QtGui/QTextFragment ../../include/QtGui/QTextOption ../../include/QtGui/QTextTableCell ../../include/QtGui/QTextTable ../../include/QtGui/QAbstractItemDelegate ../../include/QtGui/QAbstractItemView ../../include/QtGui/QAbstractProxyModel ../../include/QtGui/QColumnView ../../include/QtGui/QDataWidgetMapper ../../include/QtGui/QDirModel ../../include/QtGui/QFileIconProvider ../../include/QtGui/QHeaderView ../../include/QtGui/QItemDelegate ../../include/QtGui/QItemEditorCreatorBase ../../include/QtGui/QItemEditorCreator ../../include/QtGui/QStandardItemEditorCreator ../../include/QtGui/QItemEditorFactory ../../include/QtGui/QItemSelectionRange ../../include/QtGui/QItemSelectionModel ../../include/QtGui/QItemSelection ../../include/QtGui/QListView ../../include/QtGui/QListWidgetItem ../../include/QtGui/QListWidget ../../include/QtGui/QProxyModel ../../include/QtGui/QSortFilterProxyModel ../../include/QtGui/QStandardItem ../../include/QtGui/QStandardItemModel ../../include/QtGui/QStringListModel ../../include/QtGui/QStyledItemDelegate ../../include/QtGui/QTableView ../../include/QtGui/QTableWidgetSelectionRange ../../include/QtGui/QTableWidgetItem ../../include/QtGui/QTableWidget ../../include/QtGui/QTreeView ../../include/QtGui/QTreeWidgetItem ../../include/QtGui/QTreeWidget ../../include/QtGui/QTreeWidgetItemIterator ../../include/QtGui/QAbstractButton ../../include/QtGui/QAbstractScrollArea ../../include/QtGui/QAbstractSlider ../../include/QtGui/QAbstractSpinBox ../../include/QtGui/QButtonGroup ../../include/QtGui/QCalendarWidget ../../include/QtGui/QCheckBox ../../include/QtGui/QComboBox ../../include/QtGui/QCommandLinkButton ../../include/QtGui/QDateTimeEdit ../../include/QtGui/QTimeEdit ../../include/QtGui/QDateEdit ../../include/QtGui/QDial ../../include/QtGui/QDialogButtonBox ../../include/QtGui/QDockWidget ../../include/QtGui/QFocusFrame ../../include/QtGui/QFontComboBox ../../include/QtGui/QFrame ../../include/QtGui/QGroupBox ../../include/QtGui/QLabel ../../include/QtGui/QLCDNumber ../../include/QtGui/QLineEdit ../../include/QtGui/QMacCocoaViewContainer ../../include/QtGui/QMacNativeWidget ../../include/QtGui/QMainWindow ../../include/QtGui/QMdiArea ../../include/QtGui/QMdiSubWindow ../../include/QtGui/QMenu ../../include/QtGui/QMenuBar ../../include/QtGui/QMenuItem ../../include/QtGui/QPlainTextEdit ../../include/QtGui/QPlainTextDocumentLayout ../../include/QtGui/QPrintPreviewWidget ../../include/QtGui/QProgressBar ../../include/QtGui/QPushButton ../../include/QtGui/QRadioButton ../../include/QtGui/QRubberBand ../../include/QtGui/QScrollArea ../../include/QtGui/QScrollBar ../../include/QtGui/QSizeGrip ../../include/QtGui/QSlider ../../include/QtGui/QSpinBox ../../include/QtGui/QDoubleSpinBox ../../include/QtGui/QSplashScreen ../../include/QtGui/QSplitter ../../include/QtGui/QSplitterHandle ../../include/QtGui/QStackedWidget ../../include/QtGui/QStatusBar ../../include/QtGui/QTabBar ../../include/QtGui/QTabWidget ../../include/QtGui/QTextBrowser ../../include/QtGui/QTextEdit ../../include/QtGui/QToolBar ../../include/QtGui/QToolBox ../../include/QtGui/QToolButton ../../include/QtGui/QValidator ../../include/QtGui/QIntValidator ../../include/QtGui/QDoubleValidator ../../include/QtGui/QRegExpValidator ../../include/QtGui/QWorkspace ../../include/QtGui/QKeyEventTransition ../../include/QtGui/QMouseEventTransition ../../include/QtGui/QCompleter ../../include/QtGui/QDesktopServices ../../include/QtGui/QSystemTrayIcon ../../include/QtGui/QUndoGroup ../../include/QtGui/QUndoCommand ../../include/QtGui/QUndoStack ../../include/QtGui/QUndoView ../../include/QtGui/QAccessible ../../include/QtGui/QAccessibleInterface ../../include/QtGui/QAccessibleInterfaceEx ../../include/QtGui/QAccessibleEvent ../../include/QtGui/QAccessible2Interface ../../include/QtGui/QAccessibleTextInterface ../../include/QtGui/QAccessibleEditableTextInterface ../../include/QtGui/QAccessibleSimpleEditableTextInterface ../../include/QtGui/QAccessibleValueInterface ../../include/QtGui/QAccessibleTableInterface ../../include/QtGui/QAccessibleActionInterface ../../include/QtGui/QAccessibleImageInterface ../../include/QtGui/QAccessibleBridge ../../include/QtGui/QAccessibleBridgeFactoryInterface ../../include/QtGui/QAccessibleBridgePlugin ../../include/QtGui/QAccessibleObject ../../include/QtGui/QAccessibleObjectEx ../../include/QtGui/QAccessibleApplication ../../include/QtGui/QAccessibleFactoryInterface ../../include/QtGui/QAccessiblePlugin ../../include/QtGui/QAccessibleWidget ../../include/QtGui/QAccessibleWidgetEx ../../include/QtGui/QCDEStyle ../../include/QtGui/QCleanlooksStyle ../../include/QtGui/QCommonStyle ../../include/QtGui/QGtkStyle ../../include/QtGui/QMacStyle ../../include/QtGui/QMotifStyle ../../include/QtGui/QPlastiqueStyle ../../include/QtGui/QProxyStyle ../../include/QtGui/QS60Style ../../include/QtGui/QStyle ../../include/QtGui/QStyleFactory ../../include/QtGui/QStyleOption ../../include/QtGui/QStyleOptionFocusRect ../../include/QtGui/QStyleOptionFrame ../../include/QtGui/QStyleOptionFrameV2 ../../include/QtGui/QStyleOptionFrameV3 ../../include/QtGui/QStyleOptionTabWidgetFrame ../../include/QtGui/QStyleOptionTabWidgetFrameV2 ../../include/QtGui/QStyleOptionTabBarBase ../../include/QtGui/QStyleOptionTabBarBaseV2 ../../include/QtGui/QStyleOptionHeader ../../include/QtGui/QStyleOptionButton ../../include/QtGui/QStyleOptionTab ../../include/QtGui/QStyleOptionTabV2 ../../include/QtGui/QStyleOptionTabV3 ../../include/QtGui/QStyleOptionToolBar ../../include/QtGui/QStyleOptionProgressBar ../../include/QtGui/QStyleOptionProgressBarV2 ../../include/QtGui/QStyleOptionMenuItem ../../include/QtGui/QStyleOptionQ3ListViewItem ../../include/QtGui/QStyleOptionQ3DockWindow ../../include/QtGui/QStyleOptionDockWidget ../../include/QtGui/QStyleOptionDockWidgetV2 ../../include/QtGui/QStyleOptionViewItem ../../include/QtGui/QStyleOptionViewItemV2 ../../include/QtGui/QStyleOptionViewItemV3 ../../include/QtGui/QStyleOptionViewItemV4 ../../include/QtGui/QStyleOptionToolBox ../../include/QtGui/QStyleOptionToolBoxV2 ../../include/QtGui/QStyleOptionRubberBand ../../include/QtGui/QStyleOptionComplex ../../include/QtGui/QStyleOptionSlider ../../include/QtGui/QStyleOptionSpinBox ../../include/QtGui/QStyleOptionQ3ListView ../../include/QtGui/QStyleOptionToolButton ../../include/QtGui/QStyleOptionComboBox ../../include/QtGui/QStyleOptionTitleBar ../../include/QtGui/QStyleOptionGroupBox ../../include/QtGui/QStyleOptionSizeGrip ../../include/QtGui/QStyleOptionGraphicsItem ../../include/QtGui/QStyleHintReturn ../../include/QtGui/QStyleHintReturnMask ../../include/QtGui/QStyleHintReturnVariant ../../include/QtGui/QStyleFactoryInterface ../../include/QtGui/QStylePlugin ../../include/QtGui/QWindowsCEStyle ../../include/QtGui/QWindowsMobileStyle ../../include/QtGui/QWindowsStyle ../../include/QtGui/QWindowsVistaStyle ../../include/QtGui/QWindowsXPStyle ../../include/QtGui/QInputContext ../../include/QtGui/QInputContextFactory ../../include/QtGui/QInputContextFactoryInterface ../../include/QtGui/QInputContextPlugin ../../include/QtGui/QBrush ../../include/QtGui/QBrushData ../../include/QtGui/QGradientStop ../../include/QtGui/QGradientStops ../../include/QtGui/QGradient ../../include/QtGui/QLinearGradient ../../include/QtGui/QRadialGradient ../../include/QtGui/QConicalGradient ../../include/QtGui/QColor ../../include/QtGui/QColormap ../../include/QtGui/QTileRules ../../include/QtGui/QMatrix ../../include/QtGui/QPaintDevice ../../include/QtGui/QTextItem ../../include/QtGui/QPaintEngine ../../include/QtGui/QPaintEngineState ../../include/QtGui/QPainter ../../include/QtGui/QPainterPath ../../include/QtGui/QPainterPathPrivate ../../include/QtGui/QPainterPathStroker ../../include/QtGui/QPen ../../include/QtGui/QPolygon ../../include/QtGui/QPolygonF ../../include/QtGui/QPrintEngine ../../include/QtGui/QPrinter ../../include/QtGui/QPrinterInfo ../../include/QtGui/QRegion ../../include/QtGui/QRgb ../../include/QtGui/QStylePainter ../../include/QtGui/QTransform ../../include/QtGui/QWMatrix
--SYNCQT.PRIVATE_HEADER_FILES = ../gui/dialogs/qabstractpagesetupdialog_p.h ../gui/dialogs/qabstractprintdialog_p.h ../gui/dialogs/qcolordialog_p.h ../gui/dialogs/qdialog_p.h ../gui/dialogs/qfiledialog_p.h ../gui/dialogs/qfiledialog_win_p.h ../gui/dialogs/qfileinfogatherer_p.h ../gui/dialogs/qfilesystemmodel_p.h ../gui/dialogs/qfontdialog_p.h ../gui/dialogs/qfscompleter_p.h ../gui/dialogs/qpagesetupdialog_unix_p.h ../gui/dialogs/qsidebar_p.h ../gui/dialogs/qwizard_win_p.h ../gui/embedded/qkbd_defaultmap_qws_p.h ../gui/embedded/qkbd_qws_p.h ../gui/embedded/qlock_p.h ../gui/embedded/qscreenmulti_qws_p.h ../gui/embedded/qtransportauth_qws_p.h ../gui/embedded/qunixsocket_p.h ../gui/embedded/qunixsocketserver_p.h ../gui/embedded/qwindowsystem_p.h ../gui/embedded/qwscommand_qws_p.h ../gui/embedded/qwsdisplay_qws_p.h ../gui/embedded/qwslock_p.h ../gui/embedded/qwsmanager_p.h ../gui/embedded/qwssharedmemory_p.h ../gui/embedded/qwssignalhandler_p.h ../gui/graphicsview/qgraph_p.h ../gui/graphicsview/qgraphicsanchorlayout_p.h ../gui/graphicsview/qgraphicsitem_p.h ../gui/graphicsview/qgraphicslayout_p.h ../gui/graphicsview/qgraphicslayoutitem_p.h ../gui/graphicsview/qgraphicsproxywidget_p.h ../gui/graphicsview/qgraphicsscene_bsp_p.h ../gui/graphicsview/qgraphicsscene_p.h ../gui/graphicsview/qgraphicsscenebsptreeindex_p.h ../gui/graphicsview/qgraphicssceneindex_p.h ../gui/graphicsview/qgraphicsscenelinearindex_p.h ../gui/graphicsview/qgraphicstransform_p.h ../gui/graphicsview/qgraphicsview_p.h ../gui/graphicsview/qgraphicswidget_p.h ../gui/graphicsview/qgridlayoutengine_p.h ../gui/graphicsview/qsimplex_p.h ../gui/kernel/qaction_p.h ../gui/kernel/qapplication_p.h ../gui/kernel/qclipboard_p.h ../gui/kernel/qcocoaapplication_mac_p.h ../gui/kernel/qcocoaapplicationdelegate_mac_p.h ../gui/kernel/qcocoamenuloader_mac_p.h ../gui/kernel/qcocoapanel_mac_p.h ../gui/kernel/qcocoasharedwindowmethods_mac_p.h ../gui/kernel/qcocoaview_mac_p.h ../gui/kernel/qcocoawindow_mac_p.h ../gui/kernel/qcocoawindowcustomthemeframe_mac_p.h ../gui/kernel/qcocoawindowdelegate_mac_p.h ../gui/kernel/qcursor_p.h ../gui/kernel/qdesktopwidget_mac_p.h ../gui/kernel/qdnd_p.h ../gui/kernel/qevent_p.h ../gui/kernel/qeventdispatcher_glib_qws_p.h ../gui/kernel/qeventdispatcher_mac_p.h ../gui/kernel/qeventdispatcher_qws_p.h ../gui/kernel/qeventdispatcher_s60_p.h ../gui/kernel/qeventdispatcher_x11_p.h ../gui/kernel/qgesture_p.h ../gui/kernel/qgesturemanager_p.h ../gui/kernel/qguieventdispatcher_glib_p.h ../gui/kernel/qguiplatformplugin_p.h ../gui/kernel/qkde_p.h ../gui/kernel/qkeymapper_p.h ../gui/kernel/qkeysequence_p.h ../gui/kernel/qlayout_p.h ../gui/kernel/qlayoutengine_p.h ../gui/kernel/qmacgesturerecognizer_mac_p.h ../gui/kernel/qmultitouch_mac_p.h ../gui/kernel/qnsframeview_mac_p.h ../gui/kernel/qnsthemeframe_mac_p.h ../gui/kernel/qnstitledframe_mac_p.h ../gui/kernel/qshortcutmap_p.h ../gui/kernel/qsoftkeymanager_common_p.h ../gui/kernel/qsoftkeymanager_p.h ../gui/kernel/qsoftkeymanager_s60_p.h ../gui/kernel/qsound_p.h ../gui/kernel/qstandardgestures_p.h ../gui/kernel/qt_cocoa_helpers_mac_p.h ../gui/kernel/qt_gui_pch.h ../gui/kernel/qt_mac_p.h ../gui/kernel/qt_s60_p.h ../gui/kernel/qt_x11_p.h ../gui/kernel/qwidget_p.h ../gui/kernel/qwidgetaction_p.h ../gui/kernel/qwinnativepangesturerecognizer_win_p.h ../gui/effects/qgraphicseffect_p.h ../gui/s60framework/qs60mainapplication_p.h ../gui/image/qbmphandler_p.h ../gui/image/qgifhandler_p.h ../gui/image/qicon_p.h ../gui/image/qiconloader_p.h ../gui/image/qimage_p.h ../gui/image/qimagepixmapcleanuphooks_p.h ../gui/image/qjpeghandler_p.h ../gui/image/qmnghandler_p.h ../gui/image/qnativeimage_p.h ../gui/image/qpaintengine_pic_p.h ../gui/image/qpicture_p.h ../gui/image/qpixmap_mac_p.h ../gui/image/qpixmap_raster_p.h ../gui/image/qpixmap_s60_p.h ../gui/image/qpixmap_x11_p.h ../gui/image/qpixmapcache_p.h ../gui/image/qpixmapdata_p.h ../gui/image/qpixmapdatafactory_p.h ../gui/image/qpixmapfilter_p.h ../gui/image/qpnghandler_p.h ../gui/image/qppmhandler_p.h ../gui/image/qtiffhandler_p.h ../gui/image/qxbmhandler_p.h ../gui/image/qxpmhandler_p.h ../gui/text/qabstractfontengine_p.h ../gui/text/qabstracttextdocumentlayout_p.h ../gui/text/qcssparser_p.h ../gui/text/qfont_p.h ../gui/text/qfontengine_ft_p.h ../gui/text/qfontengine_p.h ../gui/text/qfontengine_qpf_p.h ../gui/text/qfontengine_s60_p.h ../gui/text/qfontengine_win_p.h ../gui/text/qfontengine_x11_p.h ../gui/text/qfontengineglyphcache_p.h ../gui/text/qfontsubset_p.h ../gui/text/qfragmentmap_p.h ../gui/text/qstatictext_p.h ../gui/text/qtextcontrol_p.h ../gui/text/qtextcontrol_p_p.h ../gui/text/qtextcursor_p.h ../gui/text/qtextdocument_p.h ../gui/text/qtextdocumentfragment_p.h ../gui/text/qtextdocumentlayout_p.h ../gui/text/qtextengine_p.h ../gui/text/qtextformat_p.h ../gui/text/qtexthtmlparser_p.h ../gui/text/qtextimagehandler_p.h ../gui/text/qtextobject_p.h ../gui/text/qtextodfwriter_p.h ../gui/text/qtexttable_p.h ../gui/text/qzipreader_p.h ../gui/text/qzipwriter_p.h ../gui/itemviews/qabstractitemview_p.h ../gui/itemviews/qabstractproxymodel_p.h ../gui/itemviews/qbsptree_p.h ../gui/itemviews/qcolumnview_p.h ../gui/itemviews/qcolumnviewgrip_p.h ../gui/itemviews/qheaderview_p.h ../gui/itemviews/qitemeditorfactory_p.h ../gui/itemviews/qitemselectionmodel_p.h ../gui/itemviews/qlistview_p.h ../gui/itemviews/qlistwidget_p.h ../gui/itemviews/qproxymodel_p.h ../gui/itemviews/qstandarditemmodel_p.h ../gui/itemviews/qtableview_p.h ../gui/itemviews/qtablewidget_p.h ../gui/itemviews/qtreeview_p.h ../gui/itemviews/qtreewidget_p.h ../gui/itemviews/qtreewidgetitemiterator_p.h ../gui/itemviews/qwidgetitemdata_p.h ../gui/widgets/qabstractbutton_p.h ../gui/widgets/qabstractscrollarea_p.h ../gui/widgets/qabstractslider_p.h ../gui/widgets/qabstractspinbox_p.h ../gui/widgets/qcalendartextnavigator_p.h ../gui/widgets/qcocoamenu_mac_p.h ../gui/widgets/qcocoatoolbardelegate_mac_p.h ../gui/widgets/qcombobox_p.h ../gui/widgets/qdatetimeedit_p.h ../gui/widgets/qdockarealayout_p.h ../gui/widgets/qdockwidget_p.h ../gui/widgets/qeffects_p.h ../gui/widgets/qframe_p.h ../gui/widgets/qlabel_p.h ../gui/widgets/qlinecontrol_p.h ../gui/widgets/qlineedit_p.h ../gui/widgets/qmainwindowlayout_p.h ../gui/widgets/qmdiarea_p.h ../gui/widgets/qmdisubwindow_p.h ../gui/widgets/qmenu_p.h ../gui/widgets/qmenu_wince_resource_p.h ../gui/widgets/qmenubar_p.h ../gui/widgets/qplaintextedit_p.h ../gui/widgets/qpushbutton_p.h ../gui/widgets/qscrollarea_p.h ../gui/widgets/qsplitter_p.h ../gui/widgets/qtabbar_p.h ../gui/widgets/qtextedit_p.h ../gui/widgets/qtoolbar_p.h ../gui/widgets/qtoolbararealayout_p.h ../gui/widgets/qtoolbarextension_p.h ../gui/widgets/qtoolbarlayout_p.h ../gui/widgets/qtoolbarseparator_p.h ../gui/widgets/qwidgetanimator_p.h ../gui/widgets/qwidgetresizehandler_p.h ../gui/statemachine/qbasickeyeventtransition_p.h ../gui/statemachine/qbasicmouseeventtransition_p.h ../gui/util/qcompleter_p.h ../gui/util/qsystemtrayicon_p.h ../gui/util/qundostack_p.h ../gui/accessible/qaccessible_mac_p.h ../gui/styles/qcleanlooksstyle_p.h ../gui/styles/qcommonstyle_p.h ../gui/styles/qcommonstylepixmaps_p.h ../gui/styles/qgtkpainter_p.h ../gui/styles/qgtkstyle_p.h ../gui/styles/qmacstyle_mac_p.h ../gui/styles/qmacstylepixmaps_mac_p.h ../gui/styles/qmotifstyle_p.h ../gui/styles/qproxystyle_p.h ../gui/styles/qs60style_p.h ../gui/styles/qstyle_p.h ../gui/styles/qstylehelper_p.h ../gui/styles/qstylesheetstyle_p.h ../gui/styles/qwindowscestyle_p.h ../gui/styles/qwindowsmobilestyle_p.h ../gui/styles/qwindowsstyle_p.h ../gui/styles/qwindowsvistastyle_p.h ../gui/styles/qwindowsxpstyle_p.h ../gui/egl/qegl_p.h ../gui/egl/qeglcontext_p.h ../gui/egl/qeglproperties_p.h ../gui/inputmethod/qcoefepinputcontext_p.h ../gui/inputmethod/qinputcontext_p.h ../gui/inputmethod/qmacinputcontext_p.h ../gui/inputmethod/qwininputcontext_p.h ../gui/inputmethod/qwsinputcontext_p.h ../gui/inputmethod/qximinputcontext_p.h ../gui/painting/qbackingstore_p.h ../gui/painting/qbezier_p.h ../gui/painting/qblendfunctions_p.h ../gui/painting/qcolor_p.h ../gui/painting/qcssutil_p.h ../gui/painting/qcups_p.h ../gui/painting/qdatabuffer_p.h ../gui/painting/qdrawhelper_arm_simd_p.h ../gui/painting/qdrawhelper_mmx_p.h ../gui/painting/qdrawhelper_neon_p.h ../gui/painting/qdrawhelper_p.h ../gui/painting/qdrawhelper_sse_p.h ../gui/painting/qdrawhelper_x86_p.h ../gui/painting/qdrawingprimitive_sse2_p.h ../gui/painting/qemulationpaintengine_p.h ../gui/painting/qfixed_p.h ../gui/painting/qgraphicssystem_mac_p.h ../gui/painting/qgraphicssystem_p.h ../gui/painting/qgraphicssystem_qws_p.h ../gui/painting/qgraphicssystem_raster_p.h ../gui/painting/qgraphicssystem_runtime_p.h ../gui/painting/qgraphicssystemfactory_p.h ../gui/painting/qgraphicssystemplugin_p.h ../gui/painting/qgrayraster_p.h ../gui/painting/qimagescale_p.h ../gui/painting/qmath_p.h ../gui/painting/qmemrotate_p.h ../gui/painting/qoutlinemapper_p.h ../gui/painting/qpaintbuffer_p.h ../gui/painting/qpaintengine_alpha_p.h ../gui/painting/qpaintengine_mac_p.h ../gui/painting/qpaintengine_p.h ../gui/painting/qpaintengine_preview_p.h ../gui/painting/qpaintengine_raster_p.h ../gui/painting/qpaintengine_s60_p.h ../gui/painting/qpaintengine_x11_p.h ../gui/painting/qpaintengineex_p.h ../gui/painting/qpainter_p.h ../gui/painting/qpainterpath_p.h ../gui/painting/qpathclipper_p.h ../gui/painting/qpdf_p.h ../gui/painting/qpen_p.h ../gui/painting/qpolygonclipper_p.h ../gui/painting/qprintengine_mac_p.h ../gui/painting/qprintengine_pdf_p.h ../gui/painting/qprintengine_ps_p.h ../gui/painting/qprintengine_qws_p.h ../gui/painting/qprintengine_win_p.h ../gui/painting/qprinter_p.h ../gui/painting/qprinterinfo_unix_p.h ../gui/painting/qrasterdefs_p.h ../gui/painting/qrasterizer_p.h ../gui/painting/qstroker_p.h ../gui/painting/qtessellator_p.h ../gui/painting/qtextureglyphcache_p.h ../gui/painting/qvectorpath_p.h ../gui/painting/qwindowsurface_mac_p.h ../gui/painting/qwindowsurface_p.h ../gui/painting/qwindowsurface_qws_p.h ../gui/painting/qwindowsurface_raster_p.h ../gui/painting/qwindowsurface_s60_p.h ../gui/painting/qwindowsurface_x11_p.h
-+SYNCQT.HEADER_FILES = ../gui/dialogs/qabstractpagesetupdialog.h ../gui/dialogs/qabstractprintdialog.h ../gui/dialogs/qcolordialog.h ../gui/dialogs/qdialog.h ../gui/dialogs/qerrormessage.h ../gui/dialogs/qfiledialog.h ../gui/dialogs/qfilesystemmodel.h ../gui/dialogs/qfontdialog.h ../gui/dialogs/qinputdialog.h ../gui/dialogs/qmessagebox.h ../gui/dialogs/qpagesetupdialog.h ../gui/dialogs/qprintdialog.h ../gui/dialogs/qprintpreviewdialog.h ../gui/dialogs/qprogressdialog.h ../gui/dialogs/qwizard.h ../gui/embedded/qcopchannel_qws.h ../gui/embedded/qdecoration_qws.h ../gui/embedded/qdecorationdefault_qws.h ../gui/embedded/qdecorationfactory_qws.h ../gui/embedded/qdecorationplugin_qws.h ../gui/embedded/qdecorationstyled_qws.h ../gui/embedded/qdecorationwindows_qws.h ../gui/embedded/qdirectpainter_qws.h ../gui/embedded/qkbd_qws.h ../gui/embedded/qkbddriverfactory_qws.h ../gui/embedded/qkbddriverplugin_qws.h ../gui/embedded/qkbdlinuxinput_qws.h ../gui/embedded/qkbdqnx_qws.h ../gui/embedded/qkbdtty_qws.h ../gui/embedded/qkbdum_qws.h ../gui/embedded/qkbdvfb_qws.h ../gui/embedded/qmouse_qws.h ../gui/embedded/qmousedriverfactory_qws.h ../gui/embedded/qmousedriverplugin_qws.h ../gui/embedded/qmouselinuxinput_qws.h ../gui/embedded/qmouselinuxtp_qws.h ../gui/embedded/qmousepc_qws.h ../gui/embedded/qmouseqnx_qws.h ../gui/embedded/qmousetslib_qws.h ../gui/embedded/qmousevfb_qws.h ../gui/embedded/qscreen_qws.h ../gui/embedded/qscreendriverfactory_qws.h ../gui/embedded/qscreendriverplugin_qws.h ../gui/embedded/qscreenlinuxfb_qws.h ../gui/embedded/qscreenproxy_qws.h ../gui/embedded/qscreenqnx_qws.h ../gui/embedded/qscreentransformed_qws.h ../gui/embedded/qscreenvfb_qws.h ../gui/embedded/qsoundqss_qws.h ../gui/embedded/qtransportauth_qws.h ../gui/embedded/qtransportauthdefs_qws.h ../gui/embedded/qvfbhdr.h ../gui/embedded/qwindowsystem_qws.h ../gui/embedded/qwscursor_qws.h ../gui/embedded/qwsdisplay_qws.h ../gui/embedded/qwsembedwidget.h ../gui/embedded/qwsevent_qws.h ../gui/embedded/qwsmanager_qws.h ../gui/embedded/qwsproperty_qws.h ../gui/embedded/qwsprotocolitem_qws.h ../gui/embedded/qwssocket_qws.h ../gui/embedded/qwsutils_qws.h ../gui/graphicsview/qgraphicsanchorlayout.h ../gui/graphicsview/qgraphicsgridlayout.h ../gui/graphicsview/qgraphicsitem.h ../gui/graphicsview/qgraphicsitemanimation.h ../gui/graphicsview/qgraphicslayout.h ../gui/graphicsview/qgraphicslayoutitem.h ../gui/graphicsview/qgraphicslinearlayout.h ../gui/graphicsview/qgraphicsproxywidget.h ../gui/graphicsview/qgraphicsscene.h ../gui/graphicsview/qgraphicssceneevent.h ../gui/graphicsview/qgraphicstransform.h ../gui/graphicsview/qgraphicsview.h ../gui/graphicsview/qgraphicswidget.h ../gui/kernel/qaction.h ../gui/kernel/qactiongroup.h ../gui/kernel/qapplication.h ../gui/kernel/qboxlayout.h ../gui/kernel/qclipboard.h ../gui/kernel/qcursor.h ../gui/kernel/qdesktopwidget.h ../gui/kernel/qdrag.h ../gui/kernel/qevent.h ../gui/kernel/qformlayout.h ../gui/kernel/qgesture.h ../gui/kernel/qgesturerecognizer.h ../gui/kernel/qgridlayout.h ../gui/kernel/qguifunctions_wince.h ../gui/kernel/qkeysequence.h ../gui/kernel/qlayout.h ../gui/kernel/qlayoutitem.h ../gui/kernel/qmacdefines_mac.h ../gui/kernel/qmime.h ../gui/kernel/qpalette.h ../gui/kernel/qsessionmanager.h ../gui/kernel/qshortcut.h ../gui/kernel/qsizepolicy.h ../gui/kernel/qsound.h ../gui/kernel/qstackedlayout.h ../gui/kernel/qtooltip.h ../gui/kernel/qwhatsthis.h ../gui/kernel/qwidget.h ../gui/kernel/qwidgetaction.h ../gui/kernel/qwindowdefs.h ../gui/kernel/qwindowdefs_win.h ../gui/kernel/qx11embed_x11.h ../gui/kernel/qx11info_x11.h ../gui/effects/qgraphicseffect.h ../gui/s60framework/qs60mainapplication.h ../gui/s60framework/qs60mainappui.h ../gui/s60framework/qs60maindocument.h ../gui/math3d/qgenericmatrix.h ../gui/math3d/qmatrix4x4.h ../gui/math3d/qquaternion.h ../gui/math3d/qvector2d.h ../gui/math3d/qvector3d.h ../gui/math3d/qvector4d.h ../gui/image/qbitmap.h ../gui/image/qicon.h ../gui/image/qiconengine.h ../gui/image/qiconengineplugin.h ../gui/image/qimage.h ../gui/image/qimageiohandler.h ../gui/image/qimagereader.h ../gui/image/qimagewriter.h ../gui/image/qmovie.h ../gui/image/qpicture.h ../gui/image/qpictureformatplugin.h ../gui/image/qpixmap.h ../gui/image/qpixmapcache.h ../gui/symbian/qsymbianevent.h ../gui/text/qabstractfontengine_qws.h ../gui/text/qabstracttextdocumentlayout.h ../gui/text/qfont.h ../gui/text/qfontdatabase.h ../gui/text/qfontinfo.h ../gui/text/qfontmetrics.h ../gui/text/qstatictext.h ../gui/text/qsyntaxhighlighter.h ../gui/text/qtextcursor.h ../gui/text/qtextdocument.h ../gui/text/qtextdocumentfragment.h ../gui/text/qtextdocumentwriter.h ../gui/text/qtextformat.h ../gui/text/qtextlayout.h ../gui/text/qtextlist.h ../gui/text/qtextobject.h ../gui/text/qtextoption.h ../gui/text/qtexttable.h ../gui/itemviews/qabstractitemdelegate.h ../gui/itemviews/qabstractitemview.h ../gui/itemviews/qabstractproxymodel.h ../gui/itemviews/qcolumnview.h ../gui/itemviews/qdatawidgetmapper.h ../gui/itemviews/qdirmodel.h ../gui/itemviews/qfileiconprovider.h ../gui/itemviews/qheaderview.h ../gui/itemviews/qitemdelegate.h ../gui/itemviews/qitemeditorfactory.h ../gui/itemviews/qitemselectionmodel.h ../gui/itemviews/qlistview.h ../gui/itemviews/qlistwidget.h ../gui/itemviews/qproxymodel.h ../gui/itemviews/qsortfilterproxymodel.h ../gui/itemviews/qstandarditemmodel.h ../gui/itemviews/qstringlistmodel.h ../gui/itemviews/qstyleditemdelegate.h ../gui/itemviews/qtableview.h ../gui/itemviews/qtablewidget.h ../gui/itemviews/qtreeview.h ../gui/itemviews/qtreewidget.h ../gui/itemviews/qtreewidgetitemiterator.h ../gui/widgets/qabstractbutton.h ../gui/widgets/qabstractscrollarea.h ../gui/widgets/qabstractslider.h ../gui/widgets/qabstractspinbox.h ../gui/widgets/qbuttongroup.h ../gui/widgets/qcalendarwidget.h ../gui/widgets/qcheckbox.h ../gui/widgets/qcombobox.h ../gui/widgets/qcommandlinkbutton.h ../gui/widgets/qdatetimeedit.h ../gui/widgets/qdial.h ../gui/widgets/qdialogbuttonbox.h ../gui/widgets/qdockwidget.h ../gui/widgets/qfocusframe.h ../gui/widgets/qfontcombobox.h ../gui/widgets/qframe.h ../gui/widgets/qgroupbox.h ../gui/widgets/qlabel.h ../gui/widgets/qlcdnumber.h ../gui/widgets/qlineedit.h ../gui/widgets/qmaccocoaviewcontainer_mac.h ../gui/widgets/qmacnativewidget_mac.h ../gui/widgets/qmainwindow.h ../gui/widgets/qmdiarea.h ../gui/widgets/qmdisubwindow.h ../gui/widgets/qmenu.h ../gui/widgets/qmenubar.h ../gui/widgets/qmenudata.h ../gui/widgets/qplaintextedit.h ../gui/widgets/qprintpreviewwidget.h ../gui/widgets/qprogressbar.h ../gui/widgets/qpushbutton.h ../gui/widgets/qradiobutton.h ../gui/widgets/qrubberband.h ../gui/widgets/qscrollarea.h ../gui/widgets/qscrollbar.h ../gui/widgets/qsizegrip.h ../gui/widgets/qslider.h ../gui/widgets/qspinbox.h ../gui/widgets/qsplashscreen.h ../gui/widgets/qsplitter.h ../gui/widgets/qstackedwidget.h ../gui/widgets/qstatusbar.h ../gui/widgets/qtabbar.h ../gui/widgets/qtabwidget.h ../gui/widgets/qtextbrowser.h ../gui/widgets/qtextedit.h ../gui/widgets/qtoolbar.h ../gui/widgets/qtoolbox.h ../gui/widgets/qtoolbutton.h ../gui/widgets/qvalidator.h ../gui/widgets/qworkspace.h ../gui/statemachine/qkeyeventtransition.h ../gui/statemachine/qmouseeventtransition.h ../gui/util/qcompleter.h ../gui/util/qdesktopservices.h ../gui/util/qsystemtrayicon.h ../gui/util/qundogroup.h ../gui/util/qundostack.h ../gui/util/qundoview.h ../gui/accessible/qaccessible.h ../gui/accessible/qaccessible2.h ../gui/accessible/qaccessiblebridge.h ../gui/accessible/qaccessibleobject.h ../gui/accessible/qaccessibleplugin.h ../gui/accessible/qaccessiblewidget.h ../gui/styles/qcdestyle.h ../gui/styles/qcleanlooksstyle.h ../gui/styles/qcommonstyle.h ../gui/styles/qgtkstyle.h ../gui/styles/qmacstyle_mac.h ../gui/styles/qmotifstyle.h ../gui/styles/qplastiquestyle.h ../gui/styles/qproxystyle.h ../gui/styles/qs60style.h ../gui/styles/qstyle.h ../gui/styles/qstylefactory.h ../gui/styles/qstyleoption.h ../gui/styles/qstyleplugin.h ../gui/styles/qwindowscestyle.h ../gui/styles/qwindowsmobilestyle.h ../gui/styles/qwindowsstyle.h ../gui/styles/qwindowsvistastyle.h ../gui/styles/qwindowsxpstyle.h ../gui/inputmethod/qinputcontext.h ../gui/inputmethod/qinputcontextfactory.h ../gui/inputmethod/qinputcontextplugin.h ../gui/painting/qbrush.h ../gui/painting/qcolor.h ../gui/painting/qcolormap.h ../gui/painting/qdrawutil.h ../gui/painting/qmatrix.h ../gui/painting/qpaintdevice.h ../gui/painting/qpaintengine.h ../gui/painting/qpainter.h ../gui/painting/qpainterpath.h ../gui/painting/qpen.h ../gui/painting/qpolygon.h ../gui/painting/qprintengine.h ../gui/painting/qprinter.h ../gui/painting/qprinterinfo.h ../gui/painting/qregion.h ../gui/painting/qrgb.h ../gui/painting/qstylepainter.h ../gui/painting/qtransform.h ../gui/painting/qwmatrix.h ../../include/QtGui/QtGui ../gui/kernel/qwindowdefs_haiku.h ../gui/kernel/qwidget_haiku.h ../gui/util/qsystemtrayicon_haiku.h
-+SYNCQT.HEADER_CLASSES = ../../include/QtGui/QAbstractPageSetupDialog ../../include/QtGui/QAbstractPrintDialog ../../include/QtGui/QColorDialog ../../include/QtGui/QDialog ../../include/QtGui/QErrorMessage ../../include/QtGui/QFileDialog ../../include/QtGui/QFileSystemModel ../../include/QtGui/QFontDialog ../../include/QtGui/QInputDialog ../../include/QtGui/QMessageBox ../../include/QtGui/QPageSetupDialog ../../include/QtGui/QUnixPrintWidget ../../include/QtGui/QPrintDialog ../../include/QtGui/QPrintPreviewDialog ../../include/QtGui/QProgressDialog ../../include/QtGui/QWizard ../../include/QtGui/QWizardPage ../../include/QtGui/QCopChannel ../../include/QtGui/QDecorationAction ../../include/QtGui/QDecoration ../../include/QtGui/QDecorationDefault ../../include/QtGui/QDecorationFactory ../../include/QtGui/QDecorationFactoryInterface ../../include/QtGui/QDecorationPlugin ../../include/QtGui/QDecorationStyled ../../include/QtGui/QDecorationWindows ../../include/QtGui/QDirectPainter ../../include/QtGui/QWSKeyboardHandler ../../include/QtGui/QKbdDriverFactory ../../include/QtGui/QWSKeyboardHandlerFactoryInterface ../../include/QtGui/QKbdDriverPlugin ../../include/QtGui/QWSLinuxInputKeyboardHandler ../../include/QtGui/QWSQnxKeyboardHandler ../../include/QtGui/QWSTtyKeyboardHandler ../../include/QtGui/QWSUmKeyboardHandler ../../include/QtGui/QVFbKeyboardHandler ../../include/QtGui/QWSPointerCalibrationData ../../include/QtGui/QWSMouseHandler ../../include/QtGui/QWSCalibratedMouseHandler ../../include/QtGui/QMouseDriverFactory ../../include/QtGui/QWSMouseHandlerFactoryInterface ../../include/QtGui/QMouseDriverPlugin ../../include/QtGui/QWSLinuxInputMouseHandler ../../include/QtGui/QWSLinuxTPMouseHandler ../../include/QtGui/QWSPcMouseHandler ../../include/QtGui/QQnxMouseHandler ../../include/QtGui/QWSTslibMouseHandler ../../include/QtGui/QVFbMouseHandler ../../include/QtGui/QScreenCursor ../../include/QtGui/QPoolEntry ../../include/QtGui/QScreen ../../include/QtGui/QScreenDriverFactory ../../include/QtGui/QScreenDriverFactoryInterface ../../include/QtGui/QScreenDriverPlugin ../../include/QtGui/QLinuxFb_Shared ../../include/QtGui/QLinuxFbScreen ../../include/QtGui/QProxyScreenCursor ../../include/QtGui/QProxyScreen ../../include/QtGui/QQnxScreen ../../include/QtGui/QTransformedScreen ../../include/QtGui/QVFbScreen ../../include/QtGui/QWSSoundServer ../../include/QtGui/QWSSoundClient ../../include/QtGui/QWSSoundServerSocket ../../include/QtGui/QTransportAuth ../../include/QtGui/QAuthDevice ../../include/QtGui/QVFbHeader ../../include/QtGui/QVFbKeyData ../../include/QtGui/QWSInternalWindowInfo ../../include/QtGui/QWSScreenSaver ../../include/QtGui/QWSWindow ../../include/QtGui/QWSServer ../../include/QtGui/QWSInputMethod ../../include/QtGui/QWSCursorMap ../../include/QtGui/QWSClient ../../include/QtGui/QWSCursor ../../include/QtGui/QWSWindowInfo ../../include/QtGui/QWSDisplay ../../include/QtGui/QWSEmbedWidget ../../include/QtGui/QWSEvent ../../include/QtGui/QWSManager ../../include/QtGui/QWSPropertyManager ../../include/QtGui/QWSProtocolItem ../../include/QtGui/QWSSocket ../../include/QtGui/QWSServerSocket ../../include/QtGui/QGraphicsAnchor ../../include/QtGui/QGraphicsAnchorLayout ../../include/QtGui/QGraphicsGridLayout ../../include/QtGui/QGraphicsItem ../../include/QtGui/QGraphicsObject ../../include/QtGui/QAbstractGraphicsShapeItem ../../include/QtGui/QGraphicsPathItem ../../include/QtGui/QGraphicsRectItem ../../include/QtGui/QGraphicsEllipseItem ../../include/QtGui/QGraphicsPolygonItem ../../include/QtGui/QGraphicsLineItem ../../include/QtGui/QGraphicsPixmapItem ../../include/QtGui/QGraphicsTextItem ../../include/QtGui/QGraphicsSimpleTextItem ../../include/QtGui/QGraphicsItemGroup ../../include/QtGui/QGraphicsItemAnimation ../../include/QtGui/QGraphicsLayout ../../include/QtGui/QGraphicsLayoutItem ../../include/QtGui/QGraphicsLinearLayout ../../include/QtGui/QGraphicsProxyWidget ../../include/QtGui/QGraphicsScene ../../include/QtGui/QGraphicsSceneEvent ../../include/QtGui/QGraphicsSceneMouseEvent ../../include/QtGui/QGraphicsSceneWheelEvent ../../include/QtGui/QGraphicsSceneContextMenuEvent ../../include/QtGui/QGraphicsSceneHoverEvent ../../include/QtGui/QGraphicsSceneHelpEvent ../../include/QtGui/QGraphicsSceneDragDropEvent ../../include/QtGui/QGraphicsSceneResizeEvent ../../include/QtGui/QGraphicsSceneMoveEvent ../../include/QtGui/QGraphicsTransform ../../include/QtGui/QGraphicsScale ../../include/QtGui/QGraphicsRotation ../../include/QtGui/QGraphicsView ../../include/QtGui/QGraphicsWidget ../../include/QtGui/QAction ../../include/QtGui/QActionGroup ../../include/QtGui/QApplication ../../include/QtGui/QBoxLayout ../../include/QtGui/QHBoxLayout ../../include/QtGui/QVBoxLayout ../../include/QtGui/QClipboard ../../include/QtGui/QCursor ../../include/QtGui/QCursorShape ../../include/QtGui/QDesktopWidget ../../include/QtGui/QDrag ../../include/QtGui/QtEvents ../../include/QtGui/QInputEvent ../../include/QtGui/QMouseEvent ../../include/QtGui/QHoverEvent ../../include/QtGui/QWheelEvent ../../include/QtGui/QTabletEvent ../../include/QtGui/QKeyEvent ../../include/QtGui/QFocusEvent ../../include/QtGui/QPaintEvent ../../include/QtGui/QUpdateLaterEvent ../../include/QtGui/QMoveEvent ../../include/QtGui/QResizeEvent ../../include/QtGui/QCloseEvent ../../include/QtGui/QIconDragEvent ../../include/QtGui/QShowEvent ../../include/QtGui/QHideEvent ../../include/QtGui/QContextMenuEvent ../../include/QtGui/QInputMethodEvent ../../include/QtGui/QDropEvent ../../include/QtGui/QDragMoveEvent ../../include/QtGui/QDragEnterEvent ../../include/QtGui/QDragResponseEvent ../../include/QtGui/QDragLeaveEvent ../../include/QtGui/QHelpEvent ../../include/QtGui/QStatusTipEvent ../../include/QtGui/QWhatsThisClickedEvent ../../include/QtGui/QActionEvent ../../include/QtGui/QFileOpenEvent ../../include/QtGui/QToolBarChangeEvent ../../include/QtGui/QShortcutEvent ../../include/QtGui/QClipboardEvent ../../include/QtGui/QWindowStateChangeEvent ../../include/QtGui/QMenubarUpdatedEvent ../../include/QtGui/QTouchEvent ../../include/QtGui/QGestureEvent ../../include/QtGui/QFormLayout ../../include/QtGui/QGesture ../../include/QtGui/QPanGesture ../../include/QtGui/QPinchGesture ../../include/QtGui/QSwipeGesture ../../include/QtGui/QTapGesture ../../include/QtGui/QTapAndHoldGesture ../../include/QtGui/QGestureRecognizer ../../include/QtGui/QGridLayout ../../include/QtGui/QKeySequence ../../include/QtGui/QLayoutIterator ../../include/QtGui/QLayout ../../include/QtGui/QLayoutItem ../../include/QtGui/QSpacerItem ../../include/QtGui/QWidgetItem ../../include/QtGui/QWidgetItemV2 ../../include/QtGui/QMimeSource ../../include/QtGui/QWindowsMime ../../include/QtGui/QMacMime ../../include/QtGui/QMacPasteboardMime ../../include/QtGui/QPalette ../../include/QtGui/QColorGroup ../../include/QtGui/QSessionManager ../../include/QtGui/QShortcut ../../include/QtGui/QSizePolicy ../../include/QtGui/QSound ../../include/QtGui/QStackedLayout ../../include/QtGui/QToolTip ../../include/QtGui/QWhatsThis ../../include/QtGui/QWidgetData ../../include/QtGui/QWidget ../../include/QtGui/QWidgetAction ../../include/QtGui/QWidgetList ../../include/QtGui/QWidgetMapper ../../include/QtGui/QWidgetSet ../../include/QtGui/QX11EmbedWidget ../../include/QtGui/QX11EmbedContainer ../../include/QtGui/QX11Info ../../include/QtGui/QGraphicsEffect ../../include/QtGui/QGraphicsColorizeEffect ../../include/QtGui/QGraphicsBlurEffect ../../include/QtGui/QGraphicsDropShadowEffect ../../include/QtGui/QGraphicsOpacityEffect ../../include/QtGui/QS60MainApplicationBase ../../include/QtGui/QS60MainApplication ../../include/QtGui/QS60MainAppUiBase ../../include/QtGui/QS60StubAknAppUiBase ../../include/QtGui/QS60StubMEikStatusPaneObserver ../../include/QtGui/QS60StubMAknTouchPaneObserver ../../include/QtGui/QS60StubAknAppUi ../../include/QtGui/QS60MainAppUi ../../include/QtGui/QS60MainDocumentBase ../../include/QtGui/QS60MainDocument ../../include/QtGui/QGenericMatrix ../../include/QtGui/QMatrix2x2 ../../include/QtGui/QMatrix2x3 ../../include/QtGui/QMatrix2x4 ../../include/QtGui/QMatrix3x2 ../../include/QtGui/QMatrix3x3 ../../include/QtGui/QMatrix3x4 ../../include/QtGui/QMatrix4x2 ../../include/QtGui/QMatrix4x3 ../../include/QtGui/QMatrix4x4 ../../include/QtGui/QQuaternion ../../include/QtGui/QVector2D ../../include/QtGui/QVector3D ../../include/QtGui/QVector4D ../../include/QtGui/QBitmap ../../include/QtGui/QIcon ../../include/QtGui/QIconSet ../../include/QtGui/QIconEngine ../../include/QtGui/QIconEngineV2 ../../include/QtGui/QIconEngineFactoryInterface ../../include/QtGui/QIconEnginePlugin ../../include/QtGui/QIconEngineFactoryInterfaceV2 ../../include/QtGui/QIconEnginePluginV2 ../../include/QtGui/QImageTextKeyLang ../../include/QtGui/QImage ../../include/QtGui/QImageIOHandler ../../include/QtGui/QImageIOHandlerFactoryInterface ../../include/QtGui/QImageIOPlugin ../../include/QtGui/QImageReader ../../include/QtGui/QImageWriter ../../include/QtGui/QMovie ../../include/QtGui/QPicture ../../include/QtGui/QPictureIO ../../include/QtGui/QPictureFormatInterface ../../include/QtGui/QPictureFormatPlugin ../../include/QtGui/QPixmap ../../include/QtGui/QPixmapCache ../../include/QtGui/QSymbianEvent ../../include/QtGui/QFontEngineInfo ../../include/QtGui/QFontEngineFactoryInterface ../../include/QtGui/QFontEnginePlugin ../../include/QtGui/QAbstractFontEngine ../../include/QtGui/QAbstractTextDocumentLayout ../../include/QtGui/QTextObjectInterface ../../include/QtGui/QFont ../../include/QtGui/QFontDatabase ../../include/QtGui/QFontInfo ../../include/QtGui/QFontMetrics ../../include/QtGui/QFontMetricsF ../../include/QtGui/QStaticText ../../include/QtGui/QSyntaxHighlighter ../../include/QtGui/QTextCursor ../../include/QtGui/QAbstractUndoItem ../../include/QtGui/QTextDocument ../../include/QtGui/QTextDocumentFragment ../../include/QtGui/QTextDocumentWriter ../../include/QtGui/QTextLength ../../include/QtGui/QTextFormat ../../include/QtGui/QTextCharFormat ../../include/QtGui/QTextBlockFormat ../../include/QtGui/QTextListFormat ../../include/QtGui/QTextImageFormat ../../include/QtGui/QTextFrameFormat ../../include/QtGui/QTextTableFormat ../../include/QtGui/QTextTableCellFormat ../../include/QtGui/QTextInlineObject ../../include/QtGui/QTextLayout ../../include/QtGui/QTextLine ../../include/QtGui/QTextList ../../include/QtGui/QTextObject ../../include/QtGui/QTextBlockGroup ../../include/QtGui/QTextFrameLayoutData ../../include/QtGui/QTextFrame ../../include/QtGui/QTextBlockUserData ../../include/QtGui/QTextBlock ../../include/QtGui/QTextFragment ../../include/QtGui/QTextOption ../../include/QtGui/QTextTableCell ../../include/QtGui/QTextTable ../../include/QtGui/QAbstractItemDelegate ../../include/QtGui/QAbstractItemView ../../include/QtGui/QAbstractProxyModel ../../include/QtGui/QColumnView ../../include/QtGui/QDataWidgetMapper ../../include/QtGui/QDirModel ../../include/QtGui/QFileIconProvider ../../include/QtGui/QHeaderView ../../include/QtGui/QItemDelegate ../../include/QtGui/QItemEditorCreatorBase ../../include/QtGui/QItemEditorCreator ../../include/QtGui/QStandardItemEditorCreator ../../include/QtGui/QItemEditorFactory ../../include/QtGui/QItemSelectionRange ../../include/QtGui/QItemSelectionModel ../../include/QtGui/QItemSelection ../../include/QtGui/QListView ../../include/QtGui/QListWidgetItem ../../include/QtGui/QListWidget ../../include/QtGui/QProxyModel ../../include/QtGui/QSortFilterProxyModel ../../include/QtGui/QStandardItem ../../include/QtGui/QStandardItemModel ../../include/QtGui/QStringListModel ../../include/QtGui/QStyledItemDelegate ../../include/QtGui/QTableView ../../include/QtGui/QTableWidgetSelectionRange ../../include/QtGui/QTableWidgetItem ../../include/QtGui/QTableWidget ../../include/QtGui/QTreeView ../../include/QtGui/QTreeWidgetItem ../../include/QtGui/QTreeWidget ../../include/QtGui/QTreeWidgetItemIterator ../../include/QtGui/QAbstractButton ../../include/QtGui/QAbstractScrollArea ../../include/QtGui/QAbstractSlider ../../include/QtGui/QAbstractSpinBox ../../include/QtGui/QButtonGroup ../../include/QtGui/QCalendarWidget ../../include/QtGui/QCheckBox ../../include/QtGui/QComboBox ../../include/QtGui/QCommandLinkButton ../../include/QtGui/QDateTimeEdit ../../include/QtGui/QTimeEdit ../../include/QtGui/QDateEdit ../../include/QtGui/QDial ../../include/QtGui/QDialogButtonBox ../../include/QtGui/QDockWidget ../../include/QtGui/QFocusFrame ../../include/QtGui/QFontComboBox ../../include/QtGui/QFrame ../../include/QtGui/QGroupBox ../../include/QtGui/QLabel ../../include/QtGui/QLCDNumber ../../include/QtGui/QLineEdit ../../include/QtGui/QMacCocoaViewContainer ../../include/QtGui/QMacNativeWidget ../../include/QtGui/QMainWindow ../../include/QtGui/QMdiArea ../../include/QtGui/QMdiSubWindow ../../include/QtGui/QMenu ../../include/QtGui/QMenuBar ../../include/QtGui/QMenuItem ../../include/QtGui/QPlainTextEdit ../../include/QtGui/QPlainTextDocumentLayout ../../include/QtGui/QPrintPreviewWidget ../../include/QtGui/QProgressBar ../../include/QtGui/QPushButton ../../include/QtGui/QRadioButton ../../include/QtGui/QRubberBand ../../include/QtGui/QScrollArea ../../include/QtGui/QScrollBar ../../include/QtGui/QSizeGrip ../../include/QtGui/QSlider ../../include/QtGui/QSpinBox ../../include/QtGui/QDoubleSpinBox ../../include/QtGui/QSplashScreen ../../include/QtGui/QSplitter ../../include/QtGui/QSplitterHandle ../../include/QtGui/QStackedWidget ../../include/QtGui/QStatusBar ../../include/QtGui/QTabBar ../../include/QtGui/QTabWidget ../../include/QtGui/QTextBrowser ../../include/QtGui/QTextEdit ../../include/QtGui/QToolBar ../../include/QtGui/QToolBox ../../include/QtGui/QToolButton ../../include/QtGui/QValidator ../../include/QtGui/QIntValidator ../../include/QtGui/QDoubleValidator ../../include/QtGui/QRegExpValidator ../../include/QtGui/QWorkspace ../../include/QtGui/QKeyEventTransition ../../include/QtGui/QMouseEventTransition ../../include/QtGui/QCompleter ../../include/QtGui/QDesktopServices ../../include/QtGui/QSystemTrayIcon ../../include/QtGui/QUndoGroup ../../include/QtGui/QUndoCommand ../../include/QtGui/QUndoStack ../../include/QtGui/QUndoView ../../include/QtGui/QAccessible ../../include/QtGui/QAccessibleInterface ../../include/QtGui/QAccessibleInterfaceEx ../../include/QtGui/QAccessibleEvent ../../include/QtGui/QAccessible2Interface ../../include/QtGui/QAccessibleTextInterface ../../include/QtGui/QAccessibleEditableTextInterface ../../include/QtGui/QAccessibleSimpleEditableTextInterface ../../include/QtGui/QAccessibleValueInterface ../../include/QtGui/QAccessibleTableInterface ../../include/QtGui/QAccessibleActionInterface ../../include/QtGui/QAccessibleImageInterface ../../include/QtGui/QAccessibleBridge ../../include/QtGui/QAccessibleBridgeFactoryInterface ../../include/QtGui/QAccessibleBridgePlugin ../../include/QtGui/QAccessibleObject ../../include/QtGui/QAccessibleObjectEx ../../include/QtGui/QAccessibleApplication ../../include/QtGui/QAccessibleFactoryInterface ../../include/QtGui/QAccessiblePlugin ../../include/QtGui/QAccessibleWidget ../../include/QtGui/QAccessibleWidgetEx ../../include/QtGui/QCDEStyle ../../include/QtGui/QCleanlooksStyle ../../include/QtGui/QCommonStyle ../../include/QtGui/QGtkStyle ../../include/QtGui/QMacStyle ../../include/QtGui/QMotifStyle ../../include/QtGui/QPlastiqueStyle ../../include/QtGui/QProxyStyle ../../include/QtGui/QS60Style ../../include/QtGui/QStyle ../../include/QtGui/QStyleFactory ../../include/QtGui/QStyleOption ../../include/QtGui/QStyleOptionFocusRect ../../include/QtGui/QStyleOptionFrame ../../include/QtGui/QStyleOptionFrameV2 ../../include/QtGui/QStyleOptionFrameV3 ../../include/QtGui/QStyleOptionTabWidgetFrame ../../include/QtGui/QStyleOptionTabWidgetFrameV2 ../../include/QtGui/QStyleOptionTabBarBase ../../include/QtGui/QStyleOptionTabBarBaseV2 ../../include/QtGui/QStyleOptionHeader ../../include/QtGui/QStyleOptionButton ../../include/QtGui/QStyleOptionTab ../../include/QtGui/QStyleOptionTabV2 ../../include/QtGui/QStyleOptionTabV3 ../../include/QtGui/QStyleOptionToolBar ../../include/QtGui/QStyleOptionProgressBar ../../include/QtGui/QStyleOptionProgressBarV2 ../../include/QtGui/QStyleOptionMenuItem ../../include/QtGui/QStyleOptionQ3ListViewItem ../../include/QtGui/QStyleOptionQ3DockWindow ../../include/QtGui/QStyleOptionDockWidget ../../include/QtGui/QStyleOptionDockWidgetV2 ../../include/QtGui/QStyleOptionViewItem ../../include/QtGui/QStyleOptionViewItemV2 ../../include/QtGui/QStyleOptionViewItemV3 ../../include/QtGui/QStyleOptionViewItemV4 ../../include/QtGui/QStyleOptionToolBox ../../include/QtGui/QStyleOptionToolBoxV2 ../../include/QtGui/QStyleOptionRubberBand ../../include/QtGui/QStyleOptionComplex ../../include/QtGui/QStyleOptionSlider ../../include/QtGui/QStyleOptionSpinBox ../../include/QtGui/QStyleOptionQ3ListView ../../include/QtGui/QStyleOptionToolButton ../../include/QtGui/QStyleOptionComboBox ../../include/QtGui/QStyleOptionTitleBar ../../include/QtGui/QStyleOptionGroupBox ../../include/QtGui/QStyleOptionSizeGrip ../../include/QtGui/QStyleOptionGraphicsItem ../../include/QtGui/QStyleHintReturn ../../include/QtGui/QStyleHintReturnMask ../../include/QtGui/QStyleHintReturnVariant ../../include/QtGui/QStyleFactoryInterface ../../include/QtGui/QStylePlugin ../../include/QtGui/QWindowsCEStyle ../../include/QtGui/QWindowsMobileStyle ../../include/QtGui/QWindowsStyle ../../include/QtGui/QWindowsVistaStyle ../../include/QtGui/QWindowsXPStyle ../../include/QtGui/QInputContext ../../include/QtGui/QInputContextFactory ../../include/QtGui/QInputContextFactoryInterface ../../include/QtGui/QInputContextPlugin ../../include/QtGui/QBrush ../../include/QtGui/QBrushData ../../include/QtGui/QGradientStop ../../include/QtGui/QGradientStops ../../include/QtGui/QGradient ../../include/QtGui/QLinearGradient ../../include/QtGui/QRadialGradient ../../include/QtGui/QConicalGradient ../../include/QtGui/QColor ../../include/QtGui/QColormap ../../include/QtGui/QTileRules ../../include/QtGui/QMatrix ../../include/QtGui/QPaintDevice ../../include/QtGui/QTextItem ../../include/QtGui/QPaintEngine ../../include/QtGui/QPaintEngineState ../../include/QtGui/QPainter ../../include/QtGui/QPainterPath ../../include/QtGui/QPainterPathPrivate ../../include/QtGui/QPainterPathStroker ../../include/QtGui/QPen ../../include/QtGui/QPolygon ../../include/QtGui/QPolygonF ../../include/QtGui/QPrintEngine ../../include/QtGui/QPrinter ../../include/QtGui/QPrinterInfo ../../include/QtGui/QRegion ../../include/QtGui/QRgb ../../include/QtGui/QStylePainter ../../include/QtGui/QTransform ../../include/QtGui/QWMatrix ../../include/QtGui/QHaikuStyle ../../include/QtGui/QtHaikuView ../../include/QtGui/QtHaikuWindow
-+SYNCQT.PRIVATE_HEADER_FILES = ../gui/dialogs/qabstractpagesetupdialog_p.h ../gui/dialogs/qabstractprintdialog_p.h ../gui/dialogs/qcolordialog_p.h ../gui/dialogs/qdialog_p.h ../gui/dialogs/qfiledialog_p.h ../gui/dialogs/qfiledialog_win_p.h ../gui/dialogs/qfileinfogatherer_p.h ../gui/dialogs/qfilesystemmodel_p.h ../gui/dialogs/qfontdialog_p.h ../gui/dialogs/qfscompleter_p.h ../gui/dialogs/qpagesetupdialog_unix_p.h ../gui/dialogs/qsidebar_p.h ../gui/dialogs/qwizard_win_p.h ../gui/embedded/qkbd_defaultmap_qws_p.h ../gui/embedded/qkbd_qws_p.h ../gui/embedded/qlock_p.h ../gui/embedded/qscreenmulti_qws_p.h ../gui/embedded/qtransportauth_qws_p.h ../gui/embedded/qunixsocket_p.h ../gui/embedded/qunixsocketserver_p.h ../gui/embedded/qwindowsystem_p.h ../gui/embedded/qwscommand_qws_p.h ../gui/embedded/qwsdisplay_qws_p.h ../gui/embedded/qwslock_p.h ../gui/embedded/qwsmanager_p.h ../gui/embedded/qwssharedmemory_p.h ../gui/embedded/qwssignalhandler_p.h ../gui/graphicsview/qgraph_p.h ../gui/graphicsview/qgraphicsanchorlayout_p.h ../gui/graphicsview/qgraphicsitem_p.h ../gui/graphicsview/qgraphicslayout_p.h ../gui/graphicsview/qgraphicslayoutitem_p.h ../gui/graphicsview/qgraphicsproxywidget_p.h ../gui/graphicsview/qgraphicsscene_bsp_p.h ../gui/graphicsview/qgraphicsscene_p.h ../gui/graphicsview/qgraphicsscenebsptreeindex_p.h ../gui/graphicsview/qgraphicssceneindex_p.h ../gui/graphicsview/qgraphicsscenelinearindex_p.h ../gui/graphicsview/qgraphicstransform_p.h ../gui/graphicsview/qgraphicsview_p.h ../gui/graphicsview/qgraphicswidget_p.h ../gui/graphicsview/qgridlayoutengine_p.h ../gui/graphicsview/qsimplex_p.h ../gui/kernel/qaction_p.h ../gui/kernel/qapplication_p.h ../gui/kernel/qclipboard_p.h ../gui/kernel/qcocoaapplication_mac_p.h ../gui/kernel/qcocoaapplicationdelegate_mac_p.h ../gui/kernel/qcocoamenuloader_mac_p.h ../gui/kernel/qcocoapanel_mac_p.h ../gui/kernel/qcocoasharedwindowmethods_mac_p.h ../gui/kernel/qcocoaview_mac_p.h ../gui/kernel/qcocoawindow_mac_p.h ../gui/kernel/qcocoawindowcustomthemeframe_mac_p.h ../gui/kernel/qcocoawindowdelegate_mac_p.h ../gui/kernel/qcursor_p.h ../gui/kernel/qdesktopwidget_mac_p.h ../gui/kernel/qdnd_p.h ../gui/kernel/qevent_p.h ../gui/kernel/qeventdispatcher_glib_qws_p.h ../gui/kernel/qeventdispatcher_mac_p.h ../gui/kernel/qeventdispatcher_qws_p.h ../gui/kernel/qeventdispatcher_s60_p.h ../gui/kernel/qeventdispatcher_x11_p.h ../gui/kernel/qgesture_p.h ../gui/kernel/qgesturemanager_p.h ../gui/kernel/qguieventdispatcher_glib_p.h ../gui/kernel/qguiplatformplugin_p.h ../gui/kernel/qkde_p.h ../gui/kernel/qkeymapper_p.h ../gui/kernel/qkeysequence_p.h ../gui/kernel/qlayout_p.h ../gui/kernel/qlayoutengine_p.h ../gui/kernel/qmacgesturerecognizer_mac_p.h ../gui/kernel/qmultitouch_mac_p.h ../gui/kernel/qnsframeview_mac_p.h ../gui/kernel/qnsthemeframe_mac_p.h ../gui/kernel/qnstitledframe_mac_p.h ../gui/kernel/qshortcutmap_p.h ../gui/kernel/qsoftkeymanager_common_p.h ../gui/kernel/qsoftkeymanager_p.h ../gui/kernel/qsoftkeymanager_s60_p.h ../gui/kernel/qsound_p.h ../gui/kernel/qstandardgestures_p.h ../gui/kernel/qt_cocoa_helpers_mac_p.h ../gui/kernel/qt_gui_pch.h ../gui/kernel/qt_mac_p.h ../gui/kernel/qt_s60_p.h ../gui/kernel/qt_x11_p.h ../gui/kernel/qwidget_p.h ../gui/kernel/qwidgetaction_p.h ../gui/kernel/qwinnativepangesturerecognizer_win_p.h ../gui/effects/qgraphicseffect_p.h ../gui/s60framework/qs60mainapplication_p.h ../gui/image/qbmphandler_p.h ../gui/image/qgifhandler_p.h ../gui/image/qicon_p.h ../gui/image/qiconloader_p.h ../gui/image/qimage_p.h ../gui/image/qimagepixmapcleanuphooks_p.h ../gui/image/qjpeghandler_p.h ../gui/image/qmnghandler_p.h ../gui/image/qnativeimage_p.h ../gui/image/qpaintengine_pic_p.h ../gui/image/qpicture_p.h ../gui/image/qpixmap_mac_p.h ../gui/image/qpixmap_raster_p.h ../gui/image/qpixmap_s60_p.h ../gui/image/qpixmap_x11_p.h ../gui/image/qpixmapcache_p.h ../gui/image/qpixmapdata_p.h ../gui/image/qpixmapdatafactory_p.h ../gui/image/qpixmapfilter_p.h ../gui/image/qpnghandler_p.h ../gui/image/qppmhandler_p.h ../gui/image/qtiffhandler_p.h ../gui/image/qxbmhandler_p.h ../gui/image/qxpmhandler_p.h ../gui/text/qabstractfontengine_p.h ../gui/text/qabstracttextdocumentlayout_p.h ../gui/text/qcssparser_p.h ../gui/text/qfont_p.h ../gui/text/qfontengine_ft_p.h ../gui/text/qfontengine_p.h ../gui/text/qfontengine_qpf_p.h ../gui/text/qfontengine_s60_p.h ../gui/text/qfontengine_win_p.h ../gui/text/qfontengine_x11_p.h ../gui/text/qfontengineglyphcache_p.h ../gui/text/qfontsubset_p.h ../gui/text/qfragmentmap_p.h ../gui/text/qstatictext_p.h ../gui/text/qtextcontrol_p.h ../gui/text/qtextcontrol_p_p.h ../gui/text/qtextcursor_p.h ../gui/text/qtextdocument_p.h ../gui/text/qtextdocumentfragment_p.h ../gui/text/qtextdocumentlayout_p.h ../gui/text/qtextengine_p.h ../gui/text/qtextformat_p.h ../gui/text/qtexthtmlparser_p.h ../gui/text/qtextimagehandler_p.h ../gui/text/qtextobject_p.h ../gui/text/qtextodfwriter_p.h ../gui/text/qtexttable_p.h ../gui/text/qzipreader_p.h ../gui/text/qzipwriter_p.h ../gui/itemviews/qabstractitemview_p.h ../gui/itemviews/qabstractproxymodel_p.h ../gui/itemviews/qbsptree_p.h ../gui/itemviews/qcolumnview_p.h ../gui/itemviews/qcolumnviewgrip_p.h ../gui/itemviews/qheaderview_p.h ../gui/itemviews/qitemeditorfactory_p.h ../gui/itemviews/qitemselectionmodel_p.h ../gui/itemviews/qlistview_p.h ../gui/itemviews/qlistwidget_p.h ../gui/itemviews/qproxymodel_p.h ../gui/itemviews/qstandarditemmodel_p.h ../gui/itemviews/qtableview_p.h ../gui/itemviews/qtablewidget_p.h ../gui/itemviews/qtreeview_p.h ../gui/itemviews/qtreewidget_p.h ../gui/itemviews/qtreewidgetitemiterator_p.h ../gui/itemviews/qwidgetitemdata_p.h ../gui/widgets/qabstractbutton_p.h ../gui/widgets/qabstractscrollarea_p.h ../gui/widgets/qabstractslider_p.h ../gui/widgets/qabstractspinbox_p.h ../gui/widgets/qcalendartextnavigator_p.h ../gui/widgets/qcocoamenu_mac_p.h ../gui/widgets/qcocoatoolbardelegate_mac_p.h ../gui/widgets/qcombobox_p.h ../gui/widgets/qdatetimeedit_p.h ../gui/widgets/qdockarealayout_p.h ../gui/widgets/qdockwidget_p.h ../gui/widgets/qeffects_p.h ../gui/widgets/qframe_p.h ../gui/widgets/qlabel_p.h ../gui/widgets/qlinecontrol_p.h ../gui/widgets/qlineedit_p.h ../gui/widgets/qmainwindowlayout_p.h ../gui/widgets/qmdiarea_p.h ../gui/widgets/qmdisubwindow_p.h ../gui/widgets/qmenu_p.h ../gui/widgets/qmenu_wince_resource_p.h ../gui/widgets/qmenubar_p.h ../gui/widgets/qplaintextedit_p.h ../gui/widgets/qpushbutton_p.h ../gui/widgets/qscrollarea_p.h ../gui/widgets/qsplitter_p.h ../gui/widgets/qtabbar_p.h ../gui/widgets/qtextedit_p.h ../gui/widgets/qtoolbar_p.h ../gui/widgets/qtoolbararealayout_p.h ../gui/widgets/qtoolbarextension_p.h ../gui/widgets/qtoolbarlayout_p.h ../gui/widgets/qtoolbarseparator_p.h ../gui/widgets/qwidgetanimator_p.h ../gui/widgets/qwidgetresizehandler_p.h ../gui/statemachine/qbasickeyeventtransition_p.h ../gui/statemachine/qbasicmouseeventtransition_p.h ../gui/util/qcompleter_p.h ../gui/util/qsystemtrayicon_p.h ../gui/util/qundostack_p.h ../gui/accessible/qaccessible_mac_p.h ../gui/styles/qcleanlooksstyle_p.h ../gui/styles/qcommonstyle_p.h ../gui/styles/qcommonstylepixmaps_p.h ../gui/styles/qgtkpainter_p.h ../gui/styles/qgtkstyle_p.h ../gui/styles/qmacstyle_mac_p.h ../gui/styles/qmacstylepixmaps_mac_p.h ../gui/styles/qmotifstyle_p.h ../gui/styles/qproxystyle_p.h ../gui/styles/qs60style_p.h ../gui/styles/qstyle_p.h ../gui/styles/qstylehelper_p.h ../gui/styles/qstylesheetstyle_p.h ../gui/styles/qwindowscestyle_p.h ../gui/styles/qwindowsmobilestyle_p.h ../gui/styles/qwindowsstyle_p.h ../gui/styles/qwindowsvistastyle_p.h ../gui/styles/qwindowsxpstyle_p.h ../gui/egl/qegl_p.h ../gui/egl/qeglcontext_p.h ../gui/egl/qeglproperties_p.h ../gui/inputmethod/qcoefepinputcontext_p.h ../gui/inputmethod/qinputcontext_p.h ../gui/inputmethod/qmacinputcontext_p.h ../gui/inputmethod/qwininputcontext_p.h ../gui/inputmethod/qwsinputcontext_p.h ../gui/inputmethod/qximinputcontext_p.h ../gui/painting/qbackingstore_p.h ../gui/painting/qbezier_p.h ../gui/painting/qblendfunctions_p.h ../gui/painting/qcolor_p.h ../gui/painting/qcssutil_p.h ../gui/painting/qcups_p.h ../gui/painting/qdatabuffer_p.h ../gui/painting/qdrawhelper_arm_simd_p.h ../gui/painting/qdrawhelper_mmx_p.h ../gui/painting/qdrawhelper_neon_p.h ../gui/painting/qdrawhelper_p.h ../gui/painting/qdrawhelper_sse_p.h ../gui/painting/qdrawhelper_x86_p.h ../gui/painting/qdrawingprimitive_sse2_p.h ../gui/painting/qemulationpaintengine_p.h ../gui/painting/qfixed_p.h ../gui/painting/qgraphicssystem_mac_p.h ../gui/painting/qgraphicssystem_p.h ../gui/painting/qgraphicssystem_qws_p.h ../gui/painting/qgraphicssystem_raster_p.h ../gui/painting/qgraphicssystem_runtime_p.h ../gui/painting/qgraphicssystemfactory_p.h ../gui/painting/qgraphicssystemplugin_p.h ../gui/painting/qgrayraster_p.h ../gui/painting/qimagescale_p.h ../gui/painting/qmath_p.h ../gui/painting/qmemrotate_p.h ../gui/painting/qoutlinemapper_p.h ../gui/painting/qpaintbuffer_p.h ../gui/painting/qpaintengine_alpha_p.h ../gui/painting/qpaintengine_mac_p.h ../gui/painting/qpaintengine_p.h ../gui/painting/qpaintengine_preview_p.h ../gui/painting/qpaintengine_raster_p.h ../gui/painting/qpaintengine_s60_p.h ../gui/painting/qpaintengine_x11_p.h ../gui/painting/qpaintengineex_p.h ../gui/painting/qpainter_p.h ../gui/painting/qpainterpath_p.h ../gui/painting/qpathclipper_p.h ../gui/painting/qpdf_p.h ../gui/painting/qpen_p.h ../gui/painting/qpolygonclipper_p.h ../gui/painting/qprintengine_mac_p.h ../gui/painting/qprintengine_pdf_p.h ../gui/painting/qprintengine_ps_p.h ../gui/painting/qprintengine_qws_p.h ../gui/painting/qprintengine_win_p.h ../gui/painting/qprinter_p.h ../gui/painting/qprinterinfo_unix_p.h ../gui/painting/qrasterdefs_p.h ../gui/painting/qrasterizer_p.h ../gui/painting/qstroker_p.h ../gui/painting/qtessellator_p.h ../gui/painting/qtextureglyphcache_p.h ../gui/painting/qvectorpath_p.h ../gui/painting/qwindowsurface_mac_p.h ../gui/painting/qwindowsurface_p.h ../gui/painting/qwindowsurface_qws_p.h ../gui/painting/qwindowsurface_raster_p.h ../gui/painting/qwindowsurface_s60_p.h ../gui/painting/qwindowsurface_x11_p.h ../gui/image/qpixmap_haiku_p.h ../gui/styles/qhaikustyle_p.h ../gui/kernel/qeventdispatcher_haiku_p.h
-diff -rupN qt-everywhere-opensource-src-4.7.3/include/QtGui/private/qeventdispatcher_haiku_p.h qt-everywhere-opensource-src-4.7.3_haiku/include/QtGui/private/qeventdispatcher_haiku_p.h
---- qt-everywhere-opensource-src-4.7.3/include/QtGui/private/qeventdispatcher_haiku_p.h 1970-01-01 00:00:00.000000000 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/include/QtGui/private/qeventdispatcher_haiku_p.h 2011-06-14 03:50:02.157024256 +0000
-@@ -0,0 +1 @@
-+#include "../../../src/gui/kernel/qeventdispatcher_haiku_p.h"
-diff -rupN qt-everywhere-opensource-src-4.7.3/include/QtGui/private/qhaikustyle_p.h qt-everywhere-opensource-src-4.7.3_haiku/include/QtGui/private/qhaikustyle_p.h
---- qt-everywhere-opensource-src-4.7.3/include/QtGui/private/qhaikustyle_p.h 1970-01-01 00:00:00.000000000 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/include/QtGui/private/qhaikustyle_p.h 2011-06-14 03:49:44.729284608 +0000
-@@ -0,0 +1 @@
-+#include "../../../src/gui/styles/qhaikustyle_p.h"
-diff -rupN qt-everywhere-opensource-src-4.7.3/include/QtGui/private/qpixmap_haiku_p.h qt-everywhere-opensource-src-4.7.3_haiku/include/QtGui/private/qpixmap_haiku_p.h
---- qt-everywhere-opensource-src-4.7.3/include/QtGui/private/qpixmap_haiku_p.h 1970-01-01 00:00:00.000000000 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/include/QtGui/private/qpixmap_haiku_p.h 2011-06-13 22:06:43.089653248 +0000
-@@ -0,0 +1 @@
-+#include "../../../src/gui/image/qpixmap_haiku_p.h"
-diff -rupN qt-everywhere-opensource-src-4.7.3/include/QtGui/qhaikustyle.h qt-everywhere-opensource-src-4.7.3_haiku/include/QtGui/qhaikustyle.h
---- qt-everywhere-opensource-src-4.7.3/include/QtGui/qhaikustyle.h 1970-01-01 00:00:00.000000000 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/include/QtGui/qhaikustyle.h 2010-04-15 16:14:35.000000000 +0000
-@@ -0,0 +1 @@
-+#include "../../src/gui/styles/qhaikustyle.h"
-diff -rupN qt-everywhere-opensource-src-4.7.3/include/QtGui/qsystemtrayicon_haiku.h qt-everywhere-opensource-src-4.7.3_haiku/include/QtGui/qsystemtrayicon_haiku.h
---- qt-everywhere-opensource-src-4.7.3/include/QtGui/qsystemtrayicon_haiku.h 1970-01-01 00:00:00.000000000 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/include/QtGui/qsystemtrayicon_haiku.h 2010-07-02 03:02:00.000000000 +0000
-@@ -0,0 +1 @@
-+#include "../../src/gui/util/qsystemtrayicon_haiku.h"
-diff -rupN qt-everywhere-opensource-src-4.7.3/include/QtGui/qwidget_haiku.h qt-everywhere-opensource-src-4.7.3_haiku/include/QtGui/qwidget_haiku.h
---- qt-everywhere-opensource-src-4.7.3/include/QtGui/qwidget_haiku.h 1970-01-01 00:00:00.000000000 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/include/QtGui/qwidget_haiku.h 2010-11-09 02:20:07.000000000 +0000
-@@ -0,0 +1 @@
-+#include "../../src/gui/kernel/qwidget_haiku.h"
-diff -rupN qt-everywhere-opensource-src-4.7.3/include/QtGui/qwindowdefs_haiku.h qt-everywhere-opensource-src-4.7.3_haiku/include/QtGui/qwindowdefs_haiku.h
---- qt-everywhere-opensource-src-4.7.3/include/QtGui/qwindowdefs_haiku.h 1970-01-01 00:00:00.000000000 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/include/QtGui/qwindowdefs_haiku.h 2011-06-13 22:06:43.090963968 +0000
-@@ -0,0 +1 @@
-+#include "../../src/gui/kernel/qwindowdefs_haiku.h"
-diff -rupN qt-everywhere-opensource-src-4.7.3/makehaikupkg.sh qt-everywhere-opensource-src-4.7.3_haiku/makehaikupkg.sh
---- qt-everywhere-opensource-src-4.7.3/makehaikupkg.sh 1970-01-01 00:00:00.000000000 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/makehaikupkg.sh 2011-06-13 22:42:41.748945408 +0000
-@@ -0,0 +1,1853 @@
-+#!/bin/sh
-+
-+QTROOT=../qtbuild
-+QTROOT=`readlink -f $QTROOT`
-+
-+######################################################################
-+echo "Install Qt into sandbox :$QTROOT"
-+######################################################################
-+echo " Prepare"
-+mkdir -p $QTROOT
-+rm -rf $QTROOT/boot
-+echo " Install Qt"
-+INSTALL_ROOT=$QTROOT make install
-+echo " Install documentation"
-+INSTALL_ROOT=$QTROOT make install_qchdocs
-+
-+######################################################################
-+echo "Remove debug info"
-+######################################################################
-+echo " Delete *.debug files"
-+find "$QTROOT/boot/common/" -name "*.debug" -delete
-+echo " Strip debug info from *.so files"
-+find "$QTROOT/boot/common/" -name "*.so*" -exec strip -s {} \;
-+echo " Strip debug info from binary files"
-+find "$QTROOT/boot/common/bin/" -name "*" -exec strip -s {} \;
-+
-+######################################################################
-+echo "Make qsystray utility"
-+######################################################################
-+echo " Make"
-+cd ./src/3rdparty/haiku-tools/qsystray
-+make
-+echo " Install"
-+cp -f ./qsystray $QTROOT/boot/common/bin
-+cp -f ./qsystray_gcc2 $QTROOT/boot/common/bin
-+mimeset -f $QTROOT/boot/common/bin/qsystray
-+mimeset -f $QTROOT/boot/common/bin/qsystray_gcc2
-+
-+######################################################################
-+echo "Remove useless files"
-+######################################################################
-+echo " HTML docs"
-+rm -rf $QTROOT/boot/common/documentation/doc/Qt/html
-+echo " Images"
-+rm -rf $QTROOT/boot/common/documentation/doc/Qt/src
-+
-+######################################################################
-+echo "Check for hybrid build"
-+######################################################################
-+if [ -f /boot/system/lib/libsupc++.so ] ; then
-+ echo "gcc4 build - install libs into /common/lib folder"
-+else
-+ echo "gcc2 build - install libs into /common/lib/gcc4 folder"
-+ echo "Move pkgconfig files from lib/gcc4 to parent folder"
-+ mkdir $QTROOT/boot/common/lib/pkgconfig
-+ mv $QTROOT/boot/common/lib/gcc4/pkgconfig $QTROOT/boot/common/lib
-+fi
-+
-+######################################################################
-+echo "Add Resources for binaries"
-+######################################################################
-+
-+######################################################################
-+echo " Qt Assistant"
-+######################################################################
-+echo 'resource app_signature "application/x-vnd.assistant";
-+resource app_flags B_SINGLE_LAUNCH;
-+resource app_version {
-+ major = 4,
-+ middle = 7,
-+ minor = 0,
-+ variety = 0,
-+ internal = 0,
-+ short_info = "Qt Assistant",
-+ long_info = "Qt Assistant"
-+};
-+resource vector_icon {
-+ $"6E6369660A030062250380C34205FF04003303663333020106023DDD49000000"
-+ $"0000003DDD4949EEA449EEA400B00000FF993300020106043DA9380000000000"
-+ $"003DA93849EEA449EEA400FFFFFF2FFF93936CFF0000FFCF000004FF7F04FF66"
-+ $"04614C1E060AEFE707B93AB30DB93AB30DB8EB20B852B302B89DB2FCB852B302"
-+ $"B852B302B639B327B650B325B464B34D20B6E320B4CE20B6E3CF6BB50DD154C9"
-+ $"ABCDDDC9ABCDDDCB16CD9ECC35CA23CC35CBF2CC35CA23B6290606EF0BCC35CA"
-+ $"23CC35CA23CC35CBF2C9ABCDDDCB16CD9EC9ABCDDDB50DD154B50DB6C2B50DB6"
-+ $"C2B50DB457B93AB30DB6FBB2AEB93AB30DCC35B62906149AF9FFFF99C5DBB9A3"
-+ $"C785B9D1BCBDC965BCDFBEB4C785BE9EC785C551C785C551C785C5E6C7B7C671"
-+ $"C796C646C7D4C699C840C6ACC803C6ACC846C6ACC853C6ACC84CC6ACC8B1C6A6"
-+ $"C987C656C918C689C987C656C987C805C987C805C8C9C859C758C89AC80FC88B"
-+ $"C73DC89CC70BC89DC723C89DC665C89DC58FC80CC5E6C86DC52AC79BC4F8C5ED"
-+ $"C4F8C6E5C4F8C5EDBE80C412BE75BC7EC52ABC930A04C965BEB4C785BE9EC785"
-+ $"BEA8C886BEB40205C7E9C69BC826C68CC802C6A7C840C6AC55C6ACC846C6ACC8"
-+ $"53C6ACC84CC6ACC8B1C6A6C987C656C918C689C987C656C8A9C656C8A9C656C8"
-+ $"65C675060D9FF1FE03C58FC80CC5E6C86DC52AC79BC4F8C5EDC4F8C6E5C4F8C5"
-+ $"EDBE80C412BE75BC7EC333C333BCEFC333BCEFC353BD68C37FBE79C36CBDEBC3"
-+ $"7FBE79C419BE80C419C5EDC419C5EDC419C6E5C4B1C80CC44CC79BC507C86DC6"
-+ $"2CC89DC586C89DC62CC89DC70BC89DC70BC89DC665C89D0A04C5DBB9A3C4FCB9"
-+ $"A3C450BC83C52ABC93000BC02DC624C02DC624C084C544C0AFC0FEC0AFC38DC0"
-+ $"AFBEB2C02EBC40C085BD1EBFD8BB60BEA9BAD9BF57BAE8BE9CBAD8BE82BAD7BE"
-+ $"8FBAD7BDE1BAD7BD0FBBF1BD66BB35BCB2BCBEBC83C0ECBC83BE68BC83C35ABD"
-+ $"0DC617BCB1C514BD65C70EBE92C789BDE7C789BE9AC789BEA9C788BEA1C788BF"
-+ $"55C77DC02DC624BFD6C706C02DC6240211C2C7C6AFC35DC54DC22EC817C008C9"
-+ $"6FC146C902C028CA13C099CABCC0595BC0CBCAE9C17FCB00C118CB00C19DCB00"
-+ $"C1DFCAFAC1BDCAFEC1DFCAFAC1DFCCE0C1DFCCE0C1DFCCE0C103CCFDC103CCFD"
-+ $"C0C2CD05C049CD09C084CD09BF88CD09BE76CC7CBEECCCDBBDDBCBFFBD1EC9A9"
-+ $"BD68CB0EBBCCC961BA0EC721BAC4C88AB955C5B2B8F6C0DDB8F6C39AB8F6BDE8"
-+ $"BA75BA58B977BBBABB4BB92EBDEEB89BBC76B89BBE2BB89BBEA9B8A6BE69B89F"
-+ $"C064B8D9C275BB14C1A4B9AAC342BC75C3A7C10BC3A7BE71C3A7C36D0203C17F"
-+ $"CB00C162CB00C19DCB00C1DFCAFAC1BDCAFEC1DFCAFAC12CCAFAC12CCAFAC145"
-+ $"CAFE020DBF44BC40BEFCBB85BF9BBD1EBFC5C0FEBFC5BEB2BFC5C38DBF43C624"
-+ $"BF9AC544BEFDC6D9BE20C774BE9CC749BE44C782BE92C789BE6AC789BE9AC789"
-+ $"BEA9C788BEA1C788BF55C77DC02DC624BFD6C706C084C544C0AFC0FEC0AFC38D"
-+ $"C0AFBEB2C02EBC40C085BD1EBFD8BB60BEA9BAD9BF57BAE8BE9CBAD8BE82BAD7"
-+ $"BE8FBAD7BE5ABAD7BE10BAE9BE34BADDBE10BAE9BE10BAE9BE10BAE9BE95BB12"
-+ $"0222BEEDCCC5BEEECCC6BEE9CCC4BEE1CCC0BEE5CCC2BEE1CCBFBEE0CCBFBEE0"
-+ $"CCBFBEDCCCBDBED4CCB9BED8CCBBBED4CCB9BED2CCB8BED3CCB8BECFCCB6BEC8"
-+ $"CCB3BECBCCB4BEC7CCB2BEC5CCB1BEC6CCB1BEC2CCAFBEBCCCACBEBFCCADBEBA"
-+ $"CCABBEB8CCA9BEB9CCAABEB5CCA8BEB0CCA4BEB2CCA6BEAECCA3BEAACCA1BEAC"
-+ $"CCA2BEA8CCA0BEA4CC9DBEA6CC9EBEA2CC9BBE9ECC99BEA0CC9ABE9CCC97BE98"
-+ $"CC95BE9ACC96BE96CC93BE91CC90BE93CC92BE90CC8FBE8DCC8D3DCC8EBE8ACC"
-+ $"8BBE84CC87BE87CC89BE83CC86BE81CC85BE82CC85BE7ECC82BE76CC7CBE7ACC"
-+ $"7FBDDBCBFFBD1EC9A9BD68CB0EBBCCC961BA0EC721BAC4C88AB955C5B2B8F6C0"
-+ $"DDB8F6C39AB8F6BDE8BA75BA58B977BBBABB4BB92EBDEEB89BBC76B89BBDF0B8"
-+ $"9BBD03B89BBD03B89BBB8CB89BB98BBA58BA61B92EB88DBBBAB80CC0DDB80CBD"
-+ $"E8B80CC39AB924C721B86AC5B2B9DAC88ABC34C9A9BAE2C961BC7ECB0EBD8CCC"
-+ $"7CBCF0CBFFBE02CCDBBF5FCD09BE9ECD09BF63CD09BF6ACD09BF67CD09BF6ACD"
-+ $"09C037CD09C037CD09BFB9CD07BEEECCC6BF4BCCF1BEEECCC60204B3A5BFF7B3"
-+ $"A5B92CB3A5C6C2BFF7CC48B92CCC48C6C2CC48CC48BFF7CC48C6C2CC48B92CBF"
-+ $"F7B3A5C6C2B3A5B92CB3A50204BB6DBFF7BB6DC277BB6DBD76BFF7BB6DBD76BB"
-+ $"6DC277BB6DC481BFF7C481BD76C481C277BFF7C481C277C481BD76C481020420"
-+ $"BF8820B89F20C671BF88CC11B89FCC11C671CC11CC11BF88CC11C671CC11B89F"
-+ $"BF8820C67120B89F200204BB36BF88BB36C1EABB36BD26BF88BB36BD26BB36C1"
-+ $"EABB36C3DBBF88C3DBBD26C3DBC1EABF88C3DBC1EAC3DBBD26C3DB0204B337BF"
-+ $"88B337B8BDB337C653BF88CBDAB8BDCBDAC653CBDACBDABF88CBDAC653CBDAB8"
-+ $"BDBF88B337C653B337B8BDB3370204BAFEBF88BAFEC209BAFEBD08BF88BAFEBD"
-+ $"08BAFEC209BAFEC412BF88C412BD08C412C209BF88C412C209C412BD08C41202"
-+ $"04BF88B3DDC5FAB3DDB916B3DDB3DDBF88B3DDB916B3DDC5FABF88CB34B916CB"
-+ $"34C5FACB34CB34BF88CB34C5FACB34B9160204BF88C4B8C264C4B8BCACC4B8BA"
-+ $"58BF88BA58C264BA58BCACBF88BA58BCACBA58C264BA58C4B8BF88C4B8BCACC4"
-+ $"B8C2640206BF88B63DB9D4B63DC53CB63DCA4FC04AC9EBBAAFCA53C00ACA56BF"
-+ $"88CA56BFC9CA56B993BF88B4BAC57DB4BAB993B4BAB4BABF88B4BAB993B4BABF"
-+ $"C9B4C2C04AB4BDC00AB525BAAF0206BF88C718BC32C718C2DEC718C595C10BC5"
-+ $"95C462C595C0CAC589C04AC591C089C529C345BF88C595C29DC595BC74C595B9"
-+ $"88C04AB9E7C345B980C089B97BC10BB97BC0CAB97BC4620206BF88CB34BD68CB"
-+ $"34C1A8CB34C55EC9A3C3A6CAA1C55EC9A3C220C405C220C405C15CC477BF88C4"
-+ $"B8C07AC4B8BE97C4B8BCF1C405BDB4C477BCF1C405B9B3C9A3B9B3C9A3BB6ACA"
-+ $"A10206BF88B3DDC1A8B3DDBD68B3DDB9B3B56DBB6AB46FB9B3B56DBCF1BB0BBC"
-+ $"F1BB0BBDB4BA9ABF88BA58BE97BA58C07ABA58C220BB0BC15CBA9AC220BB0BC5"
-+ $"5EB56DC55EB56DC3A6B46F0206C4B8BF88C4B8BE97C4B8C07AC405C220C477C1"
-+ $"5CC405C220C9A3C55EC9A3C55ECAA1C3A6CB34BF88CB34C1A8CB34BD68C9A3B9"
-+ $"B3CAA1BB6AC9A3B9B3C405BCF1C405BCF1C477BDB40206BA58BF88BA58C07ABA"
-+ $"58BE97BB0BBCF1BA9ABDB4BB0BBCF1B56DB9B3B56DB9B3B46FBB6AB3DDBF88B3"
-+ $"DDBD68B3DDC1A8B56DC55EB46FC3A6B56DC55EBB0BC220BB0BC220BA9AC15C02"
-+ $"06BF88B90DC264B90DBCACB90DBA58BE3CBA58BB60BA58BE75BA63BEE2BA5CBE"
-+ $"ACBAB5BC54BF88BA58BCE4BA58C22CBA58C4ADBEE2C45BBC54C4B4BEACC4B8BE"
-+ $"3CC4B8BE75C4B8BB600206BF88C9E8C5C2C9E8B94EC9E8B3E2BEE2B438C507B3"
-+ $"DFBF19B3DDBF88B3DDBF50B3DDC5FABF88CB34B916CB34C5FACB34CB34BF88CB"
-+ $"34C5FACB34BF50CB2FBEE2CB32BF19CAD9C5070206BF88CB34B93ECB34C5D2CB"
-+ $"34CB31BFFECAF2C639CB30BFE9CB2F40CB30BFD4CAD9C5E4BF88CAC5C5C2CAC5"
-+ $"B94ECAC5B3E240B438C5E4B3E0BFD4B3E0BFFEB3E1BFE9B41EC6390206BA58BF"
-+ $"1ABA58BC3DBA58BF2ABA5ABF49BA59BF39BA7BBC8ABF88BA58BCC1BA58C24FBA"
-+ $"58C4B6BF49C495BC8AC4B7BF39C4B8BF1AC4B8BF2AC4B8BC3DBF88B9EAC264B9"
-+ $"EABCACB9EA150A000100023F6E570000000000003F0079920DF9AFA7960A0101"
-+ $"01023F6E570000000000003F0079920DF9AFA7960A020102023F6E5700000000"
-+ $"00003F0079920DF9AFA7960A000103023F6E570000000000003F0079920DF9AF"
-+ $"A7960A000104023F6E570000000000003F0079920DF9AFA7960A00020506023F"
-+ $"6E570000000000003F0079920DF9AFA7960A02020708023F6E57000000000000"
-+ $"3F0079920DF9AFA7960A000109023F6E570000000000003F0079920DF9AFA796"
-+ $"0A00020A0B023D6A390000000000003D3C934A3EB74A17E90A03020C0D023DD6"
-+ $"F90000000000003DF73F4A20004A10000A04020E0F023DD6F90000000000003D"
-+ $"F73F4A20004A10000A05021011023DD6F90000000000003DF73F4A20004A1000"
-+ $"0A06021213023DD6F90000000000003DF73F4A20004A10000A070114023DD6F9"
-+ $"0000000000003DF73F4A20004A10000A080115023DD6F90000000000003DF73F"
-+ $"4A20004A10000A020116023DD6F90000000000003DF73F4A20004A10000A0201"
-+ $"17023DD6F90000000000003DF73F4A20004A10000A020118023DD6F900000000"
-+ $"00003DF73F4A20004A10000A020119023DD6F90000000000003DF73F4A20004A"
-+ $"10000A09021A1B023DD6F90000000000003DF73F4A20004A10000A09021C1D02"
-+ $"3DD6F90000000000003DF73F4A20004A1000"
-+};' >/tmp/assistent.rdef
-+rc /tmp/assistent.rdef
-+xres -o "$QTROOT/boot/common/bin/assistant" /tmp/assistent.rsrc
-+mimeset -f "$QTROOT/boot/common/bin/assistant"
-+
-+
-+######################################################################
-+echo " Qt Designer"
-+######################################################################
-+echo 'resource app_signature "application/x-vnd.designer";
-+
-+resource app_flags B_SINGLE_LAUNCH;
-+
-+resource app_version {
-+ major = 4,
-+ middle = 7,
-+ minor = 0,
-+ variety = 0,
-+ internal = 0,
-+ short_info = "Qt Designer",
-+ long_info = "Qt Designer"
-+};
-+
-+resource vector_icon {
-+ $"6E63696613030062250380C34205FF04003303663333020106023DDD49000000"
-+ $"0000003DDD4949EEA449EEA400B00000FF993300020106043DA9380000000000"
-+ $"003DA93849EEA449EEA400FFFFFF2FFF93936CFF0000FFCF000004FF7F04FF66"
-+ $"04614C050002001602BC612BBC6F8A3C6F8ABC612B4B0EBF4768A700E4FFFE02"
-+ $"0016023C68F73C78F1BC78F13C68F74652864B378800E4FFFE04002302000603"
-+ $"38BB01B81D04381D0438BB014A2F8B4A6CC900EFF0CE7FFFFFFFFFEFF0CE03E0"
-+ $"C35D03C8AF5303F7E46E02000603343E6CB2D79432D794343E6C486F84489C71"
-+ $"000000007F616061FF0000002B060AEFE707B93AB30DB93AB30DB8EB20B852B3"
-+ $"02B89DB2FCB852B302B852B302B639B327B650B325B464B34D20B6E320B4CE20"
-+ $"B6E3CF6BB50DD154C9ABCDDDC9ABCDDDCB16CD9ECC35CA23CC35CBF2CC35CA23"
-+ $"B6290606EF0BCC35CA23CC35CA23CC35CBF2C9ABCDDDCB16CD9EC9ABCDDDB50D"
-+ $"D154B50DB6C2B50DB6C2B50DB457B93AB30DB6FBB2AEB93AB30DCC35B6290614"
-+ $"9AF9FFFF99C5DBB9A3C785B9D1BCBDC965BCDFBEB4C785BE9EC785C551C785C5"
-+ $"51C785C5E6C7B7C671C796C646C7D4C699C840C6ACC803C6ACC846C6ACC853C6"
-+ $"ACC84CC6ACC8B1C6A6C987C656C918C689C987C656C987C805C987C805C8C9C8"
-+ $"59C758C89AC80FC88BC73DC89CC70BC89DC723C89DC665C89DC58FC80CC5E6C8"
-+ $"6DC52AC79BC4F8C5EDC4F8C6E5C4F8C5EDBE80C412BE75BC7EC52ABC930A04C9"
-+ $"65BEB4C785BE9EC785BEA8C886BEB40205C7E9C69BC826C68CC802C6A7C840C6"
-+ $"AC55C6ACC846C6ACC853C6ACC84CC6ACC8B1C6A6C987C656C918C689C987C656"
-+ $"C8A9C656C8A9C656C865C675060D9FF1FE03C58FC80CC5E6C86DC52AC79BC4F8"
-+ $"C5EDC4F8C6E5C4F8C5EDBE80C412BE75BC7EC333C333BCEFC333BCEFC353BD68"
-+ $"C37FBE79C36CBDEBC37FBE79C419BE80C419C5EDC419C5EDC419C6E5C4B1C80C"
-+ $"C44CC79BC507C86DC62CC89DC586C89DC62CC89DC70BC89DC70BC89DC665C89D"
-+ $"0A04C5DBB9A3C4FCB9A3C450BC83C52ABC93000BC02DC624C02DC624C084C544"
-+ $"C0AFC0FEC0AFC38DC0AFBEB2C02EBC40C085BD1EBFD8BB60BEA9BAD9BF57BAE8"
-+ $"BE9CBAD8BE82BAD7BE8FBAD7BDE1BAD7BD0FBBF1BD66BB35BCB2BCBEBC83C0EC"
-+ $"BC83BE68BC83C35ABD0DC617BCB1C514BD65C70EBE92C789BDE7C789BE9AC789"
-+ $"BEA9C788BEA1C788BF55C77DC02DC624BFD6C706C02DC6240211C2C7C6AFC35D"
-+ $"C54DC22EC817C008C96FC146C902C028CA13C099CABCC0595BC0CBCAE9C17FCB"
-+ $"00C118CB00C19DCB00C1DFCAFAC1BDCAFEC1DFCAFAC1DFCCE0C1DFCCE0C1DFCC"
-+ $"E0C103CCFDC103CCFDC0C2CD05C049CD09C084CD09BF88CD09BE76CC7CBEECCC"
-+ $"DBBDDBCBFFBD1EC9A9BD68CB0EBBCCC961BA0EC721BAC4C88AB955C5B2B8F6C0"
-+ $"DDB8F6C39AB8F6BDE8BA75BA58B977BBBABB4BB92EBDEEB89BBC76B89BBE2BB8"
-+ $"9BBEA9B8A6BE69B89FC064B8D9C275BB14C1A4B9AAC342BC75C3A7C10BC3A7BE"
-+ $"71C3A7C36D0203C17FCB00C162CB00C19DCB00C1DFCAFAC1BDCAFEC1DFCAFAC1"
-+ $"2CCAFAC12CCAFAC145CAFE020DBF44BC40BEFCBB85BF9BBD1EBFC5C0FEBFC5BE"
-+ $"B2BFC5C38DBF43C624BF9AC544BEFDC6D9BE20C774BE9CC749BE44C782BE92C7"
-+ $"89BE6AC789BE9AC789BEA9C788BEA1C788BF55C77DC02DC624BFD6C706C084C5"
-+ $"44C0AFC0FEC0AFC38DC0AFBEB2C02EBC40C085BD1EBFD8BB60BEA9BAD9BF57BA"
-+ $"E8BE9CBAD8BE82BAD7BE8FBAD7BE5ABAD7BE10BAE9BE34BADDBE10BAE9BE10BA"
-+ $"E9BE10BAE9BE95BB120222BEEDCCC5BEEECCC6BEE9CCC4BEE1CCC0BEE5CCC2BE"
-+ $"E1CCBFBEE0CCBFBEE0CCBFBEDCCCBDBED4CCB9BED8CCBBBED4CCB9BED2CCB8BE"
-+ $"D3CCB8BECFCCB6BEC8CCB3BECBCCB4BEC7CCB2BEC5CCB1BEC6CCB1BEC2CCAFBE"
-+ $"BCCCACBEBFCCADBEBACCABBEB8CCA9BEB9CCAABEB5CCA8BEB0CCA4BEB2CCA6BE"
-+ $"AECCA3BEAACCA1BEACCCA2BEA8CCA0BEA4CC9DBEA6CC9EBEA2CC9BBE9ECC99BE"
-+ $"A0CC9ABE9CCC97BE98CC95BE9ACC96BE96CC93BE91CC90BE93CC92BE90CC8FBE"
-+ $"8DCC8D3DCC8EBE8ACC8BBE84CC87BE87CC89BE83CC86BE81CC85BE82CC85BE7E"
-+ $"CC82BE76CC7CBE7ACC7FBDDBCBFFBD1EC9A9BD68CB0EBBCCC961BA0EC721BAC4"
-+ $"C88AB955C5B2B8F6C0DDB8F6C39AB8F6BDE8BA75BA58B977BBBABB4BB92EBDEE"
-+ $"B89BBC76B89BBDF0B89BBD03B89BBD03B89BBB8CB89BB98BBA58BA61B92EB88D"
-+ $"BBBAB80CC0DDB80CBDE8B80CC39AB924C721B86AC5B2B9DAC88ABC34C9A9BAE2"
-+ $"C961BC7ECB0EBD8CCC7CBCF0CBFFBE02CCDBBF5FCD09BE9ECD09BF63CD09BF6A"
-+ $"CD09BF67CD09BF6ACD09C037CD09C037CD09BFB9CD07BEEECCC6BF4BCCF1BEEE"
-+ $"CCC60204B3A5BFF7B3A5B92CB3A5C6C2BFF7CC48B92CCC48C6C2CC48CC48BFF7"
-+ $"CC48C6C2CC48B92CBFF7B3A5C6C2B3A5B92CB3A50204BB6DBFF7BB6DC277BB6D"
-+ $"BD76BFF7BB6DBD76BB6DC277BB6DC481BFF7C481BD76C481C277BFF7C481C277"
-+ $"C481BD76C481020420BF8820B89F20C671BF88CC11B89FCC11C671CC11CC11BF"
-+ $"88CC11C671CC11B89FBF8820C67120B89F200204BB36BF88BB36C1EABB36BD26"
-+ $"BF88BB36BD26BB36C1EABB36C3DBBF88C3DBBD26C3DBC1EABF88C3DBC1EAC3DB"
-+ $"BD26C3DB0204B337BF88B337B8BDB337C653BF88CBDAB8BDCBDAC653CBDACBDA"
-+ $"BF88CBDAC653CBDAB8BDBF88B337C653B337B8BDB3370204BAFEBF88BAFEC209"
-+ $"BAFEBD08BF88BAFEBD08BAFEC209BAFEC412BF88C412BD08C412C209BF88C412"
-+ $"C209C412BD08C4120204BF88B3DDC5FAB3DDB916B3DDB3DDBF88B3DDB916B3DD"
-+ $"C5FABF88CB34B916CB34C5FACB34CB34BF88CB34C5FACB34B9160204BF88C4B8"
-+ $"C264C4B8BCACC4B8BA58BF88BA58C264BA58BCACBF88BA58BCACBA58C264BA58"
-+ $"C4B8BF88C4B8BCACC4B8C2640206BF88B63DB9D4B63DC53CB63DCA4FC04AC9EB"
-+ $"BAAFCA53C00ACA56BF88CA56BFC9CA56B993BF88B4BAC57DB4BAB993B4BAB4BA"
-+ $"BF88B4BAB993B4BABFC9B4C2C04AB4BDC00AB525BAAF0206BF88C718BC32C718"
-+ $"C2DEC718C595C10BC595C462C595C0CAC589C04AC591C089C529C345BF88C595"
-+ $"C29DC595BC74C595B988C04AB9E7C345B980C089B97BC10BB97BC0CAB97BC462"
-+ $"0206BF88CB34BD68CB34C1A8CB34C55EC9A3C3A6CAA1C55EC9A3C220C405C220"
-+ $"C405C15CC477BF88C4B8C07AC4B8BE97C4B8BCF1C405BDB4C477BCF1C405B9B3"
-+ $"C9A3B9B3C9A3BB6ACAA10206BF88B3DDC1A8B3DDBD68B3DDB9B3B56DBB6AB46F"
-+ $"B9B3B56DBCF1BB0BBCF1BB0BBDB4BA9ABF88BA58BE97BA58C07ABA58C220BB0B"
-+ $"C15CBA9AC220BB0BC55EB56DC55EB56DC3A6B46F0206C4B8BF88C4B8BE97C4B8"
-+ $"C07AC405C220C477C15CC405C220C9A3C55EC9A3C55ECAA1C3A6CB34BF88CB34"
-+ $"C1A8CB34BD68C9A3B9B3CAA1BB6AC9A3B9B3C405BCF1C405BCF1C477BDB40206"
-+ $"BA58BF88BA58C07ABA58BE97BB0BBCF1BA9ABDB4BB0BBCF1B56DB9B3B56DB9B3"
-+ $"B46FBB6AB3DDBF88B3DDBD68B3DDC1A8B56DC55EB46FC3A6B56DC55EBB0BC220"
-+ $"BB0BC220BA9AC15C0206BF88B90DC264B90DBCACB90DBA58BE3CBA58BB60BA58"
-+ $"BE75BA63BEE2BA5CBEACBAB5BC54BF88BA58BCE4BA58C22CBA58C4ADBEE2C45B"
-+ $"BC54C4B4BEACC4B8BE3CC4B8BE75C4B8BB600206BF88C9E8C5C2C9E8B94EC9E8"
-+ $"B3E2BEE2B438C507B3DFBF19B3DDBF88B3DDBF50B3DDC5FABF88CB34B916CB34"
-+ $"C5FACB34CB34BF88CB34C5FACB34BF50CB2FBEE2CB32BF19CAD9C5070206BF88"
-+ $"CB34B93ECB34C5D2CB34CB31BFFECAF2C639CB30BFE9CB2F40CB30BFD4CAD9C5"
-+ $"E4BF88CAC5C5C2CAC5B94ECAC5B3E240B438C5E4B3E0BFD4B3E0BFFEB3E1BFE9"
-+ $"B41EC6390206BA58BF1ABA58BC3DBA58BF2ABA5ABF49BA59BF39BA7BBC8ABF88"
-+ $"BA58BCC1BA58C24FBA58C4B6BF49C495BC8AC4B7BF39C4B8BF1AC4B8BF2AC4B8"
-+ $"BC3DBF88B9EAC264B9EABCACB9EA020AB691B41FB691B41FB5C1B41FB524B58C"
-+ $"B524B4BBB524B58CB524C93CB524C93CB524C9F3B677CA8FB5A6CA8FB677CA8F"
-+ $"C851CA8FC851CA8FC908CA8FC9A4C93CC9A4C9F3C9A4C93CC9A4B89CC9A4B89C"
-+ $"C9A4B7FFC922B72EC970B77CC922B72EC6C9B4D6C6C9B4D6C661B46DC50DB41F"
-+ $"C5AAB41FC50DB41F020AB691B41FB691B41FB5C1B41FB524B58CB524B4BBB524"
-+ $"B58CB524C93CB524C93CB524C9F3B677CA8FB5A6CA8FB677CA8FC851CA8FC851"
-+ $"CA8FC908CA8FC9A4C93CC9A4C9F3C9A4C93CC9A4B89CC9A4B89CC9A4B7FFC922"
-+ $"B72EC970B77CC922B72EC6C9B4D6C6C9B4D6C661B46DC50DB41FC5AAB41FC50D"
-+ $"B41F020AC4F3B50AC55CB50AC4F3B50AB691B50AB691B50AB629B50AB60FB58C"
-+ $"B60FB53EB60FB58CB60FC93CB60FC93CB60FC98AB691C9A4B629C9A4B691C9A4"
-+ $"C86BC9A4C86BC9A4C89FC9A4C8D3C93CC8D3C970C8D3C93CC8D3B89CC8D3B89C"
-+ $"C8D3B833C885B7CBC8B9B7E5C885B7CBC62DB572C62DB572C5DEB5240206B6E0"
-+ $"B5DBB6E0B5DBB6E02BB6E0C8D3B6E0C74CB867C8D3C7E8C8D3C661C8D3C7E8C7"
-+ $"4CC7E8B867C7E8B91EC780B819C55CB5DBC5AAB643C4BFB5DBB6FAB5DBB882B5"
-+ $"DBB6FAB5DB0A04B904C3BAC5AAC3BAC5AAC661B904C6610A04B904B904C5AAB9"
-+ $"04C5AABBABB904BBAB0A04B904BE6CC5AABE6CC5AAC113B904C1130A07B987B9"
-+ $"BBBF3DBCCAC55CC50DC542C661C3D4C7CEC24CC79ABBDF400A07B987B9BBBF3D"
-+ $"BCCAC55CC50DC542C661C3D4C7CEC24CC79ABBDF400A04BDCFC042C3BAC7B4C2"
-+ $"4CC79ABBDF400A05BF71BEBAC542C647C3D4C7B4BDCFC042BF57BEBA0A04BF23"
-+ $"BCCAC542C50DC527C661BF57BED406032FBC13BB0EBC13BB0EBC13BBF9BAA6BC"
-+ $"7CBB91BC7CBAA6BC7CB987B9BB0E0A000100023F6E570000000000003F007992"
-+ $"0DF9AFA7960A010101023F6E570000000000003F0079920DF9AFA7960A020102"
-+ $"023F6E570000000000003F0079920DF9AFA7960A000103023F6E570000000000"
-+ $"003F0079920DF9AFA7960A000104023F6E570000000000003F0079920DF9AFA7"
-+ $"960A00020506023F6E570000000000003F0079920DF9AFA7960A02020708023F"
-+ $"6E570000000000003F0079920DF9AFA7960A000109023E0AB60000000000003D"
-+ $"2781493ACE49C5AC0A0A01251233B4D6BFA5C03F7D5C32C38F4788D04C593E01"
-+ $"178422040A0E01260233B4D6BFA5C03F7D5C32C38F4788D04C593E0A0F012702"
-+ $"33B4D6BFA5C03F7D5C32C38F4788D04C593E0A1001280233B4D6BFA5C03F7D5C"
-+ $"32C38F4788D04C593E0A1101290233B4D6BFA5C03F7D5C32C38F4788D04C593E"
-+ $"0A12012A0233B4D6BFA5C03F7D5C32C38F4788D04C593E"
-+};' >/tmp/designer.rdef
-+rc /tmp/designer.rdef
-+xres -o "$QTROOT/boot/common/bin/designer" /tmp/designer.rsrc
-+mimeset -f "$QTROOT/boot/common/bin/designer"
-+
-+######################################################################
-+echo " Qt Linguist"
-+######################################################################
-+echo 'resource app_signature "application/x-vnd.linguist";
-+
-+resource app_flags B_SINGLE_LAUNCH;
-+
-+resource app_version {
-+ major = 4,
-+ middle = 7,
-+ minor = 0,
-+ variety = 0,
-+ internal = 0,
-+ short_info = "Qt Linguist",
-+ long_info = "Qt Linguist"
-+};
-+
-+resource vector_icon {
-+ $"6E63696618030062250380C34205FF04003303663333020106023DDD49000000"
-+ $"0000003DDD4949EEA449EEA400B00000FF993300020106043DA9380000000000"
-+ $"003DA93849EEA449EEA400FFFFFF2FFF93936CFF0000FFCF000004FF7F04FF66"
-+ $"04614C02000602000000BDC8803DC8800000004BD3074987D3000035EDFF0000"
-+ $"8D020106063EFBB90000000000003EFBB949F0D94BC42D00FFFFFF53DEFFFFBF"
-+ $"94CAFFDD499BFFF3147AFFFF006DFF020106023EAC420000000000003EAC424A"
-+ $"2B784BC42D00FFFFFFFF00339902000602000000BCA3653CA3650000004A62E4"
-+ $"49D43C00FFFFFFFFB3CAFF020006080000003B1FAABB1FAA0000004841E7484E"
-+ $"3D00FFFFFF26FBFDFF4DEEF7FF75DAEDFF9EBDDFFFC697CCFFEF6AB6FFFF57AD"
-+ $"FF020006053B84A70000000000003B84A749DF004B668300428AFF442969F88E"
-+ $"124DF2CF053BEEFF0035ED020006053B84A70000000000003B84A749DF004B6A"
-+ $"5900428AFF442969F88E124DF2CF053BEEFF0035ED020016063AF08600000000"
-+ $"00003AF08649DEE04B3FE800E604E74CF980FFC3FAFFF0050003B1B1C5020006"
-+ $"0238270AB103BF3103BF38270A48A9A849875A00FFFFFFFFCECEDB020016022F"
-+ $"032F3626A4B626A42F032F4872BB48FFBD00FFFF0002000602B82720B103DDB1"
-+ $"03DD3827204A7CE349876200FFFFFFFFCECEDB02001602AF0317362693362693"
-+ $"2F03174A985648FFC600FFFF0036060AEFE707B93AB30DB93AB30DB8EB20B852"
-+ $"B302B89DB2FCB852B302B852B302B639B327B650B325B464B34D20B6E320B4CE"
-+ $"20B6E3CF6BB50DD154C9ABCDDDC9ABCDDDCB16CD9ECC35CA23CC35CBF2CC35CA"
-+ $"23B6290606EF0BCC35CA23CC35CA23CC35CBF2C9ABCDDDCB16CD9EC9ABCDDDB5"
-+ $"0DD154B50DB6C2B50DB6C2B50DB457B93AB30DB6FBB2AEB93AB30DCC35B62906"
-+ $"149AF9FFFF99C5DBB9A3C785B9D1BCBDC965BCDFBEB4C785BE9EC785C551C785"
-+ $"C551C785C5E6C7B7C671C796C646C7D4C699C840C6ACC803C6ACC846C6ACC853"
-+ $"C6ACC84CC6ACC8B1C6A6C987C656C918C689C987C656C987C805C987C805C8C9"
-+ $"C859C758C89AC80FC88BC73DC89CC70BC89DC723C89DC665C89DC58FC80CC5E6"
-+ $"C86DC52AC79BC4F8C5EDC4F8C6E5C4F8C5EDBE80C412BE75BC7EC52ABC930A04"
-+ $"C965BEB4C785BE9EC785BEA8C886BEB40205C7E9C69BC826C68CC802C6A7C840"
-+ $"C6AC55C6ACC846C6ACC853C6ACC84CC6ACC8B1C6A6C987C656C918C689C987C6"
-+ $"56C8A9C656C8A9C656C865C675060D9FF1FE03C58FC80CC5E6C86DC52AC79BC4"
-+ $"F8C5EDC4F8C6E5C4F8C5EDBE80C412BE75BC7EC333C333BCEFC333BCEFC353BD"
-+ $"68C37FBE79C36CBDEBC37FBE79C419BE80C419C5EDC419C5EDC419C6E5C4B1C8"
-+ $"0CC44CC79BC507C86DC62CC89DC586C89DC62CC89DC70BC89DC70BC89DC665C8"
-+ $"9D0A04C5DBB9A3C4FCB9A3C450BC83C52ABC93000BC02DC624C02DC624C084C5"
-+ $"44C0AFC0FEC0AFC38DC0AFBEB2C02EBC40C085BD1EBFD8BB60BEA9BAD9BF57BA"
-+ $"E8BE9CBAD8BE82BAD7BE8FBAD7BDE1BAD7BD0FBBF1BD66BB35BCB2BCBEBC83C0"
-+ $"ECBC83BE68BC83C35ABD0DC617BCB1C514BD65C70EBE92C789BDE7C789BE9AC7"
-+ $"89BEA9C788BEA1C788BF55C77DC02DC624BFD6C706C02DC6240211C2C7C6AFC3"
-+ $"5DC54DC22EC817C008C96FC146C902C028CA13C099CABCC0595BC0CBCAE9C17F"
-+ $"CB00C118CB00C19DCB00C1DFCAFAC1BDCAFEC1DFCAFAC1DFCCE0C1DFCCE0C1DF"
-+ $"CCE0C103CCFDC103CCFDC0C2CD05C049CD09C084CD09BF88CD09BE76CC7CBEEC"
-+ $"CCDBBDDBCBFFBD1EC9A9BD68CB0EBBCCC961BA0EC721BAC4C88AB955C5B2B8F6"
-+ $"C0DDB8F6C39AB8F6BDE8BA75BA58B977BBBABB4BB92EBDEEB89BBC76B89BBE2B"
-+ $"B89BBEA9B8A6BE69B89FC064B8D9C275BB14C1A4B9AAC342BC75C3A7C10BC3A7"
-+ $"BE71C3A7C36D0203C17FCB00C162CB00C19DCB00C1DFCAFAC1BDCAFEC1DFCAFA"
-+ $"C12CCAFAC12CCAFAC145CAFE020DBF44BC40BEFCBB85BF9BBD1EBFC5C0FEBFC5"
-+ $"BEB2BFC5C38DBF43C624BF9AC544BEFDC6D9BE20C774BE9CC749BE44C782BE92"
-+ $"C789BE6AC789BE9AC789BEA9C788BEA1C788BF55C77DC02DC624BFD6C706C084"
-+ $"C544C0AFC0FEC0AFC38DC0AFBEB2C02EBC40C085BD1EBFD8BB60BEA9BAD9BF57"
-+ $"BAE8BE9CBAD8BE82BAD7BE8FBAD7BE5ABAD7BE10BAE9BE34BADDBE10BAE9BE10"
-+ $"BAE9BE10BAE9BE95BB120222BEEDCCC5BEEECCC6BEE9CCC4BEE1CCC0BEE5CCC2"
-+ $"BEE1CCBFBEE0CCBFBEE0CCBFBEDCCCBDBED4CCB9BED8CCBBBED4CCB9BED2CCB8"
-+ $"BED3CCB8BECFCCB6BEC8CCB3BECBCCB4BEC7CCB2BEC5CCB1BEC6CCB1BEC2CCAF"
-+ $"BEBCCCACBEBFCCADBEBACCABBEB8CCA9BEB9CCAABEB5CCA8BEB0CCA4BEB2CCA6"
-+ $"BEAECCA3BEAACCA1BEACCCA2BEA8CCA0BEA4CC9DBEA6CC9EBEA2CC9BBE9ECC99"
-+ $"BEA0CC9ABE9CCC97BE98CC95BE9ACC96BE96CC93BE91CC90BE93CC92BE90CC8F"
-+ $"BE8DCC8D3DCC8EBE8ACC8BBE84CC87BE87CC89BE83CC86BE81CC85BE82CC85BE"
-+ $"7ECC82BE76CC7CBE7ACC7FBDDBCBFFBD1EC9A9BD68CB0EBBCCC961BA0EC721BA"
-+ $"C4C88AB955C5B2B8F6C0DDB8F6C39AB8F6BDE8BA75BA58B977BBBABB4BB92EBD"
-+ $"EEB89BBC76B89BBDF0B89BBD03B89BBD03B89BBB8CB89BB98BBA58BA61B92EB8"
-+ $"8DBBBAB80CC0DDB80CBDE8B80CC39AB924C721B86AC5B2B9DAC88ABC34C9A9BA"
-+ $"E2C961BC7ECB0EBD8CCC7CBCF0CBFFBE02CCDBBF5FCD09BE9ECD09BF63CD09BF"
-+ $"6ACD09BF67CD09BF6ACD09C037CD09C037CD09BFB9CD07BEEECCC6BF4BCCF1BE"
-+ $"EECCC60204B3A5BFF7B3A5B92CB3A5C6C2BFF7CC48B92CCC48C6C2CC48CC48BF"
-+ $"F7CC48C6C2CC48B92CBFF7B3A5C6C2B3A5B92CB3A50204BB6DBFF7BB6DC277BB"
-+ $"6DBD76BFF7BB6DBD76BB6DC277BB6DC481BFF7C481BD76C481C277BFF7C481C2"
-+ $"77C481BD76C481020420BF8820B89F20C671BF88CC11B89FCC11C671CC11CC11"
-+ $"BF88CC11C671CC11B89FBF8820C67120B89F200204BB36BF88BB36C1EABB36BD"
-+ $"26BF88BB36BD26BB36C1EABB36C3DBBF88C3DBBD26C3DBC1EABF88C3DBC1EAC3"
-+ $"DBBD26C3DB0204B337BF88B337B8BDB337C653BF88CBDAB8BDCBDAC653CBDACB"
-+ $"DABF88CBDAC653CBDAB8BDBF88B337C653B337B8BDB3370204BAFEBF88BAFEC2"
-+ $"09BAFEBD08BF88BAFEBD08BAFEC209BAFEC412BF88C412BD08C412C209BF88C4"
-+ $"12C209C412BD08C4120204BF88B3DDC5FAB3DDB916B3DDB3DDBF88B3DDB916B3"
-+ $"DDC5FABF88CB34B916CB34C5FACB34CB34BF88CB34C5FACB34B9160204BF88C4"
-+ $"B8C264C4B8BCACC4B8BA58BF88BA58C264BA58BCACBF88BA58BCACBA58C264BA"
-+ $"58C4B8BF88C4B8BCACC4B8C2640206BF88B63DB9D4B63DC53CB63DCA4FC04AC9"
-+ $"EBBAAFCA53C00ACA56BF88CA56BFC9CA56B993BF88B4BAC57DB4BAB993B4BAB4"
-+ $"BABF88B4BAB993B4BABFC9B4C2C04AB4BDC00AB525BAAF0206BF88C718BC32C7"
-+ $"18C2DEC718C595C10BC595C462C595C0CAC589C04AC591C089C529C345BF88C5"
-+ $"95C29DC595BC74C595B988C04AB9E7C345B980C089B97BC10BB97BC0CAB97BC4"
-+ $"620206BF88CB34BD68CB34C1A8CB34C55EC9A3C3A6CAA1C55EC9A3C220C405C2"
-+ $"20C405C15CC477BF88C4B8C07AC4B8BE97C4B8BCF1C405BDB4C477BCF1C405B9"
-+ $"B3C9A3B9B3C9A3BB6ACAA10206BF88B3DDC1A8B3DDBD68B3DDB9B3B56DBB6AB4"
-+ $"6FB9B3B56DBCF1BB0BBCF1BB0BBDB4BA9ABF88BA58BE97BA58C07ABA58C220BB"
-+ $"0BC15CBA9AC220BB0BC55EB56DC55EB56DC3A6B46F0206C4B8BF88C4B8BE97C4"
-+ $"B8C07AC405C220C477C15CC405C220C9A3C55EC9A3C55ECAA1C3A6CB34BF88CB"
-+ $"34C1A8CB34BD68C9A3B9B3CAA1BB6AC9A3B9B3C405BCF1C405BCF1C477BDB402"
-+ $"06BA58BF88BA58C07ABA58BE97BB0BBCF1BA9ABDB4BB0BBCF1B56DB9B3B56DB9"
-+ $"B3B46FBB6AB3DDBF88B3DDBD68B3DDC1A8B56DC55EB46FC3A6B56DC55EBB0BC2"
-+ $"20BB0BC220BA9AC15C0206BF88B90DC264B90DBCACB90DBA58BE3CBA58BB60BA"
-+ $"58BE75BA63BEE2BA5CBEACBAB5BC54BF88BA58BCE4BA58C22CBA58C4ADBEE2C4"
-+ $"5BBC54C4B4BEACC4B8BE3CC4B8BE75C4B8BB600206BF88C9E8C5C2C9E8B94EC9"
-+ $"E8B3E2BEE2B438C507B3DFBF19B3DDBF88B3DDBF50B3DDC5FABF88CB34B916CB"
-+ $"34C5FACB34CB34BF88CB34C5FACB34BF50CB2FBEE2CB32BF19CAD9C5070206BF"
-+ $"88CB34B93ECB34C5D2CB34CB31BFFECAF2C639CB30BFE9CB2F40CB30BFD4CAD9"
-+ $"C5E4BF88CAC5C5C2CAC5B94ECAC5B3E240B438C5E4B3E0BFD4B3E0BFFEB3E1BF"
-+ $"E9B41EC6390206BA58BF1ABA58BC3DBA58BF2ABA5ABF49BA59BF39BA7BBC8ABF"
-+ $"88BA58BCC1BA58C24FBA58C4B6BF49C495BC8AC4B7BF39C4B8BF1AC4B8BF2AC4"
-+ $"B8BC3DBF88B9EAC264B9EABCACB9EA0209B3C1BF37B3C1BA88B3C1C1D2B846C5"
-+ $"E1B56EC447B79FC6B5B68DC7ABB6FEC74DB68DC7ABB544C8BCB544C8BCB544C8"
-+ $"BCB6EFC8A4B6EFC8A4B93156BC86C768BB12C819BD8CC79BBFA8C7B6BE99C7B6"
-+ $"C639C7B6CB90BF37CB90C3E6CB90BA88BFA8B6B9C639B6B9B918B6B80209B3A8"
-+ $"BEEEB3A8BA3FB3A8C1892DC598B556C3FDB787C66CB674C761B6E5C703B674C7"
-+ $"61B52BC872B52BC872B52BC872B6D6C85BB6D6C85BB919C83BBC6DC71EBAF9C7"
-+ $"D0BD7353BF90C76CBE81C76C50C76CCB77BEEECB77C39DCB77BA3EBF90B66F50"
-+ $"B66FB8FFB66F0209B36ABEBDB36ABA0DB36A44B7EFC567B517C3CCB748C63BB6"
-+ $"36C730B6A7C6D2B636C730B4EDC842B4EDC842B4EDC842B698C82AB698C82AB8"
-+ $"DBC80ABC2FC6EEBABBC79FBD35C721BF52C73BBE42C73BC5E2C73BCB39BEBDCB"
-+ $"39C36CCB39BA0EBF52B63EC5E2B63EB8C1B63E0207BF52B6CBC594B6CBB90FB6"
-+ $"CBB3F7BEBDB3F7BA5BB3F7C169B8C4C537B5DDC3C7B7FEC64DB690C79DB733C7"
-+ $"16B935C777BC1DC65BBAF6C6EFBD21C691BF52C6AEBE35C6AEC595C6AECAACBE"
-+ $"BDCAACC31ECAACBA5B0204BB64C65BBB90C664BA5CC6E0B6A2C78EB8D7C75BB6"
-+ $"9CC793B690C79D29C798B90FC779BBE9C674BAC3C6FEBBBDC66C0206BF52B6CB"
-+ $"C594B6CBBF33B6CBBEF6B6CCBF14B6CCC50EB6EEC9F4BEBDC9F4BA71C9F4C308"
-+ $"BEF7C6ADC50EC68ABF15C6AEBF52C6AEBF33C6AEC594C6AECAACBEBDCAACC31E"
-+ $"CAACBA5B0204BCAFC65BBDA0C68DBCA2C662BC86C66FBC94C668BD6BC698BF52"
-+ $"C6AEBE5BC6AEBF6DC6AEBFA3C6ADBF88C6AEBE9DC6A90208B690C79DB733C716"
-+ $"B6C7C79AB731C7912AC796B7D1C70BB957C537B896C646B670C3C7B48ABEBDB4"
-+ $"8AC169B48ABA6CBF9BB6CCB97AB6E7BF83B6CBBF52B6CBBF6AB6CBB90FB6CBB3"
-+ $"F7BEBDB3F7BA5BB3F7C169B8C4C537B5DDC3C7B7FEC64D0205B6F4BAE5B869B8"
-+ $"B3BA4FBCC5C20BBC36BE22BD3BC2DABBFCC477BB73C3ACBBB6C56CBB22C764BA"
-+ $"8FC667BACFC5D3B88ABF4DB73FC2BDB73FBBB2B73F0207C459C0ACC48EC0A1C4"
-+ $"59C0ACBA53C0ACBA53C0ACBA1EC0A1B9C1C0CAB9E9C0ABB99CC0E8B986C142B9"
-+ $"86C113B986C396BF56C57BBC22C57B47C57BC526C142C526C396C526C113C4EB"
-+ $"C0CAC511C0E8C4C4C0AB0207C459C0C5C48EC0B9C459C0C5BA53C0C5BA53C0C5"
-+ $"BA1EC0B9B9C1C0E3B9E9C0C4B99CC100B986C15AB986C12CB986C3AFBF56C594"
-+ $"BC22C59447C594C526C15AC526C3AFC526C12CC4EBC0E3C511C100C4C4C0C402"
-+ $"05BA53C105BA53C105BA29C105BA07C141BA07C120BA07C358BF56C50ABC69C5"
-+ $"0AC244C50AC4A6C141C4A6C358C4A6C120C45AC105C484C105C45AC1050204BB"
-+ $"43B95BBA1BB95BBC6CB95BBD55BC63BD55BAB0BD55BE15BB43BF6BBC6CBF6BBA"
-+ $"1BBF6BB931BC63B931BE15B931BAB00204BB4431BA4131BC4731BD12BC6BBD12"
-+ $"BAF0BD12BDE5BB44BF0FBC47BF0FBA41BF0FB976BC6BB976BDE5B976BAF00204"
-+ $"BB56BA02BA5FBA02BC4DBA02BD0FBC88BD0FBB1EBD0FBDF1BB56BF0DBC4DBF0D"
-+ $"BA5FBF0DB99DBC88B99DBDF1B99DBB1E0205BA50BC7FBA30BD15BA8CBB5DBC1A"
-+ $"BA9ABB54BA8EBBD7BA62BB38BA4CBB89BA45BA62BA5FB9E6BCA6B9CABB6CB9F3"
-+ $"BD38BA6ABE19BA24BDB9BA3DBDA60204BBC2BC51BB41BC51BC43BC51BCA9BD37"
-+ $"BCA9BCB6BCA9BDB9BBC2BE1EBC43BE1EBB41BE1EBADBBD37BADBBDB9BADBBCB6"
-+ $"0204BBB6BC65BB52BC65BC1BBC65BC6BBD1ABC6BBCB5BC6BBD7FBBB6BDCEBC1B"
-+ $"BDCEBB52BDCEBB02BD1ABB02BD7FBB02BCB50204C315B95BC1ECB95BC43EB95B"
-+ $"C527BC63C527BAB0C527BE15C315BF6BC43EBF6BC1ECBF6BC103BC63C103BE15"
-+ $"C103BAB00204C31431C21131C41731C4E2BC6BC4E2BAF0C4E2BDE5C314BF0FC4"
-+ $"17BF0FC211BF0FC146BC6BC146BDE5C146BAF00204C302BA02C20BBA02C3F9BA"
-+ $"02C4BBBC88C4BBBB1EC4BBBDF1C302BF0DC3F9BF0DC20BBF0DC149BC88C149BD"
-+ $"F1C149BB1E0205C408BC7FC428BD15C3CCBB5DC23EBA9AC305BA8EC281BA62C3"
-+ $"1FBA4CC2CFBA45C3F6BA5FC472BCA6C48EBB6CC465BD38C3EEBE19C434BDB9C4"
-+ $"1BBDA60204C296BC50C215BC50C317BC50C37DBD37C37DBCB6C37DBDB9C296BE"
-+ $"1FC317BE1FC215BE1FC1AFBD37C1AFBDB9C1AFBCB60204C2A1BC65C23CBC65C3"
-+ $"06BC6549BD1A49BCB549BD7FC2A1BDCEC306BDCEC23CBDCEC1EDBD1AC1EDBD7F"
-+ $"C1EDBCB50F0A000100023F6E570000000000003F0079920DF9AFA7960A010101"
-+ $"023F6E570000000000003F0079920DF9AFA7960A020102023F6E570000000000"
-+ $"003F0079920DF9AFA7960A000103023F6E570000000000003F0079920DF9AFA7"
-+ $"960A000104023F6E570000000000003F0079920DF9AFA7960A00020506023F6E"
-+ $"570000000000003F0079920DF9AFA7960A02020708023F6E570000000000003F"
-+ $"0079920DF9AFA7960A000109023F6E570000000000003F0079920DF9AFA7960A"
-+ $"03011E000A03011F000A0A0120023EBA690000000000003E684D48AAA149C7C1"
-+ $"0A0B0121023EBA690000000000003E684D48AAA149C7C10A0C022223023EBA69"
-+ $"0000000000003E684D48AAA149C7C10A0D022425023EBA690000000000003E68"
-+ $"4D48AAA149C7C10A0E0126023EBA690000000000003E684D48AAA149C7C1"
-+};' >/tmp/linguist.rdef
-+rc /tmp/linguist.rdef
-+xres -o "$QTROOT/boot/common/bin/linguist" /tmp/linguist.rsrc
-+mimeset -f "$QTROOT/boot/common/bin/linguist"
-+
-+######################################################################
-+echo " Qt Help Conversion Wizard"
-+######################################################################
-+
-+echo 'resource app_signature "application/x-vnd.qhelpconverter";
-+
-+resource app_flags B_SINGLE_LAUNCH;
-+
-+resource app_version {
-+ major = 4,
-+ middle = 7,
-+ minor = 0,
-+ variety = 0,
-+ internal = 0,
-+ short_info = "Qt Help Conversion Wizard",
-+ long_info = "Qt Help Conversion Wizard"
-+};
-+
-+resource vector_icon {
-+$"6E6369660A030062250380C34205FF04003303663333020106023DDD49000000"
-+ $"0000003DDD4949EEA449EEA400B00000FF993300020106043DA9380000000000"
-+ $"003DA93849EEA449EEA400FFFFFF2FFF93936CFF0000FFCF000004FF7F04FF66"
-+ $"04614C1E060AEFE707B93AB30DB93AB30DB8EB20B852B302B89DB2FCB852B302"
-+ $"B852B302B639B327B650B325B464B34D20B6E320B4CE20B6E3CF6BB50DD154C9"
-+ $"ABCDDDC9ABCDDDCB16CD9ECC35CA23CC35CBF2CC35CA23B6290606EF0BCC35CA"
-+ $"23CC35CA23CC35CBF2C9ABCDDDCB16CD9EC9ABCDDDB50DD154B50DB6C2B50DB6"
-+ $"C2B50DB457B93AB30DB6FBB2AEB93AB30DCC35B62906149AF9FFFF99C5DBB9A3"
-+ $"C785B9D1BCBDC965BCDFBEB4C785BE9EC785C551C785C551C785C5E6C7B7C671"
-+ $"C796C646C7D4C699C840C6ACC803C6ACC846C6ACC853C6ACC84CC6ACC8B1C6A6"
-+ $"C987C656C918C689C987C656C987C805C987C805C8C9C859C758C89AC80FC88B"
-+ $"C73DC89CC70BC89DC723C89DC665C89DC58FC80CC5E6C86DC52AC79BC4F8C5ED"
-+ $"C4F8C6E5C4F8C5EDBE80C412BE75BC7EC52ABC930A04C965BEB4C785BE9EC785"
-+ $"BEA8C886BEB40205C7E9C69BC826C68CC802C6A7C840C6AC55C6ACC846C6ACC8"
-+ $"53C6ACC84CC6ACC8B1C6A6C987C656C918C689C987C656C8A9C656C8A9C656C8"
-+ $"65C675060D9FF1FE03C58FC80CC5E6C86DC52AC79BC4F8C5EDC4F8C6E5C4F8C5"
-+ $"EDBE80C412BE75BC7EC333C333BCEFC333BCEFC353BD68C37FBE79C36CBDEBC3"
-+ $"7FBE79C419BE80C419C5EDC419C5EDC419C6E5C4B1C80CC44CC79BC507C86DC6"
-+ $"2CC89DC586C89DC62CC89DC70BC89DC70BC89DC665C89D0A04C5DBB9A3C4FCB9"
-+ $"A3C450BC83C52ABC93000BC02DC624C02DC624C084C544C0AFC0FEC0AFC38DC0"
-+ $"AFBEB2C02EBC40C085BD1EBFD8BB60BEA9BAD9BF57BAE8BE9CBAD8BE82BAD7BE"
-+ $"8FBAD7BDE1BAD7BD0FBBF1BD66BB35BCB2BCBEBC83C0ECBC83BE68BC83C35ABD"
-+ $"0DC617BCB1C514BD65C70EBE92C789BDE7C789BE9AC789BEA9C788BEA1C788BF"
-+ $"55C77DC02DC624BFD6C706C02DC6240211C2C7C6AFC35DC54DC22EC817C008C9"
-+ $"6FC146C902C028CA13C099CABCC0595BC0CBCAE9C17FCB00C118CB00C19DCB00"
-+ $"C1DFCAFAC1BDCAFEC1DFCAFAC1DFCCE0C1DFCCE0C1DFCCE0C103CCFDC103CCFD"
-+ $"C0C2CD05C049CD09C084CD09BF88CD09BE76CC7CBEECCCDBBDDBCBFFBD1EC9A9"
-+ $"BD68CB0EBBCCC961BA0EC721BAC4C88AB955C5B2B8F6C0DDB8F6C39AB8F6BDE8"
-+ $"BA75BA58B977BBBABB4BB92EBDEEB89BBC76B89BBE2BB89BBEA9B8A6BE69B89F"
-+ $"C064B8D9C275BB14C1A4B9AAC342BC75C3A7C10BC3A7BE71C3A7C36D0203C17F"
-+ $"CB00C162CB00C19DCB00C1DFCAFAC1BDCAFEC1DFCAFAC12CCAFAC12CCAFAC145"
-+ $"CAFE020DBF44BC40BEFCBB85BF9BBD1EBFC5C0FEBFC5BEB2BFC5C38DBF43C624"
-+ $"BF9AC544BEFDC6D9BE20C774BE9CC749BE44C782BE92C789BE6AC789BE9AC789"
-+ $"BEA9C788BEA1C788BF55C77DC02DC624BFD6C706C084C544C0AFC0FEC0AFC38D"
-+ $"C0AFBEB2C02EBC40C085BD1EBFD8BB60BEA9BAD9BF57BAE8BE9CBAD8BE82BAD7"
-+ $"BE8FBAD7BE5ABAD7BE10BAE9BE34BADDBE10BAE9BE10BAE9BE10BAE9BE95BB12"
-+ $"0222BEEDCCC5BEEECCC6BEE9CCC4BEE1CCC0BEE5CCC2BEE1CCBFBEE0CCBFBEE0"
-+ $"CCBFBEDCCCBDBED4CCB9BED8CCBBBED4CCB9BED2CCB8BED3CCB8BECFCCB6BEC8"
-+ $"CCB3BECBCCB4BEC7CCB2BEC5CCB1BEC6CCB1BEC2CCAFBEBCCCACBEBFCCADBEBA"
-+ $"CCABBEB8CCA9BEB9CCAABEB5CCA8BEB0CCA4BEB2CCA6BEAECCA3BEAACCA1BEAC"
-+ $"CCA2BEA8CCA0BEA4CC9DBEA6CC9EBEA2CC9BBE9ECC99BEA0CC9ABE9CCC97BE98"
-+ $"CC95BE9ACC96BE96CC93BE91CC90BE93CC92BE90CC8FBE8DCC8D3DCC8EBE8ACC"
-+ $"8BBE84CC87BE87CC89BE83CC86BE81CC85BE82CC85BE7ECC82BE76CC7CBE7ACC"
-+ $"7FBDDBCBFFBD1EC9A9BD68CB0EBBCCC961BA0EC721BAC4C88AB955C5B2B8F6C0"
-+ $"DDB8F6C39AB8F6BDE8BA75BA58B977BBBABB4BB92EBDEEB89BBC76B89BBDF0B8"
-+ $"9BBD03B89BBD03B89BBB8CB89BB98BBA58BA61B92EB88DBBBAB80CC0DDB80CBD"
-+ $"E8B80CC39AB924C721B86AC5B2B9DAC88ABC34C9A9BAE2C961BC7ECB0EBD8CCC"
-+ $"7CBCF0CBFFBE02CCDBBF5FCD09BE9ECD09BF63CD09BF6ACD09BF67CD09BF6ACD"
-+ $"09C037CD09C037CD09BFB9CD07BEEECCC6BF4BCCF1BEEECCC60204B3A5BFF7B3"
-+ $"A5B92CB3A5C6C2BFF7CC48B92CCC48C6C2CC48CC48BFF7CC48C6C2CC48B92CBF"
-+ $"F7B3A5C6C2B3A5B92CB3A50204BB6DBFF7BB6DC277BB6DBD76BFF7BB6DBD76BB"
-+ $"6DC277BB6DC481BFF7C481BD76C481C277BFF7C481C277C481BD76C481020420"
-+ $"BF8820B89F20C671BF88CC11B89FCC11C671CC11CC11BF88CC11C671CC11B89F"
-+ $"BF8820C67120B89F200204BB36BF88BB36C1EABB36BD26BF88BB36BD26BB36C1"
-+ $"EABB36C3DBBF88C3DBBD26C3DBC1EABF88C3DBC1EAC3DBBD26C3DB0204B337BF"
-+ $"88B337B8BDB337C653BF88CBDAB8BDCBDAC653CBDACBDABF88CBDAC653CBDAB8"
-+ $"BDBF88B337C653B337B8BDB3370204BAFEBF88BAFEC209BAFEBD08BF88BAFEBD"
-+ $"08BAFEC209BAFEC412BF88C412BD08C412C209BF88C412C209C412BD08C41202"
-+ $"04BF88B3DDC5FAB3DDB916B3DDB3DDBF88B3DDB916B3DDC5FABF88CB34B916CB"
-+ $"34C5FACB34CB34BF88CB34C5FACB34B9160204BF88C4B8C264C4B8BCACC4B8BA"
-+ $"58BF88BA58C264BA58BCACBF88BA58BCACBA58C264BA58C4B8BF88C4B8BCACC4"
-+ $"B8C2640206BF88B63DB9D4B63DC53CB63DCA4FC04AC9EBBAAFCA53C00ACA56BF"
-+ $"88CA56BFC9CA56B993BF88B4BAC57DB4BAB993B4BAB4BABF88B4BAB993B4BABF"
-+ $"C9B4C2C04AB4BDC00AB525BAAF0206BF88C718BC32C718C2DEC718C595C10BC5"
-+ $"95C462C595C0CAC589C04AC591C089C529C345BF88C595C29DC595BC74C595B9"
-+ $"88C04AB9E7C345B980C089B97BC10BB97BC0CAB97BC4620206BF88CB34BD68CB"
-+ $"34C1A8CB34C55EC9A3C3A6CAA1C55EC9A3C220C405C220C405C15CC477BF88C4"
-+ $"B8C07AC4B8BE97C4B8BCF1C405BDB4C477BCF1C405B9B3C9A3B9B3C9A3BB6ACA"
-+ $"A10206BF88B3DDC1A8B3DDBD68B3DDB9B3B56DBB6AB46FB9B3B56DBCF1BB0BBC"
-+ $"F1BB0BBDB4BA9ABF88BA58BE97BA58C07ABA58C220BB0BC15CBA9AC220BB0BC5"
-+ $"5EB56DC55EB56DC3A6B46F0206C4B8BF88C4B8BE97C4B8C07AC405C220C477C1"
-+ $"5CC405C220C9A3C55EC9A3C55ECAA1C3A6CB34BF88CB34C1A8CB34BD68C9A3B9"
-+ $"B3CAA1BB6AC9A3B9B3C405BCF1C405BCF1C477BDB40206BA58BF88BA58C07ABA"
-+ $"58BE97BB0BBCF1BA9ABDB4BB0BBCF1B56DB9B3B56DB9B3B46FBB6AB3DDBF88B3"
-+ $"DDBD68B3DDC1A8B56DC55EB46FC3A6B56DC55EBB0BC220BB0BC220BA9AC15C02"
-+ $"06BF88B90DC264B90DBCACB90DBA58BE3CBA58BB60BA58BE75BA63BEE2BA5CBE"
-+ $"ACBAB5BC54BF88BA58BCE4BA58C22CBA58C4ADBEE2C45BBC54C4B4BEACC4B8BE"
-+ $"3CC4B8BE75C4B8BB600206BF88C9E8C5C2C9E8B94EC9E8B3E2BEE2B438C507B3"
-+ $"DFBF19B3DDBF88B3DDBF50B3DDC5FABF88CB34B916CB34C5FACB34CB34BF88CB"
-+ $"34C5FACB34BF50CB2FBEE2CB32BF19CAD9C5070206BF88CB34B93ECB34C5D2CB"
-+ $"34CB31BFFECAF2C639CB30BFE9CB2F40CB30BFD4CAD9C5E4BF88CAC5C5C2CAC5"
-+ $"B94ECAC5B3E240B438C5E4B3E0BFD4B3E0BFFEB3E1BFE9B41EC6390206BA58BF"
-+ $"1ABA58BC3DBA58BF2ABA5ABF49BA59BF39BA7BBC8ABF88BA58BCC1BA58C24FBA"
-+ $"58C4B6BF49C495BC8AC4B7BF39C4B8BF1AC4B8BF2AC4B8BC3DBF88B9EAC264B9"
-+ $"EABCACB9EA150A000100023F6E570000000000003F0079920DF9AFA7960A0101"
-+ $"01023F6E570000000000003F0079920DF9AFA7960A020102023F6E5700000000"
-+ $"00003F0079920DF9AFA7960A000103023F6E570000000000003F0079920DF9AF"
-+ $"A7960A000104023F6E570000000000003F0079920DF9AFA7960A00020506023F"
-+ $"6E570000000000003F0079920DF9AFA7960A02020708023F6E57000000000000"
-+ $"3F0079920DF9AFA7960A000109023F6E570000000000003F0079920DF9AFA796"
-+ $"0A00020A0B023D6A390000000000003D3C934A3EB74A17E90A03020C0D023DD6"
-+ $"F90000000000003DF73F4A20004A10000A04020E0F023DD6F90000000000003D"
-+ $"F73F4A20004A10000A05021011023DD6F90000000000003DF73F4A20004A1000"
-+ $"0A06021213023DD6F90000000000003DF73F4A20004A10000A070114023DD6F9"
-+ $"0000000000003DF73F4A20004A10000A080115023DD6F90000000000003DF73F"
-+ $"4A20004A10000A020116023DD6F90000000000003DF73F4A20004A10000A0201"
-+ $"17023DD6F90000000000003DF73F4A20004A10000A020118023DD6F900000000"
-+ $"00003DF73F4A20004A10000A020119023DD6F90000000000003DF73F4A20004A"
-+ $"10000A09021A1B023DD6F90000000000003DF73F4A20004A10000A09021C1D02"
-+ $"3DD6F90000000000003DF73F4A20004A1000"
-+};' >/tmp/qhelpconverter.rdef
-+rc /tmp/qhelpconverter.rdef
-+xres -o "$QTROOT/boot/common/bin/qhelpconverter" /tmp/qhelpconverter.rsrc
-+mimeset -f "$QTROOT/boot/common/bin/qhelpconverter"
-+
-+######################################################################
-+echo " Qt QML Viewer"
-+######################################################################
-+
-+echo 'resource app_signature "application/x-vnd.qmlviewer";
-+
-+resource app_flags B_MULTIPLE_LAUNCH;
-+
-+resource app_version {
-+ major = 4,
-+ middle = 7,
-+ minor = 0,
-+ variety = 0,
-+ internal = 0,
-+ short_info = "Qt QML Viewer",
-+ long_info = "Qt QML Viewer"
-+};
-+
-+resource file_types message {
-+ "types" = "text/x-qml",
-+ "types" = "application/x-qml"
-+};
-+
-+resource vector_icon {
-+ $"6E63696603030062250380C34205FF0C060AEFE707B93AB30DB93AB30DB8EB20"
-+ $"B852B302B89DB2FCB852B302B852B302B639B327B650B325B464B34D20B6E320"
-+ $"B4CE20B6E3CF6BB50DD154C9ABCDDDC9ABCDDDCB16CD9ECC35CA23CC35CBF2CC"
-+ $"35CA23B6290606EF0BCC35CA23CC35CA23CC35CBF2C9ABCDDDCB16CD9EC9ABCD"
-+ $"DDB50DD154B50DB6C2B50DB6C2B50DB457B93AB30DB6FBB2AEB93AB30DCC35B6"
-+ $"2906149AF9FFFF99C5DBB9A3C785B9D1BCBDC965BCDFBEB4C785BE9EC785C551"
-+ $"C785C551C785C5E6C7B7C671C796C646C7D4C699C840C6ACC803C6ACC846C6AC"
-+ $"C853C6ACC84CC6ACC8B1C6A6C987C656C918C689C987C656C987C805C987C805"
-+ $"C8C9C859C758C89AC80FC88BC73DC89CC70BC89DC723C89DC665C89DC58FC80C"
-+ $"C5E6C86DC52AC79BC4F8C5EDC4F8C6E5C4F8C5EDBE80C412BE75BC7EC52ABC93"
-+ $"0A04C965BEB4C785BE9EC785BEA8C886BEB40205C7E9C69BC826C68CC802C6A7"
-+ $"C840C6AC55C6ACC846C6ACC853C6ACC84CC6ACC8B1C6A6C987C656C918C689C9"
-+ $"87C656C8A9C656C8A9C656C865C675060D9FF1FE03C58FC80CC5E6C86DC52AC7"
-+ $"9BC4F8C5EDC4F8C6E5C4F8C5EDBE80C412BE75BC7EC333C333BCEFC333BCEFC3"
-+ $"53BD68C37FBE79C36CBDEBC37FBE79C419BE80C419C5EDC419C5EDC419C6E5C4"
-+ $"B1C80CC44CC79BC507C86DC62CC89DC586C89DC62CC89DC70BC89DC70BC89DC6"
-+ $"65C89D0A04C5DBB9A3C4FCB9A3C450BC83C52ABC93000BC02DC624C02DC624C0"
-+ $"84C544C0AFC0FEC0AFC38DC0AFBEB2C02EBC40C085BD1EBFD8BB60BEA9BAD9BF"
-+ $"57BAE8BE9CBAD8BE82BAD7BE8FBAD7BDE1BAD7BD0FBBF1BD66BB35BCB2BCBEBC"
-+ $"83C0ECBC83BE68BC83C35ABD0DC617BCB1C514BD65C70EBE92C789BDE7C789BE"
-+ $"9AC789BEA9C788BEA1C788BF55C77DC02DC624BFD6C706C02DC6240211C2C7C6"
-+ $"AFC35DC54DC22EC817C008C96FC146C902C028CA13C099CABCC0595BC0CBCAE9"
-+ $"C17FCB00C118CB00C19DCB00C1DFCAFAC1BDCAFEC1DFCAFAC1DFCCE0C1DFCCE0"
-+ $"C1DFCCE0C103CCFDC103CCFDC0C2CD05C049CD09C084CD09BF88CD09BE76CC7C"
-+ $"BEECCCDBBDDBCBFFBD1EC9A9BD68CB0EBBCCC961BA0EC721BAC4C88AB955C5B2"
-+ $"B8F6C0DDB8F6C39AB8F6BDE8BA75BA58B977BBBABB4BB92EBDEEB89BBC76B89B"
-+ $"BE2BB89BBEA9B8A6BE69B89FC064B8D9C275BB14C1A4B9AAC342BC75C3A7C10B"
-+ $"C3A7BE71C3A7C36D0203C17FCB00C162CB00C19DCB00C1DFCAFAC1BDCAFEC1DF"
-+ $"CAFAC12CCAFAC12CCAFAC145CAFE020DBF44BC40BEFCBB85BF9BBD1EBFC5C0FE"
-+ $"BFC5BEB2BFC5C38DBF43C624BF9AC544BEFDC6D9BE20C774BE9CC749BE44C782"
-+ $"BE92C789BE6AC789BE9AC789BEA9C788BEA1C788BF55C77DC02DC624BFD6C706"
-+ $"C084C544C0AFC0FEC0AFC38DC0AFBEB2C02EBC40C085BD1EBFD8BB60BEA9BAD9"
-+ $"BF57BAE8BE9CBAD8BE82BAD7BE8FBAD7BE5ABAD7BE10BAE9BE34BADDBE10BAE9"
-+ $"BE10BAE9BE10BAE9BE95BB120222BEEDCCC5BEEECCC6BEE9CCC4BEE1CCC0BEE5"
-+ $"CCC2BEE1CCBFBEE0CCBFBEE0CCBFBEDCCCBDBED4CCB9BED8CCBBBED4CCB9BED2"
-+ $"CCB8BED3CCB8BECFCCB6BEC8CCB3BECBCCB4BEC7CCB2BEC5CCB1BEC6CCB1BEC2"
-+ $"CCAFBEBCCCACBEBFCCADBEBACCABBEB8CCA9BEB9CCAABEB5CCA8BEB0CCA4BEB2"
-+ $"CCA6BEAECCA3BEAACCA1BEACCCA2BEA8CCA0BEA4CC9DBEA6CC9EBEA2CC9BBE9E"
-+ $"CC99BEA0CC9ABE9CCC97BE98CC95BE9ACC96BE96CC93BE91CC90BE93CC92BE90"
-+ $"CC8FBE8DCC8D3DCC8EBE8ACC8BBE84CC87BE87CC89BE83CC86BE81CC85BE82CC"
-+ $"85BE7ECC82BE76CC7CBE7ACC7FBDDBCBFFBD1EC9A9BD68CB0EBBCCC961BA0EC7"
-+ $"21BAC4C88AB955C5B2B8F6C0DDB8F6C39AB8F6BDE8BA75BA58B977BBBABB4BB9"
-+ $"2EBDEEB89BBC76B89BBDF0B89BBD03B89BBD03B89BBB8CB89BB98BBA58BA61B9"
-+ $"2EB88DBBBAB80CC0DDB80CBDE8B80CC39AB924C721B86AC5B2B9DAC88ABC34C9"
-+ $"A9BAE2C961BC7ECB0EBD8CCC7CBCF0CBFFBE02CCDBBF5FCD09BE9ECD09BF63CD"
-+ $"09BF6ACD09BF67CD09BF6ACD09C037CD09C037CD09BFB9CD07BEEECCC6BF4BCC"
-+ $"F1BEEECCC6090A000100023F8EB50000000000003F43B74400003FFD4E0A0101"
-+ $"01023F8EB50000000000003F43B74400003FFD4E0A020102023F8EB500000000"
-+ $"00003F43B74400003FFD4E0A000103023F8EB50000000000003F43B74400003F"
-+ $"FD4E0A000104023F8EB50000000000003F43B74400003FFD4E0A00020506023F"
-+ $"8EB50000000000003F43B74400003FFD4E0A02020708023F8EB5000000000000"
-+ $"3F43B74400003FFD4E0A000109023F8EB50000000000003F43B74400003FFD4E"
-+ $"0A00020A0B023F8EB50000000000003F43B74400003FFD4E"
-+};' >/tmp/qmlviewer.rdef
-+rc /tmp/qmlviewer.rdef
-+xres -o "$QTROOT/boot/common/bin/qmlviewer" /tmp/qmlviewer.rsrc
-+mimeset -f "$QTROOT/boot/common/bin/qmlviewer"
-+
-+######################################################################
-+echo " Qt Config"
-+######################################################################
-+
-+echo 'resource app_signature "application/x-vnd.qtconfig";
-+
-+resource app_flags B_SINGLE_LAUNCH;
-+
-+resource app_version {
-+ major = 4,
-+ middle = 7,
-+ minor = 0,
-+ variety = 0,
-+ internal = 0,
-+ short_info = "Qt Config",
-+ long_info = "Qt Configuration"
-+};
-+
-+resource vector_icon {
-+ $"6E6369660503076324037FC24105FF03FFC96903FFB23D120206B5BEB707B536"
-+ $"2CB633B636B808B600B73BB634B74CB695B69AB859B683B751B68BBD18B68CC6"
-+ $"98B6B0C1D8B611C63CB55AC544B53DC604B549C162B552B99BB55CBD7EB55AB8"
-+ $"BE0206B84DBEAAB86CC012B83FBCDFB9F1B97DB827BA84B9F1B97DB9D031B9D0"
-+ $"31B95DBAB7B8D7BCBFB8E7BBAFB8B7BE98BA29C21EB8CBC0B5BA29C21EBA5DC2"
-+ $"5FBA5DC25FB8B3C2070204BF62BB21BF62BB21BF16BA7FC007B981BF98B9EAC0"
-+ $"07B981BFF9B9DABFF9B9DABFE3BA57BF9BBB4ABFCDBAD5BF9BBB4A0203BC34BA"
-+ $"5FBCD4BCAFBD21BB14BD2DBD61BD2CBC51BD27BEC2BC4EC16FBD5AC059BCB5BF"
-+ $"180207BE8FBB35BE8FBB35BEACBB56BF01BBBBBEE5BB99BF45BC41BF88BD65BF"
-+ $"91BCCBBF88BEE8BFCEC1ECBF8EC06DBFCEC1ECBFD8C237BFD8C237BE6DC0B2BE"
-+ $"D5BCAABF6ABE7BBEC4BC49BE9EBB89BEB2BBE9BE9EBB890204C71DBD22C736BD"
-+ $"A4C767BCD4C7EDBC2DC7ACBC81C7EABD15C816BEE3C7FCBDFCC7ECBED4C76FBE"
-+ $"A8C799BEB6C754BE250204CC18BCAFCC3DBCCBCC35BCA2CC88BC7BCC6CBC88CC"
-+ $"99BC97CCCDBCEDCCBBBCD0CCCDBCEDCCA9BD1CCCA9BD1CCC84BD010203BA8AC2"
-+ $"60BAB9C313BB18C2A3BB94C3BDBB55C337BB94C3BDBBBAC414BBBAC414BAFBC3"
-+ $"CD0204C139C355C166C38EC189C2FAC22CC246C1DAC29FC229C277C21FC30AC2"
-+ $"22C2D9C20DC370C1EAC43BC1FDC3D645C4010203C630C65CC650C678C6A2C63C"
-+ $"C790C627C719C631C7BEC694C6B1C6CDC70BC6E1C691C6B1000CB808B600B808"
-+ $"B600BBE6B67FC399B7CCBFBCB740C3BFBA8DC3E2C011C34DBD5BC335C100C21F"
-+ $"C30AC297C1FDC222C2D9C22CC246C229C277C1DAC29FC139C355C189C2FAC128"
-+ $"C33FC0F3C2FDC104C313BFDDC3BEBE23C5C1BEE0C4A7BB94C5CAB689C6DBB90F"
-+ $"C674B689C6DBB68CC698B68CC698B6B0C1D8B69AB859B68BBD18B683B751B808"
-+ $"B600B74CB695B808B600021CB9D031BAB9B96FB9D031B9F1B97DB9F1B97DB827"
-+ $"BA84B84DBEAAB83FBCDFB86CC012BA5DC25FB8B3C207BA5DC25FBA29C21EBA29"
-+ $"C21EBA41C22EBA8AC260BA72C24FBAB9C313BBBAC414BAFBC3CDBBBAC414BB94"
-+ $"C3BDBB94C3BDBC18C464BDC4C45DBCFDC485BE0FC38FBCC8C29ABD34C323BEDA"
-+ $"C169BED5BCAABEF2BEC6BF6ABE7BBFD8C237BE6DC0B2BFD8C237BFCEC1ECBFCE"
-+ $"C1ECC091C1E5C210C19FC152C1CDC1BAC13FC10EC07DC156C0E9C0EFBF38C0FE"
-+ $"BCACC108BDF2C15738C209BC57C1B0BC73C209BC27C205BB96C207BBC6C1AEBB"
-+ $"85C0FFBB63C156BB74C0FDBADEC0F7B9D3C0FBBA58C0B7B9D4BFF9B9DAC038B9"
-+ $"D8BFF9B9DAC007B981C007B981BF98B9EABF62BB21BF16BA7FBF62BB21BF9BBB"
-+ $"4ABF9BBB4ABF75BB66BF01BBBBBF28BB9FBEE5BB99BE8FBB35BEACBB56BE8FBB"
-+ $"35BE9EBB89BE9EBB89BE4ABA9ABCB1B957BDB1B9A5BBB7B8ED0205BACDBE05BA"
-+ $"DCBF5CBAD4BC9EBC25BA18BAAABAD6BC25BA18BC34BA5FBC34BA5FBCD4BCAFBC"
-+ $"4EC16FBCB5BF18BC4EC16FBC45C1B1BC45C1B1BAC2C11C000BB9D031B9D031BA"
-+ $"B9B96FBCB1B957BBB7B8EDBDB1B9A5BE9EBB89BE4ABA9ABEB2BBE9BED5BCAABE"
-+ $"C4BC49BEF2BEC6BCC8C29ABEDAC169BD34C323BDC4C45DBE0FC38FBCFDC485BB"
-+ $"94C3BDBC18C464BB55C337BA8AC260BB18C2A3BA72C24FBA29C21EBA41C22EB8"
-+ $"CBC0B5B8D7BCBFB8B7BE98B8E7BBAFB9D031B95DBAB7B9D0310206BACDBE05BA"
-+ $"D4BC9EBADCBF5CBC45C1B1BAC2C11CBC45C1B1BC4EC16FBC4EC16FBD5AC059BD"
-+ $"2DBD61BD27BEC2BD2CBC51BC34BA5FBD21BB14BC34BA5FBC25BA18BC25BA18BA"
-+ $"AABAD6020CBFF9B9DABFE3BA57C038B9D8C0F7B9D3C0B7B9D4C0FBBA58C0FFBB"
-+ $"63C0FDBADEC156BB74C205BB96C1AEBB85C207BBC6C209BC57C209BC27C1B0BC"
-+ $"73C0FEBCACC15738C108BDF2C10EC07DC0EFBF38C156C0E9C210C19FC1BAC13F"
-+ $"C152C1CDBFCEC1ECC091C1E5BF8EC06DBF88BD65BF88BEE8BF91BCCBBF01BBBB"
-+ $"BF45BC41BF28BB9FBF9BBB4ABF75BB66BFCDBAD50212C7EDBC2DC7EABD15C9C2"
-+ $"BB14CDE2BA16CBBCBA3ECD99BAD4CD0EBC54CD4FBB93CCEDBC5ECC88BC7BCCA9"
-+ $"BC71CC6CBC88CC18BCAFCC35BCA2CC3DBCCBCCA9BD1CCC84BD01CCA9BD1CCCF1"
-+ $"BD33CCF1BD33CC7DBE87CBA3C136CC5BBFFDCB2AC222C93FC2D3CA15C25BC9B5"
-+ $"C2EACAA2C31BCA2CC302CA24C47DC790C627C935C613C719C631C630C65CC6A2"
-+ $"C63CC650C678C6B1C6CDC691C6B1C6B1C6CDC704C711C704C711C53AC85DC0CD"
-+ $"C835C2ED56C330C72BC6C1C347C567C589C795C1E5C76FBEA8C7ACC037C799BE"
-+ $"B6C816BEE3C7ECBED4C7FCBDFC020EC3E2C011C335C100C4E3BF09C71DBD22C5"
-+ $"C2BDB8C736BDA4C76FBEA8C754BE25C7ACC037C6C1C347C795C1E5C567C589C0"
-+ $"CDC835C330C72BBFD7C808BE02C755BEEAC7B0BBDFC875B712C8DFB96DC89CB6"
-+ $"FAC8A4B6B2C7F5B6CAC82FB8C4C812BCD6C728BAE0C7D8BD88C6FEBE23C5C1BD"
-+ $"C1C644BEE0C4A7C0F3C2FDBFDDC3BEC104C313C139C355C128C33FC166C38EC1"
-+ $"EAC43B45C401C1FDC3D6C21FC30AC20DC370C297C1FD100A000100201B210A00"
-+ $"0101201B210A000102201B210A000103201B210A000104201B210A000105201B"
-+ $"210A000106201B210A000107201B210A000108201B210A000109201B210A0102"
-+ $"0A0B201B210A01010C201B210A02020D0E201B210A02010F201B210A03011020"
-+ $"1B210A040111201B21"
-+};' >/tmp/qtconfig.rdef
-+rc /tmp/qtconfig.rdef
-+xres -o "$QTROOT/boot/common/bin/qtconfig" /tmp/qtconfig.rsrc
-+mimeset -f "$QTROOT/boot/common/bin/qtconfig"
-+
-+
-+######################################################################
-+echo "Make menu items"
-+######################################################################
-+mkdir -p "$QTROOT/boot/home/config/be/Preferences"
-+mkdir -p "$QTROOT/boot/home/config/be/Qt/Development"
-+ln -s -f "/boot/common/data/licenses/LGPL v2.1" "$QTROOT/boot/home/config/be/Qt/LGPL v2.1"
-+ln -s -f "/boot/common/bin/qtconfig" "$QTROOT/boot/home/config/be/Preferences/Qt Config"
-+ln -s -f "/boot/common/bin/assistant" "$QTROOT/boot/home/config/be/Qt/Development/Qt Assistant"
-+ln -s -f "/boot/common/bin/designer" "$QTROOT/boot/home/config/be/Qt/Development/Qt Designer"
-+ln -s -f "/boot/common/bin/qhelpconverter" "$QTROOT/boot/home/config/be/Qt/Development/Qt Help Conversion Wizard"
-+ln -s -f "/boot/common/bin/linguist" "$QTROOT/boot/home/config/be/Qt/Development/Qt Linguist"
-+ln -s -f "/boot/common/bin/qmlviewer" "$QTROOT/boot/home/config/be/Qt/Development/Qt QML Viewer"
-+
-+
-+######################################################################
-+# create GNU Free Documentation License file
-+######################################################################
-+mkdir -p "$QTROOT/boot/common/data/licenses"
-+echo "
-+ GNU Free Documentation License
-+ Version 1.3, 3 November 2008
-+
-+
-+ Copyright (C) 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
-+
-+ Everyone is permitted to copy and distribute verbatim copies
-+ of this license document, but changing it is not allowed.
-+
-+0. PREAMBLE
-+
-+The purpose of this License is to make a manual, textbook, or other
-+functional and useful document \"free\" in the sense of freedom: to
-+assure everyone the effective freedom to copy and redistribute it,
-+with or without modifying it, either commercially or noncommercially.
-+Secondarily, this License preserves for the author and publisher a way
-+to get credit for their work, while not being considered responsible
-+for modifications made by others.
-+
-+This License is a kind of \"copyleft\", which means that derivative
-+works of the document must themselves be free in the same sense. It
-+complements the GNU General Public License, which is a copyleft
-+license designed for free software.
-+
-+We have designed this License in order to use it for manuals for free
-+software, because free software needs free documentation: a free
-+program should come with manuals providing the same freedoms that the
-+software does. But this License is not limited to software manuals;
-+it can be used for any textual work, regardless of subject matter or
-+whether it is published as a printed book. We recommend this License
-+principally for works whose purpose is instruction or reference.
-+
-+
-+1. APPLICABILITY AND DEFINITIONS
-+
-+This License applies to any manual or other work, in any medium, that
-+contains a notice placed by the copyright holder saying it can be
-+distributed under the terms of this License. Such a notice grants a
-+world-wide, royalty-free license, unlimited in duration, to use that
-+work under the conditions stated herein. The \"Document\", below,
-+refers to any such manual or work. Any member of the public is a
-+licensee, and is addressed as \"you\". You accept the license if you
-+copy, modify or distribute the work in a way requiring permission
-+under copyright law.
-+
-+A \"Modified Version\" of the Document means any work containing the
-+Document or a portion of it, either copied verbatim, or with
-+modifications and/or translated into another language.
-+
-+A \"Secondary Section\" is a named appendix or a front-matter section of
-+the Document that deals exclusively with the relationship of the
-+publishers or authors of the Document to the Document's overall
-+subject (or to related matters) and contains nothing that could fall
-+directly within that overall subject. (Thus, if the Document is in
-+part a textbook of mathematics, a Secondary Section may not explain
-+any mathematics.) The relationship could be a matter of historical
-+connection with the subject or with related matters, or of legal,
-+commercial, philosophical, ethical or political position regarding
-+them.
-+
-+The \"Invariant Sections\" are certain Secondary Sections whose titles
-+are designated, as being those of Invariant Sections, in the notice
-+that says that the Document is released under this License. If a
-+section does not fit the above definition of Secondary then it is not
-+allowed to be designated as Invariant. The Document may contain zero
-+Invariant Sections. If the Document does not identify any Invariant
-+Sections then there are none.
-+
-+The \"Cover Texts\" are certain short passages of text that are listed,
-+as Front-Cover Texts or Back-Cover Texts, in the notice that says that
-+the Document is released under this License. A Front-Cover Text may
-+be at most 5 words, and a Back-Cover Text may be at most 25 words.
-+
-+A \"Transparent\" copy of the Document means a machine-readable copy,
-+represented in a format whose specification is available to the
-+general public, that is suitable for revising the document
-+straightforwardly with generic text editors or (for images composed of
-+pixels) generic paint programs or (for drawings) some widely available
-+drawing editor, and that is suitable for input to text formatters or
-+for automatic translation to a variety of formats suitable for input
-+to text formatters. A copy made in an otherwise Transparent file
-+format whose markup, or absence of markup, has been arranged to thwart
-+or discourage subsequent modification by readers is not Transparent.
-+An image format is not Transparent if used for any substantial amount
-+of text. A copy that is not \"Transparent\" is called \"Opaque\".
-+
-+Examples of suitable formats for Transparent copies include plain
-+ASCII without markup, Texinfo input format, LaTeX input format, SGML
-+or XML using a publicly available DTD, and standard-conforming simple
-+HTML, PostScript or PDF designed for human modification. Examples of
-+transparent image formats include PNG, XCF and JPG. Opaque formats
-+include proprietary formats that can be read and edited only by
-+proprietary word processors, SGML or XML for which the DTD and/or
-+processing tools are not generally available, and the
-+machine-generated HTML, PostScript or PDF produced by some word
-+processors for output purposes only.
-+
-+The \"Title Page\" means, for a printed book, the title page itself,
-+plus such following pages as are needed to hold, legibly, the material
-+this License requires to appear in the title page. For works in
-+formats which do not have any title page as such, \"Title Page\" means
-+the text near the most prominent appearance of the work's title,
-+preceding the beginning of the body of the text.
-+
-+The \"publisher\" means any person or entity that distributes copies of
-+the Document to the public.
-+
-+A section \"Entitled XYZ\" means a named subunit of the Document whose
-+title either is precisely XYZ or contains XYZ in parentheses following
-+text that translates XYZ in another language. (Here XYZ stands for a
-+specific section name mentioned below, such as \"Acknowledgements\",
-+\"Dedications\", \"Endorsements\", or \"History\".) To \"Preserve the Title\"
-+of such a section when you modify the Document means that it remains a
-+section \"Entitled XYZ\" according to this definition.
-+
-+The Document may include Warranty Disclaimers next to the notice which
-+states that this License applies to the Document. These Warranty
-+Disclaimers are considered to be included by reference in this
-+License, but only as regards disclaiming warranties: any other
-+implication that these Warranty Disclaimers may have is void and has
-+no effect on the meaning of this License.
-+
-+2. VERBATIM COPYING
-+
-+You may copy and distribute the Document in any medium, either
-+commercially or noncommercially, provided that this License, the
-+copyright notices, and the license notice saying this License applies
-+to the Document are reproduced in all copies, and that you add no
-+other conditions whatsoever to those of this License. You may not use
-+technical measures to obstruct or control the reading or further
-+copying of the copies you make or distribute. However, you may accept
-+compensation in exchange for copies. If you distribute a large enough
-+number of copies you must also follow the conditions in section 3.
-+
-+You may also lend copies, under the same conditions stated above, and
-+you may publicly display copies.
-+
-+
-+3. COPYING IN QUANTITY
-+
-+If you publish printed copies (or copies in media that commonly have
-+printed covers) of the Document, numbering more than 100, and the
-+Document's license notice requires Cover Texts, you must enclose the
-+copies in covers that carry, clearly and legibly, all these Cover
-+Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
-+the back cover. Both covers must also clearly and legibly identify
-+you as the publisher of these copies. The front cover must present
-+the full title with all words of the title equally prominent and
-+visible. You may add other material on the covers in addition.
-+Copying with changes limited to the covers, as long as they preserve
-+the title of the Document and satisfy these conditions, can be treated
-+as verbatim copying in other respects.
-+
-+If the required texts for either cover are too voluminous to fit
-+legibly, you should put the first ones listed (as many as fit
-+reasonably) on the actual cover, and continue the rest onto adjacent
-+pages.
-+
-+If you publish or distribute Opaque copies of the Document numbering
-+more than 100, you must either include a machine-readable Transparent
-+copy along with each Opaque copy, or state in or with each Opaque copy
-+a computer-network location from which the general network-using
-+public has access to download using public-standard network protocols
-+a complete Transparent copy of the Document, free of added material.
-+If you use the latter option, you must take reasonably prudent steps,
-+when you begin distribution of Opaque copies in quantity, to ensure
-+that this Transparent copy will remain thus accessible at the stated
-+location until at least one year after the last time you distribute an
-+Opaque copy (directly or through your agents or retailers) of that
-+edition to the public.
-+
-+It is requested, but not required, that you contact the authors of the
-+Document well before redistributing any large number of copies, to
-+give them a chance to provide you with an updated version of the
-+Document.
-+
-+
-+4. MODIFICATIONS
-+
-+You may copy and distribute a Modified Version of the Document under
-+the conditions of sections 2 and 3 above, provided that you release
-+the Modified Version under precisely this License, with the Modified
-+Version filling the role of the Document, thus licensing distribution
-+and modification of the Modified Version to whoever possesses a copy
-+of it. In addition, you must do these things in the Modified Version:
-+
-+A. Use in the Title Page (and on the covers, if any) a title distinct
-+ from that of the Document, and from those of previous versions
-+ (which should, if there were any, be listed in the History section
-+ of the Document). You may use the same title as a previous version
-+ if the original publisher of that version gives permission.
-+B. List on the Title Page, as authors, one or more persons or entities
-+ responsible for authorship of the modifications in the Modified
-+ Version, together with at least five of the principal authors of the
-+ Document (all of its principal authors, if it has fewer than five),
-+ unless they release you from this requirement.
-+C. State on the Title page the name of the publisher of the
-+ Modified Version, as the publisher.
-+D. Preserve all the copyright notices of the Document.
-+E. Add an appropriate copyright notice for your modifications
-+ adjacent to the other copyright notices.
-+F. Include, immediately after the copyright notices, a license notice
-+ giving the public permission to use the Modified Version under the
-+ terms of this License, in the form shown in the Addendum below.
-+G. Preserve in that license notice the full lists of Invariant Sections
-+ and required Cover Texts given in the Document's license notice.
-+H. Include an unaltered copy of this License.
-+I. Preserve the section Entitled \"History\", Preserve its Title, and add
-+ to it an item stating at least the title, year, new authors, and
-+ publisher of the Modified Version as given on the Title Page. If
-+ there is no section Entitled \"History\" in the Document, create one
-+ stating the title, year, authors, and publisher of the Document as
-+ given on its Title Page, then add an item describing the Modified
-+ Version as stated in the previous sentence.
-+J. Preserve the network location, if any, given in the Document for
-+ public access to a Transparent copy of the Document, and likewise
-+ the network locations given in the Document for previous versions
-+ it was based on. These may be placed in the \"History\" section.
-+ You may omit a network location for a work that was published at
-+ least four years before the Document itself, or if the original
-+ publisher of the version it refers to gives permission.
-+K. For any section Entitled \"Acknowledgements\" or \"Dedications\",
-+ Preserve the Title of the section, and preserve in the section all
-+ the substance and tone of each of the contributor acknowledgements
-+ and/or dedications given therein.
-+L. Preserve all the Invariant Sections of the Document,
-+ unaltered in their text and in their titles. Section numbers
-+ or the equivalent are not considered part of the section titles.
-+M. Delete any section Entitled \"Endorsements\". Such a section
-+ may not be included in the Modified Version.
-+N. Do not retitle any existing section to be Entitled \"Endorsements\"
-+ or to conflict in title with any Invariant Section.
-+O. Preserve any Warranty Disclaimers.
-+
-+If the Modified Version includes new front-matter sections or
-+appendices that qualify as Secondary Sections and contain no material
-+copied from the Document, you may at your option designate some or all
-+of these sections as invariant. To do this, add their titles to the
-+list of Invariant Sections in the Modified Version's license notice.
-+These titles must be distinct from any other section titles.
-+
-+You may add a section Entitled \"Endorsements\", provided it contains
-+nothing but endorsements of your Modified Version by various
-+parties--for example, statements of peer review or that the text has
-+been approved by an organization as the authoritative definition of a
-+standard.
-+
-+You may add a passage of up to five words as a Front-Cover Text, and a
-+passage of up to 25 words as a Back-Cover Text, to the end of the list
-+of Cover Texts in the Modified Version. Only one passage of
-+Front-Cover Text and one of Back-Cover Text may be added by (or
-+through arrangements made by) any one entity. If the Document already
-+includes a cover text for the same cover, previously added by you or
-+by arrangement made by the same entity you are acting on behalf of,
-+you may not add another; but you may replace the old one, on explicit
-+permission from the previous publisher that added the old one.
-+
-+The author(s) and publisher(s) of the Document do not by this License
-+give permission to use their names for publicity for or to assert or
-+imply endorsement of any Modified Version.
-+
-+
-+5. COMBINING DOCUMENTS
-+
-+You may combine the Document with other documents released under this
-+License, under the terms defined in section 4 above for modified
-+versions, provided that you include in the combination all of the
-+Invariant Sections of all of the original documents, unmodified, and
-+list them all as Invariant Sections of your combined work in its
-+license notice, and that you preserve all their Warranty Disclaimers.
-+
-+The combined work need only contain one copy of this License, and
-+multiple identical Invariant Sections may be replaced with a single
-+copy. If there are multiple Invariant Sections with the same name but
-+different contents, make the title of each such section unique by
-+adding at the end of it, in parentheses, the name of the original
-+author or publisher of that section if known, or else a unique number.
-+Make the same adjustment to the section titles in the list of
-+Invariant Sections in the license notice of the combined work.
-+
-+In the combination, you must combine any sections Entitled \"History\"
-+in the various original documents, forming one section Entitled
-+\"History\"; likewise combine any sections Entitled \"Acknowledgements\",
-+and any sections Entitled \"Dedications\". You must delete all sections
-+Entitled \"Endorsements\".
-+
-+
-+6. COLLECTIONS OF DOCUMENTS
-+
-+You may make a collection consisting of the Document and other
-+documents released under this License, and replace the individual
-+copies of this License in the various documents with a single copy
-+that is included in the collection, provided that you follow the rules
-+of this License for verbatim copying of each of the documents in all
-+other respects.
-+
-+You may extract a single document from such a collection, and
-+distribute it individually under this License, provided you insert a
-+copy of this License into the extracted document, and follow this
-+License in all other respects regarding verbatim copying of that
-+document.
-+
-+
-+7. AGGREGATION WITH INDEPENDENT WORKS
-+
-+A compilation of the Document or its derivatives with other separate
-+and independent documents or works, in or on a volume of a storage or
-+distribution medium, is called an \"aggregate\" if the copyright
-+resulting from the compilation is not used to limit the legal rights
-+of the compilation's users beyond what the individual works permit.
-+When the Document is included in an aggregate, this License does not
-+apply to the other works in the aggregate which are not themselves
-+derivative works of the Document.
-+
-+If the Cover Text requirement of section 3 is applicable to these
-+copies of the Document, then if the Document is less than one half of
-+the entire aggregate, the Document's Cover Texts may be placed on
-+covers that bracket the Document within the aggregate, or the
-+electronic equivalent of covers if the Document is in electronic form.
-+Otherwise they must appear on printed covers that bracket the whole
-+aggregate.
-+
-+
-+8. TRANSLATION
-+
-+Translation is considered a kind of modification, so you may
-+distribute translations of the Document under the terms of section 4.
-+Replacing Invariant Sections with translations requires special
-+permission from their copyright holders, but you may include
-+translations of some or all Invariant Sections in addition to the
-+original versions of these Invariant Sections. You may include a
-+translation of this License, and all the license notices in the
-+Document, and any Warranty Disclaimers, provided that you also include
-+the original English version of this License and the original versions
-+of those notices and disclaimers. In case of a disagreement between
-+the translation and the original version of this License or a notice
-+or disclaimer, the original version will prevail.
-+
-+If a section in the Document is Entitled \"Acknowledgements\",
-+\"Dedications\", or \"History\", the requirement (section 4) to Preserve
-+its Title (section 1) will typically require changing the actual
-+title.
-+
-+
-+9. TERMINATION
-+
-+You may not copy, modify, sublicense, or distribute the Document
-+except as expressly provided under this License. Any attempt
-+otherwise to copy, modify, sublicense, or distribute it is void, and
-+will automatically terminate your rights under this License.
-+
-+However, if you cease all violation of this License, then your license
-+from a particular copyright holder is reinstated (a) provisionally,
-+unless and until the copyright holder explicitly and finally
-+terminates your license, and (b) permanently, if the copyright holder
-+fails to notify you of the violation by some reasonable means prior to
-+60 days after the cessation.
-+
-+Moreover, your license from a particular copyright holder is
-+reinstated permanently if the copyright holder notifies you of the
-+violation by some reasonable means, this is the first time you have
-+received notice of violation of this License (for any work) from that
-+copyright holder, and you cure the violation prior to 30 days after
-+your receipt of the notice.
-+
-+Termination of your rights under this section does not terminate the
-+licenses of parties who have received copies or rights from you under
-+this License. If your rights have been terminated and not permanently
-+reinstated, receipt of a copy of some or all of the same material does
-+not give you any rights to use it.
-+
-+
-+10. FUTURE REVISIONS OF THIS LICENSE
-+
-+The Free Software Foundation may publish new, revised versions of the
-+GNU Free Documentation License from time to time. Such new versions
-+will be similar in spirit to the present version, but may differ in
-+detail to address new problems or concerns. See
-+http://www.gnu.org/copyleft/.
-+
-+Each version of the License is given a distinguishing version number.
-+If the Document specifies that a particular numbered version of this
-+License \"or any later version\" applies to it, you have the option of
-+following the terms and conditions either of that specified version or
-+of any later version that has been published (not as a draft) by the
-+Free Software Foundation. If the Document does not specify a version
-+number of this License, you may choose any version ever published (not
-+as a draft) by the Free Software Foundation. If the Document
-+specifies that a proxy can decide which future versions of this
-+License can be used, that proxy's public statement of acceptance of a
-+version permanently authorizes you to choose that version for the
-+Document.
-+
-+11. RELICENSING
-+
-+\"Massive Multiauthor Collaboration Site\" (or \"MMC Site\") means any
-+World Wide Web server that publishes copyrightable works and also
-+provides prominent facilities for anybody to edit those works. A
-+public wiki that anybody can edit is an example of such a server. A
-+\"Massive Multiauthor Collaboration\" (or \"MMC\") contained in the site
-+means any set of copyrightable works thus published on the MMC site.
-+
-+\"CC-BY-SA\" means the Creative Commons Attribution-Share Alike 3.0
-+license published by Creative Commons Corporation, a not-for-profit
-+corporation with a principal place of business in San Francisco,
-+California, as well as future copyleft versions of that license
-+published by that same organization.
-+
-+\"Incorporate\" means to publish or republish a Document, in whole or in
-+part, as part of another Document.
-+
-+An MMC is \"eligible for relicensing\" if it is licensed under this
-+License, and if all works that were first published under this License
-+somewhere other than this MMC, and subsequently incorporated in whole or
-+in part into the MMC, (1) had no cover texts or invariant sections, and
-+(2) were thus incorporated prior to November 1, 2008.
-+
-+The operator of an MMC Site may republish an MMC contained in the site
-+under CC-BY-SA on the same site at any time before August 1, 2009,
-+provided the MMC is eligible for relicensing.
-+
-+
-+ADDENDUM: How to use this License for your documents
-+
-+To use this License in a document you have written, include a copy of
-+the License in the document and put the following copyright and
-+license notices just after the title page:
-+
-+ Copyright (c) YEAR YOUR NAME.
-+ Permission is granted to copy, distribute and/or modify this document
-+ under the terms of the GNU Free Documentation License, Version 1.3
-+ or any later version published by the Free Software Foundation;
-+ with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
-+ A copy of the license is included in the section entitled \"GNU
-+ Free Documentation License\".
-+
-+If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,
-+replace the \"with...Texts.\" line with this:
-+
-+ with the Invariant Sections being LIST THEIR TITLES, with the
-+ Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.
-+
-+If you have Invariant Sections without Cover Texts, or some other
-+combination of the three, merge those two alternatives to suit the
-+situation.
-+
-+If your document contains nontrivial examples of program code, we
-+recommend releasing these examples in parallel under your choice of
-+free software license, such as the GNU General Public License,
-+to permit their use in free software.
-+" >"$QTROOT/boot/common/data/licenses/FDL v1.3"
-+mimeset -f "$QTROOT/boot/common/data/licenses/FDL v1.3"
-+
-+######################################################################
-+# create GNU Free Documentation License file
-+######################################################################
-+mkdir -p "$QTROOT/boot/common/data/licenses"
-+echo "
-+ GNU LESSER GENERAL PUBLIC LICENSE
-+ Version 2.1, February 1999
-+
-+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.
-+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-+ Everyone is permitted to copy and distribute verbatim copies
-+ of this license document, but changing it is not allowed.
-+
-+[This is the first released version of the Lesser GPL. It also counts
-+ as the successor of the GNU Library Public License, version 2, hence
-+ the version number 2.1.]
-+
-+ Preamble
-+
-+ The licenses for most software are designed to take away your
-+freedom to share and change it. By contrast, the GNU General Public
-+Licenses are intended to guarantee your freedom to share and change
-+free software--to make sure the software is free for all its users.
-+
-+ This license, the Lesser General Public License, applies to some
-+specially designated software packages--typically libraries--of the
-+Free Software Foundation and other authors who decide to use it. You
-+can use it too, but we suggest you first think carefully about whether
-+this license or the ordinary General Public License is the better
-+strategy to use in any particular case, based on the explanations below.
-+
-+ When we speak of free software, we are referring to freedom of use,
-+not price. Our General Public Licenses are designed to make sure that
-+you have the freedom to distribute copies of free software (and charge
-+for this service if you wish); that you receive source code or can get
-+it if you want it; that you can change the software and use pieces of
-+it in new free programs; and that you are informed that you can do
-+these things.
-+
-+ To protect your rights, we need to make restrictions that forbid
-+distributors to deny you these rights or to ask you to surrender these
-+rights. These restrictions translate to certain responsibilities for
-+you if you distribute copies of the library or if you modify it.
-+
-+ For example, if you distribute copies of the library, whether gratis
-+or for a fee, you must give the recipients all the rights that we gave
-+you. You must make sure that they, too, receive or can get the source
-+code. If you link other code with the library, you must provide
-+complete object files to the recipients, so that they can relink them
-+with the library after making changes to the library and recompiling
-+it. And you must show them these terms so they know their rights.
-+
-+ We protect your rights with a two-step method: (1) we copyright the
-+library, and (2) we offer you this license, which gives you legal
-+permission to copy, distribute and/or modify the library.
-+
-+ To protect each distributor, we want to make it very clear that
-+there is no warranty for the free library. Also, if the library is
-+modified by someone else and passed on, the recipients should know
-+that what they have is not the original version, so that the original
-+author's reputation will not be affected by problems that might be
-+introduced by others.
-+
-+ Finally, software patents pose a constant threat to the existence of
-+any free program. We wish to make sure that a company cannot
-+effectively restrict the users of a free program by obtaining a
-+restrictive license from a patent holder. Therefore, we insist that
-+any patent license obtained for a version of the library must be
-+consistent with the full freedom of use specified in this license.
-+
-+ Most GNU software, including some libraries, is covered by the
-+ordinary GNU General Public License. This license, the GNU Lesser
-+General Public License, applies to certain designated libraries, and
-+is quite different from the ordinary General Public License. We use
-+this license for certain libraries in order to permit linking those
-+libraries into non-free programs.
-+
-+ When a program is linked with a library, whether statically or using
-+a shared library, the combination of the two is legally speaking a
-+combined work, a derivative of the original library. The ordinary
-+General Public License therefore permits such linking only if the
-+entire combination fits its criteria of freedom. The Lesser General
-+Public License permits more lax criteria for linking other code with
-+the library.
-+
-+ We call this license the \"Lesser\" General Public License because it
-+does Less to protect the user's freedom than the ordinary General
-+Public License. It also provides other free software developers Less
-+of an advantage over competing non-free programs. These disadvantages
-+are the reason we use the ordinary General Public License for many
-+libraries. However, the Lesser license provides advantages in certain
-+special circumstances.
-+
-+ For example, on rare occasions, there may be a special need to
-+encourage the widest possible use of a certain library, so that it becomes
-+a de-facto standard. To achieve this, non-free programs must be
-+allowed to use the library. A more frequent case is that a free
-+library does the same job as widely used non-free libraries. In this
-+case, there is little to gain by limiting the free library to free
-+software only, so we use the Lesser General Public License.
-+
-+ In other cases, permission to use a particular library in non-free
-+programs enables a greater number of people to use a large body of
-+free software. For example, permission to use the GNU C Library in
-+non-free programs enables many more people to use the whole GNU
-+operating system, as well as its variant, the GNU/Linux operating
-+system.
-+
-+ Although the Lesser General Public License is Less protective of the
-+users' freedom, it does ensure that the user of a program that is
-+linked with the Library has the freedom and the wherewithal to run
-+that program using a modified version of the Library.
-+
-+ The precise terms and conditions for copying, distribution and
-+modification follow. Pay close attention to the difference between a
-+\"work based on the library\" and a \"work that uses the library\". The
-+former contains code derived from the library, whereas the latter must
-+be combined with the library in order to run.
-+
-+ GNU LESSER GENERAL PUBLIC LICENSE
-+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-+
-+ 0. This License Agreement applies to any software library or other
-+program which contains a notice placed by the copyright holder or
-+other authorized party saying it may be distributed under the terms of
-+this Lesser General Public License (also called \"this License\").
-+Each licensee is addressed as \"you\".
-+
-+ A \"library\" means a collection of software functions and/or data
-+prepared so as to be conveniently linked with application programs
-+(which use some of those functions and data) to form executables.
-+
-+ The \"Library\", below, refers to any such software library or work
-+which has been distributed under these terms. A \"work based on the
-+Library\" means either the Library or any derivative work under
-+copyright law: that is to say, a work containing the Library or a
-+portion of it, either verbatim or with modifications and/or translated
-+straightforwardly into another language. (Hereinafter, translation is
-+included without limitation in the term \"modification\".)
-+
-+ \"Source code\" for a work means the preferred form of the work for
-+making modifications to it. For a library, complete source code means
-+all the source code for all modules it contains, plus any associated
-+interface definition files, plus the scripts used to control compilation
-+and installation of the library.
-+
-+ Activities other than copying, distribution and modification are not
-+covered by this License; they are outside its scope. The act of
-+running a program using the Library is not restricted, and output from
-+such a program is covered only if its contents constitute a work based
-+on the Library (independent of the use of the Library in a tool for
-+writing it). Whether that is true depends on what the Library does
-+and what the program that uses the Library does.
-+
-+ 1. You may copy and distribute verbatim copies of the Library's
-+complete source code as you receive it, in any medium, provided that
-+you conspicuously and appropriately publish on each copy an
-+appropriate copyright notice and disclaimer of warranty; keep intact
-+all the notices that refer to this License and to the absence of any
-+warranty; and distribute a copy of this License along with the
-+Library.
-+
-+ You may charge a fee for the physical act of transferring a copy,
-+and you may at your option offer warranty protection in exchange for a
-+fee.
-+
-+ 2. You may modify your copy or copies of the Library or any portion
-+of it, thus forming a work based on the Library, and copy and
-+distribute such modifications or work under the terms of Section 1
-+above, provided that you also meet all of these conditions:
-+
-+ a) The modified work must itself be a software library.
-+
-+ b) You must cause the files modified to carry prominent notices
-+ stating that you changed the files and the date of any change.
-+
-+ c) You must cause the whole of the work to be licensed at no
-+ charge to all third parties under the terms of this License.
-+
-+ d) If a facility in the modified Library refers to a function or a
-+ table of data to be supplied by an application program that uses
-+ the facility, other than as an argument passed when the facility
-+ is invoked, then you must make a good faith effort to ensure that,
-+ in the event an application does not supply such function or
-+ table, the facility still operates, and performs whatever part of
-+ its purpose remains meaningful.
-+
-+ (For example, a function in a library to compute square roots has
-+ a purpose that is entirely well-defined independent of the
-+ application. Therefore, Subsection 2d requires that any
-+ application-supplied function or table used by this function must
-+ be optional: if the application does not supply it, the square
-+ root function must still compute square roots.)
-+
-+These requirements apply to the modified work as a whole. If
-+identifiable sections of that work are not derived from the Library,
-+and can be reasonably considered independent and separate works in
-+themselves, then this License, and its terms, do not apply to those
-+sections when you distribute them as separate works. But when you
-+distribute the same sections as part of a whole which is a work based
-+on the Library, the distribution of the whole must be on the terms of
-+this License, whose permissions for other licensees extend to the
-+entire whole, and thus to each and every part regardless of who wrote
-+it.
-+
-+Thus, it is not the intent of this section to claim rights or contest
-+your rights to work written entirely by you; rather, the intent is to
-+exercise the right to control the distribution of derivative or
-+collective works based on the Library.
-+
-+In addition, mere aggregation of another work not based on the Library
-+with the Library (or with a work based on the Library) on a volume of
-+a storage or distribution medium does not bring the other work under
-+the scope of this License.
-+
-+ 3. You may opt to apply the terms of the ordinary GNU General Public
-+License instead of this License to a given copy of the Library. To do
-+this, you must alter all the notices that refer to this License, so
-+that they refer to the ordinary GNU General Public License, version 2,
-+instead of to this License. (If a newer version than version 2 of the
-+ordinary GNU General Public License has appeared, then you can specify
-+that version instead if you wish.) Do not make any other change in
-+these notices.
-+
-+ Once this change is made in a given copy, it is irreversible for
-+that copy, so the ordinary GNU General Public License applies to all
-+subsequent copies and derivative works made from that copy.
-+
-+ This option is useful when you wish to copy part of the code of
-+the Library into a program that is not a library.
-+
-+ 4. You may copy and distribute the Library (or a portion or
-+derivative of it, under Section 2) in object code or executable form
-+under the terms of Sections 1 and 2 above provided that you accompany
-+it with the complete corresponding machine-readable source code, which
-+must be distributed under the terms of Sections 1 and 2 above on a
-+medium customarily used for software interchange.
-+
-+ If distribution of object code is made by offering access to copy
-+from a designated place, then offering equivalent access to copy the
-+source code from the same place satisfies the requirement to
-+distribute the source code, even though third parties are not
-+compelled to copy the source along with the object code.
-+
-+ 5. A program that contains no derivative of any portion of the
-+Library, but is designed to work with the Library by being compiled or
-+linked with it, is called a \"work that uses the Library\". Such a
-+work, in isolation, is not a derivative work of the Library, and
-+therefore falls outside the scope of this License.
-+
-+ However, linking a \"work that uses the Library\" with the Library
-+creates an executable that is a derivative of the Library (because it
-+contains portions of the Library), rather than a \"work that uses the
-+library\". The executable is therefore covered by this License.
-+Section 6 states terms for distribution of such executables.
-+
-+ When a \"work that uses the Library\" uses material from a header file
-+that is part of the Library, the object code for the work may be a
-+derivative work of the Library even though the source code is not.
-+Whether this is true is especially significant if the work can be
-+linked without the Library, or if the work is itself a library. The
-+threshold for this to be true is not precisely defined by law.
-+
-+ If such an object file uses only numerical parameters, data
-+structure layouts and accessors, and small macros and small inline
-+functions (ten lines or less in length), then the use of the object
-+file is unrestricted, regardless of whether it is legally a derivative
-+work. (Executables containing this object code plus portions of the
-+Library will still fall under Section 6.)
-+
-+ Otherwise, if the work is a derivative of the Library, you may
-+distribute the object code for the work under the terms of Section 6.
-+Any executables containing that work also fall under Section 6,
-+whether or not they are linked directly with the Library itself.
-+
-+ 6. As an exception to the Sections above, you may also combine or
-+link a \"work that uses the Library\" with the Library to produce a
-+work containing portions of the Library, and distribute that work
-+under terms of your choice, provided that the terms permit
-+modification of the work for the customer's own use and reverse
-+engineering for debugging such modifications.
-+
-+ You must give prominent notice with each copy of the work that the
-+Library is used in it and that the Library and its use are covered by
-+this License. You must supply a copy of this License. If the work
-+during execution displays copyright notices, you must include the
-+copyright notice for the Library among them, as well as a reference
-+directing the user to the copy of this License. Also, you must do one
-+of these things:
-+
-+ a) Accompany the work with the complete corresponding
-+ machine-readable source code for the Library including whatever
-+ changes were used in the work (which must be distributed under
-+ Sections 1 and 2 above); and, if the work is an executable linked
-+ with the Library, with the complete machine-readable \"work that
-+ uses the Library\", as object code and/or source code, so that the
-+ user can modify the Library and then relink to produce a modified
-+ executable containing the modified Library. (It is understood
-+ that the user who changes the contents of definitions files in the
-+ Library will not necessarily be able to recompile the application
-+ to use the modified definitions.)
-+
-+ b) Use a suitable shared library mechanism for linking with the
-+ Library. A suitable mechanism is one that (1) uses at run time a
-+ copy of the library already present on the user's computer system,
-+ rather than copying library functions into the executable, and (2)
-+ will operate properly with a modified version of the library, if
-+ the user installs one, as long as the modified version is
-+ interface-compatible with the version that the work was made with.
-+
-+ c) Accompany the work with a written offer, valid for at
-+ least three years, to give the same user the materials
-+ specified in Subsection 6a, above, for a charge no more
-+ than the cost of performing this distribution.
-+
-+ d) If distribution of the work is made by offering access to copy
-+ from a designated place, offer equivalent access to copy the above
-+ specified materials from the same place.
-+
-+ e) Verify that the user has already received a copy of these
-+ materials or that you have already sent this user a copy.
-+
-+ For an executable, the required form of the \"work that uses the
-+Library\" must include any data and utility programs needed for
-+reproducing the executable from it. However, as a special exception,
-+the materials to be distributed need not include anything that is
-+normally distributed (in either source or binary form) with the major
-+components (compiler, kernel, and so on) of the operating system on
-+which the executable runs, unless that component itself accompanies
-+the executable.
-+
-+ It may happen that this requirement contradicts the license
-+restrictions of other proprietary libraries that do not normally
-+accompany the operating system. Such a contradiction means you cannot
-+use both them and the Library together in an executable that you
-+distribute.
-+
-+ 7. You may place library facilities that are a work based on the
-+Library side-by-side in a single library together with other library
-+facilities not covered by this License, and distribute such a combined
-+library, provided that the separate distribution of the work based on
-+the Library and of the other library facilities is otherwise
-+permitted, and provided that you do these two things:
-+
-+ a) Accompany the combined library with a copy of the same work
-+ based on the Library, uncombined with any other library
-+ facilities. This must be distributed under the terms of the
-+ Sections above.
-+
-+ b) Give prominent notice with the combined library of the fact
-+ that part of it is a work based on the Library, and explaining
-+ where to find the accompanying uncombined form of the same work.
-+
-+ 8. You may not copy, modify, sublicense, link with, or distribute
-+the Library except as expressly provided under this License. Any
-+attempt otherwise to copy, modify, sublicense, link with, or
-+distribute the Library is void, and will automatically terminate your
-+rights under this License. However, parties who have received copies,
-+or rights, from you under this License will not have their licenses
-+terminated so long as such parties remain in full compliance.
-+
-+ 9. You are not required to accept this License, since you have not
-+signed it. However, nothing else grants you permission to modify or
-+distribute the Library or its derivative works. These actions are
-+prohibited by law if you do not accept this License. Therefore, by
-+modifying or distributing the Library (or any work based on the
-+Library), you indicate your acceptance of this License to do so, and
-+all its terms and conditions for copying, distributing or modifying
-+the Library or works based on it.
-+
-+ 10. Each time you redistribute the Library (or any work based on the
-+Library), the recipient automatically receives a license from the
-+original licensor to copy, distribute, link with or modify the Library
-+subject to these terms and conditions. You may not impose any further
-+restrictions on the recipients' exercise of the rights granted herein.
-+You are not responsible for enforcing compliance by third parties with
-+this License.
-+
-+ 11. If, as a consequence of a court judgment or allegation of patent
-+infringement or for any other reason (not limited to patent issues),
-+conditions are imposed on you (whether by court order, agreement or
-+otherwise) that contradict the conditions of this License, they do not
-+excuse you from the conditions of this License. If you cannot
-+distribute so as to satisfy simultaneously your obligations under this
-+License and any other pertinent obligations, then as a consequence you
-+may not distribute the Library at all. For example, if a patent
-+license would not permit royalty-free redistribution of the Library by
-+all those who receive copies directly or indirectly through you, then
-+the only way you could satisfy both it and this License would be to
-+refrain entirely from distribution of the Library.
-+
-+If any portion of this section is held invalid or unenforceable under any
-+particular circumstance, the balance of the section is intended to apply,
-+and the section as a whole is intended to apply in other circumstances.
-+
-+It is not the purpose of this section to induce you to infringe any
-+patents or other property right claims or to contest validity of any
-+such claims; this section has the sole purpose of protecting the
-+integrity of the free software distribution system which is
-+implemented by public license practices. Many people have made
-+generous contributions to the wide range of software distributed
-+through that system in reliance on consistent application of that
-+system; it is up to the author/donor to decide if he or she is willing
-+to distribute software through any other system and a licensee cannot
-+impose that choice.
-+
-+This section is intended to make thoroughly clear what is believed to
-+be a consequence of the rest of this License.
-+
-+ 12. If the distribution and/or use of the Library is restricted in
-+certain countries either by patents or by copyrighted interfaces, the
-+original copyright holder who places the Library under this License may add
-+an explicit geographical distribution limitation excluding those countries,
-+so that distribution is permitted only in or among countries not thus
-+excluded. In such case, this License incorporates the limitation as if
-+written in the body of this License.
-+
-+ 13. The Free Software Foundation may publish revised and/or new
-+versions of the Lesser General Public License from time to time.
-+Such new versions will be similar in spirit to the present version,
-+but may differ in detail to address new problems or concerns.
-+
-+Each version is given a distinguishing version number. If the Library
-+specifies a version number of this License which applies to it and
-+\"any later version\", you have the option of following the terms and
-+conditions either of that version or of any later version published by
-+the Free Software Foundation. If the Library does not specify a
-+license version number, you may choose any version ever published by
-+the Free Software Foundation.
-+
-+ 14. If you wish to incorporate parts of the Library into other free
-+programs whose distribution conditions are incompatible with these,
-+write to the author to ask for permission. For software which is
-+copyrighted by the Free Software Foundation, write to the Free
-+Software Foundation; we sometimes make exceptions for this. Our
-+decision will be guided by the two goals of preserving the free status
-+of all derivatives of our free software and of promoting the sharing
-+and reuse of software generally.
-+
-+ NO WARRANTY
-+
-+ 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
-+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
-+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
-+OTHER PARTIES PROVIDE THE LIBRARY \"AS IS\" WITHOUT WARRANTY OF ANY
-+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
-+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
-+LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
-+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-+
-+ 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
-+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
-+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
-+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
-+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
-+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
-+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
-+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
-+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
-+DAMAGES.
-+
-+ END OF TERMS AND CONDITIONS
-+
-+ How to Apply These Terms to Your New Libraries
-+
-+ If you develop a new library, and you want it to be of the greatest
-+possible use to the public, we recommend making it free software that
-+everyone can redistribute and change. You can do so by permitting
-+redistribution under these terms (or, alternatively, under the terms of the
-+ordinary General Public License).
-+
-+ To apply these terms, attach the following notices to the library. It is
-+safest to attach them to the start of each source file to most effectively
-+convey the exclusion of warranty; and each file should have at least the
-+\"copyright\" line and a pointer to where the full notice is found.
-+
-+
-+ Copyright (C)
-+
-+ This library is free software; you can redistribute it and/or
-+ modify it under the terms of the GNU Lesser General Public
-+ License as published by the Free Software Foundation; either
-+ version 2.1 of the License, or (at your option) any later version.
-+
-+ This library is distributed in the hope that it will be useful,
-+ but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+ Lesser General Public License for more details.
-+
-+ You should have received a copy of the GNU Lesser General Public
-+ License along with this library; if not, write to the Free Software
-+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-+
-+Also add information on how to contact you by electronic and paper mail.
-+
-+You should also get your employer (if you work as a programmer) or your
-+school, if any, to sign a \"copyright disclaimer\" for the library, if
-+necessary. Here is a sample; alter the names:
-+
-+ Yoyodyne, Inc., hereby disclaims all copyright interest in the
-+ library 'Frob' (a library for tweaking knobs) written by James Random Hacker.
-+
-+ , 1 April 1990
-+ Ty Coon, President of Vice
-+
-+That's all there is to it!
-+" >"$QTROOT/boot/common/data/licenses/LGPL v2.1"
-+mimeset -f "$QTROOT/boot/common/data/licenses/LGPL v2.1"
-+
-+######################################################################
-+echo "Make full pack"
-+######################################################################
-+cd $QTROOT/boot
-+zip -ry9 ../qt_4.7.3_haiku_r1a3_$(date +%d%b%Y)_dev.zip * >/dev/null
-+cd ..
-+
-+######################################################################
-+echo "Remove files for minimal pack"
-+######################################################################
-+echo " documantation"
-+rm -rf $QTROOT/boot/common/documentation/doc/Qt
-+echo " mkspecs"
-+rm -rf $QTROOT/boot/common/data/Qt/mkspecs
-+echo " include"
-+rm -rf $QTROOT/boot/common/include
-+echo " assistant"
-+rm -f $QTROOT/boot/common/bin/assistant
-+echo " designer"
-+rm -f $QTROOT/boot/common/bin/designer
-+echo " linguist"
-+rm -f $QTROOT/boot/common/bin/linguist
-+echo " qhelpconverter"
-+rm -f $QTROOT/boot/common/bin/qhelpconverter
-+echo " qhelpgenerator"
-+rm -f $QTROOT/boot/common/bin/qhelpgenerator
-+echo " qt3to4"
-+rm -f $QTROOT/boot/common/bin/qt3to4
-+echo " pixeltool"
-+rm -f $QTROOT/boot/common/bin/pixeltool
-+echo " moc"
-+rm -f $QTROOT/boot/common/bin/moc
-+echo " qmake"
-+rm -f $QTROOT/boot/common/bin/qmake
-+echo " rcc"
-+rm -f $QTROOT/boot/common/bin/rcc
-+echo " qdoc3"
-+rm -f $QTROOT/boot/common/bin/qdoc3
-+echo " rcc"
-+rm -f $QTROOT/boot/common/bin/rcc
-+echo " uic"
-+rm -f $QTROOT/boot/common/bin/uic
-+echo " uic3"
-+rm -f $QTROOT/boot/common/bin/uic3
-+echo " libQtUiTools.a"
-+rm -f $QTROOT/boot/common/lib/gcc4/libQtUiTools.a
-+echo " *.la"
-+rm -f $QTROOT/boot/common/lib/gcc4/*.la
-+echo " *.prl"
-+rm -f $QTROOT/boot/common/lib/gcc4/*.prl
-+
-+echo " symlinks from menu"
-+rm -f "$QTROOT/boot/home/config/be/Qt/Development/Qt Assistant"
-+rm -f "$QTROOT/boot/home/config/be/Qt/Development/Qt Help Conversion Wizard"
-+rm -f "$QTROOT/boot/home/config/be/Qt/Development/Qt Designer"
-+rm -f "$QTROOT/boot/home/config/be/Qt/Development/Qt Linguist"
-+
-+######################################################################
-+echo "Make min pack"
-+######################################################################
-+cd $QTROOT/boot
-+zip -ry9 ../qt_4.7.3_haiku_r1a3_$(date +%d%b%Y)_min.zip * >/dev/null
-+cd ..
-+
-+######################################################################
-+echo "Clean sandbox"
-+######################################################################
-+rm -rf $QTROOT/boot
-+
-+######################################################################
-+echo "Done"
-+######################################################################
-+
-diff -rupN qt-everywhere-opensource-src-4.7.3/mkspecs/haiku-g++/qmake.conf qt-everywhere-opensource-src-4.7.3_haiku/mkspecs/haiku-g++/qmake.conf
---- qt-everywhere-opensource-src-4.7.3/mkspecs/haiku-g++/qmake.conf 1970-01-01 00:00:00.000000000 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/mkspecs/haiku-g++/qmake.conf 2011-06-13 22:06:43.097255424 +0000
-@@ -0,0 +1,37 @@
-+#
-+# qmake configuration for Haiku-g++
-+#
-+
-+MAKEFILE_GENERATOR = UNIX
-+TARGET_PLATFORM = haiku
-+TEMPLATE = app
-+CONFIG += qt warn_on release link_prl
-+QT += core gui
-+
-+QMAKE_LIBS = -lroot
-+QMAKE_INCDIR =
-+QMAKE_LIBDIR =
-+QMAKE_INCDIR_QT = $$[QT_INSTALL_HEADERS]
-+QMAKE_LIBDIR_QT = $$[QT_INSTALL_LIBS]
-+QMAKE_LIBS_NETWORK = -lnetwork
-+
-+QMAKE_MOC = $$[QT_INSTALL_BINS]/moc
-+QMAKE_UIC = $$[QT_INSTALL_BINS]/uic
-+
-+QMAKE_AR = ar cqs
-+QMAKE_OBJCOPY = objcopy
-+QMAKE_RANLIB =
-+
-+QMAKE_TAR = tar -cf
-+QMAKE_GZIP = gzip -9f
-+
-+QMAKE_COPY = cp -f
-+QMAKE_MOVE = mv -f
-+QMAKE_DEL_FILE = rm -f
-+QMAKE_DEL_DIR = rmdir
-+QMAKE_CHK_DIR_EXISTS = test -d
-+QMAKE_MKDIR = mkdir -p
-+
-+include(../common/g++.conf)
-+include(../common/unix.conf)
-+load(qt_config)
-diff -rupN qt-everywhere-opensource-src-4.7.3/mkspecs/haiku-g++/qplatformdefs.h qt-everywhere-opensource-src-4.7.3_haiku/mkspecs/haiku-g++/qplatformdefs.h
---- qt-everywhere-opensource-src-4.7.3/mkspecs/haiku-g++/qplatformdefs.h 1970-01-01 00:00:00.000000000 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/mkspecs/haiku-g++/qplatformdefs.h 2011-06-13 22:06:43.106168320 +0000
-@@ -0,0 +1,43 @@
-+#ifndef QPLATFORMDEFS_H
-+#define QPLATFORMDEFS_H
-+
-+// Get Qt defines/settings
-+
-+#include "qglobal.h"
-+
-+// Set any POSIX/XOPEN defines at the top of this file to turn on specific APIs
-+
-+#include
-+
-+
-+// We are hot - unistd.h should have turned on the specific APIs we requested
-+
-+#include
-+#include
-+#include
-+#include
-+#include
-+#include
-+#include
-+
-+#include
-+#include
-+#include
-+#include
-+//#include
-+#include
-+#include
-+#include
-+#include
-+#ifndef QT_NO_IPV6IFNAME
-+#include
-+#endif
-+
-+#include "../common/posix/qplatformdefs.h"
-+
-+#define QT_SOCKLEN_T socklen_t
-+
-+#define QT_SNPRINTF ::snprintf
-+#define QT_VSNPRINTF ::vsnprintf
-+
-+#endif // QPLATFORMDEFS_H
-diff -rupN qt-everywhere-opensource-src-4.7.3/qmake/generators/makefile.cpp qt-everywhere-opensource-src-4.7.3_haiku/qmake/generators/makefile.cpp
---- qt-everywhere-opensource-src-4.7.3/qmake/generators/makefile.cpp 2011-03-30 05:15:42.028835840 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/qmake/generators/makefile.cpp 2011-06-13 22:06:43.110624768 +0000
-@@ -2202,6 +2202,8 @@ QString MakefileGenerator::buildArgs(con
- ret += " -unix";
- else if (Option::target_mode == Option::TARG_WIN_MODE)
- ret += " -win32";
-+ else if(Option::target_mode == Option::TARG_HAIKU_MODE)
-+ ret += " -haiku";
- }
-
- //configs
-diff -rupN qt-everywhere-opensource-src-4.7.3/qmake/generators/metamakefile.cpp qt-everywhere-opensource-src-4.7.3_haiku/qmake/generators/metamakefile.cpp
---- qt-everywhere-opensource-src-4.7.3/qmake/generators/metamakefile.cpp 2011-03-30 05:15:42.022806528 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/qmake/generators/metamakefile.cpp 2011-06-13 22:06:43.112721920 +0000
-@@ -525,6 +525,9 @@ MetaMakefileGenerator::modesForGenerator
- #ifdef Q_OS_MAC
- *host_mode = Option::HOST_MACX_MODE;
- *target_mode = Option::TARG_MACX_MODE;
-+#elif defined(Q_OS_HAIKU)
-+ *host_mode = Option::HOST_HAIKU_MODE;
-+ *target_mode = Option::TARG_HAIKU_MODE;
- #else
- *host_mode = Option::HOST_UNIX_MODE;
- *target_mode = Option::TARG_UNIX_MODE;
-diff -rupN qt-everywhere-opensource-src-4.7.3/qmake/generators/unix/unixmake.cpp qt-everywhere-opensource-src-4.7.3_haiku/qmake/generators/unix/unixmake.cpp
---- qt-everywhere-opensource-src-4.7.3/qmake/generators/unix/unixmake.cpp 2011-03-30 05:15:42.025427968 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/qmake/generators/unix/unixmake.cpp 2011-06-13 22:06:43.115343360 +0000
-@@ -811,6 +811,7 @@ UnixMakefileGenerator::defaultInstall(co
- if(!links.isEmpty()) {
- for(int i = 0; i < links.size(); ++i) {
- if(Option::target_mode == Option::TARG_UNIX_MODE ||
-+ Option::target_mode == Option::TARG_HAIKU_MODE ||
- Option::target_mode == Option::TARG_MACX_MODE) {
- QString link = Option::fixPathToTargetOS(destdir + links[i], false);
- int lslash = link.lastIndexOf(Option::dir_sep);
-diff -rupN qt-everywhere-opensource-src-4.7.3/qmake/option.cpp qt-everywhere-opensource-src-4.7.3_haiku/qmake/option.cpp
---- qt-everywhere-opensource-src-4.7.3/qmake/option.cpp 2011-03-30 05:15:42.029360128 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/qmake/option.cpp 2011-06-13 22:06:43.117702656 +0000
-@@ -260,6 +260,11 @@ Option::parseCommandLine(int argc, char
- Option::host_mode = HOST_WIN_MODE;
- Option::target_mode = TARG_WIN_MODE;
- Option::target_mode_overridden = true;
-+ } else if(opt == "haiku") {
-+ fprintf(stderr, "-haiku is deprecated.\n");
-+ Option::host_mode = HOST_HAIKU_MODE;
-+ Option::target_mode = TARG_HAIKU_MODE;
-+ Option::target_mode_overridden = true;
- } else if(opt == "d") {
- Option::debug_level++;
- } else if(opt == "version" || opt == "v" || opt == "-version") {
-@@ -535,6 +540,9 @@ Option::init(int argc, char **argv)
- #if defined(Q_OS_MAC)
- Option::host_mode = Option::HOST_MACX_MODE;
- Option::target_mode = Option::TARG_MACX_MODE;
-+#elif defined(Q_OS_HAIKU)
-+ Option::host_mode = Option::HOST_HAIKU_MODE;
-+ Option::target_mode = Option::TARG_HAIKU_MODE;
- #elif defined(Q_OS_UNIX)
- Option::host_mode = Option::HOST_UNIX_MODE;
- Option::target_mode = Option::TARG_UNIX_MODE;
-diff -rupN qt-everywhere-opensource-src-4.7.3/qmake/option.h qt-everywhere-opensource-src-4.7.3_haiku/qmake/option.h
---- qt-everywhere-opensource-src-4.7.3/qmake/option.h 2011-03-30 05:15:42.030146560 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/qmake/option.h 2011-06-13 22:06:43.119799808 +0000
-@@ -153,10 +153,10 @@ struct Option
- enum QMAKE_RECURSIVE { QMAKE_RECURSIVE_DEFAULT, QMAKE_RECURSIVE_YES, QMAKE_RECURSIVE_NO };
- static QMAKE_RECURSIVE recursive;
- static QStringList before_user_vars, after_user_vars, user_configs, after_user_configs;
-- enum HOST_MODE { HOST_UNKNOWN_MODE, HOST_UNIX_MODE, HOST_WIN_MODE, HOST_MACX_MODE };
-+ enum HOST_MODE { HOST_UNKNOWN_MODE, HOST_UNIX_MODE, HOST_WIN_MODE, HOST_MACX_MODE, HOST_HAIKU_MODE };
- static HOST_MODE host_mode;
- enum TARG_MODE { TARG_UNKNOWN_MODE, TARG_UNIX_MODE, TARG_WIN_MODE, TARG_MACX_MODE,
-- TARG_SYMBIAN_MODE };
-+ TARG_SYMBIAN_MODE, TARG_HAIKU_MODE };
- static TARG_MODE target_mode;
- static bool target_mode_overridden;
- static QString user_template, user_template_prefix;
-diff -rupN qt-everywhere-opensource-src-4.7.3/qmake/project.cpp qt-everywhere-opensource-src-4.7.3_haiku/qmake/project.cpp
---- qt-everywhere-opensource-src-4.7.3/qmake/project.cpp 2011-03-30 05:15:42.030408704 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/qmake/project.cpp 2011-06-13 22:06:43.123994112 +0000
-@@ -541,6 +541,10 @@ QStringList qmake_feature_paths(QMakePro
- case Option::TARG_UNIX_MODE:
- concat << base_concat + QDir::separator() + "unix";
- break;
-+ case Option::TARG_HAIKU_MODE:
-+ concat << base_concat + QDir::separator() + "haiku";
-+ concat << base_concat + QDir::separator() + "unix";
-+ break;
- case Option::TARG_WIN_MODE:
- concat << base_concat + QDir::separator() + "win32";
- break;
-@@ -1505,6 +1509,8 @@ void QMakeProject::validateModes()
- const QString &os = tgt.first();
- if (os == "unix")
- Option::target_mode = Option::TARG_UNIX_MODE;
-+ else if (os == "haiku")
-+ Option::target_mode = Option::TARG_HAIKU_MODE;
- else if (os == "macx")
- Option::target_mode = Option::TARG_MACX_MODE;
- else if (os == "symbian")
-@@ -1538,6 +1544,7 @@ QMakeProject::isActiveConfig(const QStri
- validateModes();
- return Option::target_mode == Option::TARG_UNIX_MODE
- || Option::target_mode == Option::TARG_MACX_MODE
-+ || Option::target_mode == Option::TARG_HAIKU_MODE
- || Option::target_mode == Option::TARG_SYMBIAN_MODE;
- } else if (x == "macx" || x == "mac") {
- validateModes();
-@@ -1548,6 +1555,9 @@ QMakeProject::isActiveConfig(const QStri
- } else if (x == "win32") {
- validateModes();
- return Option::target_mode == Option::TARG_WIN_MODE;
-+ } else if (x == "haiku") {
-+ validateModes();
-+ return Option::target_mode == Option::TARG_HAIKU_MODE;
- }
-
- //mkspecs
-diff -rupN qt-everywhere-opensource-src-4.7.3/src/3rdparty/clucene/src/CLucene/config/compiler.h qt-everywhere-opensource-src-4.7.3_haiku/src/3rdparty/clucene/src/CLucene/config/compiler.h
---- qt-everywhere-opensource-src-4.7.3/src/3rdparty/clucene/src/CLucene/config/compiler.h 2011-03-30 05:18:56.033030144 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/src/3rdparty/clucene/src/CLucene/config/compiler.h 2011-06-13 22:06:43.126091264 +0000
-@@ -65,7 +65,7 @@
- ////////////////////////////////////////////////////////////////////
-
- /* Operating system recognition (basic) */
--#if defined (__unix) || defined (__linux__) || defined (__QNX__) || defined (_AIX) || defined (__NetBSD__) || defined (__OpenBSD__) || defined (__Lynx__) || defined(hpux) || defined(__hpux)
-+#if defined (__unix) || defined (__linux__) || defined (__QNX__) || defined (_AIX) || defined (__NetBSD__) || defined (__OpenBSD__) || defined (__Lynx__) || defined(hpux) || defined(__hpux) || defined (__HAIKU__)
- #undef _UNIX
- #define _UNIX 1
- #include "CLucene/config/PlatformUnix.h"
-diff -rupN qt-everywhere-opensource-src-4.7.3/src/3rdparty/haiku-tools/qsystray/Makefile qt-everywhere-opensource-src-4.7.3_haiku/src/3rdparty/haiku-tools/qsystray/Makefile
---- qt-everywhere-opensource-src-4.7.3/src/3rdparty/haiku-tools/qsystray/Makefile 1970-01-01 00:00:00.000000000 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/src/3rdparty/haiku-tools/qsystray/Makefile 2011-06-13 22:06:43.127926272 +0000
-@@ -0,0 +1,25 @@
-+all: clean qsystray qsystray_gcc2
-+
-+qsystray:
-+ setgcc gcc4
-+ sleep 1
-+ make -f Makefile.gcc4
-+
-+qsystray_gcc2:
-+ setgcc gcc2
-+ sleep 1
-+ make -f Makefile.gcc2
-+ setgcc gcc4
-+ sleep 1
-+
-+clean:
-+ make -f Makefile.gcc4 clean
-+ make -f Makefile.gcc2 clean
-+
-+install:
-+ make -f Makefile.gcc4 install
-+ make -f Makefile.gcc2 install
-+
-+ make -f Makefile.gcc4 clean
-+ make -f Makefile.gcc2 clean
-+
-diff -rupN qt-everywhere-opensource-src-4.7.3/src/3rdparty/haiku-tools/qsystray/Makefile.gcc2 qt-everywhere-opensource-src-4.7.3_haiku/src/3rdparty/haiku-tools/qsystray/Makefile.gcc2
---- qt-everywhere-opensource-src-4.7.3/src/3rdparty/haiku-tools/qsystray/Makefile.gcc2 1970-01-01 00:00:00.000000000 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/src/3rdparty/haiku-tools/qsystray/Makefile.gcc2 2011-06-13 22:06:43.142082048 +0000
-@@ -0,0 +1,24 @@
-+CC=g++
-+SIGNATURE="application/x-vnd.QtSystrayManager_gcc2"
-+
-+all: qsystray
-+
-+qsystray: qsystray_gcc2.o
-+ $(CC) -g qsystray_gcc2.o -ltracker -lroot -lbe -oqsystray_gcc2
-+ rc qsystray_gcc2.rdef
-+ xres -o ./qsystray_gcc2 qsystray_gcc2.rsrc
-+ mimeset -f ./qsystray_gcc2
-+
-+qsystray_gcc2.o:
-+ $(CC) -g -oqsystray_gcc2.o -DGCC2BUILD=1 -DAPP_SIGNATURE="\"$(SIGNATURE)\"" -c qsystray.cpp
-+
-+clean:
-+ rm -f ./qsystray_gcc2.o
-+ rm -f ./qsystray_gcc2.rsrc
-+ rm -f ./qsystray_gcc2
-+
-+install:
-+ cp -f ./qsystray_gcc2 /boot/common/bin/qsystray_gcc2
-+ rm -f ./qsystray_gcc2.o
-+ rm -f ./qsystray_gcc2.rsrc
-+ rm -f ./qsystray_gcc2
-diff -rupN qt-everywhere-opensource-src-4.7.3/src/3rdparty/haiku-tools/qsystray/Makefile.gcc4 qt-everywhere-opensource-src-4.7.3_haiku/src/3rdparty/haiku-tools/qsystray/Makefile.gcc4
---- qt-everywhere-opensource-src-4.7.3/src/3rdparty/haiku-tools/qsystray/Makefile.gcc4 1970-01-01 00:00:00.000000000 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/src/3rdparty/haiku-tools/qsystray/Makefile.gcc4 2011-06-13 22:06:43.143392768 +0000
-@@ -0,0 +1,24 @@
-+CC=g++
-+SIGNATURE="application/x-vnd.QtSystrayManager_gcc4"
-+
-+all: qsystray
-+
-+qsystray: qsystray_gcc4.o
-+ $(CC) -g qsystray_gcc4.o -ltracker -lroot -lbe -oqsystray
-+ rc qsystray_gcc4.rdef
-+ xres -o ./qsystray qsystray_gcc4.rsrc
-+ mimeset -f ./qsystray
-+
-+qsystray_gcc4.o:
-+ $(CC) -g -oqsystray_gcc4.o -DGCC4BUILD=1 -DAPP_SIGNATURE="\"$(SIGNATURE)\"" -c qsystray.cpp
-+
-+clean:
-+ rm -f ./qsystray_gcc4.o
-+ rm -f ./qsystray_gcc4.rsrc
-+ rm -f ./qsystray
-+
-+install:
-+ cp -f ./qsystray /boot/common/bin/qsystray
-+ rm -f ./qsystray_gcc4.o
-+ rm -f ./qsystray_gcc4.rsrc
-+ rm -f ./qsystray
-diff -rupN qt-everywhere-opensource-src-4.7.3/src/3rdparty/haiku-tools/qsystray/qsystray.cpp qt-everywhere-opensource-src-4.7.3_haiku/src/3rdparty/haiku-tools/qsystray/qsystray.cpp
---- qt-everywhere-opensource-src-4.7.3/src/3rdparty/haiku-tools/qsystray/qsystray.cpp 1970-01-01 00:00:00.000000000 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/src/3rdparty/haiku-tools/qsystray/qsystray.cpp 2011-06-13 22:06:43.145489920 +0000
-@@ -0,0 +1,303 @@
-+#include
-+
-+#include
-+#include
-+#include
-+#include
-+#include
-+#include
-+#include
-+#include
-+#include
-+#include
-+
-+#include "qsystray.h"
-+
-+#ifndef APP_SIGNATURE
-+#define APP_SIGNATURE "application/x-vnd.QtSystrayManager"
-+#endif
-+
-+#define REPL_NAME "QtTrayItem"
-+#define DBAR_SIGNATURE "application/x-vnd.Be-TSKB"
-+
-+
-+DeskbarView::DeskbarView(team_id tid) : BView(BRect(0,0,15,15), REPL_NAME,B_FOLLOW_NONE,B_WILL_DRAW)
-+{
-+ id = -1;
-+ team = tid;
-+ ticks = 0;
-+ icon = NULL;
-+ traysysobject = NULL;
-+ lastButtons = 0;
-+}
-+
-+DeskbarView::DeskbarView(BMessage *message) : BView(message)
-+{
-+ const void* data;
-+ ssize_t numBytes;
-+ message->FindData("color",B_ANY_TYPE,&data,&numBytes);
-+ color = *((rgb_color*)data);
-+ message->FindData("team",B_ANY_TYPE,&data,&numBytes);
-+ team = *((team_id*)data);
-+ id = -1;
-+ ticks = 0;
-+ icon = NULL;
-+ traysysobject = NULL;
-+ lastButtons = 0;
-+}
-+
-+DeskbarView *DeskbarView::Instantiate(BMessage *data) {
-+ if (!validate_instantiation(data, REPL_NAME)) return NULL;
-+ return new DeskbarView(data);
-+}
-+
-+status_t DeskbarView::Archive(BMessage *data, bool deep) const {
-+ BView::Archive(data, deep);
-+ data->AddString("add_on", APP_SIGNATURE);
-+ data->AddString("class", REPL_NAME);
-+
-+ data->AddData("color",B_ANY_TYPE,&color,sizeof(rgb_color));
-+ data->AddData("team",B_ANY_TYPE,&team,sizeof(team_id));
-+ return B_OK;
-+}
-+
-+void DeskbarView::AttachedToWindow()
-+{
-+ ticks = 0;
-+ BMessage* tickMsg = new BMessage('LIVE');
-+ BMessageRunner *runner = new BMessageRunner( this, tickMsg, 1000000 );
-+ color = Parent()->ViewColor();
-+ BView::AttachedToWindow();
-+}
-+
-+void DeskbarView::Draw(BRect r)
-+{
-+ SetDrawingMode(B_OP_COPY);
-+ SetHighColor(Parent()->ViewColor());
-+ FillRect(Bounds());
-+ if(ticks>3 && !icon) {
-+ SetHighColor(32,32,32,100);
-+ SetDrawingMode(B_OP_ALPHA);
-+ DrawChar('?',BPoint(4,12));
-+ }
-+ if(icon) {
-+ float dx = (Bounds().Width() - icon->Bounds().Width())/2;
-+ float dy = (Bounds().Height() - icon->Bounds().Height())/2;
-+ SetDrawingMode(B_OP_ALPHA);
-+ DrawBitmap(icon,BPoint(dx,dy));
-+ }
-+}
-+
-+void DeskbarView::MouseMoved(BPoint point, uint32 transit,const BMessage *message)
-+{
-+}
-+
-+void DeskbarView::MouseUp(BPoint point)
-+{
-+ uint32 buttons = lastButtons;
-+
-+ BMessage *mes = new BMessage('TRAY');
-+ mes->AddInt32("event",TRAY_MOUSEUP);
-+ mes->AddPoint("point",ConvertToScreen(point));
-+ mes->AddInt32("buttons",buttons);
-+ mes->AddInt32("clicks",1);
-+ mes->AddData("qtrayobject",B_ANY_TYPE,&traysysobject,sizeof(void*));
-+ ReplyMessenger.SendMessage(mes);
-+
-+}
-+
-+void DeskbarView::MouseDown(BPoint point)
-+{
-+ uint32 buttons = Window()->CurrentMessage()->FindInt32("buttons");
-+ int32 clicks = Window()->CurrentMessage()->FindInt32("clicks");
-+ lastButtons = buttons;
-+
-+ BMessage *mes = new BMessage('TRAY');
-+ mes->AddInt32("event",TRAY_MOUSEDOWN);
-+ mes->AddPoint("point",ConvertToScreen(point));
-+ mes->AddInt32("buttons",buttons);
-+ mes->AddInt32("clicks",clicks);
-+ mes->AddData("qtrayobject",B_ANY_TYPE,&traysysobject,sizeof(void*));
-+ ReplyMessenger.SendMessage(mes);
-+
-+}
-+
-+void DeskbarView::MessageReceived(BMessage *message) {
-+// message->PrintToStream();
-+ switch (message->what)
-+ {
-+ case 'LIVE':
-+ {
-+ ticks++;
-+ Invalidate();
-+ team_info teamInfo;
-+ status_t error = get_team_info(team, &teamInfo);
-+ if (error != B_OK && id>0) {
-+ BDeskbar deskbar;
-+ deskbar.RemoveItem(id);
-+ } else {
-+ BMessage *mes=new BMessage(*message);
-+ mes->AddRect("rect",ConvertToScreen(Bounds()));
-+ ReplyMessenger.SendMessage(mes);
-+ }
-+ break;
-+ }
-+ case B_SET_PROPERTY:
-+ {
-+ switch( message->FindInt32("what2") ) {
-+ case 'TTIP':
-+ {
-+ const char *tip=NULL;
-+ status_t res = message->FindString("tooltip",&tip);
-+
-+ if(!tip || res!=B_OK)
-+ tip = applicationName.String();
-+ if(strlen(tip)==0)
-+ tip = applicationName.String();
-+ if(strlen(tip)!=0)
-+ SetToolTip(tip);
-+
-+ break;
-+ }
-+ case 'BITS':
-+ {
-+ BBitmap *oldicon=icon;
-+ icon=NULL;
-+ delete oldicon;
-+ BMessage bits;
-+ message->FindMessage("icon", &bits);
-+ icon = new BBitmap(&bits);
-+ bits.MakeEmpty();
-+ Invalidate();
-+ break;
-+ }
-+ case '_ID_':
-+ {
-+ message->FindInt32("ReplicantID",&id);
-+ break;
-+ }
-+ case 'MSGR':
-+ {
-+ ssize_t numBytes;
-+ const char *name=NULL;
-+ message->FindMessenger("messenger", &ReplyMessenger);
-+ message->FindData("qtrayobject",B_ANY_TYPE,&traysysobject,&numBytes);
-+ if(message->FindString("application_name",&name)==B_OK)
-+ applicationName.SetTo(name);
-+ break;
-+ }
-+ }
-+ }
-+ break;
-+ default:
-+ BView::MessageReceived(message);
-+ break;
-+ }
-+}
-+
-+DeskbarView::~DeskbarView()
-+{
-+
-+}
-+
-+BMessenger GetMessenger(void)
-+{
-+ BMessenger aResult;
-+ status_t aErr = B_OK;
-+ BMessenger aDeskbar(DBAR_SIGNATURE, -1, &aErr);
-+ if (aErr != B_OK)return aResult;
-+
-+ BMessage aMessage(B_GET_PROPERTY);
-+
-+ aMessage.AddSpecifier("Messenger");
-+ aMessage.AddSpecifier("Shelf");
-+ aMessage.AddSpecifier("View", "Status");
-+ aMessage.AddSpecifier("Window", "Deskbar");
-+
-+ BMessage aReply;
-+
-+ if (aDeskbar.SendMessage(&aMessage, &aReply, 1000000, 1000000) == B_OK)
-+ aReply.FindMessenger("result", &aResult);
-+ return aResult;
-+}
-+
-+
-+status_t SendMessageToReplicant(int32 index, BMessage *msg)
-+{
-+ BMessage aReply;
-+ status_t aErr = B_OK;
-+
-+ msg->AddInt32( "what2", msg->what );
-+ msg->what = B_SET_PROPERTY;
-+
-+ BMessage uid_specifier(B_ID_SPECIFIER);
-+
-+ msg->AddSpecifier("View");
-+ uid_specifier.AddInt32("id", index);
-+ uid_specifier.AddString("property", "Replicant");
-+ msg->AddSpecifier(&uid_specifier);
-+
-+ aErr = GetMessenger().SendMessage( msg, (BHandler*)NULL, 1000000 );
-+ return aErr;
-+}
-+
-+int32 LoadIcon(team_id tid)
-+{
-+ BDeskbar deskbar;
-+ int32 id=-1;
-+
-+ deskbar.AddItem(new DeskbarView(tid),&id);
-+
-+ if(id>0) {
-+ BMessage msg('_ID_');
-+ msg.AddInt32("ReplicantID",id);
-+ SendMessageToReplicant(id,&msg);
-+ }
-+
-+ return id;
-+}
-+
-+int32 LoadIcon(void)
-+{
-+ thread_info threadInfo;
-+ status_t error = get_thread_info(find_thread(NULL), &threadInfo);
-+ if (error != B_OK) {
-+ return 0;
-+ }
-+ team_id sTeam = threadInfo.team;
-+
-+ return LoadIcon(sTeam);
-+}
-+
-+void RemoveIcon(int32 id)
-+{
-+ BDeskbar deskbar;
-+ deskbar.RemoveItem(id);
-+}
-+
-+int main(int argc, char *argv[])
-+{
-+ BApplication(APP_SIGNATURE);
-+
-+ if(argc<2) {
-+#ifdef GCC4BUILD
-+ printf("QtSystrayManager for Haiku v0.1\n\tqsystray [team_id]\n\n");
-+#else
-+ printf("QtSystrayManager for Haiku v0.1 (gcc2 loader)\n\tqsystray_gcc2 [team_id]\n\n");
-+#endif
-+ exit(0);
-+ }
-+
-+ int32 team_id = atoi(argv[1]);
-+ int32 id = LoadIcon(team_id);
-+#ifdef GCC4BUILD
-+ if(id<=0) {
-+ char cmd[128];
-+ sprintf(cmd,"qsystray_gcc2 %d",team_id);
-+ return system(cmd);
-+ }
-+#endif
-+ printf("%d\n",id);
-+
-+ return id;
-+}
-diff -rupN qt-everywhere-opensource-src-4.7.3/src/3rdparty/haiku-tools/qsystray/qsystray.h qt-everywhere-opensource-src-4.7.3_haiku/src/3rdparty/haiku-tools/qsystray/qsystray.h
---- qt-everywhere-opensource-src-4.7.3/src/3rdparty/haiku-tools/qsystray/qsystray.h 1970-01-01 00:00:00.000000000 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/src/3rdparty/haiku-tools/qsystray/qsystray.h 2011-06-13 22:06:43.147324928 +0000
-@@ -0,0 +1,45 @@
-+#ifndef DESKBARVIEW_H
-+#define DESKBARVIEW_H
-+
-+#include
-+#include
-+#include
-+#include
-+#include
-+#include
-+#include
-+#include
-+
-+#define TRAY_MOUSEDOWN 1
-+#define TRAY_MOUSEUP 2
-+
-+class DeskbarView : public BView {
-+ public:
-+ DeskbarView(team_id tid);
-+ ~DeskbarView();
-+ void MouseDown(BPoint point);
-+ void MouseUp(BPoint point);
-+ void MouseMoved(BPoint point, uint32 transit,const BMessage *message);
-+ void Draw(BRect r);
-+ void MessageReceived(BMessage *message);
-+ void AttachedToWindow();
-+ DeskbarView(BMessage *message);
-+ static DeskbarView *Instantiate(BMessage *data);
-+ virtual status_t Archive(BMessage *data, bool deep = true) const;
-+
-+ private:
-+ BPopUpMenu *RightClickPopUp;
-+ BBitmap *fBitmap;
-+ int32 lastButtons;
-+ entry_ref appref;
-+ rgb_color color;
-+ team_id team;
-+ int32 id;
-+ unsigned int ticks;
-+ BBitmap *icon;
-+ BMessenger ReplyMessenger;
-+ const void *traysysobject;
-+ BString applicationName;
-+};
-+
-+#endif
-diff -rupN qt-everywhere-opensource-src-4.7.3/src/3rdparty/haiku-tools/qsystray/qsystray_gcc2.rdef qt-everywhere-opensource-src-4.7.3_haiku/src/3rdparty/haiku-tools/qsystray/qsystray_gcc2.rdef
---- qt-everywhere-opensource-src-4.7.3/src/3rdparty/haiku-tools/qsystray/qsystray_gcc2.rdef 1970-01-01 00:00:00.000000000 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/src/3rdparty/haiku-tools/qsystray/qsystray_gcc2.rdef 2011-06-13 22:06:43.148897792 +0000
-@@ -0,0 +1,13 @@
-+resource app_signature "application/x-vnd.QtSystrayManager_gcc2";
-+
-+resource app_flags B_MULTIPLE_LAUNCH | B_BACKGROUND_APP;
-+
-+resource app_version {
-+ major = 0,
-+ middle = 1,
-+ minor = 0,
-+ variety = 0,
-+ internal = 0,
-+ short_info = "QtSystrayManager",
-+ long_info = "QtSystrayManager (gcc2 loader)"
-+};
-diff -rupN qt-everywhere-opensource-src-4.7.3/src/3rdparty/haiku-tools/qsystray/qsystray_gcc4.rdef qt-everywhere-opensource-src-4.7.3_haiku/src/3rdparty/haiku-tools/qsystray/qsystray_gcc4.rdef
---- qt-everywhere-opensource-src-4.7.3/src/3rdparty/haiku-tools/qsystray/qsystray_gcc4.rdef 1970-01-01 00:00:00.000000000 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/src/3rdparty/haiku-tools/qsystray/qsystray_gcc4.rdef 2011-06-13 22:06:43.150208512 +0000
-@@ -0,0 +1,13 @@
-+resource app_signature "application/x-vnd.QtSystrayManager_gcc4";
-+
-+resource app_flags B_MULTIPLE_LAUNCH | B_BACKGROUND_APP;
-+
-+resource app_version {
-+ major = 0,
-+ middle = 1,
-+ minor = 0,
-+ variety = 0,
-+ internal = 0,
-+ short_info = "QtSystrayManager",
-+ long_info = "QtSystrayManager"
-+};
-diff -rupN qt-everywhere-opensource-src-4.7.3/src/3rdparty/webkit/JavaScriptCore/wtf/MathExtras.h qt-everywhere-opensource-src-4.7.3_haiku/src/3rdparty/webkit/JavaScriptCore/wtf/MathExtras.h
---- qt-everywhere-opensource-src-4.7.3/src/3rdparty/webkit/JavaScriptCore/wtf/MathExtras.h 2011-03-30 05:18:55.028573696 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/src/3rdparty/webkit/JavaScriptCore/wtf/MathExtras.h 2011-06-13 22:06:43.152043520 +0000
-@@ -190,7 +190,7 @@ inline float deg2turn(float d) { return
- inline float rad2grad(float r) { return r * 200.0f / piFloat; }
- inline float grad2rad(float g) { return g * piFloat / 200.0f; }
-
--#if !COMPILER(MSVC) && !COMPILER(RVCT) && !OS(ANDROID) && !COMPILER(WINSCW)
-+#if !COMPILER(MSVC) && !COMPILER(RVCT) && !OS(ANDROID) && !COMPILER(WINSCW) && !OS(HAIKU)
- using std::isfinite;
- using std::isinf;
- using std::isnan;
-diff -rupN qt-everywhere-opensource-src-4.7.3/src/3rdparty/webkit/WebCore/WebCore.pri qt-everywhere-opensource-src-4.7.3_haiku/src/3rdparty/webkit/WebCore/WebCore.pri
---- qt-everywhere-opensource-src-4.7.3/src/3rdparty/webkit/WebCore/WebCore.pri 2011-03-30 05:18:48.014155776 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/src/3rdparty/webkit/WebCore/WebCore.pri 2011-06-13 22:06:43.154927104 +0000
-@@ -86,7 +86,7 @@ greaterThan(QT_MINOR_VERSION, 5) {
-
- # Nescape plugins support (NPAPI)
- !contains(DEFINES, ENABLE_NETSCAPE_PLUGIN_API=.) {
-- unix|win32-*:!embedded:!wince*: {
-+ unix|win32-*:!embedded:!wince*:!haiku: {
- DEFINES += ENABLE_NETSCAPE_PLUGIN_API=1
- } else {
- DEFINES += ENABLE_NETSCAPE_PLUGIN_API=0
-diff -rupN qt-everywhere-opensource-src-4.7.3/src/3rdparty/webkit/WebCore/websockets/WebSocketHandshake.cpp qt-everywhere-opensource-src-4.7.3_haiku/src/3rdparty/webkit/WebCore/websockets/WebSocketHandshake.cpp
---- qt-everywhere-opensource-src-4.7.3/src/3rdparty/webkit/WebCore/websockets/WebSocketHandshake.cpp 2011-03-30 05:18:51.049545216 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/src/3rdparty/webkit/WebCore/websockets/WebSocketHandshake.cpp 2011-06-13 22:06:43.157548544 +0000
-@@ -54,6 +54,29 @@ const char webSocketServerHandshakeHeade
- const char webSocketUpgradeHeader[] = "Upgrade: WebSocket\r\n";
- const char webSocketConnectionHeader[] = "Connection: Upgrade\r\n";
-
-+#if !defined(strnstr) && defined(__HAIKU__)
-+static char *
-+strnstr(const char *s, const char *find, size_t slen)
-+{
-+ char c, sc;
-+ size_t len;
-+
-+ if ((c = *find++) != '\0') {
-+ len = strlen(find);
-+ do {
-+ do {
-+ if (slen-- < 1 || (sc = *s++) == '\0')
-+ return (NULL);
-+ } while (sc != c);
-+ if (len > slen)
-+ return (NULL);
-+ } while (strncmp(s, find, len) != 0);
-+ s--;
-+ }
-+ return ((char *)s);
-+}
-+#endif
-+
- static String extractResponseCode(const char* header, int len)
- {
- const char* space1 = 0;
-diff -rupN qt-everywhere-opensource-src-4.7.3/src/3rdparty/webkit/include/QtWebKit/libdummy.prl qt-everywhere-opensource-src-4.7.3_haiku/src/3rdparty/webkit/include/QtWebKit/libdummy.prl
---- qt-everywhere-opensource-src-4.7.3/src/3rdparty/webkit/include/QtWebKit/libdummy.prl 1970-01-01 00:00:00.000000000 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/src/3rdparty/webkit/include/QtWebKit/libdummy.prl 2011-06-13 22:06:43.159383552 +0000
-@@ -0,0 +1,5 @@
-+QMAKE_PRL_BUILD_DIR = /HaikuStorage/NewQt/qt-everywhere-opensource-src-4.7.3/./src/3rdparty/webkit/WebKit/qt/Api
-+QMAKE_PRO_INPUT = DerivedSources.pro
-+QMAKE_PRL_TARGET = libdummy.so.1.0.0
-+QMAKE_PRL_CONFIG = lex yacc warn_on uic resources qt warn_on release link_prl def_files_disabled exceptions no_mocdepend release stl qt_no_framework release shared dll stl mmx 3dnow sse sse2 sse3 ssse3 sse4_1 sse4_2 avx dylib create_prl link_prl depend_includepath fix_output_dirs QTDIR_build shared dll moc thread
-+QMAKE_PRL_VERSION = 1.0.0
-diff -rupN qt-everywhere-opensource-src-4.7.3/src/corelib/animation/qvariantanimation.cpp qt-everywhere-opensource-src-4.7.3_haiku/src/corelib/animation/qvariantanimation.cpp
---- qt-everywhere-opensource-src-4.7.3/src/corelib/animation/qvariantanimation.cpp 2011-03-30 05:19:08.061079552 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/src/corelib/animation/qvariantanimation.cpp 2011-06-13 22:06:43.186384384 +0000
-@@ -434,9 +434,15 @@ void QVariantAnimation::registerInterpol
- #ifndef QT_NO_THREAD
- QMutexLocker locker(QMutexPool::globalInstanceGet(interpolators));
- #endif
-+#if defined(Q_OS_HAIKU) //temporary dirty hack
-+if(interpolators) {
-+#endif
- if (int(interpolationType) >= interpolators->count())
- interpolators->resize(int(interpolationType) + 1);
- interpolators->replace(interpolationType, func);
-+#if defined(Q_OS_HAIKU)
-+}
-+#endif
- }
-
-
-diff -rupN qt-everywhere-opensource-src-4.7.3/src/corelib/concurrent/qtconcurrentiteratekernel.cpp qt-everywhere-opensource-src-4.7.3_haiku/src/corelib/concurrent/qtconcurrentiteratekernel.cpp
---- qt-everywhere-opensource-src-4.7.3/src/corelib/concurrent/qtconcurrentiteratekernel.cpp 2011-03-30 05:19:08.058458112 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/src/corelib/concurrent/qtconcurrentiteratekernel.cpp 2011-06-13 22:06:43.188219392 +0000
-@@ -54,6 +54,9 @@
- #elif defined(Q_OS_WIN)
- #include
- #endif
-+#if defined(Q_OS_HAIKU)
-+#include
-+#endif
-
- #include "private/qfunctions_p.h"
-
-@@ -67,7 +70,14 @@ enum {
- MedianSize = 7
- };
-
--#if defined(Q_OS_MAC)
-+#if defined(Q_OS_HAIKU)
-+
-+static qint64 getticks()
-+{
-+ return system_time();
-+}
-+
-+#elif defined(Q_OS_MAC)
-
- static qint64 getticks()
- {
-diff -rupN qt-everywhere-opensource-src-4.7.3/src/corelib/corelib.pro qt-everywhere-opensource-src-4.7.3_haiku/src/corelib/corelib.pro
---- qt-everywhere-opensource-src-4.7.3/src/corelib/corelib.pro 2011-03-30 05:19:08.013369344 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/src/corelib/corelib.pro 2011-06-13 22:06:43.190578688 +0000
-@@ -23,6 +23,7 @@ mac|darwin:LIBS_PRIVATE += -framework Ap
-
- mac:lib_bundle:DEFINES += QT_NO_DEBUG_PLUGIN_CHECK
- win32:DEFINES-=QT_NO_CAST_TO_ASCII
-+haiku:DEFINES += QT_NO_SHAREDMEMORY
-
- QMAKE_LIBS += $$QMAKE_LIBS_CORE
-
-@@ -40,3 +41,7 @@ symbian: {
- "$${LITERAL_HASH}endif"
- MMP_RULES += pagingBlock
- }
-+
-+haiku: {
-+ LIBS_PRIVATE += -lbe
-+}
-diff -rupN qt-everywhere-opensource-src-4.7.3/src/corelib/global/qconfig.cpp qt-everywhere-opensource-src-4.7.3_haiku/src/corelib/global/qconfig.cpp
---- qt-everywhere-opensource-src-4.7.3/src/corelib/global/qconfig.cpp 1970-01-01 00:00:00.000000000 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/src/corelib/global/qconfig.cpp 2011-06-13 22:06:43.192937984 +0000
-@@ -0,0 +1,34 @@
-+/* License Info */
-+static const char qt_configure_licensee_str [256 + 12] = "qt_lcnsuser=Open Source\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0";
-+static const char qt_configure_licensed_products_str [256 + 12] = "qt_lcnsprod=OpenSource\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0";
-+
-+/* Installation date */
-+static const char qt_configure_installation [12+11] = "qt_instdate=2011-06-13";
-+/* Installation Info */
-+static const char qt_configure_prefix_path_str [256 + 12] = "qt_prfxpath=/boot/common\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0";
-+static const char qt_configure_documentation_path_str[256 + 12] = "qt_docspath=/boot/common/documentation/doc/Qt\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0";
-+static const char qt_configure_headers_path_str [256 + 12] = "qt_hdrspath=/boot/common/include\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0";
-+static const char qt_configure_libraries_path_str [256 + 12] = "qt_libspath=/boot/common/lib\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0";
-+static const char qt_configure_binaries_path_str [256 + 12] = "qt_binspath=/boot/common/bin\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0";
-+static const char qt_configure_plugins_path_str [256 + 12] = "qt_plugpath=/boot/common/add-ons/Qt/plugins\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0";
-+static const char qt_configure_imports_path_str [256 + 12] = "qt_impspath=/boot/common/add-ons/Qt/imports\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0";
-+static const char qt_configure_data_path_str [256 + 12] = "qt_datapath=/boot/common/data/Qt\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0";
-+static const char qt_configure_translations_path_str [256 + 12] = "qt_trnspath=/boot/common/data/Qt/translations\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0";
-+static const char qt_configure_settings_path_str [256 + 12] = "qt_stngpath=/boot/common/settings/Qt\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0";
-+static const char qt_configure_examples_path_str [256 + 12] = "qt_xmplpath=/boot/apps/Qt/Examples\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0";
-+static const char qt_configure_demos_path_str [256 + 12] = "qt_demopath=/boot/apps/Qt/Demos\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0";
-+/* strlen( "qt_lcnsxxxx" ) == 12 */
-+#define QT_CONFIGURE_LICENSEE qt_configure_licensee_str + 12;
-+#define QT_CONFIGURE_LICENSED_PRODUCTS qt_configure_licensed_products_str + 12;
-+#define QT_CONFIGURE_PREFIX_PATH qt_configure_prefix_path_str + 12;
-+#define QT_CONFIGURE_DOCUMENTATION_PATH qt_configure_documentation_path_str + 12;
-+#define QT_CONFIGURE_HEADERS_PATH qt_configure_headers_path_str + 12;
-+#define QT_CONFIGURE_LIBRARIES_PATH qt_configure_libraries_path_str + 12;
-+#define QT_CONFIGURE_BINARIES_PATH qt_configure_binaries_path_str + 12;
-+#define QT_CONFIGURE_PLUGINS_PATH qt_configure_plugins_path_str + 12;
-+#define QT_CONFIGURE_IMPORTS_PATH qt_configure_imports_path_str + 12;
-+#define QT_CONFIGURE_DATA_PATH qt_configure_data_path_str + 12;
-+#define QT_CONFIGURE_TRANSLATIONS_PATH qt_configure_translations_path_str + 12;
-+#define QT_CONFIGURE_SETTINGS_PATH qt_configure_settings_path_str + 12;
-+#define QT_CONFIGURE_EXAMPLES_PATH qt_configure_examples_path_str + 12;
-+#define QT_CONFIGURE_DEMOS_PATH qt_configure_demos_path_str + 12;
-diff -rupN qt-everywhere-opensource-src-4.7.3/src/corelib/global/qconfig.h qt-everywhere-opensource-src-4.7.3_haiku/src/corelib/global/qconfig.h
---- qt-everywhere-opensource-src-4.7.3/src/corelib/global/qconfig.h 1970-01-01 00:00:00.000000000 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/src/corelib/global/qconfig.h 2011-06-13 22:06:43.194510848 +0000
-@@ -0,0 +1,225 @@
-+/* Everything */
-+
-+/* Qt Edition */
-+#ifndef QT_EDITION
-+# define QT_EDITION QT_EDITION_OPENSOURCE
-+#endif
-+
-+/* Machine byte-order */
-+#define Q_BIG_ENDIAN 4321
-+#define Q_LITTLE_ENDIAN 1234
-+#define QT_BUILD_KEY "i386 haiku g++-4 full-config"
-+#define QT_BUILD_KEY_COMPAT "BePC Haiku g++-4 full-config"
-+
-+#ifdef QT_BOOTSTRAPPED
-+#define Q_BYTE_ORDER Q_LITTLE_ENDIAN
-+#else
-+#define Q_BYTE_ORDER Q_LITTLE_ENDIAN
-+#endif
-+/* Machine Architecture */
-+#ifndef QT_BOOTSTRAPPED
-+# define QT_ARCH_I386
-+#else
-+# define QT_ARCH_I386
-+#endif
-+/* Compile time features */
-+#define QT_POINTER_SIZE 4
-+
-+#ifndef QT_BOOTSTRAPPED
-+
-+#if defined(QT_NO_ALSA) && defined(QT_ALSA)
-+# undef QT_NO_ALSA
-+#elif !defined(QT_NO_ALSA) && !defined(QT_ALSA)
-+# define QT_NO_ALSA
-+#endif
-+
-+#if defined(QT_NO_CLOCK_MONOTONIC) && defined(QT_CLOCK_MONOTONIC)
-+# undef QT_NO_CLOCK_MONOTONIC
-+#elif !defined(QT_NO_CLOCK_MONOTONIC) && !defined(QT_CLOCK_MONOTONIC)
-+# define QT_NO_CLOCK_MONOTONIC
-+#endif
-+
-+#if defined(QT_NO_CUPS) && defined(QT_CUPS)
-+# undef QT_NO_CUPS
-+#elif !defined(QT_NO_CUPS) && !defined(QT_CUPS)
-+# define QT_NO_CUPS
-+#endif
-+
-+#if defined(QT_NO_DBUS) && defined(QT_DBUS)
-+# undef QT_NO_DBUS
-+#elif !defined(QT_NO_DBUS) && !defined(QT_DBUS)
-+# define QT_NO_DBUS
-+#endif
-+
-+#if defined(QT_NO_EGL) && defined(QT_EGL)
-+# undef QT_NO_EGL
-+#elif !defined(QT_NO_EGL) && !defined(QT_EGL)
-+# define QT_NO_EGL
-+#endif
-+
-+#if defined(QT_NO_GETIFADDRS) && defined(QT_GETIFADDRS)
-+# undef QT_NO_GETIFADDRS
-+#elif !defined(QT_NO_GETIFADDRS) && !defined(QT_GETIFADDRS)
-+# define QT_NO_GETIFADDRS
-+#endif
-+
-+#if defined(QT_NO_GLIB) && defined(QT_GLIB)
-+# undef QT_NO_GLIB
-+#elif !defined(QT_NO_GLIB) && !defined(QT_GLIB)
-+# define QT_NO_GLIB
-+#endif
-+
-+#if defined(QT_NO_GSTREAMER) && defined(QT_GSTREAMER)
-+# undef QT_NO_GSTREAMER
-+#elif !defined(QT_NO_GSTREAMER) && !defined(QT_GSTREAMER)
-+# define QT_NO_GSTREAMER
-+#endif
-+
-+#if defined(QT_NO_GUI) && defined(QT_GUI)
-+# undef QT_NO_GUI
-+#elif !defined(QT_NO_GUI) && !defined(QT_GUI)
-+# define QT_NO_GUI
-+#endif
-+
-+#if defined(QT_NO_ICD) && defined(QT_ICD)
-+# undef QT_NO_ICD
-+#elif !defined(QT_NO_ICD) && !defined(QT_ICD)
-+# define QT_NO_ICD
-+#endif
-+
-+#if defined(QT_NO_ICONV) && defined(QT_ICONV)
-+# undef QT_NO_ICONV
-+#elif !defined(QT_NO_ICONV) && !defined(QT_ICONV)
-+# define QT_NO_ICONV
-+#endif
-+
-+#if defined(QT_NO_IMAGEFORMAT_JPEG) && defined(QT_IMAGEFORMAT_JPEG)
-+# undef QT_NO_IMAGEFORMAT_JPEG
-+#elif !defined(QT_NO_IMAGEFORMAT_JPEG) && !defined(QT_IMAGEFORMAT_JPEG)
-+# define QT_NO_IMAGEFORMAT_JPEG
-+#endif
-+
-+#if defined(QT_NO_IMAGEFORMAT_MNG) && defined(QT_IMAGEFORMAT_MNG)
-+# undef QT_NO_IMAGEFORMAT_MNG
-+#elif !defined(QT_NO_IMAGEFORMAT_MNG) && !defined(QT_IMAGEFORMAT_MNG)
-+# define QT_NO_IMAGEFORMAT_MNG
-+#endif
-+
-+#if defined(QT_NO_IMAGEFORMAT_TIFF) && defined(QT_IMAGEFORMAT_TIFF)
-+# undef QT_NO_IMAGEFORMAT_TIFF
-+#elif !defined(QT_NO_IMAGEFORMAT_TIFF) && !defined(QT_IMAGEFORMAT_TIFF)
-+# define QT_NO_IMAGEFORMAT_TIFF
-+#endif
-+
-+#if defined(QT_NO_INOTIFY) && defined(QT_INOTIFY)
-+# undef QT_NO_INOTIFY
-+#elif !defined(QT_NO_INOTIFY) && !defined(QT_INOTIFY)
-+# define QT_NO_INOTIFY
-+#endif
-+
-+#if defined(QT_NO_MREMAP) && defined(QT_MREMAP)
-+# undef QT_NO_MREMAP
-+#elif !defined(QT_NO_MREMAP) && !defined(QT_MREMAP)
-+# define QT_NO_MREMAP
-+#endif
-+
-+#if defined(QT_NO_NAS) && defined(QT_NAS)
-+# undef QT_NO_NAS
-+#elif !defined(QT_NO_NAS) && !defined(QT_NAS)
-+# define QT_NO_NAS
-+#endif
-+
-+#if defined(QT_NO_NIS) && defined(QT_NIS)
-+# undef QT_NO_NIS
-+#elif !defined(QT_NO_NIS) && !defined(QT_NIS)
-+# define QT_NO_NIS
-+#endif
-+
-+#if defined(QT_NO_OPENGL) && defined(QT_OPENGL)
-+# undef QT_NO_OPENGL
-+#elif !defined(QT_NO_OPENGL) && !defined(QT_OPENGL)
-+# define QT_NO_OPENGL
-+#endif
-+
-+#if defined(QT_NO_OPENVG) && defined(QT_OPENVG)
-+# undef QT_NO_OPENVG
-+#elif !defined(QT_NO_OPENVG) && !defined(QT_OPENVG)
-+# define QT_NO_OPENVG
-+#endif
-+
-+#if defined(QT_NO_PULSEAUDIO) && defined(QT_PULSEAUDIO)
-+# undef QT_NO_PULSEAUDIO
-+#elif !defined(QT_NO_PULSEAUDIO) && !defined(QT_PULSEAUDIO)
-+# define QT_NO_PULSEAUDIO
-+#endif
-+
-+#if defined(QT_NO_S60) && defined(QT_S60)
-+# undef QT_NO_S60
-+#elif !defined(QT_NO_S60) && !defined(QT_S60)
-+# define QT_NO_S60
-+#endif
-+
-+#if defined(QT_NO_STYLE_GTK) && defined(QT_STYLE_GTK)
-+# undef QT_NO_STYLE_GTK
-+#elif !defined(QT_NO_STYLE_GTK) && !defined(QT_STYLE_GTK)
-+# define QT_NO_STYLE_GTK
-+#endif
-+
-+#if defined(QT_NO_STYLE_S60) && defined(QT_STYLE_S60)
-+# undef QT_NO_STYLE_S60
-+#elif !defined(QT_NO_STYLE_S60) && !defined(QT_STYLE_S60)
-+# define QT_NO_STYLE_S60
-+#endif
-+
-+#if defined(QT_NO_SXE) && defined(QT_SXE)
-+# undef QT_NO_SXE
-+#elif !defined(QT_NO_SXE) && !defined(QT_SXE)
-+# define QT_NO_SXE
-+#endif
-+
-+#if defined(QT_NO_ZLIB) && defined(QT_ZLIB)
-+# undef QT_NO_ZLIB
-+#elif !defined(QT_NO_ZLIB) && !defined(QT_ZLIB)
-+# define QT_NO_ZLIB
-+#endif
-+
-+#if defined(QT_RUNTIME_XCURSOR) && defined(QT_NO_RUNTIME_XCURSOR)
-+# undef QT_RUNTIME_XCURSOR
-+#elif !defined(QT_RUNTIME_XCURSOR) && !defined(QT_NO_RUNTIME_XCURSOR)
-+# define QT_RUNTIME_XCURSOR
-+#endif
-+
-+#if defined(QT_RUNTIME_XFIXES) && defined(QT_NO_RUNTIME_XFIXES)
-+# undef QT_RUNTIME_XFIXES
-+#elif !defined(QT_RUNTIME_XFIXES) && !defined(QT_NO_RUNTIME_XFIXES)
-+# define QT_RUNTIME_XFIXES
-+#endif
-+
-+#if defined(QT_RUNTIME_XINERAMA) && defined(QT_NO_RUNTIME_XINERAMA)
-+# undef QT_RUNTIME_XINERAMA
-+#elif !defined(QT_RUNTIME_XINERAMA) && !defined(QT_NO_RUNTIME_XINERAMA)
-+# define QT_RUNTIME_XINERAMA
-+#endif
-+
-+#if defined(QT_RUNTIME_XINPUT) && defined(QT_NO_RUNTIME_XINPUT)
-+# undef QT_RUNTIME_XINPUT
-+#elif !defined(QT_RUNTIME_XINPUT) && !defined(QT_NO_RUNTIME_XINPUT)
-+# define QT_RUNTIME_XINPUT
-+#endif
-+
-+#if defined(QT_RUNTIME_XRANDR) && defined(QT_NO_RUNTIME_XRANDR)
-+# undef QT_RUNTIME_XRANDR
-+#elif !defined(QT_RUNTIME_XRANDR) && !defined(QT_NO_RUNTIME_XRANDR)
-+# define QT_RUNTIME_XRANDR
-+#endif
-+
-+#if defined(QT_USE_MATH_H_FLOATS) && defined(QT_NO_USE_MATH_H_FLOATS)
-+# undef QT_USE_MATH_H_FLOATS
-+#elif !defined(QT_USE_MATH_H_FLOATS) && !defined(QT_NO_USE_MATH_H_FLOATS)
-+# define QT_USE_MATH_H_FLOATS
-+#endif
-+
-+#endif // QT_BOOTSTRAPPED
-+
-+#define QT_VISIBILITY_AVAILABLE
-+
-diff -rupN qt-everywhere-opensource-src-4.7.3/src/corelib/global/qconfig.h.qmake qt-everywhere-opensource-src-4.7.3_haiku/src/corelib/global/qconfig.h.qmake
---- qt-everywhere-opensource-src-4.7.3/src/corelib/global/qconfig.h.qmake 1970-01-01 00:00:00.000000000 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/src/corelib/global/qconfig.h.qmake 2011-06-13 22:06:43.196345856 +0000
-@@ -0,0 +1 @@
-+/* All features enabled while building qmake */
-diff -rupN qt-everywhere-opensource-src-4.7.3/src/corelib/global/qglobal.h qt-everywhere-opensource-src-4.7.3_haiku/src/corelib/global/qglobal.h
---- qt-everywhere-opensource-src-4.7.3/src/corelib/global/qglobal.h 2011-03-30 05:19:08.006553600 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/src/corelib/global/qglobal.h 2011-06-13 22:06:43.213385216 +0000
-@@ -173,6 +173,7 @@ namespace QT_NAMESPACE {}
- LYNX - LynxOS
- BSD4 - Any BSD 4.4 system
- UNIX - Any UNIX BSD/SYSV system
-+ HAIKU - Haiku
- */
-
- #if defined(__APPLE__) && (defined(__GNUC__) || defined(__xlC__) || defined(__xlc__))
-@@ -256,6 +257,8 @@ namespace QT_NAMESPACE {}
- # define Q_OS_INTEGRITY
- #elif defined(VXWORKS) /* there is no "real" VxWorks define - this has to be set in the mkspec! */
- # define Q_OS_VXWORKS
-+#elif defined(__HAIKU__)
-+# define Q_OS_HAIKU
- #elif defined(__MAKEDEPEND__)
- #else
- # error "Qt has not been ported to this OS - talk to qt-bugs@trolltech.com"
-@@ -781,6 +784,7 @@ namespace QT_NAMESPACE {}
- S60 - Symbian S60
- PM - unsupported
- WIN16 - unsupported
-+ HAIKU - Haiku, Application Server
- */
-
- #if defined(Q_OS_MSDOS)
-@@ -788,6 +792,8 @@ namespace QT_NAMESPACE {}
- # error "Qt requires Win32 and does not work with Windows 3.x"
- #elif defined(_WIN32_X11_)
- # define Q_WS_X11
-+#elif defined(Q_OS_HAIKU)
-+# define Q_WS_HAIKU
- #elif defined(Q_OS_WIN32)
- # define Q_WS_WIN32
- # if defined(Q_OS_WIN64)
-@@ -820,6 +826,10 @@ namespace QT_NAMESPACE {}
- # endif
- #endif
-
-+#if defined(Q_OS_HAIKU) && defined (Q_WS_X11)
-+#undef Q_WS_X11
-+#endif
-+
- #if defined(Q_WS_WIN16) || defined(Q_WS_WIN32) || defined(Q_WS_WINCE)
- # define Q_WS_WIN
- #endif
-diff -rupN qt-everywhere-opensource-src-4.7.3/src/corelib/global/qnamespace.h qt-everywhere-opensource-src-4.7.3_haiku/src/corelib/global/qnamespace.h
---- qt-everywhere-opensource-src-4.7.3/src/corelib/global/qnamespace.h 2011-03-30 05:19:08.006291456 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/src/corelib/global/qnamespace.h 2011-06-13 22:06:43.216006656 +0000
-@@ -1670,6 +1670,8 @@ public:
- typedef void * HANDLE;
- #elif defined(Q_OS_SYMBIAN)
- typedef unsigned long int HANDLE; // equivalent to TUint32
-+#elif defined(Q_OS_HAIKU)
-+ typedef unsigned long HANDLE;
- #endif
- typedef WindowFlags WFlags;
-
-diff -rupN qt-everywhere-opensource-src-4.7.3/src/corelib/io/qfsfileengine_unix.cpp qt-everywhere-opensource-src-4.7.3_haiku/src/corelib/io/qfsfileengine_unix.cpp
---- qt-everywhere-opensource-src-4.7.3/src/corelib/io/qfsfileengine_unix.cpp 2011-03-30 05:19:08.055312384 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/src/corelib/io/qfsfileengine_unix.cpp 2011-06-13 22:06:43.218628096 +0000
-@@ -625,6 +625,9 @@ QString QFSFileEngine::homePath()
- QString home = rootPath();
- #else
- QString home = QFile::decodeName(qgetenv("HOME"));
-+#ifdef Q_OS_HAIKU
-+ home += QLatin1String("/config/settings/Qt");
-+#endif
- if (home.isNull())
- home = rootPath();
- #endif
-diff -rupN qt-everywhere-opensource-src-4.7.3/src/corelib/io/qprocess_unix.cpp qt-everywhere-opensource-src-4.7.3_haiku/src/corelib/io/qprocess_unix.cpp
---- qt-everywhere-opensource-src-4.7.3/src/corelib/io/qprocess_unix.cpp 2011-03-30 05:19:08.050331648 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/src/corelib/io/qprocess_unix.cpp 2011-06-13 22:06:43.221249536 +0000
-@@ -792,8 +792,12 @@ qint64 QProcessPrivate::bytesAvailableFr
- {
- int nbytes = 0;
- qint64 available = 0;
-+#ifdef Q_OS_HAIKU
-+ available = 1024;
-+#else
- if (::ioctl(stdoutChannel.pipe[0], FIONREAD, (char *) &nbytes) >= 0)
- available = (qint64) nbytes;
-+#endif
- #if defined (QPROCESS_DEBUG)
- qDebug("QProcessPrivate::bytesAvailableFromStdout() == %lld", available);
- #endif
-@@ -804,8 +808,12 @@ qint64 QProcessPrivate::bytesAvailableFr
- {
- int nbytes = 0;
- qint64 available = 0;
-+#ifdef Q_OS_HAIKU
-+ available = 1024;
-+#else
- if (::ioctl(stderrChannel.pipe[0], FIONREAD, (char *) &nbytes) >= 0)
- available = (qint64) nbytes;
-+#endif
- #if defined (QPROCESS_DEBUG)
- qDebug("QProcessPrivate::bytesAvailableFromStderr() == %lld", available);
- #endif
-diff -rupN qt-everywhere-opensource-src-4.7.3/src/corelib/kernel/qsystemsemaphore_unix.cpp qt-everywhere-opensource-src-4.7.3_haiku/src/corelib/kernel/qsystemsemaphore_unix.cpp
---- qt-everywhere-opensource-src-4.7.3/src/corelib/kernel/qsystemsemaphore_unix.cpp 2011-03-30 05:19:08.063438848 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/src/corelib/kernel/qsystemsemaphore_unix.cpp 2011-06-13 22:06:43.223346688 +0000
-@@ -52,7 +52,9 @@
- #include
- #include
- #include
-+#if !defined(Q_OS_HAIKU)
- #include
-+#endif
-
- #include
-
-diff -rupN qt-everywhere-opensource-src-4.7.3/src/corelib/thread/qthread_p.h qt-everywhere-opensource-src-4.7.3_haiku/src/corelib/thread/qthread_p.h
---- qt-everywhere-opensource-src-4.7.3/src/corelib/thread/qthread_p.h 2011-03-30 05:19:08.008650752 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/src/corelib/thread/qthread_p.h 2011-06-13 22:06:43.225443840 +0000
-@@ -140,7 +140,7 @@ public:
- QWaitCondition thread_done;
-
- static void *start(void *arg);
--#if defined(Q_OS_SYMBIAN)
-+#if defined(Q_OS_SYMBIAN) || defined(Q_OS_HAIKU)
- static void finish(void *arg, bool lockAnyway=true, bool closeNativeHandle=true);
- #else
- static void finish(void *);
-@@ -156,7 +156,7 @@ public:
- static void finish(void *, bool lockAnyway=true);
- #endif // Q_OS_WIN32
-
--#if defined(Q_OS_WIN32) || defined(Q_OS_WINCE) || defined (Q_OS_SYMBIAN)
-+#if defined(Q_OS_WIN32) || defined(Q_OS_WINCE) || defined (Q_OS_SYMBIAN) || defined (Q_OS_HAIKU)
- bool terminationEnabled, terminatePending;
- # endif
- QThreadData *data;
-diff -rupN qt-everywhere-opensource-src-4.7.3/src/corelib/thread/qthread_unix.cpp qt-everywhere-opensource-src-4.7.3_haiku/src/corelib/thread/qthread_unix.cpp
---- qt-everywhere-opensource-src-4.7.3/src/corelib/thread/qthread_unix.cpp 2011-03-30 05:19:08.009699328 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/src/corelib/thread/qthread_unix.cpp 2011-06-13 22:06:43.228327424 +0000
-@@ -274,7 +274,7 @@ void QThreadPrivate::createEventDispatch
- void *QThreadPrivate::start(void *arg)
- {
- // Symbian Open C supports neither thread cancellation nor cleanup_push.
--#ifndef Q_OS_SYMBIAN
-+#if !defined(Q_OS_SYMBIAN) && !defined(Q_OS_HAIKU)
- pthread_setcancelstate(PTHREAD_CANCEL_DISABLE, NULL);
- pthread_cleanup_push(QThreadPrivate::finish, arg);
- #endif
-@@ -319,7 +319,7 @@ void *QThreadPrivate::start(void *arg)
- #endif
- thr->run();
-
--#ifdef Q_OS_SYMBIAN
-+#if defined(Q_OS_SYMBIAN) || defined(Q_OS_HAIKU)
- QThreadPrivate::finish(arg);
- #else
- pthread_cleanup_pop(1);
-@@ -328,7 +328,7 @@ void *QThreadPrivate::start(void *arg)
- return 0;
- }
-
--#ifdef Q_OS_SYMBIAN
-+#if defined(Q_OS_SYMBIAN) || defined(Q_OS_HAIKU)
- void QThreadPrivate::finish(void *arg, bool lockAnyway, bool closeNativeHandle)
- #else
- void QThreadPrivate::finish(void *arg)
-@@ -336,7 +336,7 @@ void QThreadPrivate::finish(void *arg)
- {
- QThread *thr = reinterpret_cast(arg);
- QThreadPrivate *d = thr->d_func();
--#ifdef Q_OS_SYMBIAN
-+#if defined(Q_OS_SYMBIAN) || defined(Q_OS_HAIKU)
- if (lockAnyway)
- #endif
- d->mutex.lock();
-@@ -365,7 +365,7 @@ void QThreadPrivate::finish(void *arg)
- d->data->symbian_thread_handle.Close();
- #endif
- d->thread_done.wakeAll();
--#ifdef Q_OS_SYMBIAN
-+#if defined(Q_OS_SYMBIAN) || defined(Q_OS_HAIKU)
- if (lockAnyway)
- #endif
- d->mutex.unlock();
-@@ -634,7 +634,7 @@ void QThread::start(Priority priority)
- if (code == EPERM) {
- // caller does not have permission to set the scheduling
- // parameters/policy
--#ifndef Q_OS_SYMBIAN
-+#if !defined(Q_OS_SYMBIAN) && !defined(Q_OS_HAIKU)
- pthread_attr_setinheritsched(&attr, PTHREAD_INHERIT_SCHED);
- #endif
- code =
-@@ -663,7 +663,7 @@ void QThread::terminate()
- if (!d->thread_id)
- return;
-
--#ifndef Q_OS_SYMBIAN
-+#if !defined(Q_OS_SYMBIAN) && !defined(Q_OS_HAIKU)
- int code = pthread_cancel(d->thread_id);
- if (code) {
- qWarning("QThread::start: Thread termination error: %s",
-@@ -686,11 +686,14 @@ void QThread::terminate()
- // 2. closeNativeSymbianHandle = false. We don't want to close the thread handle,
- // because we need it here to terminate the thread.
- QThreadPrivate::finish(this, false, false);
-+#ifdef Q_OS_SYMBIAN
- d->data->symbian_thread_handle.Terminate(KErrNone);
- d->data->symbian_thread_handle.Close();
- #endif
--
--
-+#ifdef Q_OS_HAIKU
-+ pthread_kill(d->thread_id,0);
-+#endif
-+#endif
- }
-
- bool QThread::wait(unsigned long time)
-diff -rupN qt-everywhere-opensource-src-4.7.3/src/corelib/tools/qlocale.cpp qt-everywhere-opensource-src-4.7.3_haiku/src/corelib/tools/qlocale.cpp
---- qt-everywhere-opensource-src-4.7.3/src/corelib/tools/qlocale.cpp 2011-03-30 05:19:08.013893632 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/src/corelib/tools/qlocale.cpp 2011-06-13 22:06:43.234356736 +0000
-@@ -63,6 +63,9 @@ QT_END_NAMESPACE
- # include "qt_windows.h"
- # include
- #endif
-+#if defined(Q_OS_HAIKU)
-+#include
-+#endif
- #if !defined(QWS) && defined(Q_OS_MAC)
- # include "private/qcore_mac_p.h"
- # include
-@@ -1249,6 +1252,78 @@ QVariant QSystemLocale::query(QueryType
- return QVariant();
- }
-
-+#elif defined(Q_OS_HAIKU) && !defined(QT_BUILD_QMAKE)
-+
-+QLocale QSystemLocale::fallbackLocale() const
-+{
-+ BLanguage lang;
-+ BLocale::Default()->GetLanguage(&lang);
-+ return QLocale(QLatin1String(lang.ID()));
-+}
-+
-+QVariant QSystemLocale::query(QueryType type, QVariant in = QVariant()) const
-+{
-+ BLanguage lang;
-+ BLocale::Default()->GetLanguage(&lang);
-+
-+ switch(type) {
-+ case DecimalPoint: {
-+ BString test, unitest;
-+ BLocale::Default()->FormatNumber(&test,1.1);
-+ BLocale::Default()->FormatNumber(&unitest,(int32)1);
-+ QString result = QString().fromLocal8Bit(test.String());
-+ result.remove(QString().fromLocal8Bit(unitest.String()));
-+ if(!result.isEmpty() && result.size()<=2) {
-+ return result;
-+ }
-+ return QVariant();
-+ }
-+ case GroupSeparator: {
-+ BString test, unitest;
-+ BLocale::Default()->FormatNumber(&test,(int32)11111);
-+ BLocale::Default()->FormatNumber(&unitest,(int32)1);
-+ QString result = QString().fromLocal8Bit(test.String());
-+ result.remove(QString().fromLocal8Bit(unitest.String()));
-+ if(!result.isEmpty() && result.size()<=3) {
-+ return result;
-+ }
-+ return QVariant();
-+ }
-+ case LanguageId:
-+ case CountryId: {
-+ QString preferredLanguage = QString().fromLocal8Bit(lang.Code());
-+ QString preferredCountry(3, QChar());
-+ preferredCountry = QString().fromLocal8Bit(lang.CountryCode());
-+ QLocale::Language languageCode = (preferredLanguage.isEmpty() ? QLocale::C : codeToLanguage(preferredLanguage.data()));
-+ QLocale::Country countryCode = (preferredCountry.isEmpty() ? QLocale::AnyCountry : codeToCountry(preferredCountry.data()));
-+ const QLocalePrivate *d = findLocale(languageCode, countryCode);
-+ if (type == LanguageId) {
-+ return (QLocale::Language)d->languageId();
-+ }
-+ return (QLocale::Country)d->countryId();
-+ }
-+ case MeasurementSystem: {
-+ BFormattingConventions conventions;
-+ BLocale::Default()->GetFormattingConventions(&conventions);
-+ if(conventions.MeasurementKind()==B_METRIC) {
-+ return QLocale::MetricSystem;
-+ } else {
-+ return QLocale::ImperialSystem;
-+ }
-+ }
-+ case NegativeSign:
-+ case PositiveSign:
-+ case ZeroDigit:
-+ break;
-+ case AMText:
-+ case PMText:
-+ break;
-+ default:
-+ break;
-+ }
-+ return QVariant();
-+}
-+
- #elif defined(Q_OS_UNIX) && !defined(Q_OS_SYMBIAN)
-
- static uint unixGetSystemMeasurementSystem()
-diff -rupN qt-everywhere-opensource-src-4.7.3/src/corelib/tools/tools.pri qt-everywhere-opensource-src-4.7.3_haiku/src/corelib/tools/tools.pri
---- qt-everywhere-opensource-src-4.7.3/src/corelib/tools/tools.pri 2011-03-30 05:19:08.024117248 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/src/corelib/tools/tools.pri 2011-06-13 22:06:43.235929600 +0000
-@@ -110,5 +110,5 @@ INCLUDEPATH += ../3rdparty/md5 \
- ../3rdparty/md4
-
- # Note: libm should be present by default becaue this is C++
--!macx-icc:!vxworks:!symbian:unix:LIBS_PRIVATE += -lm
-+!macx-icc:!vxworks:!symbian:!haiku:unix:LIBS_PRIVATE += -lm
-
-diff -rupN qt-everywhere-opensource-src-4.7.3/src/gui/dialogs/dialogs.pri qt-everywhere-opensource-src-4.7.3_haiku/src/gui/dialogs/dialogs.pri
---- qt-everywhere-opensource-src-4.7.3/src/gui/dialogs/dialogs.pri 2011-03-30 05:19:03.013369344 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/src/gui/dialogs/dialogs.pri 2011-06-13 22:06:43.238026752 +0000
-@@ -61,6 +61,11 @@ win32 {
- !win32-borland:!wince*: LIBS += -lshell32 # the filedialog needs this library
- }
-
-+haiku {
-+ SOURCES += dialogs/qfiledialog_haiku.cpp
-+ LIBS += -ltracker # the filedialog needs this library
-+}
-+
- !mac:!embedded:!symbian:unix {
- HEADERS += dialogs/qpagesetupdialog_unix_p.h
- SOURCES += dialogs/qprintdialog_unix.cpp \
-diff -rupN qt-everywhere-opensource-src-4.7.3/src/gui/dialogs/qfiledialog.cpp qt-everywhere-opensource-src-4.7.3_haiku/src/gui/dialogs/qfiledialog.cpp
---- qt-everywhere-opensource-src-4.7.3/src/gui/dialogs/qfiledialog.cpp 2011-03-30 05:19:03.020185088 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/src/gui/dialogs/qfiledialog.cpp 2011-06-13 22:06:43.243269632 +0000
-@@ -292,7 +292,7 @@ Q_GUI_EXPORT _qt_filedialog_save_filenam
- This signal is emitted when the user selects a \a filter.
- */
-
--#if defined(Q_WS_WIN) || defined(Q_WS_MAC)
-+#if defined(Q_WS_WIN) || defined(Q_WS_MAC) || defined(Q_WS_HAIKU)
- bool Q_GUI_EXPORT qt_use_native_dialogs = true; // for the benefit of testing tools, until we have a proper API
- #endif
-
-@@ -1617,6 +1617,25 @@ extern QString qt_win_get_existing_direc
- #endif
-
- /*
-+ For Haiku file dialogs
-+*/
-+#if defined(Q_WS_HAIKU)
-+extern QString qt_haiku_get_open_file_name(const QFileDialogArgs &args,
-+ QString *initialDirectory,
-+ QString *selectedFilter);
-+
-+extern QString qt_haiku_get_save_file_name(const QFileDialogArgs &args,
-+ QString *initialDirectory,
-+ QString *selectedFilter);
-+
-+extern QStringList qt_haiku_get_open_file_names(const QFileDialogArgs &args,
-+ QString *initialDirectory,
-+ QString *selectedFilter);
-+
-+extern QString qt_haiku_get_existing_directory(const QFileDialogArgs &args);
-+#endif
-+
-+/*
- For Symbian file dialogs
- */
- #if defined(Q_WS_S60)
-@@ -1713,6 +1732,12 @@ QString QFileDialog::getOpenFileName(QWi
- }
- #endif
-
-+#if defined(Q_WS_HAIKU)
-+ if (qt_use_native_dialogs && !(args.options & DontUseNativeDialog)) {
-+ return qt_haiku_get_open_file_name(args, &(args.directory), selectedFilter);
-+ }
-+#endif
-+
- // create a qt dialog
- QFileDialog dialog(args);
- if (selectedFilter)
-@@ -1806,6 +1831,12 @@ QStringList QFileDialog::getOpenFileName
- }
- #endif
-
-+#if defined(Q_WS_HAIKU)
-+ if (qt_use_native_dialogs && !(args.options & DontUseNativeDialog)) {
-+ return qt_haiku_get_open_file_names(args, &(args.directory), selectedFilter);
-+ }
-+#endif
-+
- // create a qt dialog
- QFileDialog dialog(args);
- if (selectedFilter)
-@@ -1900,6 +1931,12 @@ QString QFileDialog::getSaveFileName(QWi
- }
- #endif
-
-+#if defined(Q_WS_HAIKU)
-+ if (qt_use_native_dialogs && !(args.options & DontUseNativeDialog)) {
-+ return qt_haiku_get_save_file_name(args, &(args.directory), selectedFilter);
-+ }
-+#endif
-+
- // create a qt dialog
- QFileDialog dialog(args);
- dialog.setAcceptMode(AcceptSave);
-@@ -1984,6 +2021,11 @@ QString QFileDialog::getExistingDirector
- }
- #endif
-
-+#if defined(Q_WS_HAIKU)
-+ if (qt_use_native_dialogs && !(args.options & DontUseNativeDialog) && (options & ShowDirsOnly))
-+ return qt_haiku_get_existing_directory(args);
-+#endif
-+
- // create a qt dialog
- QFileDialog dialog(args);
- if (dialog.exec() == QDialog::Accepted) {
-diff -rupN qt-everywhere-opensource-src-4.7.3/src/gui/dialogs/qfiledialog_haiku.cpp qt-everywhere-opensource-src-4.7.3_haiku/src/gui/dialogs/qfiledialog_haiku.cpp
---- qt-everywhere-opensource-src-4.7.3/src/gui/dialogs/qfiledialog_haiku.cpp 1970-01-01 00:00:00.000000000 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/src/gui/dialogs/qfiledialog_haiku.cpp 2011-06-13 22:06:43.245628928 +0000
-@@ -0,0 +1,465 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-+** Contact: Qt Software Information (qt-info@nokia.com)
-+**
-+** This file is part of the QtGui module of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial Usage
-+** Licensees holding valid Qt Commercial licenses may use this file in
-+** accordance with the Qt Commercial License Agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and Nokia.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 2.1 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 2.1 requirements
-+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-+**
-+** In addition, as a special exception, Nokia gives you certain
-+** additional rights. These rights are described in the Nokia Qt LGPL
-+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-+** package.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 3.0 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU General Public License version 3.0 requirements will be
-+** met: http://www.gnu.org/copyleft/gpl.html.
-+**
-+** If you are unsure which license is appropriate for your use, please
-+** contact the sales department at qt-sales@nokia.com.
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#include "qfiledialog.h"
-+
-+#ifndef QT_NO_FILEDIALOG
-+
-+#include
-+#include
-+#include
-+#include
-+#include
-+#include
-+#include
-+#include
-+#include
-+#include
-+#include "qeventloop.h"
-+
-+#ifndef QT_NO_THREAD
-+# include
-+#endif
-+
-+#include
-+#include
-+#include
-+#include
-+#include
-+#include
-+
-+QT_BEGIN_NAMESPACE
-+
-+extern const char* qt_file_dialog_filter_reg_exp; // defined in qfiledialog.cpp
-+extern QStringList qt_make_filter_list(const QString &filter);
-+
-+const int maxNameLen = 1023;
-+const int maxMultiLen = 65535;
-+
-+class PanelLooper : public BLooper {
-+public:
-+ PanelLooper();
-+ virtual ~PanelLooper();
-+ virtual void MessageReceived(BMessage* message);
-+
-+ int Wait(BFilePanel *panel);
-+
-+ QString GetFilename();
-+ QStringList GetFilenames();
-+
-+private:
-+ int state;
-+ QString filename;
-+ QStringList filenames;
-+ entry_ref fRef;
-+};
-+
-+
-+PanelLooper::PanelLooper() : BLooper("PanelLooper"), state(B_CANCEL) { }
-+PanelLooper::~PanelLooper() { }
-+
-+int
-+PanelLooper::Wait(BFilePanel *panel)
-+{
-+ QEventLoop::ProcessEventsFlags flags;
-+ flags |= QEventLoop::WaitForMoreEvents;
-+ while(panel->IsShowing()) {
-+ QCoreApplication::processEvents(flags);
-+ snooze(250);
-+ }
-+ return state;
-+}
-+
-+QString
-+PanelLooper::GetFilename()
-+{
-+ return filename;
-+}
-+
-+QStringList
-+PanelLooper::GetFilenames()
-+{
-+ return filenames;
-+}
-+
-+void
-+PanelLooper::MessageReceived(BMessage* message)
-+{
-+ switch (message->what) {
-+ case B_SAVE_REQUESTED:
-+ {
-+ entry_ref ref;
-+ const char *name;
-+ message->FindRef("directory", &ref);
-+ BDirectory dir(&ref);
-+ BPath path(&dir, NULL, false);
-+ message->FindString("name", &name);
-+ path.Append(name);
-+ filename = QString::fromUtf8(path.Path());
-+ filenames.append(filename);
-+
-+ state = B_OK;
-+ }
-+ break;
-+ case B_REFS_RECEIVED:
-+ {
-+ uint32 type;
-+ int32 count;
-+
-+ message->GetInfo("refs", &type, &count);
-+ if ( type != B_REF_TYPE || count <= 0)
-+ return;
-+
-+ for ( long i = --count; i >= 0; i-- ) {
-+ if ( message->FindRef("refs", i, &fRef) == B_OK ) {
-+ BPath path(&fRef);
-+ filename = QString::fromUtf8(path.Path());
-+ filenames.append(filename);
-+ }
-+ }
-+
-+ state = B_OK;
-+ }
-+ break;
-+ case B_CANCEL:
-+ {
-+ if(state!=B_OK) {
-+ state = B_CANCEL;
-+ filename.clear();
-+ filenames.clear();
-+ }
-+ }
-+ break;
-+ default:
-+ break;
-+ }
-+}
-+
-+
-+// Returns the wildcard part of a filter.
-+static QString qt_haiku_extract_filter(const QString &rawFilter)
-+{
-+ QString result = rawFilter;
-+ QRegExp r(QString::fromLatin1(qt_file_dialog_filter_reg_exp));
-+ int index = r.indexIn(result);
-+ if (index >= 0)
-+ result = r.cap(2);
-+ QStringList list = result.split(QLatin1Char(' '));
-+ for(QStringList::iterator it = list.begin(); it < list.end(); ++it) {
-+ if (*it == QLatin1String("*")) {
-+ *it = QLatin1String("*.*");
-+ break;
-+ }
-+ }
-+ return list.join(QLatin1String(";"));
-+}
-+
-+static QStringList qt_haiku_make_filters_list(const QString &filter)
-+{
-+ QString f(filter);
-+
-+ if (f.isEmpty())
-+ f = QFileDialog::tr("All Files (*.*)");
-+
-+ return qt_make_filter_list(f);
-+}
-+
-+// Makes a NUL-oriented Haiku filter from a Qt filter.
-+static QString qt_haiku_filter(const QString &filter)
-+{
-+ QStringList filterLst = qt_haiku_make_filters_list(filter);
-+ QStringList::Iterator it = filterLst.begin();
-+ QString haikufilters;
-+ for (; it != filterLst.end(); ++it) {
-+ QString subfilter = *it;
-+ if (!subfilter.isEmpty()) {
-+ haikufilters += subfilter;
-+ haikufilters += QChar();
-+ haikufilters += qt_haiku_extract_filter(subfilter);
-+ haikufilters += QChar();
-+ }
-+ }
-+ haikufilters += QChar();
-+ return haikufilters;
-+}
-+
-+static QString qt_haiku_selected_filter(const QString &filter, int idx)
-+{
-+ return qt_haiku_make_filters_list(filter).at((int)idx - 1);
-+}
-+
-+
-+QString qt_haiku_get_open_file_name(const QFileDialogArgs &args,
-+ QString *initialDirectory,
-+ QString *selectedFilter)
-+{
-+ QString result;
-+
-+ QString title = args.caption;
-+ QString isel = args.selection;
-+
-+ if (initialDirectory && initialDirectory->left(5) == QLatin1String("file:"))
-+ initialDirectory->remove(0, 5);
-+ QFileInfo fi(*initialDirectory);
-+
-+ if (initialDirectory && !fi.isDir()) {
-+ *initialDirectory = fi.absolutePath();
-+ if (isel.isEmpty())
-+ isel = fi.fileName();
-+ }
-+
-+ if (!fi.exists() || *initialDirectory==QDir::homePath())
-+ *initialDirectory = QDesktopServices::storageLocation(QDesktopServices::HomeLocation);
-+
-+/* int selFilIdx = 0;
-+
-+ int idx = 0;
-+ if (selectedFilter) {
-+ QStringList filterLst = qt_haiku_make_filters_list(args.filter);
-+ idx = filterLst.indexOf(*selectedFilter);
-+ }*/
-+
-+ PanelLooper *looper = new PanelLooper();
-+ looper->Run();
-+
-+ BFilePanel *openpanel = new BFilePanel(B_OPEN_PANEL,NULL,NULL,0,false,NULL,NULL,true,true);
-+ openpanel->SetTarget(BMessenger(looper));
-+ if(!title.isEmpty()) {
-+ openpanel->Window()->SetTitle((title.toUtf8()).data());
-+ }
-+ QByteArray dirpath = initialDirectory->toUtf8();
-+ openpanel->SetPanelDirectory(dirpath.data());
-+ openpanel->Show();
-+
-+ looper->Wait(openpanel);
-+ result = looper->GetFilename();
-+
-+ delete openpanel;
-+
-+ looper->Lock();
-+ looper->Quit();
-+
-+ if (result.isEmpty())
-+ return result;
-+
-+ fi = result;
-+ *initialDirectory = fi.path();
-+
-+ return fi.absoluteFilePath();;
-+}
-+
-+QString qt_haiku_get_save_file_name(const QFileDialogArgs &args,
-+ QString *initialDirectory,
-+ QString *selectedFilter)
-+{
-+ QString result;
-+
-+ QString title = args.caption;
-+ QString isel = args.selection;
-+
-+ if (initialDirectory && initialDirectory->left(5) == QLatin1String("file:"))
-+ initialDirectory->remove(0, 5);
-+ QFileInfo fi(*initialDirectory);
-+
-+ if (initialDirectory && !fi.isDir()) {
-+ *initialDirectory = fi.absolutePath();
-+ if (isel.isEmpty())
-+ isel = fi.fileName();
-+ }
-+
-+ if (!fi.exists() || *initialDirectory==QDir::homePath())
-+ *initialDirectory = QDesktopServices::storageLocation(QDesktopServices::HomeLocation);
-+/*
-+ int selFilIdx = 0;
-+
-+ int idx = 0;
-+ if (selectedFilter) {
-+ QStringList filterLst = qt_haiku_make_filters_list(args.filter);
-+ idx = filterLst.indexOf(*selectedFilter);
-+ }
-+
-+ QString defaultSaveExt;
-+ if (selectedFilter && !selectedFilter->isEmpty()) {
-+ defaultSaveExt = qt_haiku_extract_filter(*selectedFilter);
-+ // make sure we only have the extension
-+ int firstDot = defaultSaveExt.indexOf(QLatin1Char('.'));
-+ if (firstDot != -1) {
-+ defaultSaveExt.remove(0, firstDot + 1);
-+ } else {
-+ defaultSaveExt.clear();
-+ }
-+ }*/
-+
-+ PanelLooper *looper = new PanelLooper();
-+ looper->Run();
-+
-+ BFilePanel *savepanel = new BFilePanel(B_SAVE_PANEL,NULL,NULL,0,false,NULL,NULL,true,true);
-+ savepanel->SetTarget(BMessenger(looper));
-+ if(!title.isEmpty()) {
-+ savepanel->Window()->SetTitle((title.toUtf8()).data());
-+ }
-+ QByteArray dirpath = initialDirectory->toUtf8();
-+ savepanel->SetPanelDirectory(dirpath.data());
-+ savepanel->SetSaveText((isel.toUtf8()).data());
-+ savepanel->Show();
-+
-+ looper->Wait(savepanel);
-+ result = looper->GetFilename();
-+
-+ delete savepanel;
-+
-+ looper->Lock();
-+ looper->Quit();
-+
-+ if (result.isEmpty())
-+ return result;
-+
-+ fi = result;
-+ *initialDirectory = fi.path();
-+/* if (selectedFilter)
-+ *selectedFilter = qt_haiku_selected_filter(args.filter, selFilIdx);*/
-+ return fi.absoluteFilePath();
-+}
-+
-+QStringList qt_haiku_get_open_file_names(const QFileDialogArgs &args,
-+ QString *initialDirectory,
-+ QString *selectedFilter)
-+{
-+ QStringList result;
-+
-+ QString title = args.caption;
-+ QString isel = args.selection;
-+
-+ if (initialDirectory && initialDirectory->left(5) == QLatin1String("file:"))
-+ initialDirectory->remove(0, 5);
-+ QFileInfo fi(*initialDirectory);
-+
-+ if (initialDirectory && !fi.isDir()) {
-+ *initialDirectory = fi.absolutePath();
-+ if (isel.isEmpty())
-+ isel = fi.fileName();
-+ }
-+
-+ if (!fi.exists() || *initialDirectory==QDir::homePath())
-+ *initialDirectory = QDesktopServices::storageLocation(QDesktopServices::HomeLocation);
-+
-+ int selFilIdx = 0;
-+
-+/* int idx = 0;
-+ if (selectedFilter) {
-+ QStringList filterLst = qt_haiku_make_filters_list(args.filter);
-+ idx = filterLst.indexOf(*selectedFilter);
-+ }*/
-+
-+ PanelLooper *looper = new PanelLooper();
-+ looper->Run();
-+
-+ BFilePanel *openpanel = new BFilePanel(B_OPEN_PANEL,NULL,NULL,0,true,NULL,NULL,true,true);
-+ openpanel->SetTarget(BMessenger(looper));
-+ if(!title.isEmpty()) {
-+ openpanel->Window()->SetTitle((title.toUtf8()).data());
-+ }
-+ QByteArray dirpath = initialDirectory->toUtf8();
-+ openpanel->SetPanelDirectory(dirpath.data());
-+ openpanel->Show();
-+
-+ looper->Wait(openpanel);
-+ result = looper->GetFilenames();
-+
-+ delete openpanel;
-+
-+ looper->Lock();
-+ looper->Quit();
-+
-+ if (!result.isEmpty()) {
-+ *initialDirectory = fi.path(); // only save the path if there is a result
-+ }
-+ return result;
-+}
-+
-+class DirectoryFilter : public BRefFilter {
-+public:
-+ DirectoryFilter() {};
-+ virtual bool Filter(const entry_ref* ref,
-+ BNode* node, struct stat_beos* st, const char* filetype)
-+ {
-+ return node->IsDirectory();
-+ }
-+};
-+
-+
-+QString qt_haiku_get_existing_directory(const QFileDialogArgs &args)
-+{
-+ QString initDir = QDir::toNativeSeparators(args.directory);
-+ QString result;
-+
-+ QString title = args.caption;
-+
-+ PanelLooper *looper = new PanelLooper();
-+ looper->Run();
-+
-+ BFilePanel *dirpanel = new BFilePanel(B_OPEN_PANEL, NULL, NULL, B_DIRECTORY_NODE, true, NULL, NULL, true, true);
-+ dirpanel->SetTarget(BMessenger(looper));
-+ dirpanel->SetButtonLabel(B_DEFAULT_BUTTON, "Select");
-+ if(!title.isEmpty()) {
-+ dirpanel->Window()->SetTitle((title.toUtf8()).data());
-+ }
-+
-+ BRefFilter *filter;
-+ filter = new DirectoryFilter;
-+ dirpanel->SetRefFilter(filter);
-+ dirpanel->Show();
-+
-+ looper->Wait(dirpanel);
-+ result = looper->GetFilename();
-+
-+ delete dirpanel;
-+
-+ looper->Lock();
-+ looper->Quit();
-+
-+ return result;
-+}
-+
-+
-+QT_END_NAMESPACE
-+
-+#endif
-diff -rupN qt-everywhere-opensource-src-4.7.3/src/gui/gui.pro qt-everywhere-opensource-src-4.7.3_haiku/src/gui/gui.pro
---- qt-everywhere-opensource-src-4.7.3/src/gui/gui.pro 2011-03-30 05:19:06.004980736 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/src/gui/gui.pro 2011-06-13 22:06:43.247726080 +0000
-@@ -5,7 +5,7 @@ DEFINES += QT_BUILD_GUI_LIB QT_NO_USIN
- win32-msvc*|win32-icc:QMAKE_LFLAGS += /BASE:0x65000000
- irix-cc*:QMAKE_CXXFLAGS += -no_prelink -ptused
-
--!win32:!embedded:!mac:!symbian:CONFIG += x11
-+!win32:!embedded:!mac:!symbian:!haiku:CONFIG += x11
-
- unix:QMAKE_PKGCONFIG_REQUIRES = QtCore
-
-@@ -22,6 +22,7 @@ symbian {
- include(kernel/symbian.pri)
- include(s60framework/s60framework.pri)
- }
-+haiku:include(kernel/haiku.pri)
-
- #modules
- include(animation/animation.pri)
-diff -rupN qt-everywhere-opensource-src-4.7.3/src/gui/image/image.pri qt-everywhere-opensource-src-4.7.3_haiku/src/gui/image/image.pri
---- qt-everywhere-opensource-src-4.7.3/src/gui/image/image.pri 2011-03-30 05:19:04.013893632 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/src/gui/image/image.pri 2011-06-13 22:06:43.249561088 +0000
-@@ -71,6 +71,10 @@ else:symbian {
- HEADERS += image/qpixmap_s60_p.h
- SOURCES += image/qpixmap_s60.cpp
- }
-+else:haiku {
-+ HEADERS += image/qpixmap_haiku_p.h
-+ SOURCES += image/qpixmap_haiku.cpp
-+}
-
- # Built-in image format support
- HEADERS += \
-diff -rupN qt-everywhere-opensource-src-4.7.3/src/gui/image/qnativeimage.cpp qt-everywhere-opensource-src-4.7.3_haiku/src/gui/image/qnativeimage.cpp
---- qt-everywhere-opensource-src-4.7.3/src/gui/image/qnativeimage.cpp 2011-03-30 05:19:04.007602176 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/src/gui/image/qnativeimage.cpp 2011-06-13 22:06:43.252182528 +0000
-@@ -268,6 +268,28 @@ QImage::Format QNativeImage::systemForma
- return QImage::Format_RGB32;
- }
-
-+#elif defined(Q_WS_HAIKU)
-+
-+QNativeImage::QNativeImage(int width, int height, QImage::Format
-+format, bool /* isTextBuffer */, QWidget *)
-+ : image(width, height, format)
-+{
-+ bitmap = new BBitmap(BRect(0,0,width-1,height-1), B_RGBA32, false, true); // we use continuous for now
-+ uchar *bits = (uchar*)bitmap->Bits();
-+ image = QImage(bits, width, height, format);
-+}
-+
-+
-+QNativeImage::~QNativeImage()
-+{
-+ delete bitmap;
-+ bitmap = 0;
-+}
-+
-+QImage::Format QNativeImage::systemFormat()
-+{
-+ return QImage::Format_RGB32;
-+}
-
- #else // other platforms...
-
-diff -rupN qt-everywhere-opensource-src-4.7.3/src/gui/image/qnativeimage_p.h qt-everywhere-opensource-src-4.7.3_haiku/src/gui/image/qnativeimage_p.h
---- qt-everywhere-opensource-src-4.7.3/src/gui/image/qnativeimage_p.h 2011-03-30 05:19:04.011010048 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/src/gui/image/qnativeimage_p.h 2011-06-13 22:06:43.254017536 +0000
-@@ -64,6 +64,9 @@
- #elif defined(Q_WS_MAC)
- #include
-
-+#elif defined(Q_WS_HAIKU)
-+#include
-+
- #endif
-
- QT_BEGIN_NAMESPACE
-@@ -95,6 +98,10 @@ public:
-
- #elif defined(Q_WS_MAC)
- CGContextRef cg;
-+
-+#elif defined(Q_WS_HAIKU)
-+ BBitmap* bitmap;
-+
- #endif
-
- private:
-diff -rupN qt-everywhere-opensource-src-4.7.3/src/gui/image/qpixmap.cpp qt-everywhere-opensource-src-4.7.3_haiku/src/gui/image/qpixmap.cpp
---- qt-everywhere-opensource-src-4.7.3/src/gui/image/qpixmap.cpp 2011-03-30 05:19:04.009961472 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/src/gui/image/qpixmap.cpp 2011-06-13 22:06:43.257425408 +0000
-@@ -71,6 +71,10 @@
- # include "private/qpixmap_mac_p.h"
- #endif
-
-+#ifdef Q_WS_HAIKU
-+# include "private/qpixmap_haiku_p.h"
-+#endif
-+
- #if defined(Q_WS_X11)
- # include "qx11info_x11.h"
- # include
-@@ -1960,6 +1964,8 @@ int QPixmap::defaultDepth()
- return 32; // XXX
- #elif defined(Q_WS_MAC)
- return 32;
-+#elif defined(Q_WS_HAIKU)
-+ return 32;
- #elif defined(Q_OS_SYMBIAN)
- return S60->screenDepth;
- #endif
-diff -rupN qt-everywhere-opensource-src-4.7.3/src/gui/image/qpixmap.h qt-everywhere-opensource-src-4.7.3_haiku/src/gui/image/qpixmap.h
---- qt-everywhere-opensource-src-4.7.3/src/gui/image/qpixmap.h 2011-03-30 05:19:04.009437184 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/src/gui/image/qpixmap.h 2011-06-13 22:06:43.259784704 +0000
-@@ -57,6 +57,10 @@ class CFbsBitmap;
- class RSgImage;
- #endif
-
-+#if defined(Q_OS_HAIKU)
-+class BBitmap;
-+#endif
-+
- QT_BEGIN_NAMESPACE
-
- QT_MODULE(Gui)
-@@ -164,6 +168,11 @@ public:
- static QPixmap fromMacCGImageRef(CGImageRef image);
- #endif
-
-+#if defined(Q_OS_HAIKU)
-+ BBitmap *toHaikuBitmap() const;
-+ static QPixmap fromHaikuBitmap(BBitmap *);
-+#endif
-+
- #if defined(Q_OS_SYMBIAN)
- CFbsBitmap *toSymbianCFbsBitmap() const;
- static QPixmap fromSymbianCFbsBitmap(CFbsBitmap *bitmap);
-diff -rupN qt-everywhere-opensource-src-4.7.3/src/gui/image/qpixmap_haiku.cpp qt-everywhere-opensource-src-4.7.3_haiku/src/gui/image/qpixmap_haiku.cpp
---- qt-everywhere-opensource-src-4.7.3/src/gui/image/qpixmap_haiku.cpp 1970-01-01 00:00:00.000000000 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/src/gui/image/qpixmap_haiku.cpp 2011-06-13 22:06:43.261619712 +0000
-@@ -0,0 +1,126 @@
-+#include "qpixmap.h"
-+
-+#include "qpixmap_raster_p.h"
-+
-+#include "qbitmap.h"
-+#include "qimage.h"
-+#include "qwidget.h"
-+#include "qpainter.h"
-+#include "qdatastream.h"
-+#include "qbuffer.h"
-+#include "qapplication.h"
-+#include "qevent.h"
-+#include "qfile.h"
-+#include "qfileinfo.h"
-+#include "qdatetime.h"
-+#include "qpixmapcache.h"
-+#include "qimagereader.h"
-+#include "qimagewriter.h"
-+#include "qdebug.h"
-+
-+#include
-+
-+#include
-+#include
-+#include
-+#include
-+
-+BBitmap *
-+QPixmap::toHaikuBitmap() const
-+{
-+ BBitmap *bitmap = NULL;
-+
-+ if (isNull())
-+ return 0;
-+
-+ if (data->classId() == QPixmapData::RasterClass) {
-+ QRasterPixmapData* d = static_cast(data.data());
-+ int w = d->image.width();
-+ int h = d->image.height();
-+
-+ const QImage image = d->image.convertToFormat(QImage::Format_ARGB32);
-+ int bytes_per_line = w * 4;
-+
-+ bitmap = new BBitmap(BRect(0,0,w-1,h-1), B_RGBA32);
-+ uchar *pixels = (uchar *)bitmap->Bits();
-+
-+ for (int y=0; yfromImage(toImage(), Qt::AutoColor);
-+ return QPixmap(data).toHaikuBitmap();
-+ }
-+ return bitmap;
-+}
-+
-+QPixmap
-+QPixmap::fromHaikuBitmap(BBitmap *bmp)
-+{
-+ if(!bmp)
-+ return QPixmap();
-+
-+ int w = bmp->Bounds().IntegerWidth() + 1;
-+ int h = bmp->Bounds().IntegerHeight() + 1;
-+
-+ QImage image(w,h,QImage::Format_ARGB32);
-+
-+ int bytes_per_line = w * 4;
-+ uchar *pixels = (uchar *)bmp->Bits();
-+
-+ for (int y=0; yColorSpace()) {
-+ case B_GRAY1:
-+ format = QImage::Format_Mono;
-+ break;
-+ case B_GRAY8:
-+ case B_CMAP8:
-+ format = QImage::Format_Indexed8;
-+ break;
-+ case B_RGB15:
-+ case B_RGBA15:
-+ case B_RGB16:
-+ format = QImage::Format_RGB16;
-+ break;
-+ case B_RGB32:
-+ default:
-+ format = QImage::Format_RGB32;
-+ break;
-+ }
-+
-+ QRect grabRect(x,y,w,h);
-+ QImage image((uchar*)bitmap->Bits(), screen_w, screen_h, bitmap->BytesPerRow(), format);
-+ image = image.copy(grabRect);
-+
-+ delete bitmap;
-+
-+ return QPixmap::fromImage(image);
-+}
-+
-diff -rupN qt-everywhere-opensource-src-4.7.3/src/gui/image/qpixmap_haiku_p.h qt-everywhere-opensource-src-4.7.3_haiku/src/gui/image/qpixmap_haiku_p.h
---- qt-everywhere-opensource-src-4.7.3/src/gui/image/qpixmap_haiku_p.h 1970-01-01 00:00:00.000000000 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/src/gui/image/qpixmap_haiku_p.h 2011-06-13 22:06:43.272367616 +0000
-@@ -0,0 +1,6 @@
-+#include "qpixmap.h"
-+#include "qpixmapdata_p.h"
-+
-+#include
-+#include
-+
-diff -rupN qt-everywhere-opensource-src-4.7.3/src/gui/image/qpixmapdatafactory.cpp qt-everywhere-opensource-src-4.7.3_haiku/src/gui/image/qpixmapdatafactory.cpp
---- qt-everywhere-opensource-src-4.7.3/src/gui/image/qpixmapdatafactory.cpp 2011-03-30 05:19:04.015990784 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/src/gui/image/qpixmapdatafactory.cpp 2011-06-13 22:06:43.274464768 +0000
-@@ -56,6 +56,9 @@
- #ifdef Q_OS_SYMBIAN
- # include
- #endif
-+#ifdef Q_WS_HAIKU
-+# include
-+#endif
-
- #include "private/qapplication_p.h"
- #include "private/qgraphicssystem_p.h"
-@@ -83,7 +86,9 @@ QPixmapData* QSimplePixmapDataFactory::c
- #elif defined(Q_WS_MAC)
- return new QMacPixmapData(type);
- #elif defined(Q_OS_SYMBIAN)
-- return new QS60PixmapData(type);
-+ return new QS60PixmapData(type);
-+#elif defined(Q_WS_HAIKU)
-+ return new QRasterPixmapData(type);
- #else
- #error QSimplePixmapDataFactory::create() not implemented
- #endif
-diff -rupN qt-everywhere-opensource-src-4.7.3/src/gui/itemviews/qfileiconprovider.cpp qt-everywhere-opensource-src-4.7.3_haiku/src/gui/itemviews/qfileiconprovider.cpp
---- qt-everywhere-opensource-src-4.7.3/src/gui/itemviews/qfileiconprovider.cpp 2011-03-30 05:19:05.040894464 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/src/gui/itemviews/qfileiconprovider.cpp 2011-06-13 22:06:43.277348352 +0000
-@@ -53,6 +53,11 @@
- # include
- #elif defined(Q_WS_MAC)
- # include
-+#elif defined(Q_WS_HAIKU)
-+# include
-+# include
-+# include
-+# include
- #endif
-
- #include
-@@ -98,6 +103,8 @@ public:
- QIcon getWinIcon(const QFileInfo &fi) const;
- #elif defined(Q_WS_MAC)
- QIcon getMacIcon(const QFileInfo &fi) const;
-+#elif defined(Q_WS_HAIKU)
-+ QIcon getHaikuIcon(const QFileInfo &fi) const;
- #endif
- QFileIconProvider *q_ptr;
- const QString homePath;
-@@ -389,6 +396,33 @@ QIcon QFileIconProviderPrivate::getMacIc
-
- return retIcon;
- }
-+#elif defined(Q_WS_HAIKU)
-+QIcon QFileIconProviderPrivate::getHaikuIcon(const QFileInfo &fi) const
-+{
-+ QIcon retIcon;
-+
-+ BNode node(fi.canonicalFilePath().toUtf8().constData());
-+ if (node.InitCheck() == B_OK) {
-+ BNodeInfo nodeinfo(&node);
-+
-+ BBitmap *hIcon = new BBitmap(BRect(0, 0, 15, 15), B_RGBA32);
-+ nodeinfo.GetTrackerIcon(hIcon, B_MINI_ICON);
-+ if(hIcon) {
-+ QPixmap p = QPixmap::fromHaikuBitmap(hIcon);
-+ retIcon.addPixmap(p);
-+ delete hIcon;
-+ }
-+
-+ BBitmap *hIconBig = new BBitmap(BRect(0, 0, 31, 31), B_RGBA32);
-+ nodeinfo.GetTrackerIcon(hIcon, B_LARGE_ICON);
-+ if(hIconBig) {
-+ QPixmap p = QPixmap::fromHaikuBitmap(hIconBig);
-+ retIcon.addPixmap(p);
-+ delete hIconBig;
-+ }
-+ }
-+ return retIcon;
-+}
- #endif
-
-
-@@ -420,6 +454,10 @@ QIcon QFileIconProvider::icon(const QFil
- QIcon icon = d->getWinIcon(info);
- if (!icon.isNull())
- return icon;
-+#elif defined Q_WS_HAIKU
-+ QIcon icon = d->getHaikuIcon(info);
-+ if (!icon.isNull())
-+ return icon;
- #endif
- if (info.isRoot())
- #if defined (Q_WS_WIN) && !defined(Q_WS_WINCE)
-diff -rupN qt-everywhere-opensource-src-4.7.3/src/gui/kernel/haiku.pri qt-everywhere-opensource-src-4.7.3_haiku/src/gui/kernel/haiku.pri
---- qt-everywhere-opensource-src-4.7.3/src/gui/kernel/haiku.pri 1970-01-01 00:00:00.000000000 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/src/gui/kernel/haiku.pri 2011-06-13 22:06:43.279445504 +0000
-@@ -0,0 +1,2 @@
-+DEFINES += QT_NO_FONTCONFIG
-+LIBS_PRIVATE += -lbe
-diff -rupN qt-everywhere-opensource-src-4.7.3/src/gui/kernel/kernel.pri qt-everywhere-opensource-src-4.7.3_haiku/src/gui/kernel/kernel.pri
---- qt-everywhere-opensource-src-4.7.3/src/gui/kernel/kernel.pri 2011-03-30 05:19:04.051118080 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/src/gui/kernel/kernel.pri 2011-06-13 22:06:43.281018368 +0000
-@@ -262,3 +262,18 @@ wince*: {
- ../corelib/kernel/qfunctions_wince.cpp \
- kernel/qguifunctions_wince.cpp
- }
-+
-+haiku {
-+ HEADERS += kernel/qwidget_haiku.h
-+
-+ SOURCES += \
-+ kernel/qapplication_haiku.cpp \
-+ kernel/qwidget_haiku.cpp \
-+ kernel/qdnd_haiku.cpp \
-+ kernel/qdesktopwidget_haiku.cpp \
-+ kernel/qclipboard_haiku.cpp \
-+ kernel/qcursor_haiku.cpp \
-+ kernel/qkeymapper_haiku.cpp \
-+ kernel/qsound_haiku.cpp \
-+ kernel/qeventdispatcher_haiku.cpp
-+}
-diff -rupN qt-everywhere-opensource-src-4.7.3/src/gui/kernel/qapplication.cpp qt-everywhere-opensource-src-4.7.3_haiku/src/gui/kernel/qapplication.cpp
---- qt-everywhere-opensource-src-4.7.3/src/gui/kernel/qapplication.cpp 2011-03-30 05:19:04.057671680 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/src/gui/kernel/qapplication.cpp 2011-06-13 22:06:43.288096256 +0000
-@@ -4760,7 +4760,7 @@ bool QApplicationPrivate::notify_helper(
- Stubbed session management support
- *****************************************************************************/
- #ifndef QT_NO_SESSIONMANAGER
--#if defined(Q_WS_WIN) || defined(Q_WS_MAC) || defined(Q_WS_QWS)
-+#if defined(Q_WS_WIN) || defined(Q_WS_MAC) || defined(Q_WS_QWS) || defined(Q_WS_HAIKU)
-
- #if defined(Q_OS_WINCE)
- HRESULT qt_CoCreateGuid(GUID* guid)
-diff -rupN qt-everywhere-opensource-src-4.7.3/src/gui/kernel/qapplication_haiku.cpp qt-everywhere-opensource-src-4.7.3_haiku/src/gui/kernel/qapplication_haiku.cpp
---- qt-everywhere-opensource-src-4.7.3/src/gui/kernel/qapplication_haiku.cpp 1970-01-01 00:00:00.000000000 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/src/gui/kernel/qapplication_haiku.cpp 2011-06-13 22:06:43.291241984 +0000
-@@ -0,0 +1,655 @@
-+#include "qapplication_p.h"
-+#include "qsessionmanager.h"
-+#include "qapplication.h"
-+#include "qevent.h"
-+#include "qeventdispatcher_haiku_p.h"
-+#include "qwidget.h"
-+#include "qwidget_p.h"
-+#include "private/qsystemtrayicon_p.h"
-+#include
-+#include
-+#include
-+#include
-+#include
-+#include
-+#include
-+#include
-+
-+/*****************************************************************************
-+ Internal variables and functions
-+ *****************************************************************************/
-+static WId curWin;
-+
-+// ignore the next release event if return from a modal widget
-+Q_GUI_EXPORT bool qt_win_ignoreNextMouseReleaseEvent = false;
-+
-+#if defined(QT_DEBUG)
-+static bool appNoGrab = false; // mouse/keyboard grabbing
-+#endif
-+
-+static bool app_do_modal = false; // modal mode
-+extern QWidgetList *qt_modal_stack;
-+//extern QDesktopWidget *qt_desktopWidget;
-+//static QPointer popupButtonFocus;
-+
-+QPointer qt_last_mouse_receiver = 0;
-+QWidget* qt_button_down = 0;
-+QTextCodec * qt_input_mapper = 0;
-+
-+char *qAppSignature = NULL;
-+
-+bool qt_nograb() // application no-grab option
-+{
-+#if defined(QT_DEBUG)
-+ return appNoGrab;
-+#else
-+ return false;
-+#endif
-+}
-+
-+class HQApplication : public BApplication
-+{
-+public:
-+ HQApplication(const char*, QApplicationPrivate *priv);
-+ ~HQApplication();
-+
-+ virtual void MessageReceived(BMessage *message);
-+ void ArgvReceived(int32 argc, char **argv);
-+ void RefsReceived(BMessage *pmsg);
-+ virtual bool QuitRequested();
-+ bool RefHandled;
-+ entry_ref Ref;
-+private:
-+ BMessenger fTrackerMessenger;
-+ QApplicationPrivate *priv_ptr;
-+};
-+
-+namespace {
-+static HQApplication* happ = 0;
-+}
-+
-+HQApplication::HQApplication(const char* signature, QApplicationPrivate *priv)
-+ : BApplication(signature)
-+{
-+ RefHandled = false;
-+
-+ qDebug("Reimp: HQApplication::HQApplication\n");
-+
-+ if(qAppSignature)
-+ free(qAppSignature);
-+ qAppSignature = strdup(signature);
-+
-+ priv_ptr = priv;
-+}
-+
-+HQApplication::~HQApplication()
-+{
-+ qDebug("Reimp: HQApplication::~HQApplication\n");
-+}
-+
-+void HQApplication::MessageReceived(BMessage* msg)
-+{
-+ BApplication::MessageReceived(msg);
-+}
-+
-+void
-+HQApplication::RefsReceived(BMessage *pmsg)
-+{
-+ if (pmsg->HasMessenger("TrackerViewToken")) {
-+ pmsg->FindMessenger("TrackerViewToken", &fTrackerMessenger);
-+ }
-+
-+ uint32 type;
-+ int32 count;
-+ status_t ret = pmsg->GetInfo("refs", &type, &count);
-+ if (ret != B_OK || type != B_REF_TYPE)
-+ return;
-+
-+ entry_ref ref;
-+ for (int32 i = 0; i < count; i++) {
-+ if (pmsg->FindRef("refs", i, &ref) == B_OK) {
-+ BPath p(&ref);
-+ Ref = ref;
-+ RefHandled = true;
-+ }
-+ }
-+}
-+
-+void
-+HQApplication::ArgvReceived(int32 argc, char **argv)
-+{
-+}
-+
-+bool
-+HQApplication::QuitRequested() {
-+ QEvent quitEvent(QEvent::Quit);
-+ QApplication::sendEvent(qApp, &quitEvent);
-+ return true;
-+}
-+
-+
-+int32 AppThread(void *data)
-+{
-+ HQApplication *app = (HQApplication*)data;
-+ app->LockLooper();
-+ app->Run();
-+}
-+
-+
-+void qt_init(QApplicationPrivate *priv, int)
-+{
-+ int i;
-+ qDebug("qt_init()");
-+
-+ thread_id my_thread;
-+
-+ happ = new HQApplication("application/x-vnd."+QFileInfo(QApplication::applicationFilePath()).fileName().toLatin1(), priv );
-+ be_app = happ;
-+
-+ QApplicationPrivate::haiku_apply_settings();
-+
-+ my_thread = spawn_thread(AppThread,"app_thread",1,(void*)happ);
-+ resume_thread(my_thread);
-+
-+ happ->UnlockLooper();
-+
-+ if(priv->argc==1) {
-+ for(i=0;i<100;i++) {
-+ if(happ->RefHandled) {
-+ BPath p(&happ->Ref);
-+ priv->argc = 2;
-+ priv->argv[1]=strdup(p.Path());
-+ priv->argv[2]=0;
-+ break;
-+ }
-+ snooze(1000);
-+ }
-+
-+ QString appDir = QCoreApplication::applicationDirPath();
-+ chdir(appDir.toUtf8());
-+ }
-+}
-+
-+void qt_cleanup()
-+{
-+ qDebug("qt_cleanup()");
-+}
-+
-+void QApplicationPrivate::_q_alertTimeOut()
-+{
-+ qDebug("Unimplemented: void QApplicationPrivate::_q_alertTimeOut()\n");
-+}
-+
-+QString QApplicationPrivate::appName() const
-+{
-+ return QCoreApplicationPrivate::appName();
-+}
-+
-+void QApplicationPrivate::createEventDispatcher()
-+{
-+ Q_Q(QApplication);
-+ qDebug("Reimplemented: void QApplicationPrivate::createEventDispatcher\n");
-+ if (q->type() != QApplication::Tty)
-+ eventDispatcher = new QEventDispatcherHaiku(q);
-+ else
-+ eventDispatcher = new QEventDispatcherUNIX(q);
-+}
-+
-+/*****************************************************************************
-+ Popup widget mechanism
-+
-+ openPopup()
-+ Adds a widget to the list of popup widgets
-+ Arguments:
-+ QWidget *widget The popup widget to be added
-+
-+ closePopup()
-+ Removes a widget from the list of popup widgets
-+ Arguments:
-+ QWidget *widget The popup widget to be removed
-+ *****************************************************************************/
-+
-+
-+void QApplicationPrivate::openPopup(QWidget *popup)
-+{
-+ if (!QApplicationPrivate::popupWidgets)
-+ QApplicationPrivate::popupWidgets = new QWidgetList;
-+ QApplicationPrivate::popupWidgets->append(popup);
-+ if (!popup->isEnabled())
-+ return;
-+
-+ if (QApplicationPrivate::popupWidgets->count() == 1 && !qt_nograb()) {
-+ Q_ASSERT(popup->testAttribute(Qt::WA_WState_Created));
-+// setAutoCapture(popup->internalWinId()); // grab mouse/keyboard
-+ }
-+ // Popups are not focus-handled by the window system (the first
-+ // popup grabbed the keyboard), so we have to do that manually: A
-+ // new popup gets the focus
-+ if (popup->focusWidget()) {
-+ popup->focusWidget()->setFocus(Qt::PopupFocusReason);
-+ } else if (QApplicationPrivate::popupWidgets->count() == 1) { // this was the first popup
-+ if (QWidget *fw = q_func()->focusWidget()) {
-+ QFocusEvent e(QEvent::FocusOut, Qt::PopupFocusReason);
-+ q_func()->sendEvent(fw, &e);
-+ }
-+ }
-+}
-+
-+void QApplicationPrivate::closePopup(QWidget *popup)
-+{
-+ if (!QApplicationPrivate::popupWidgets)
-+ return;
-+ QApplicationPrivate::popupWidgets->removeAll(popup);
-+// POINT curPos;
-+// GetCursorPos(&curPos);
-+
-+ if (QApplicationPrivate::popupWidgets->isEmpty()) { // this was the last popup
-+ delete QApplicationPrivate::popupWidgets;
-+ QApplicationPrivate::popupWidgets = 0;
-+// replayPopupMouseEvent = (!popup->geometry().contains(QPoint(curPos.x, curPos.y))
-+// && !popup->testAttribute(Qt::WA_NoMouseReplay));
-+ if (!popup->isEnabled())
-+ return;
-+// if (!qt_nograb()) // grabbing not disabled
-+// releaseAutoCapture();
-+ QWidget *fw = QApplicationPrivate::active_window ? QApplicationPrivate::active_window->focusWidget()
-+ : q_func()->focusWidget();
-+ if (fw) {
-+ if (fw != q_func()->focusWidget()) {
-+ fw->setFocus(Qt::PopupFocusReason);
-+ } else {
-+ QFocusEvent e(QEvent::FocusIn, Qt::PopupFocusReason);
-+ q_func()->sendEvent(fw, &e);
-+ }
-+ }
-+ } else {
-+ // Popups are not focus-handled by the window system (the
-+ // first popup grabbed the keyboard), so we have to do that
-+ // manually: A popup was closed, so the previous popup gets
-+ // the focus.
-+ QWidget* aw = QApplicationPrivate::popupWidgets->last();
-+ if (QApplicationPrivate::popupWidgets->count() == 1) {
-+ Q_ASSERT(aw->testAttribute(Qt::WA_WState_Created));
-+// setAutoCapture(aw->internalWinId());
-+ }
-+ if (QWidget *fw = aw->focusWidget())
-+ fw->setFocus(Qt::PopupFocusReason);
-+ }
-+}
-+
-+void QApplicationPrivate::initializeWidgetPaletteHash()
-+{
-+ qDebug("Unimplemented: QApplicationPrivate::initializeWidgetPaletteHash\n");
-+}
-+
-+/*! \internal
-+ apply the settings to the application
-+*/
-+bool QApplicationPrivate::haiku_apply_settings()
-+{
-+ QSettings settings(QSettings::UserScope, QLatin1String("Trolltech"));
-+
-+ settings.beginGroup(QLatin1String("Qt"));
-+
-+ /*
-+ Qt settings. This is now they are written into the datastream.
-+
-+ Palette / * - QPalette
-+ font - QFont
-+ libraryPath - QStringList
-+ style - QString
-+ doubleClickInterval - int
-+ keyboardInputInterval - int
-+ cursorFlashTime - int
-+ wheelScrollLines - int
-+ colorSpec - QString
-+ defaultCodec - QString
-+ globalStrut/width - int
-+ globalStrut/height - int
-+ GUIEffects - QStringList
-+ Font Substitutions/ * - QStringList
-+ Font Substitutions/... - QStringList
-+ */
-+
-+ QStringList strlist;
-+ int i;
-+ QPalette pal(Qt::black);
-+ int groupCount = 0;
-+ strlist = settings.value(QLatin1String("Palette/active")).toStringList();
-+ if (!strlist.isEmpty()) {
-+ ++groupCount;
-+ for (i = 0; i < qMin(strlist.count(), int(QPalette::NColorRoles)); i++)
-+ pal.setColor(QPalette::Active, (QPalette::ColorRole) i,
-+ QColor(strlist[i]));
-+ }
-+ strlist = settings.value(QLatin1String("Palette/inactive")).toStringList();
-+ if (!strlist.isEmpty()) {
-+ ++groupCount;
-+ for (i = 0; i < qMin(strlist.count(), int(QPalette::NColorRoles)); i++)
-+ pal.setColor(QPalette::Inactive, (QPalette::ColorRole) i,
-+ QColor(strlist[i]));
-+ }
-+ strlist = settings.value(QLatin1String("Palette/disabled")).toStringList();
-+ if (!strlist.isEmpty()) {
-+ ++groupCount;
-+ for (i = 0; i < qMin(strlist.count(), int(QPalette::NColorRoles)); i++)
-+ pal.setColor(QPalette::Disabled, (QPalette::ColorRole) i,
-+ QColor(strlist[i]));
-+ }
-+
-+/* if (!appFont) {
-+ QFont font(QApplication::font());
-+ QString fontDescription;
-+ if (fontDescription.isEmpty())
-+ fontDescription = settings.value(QLatin1String("font")).toString();
-+ if (!fontDescription .isEmpty()) {
-+ font.fromString(fontDescription );
-+ QApplicationPrivate::setSystemFont(font);
-+ }
-+ }*/
-+
-+ // read new QStyle
-+ QString stylename = settings.value(QLatin1String("style")).toString();
-+ if (stylename.isEmpty() && QApplicationPrivate::styleOverride.isNull()) {
-+ QStringList availableStyles = QStyleFactory::keys();
-+ }
-+
-+ static QString currentStyleName = stylename;
-+ if (QCoreApplication::startingUp()) {
-+ if (!stylename.isEmpty() && QApplicationPrivate::styleOverride.isNull())
-+ QApplicationPrivate::styleOverride = stylename;
-+ } else {
-+ if (currentStyleName != stylename) {
-+ currentStyleName = stylename;
-+ QApplication::setStyle(stylename);
-+ }
-+ }
-+
-+ int num =
-+ settings.value(QLatin1String("doubleClickInterval"),
-+ QApplication::doubleClickInterval()).toInt();
-+ QApplication::setDoubleClickInterval(num);
-+
-+ num =
-+ settings.value(QLatin1String("cursorFlashTime"),
-+ QApplication::cursorFlashTime()).toInt();
-+ QApplication::setCursorFlashTime(num);
-+
-+ num =
-+ settings.value(QLatin1String("wheelScrollLines"),
-+ QApplication::wheelScrollLines()).toInt();
-+ QApplication::setWheelScrollLines(num);
-+
-+ QString colorspec = settings.value(QLatin1String("colorSpec"),
-+ QVariant(QLatin1String("default"))).toString();
-+ if (colorspec == QLatin1String("normal"))
-+ QApplication::setColorSpec(QApplication::NormalColor);
-+ else if (colorspec == QLatin1String("custom"))
-+ QApplication::setColorSpec(QApplication::CustomColor);
-+ else if (colorspec == QLatin1String("many"))
-+ QApplication::setColorSpec(QApplication::ManyColor);
-+ else if (colorspec != QLatin1String("default"))
-+ colorspec = QLatin1String("default");
-+
-+/* QString defaultcodec = settings.value(QLatin1String("defaultCodec"),
-+ QVariant(QLatin1String("none"))).toString();
-+ if (defaultcodec != QLatin1String("none")) {
-+ QTextCodec *codec = QTextCodec::codecForName(defaultcodec.toLatin1());
-+ if (codec)
-+ QTextCodec::setCodecForTr(codec);
-+ }*/
-+ QTextCodec *codec = QTextCodec::codecForName("UTF-8");
-+ if (codec) {
-+ QTextCodec::setCodecForLocale(codec);
-+ }
-+ qt_input_mapper = QTextCodec::codecForName("UTF-8");
-+
-+
-+ int w = settings.value(QLatin1String("globalStrut/width")).toInt();
-+ int h = settings.value(QLatin1String("globalStrut/height")).toInt();
-+ QSize strut(w, h);
-+ if (strut.isValid())
-+ QApplication::setGlobalStrut(strut);
-+
-+ QStringList effects = settings.value(QLatin1String("GUIEffects")).toStringList();
-+ QApplication::setEffectEnabled(Qt::UI_General,
-+ effects.contains(QLatin1String("general")));
-+ QApplication::setEffectEnabled(Qt::UI_AnimateMenu,
-+ effects.contains(QLatin1String("animatemenu")));
-+ QApplication::setEffectEnabled(Qt::UI_FadeMenu,
-+ effects.contains(QLatin1String("fademenu")));
-+ QApplication::setEffectEnabled(Qt::UI_AnimateCombo,
-+ effects.contains(QLatin1String("animatecombo")));
-+ QApplication::setEffectEnabled(Qt::UI_AnimateTooltip,
-+ effects.contains(QLatin1String("animatetooltip")));
-+ QApplication::setEffectEnabled(Qt::UI_FadeTooltip,
-+ effects.contains(QLatin1String("fadetooltip")));
-+ QApplication::setEffectEnabled(Qt::UI_AnimateToolBox,
-+ effects.contains(QLatin1String("animatetoolbox")));
-+
-+ settings.beginGroup(QLatin1String("Font Substitutions"));
-+ QStringList fontsubs = settings.childKeys();
-+ if (!fontsubs.isEmpty()) {
-+ QStringList::Iterator it = fontsubs.begin();
-+ for (; it != fontsubs.end(); ++it) {
-+ QString fam = *it;
-+ QStringList subs = settings.value(fam).toStringList();
-+ QFont::insertSubstitutions(fam, subs);
-+ }
-+ }
-+ settings.endGroup();
-+
-+ settings.endGroup(); // Qt
-+
-+ return true;
-+}
-+
-+
-+void QApplicationPrivate::haiku_initialize_style()
-+{
-+ if (QApplicationPrivate::app_style)
-+ return;
-+
-+ QApplicationPrivate::app_style = QStyleFactory::create(QLatin1String("haiku"));
-+}
-+
-+/*****************************************************************************
-+ Modal widgets; We have implemented our own modal widget mechanism
-+ to get total control.
-+ A modal widget without a parent becomes application-modal.
-+ A modal widget with a parent becomes modal to its parent and grandparents..
-+
-+ QApplicationPrivate::enterModal()
-+ Enters modal state
-+ Arguments:
-+ QWidget *widget A modal widget
-+
-+ QApplicationPrivate::leaveModal()
-+ Leaves modal state for a widget
-+ Arguments:
-+ QWidget *widget A modal widget
-+ *****************************************************************************/
-+
-+bool QApplicationPrivate::modalState()
-+{
-+ //qDebug()<<"Unimplemented: QApplicationPrivate::modalState():"<insert(0, widget);
-+ app_do_modal = true;
-+ curWin = 0;
-+ qt_last_mouse_receiver = 0;
-+ qt_win_ignoreNextMouseReleaseEvent = false;
-+}
-+
-+void QApplicationPrivate::leaveModal_sys(QWidget *widget)
-+{
-+ //qDebug()<<"Unimplemented: QApplicationPrivate::leaveModal_sys(). Widget:"<removeAll(widget)) {
-+ if (qt_modal_stack->isEmpty()) {
-+ delete qt_modal_stack;
-+ qt_modal_stack = 0;
-+ QPoint p(QCursor::pos());
-+ app_do_modal = false; // necessary, we may get recursively into qt_try_modal below
-+ QWidget* w = QApplication::widgetAt(p.x(), p.y());
-+ QWidget *leave = qt_last_mouse_receiver;
-+ if (!leave)
-+ leave = QWidget::find((WId)curWin);
-+ if (QWidget *grabber = QWidget::mouseGrabber()) {
-+ w = grabber;
-+ if (leave == w)
-+ leave = 0;
-+ }
-+ QApplicationPrivate::dispatchEnterLeave(w, leave); // send synthetic enter event
-+ curWin = w ? w->effectiveWinId() : 0;
-+ qt_last_mouse_receiver = w;
-+ }
-+ qt_win_ignoreNextMouseReleaseEvent = true;
-+ }
-+ app_do_modal = qt_modal_stack != 0;
-+}
-+
-+
-+/*****************************************************************************
-+ Platform specific QApplication members
-+ *****************************************************************************/
-+
-+#ifdef QT3_SUPPORT
-+void QApplication::setMainWidget(QWidget *mainWidget)
-+{
-+#ifndef QT_NO_DEBUG
-+ if (mainWidget && mainWidget->parentWidget() && mainWidget->isWindow())
-+ qWarning("QApplication::setMainWidget: New main widget (%s/%s) "
-+ "has a parent",
-+ mainWidget->metaObject()->className(), mainWidget->objectName().toLocal8Bit().constData());
-+#endif
-+ if (mainWidget)
-+ mainWidget->d_func()->createWinId();
-+ QApplicationPrivate::main_widget = mainWidget;
-+}
-+#endif
-+
-+void QApplication::setDoubleClickInterval(int ms)
-+{
-+// qDebug("Reimplemented: QApplicationPrivate::setDoubleClickInterval - %d\n", ms);
-+#if 0 //change system dblclick interval currently disabled
-+ QApplicationPrivate::mouse_double_click_time = ms;
-+ bigtime_t interval = ms*1000;
-+ set_click_speed(interval);
-+#endif
-+}
-+
-+int QApplication::doubleClickInterval()
-+{
-+ bigtime_t interval;
-+ get_click_speed(&interval);
-+
-+ QApplicationPrivate::mouse_double_click_time = (int)(interval/1000);
-+
-+ return QApplicationPrivate::mouse_double_click_time;
-+}
-+
-+void QApplication::setKeyboardInputInterval(int ms)
-+{
-+ QApplicationPrivate::keyboard_input_time = ms;
-+}
-+
-+int QApplication::keyboardInputInterval()
-+{
-+ // FIXME: get from the system
-+ return QApplicationPrivate::keyboard_input_time;
-+}
-+
-+void QApplication::setWheelScrollLines(int n)
-+{
-+ QApplicationPrivate::wheel_scroll_lines = n;
-+}
-+
-+int QApplication::wheelScrollLines()
-+{
-+ return QApplicationPrivate::wheel_scroll_lines;
-+}
-+
-+void QApplication::setOverrideCursor(const QCursor &cursor)
-+{
-+ Q_UNUSED(cursor);
-+ qDebug("Unimplemented: QApplication::setOverrideCursor\n");
-+}
-+
-+void QApplication::restoreOverrideCursor()
-+{
-+ qDebug("Unimplemented: QApplication::restoreOverrideCursor\n");
-+}
-+
-+void QApplication::setEffectEnabled(Qt::UIEffect effect, bool enable)
-+{
-+ Q_UNUSED(effect);
-+ Q_UNUSED(enable);
-+// qDebug("Unimplemented: QApplication::setEffectEnabled\n");
-+}
-+
-+bool QApplication::isEffectEnabled(Qt::UIEffect effect)
-+{
-+ Q_UNUSED(effect);
-+// qDebug("Unimplemented: QApplication::isEffectEnabled\n");
-+ return false;
-+}
-+
-+void QApplication::setCursorFlashTime(int msecs)
-+{
-+ QApplicationPrivate::cursor_flash_time = msecs;
-+}
-+
-+int QApplication::cursorFlashTime()
-+{
-+ return QApplicationPrivate::cursor_flash_time;
-+}
-+
-+QWidget *QApplication::topLevelAt(const QPoint &point)
-+{
-+ QWidget *found = 0;
-+ int lowestZ = INT_MAX;
-+ QWidgetList list = QApplication::topLevelWidgets();
-+ for (int i = 0; i < list.count(); ++i) {
-+ QWidget *widget = list.at(i);
-+ if (widget->isVisible() && !(widget->windowType() == Qt::Desktop)) {
-+ if (widget->geometry().adjusted(0,0,1,1).contains(point)) {
-+ found = widget; //TODO: check for z-order needed!
-+ if(widget->nativeView()->Window()->IsActive())
-+ break;
-+ }
-+ }
-+ }
-+ return found;
-+}
-+
-+void QApplication::beep()
-+{
-+}
-+
-+void QApplication::alert(QWidget *widget, int duration)
-+{
-+}
-+
-+void QApplicationPrivate::initializeMultitouch_sys()
-+{
-+}
-+
-+void QApplicationPrivate::cleanupMultitouch_sys()
-+{
-+}
-diff -rupN qt-everywhere-opensource-src-4.7.3/src/gui/kernel/qapplication_p.h qt-everywhere-opensource-src-4.7.3_haiku/src/gui/kernel/qapplication_p.h
---- qt-everywhere-opensource-src-4.7.3/src/gui/kernel/qapplication_p.h 2011-03-30 05:19:04.050331648 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/src/gui/kernel/qapplication_p.h 2011-06-13 22:06:43.293339136 +0000
-@@ -302,6 +302,8 @@ public:
- #elif defined(Q_WS_QWS)
- static bool qws_apply_settings();
- static QWidget *findWidget(const QObjectList&, const QPoint &, bool rec);
-+#elif defined(Q_WS_HAIKU)
-+ static bool haiku_apply_settings();
- #endif
- static bool quitOnLastWindowClosed;
- static void emitLastWindowClosed();
-@@ -349,6 +351,10 @@ public:
- static void x11_initialize_style();
- #endif
-
-+#if defined(Q_WS_HAIKU)
-+ static void haiku_initialize_style();
-+#endif
-+
- enum KeyPlatform {
- KB_Win = 1,
- KB_Mac = 2,
-@@ -499,7 +505,7 @@ public:
- static Qt::NavigationMode navigationMode;
- #endif
-
--#if defined(Q_WS_MAC) || defined(Q_WS_X11)
-+#if defined(Q_WS_MAC) || defined(Q_WS_X11) || defined(Q_WS_HAIKU)
- void _q_alertTimeOut();
- QHash alertTimerHash;
- #endif
-diff -rupN qt-everywhere-opensource-src-4.7.3/src/gui/kernel/qclipboard_haiku.cpp qt-everywhere-opensource-src-4.7.3_haiku/src/gui/kernel/qclipboard_haiku.cpp
---- qt-everywhere-opensource-src-4.7.3/src/gui/kernel/qclipboard_haiku.cpp 1970-01-01 00:00:00.000000000 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/src/gui/kernel/qclipboard_haiku.cpp 2011-06-13 22:06:43.295174144 +0000
-@@ -0,0 +1,105 @@
-+#include "qplatformdefs.h"
-+#include "qclipboard.h"
-+#include "qdebug.h"
-+#include "qtextcodec.h"
-+#include "qclipboard_p.h"
-+#include "qstringlist.h"
-+#include
-+
-+#include
-+#include
-+
-+bool QClipboard::event(QEvent *e)
-+{
-+ return true;
-+}
-+
-+void QClipboard::connectNotify(const char *)
-+{ }
-+
-+void QClipboard::ownerDestroyed()
-+{ }
-+
-+const QMimeData *QClipboard::mimeData(Mode mode) const
-+{
-+ extern QTextCodec *qt_input_mapper; // from qapplication_haiku.cpp
-+
-+ QMimeData *md = new QMimeData();
-+ if(mode == Clipboard) {
-+ BMessage* clip = (BMessage *)NULL;
-+ if (be_clipboard->Lock()) {
-+ if( clip = be_clipboard->Data()) {
-+ BMessage *msg = (BMessage*)(be_clipboard->Data());
-+
-+ char *name;
-+ uint32 type;
-+ int32 count;
-+
-+ for ( int i = 0; msg->GetInfo(B_MIME_TYPE, i, &name, &type, &count) == B_OK; i++ ) {
-+ const void *data;
-+ int32 dataLen = 0;
-+ qDebug() << "mimeData " << name;
-+ status_t stat = msg->FindData(name,B_MIME_TYPE,&data,&dataLen);
-+ if(dataLen && stat==B_OK) {
-+ QString mime(name);
-+ if(mime=="text/plain") {
-+ QString text((const char*)data);
-+ if (qt_input_mapper)
-+ text = qt_input_mapper->toUnicode((const char*)data, dataLen, 0);
-+ md->setText(text);
-+ } else if(mime=="text/html") {
-+ QString html((const char*)data);
-+ if (qt_input_mapper)
-+ html = qt_input_mapper->toUnicode((const char*)data, dataLen, 0);
-+ md->setHtml(html);
-+ } else {
-+ QByteArray clip_data((const char*)data, dataLen);
-+ md->setData(mime,clip_data);
-+ }
-+
-+ }
-+ }
-+ be_clipboard->Unlock();
-+ }
-+ }
-+ }
-+ return md;
-+}
-+
-+void QClipboard::setMimeData(QMimeData *src, Mode mode)
-+{
-+ if(mode != Clipboard)
-+ return;
-+ if (be_clipboard->Lock()) {
-+ be_clipboard->Clear();
-+ if (src){
-+ BMessage* clip = (BMessage *)NULL;
-+ if( clip = be_clipboard->Data()) {
-+ QStringList formats = src->formats();
-+ for(int f = 0; f < formats.size(); ++f) {
-+ QString mimeType = formats.at(f);
-+ qDebug() << "setMimeData " << mimeType;
-+ clip->AddData(mimeType.toUtf8(), B_MIME_TYPE, src->data(mimeType).data(), src->data(mimeType).count());
-+ }
-+ }
-+ }
-+ be_clipboard->Commit();
-+ be_clipboard->Unlock();
-+ }
-+}
-+
-+void QClipboard::clear(Mode mode)
-+{
-+ setMimeData(0, mode);
-+}
-+
-+bool QClipboard::supportsMode(QClipboard::Mode mode) const
-+{
-+ return (mode == Clipboard);
-+}
-+
-+bool QClipboard::ownsMode(QClipboard::Mode) const
-+{
-+ fprintf(stderr, "Unimplemented: QClipboard::ownsMode\n");
-+ return false;
-+}
-diff -rupN qt-everywhere-opensource-src-4.7.3/src/gui/kernel/qcursor.h qt-everywhere-opensource-src-4.7.3_haiku/src/gui/kernel/qcursor.h
---- qt-everywhere-opensource-src-4.7.3/src/gui/kernel/qcursor.h 2011-03-30 05:19:04.046399488 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/src/gui/kernel/qcursor.h 2011-06-13 22:06:43.297271296 +0000
-@@ -76,6 +76,10 @@ class QCursorData;
- class QBitmap;
- class QPixmap;
-
-+#if defined(Q_WS_HAIKU)
-+class BCursor;
-+#endif
-+
- #if defined(Q_WS_MAC)
- void qt_mac_set_cursor(const QCursor *c, const QPoint &p);
- #endif
-@@ -130,6 +134,8 @@ public:
- int handle() const;
- #elif defined(Q_OS_SYMBIAN)
- Qt::HANDLE handle() const;
-+#elif defined(Q_WS_HAIKU)
-+ BCursor *handle() const;
- #endif
- #endif
-
-diff -rupN qt-everywhere-opensource-src-4.7.3/src/gui/kernel/qcursor_haiku.cpp qt-everywhere-opensource-src-4.7.3_haiku/src/gui/kernel/qcursor_haiku.cpp
---- qt-everywhere-opensource-src-4.7.3/src/gui/kernel/qcursor_haiku.cpp 1970-01-01 00:00:00.000000000 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/src/gui/kernel/qcursor_haiku.cpp 2011-06-13 22:06:43.299630592 +0000
-@@ -0,0 +1,93 @@
-+#include "qcursor.h"
-+#include "qcursor_p.h"
-+
-+#include
-+#include
-+
-+#include
-+
-+int haiku_global_mouse_x = 0;
-+int haiku_global_mouse_y = 0;
-+
-+BCursor *HaikuCursorCache[32]={NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
-+ NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};
-+
-+int CursorMapList[]={ Qt::ArrowCursor, B_CURSOR_ID_SYSTEM_DEFAULT,
-+ Qt::UpArrowCursor, B_CURSOR_ID_RESIZE_NORTH,
-+ Qt::CrossCursor, B_CURSOR_ID_CROSS_HAIR,
-+ Qt::WaitCursor, B_CURSOR_ID_PROGRESS,
-+ Qt::IBeamCursor, B_CURSOR_ID_I_BEAM,
-+ Qt::SizeVerCursor, B_CURSOR_ID_RESIZE_NORTH_SOUTH,
-+ Qt::SizeHorCursor, B_CURSOR_ID_RESIZE_EAST_WEST,
-+ Qt::SizeBDiagCursor, B_CURSOR_ID_RESIZE_NORTH_EAST_SOUTH_WEST,
-+ Qt::SizeFDiagCursor, B_CURSOR_ID_RESIZE_NORTH_WEST_SOUTH_EAST,
-+ Qt::SizeAllCursor, B_CURSOR_ID_MOVE,
-+ Qt::BlankCursor, B_CURSOR_ID_NO_CURSOR,
-+ Qt::SplitVCursor, B_CURSOR_ID_RESIZE_NORTH_SOUTH,
-+ Qt::SplitHCursor, B_CURSOR_ID_RESIZE_EAST_WEST,
-+ Qt::PointingHandCursor, B_CURSOR_ID_FOLLOW_LINK,
-+ Qt::ForbiddenCursor, B_CURSOR_ID_NOT_ALLOWED,
-+ Qt::OpenHandCursor, B_CURSOR_ID_GRAB,
-+ Qt::ClosedHandCursor, B_CURSOR_ID_GRABBING,
-+ Qt::WhatsThisCursor, B_CURSOR_ID_HELP,
-+ Qt::BusyCursor, B_CURSOR_ID_PROGRESS
-+};
-+
-+
-+extern QCursorData *qt_cursorTable[Qt::LastCursor + 1]; // qcursor.cpp
-+
-+QPoint QCursor::pos()
-+{
-+ return QPoint(haiku_global_mouse_x,haiku_global_mouse_y);
-+}
-+
-+void QCursor::setPos(int x, int y)
-+{
-+// haiku_global_mouse_x = x;
-+// haiku_global_mouse_y = y;
-+}
-+
-+BCursor *QCursor::handle() const
-+{
-+ int i;
-+
-+ if (!QCursorData::initialized)
-+ QCursorData::initialize();
-+
-+ for(i=0;icshape) {
-+ if(HaikuCursorCache[CursorMapList[i+1]])
-+ return HaikuCursorCache[CursorMapList[i+1]];
-+ }
-+ }
-+
-+ return (BCursor*)B_CURSOR_SYSTEM_DEFAULT;
-+}
-+
-+QCursorData::QCursorData(Qt::CursorShape s)
-+ : cshape(s), bm(0), bmm(0), hx(0), hy(0)
-+{
-+ int i;
-+ for(i=0;iref.ref();
-+ return c;
-+}
-diff -rupN qt-everywhere-opensource-src-4.7.3/src/gui/kernel/qdesktopwidget_haiku.cpp qt-everywhere-opensource-src-4.7.3_haiku/src/gui/kernel/qdesktopwidget_haiku.cpp
---- qt-everywhere-opensource-src-4.7.3/src/gui/kernel/qdesktopwidget_haiku.cpp 1970-01-01 00:00:00.000000000 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/src/gui/kernel/qdesktopwidget_haiku.cpp 2011-06-13 22:06:43.301465600 +0000
-@@ -0,0 +1,75 @@
-+#include "qdesktopwidget.h"
-+#include "interface/Screen.h"
-+
-+
-+#include
-+
-+QDesktopWidget::QDesktopWidget()
-+ : QWidget(0, Qt::Desktop)
-+{
-+ //fprintf(stderr, "Unimplemented: QDesktopWidget::QDesktopWidget\n");
-+}
-+
-+QDesktopWidget::~QDesktopWidget()
-+{
-+ //fprintf(stderr, "Unimplemented: QDesktopWidget::~QDesktopWidget\n");
-+}
-+
-+void
-+QDesktopWidget::resizeEvent(QResizeEvent*)
-+{
-+ fprintf(stderr, "Unimplemented: QDesktopWidget::resizeEvent\n");
-+}
-+
-+const QRect QDesktopWidget::availableGeometry(int screen) const
-+{
-+ BScreen bscreen(B_MAIN_SCREEN_ID);
-+ BRect nsg = bscreen.Frame();
-+ return QRect(nsg.left,nsg.top,nsg.right,nsg.bottom);
-+}
-+
-+const QRect QDesktopWidget::screenGeometry(int screen) const
-+{
-+ BScreen bscreen(B_MAIN_SCREEN_ID);
-+ BRect nsg = bscreen.Frame();
-+ return QRect(nsg.left,nsg.top,nsg.right,nsg.bottom);
-+}
-+
-+int QDesktopWidget::screenNumber(const QWidget *widget) const
-+{
-+ Q_UNUSED(widget);
-+ //fprintf(stderr, "Reimplemented: QDesktopWidget::screenNumber(widget) \n");
-+ return 0;
-+}
-+
-+int QDesktopWidget::screenNumber(const QPoint &point) const
-+{
-+ Q_UNUSED(point);
-+ //fprintf(stderr, "Reimplemented: QDesktopWidget::screenNumber\n");
-+ return 0;
-+}
-+
-+bool QDesktopWidget::isVirtualDesktop() const
-+{
-+ //fprintf(stderr, "Unimplemented: QDesktopWidget::isVirtualDesktop\n");
-+ return true;
-+}
-+
-+int QDesktopWidget::primaryScreen() const
-+{
-+ //fprintf(stderr, "Unimplemented: QDesktopWidget::primaryScreen\n");
-+ return 0;
-+}
-+
-+int QDesktopWidget::numScreens() const
-+{
-+ //fprintf(stderr, "Unimplemented: QDesktopWidget::numScreens\n");
-+ return 1;
-+}
-+
-+QWidget *QDesktopWidget::screen(int /* screen */)
-+{
-+ //fprintf(stderr, "Unimplemented: QDesktopWidget::screen\n");
-+ // It seems that a Qt::WType_Desktop cannot be moved?
-+ return this;
-+}
-diff -rupN qt-everywhere-opensource-src-4.7.3/src/gui/kernel/qdnd_haiku.cpp qt-everywhere-opensource-src-4.7.3_haiku/src/gui/kernel/qdnd_haiku.cpp
---- qt-everywhere-opensource-src-4.7.3/src/gui/kernel/qdnd_haiku.cpp 1970-01-01 00:00:00.000000000 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/src/gui/kernel/qdnd_haiku.cpp 2011-06-13 22:06:43.304349184 +0000
-@@ -0,0 +1,274 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-+** All rights reserved.
-+** Contact: Nokia Corporation (qt-info@nokia.com)
-+**
-+** This file is part of the QtGui module of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** No Commercial Usage
-+** This file contains pre-release code and may not be distributed.
-+** You may use this file in accordance with the terms and conditions
-+** contained in the Technology Preview License Agreement accompanying
-+** this package.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 2.1 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 2.1 requirements
-+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-+**
-+** In addition, as a special exception, Nokia gives you certain additional
-+** rights. These rights are described in the Nokia Qt LGPL Exception
-+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-+**
-+** If you have questions regarding the use of this file, please contact
-+** Nokia at qt-info@nokia.com.
-+**
-+**
-+**
-+**
-+**
-+**
-+**
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#include "qapplication.h"
-+
-+#ifndef QT_NO_DRAGANDDROP
-+
-+#include "qdebug.h"
-+
-+#include "qwidget.h"
-+#include "qdatetime.h"
-+#include "qbitmap.h"
-+#include "qcursor.h"
-+#include "qevent.h"
-+#include "qpainter.h"
-+#include "qdnd_p.h"
-+
-+#include
-+
-+QT_BEGIN_NAMESPACE
-+
-+static Qt::DropAction global_accepted_action = Qt::MoveAction;
-+static Qt::DropActions possible_actions = Qt::IgnoreAction;
-+
-+static QDrag *drag_object;
-+static bool qt_haiku_dnd_dragging = false;
-+
-+
-+static Qt::KeyboardModifiers oldstate;
-+
-+void QDragManager::updatePixmap() { }
-+void QDragManager::timerEvent(QTimerEvent *) { }
-+void QDragManager::move(const QPoint&) { }
-+void QDragManager::updateCursor() { }
-+
-+bool QDragManager::eventFilter(QObject *o, QEvent *e)
-+{
-+ if (beingCancelled) {
-+ return false;
-+ }
-+ if (!o->isWidgetType())
-+ return false;
-+
-+ switch(e->type()) {
-+ case QEvent::MouseButtonPress:
-+ {
-+ }
-+ case QEvent::MouseMove:
-+ {
-+ if (!object) { //#### this should not happen
-+ qWarning("QDragManager::eventFilter: No object");
-+ return true;
-+ }
-+ QDragManager *manager = QDragManager::self();
-+ QMimeData *dropData = manager->object ? manager->dragPrivate()->data : manager->dropData;
-+ if (manager->object)
-+ possible_actions = manager->dragPrivate()->possible_actions;
-+ else
-+ possible_actions = Qt::IgnoreAction;
-+
-+ QMouseEvent *me = (QMouseEvent *)e;
-+
-+ if (me->buttons()) {
-+ Qt::DropAction prevAction = global_accepted_action;
-+ QWidget *cw = QApplication::widgetAt(me->globalPos());
-+ // map the Coords relative to the window.
-+ if (!cw)
-+ return true;
-+
-+ while (cw && !cw->acceptDrops() && !cw->isWindow())
-+ cw = cw->parentWidget();
-+
-+ bool oldWillDrop = willDrop;
-+ if (object->target() != cw) {
-+ if (object->target()) {
-+ QDragLeaveEvent dle;
-+ QApplication::sendEvent(object->target(), &dle);
-+ willDrop = false;
-+ global_accepted_action = Qt::IgnoreAction;
-+ if (oldWillDrop != willDrop)
-+ updateCursor();
-+ object->d_func()->target = 0;
-+ }
-+ if (cw && cw->acceptDrops()) {
-+ object->d_func()->target = cw;
-+ QDragEnterEvent dee(cw->mapFromGlobal(me->globalPos()), possible_actions, dropData,
-+ me->buttons(), me->modifiers());
-+ QApplication::sendEvent(object->target(), &dee);
-+ willDrop = dee.isAccepted() && dee.dropAction() != Qt::IgnoreAction;
-+ global_accepted_action = willDrop ? dee.dropAction() : Qt::IgnoreAction;
-+ if (oldWillDrop != willDrop)
-+ updateCursor();
-+ }
-+ } else if (cw) {
-+ QDragMoveEvent dme(cw->mapFromGlobal(me->globalPos()), possible_actions, dropData,
-+ me->buttons(), me->modifiers());
-+ if (global_accepted_action != Qt::IgnoreAction) {
-+ dme.setDropAction(global_accepted_action);
-+ dme.accept();
-+ }
-+ QApplication::sendEvent(cw, &dme);
-+ willDrop = dme.isAccepted();
-+ global_accepted_action = willDrop ? dme.dropAction() : Qt::IgnoreAction;
-+ if (oldWillDrop != willDrop) {
-+ updatePixmap();
-+ updateCursor();
-+ }
-+ }
-+ if (global_accepted_action != prevAction)
-+ emitActionChanged(global_accepted_action);
-+ }
-+ return true; // Eat all mouse events
-+ }
-+
-+ case QEvent::MouseButtonRelease:
-+ {
-+ qApp->removeEventFilter(this);
-+#ifndef QT_NO_CURSOR
-+ if (restoreCursor) {
-+ QApplication::restoreOverrideCursor();
-+ willDrop = false;
-+ restoreCursor = false;
-+ }
-+#endif
-+ if (object && object->target()) {
-+
-+ QMouseEvent *me = (QMouseEvent *)e;
-+
-+ QDragManager *manager = QDragManager::self();
-+ QMimeData *dropData = manager->object ? manager->dragPrivate()->data : manager->dropData;
-+
-+ QDropEvent de(object->target()->mapFromGlobal(me->globalPos()), possible_actions, dropData,
-+ me->buttons(), me->modifiers());
-+ QApplication::sendEvent(object->target(), &de);
-+ if (de.isAccepted())
-+ global_accepted_action = de.dropAction();
-+ else
-+ global_accepted_action = Qt::IgnoreAction;
-+
-+ if (object)
-+ object->deleteLater();
-+ drag_object = object = 0;
-+ }
-+ eventLoop->exit();
-+ return true; // Eat all mouse events
-+ }
-+
-+ default:
-+ break;
-+ }
-+ return false;
-+}
-+
-+Qt::DropAction QDragManager::drag(QDrag *o)
-+{
-+ if (object == o || !o || !o->source()) {
-+ return Qt::IgnoreAction;
-+ }
-+
-+ if (object) {
-+ cancel();
-+ qApp->removeEventFilter(this);
-+ beingCancelled = false;
-+ }
-+
-+ object = drag_object = o;
-+
-+ oldstate = Qt::NoModifier; // #### Should use state that caused the drag
-+ willDrop = false;
-+
-+ object->d_func()->target = 0;
-+
-+ qApp->installEventFilter(this);
-+
-+ global_accepted_action = defaultAction(dragPrivate()->possible_actions, Qt::NoModifier);
-+ qt_haiku_dnd_dragging = true;
-+
-+ eventLoop = new QEventLoop;
-+ // block
-+ (void) eventLoop->exec(QEventLoop::AllEvents);
-+ delete eventLoop;
-+ eventLoop = 0;
-+
-+ qt_haiku_dnd_dragging = false;
-+
-+ return global_accepted_action;
-+}
-+
-+
-+void QDragManager::cancel(bool deleteSource)
-+{
-+ beingCancelled = true;
-+
-+ if (object->target()) {
-+ QDragLeaveEvent dle;
-+ QApplication::sendEvent(object->target(), &dle);
-+ }
-+
-+ if (drag_object) {
-+ if (deleteSource)
-+ object->deleteLater();
-+ drag_object = object = 0;
-+ }
-+
-+ global_accepted_action = Qt::IgnoreAction;
-+}
-+
-+
-+void QDragManager::drop()
-+{
-+}
-+
-+QVariant QDropData::retrieveData_sys(const QString &mimetype, QVariant::Type type) const
-+{
-+ if (!drag_object)
-+ return QVariant();
-+ QByteArray data = drag_object->mimeData()->data(mimetype);
-+ if (type == QVariant::String)
-+ return QString::fromUtf8(data);
-+ return data;
-+}
-+
-+bool QDropData::hasFormat_sys(const QString &format) const
-+{
-+ return formats().contains(format);
-+}
-+
-+QStringList QDropData::formats_sys() const
-+{
-+ if (drag_object)
-+ return drag_object->mimeData()->formats();
-+ return QStringList();
-+}
-+
-+QT_END_NAMESPACE
-+#endif // QT_NO_DRAGANDDROP
-diff -rupN qt-everywhere-opensource-src-4.7.3/src/gui/kernel/qeventdispatcher_haiku.cpp qt-everywhere-opensource-src-4.7.3_haiku/src/gui/kernel/qeventdispatcher_haiku.cpp
---- qt-everywhere-opensource-src-4.7.3/src/gui/kernel/qeventdispatcher_haiku.cpp 1970-01-01 00:00:00.000000000 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/src/gui/kernel/qeventdispatcher_haiku.cpp 2011-06-13 22:06:43.305922048 +0000
-@@ -0,0 +1,94 @@
-+#include
-+#include "qeventdispatcher_haiku_p.h"
-+#include
-+#include
-+#include
-+
-+#include
-+#include
-+
-+// Debugging part
-+
-+#define DEBUG_HAIKU_LEVEL 0
-+// 1 Unimplemented
-+// 2-4 nothing
-+// 5 reimplemented
-+
-+#if defined(DEBUG_HAIKU_LEVEL) && DEBUG_HAIKU_LEVEL > 0
-+void debugprint(int level, const char *msg, ...)
-+{
-+ va_list args;
-+ va_start(args, msg);
-+ if (DEBUG_HAIKU_LEVEL >= level)
-+ vfprintf(stderr, msg, args);
-+ va_end(args);
-+}
-+#else
-+#define debugprint(...)
-+#endif
-+
-+class QEventDispatcherHaikuPrivate : public QEventDispatcherUNIXPrivate
-+{
-+ QEventDispatcherHaikuPrivate() : QEventDispatcherUNIXPrivate() { }
-+ ~QEventDispatcherHaikuPrivate() { }
-+};
-+
-+QEventDispatcherHaiku::QEventDispatcherHaiku(QObject *parent)
-+ : QEventDispatcherUNIX(*new QEventDispatcherUNIXPrivate, parent)
-+{
-+ debugprint(5, "Reimp: QEventDispatcherHaiku::QEventDispatcherHaiku \n");
-+}
-+QEventDispatcherHaiku::~QEventDispatcherHaiku()
-+{
-+ debugprint(5, "Reimp: QEventDispatcherHaiku::~QEventDispatcherHaiku \n");
-+}
-+
-+bool
-+QEventDispatcherHaiku::processEvents(QEventLoop::ProcessEventsFlags
-+flags)
-+{
-+ Q_D(QEventDispatcherHaiku);
-+ debugprint(5, "Reimp: QEventDispatcherHaiku::processEvents\n");
-+
-+ d->interrupt = false;
-+ emit awake();
-+
-+ bool canWait = false;
-+ bool retVal = false;
-+ do {
-+ QCoreApplicationPrivate::sendPostedEvents(0, 0, d->threadData);
-+ QThreadData *data = d->threadData;
-+ canWait = (//!retVal
-+ data->canWait
-+ && !d->interrupt
-+ && (flags & QEventLoop::WaitForMoreEvents));
-+ } while (false);//canWait);
-+
-+ if (!d->interrupt) {
-+// fprintf(stderr, "Entering Unix processEvents\n");
-+ bool result = QEventDispatcherUNIX::processEvents(flags);
-+// fprintf(stderr, "Exiting Unix processEvents\n");
-+ return result;
-+ }
-+ return true;
-+}
-+bool QEventDispatcherHaiku::hasPendingEvents()
-+{
-+ debugprint(5, "Reimp: QEventDispatcherHaiku::hasPendingEvents\n");
-+ return false;
-+}
-+
-+void QEventDispatcherHaiku::flush()
-+{
-+ debugprint(5, "Reimp: QEventDispatcherHaiku::flush\n");
-+}
-+
-+void QEventDispatcherHaiku::startingUp()
-+{
-+ debugprint(5, "Reimp: QEventDispatcherHaiku::startingUp\n");
-+}
-+void QEventDispatcherHaiku::closingDown()
-+{
-+ debugprint(5, "Reimp: QEventDispatcherHaiku::closingDown\n");
-+}
-+
-diff -rupN qt-everywhere-opensource-src-4.7.3/src/gui/kernel/qeventdispatcher_haiku_p.h qt-everywhere-opensource-src-4.7.3_haiku/src/gui/kernel/qeventdispatcher_haiku_p.h
---- qt-everywhere-opensource-src-4.7.3/src/gui/kernel/qeventdispatcher_haiku_p.h 1970-01-01 00:00:00.000000000 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/src/gui/kernel/qeventdispatcher_haiku_p.h 2011-06-13 22:06:43.307757056 +0000
-@@ -0,0 +1,28 @@
-+#ifndef FEASOIFESWR
-+#define FEASOIFESWR
-+#include
-+#include
-+
-+class QEventDispatcherHaikuPrivate;
-+
-+class QEventDispatcherHaiku : public QEventDispatcherUNIX
-+{
-+ //Q_OBJECT
-+ Q_DECLARE_PRIVATE(QEventDispatcherHaiku)
-+
-+public:
-+ explicit QEventDispatcherHaiku(QObject *parent = 0);
-+ ~QEventDispatcherHaiku();
-+
-+ bool processEvents(QEventLoop::ProcessEventsFlags flags);
-+ bool hasPendingEvents();
-+
-+ void flush();
-+
-+ void startingUp();
-+ void closingDown();
-+
-+protected:
-+};
-+
-+#endif
-diff -rupN qt-everywhere-opensource-src-4.7.3/src/gui/kernel/qguiplatformplugin.cpp qt-everywhere-opensource-src-4.7.3_haiku/src/gui/kernel/qguiplatformplugin.cpp
---- qt-everywhere-opensource-src-4.7.3/src/gui/kernel/qguiplatformplugin.cpp 2011-03-30 05:19:04.050069504 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/src/gui/kernel/qguiplatformplugin.cpp 2011-06-13 22:06:43.310378496 +0000
-@@ -156,6 +156,8 @@ QString QGuiPlatformPlugin::styleName()
- return QLatin1String("Plastique"); // default style for X11 and small devices
- #elif defined(Q_WS_MAC)
- return QLatin1String("Macintosh"); // default style for all Mac's
-+#elif defined(Q_WS_HAIKU)
-+ return QLatin1String("Haiku"); // default style for Haiku
- #elif defined(Q_WS_X11)
- QString stylename;
- switch(X11->desktopEnvironment) {
-diff -rupN qt-everywhere-opensource-src-4.7.3/src/gui/kernel/qkeymapper_haiku.cpp qt-everywhere-opensource-src-4.7.3_haiku/src/gui/kernel/qkeymapper_haiku.cpp
---- qt-everywhere-opensource-src-4.7.3/src/gui/kernel/qkeymapper_haiku.cpp 1970-01-01 00:00:00.000000000 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/src/gui/kernel/qkeymapper_haiku.cpp 2011-06-13 22:06:43.312475648 +0000
-@@ -0,0 +1,208 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-+** Contact: Nokia Corporation (qt-info@nokia.com)
-+**
-+** This file is part of the QtGui of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** No Commercial Usage
-+** This file contains pre-release code and may not be distributed.
-+** You may use this file in accordance with the terms and conditions
-+** contained in the Technology Preview License Agreement accompanying
-+** this package.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 2.1 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 2.1 requirements
-+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-+**
-+** In addition, as a special exception, Nokia gives you certain
-+** additional rights. These rights are described in the Nokia Qt LGPL
-+** Exception version 1.1, included in the file LGPL_EXCEPTION.txt in this
-+** package.
-+**
-+** If you have questions regarding the use of this file, please contact
-+** Nokia at qt-info@nokia.com.
-+**
-+**
-+**
-+**
-+**
-+**
-+**
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#include "qkeymapper_p.h"
-+
-+#include
-+
-+QKeyMapperPrivate::QKeyMapperPrivate()
-+{
-+ uint32 scan_codes[] = {
-+ Qt::Key_Escape, 0x01,
-+ Qt::Key_F1, 0x02,
-+ Qt::Key_F2, 0x03,
-+ Qt::Key_F3, 0x04,
-+ Qt::Key_F4, 0x05,
-+ Qt::Key_F5, 0x06,
-+ Qt::Key_F6, 0x07,
-+ Qt::Key_F7, 0x08,
-+ Qt::Key_F8, 0x09,
-+ Qt::Key_F9, 0x0A,
-+ Qt::Key_F10, 0x0B,
-+ Qt::Key_F11, 0x0C,
-+ Qt::Key_F12, 0x0D,
-+ Qt::Key_Print, 0x0E,
-+// Qt::Key_ScrollLock = 0x0F, //modificator
-+ Qt::Key_Pause, 0x22,
-+
-+ Qt::Key_AsciiTilde, 0x11,
-+ Qt::Key_1, 0x12,
-+ Qt::Key_2, 0x13,
-+ Qt::Key_3, 0x14,
-+ Qt::Key_4, 0x15,
-+ Qt::Key_5, 0x16,
-+ Qt::Key_6, 0x17,
-+ Qt::Key_7, 0x18,
-+ Qt::Key_8, 0x19,
-+ Qt::Key_9, 0x1A,
-+ Qt::Key_0, 0x1B,
-+ Qt::Key_Minus, 0x1C,
-+ Qt::Key_Plus, 0x1D,
-+ Qt::Key_Backspace, 0x1E,
-+ Qt::Key_Insert, 0x1F,
-+ Qt::Key_Home, 0x20,
-+ Qt::Key_PageUp, 0x21,
-+// Qt::Key_NumLock, 0x22, //modificator
-+ Qt::Key_Slash, 0x23,
-+ Qt::Key_Asterisk, 0x24,
-+ Qt::Key_Minus, 0x25,
-+
-+ Qt::Key_Tab, 0x26,
-+ Qt::Key_Q, 0x27,
-+ Qt::Key_W, 0x28,
-+ Qt::Key_E, 0x29,
-+ Qt::Key_R, 0x2A,
-+ Qt::Key_T, 0x2B,
-+ Qt::Key_Y, 0x2C,
-+ Qt::Key_U, 0x2D,
-+ Qt::Key_I, 0x2E,
-+ Qt::Key_O, 0x2F,
-+ Qt::Key_P, 0x30,
-+ Qt::Key_BracketLeft,0x31,
-+ Qt::Key_BracketRight,0x32,
-+ Qt::Key_Backslash, 0x33,
-+ Qt::Key_Delete, 0x34,
-+ Qt::Key_End, 0x35,
-+ Qt::Key_PageDown, 0x36,
-+ Qt::Key_Home, 0x37, //numpad
-+ Qt::Key_Up, 0x38, //numpad
-+ Qt::Key_PageUp, 0x39, //numpad
-+ Qt::Key_Plus, 0x3A, //numpad
-+
-+// Qt::Key_CapsLock, 0x3B, //modificator
-+ Qt::Key_A, 0x3C,
-+ Qt::Key_S, 0x3D,
-+ Qt::Key_D, 0x3E,
-+ Qt::Key_F, 0x3F,
-+ Qt::Key_G, 0x40,
-+ Qt::Key_H, 0x41,
-+ Qt::Key_J, 0x42,
-+ Qt::Key_K, 0x43,
-+ Qt::Key_L, 0x44,
-+ Qt::Key_Colon, 0x45,
-+ Qt::Key_QuoteDbl, 0x46,
-+ Qt::Key_Return, 0x47,
-+ Qt::Key_Left, 0x48, //numpad
-+ Qt::Key_5, 0x49, //numpad ???
-+ Qt::Key_Right, 0x4A, //numpad
-+
-+ Qt::Key_Z, 0x4C,
-+ Qt::Key_X, 0x4D,
-+ Qt::Key_C, 0x4E,
-+ Qt::Key_V, 0x4F,
-+ Qt::Key_B, 0x50,
-+ Qt::Key_N, 0x51,
-+ Qt::Key_M, 0x51,
-+ Qt::Key_Less, 0x52,
-+ Qt::Key_Greater, 0x54,
-+ Qt::Key_Question, 0x55,
-+ Qt::Key_Up, 0x57, //cursor
-+ Qt::Key_End, 0x58, //numpad
-+ Qt::Key_Down, 0x59, //numpad
-+ Qt::Key_PageDown, 0x5A, //numpad
-+ Qt::Key_Enter, 0x5B, //numpad
-+
-+ Qt::Key_Space, 0x5E,
-+ Qt::Key_Left, 0x61, //cursor
-+ Qt::Key_Down, 0x62, //cursor
-+ Qt::Key_Right, 0x63, //cursor
-+ Qt::Key_Insert, 0x64, //cursor
-+ Qt::Key_Delete, 0x65, //numpad
-+ 0, 0x00
-+ };
-+
-+uint32 scan_codes_numlock[] = {
-+ Qt::Key_7, 0x37,
-+ Qt::Key_8, 0x38,
-+ Qt::Key_9, 0x39,
-+ Qt::Key_Plus, 0x3A,
-+ Qt::Key_4, 0x48,
-+ Qt::Key_5, 0x49,
-+ Qt::Key_6, 0x4A,
-+ Qt::Key_1, 0x58,
-+ Qt::Key_2, 0x59,
-+ Qt::Key_3, 0x5A,
-+ Qt::Key_Enter, 0x5B,
-+ Qt::Key_Comma, 0x65,
-+ 0, 0x00
-+ };
-+
-+ memcpy(ScanCodes,scan_codes,sizeof(scan_codes));
-+ memcpy(ScanCodes_Numlock,scan_codes_numlock,sizeof(scan_codes_numlock));
-+}
-+
-+QKeyMapperPrivate::~QKeyMapperPrivate()
-+{ }
-+
-+void QKeyMapperPrivate::clearMappings()
-+{ }
-+
-+QList QKeyMapperPrivate::possibleKeys(QKeyEvent *)
-+{
-+ return QList();
-+}
-+
-+uint32 QKeyMapperPrivate::translateKeyCode(int32 key)
-+{
-+ uint32 code = 0;
-+ int i = 0;
-+ if(modifiers()&&B_NUM_LOCK) {
-+ while (ScanCodes_Numlock[i]) {
-+ if ( key == ScanCodes_Numlock[i+1]) {
-+ code = ScanCodes_Numlock[i];
-+ break;
-+ }
-+ i += 2;
-+ }
-+ if(code>0)
-+ return code;
-+ }
-+
-+ i = 0;
-+ while (ScanCodes[i]) {
-+ if ( key == ScanCodes[i+1]) {
-+ code = ScanCodes[i];
-+ break;
-+ }
-+ i += 2;
-+ }
-+ return code;
-+}
-diff -rupN qt-everywhere-opensource-src-4.7.3/src/gui/kernel/qkeymapper_p.h qt-everywhere-opensource-src-4.7.3_haiku/src/gui/kernel/qkeymapper_p.h
---- qt-everywhere-opensource-src-4.7.3/src/gui/kernel/qkeymapper_p.h 2011-03-30 05:19:04.003145728 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/src/gui/kernel/qkeymapper_p.h 2011-06-13 22:06:43.314572800 +0000
-@@ -213,6 +213,10 @@ public:
- int mapS60ScanCodesToQt(TUint s60key);
- int mapQtToS60Key(int qtKey);
- int mapQtToS60ScanCodes(int qtKey);
-+#elif defined(Q_WS_HAIKU)
-+ uint32 translateKeyCode(int32 key);
-+ uint32 ScanCodes[256];
-+ uint32 ScanCodes_Numlock[16];
- #endif
- };
-
-diff -rupN qt-everywhere-opensource-src-4.7.3/src/gui/kernel/qsound_haiku.cpp qt-everywhere-opensource-src-4.7.3_haiku/src/gui/kernel/qsound_haiku.cpp
---- qt-everywhere-opensource-src-4.7.3/src/gui/kernel/qsound_haiku.cpp 1970-01-01 00:00:00.000000000 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/src/gui/kernel/qsound_haiku.cpp 2011-06-13 22:06:43.316932096 +0000
-@@ -0,0 +1,26 @@
-+#include "qapplication.h"
-+#include "qsound.h"
-+#include "qsound_p.h"
-+
-+class QAuServerNull : public QAuServer
-+{
-+public:
-+ QAuServerNull(QObject* parent);
-+
-+ void play(const QString&) { }
-+ void play(QSound*s) { while(decLoop(s) > 0) /* nothing */ ; }
-+ void stop(QSound*) { }
-+ bool okay() { return false; }
-+};
-+
-+QAuServerNull::QAuServerNull(QObject* parent)
-+ : QAuServer(parent)
-+{
-+}
-+
-+QAuServer* qt_new_audio_server()
-+{
-+// fprintf(stderr, "Unimplemented: qt_new_audio_server()\n");
-+ return new QAuServerNull(qApp);
-+}
-+
-diff -rupN qt-everywhere-opensource-src-4.7.3/src/gui/kernel/qwidget.cpp qt-everywhere-opensource-src-4.7.3_haiku/src/gui/kernel/qwidget.cpp
---- qt-everywhere-opensource-src-4.7.3/src/gui/kernel/qwidget.cpp 2011-03-30 05:19:04.060030976 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/src/gui/kernel/qwidget.cpp 2011-06-13 22:06:43.326107136 +0000
-@@ -1466,6 +1466,18 @@ void QWidget::create(WId window, bool in
- setAttribute(Qt::WA_WState_Created); // set created flag
- d->create_sys(window, initializeWindow, destroyOldWindow);
-
-+#ifdef Q_WS_HAIKU
-+if (windowType() != Qt::Desktop){ //temporary hack, Desktop don't have native view
-+ QObject::connect((const QObject *)d->nativeView, SIGNAL(sendUpdateWidget()),this,SLOT(slot_updateWidget()), Qt::QueuedConnection);
-+ QObject::connect((const QObject *)d->nativeView, SIGNAL(sendUpdateWidgetRect(QRect)),this,SLOT(slot_updateWidgetRect(QRect)), Qt::QueuedConnection);
-+ QObject::connect((const QObject *)d->nativeView, SIGNAL(sendHaikuEvent(QObject *, QEvent *)),this,SLOT(slot_sendEvent(QObject *, QEvent *)),Qt::QueuedConnection);
-+ QObject::connect((const QObject *)d->nativeView, SIGNAL(sendResizeWidget(int, int)),this,SLOT(slot_sendResizeWidget(int, int)), Qt::QueuedConnection);
-+ QObject::connect((const QObject *)d->nativeView, SIGNAL(sendMoveWidget(int, int)),this,SLOT(slot_sendMoveWidget(int, int)), Qt::QueuedConnection);
-+ QObject::connect((const QObject *)d->nativeView, SIGNAL(sendSetActiveWindow(QWidget *)),this,SLOT(slot_sendSetActiveWindow(QWidget *)), Qt::QueuedConnection);
-+ QObject::connect((const QObject *)d->nativeView, SIGNAL(sendCloseWindow(QWidget *)),this,SLOT(slot_sendCloseWindow(QWidget *)), Qt::QueuedConnection);
-+}
-+#endif
-+
- // a real toplevel window needs a backing store
- if (isWindow() && windowType() != Qt::Desktop) {
- d->topData()->backingStore.destroy();
-@@ -12547,6 +12559,53 @@ void QWidgetPrivate::syncUnifiedMode() {
-
- #endif // QT_MAC_USE_COCOA
-
-+/*
-+ Trap slot functions for Haiku events
-+*/
-+void QWidget::slot_updateWidget()
-+{
-+ update();
-+}
-+
-+void QWidget::slot_updateWidgetRect(QRect r)
-+{
-+ update(r);
-+}
-+
-+void QWidget::slot_sendEvent(QObject *receiver, QEvent *event)
-+{
-+ // close all active popup window
-+ if (event->type() == QEvent::MouseButtonPress &&
-+ qApp->activePopupWidget() &&
-+ qApp->activePopupWidget()->nativeView()->Window() != nativeView()->Window())
-+ qApp->activePopupWidget()->close();
-+
-+ QApplication::sendSpontaneousEvent(receiver, event);
-+ delete event;
-+}
-+
-+void QWidget::slot_sendResizeWidget(int width, int height)
-+{
-+ resize(width, height);
-+}
-+
-+void QWidget::slot_sendMoveWidget(int x, int y)
-+{
-+ move(x,y);
-+}
-+
-+void QWidget::slot_sendSetActiveWindow(QWidget *widget)
-+{
-+ if (/*!d->inPopupMode() && */ widget || (!widget && QApplicationPrivate::active_window == this))
-+ qApp->setActiveWindow(widget);
-+}
-+
-+void QWidget::slot_sendCloseWindow(QWidget *widget)
-+{
-+ QWidgetPrivate *widget_private = widget->d_func();
-+ widget_private->close_helper(QWidgetPrivate::CloseWithSpontaneousEvent);
-+}
-+
- QT_END_NAMESPACE
-
- #include "moc_qwidget.cpp"
-diff -rupN qt-everywhere-opensource-src-4.7.3/src/gui/kernel/qwidget.h qt-everywhere-opensource-src-4.7.3_haiku/src/gui/kernel/qwidget.h
---- qt-everywhere-opensource-src-4.7.3/src/gui/kernel/qwidget.h 2011-03-30 05:19:04.063963136 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/src/gui/kernel/qwidget.h 2011-06-13 22:06:43.328466432 +0000
-@@ -100,6 +100,9 @@ class QGraphicsEffect;
- #if defined(Q_WS_X11)
- class QX11Info;
- #endif
-+#if defined(Q_WS_HAIKU) && !defined(BUILD_WEBKIT)
-+#include "qwidget_haiku.h"
-+#endif
-
- class QWidgetData
- {
-@@ -254,6 +257,17 @@ public Q_SLOTS:
- void setEnabled(bool);
- void setDisabled(bool);
- void setWindowModified(bool);
-+
-+//#ifdef Q_WS_HAIKU // Its all for moc, but moc does not support #ifdef
-+// Remove! break cross-platform!
-+ void slot_updateWidget();
-+ void slot_updateWidgetRect(QRect r);
-+ void slot_sendEvent(QObject *receiver, QEvent *event);
-+ void slot_sendResizeWidget(int width, int height);
-+ void slot_sendMoveWidget(int x, int y);
-+ void slot_sendSetActiveWindow(QWidget *widget);
-+ void slot_sendCloseWindow(QWidget *widget);
-+//#endif
-
- // Widget coordinates
-
-@@ -604,6 +618,10 @@ public:
- Qt::HANDLE handle() const;
- #endif
-
-+#if defined(Q_WS_HAIKU)
-+ BView* nativeView() const;
-+#endif
-+
- void setAttribute(Qt::WidgetAttribute, bool on = true);
- inline bool testAttribute(Qt::WidgetAttribute) const;
-
-diff -rupN qt-everywhere-opensource-src-4.7.3/src/gui/kernel/qwidget_haiku.cpp qt-everywhere-opensource-src-4.7.3_haiku/src/gui/kernel/qwidget_haiku.cpp
---- qt-everywhere-opensource-src-4.7.3/src/gui/kernel/qwidget_haiku.cpp 1970-01-01 00:00:00.000000000 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/src/gui/kernel/qwidget_haiku.cpp 2011-06-13 22:06:43.333185024 +0000
-@@ -0,0 +1,1457 @@
-+#include "qwidget_haiku.h"
-+#include
-+#include "qapplication_p.h"
-+#include "private/qkeymapper_p.h"
-+#include "qdesktopwidget.h"
-+#include "qwidget.h"
-+#include "qwidget_p.h"
-+#include "qtextcodec.h"
-+
-+#include
-+#include
-+#include "qevent_p.h"
-+#include "private/qwindowsurface_raster_p.h"
-+#include "qapplication.h"
-+#include "qfileinfo.h"
-+#include
-+#include
-+#include
-+
-+extern int haiku_global_mouse_x;
-+extern int haiku_global_mouse_y;
-+
-+static QWidget *keyboardGrb = 0;
-+static QWidget *mouseGrb = 0;
-+
-+QtHaikuView::QtHaikuView(BRect frame, const char *name, uint32 resizingMode, uint32 flags)
-+ : QObject(), BView(frame, name, resizingMode, flags),
-+ isVisible(true), fWidget(0), fWidgetPrivate(0),
-+ last_down_buttons(0), last_clicked_buttons(0), last_mouse_x(-1), last_mouse_y(-1), last_click_time(0), last_draw_event(0)
-+{
-+
-+}
-+
-+Qt::MouseButton
-+QtHaikuView::translateMouseButton(uint32 s)
-+{
-+ Qt::MouseButton ret = Qt::NoButton;
-+ if (s & B_PRIMARY_MOUSE_BUTTON)
-+ ret = Qt::LeftButton;
-+ if (s & B_SECONDARY_MOUSE_BUTTON)
-+ ret = Qt::RightButton;
-+ if (s & B_TERTIARY_MOUSE_BUTTON)
-+ ret = Qt::MidButton;
-+ return ret;
-+}
-+
-+Qt::MouseButtons
-+QtHaikuView::translateMouseButtons(uint32 s)
-+{
-+ Qt::MouseButtons ret = 0;
-+ if (s & B_PRIMARY_MOUSE_BUTTON)
-+ ret |= Qt::LeftButton;
-+ if (s & B_SECONDARY_MOUSE_BUTTON)
-+ ret |= Qt::RightButton;
-+ if (s & B_TERTIARY_MOUSE_BUTTON)
-+ ret |= Qt::MidButton;
-+ return ret;
-+}
-+
-+void
-+QtHaikuView::sendWheelEvent(int delta_x, int delta_y)
-+{
-+ BPoint mouse_pos;
-+ uint32 buttons;
-+ uint32 mod = modifiers();
-+
-+ GetMouse(&mouse_pos,&buttons);
-+ Qt::KeyboardModifiers qt_mod = translateModifiers(mod);
-+ Qt::MouseButtons qt_buttons = translateMouseButtons(buttons);
-+
-+ BPoint screen_pos = ConvertToScreen(mouse_pos);
-+ const QPoint globalPos = QPoint(screen_pos.x,screen_pos.y);
-+ QPoint pos = QPoint(mouse_pos.x,mouse_pos.y);
-+
-+ if(delta_x!=0)
-+ emit sendHaikuEvent(fWidget, new QWheelEvent(pos, globalPos, -delta_x, qt_buttons, qt_mod, Qt::Horizontal));
-+ if(delta_y!=0)
-+ emit sendHaikuEvent(fWidget, new QWheelEvent(pos, globalPos, -delta_y, qt_buttons, qt_mod, Qt::Vertical));
-+}
-+
-+Qt::KeyboardModifiers
-+QtHaikuView::translateModifiers(uint32 s)
-+{
-+ Qt::KeyboardModifiers ret = 0;
-+ if (s & B_SHIFT_KEY)
-+ ret |= Qt::ShiftModifier;
-+ if (s & B_CONTROL_KEY)
-+ ret |= Qt::AltModifier;
-+ if (s & B_COMMAND_KEY)
-+ ret |= Qt::ControlModifier;
-+ return ret;
-+}
-+
-+void QtHaikuView::FrameResized(float width, float height)
-+{
-+ QSize widgetSize = fWidget->size();
-+ QSize newSize = QSize(width, height);
-+ if (widgetSize == newSize)
-+ return;
-+ fWidgetPrivate->data.fstrut_dirty = true;
-+
-+ emit sendUpdateWidget();
-+}
-+
-+void
-+QtHaikuView::Hide()
-+{
-+ if (!isVisible) return;
-+ if (Window() && Window()->LockLooper()){
-+ BView::Hide();
-+ isVisible = false;
-+ Window()->UnlockLooper();
-+ }
-+}
-+
-+void
-+QtHaikuView::Show()
-+{
-+ if (isVisible) return;
-+ if (Window() && Window()->LockLooper()){
-+ BView::Show();
-+ isVisible = true;
-+ Window()->UnlockLooper();
-+ }
-+}
-+
-+void
-+QtHaikuWindow::Hide()
-+{
-+ if (LockLooper()){
-+ if (!IsHidden())
-+ BWindow::Hide();
-+ UnlockLooper();
-+ }
-+}
-+
-+void
-+QtHaikuWindow::Show()
-+{
-+ if (LockLooper()){
-+ if (IsHidden())
-+ BWindow::Show();
-+ UnlockLooper();
-+ }
-+}
-+
-+
-+QtHaikuView::~QtHaikuView()
-+{
-+// debugprint(5, "Reimplemented: QtHaikuView::~QtHaikuView\n");
-+}
-+
-+inline void QtHaikuView::setWidget(QWidget *widget, QWidgetPrivate *widgetPrivate)
-+{
-+ fWidget = widget;
-+ fWidgetPrivate = widgetPrivate;
-+}
-+
-+void QtHaikuView::MouseUp(BPoint point)
-+{
-+ BPoint point2;
-+ uint32 h_mod=modifiers();
-+ uint32 h_buttons = 0;
-+ uint32 h_button = last_down_buttons;
-+ last_down_buttons = 0;
-+
-+ Qt::MouseButton qt_button = translateMouseButton(h_button);
-+ Qt::MouseButtons qt_buttons = translateMouseButtons(h_buttons);
-+ Qt::KeyboardModifiers qt_mod = translateModifiers(h_mod);
-+
-+ BPoint glob_pos = ConvertToScreen(point);
-+ haiku_global_mouse_x = glob_pos.x;
-+ haiku_global_mouse_y = glob_pos.y;
-+
-+ QWidget *widget = fWidget->mouseGrabber();
-+ if(!widget)
-+ widget = fWidget;
-+
-+ QWidget *wat = QApplication::widgetAt(QPoint(glob_pos.x,glob_pos.y));
-+
-+// qDebug() << "MouseUp " << fWidget << widget << wat;
-+ if(wat && wat!=widget) {
-+ QPoint lpoint = wat->mapFromGlobal(QPoint(glob_pos.x,glob_pos.y));
-+ if(fWidget->nativeView()->Window()==wat->nativeView()->Window()) {
-+ widget = wat;
-+ point.x= lpoint.x();
-+ point.y= lpoint.y();
-+ }
-+ }
-+
-+ if (qt_button == Qt::RightButton)
-+ emit sendHaikuEvent(widget, new QContextMenuEvent(QContextMenuEvent::Mouse,
-+ QPoint(point.x,point.y), QPoint(haiku_global_mouse_x,haiku_global_mouse_y), qt_mod));
-+ else
-+ emit sendHaikuEvent(widget, new QMouseEvent(QEvent::MouseButtonRelease,
-+ QPoint(point.x,point.y), qt_button, qt_buttons, qt_mod));
-+}
-+
-+void QtHaikuView::MouseDown(BPoint point)
-+{
-+ uint32 h_mod=modifiers();
-+ uint32 h_buttons = Window()->CurrentMessage()->FindInt32("buttons");
-+ uint32 h_button = h_buttons; //TODO: only one button in per time
-+
-+ Qt::MouseButton qt_button = translateMouseButton(h_button);
-+ Qt::MouseButtons qt_buttons = translateMouseButtons(h_buttons);
-+ Qt::KeyboardModifiers qt_mod = translateModifiers(h_mod);
-+
-+ BPoint glob_pos = ConvertToScreen(point);
-+ haiku_global_mouse_x = glob_pos.x;
-+ haiku_global_mouse_y = glob_pos.y;
-+
-+ SetMouseEventMask(B_POINTER_EVENTS,B_NO_POINTER_HISTORY);
-+
-+ QWidget *widget = fWidget->mouseGrabber();
-+ if(!widget)
-+ widget = fWidget;
-+
-+ QWidget *wat = QApplication::widgetAt(QPoint(glob_pos.x,glob_pos.y));
-+
-+// qDebug() << "MouseDown " << fWidget << widget << wat;
-+ if(wat && wat!=widget) {
-+ QPoint lpoint = wat->mapFromGlobal(QPoint(glob_pos.x,glob_pos.y));
-+ if(fWidget->nativeView()->Window()==wat->nativeView()->Window()) {
-+ widget = wat;
-+ point.x= lpoint.x();
-+ point.y= lpoint.y();
-+ }
-+ }
-+
-+ bigtime_t now=system_time();
-+
-+ bigtime_t double_click_speed;
-+ get_click_speed(&double_click_speed);
-+
-+ if( now - last_click_time < double_click_speed &&
-+ last_clicked_buttons == h_buttons &&
-+ last_mouse_x==glob_pos.x &&
-+ last_mouse_y==glob_pos.y) {
-+ last_clicked_buttons = 0;
-+ emit sendHaikuEvent(widget, new QMouseEvent(QEvent::MouseButtonDblClick,
-+ QPoint(point.x,point.y), qt_button, qt_buttons, qt_mod));
-+ } else {
-+ emit sendHaikuEvent(widget, new QMouseEvent(QEvent::MouseButtonPress,
-+ QPoint(point.x,point.y), qt_button, qt_buttons, qt_mod));
-+ }
-+// qDebug()<<"MouseDown() "<cursor().handle();
-+ if(curs)
-+ SetViewCursor(curs);
-+ else
-+ SetViewCursor(B_CURSOR_SYSTEM_DEFAULT);
-+ }
-+ break;
-+ case B_EXITED_VIEW:
-+ break;
-+ }
-+
-+ uint32 h_mod=modifiers();
-+ uint32 h_buttons = last_down_buttons;
-+ uint32 h_button = h_buttons; //TODO: only one button in per time
-+
-+ Qt::MouseButton qt_button = translateMouseButton(h_button);
-+ Qt::MouseButtons qt_buttons = translateMouseButtons(h_buttons);
-+ Qt::KeyboardModifiers qt_mod = translateModifiers(h_mod);
-+
-+ BPoint glob_pos = ConvertToScreen(point);
-+
-+ haiku_global_mouse_x = glob_pos.x;
-+ haiku_global_mouse_y = glob_pos.y;
-+
-+ QWidget *widget = fWidget->mouseGrabber();
-+ if(!widget)
-+ widget = fWidget;
-+
-+
-+ /*QWidget *wat = QApplication::widgetAt(QPoint(glob_pos.x,glob_pos.y));
-+
-+ if(wat && wat!=widget) {
-+ QPoint lpoint = wat->mapFromGlobal(QPoint(glob_pos.x,glob_pos.y));
-+ widget = wat;
-+ point.x= lpoint.x();
-+ point.y= lpoint.y();
-+ }*/
-+
-+ emit sendHaikuEvent(widget, new QMouseEvent(QEvent::MouseMove, QPoint(point.x,point.y), Qt::NoButton, qt_buttons, qt_mod));
-+// qDebug()<<"MouseMove()"<what) {
-+ default:
-+ BView::MessageReceived(msg);
-+ break;
-+ }
-+}
-+
-+QtHaikuWindow::QtHaikuWindow(BRect frame, const char *title, window_look look, window_feel feel, uint32 flags)
-+ : BWindow(frame, title, look, feel, flags)
-+{
-+}
-+
-+QtHaikuWindow::~QtHaikuWindow()
-+{
-+}
-+
-+void
-+QtHaikuWindow::sendKeyEvent(QEvent::Type type, BMessage *msg)
-+{
-+ int32 key = 0;
-+ uint32 code = 0;
-+ uint32 mod = modifiers();
-+ extern QTextCodec *qt_input_mapper; // from qapplication_haiku.cpp
-+ QChar converted;
-+ const char *bytes;
-+ QString text;
-+
-+ if ( msg ) {
-+ if(msg->FindString("bytes", &bytes) == B_OK) {
-+ if (qt_input_mapper)
-+ text = qt_input_mapper->toUnicode(bytes, strlen(bytes), 0);
-+ }
-+ if(msg->FindInt32("key", &key) == B_OK) {
-+ code = qt_keymapper_private()->translateKeyCode(key);
-+ }
-+ }
-+
-+ if (text.isEmpty()) {
-+ text.fromLatin1(bytes);
-+ }
-+
-+ Qt::KeyboardModifiers qt_mod = fView->translateModifiers(mod);
-+
-+ QWidget *widget;
-+ widget = QWidget::keyboardGrabber();
-+ if (!widget) {
-+ if (QApplicationPrivate::popupWidgets != 0) {
-+ widget = QApplication::activePopupWidget()->focusWidget();
-+ if (!widget) {
-+ widget = QApplication::activePopupWidget();
-+ }
-+ } else {
-+ widget = QApplicationPrivate::focus_widget;
-+ if (!widget) {
-+ widget = fView->fWidget;
-+ }
-+ }
-+ }
-+
-+// qDebug() << "KeyEvent: " << code << " (" <sendHaikuEvent(widget, new QKeyEvent(type, code, qt_mod, text, false, text.length()));
-+}
-+
-+void
-+QtHaikuWindow::DispatchMessage(BMessage *msg, BHandler *handler)
-+{
-+ switch(msg->what) {
-+ case B_UNMAPPED_KEY_DOWN:
-+ case B_KEY_DOWN:
-+ {
-+ sendKeyEvent(QEvent::KeyPress, msg);
-+ break;
-+ }
-+ case B_UNMAPPED_KEY_UP:
-+ case B_KEY_UP:
-+ {
-+ sendKeyEvent(QEvent::KeyRelease, msg);
-+ break;
-+ }
-+ default:
-+ break;
-+ }
-+ BWindow::DispatchMessage(msg, handler);
-+}
-+
-+void QtHaikuWindow::MessageReceived(BMessage* msg)
-+{
-+ switch(msg->what) {
-+ case B_MOUSE_WHEEL_CHANGED:
-+ {
-+ float shift_x=0;
-+ float shift_y=0;
-+ if(msg->FindFloat("be:wheel_delta_x",&shift_x)!=B_OK)
-+ shift_x = 0;
-+ if(msg->FindFloat("be:wheel_delta_y",&shift_y)!=B_OK)
-+ shift_y = 0;
-+
-+ if(shift_x != 0 || shift_y !=0) {
-+ BView *view = LastMouseMovedView();
-+ QtHaikuView *widget_view = (QtHaikuView*)view;
-+ widget_view->sendWheelEvent(shift_x*120, shift_y*120);
-+ }
-+ break;
-+ }
-+ default:
-+ BWindow::MessageReceived(msg);
-+ break;
-+ }
-+}
-+
-+void QtHaikuWindow::FrameResized(float width, float height)
-+{
-+ QRect cr = fView->fWidget->geometry();
-+
-+ QSize widgetSize = fView->fWidget->size();
-+ QSize newSize = QSize(width+1, height+1);
-+ if (widgetSize == newSize)
-+ return;
-+
-+ cr.setSize(newSize);
-+ fView->fWidgetPrivate->data.crect = cr;
-+ fView->fWidgetPrivate->data.fstrut_dirty = true;
-+ emit fView->sendHaikuEvent(fView->fWidget, new QResizeEvent(newSize, widgetSize));
-+}
-+
-+void QtHaikuWindow::FrameMoved(BPoint point)
-+{
-+ QRect cr = fView->fWidget->geometry();
-+ QPoint oldPos = cr.topLeft();
-+ QPoint newCPos(point.x,point.y);
-+
-+ if(oldPos==newCPos)
-+ return;
-+
-+ while (qApp->activePopupWidget())
-+ qApp->activePopupWidget()->close();
-+
-+ fView->fWidgetPrivate->data.fstrut_dirty = true;
-+
-+ cr.moveTopLeft(newCPos);
-+ fView->fWidgetPrivate->data.crect = cr;
-+
-+ emit fView->sendHaikuEvent(fView->fWidget, new QMoveEvent(newCPos,oldPos));
-+}
-+
-+void QtHaikuWindow::WindowActivated(bool active)
-+{
-+ if (active) {
-+ emit fView->sendSetActiveWindow(fView->fWidget);
-+ } else {
-+ while (qApp->activePopupWidget()) // App(window) become inactive - we must close all popup
-+ qApp->activePopupWidget()->close();
-+ emit fView->sendSetActiveWindow(0);
-+ }
-+}
-+
-+bool QtHaikuWindow::QuitRequested()
-+{
-+ emit fView->sendCloseWindow(fView->fWidget);
-+ return false;
-+}
-+
-+inline void QtHaikuWindow::setView(QtHaikuView *view)
-+{
-+ fView = view;
-+ AddChild(view);
-+
-+ fView->MoveTo(0,0);
-+ fView->ResizeTo(Bounds().Width(),Bounds().Height());
-+ fView->SetResizingMode(B_FOLLOW_ALL_SIDES);
-+}
-+
-+void QtHaikuWindow::updateWindowFlags(Qt::WindowFlags flags)
-+{
-+ Qt::WindowType type = static_cast(int(flags & Qt::WindowType_Mask)) ;
-+
-+ bool popup = (type == Qt::Popup);
-+ bool splash = (type == Qt::SplashScreen);
-+ bool dialog = (type == Qt::Dialog
-+ || type == Qt::Sheet
-+ || (flags & Qt::MSWindowsFixedSizeDialogHint));
-+// bool desktop = (type == Qt::Desktop);
-+ bool tool = (type == Qt::Tool || type == Qt::Drawer);
-+ bool tooltip = (type == Qt::ToolTip);
-+
-+ window_look wlook = B_TITLED_WINDOW_LOOK;
-+ window_feel wfeel = B_NORMAL_WINDOW_FEEL;
-+ uint32 wflag = B_NO_WORKSPACE_ACTIVATION | B_NOT_ANCHORED_ON_ACTIVATE ;
-+
-+ if(tool) {
-+ wlook = B_FLOATING_WINDOW_LOOK;
-+ wflag |= B_WILL_ACCEPT_FIRST_CLICK;
-+ }
-+
-+ if(splash) {
-+ wlook = B_NO_BORDER_WINDOW_LOOK;
-+ }
-+
-+ if(popup) {
-+ wlook = B_NO_BORDER_WINDOW_LOOK;
-+ wflag |= B_WILL_ACCEPT_FIRST_CLICK|B_AVOID_FRONT|B_AVOID_FOCUS;
-+ flags |= Qt::WindowStaysOnTopHint;
-+ }
-+
-+ if (dialog) {
-+// if (q->parentWidget())
-+// wfeel = B_MODAL_SUBSET_WINDOW_FEEL;
-+// else
-+ //wfeel = B_MODAL_APP_WINDOW_FEEL;
-+ }
-+
-+ if (tooltip) {
-+ wlook = B_NO_BORDER_WINDOW_LOOK;
-+ wflag |= B_WILL_ACCEPT_FIRST_CLICK|B_AVOID_FOCUS;
-+ flags |= Qt::WindowStaysOnTopHint;
-+ }
-+
-+ if (flags & Qt::FramelessWindowHint)
-+ wlook = B_NO_BORDER_WINDOW_LOOK;
-+ if (flags & Qt::MSWindowsFixedSizeDialogHint)// (dialog)
-+ wflag |= B_NOT_RESIZABLE | B_NOT_ZOOMABLE;
-+
-+ if (flags & Qt::CustomizeWindowHint){
-+ //if (flags & Qt::WindowTitleHint)
-+ //{ };
-+ //if (flags & Qt::WindowSystemMenuHint)
-+ //{ };
-+ if (!(flags & Qt::WindowMinimizeButtonHint))
-+ wflag |= B_NOT_MINIMIZABLE;
-+ if (!(flags & Qt::WindowMaximizeButtonHint))
-+ wflag |= B_NOT_ZOOMABLE;
-+ if (!(flags & Qt::WindowCloseButtonHint))
-+ wflag |= B_NOT_CLOSABLE;
-+ //if (flags & Qt::WindowContextHelpButtonHint)
-+ // exsty |= WS_EX_CONTEXTHELP;
-+ }
-+
-+ if (flags & Qt::WindowStaysOnTopHint)
-+ wfeel = B_FLOATING_ALL_WINDOW_FEEL;
-+
-+// if (flags & Qt::WindowStaysOnBottomHint)
-+// wfeel = B_FLOATING_ALL_WINDOW_FEEL;
-+
-+ SetLook(wlook);
-+ SetFeel(wfeel);
-+ SetFlags(wflag);
-+}
-+
-+// Qt reimplementation
-+
-+void QWidgetPrivate::create_sys(WId window, bool initializeWindow, bool destroyOldWindow)
-+{
-+ Q_Q(QWidget);
-+// qDebug()<<"create_sys:"<windowType() == Qt::Desktop);
-+
-+ BScreen bscreen(B_MAIN_SCREEN_ID);
-+ BRect screen_frame = bscreen.Frame();
-+
-+ if (!window) // always initialize
-+ initializeWindow = true;
-+
-+ q->setAttribute(Qt::WA_WState_Created, false);
-+
-+ if (desktop){
-+ }
-+
-+ if (window) { // override the old window
-+ if (destroyOldWindow)
-+ destroyw = data.winid;
-+ id = window;
-+ nativeView = (QtHaikuView *)window;
-+ ((QtHaikuWindow *)(window->Window()))->updateWindowFlags(data.window_flags);
-+ }
-+ else
-+ if (desktop) { // desktop widget
-+ if (!q->testAttribute(Qt::WA_DontShowOnScreen)) {
-+ //popup = false; // force this flags off
-+ data.crect.setRect(screen_frame.left,screen_frame.top,screen_frame.right,screen_frame.bottom);
-+ }
-+// id = GetDesktopWindow();
-+// setWinId(id);
-+ }
-+ else
-+ {
-+ if (topLevel) { // create top-level widget
-+ int x=data.crect.left(),
-+ y=data.crect.top(),
-+ w=data.crect.width(),
-+ h=data.crect.height();
-+
-+ const bool wasMoved = q->testAttribute(Qt::WA_Moved);
-+ const bool wasResized = q->testAttribute(Qt::WA_Resized);
-+
-+ if(!wasResized) {
-+ w = screen_frame.right / 2;
-+ h = (4 * screen_frame.bottom) / 10;
-+ data.crect.setSize(QSize(w, h));
-+ }
-+
-+ if(!wasMoved) {
-+ srand(time(0));
-+ int dx = (screen_frame.right - w)/4;
-+ int dy = (screen_frame.bottom - h)/4;
-+ x = dx==0?0:rand() % dx + (dx/2);
-+ y = dy==0?0:rand() % dy + (dy/2);
-+ data.crect.moveTo(x,y);
-+ }
-+
-+ QString title = q->windowTitle();
-+ if (title.isEmpty())
-+ title = QFileInfo(QApplication::applicationFilePath()).fileName();
-+ nativeWindow = new QtHaikuWindow(BRect(x,y,x+w-1,y+h-1), title.toUtf8(), B_NO_BORDER_WINDOW_LOOK, B_NORMAL_WINDOW_FEEL, 0);
-+ nativeWindow->updateWindowFlags(data.window_flags);
-+ nativeView = new QtHaikuView(BRect(0,0,w,h), "RootView", B_FOLLOW_ALL_SIDES, B_WILL_DRAW);
-+ nativeWindow->setView(nativeView);
-+ } else {
-+ nativeView = new QtHaikuView(BRect(data.crect.x(),data.crect.y(),data.crect.x()+data.crect.width(),data.crect.y()+data.crect.height()),
-+ "WidgetView", B_FOLLOW_NONE, B_WILL_DRAW/* | B_NAVIGABLE*/);
-+ q->parentWidget()->d_func()->nativeView->AddChild(nativeView);
-+ nativeWindow = q->parentWidget()->d_func()->nativeWindow;
-+ }
-+
-+ nativeView->setWidget(q, this);
-+ if (nativeView->LockLooper()){
-+ nativeView->SetViewColor(B_TRANSPARENT_32_BIT);
-+ nativeView->UnlockLooper();
-+ }
-+ if (q->isWindow()) { }//nativeWindow->Hide(); // BWindow created hidden (?)
-+ else
-+ nativeView->Hide();
-+ }
-+
-+ setWinId(nativeView);
-+
-+ if (desktop) {
-+ q->setAttribute(Qt::WA_WState_Visible);
-+ } else if (topLevel && !q->testAttribute(Qt::WA_DontShowOnScreen)) {
-+/* RECT cr;
-+ GetClientRect(id, &cr);
-+ // one cannot trust cr.left and cr.top, use a correction POINT instead
-+ POINT pt;
-+ pt.x = 0;
-+ pt.y = 0;
-+ ClientToScreen(id, &pt);
-+
-+ if (data.crect.width() == 0 || data.crect.height() == 0) {
-+ data.crect = QRect(pt.x, pt.y, data.crect.width(), data.crect.height());
-+ } else {
-+ data.crect = QRect(QPoint(pt.x, pt.y),
-+ QPoint(pt.x + cr.right - 1, pt.y + cr.bottom - 1));
-+ }
-+
-+ if (data.fstrut_dirty) {
-+ // be nice to activeqt
-+ updateFrameStrut();
-+ }*/
-+ }
-+
-+
-+ q->setAttribute(Qt::WA_WState_Created); // accept move/resize events
-+ q->setAttribute(Qt::WA_WState_Visible, false);
-+
-+ if (window) { // got window from outside
-+// if (IsWindowVisible(window))
-+// q->setAttribute(Qt::WA_WState_Visible);
-+// else
-+// q->setAttribute(Qt::WA_WState_Visible, false);
-+ }
-+
-+ if (extra && !extra->mask.isEmpty())
-+ setMask_sys(extra->mask);
-+
-+ if (q->hasFocus() && q->testAttribute(Qt::WA_InputMethodEnabled)) {
-+ q->setFocus();
-+ }
-+
-+ //if (destroyw) {
-+ //BWindow *win = destroyw->Window();
-+ //if(win->Lock()) {
-+ // win->Quit();
-+ // win->Unlock();
-+ //}
-+ //}
-+
-+// if (q != qt_tablet_widget && QWidgetPrivate::mapper)
-+// qt_tablet_init();
-+
-+ if (q->testAttribute(Qt::WA_DropSiteRegistered))
-+ registerDropSite(true);
-+
-+// if (maybeTopData() && maybeTopData()->opacity != 255)
-+// q->setWindowOpacity(maybeTopData()->opacity/255.);
-+
-+ if (topLevel && (data.crect.width() == 0 || data.crect.height() == 0)) {
-+ q->setAttribute(Qt::WA_OutsideWSRange, true);
-+ }
-+
-+ if (!topLevel && q->testAttribute(Qt::WA_NativeWindow) && q->testAttribute(Qt::WA_Mapped)) {
-+ nativeView->Window()->Show();
-+ }
-+
-+// qDebug() << "=< QWidgetPrivate::create_sys(); QWidget = "<< q ;
-+}
-+
-+void QWidgetPrivate::hide_sys()
-+{
-+ Q_Q(QWidget);
-+ deactivateWidgetCleanup();
-+ Q_ASSERT(q->testAttribute(Qt::WA_WState_Created));
-+
-+ if (q->isWindow())
-+ nativeWindow->Hide();
-+ else
-+ nativeView->Hide();
-+ q->setAttribute(Qt::WA_Mapped, false);
-+}
-+
-+void QWidgetPrivate::show_sys()
-+{
-+ Q_Q(QWidget);
-+ Q_ASSERT(q->testAttribute(Qt::WA_WState_Created));
-+
-+ if (q->testAttribute(Qt::WA_OutsideWSRange)){
-+ qDebug("Qt::WA_OutsideWSRange");
-+ return;
-+ }
-+
-+ if (q->testAttribute(Qt::WA_DontShowOnScreen)) {
-+ qDebug("Qt::WA_DontShowOnScreen");
-+ invalidateBuffer(q->rect());
-+ return;
-+ }
-+
-+ //hack for native resize holder for window
-+ if(q->inherits("QSizeGrip")) {
-+ nativeView->Window()->SetLook(B_DOCUMENT_WINDOW_LOOK);
-+ q->setAttribute(Qt::WA_WState_Visible, false);
-+ return;
-+ }
-+
-+ if (q->isWindow()) {
-+ if (q->isMinimized()) {
-+ // ### TODO: Should handle
-+ } else if (q->isMaximized()) {
-+ // ### TODO: Should handle
-+ }
-+ }
-+ if (q->testAttribute(Qt::WA_ShowWithoutActivating)
-+ || (q->windowType() == Qt::Popup)
-+ || (q->windowType() == Qt::ToolTip)
-+ || (q->windowType() == Qt::Tool)) {
-+ // ### TODO: Should Handle
-+ }
-+
-+// if (data.fstrut_dirty)
-+// updateFrameStrut();
-+ if (q->isWindow())
-+ nativeWindow->Show();
-+ else
-+ nativeView->Show();
-+
-+ q->setAttribute(Qt::WA_Mapped);
-+
-+ invalidateBuffer(q->rect());
-+}
-+
-+void QWidgetPrivate::setParent_sys(QWidget* parent, Qt::WindowFlags f)
-+{
-+ Q_Q(QWidget);
-+
-+ bool wasCreated = q->testAttribute(Qt::WA_WState_Created);
-+ if (q->isVisible() && q->parentWidget() && parent != q->parentWidget())
-+ q->parentWidget()->d_func()->invalidateBuffer(q->geometry());
-+
-+ WId old_winid = data.winid;
-+ bool old_w = q->isWindow();
-+ bool widgetTypeChanged = false;
-+
-+ if (wasCreated && q->isVisible()) {
-+ if (q->isWindow())
-+ nativeWindow->Hide();
-+ else
-+ nativeView->Hide();
-+ }
-+
-+ bool dropSiteWasRegistered = false;
-+ if (q->testAttribute(Qt::WA_DropSiteRegistered)) {
-+ dropSiteWasRegistered = true;
-+ q->setAttribute(Qt::WA_DropSiteRegistered, false); // ole dnd unregister (we will register again below)
-+ }
-+
-+ if ((q->windowType() == Qt::Desktop))
-+ old_winid = 0;
-+
-+ QObjectPrivate::setParent_helper(parent);
-+
-+ bool explicitlyHidden = q->testAttribute(Qt::WA_WState_Hidden) && q->testAttribute(Qt::WA_WState_ExplicitShowHide);
-+
-+ data.window_flags = f;
-+ data.fstrut_dirty = true;
-+ q->setAttribute(Qt::WA_WState_Created, false);
-+ q->setAttribute(Qt::WA_WState_Visible, false);
-+ q->setAttribute(Qt::WA_WState_Hidden, false);
-+ adjustFlags(data.window_flags, q);
-+ widgetTypeChanged = old_w != q->isWindow(); // widget type changed (widget<->window)
-+
-+ if (wasCreated){
-+ if (parent && !parent->testAttribute(Qt::WA_WState_Created))
-+ parent->createWinId();
-+
-+ if (widgetTypeChanged){
-+
-+ BWindow *win = nativeView->Window();
-+ if (win && win->LockLooper()){
-+ nativeView->RemoveSelf();
-+ if (old_w)
-+ win->Quit();
-+ else
-+ win->UnlockLooper();
-+ }
-+
-+ if (old_w){ //was Window, become Widget(non-Window)
-+ bool wasLocked = parent->nativeView()->Looper()->IsLocked();
-+ if (wasLocked || parent->nativeView()->LockLooper() )
-+ {
-+ parent->nativeView()->AddChild(nativeView);
-+ nativeView->Hide();
-+
-+ nativeView->SetResizingMode(B_FOLLOW_NONE);
-+ nativeView->MoveTo(data.crect.x(),data.crect.y());
-+ nativeView->ResizeTo(data.crect.x()+data.crect.width(),data.crect.y()+data.crect.height());
-+ if (!wasLocked)
-+ parent->nativeView()->UnlockLooper();
-+ }
-+ nativeWindow = (QtHaikuWindow *)parent->nativeView()->Window();
-+
-+ q->setAttribute(Qt::WA_WState_Created, true);
-+ }
-+ else{// become Window (topLevel)
-+ createWinId();
-+
-+ nativeView->RemoveSelf(); //Delete new view created in create_sys. We need only BWindow
-+ delete nativeView;
-+
-+ nativeView = (QtHaikuView *)old_winid;
-+ nativeWindow->setView(nativeView);
-+
-+ nativeView->Show();
-+ setWinId(nativeView);
-+ }
-+ }
-+ else // widgetTypeChanged == false
-+ {
-+ if (q->isWindow())
-+ nativeWindow->updateWindowFlags(data.window_flags);
-+ else{//already created widget change parent widget from one to another
-+ BWindow *win = nativeView->Window();
-+ if (win && win->LockLooper()){
-+ nativeView->RemoveSelf();
-+ win->UnlockLooper();
-+ }
-+
-+ if (parent->nativeView()->LockLooper()){
-+ parent->nativeView()->AddChild(nativeView);
-+ parent->nativeView()->UnlockLooper();
-+ nativeWindow = (QtHaikuWindow *)parent->nativeView()->Window();
-+ }
-+ }
-+ q->setAttribute(Qt::WA_WState_Created, true);
-+ }
-+ }
-+ else
-+ if (!q->isWindow() && parent->testAttribute(Qt::WA_WState_Created))
-+ createWinId();
-+
-+ if (q->isWindow() || (!parent || parent->isVisible()) || explicitlyHidden)
-+ q->setAttribute(Qt::WA_WState_Hidden);
-+ q->setAttribute(Qt::WA_WState_ExplicitShowHide, explicitlyHidden);
-+
-+ if (extra && !extra->mask.isEmpty()) {
-+ QRegion r = extra->mask;
-+ extra->mask = QRegion();
-+ q->setMask(r);
-+ }
-+ if (extra && extra->topextra && !extra->topextra->caption.isEmpty()) {
-+ //setWindowIcon_sys(true);
-+ setWindowTitle_helper(extra->topextra->caption);
-+ }
-+
-+ if (q->testAttribute(Qt::WA_AcceptDrops) || dropSiteWasRegistered
-+ || (!q->isWindow() && q->parentWidget() && q->parentWidget()->testAttribute(Qt::WA_DropSiteRegistered)))
-+ q->setAttribute(Qt::WA_DropSiteRegistered, true);
-+
-+ invalidateBuffer(q->rect());
-+}
-+
-+void QWidgetPrivate::raise_sys()
-+{
-+// Q_Q(QWidget);
-+// qDebug() << "Unimplemented: QWidgetPrivate::raise_sys() "<< q ;
-+}
-+
-+void QWidgetPrivate::lower_sys()
-+{
-+// Q_Q(QWidget);
-+// qDebug() << "Unimplemented: QWidgetPrivate::lower_sys() "<< q ;
-+}
-+
-+void QWidgetPrivate::stackUnder_sys(QWidget* widget)
-+{
-+// Q_Q(QWidget);
-+// qDebug() << "Unimplemented: QWidgetPrivate::stackUnder_sys() "<< q << " top:"<isWindow() && nativeWindow)
-+ nativeWindow->SetTitle(title.toUtf8());
-+}
-+
-+void QWidgetPrivate::updateSystemBackground()
-+{
-+// Q_Q(QWidget);
-+// qDebug() << "Unimplemented: QWidgetPrivate::UpdateSystemBackground() "<< q ;
-+}
-+
-+void QWidgetPrivate::setModal_sys()
-+{
-+ Q_Q(QWidget);
-+// qDebug() << "Unimplemented: QWidgetPrivate::setModal_sys() "<< q ;
-+}
-+
-+void QWidgetPrivate::setConstraints_sys()
-+{
-+ Q_Q(QWidget);
-+// qDebug() << "QWidgetPrivate::setConstraints_sys() "<< q ;
-+ if (!q->isWindow() || !q->testAttribute(Qt::WA_WState_Created) || !extra)
-+ return;
-+ float minw = 0, minh = 0;
-+ float maxw = 10000, maxh = 10000;
-+ if (extra->minw > 0 || extra->minh > 0) {
-+ // add minimum size hints
-+ minw = qMin(10000, extra->minw);
-+ minh = qMin(10000, extra->minh);
-+ }
-+ if (extra->maxw < QWIDGETSIZE_MAX || extra->maxh < QWIDGETSIZE_MAX) {
-+ // add maximum size hints
-+ maxw = qMin(10000, extra->maxw);
-+ maxh = qMin(10000, extra->maxh);
-+ }
-+ nativeWindow->SetSizeLimits(minw,maxw,minh,maxh);
-+}
-+
-+void QWidgetPrivate::setCursor_sys(const QCursor& cursor)
-+{
-+ Q_UNUSED(cursor);
-+}
-+
-+void QWidgetPrivate::unsetCursor_sys()
-+{
-+}
-+
-+void QWidgetPrivate::setWSGeometry(bool dontShow, const QRect &)
-+{
-+ Q_UNUSED(dontShow);
-+ Q_Q(QWidget);
-+// qDebug() << "Unimplemented: QWidgetPrivate::setWSGeomerty() "<< q ;
-+}
-+
-+void QWidgetPrivate::setGeometry_sys(int x,int y,int w,int h,bool isMove)
-+{
-+ Q_Q(QWidget);
-+// qDebug()<<"setGeometry_sys() "<isWindow())
-+ {
-+ nativeFrame = nativeView->Window()->Frame();
-+ }
-+ else
-+ {
-+ if(nativeView->LockLooper()) {
-+ nativeFrame = nativeView->Frame();
-+ nativeView->UnlockLooper();
-+ }
-+ }
-+
-+ QPoint oldPos(nativeFrame.left, nativeFrame.top);
-+ QPoint newPos(x,y);
-+ QSize oldSize(nativeFrame.IntegerWidth(), nativeFrame.IntegerHeight());
-+ QSize newSize(w,h);
-+
-+ isMove = oldPos != newPos;
-+ bool isResize = oldSize != newSize;
-+
-+ if (!isResize && !isMove)
-+ return;
-+
-+ data.crect.setRect(x, y, w, h);
-+
-+ QTLWExtra *tlwExtra = q->window()->d_func()->maybeTopData();
-+ const bool inTopLevelResize = tlwExtra ? tlwExtra->inTopLevelResize : false;
-+
-+ if (q->isWindow()){
-+ if (w == 0 || h == 0) {
-+ q->setAttribute(Qt::WA_OutsideWSRange, true);
-+ if (q->isVisible() && q->testAttribute(Qt::WA_Mapped))
-+ hide_sys();
-+ } else if (q->isVisible() && q->testAttribute(Qt::WA_OutsideWSRange)) {
-+ q->setAttribute(Qt::WA_OutsideWSRange, false);
-+
-+ // put the window in its place and show it
-+ if (data.winid){
-+ nativeView->Window()->MoveTo(x, y);
-+ nativeView->Window()->ResizeTo(w-1, h-1);
-+ }
-+ setConstraints_sys();//do_size_hints(q, extra);
-+ show_sys();
-+ } else {
-+ if (isMove){
-+ nativeView->Window()->MoveTo(x, y);
-+ }
-+ if (isResize){
-+ nativeView->Window()->ResizeTo(w-1, h-1);
-+ }
-+ }
-+ updateFrameStrut();
-+ } else { //not Window
-+ if (isResize) {
-+ if(nativeView->LockLooper()) {
-+ nativeView->ResizeTo(w, h);
-+ nativeView->UnlockLooper();
-+ }
-+ }
-+ if (isMove)
-+ {
-+ if(nativeView->LockLooper()) {
-+ nativeView->MoveTo(x, y);
-+ nativeView->UnlockLooper();
-+ }
-+ }
-+ }
-+
-+ if (q->isWindow() && q->isVisible() && isResize && !inTopLevelResize) {
-+ invalidateBuffer(q->rect()); //after the resize
-+ }
-+
-+ if (q->isVisible()) {
-+ if (isMove && q->pos() != oldPos) {
-+ QMoveEvent e(q->pos(), oldPos);
-+ QApplication::sendEvent(q, &e);
-+ }
-+ if (isResize) {
-+// static bool slowResize = qgetenv("QT_SLOW_TOPLEVEL_RESIZE").toInt();
-+ // If we have a backing store with static contents, we have to disable the top-level
-+ // resize optimization in order to get invalidated regions for resized widgets.
-+ // The optimization discards all invalidateBuffer() calls since we're going to
-+ // repaint everything anyways, but that's not the case with static contents.
-+// const bool setTopLevelResize = !slowResize && q->isWindow() && extra && extra->topextra
-+// && !extra->topextra->inTopLevelResize
-+// && (!extra->topextra->backingStore
-+// || !extra->topextra->backingStore->hasStaticContents());
-+// if (setTopLevelResize)
-+// extra->topextra->inTopLevelResize = true;
-+ QResizeEvent e(q->size(), oldSize);
-+ QApplication::sendEvent(q, &e);
-+// if (setTopLevelResize)
-+ // extra->topextra->inTopLevelResize = false;
-+ }
-+ } else {
-+ if (isMove && q->pos() != oldPos)
-+ q->setAttribute(Qt::WA_PendingMoveEvent, true);
-+ if (isResize)
-+ q->setAttribute(Qt::WA_PendingResizeEvent, true);
-+ }
-+}
-+
-+void QWidgetPrivate::registerDropSite(bool)
-+{
-+ //debugprint(1, "Unimplemented: QWidgetPrivate::registerDropSite\n");
-+}
-+
-+void QWidgetPrivate::setWindowOpacity_sys(qreal)
-+{
-+ //debugprint(1, "Unimplemented: QWidgetPrivate::setWindowOpacity_sys \n");
-+}
-+/*
-+void QWidgetPrivate::createTLExtra()
-+{
-+// fprintf(stderr, "Unimplemented: QWidgetPrivate::createTLExtra\n");
-+}
-+*/
-+void QWidgetPrivate::deleteSysExtra()
-+{
-+// debugprint(1, "Unimplemented: QWidgetPrivate::deleteSysExtra\n");
-+}
-+
-+void QWidgetPrivate::deleteTLSysExtra()
-+{
-+ //debugprint(1, "Unimplemented: QWidgetPrivate::deleteTLSysExtra\n");
-+}
-+
-+void QWidgetPrivate::createSysExtra()
-+{
-+// debugprint(1, "Unimplemented: QWidgetPrivate::createSysExtra\n");
-+}
-+
-+void QWidgetPrivate::createTLSysExtra()
-+{
-+// debugprint(1, "Unimplemented: QWidgetPrivate::createTLSysExtra\n");
-+}
-+
-+void QWidgetPrivate::setWindowIconText_sys(const QString&)
-+{
-+// debugprint(1, "Unimplemented: QWidgetPrivate::setWindowIconText_sys \n");
-+}
-+
-+void QWidgetPrivate::scroll_sys(int,int, const QRect& r)
-+{
-+// debugprint(1, "Reimplemented: QWidgetPrivate::scroll(int,int,const QRect&\n");
-+ Q_Q(QWidget);
-+ q->update(r);
-+}
-+
-+void QWidgetPrivate::scroll_sys(int, int)
-+{
-+// debugprint(1, "Reimplemented: QWidgetPrivate::scroll(int,int)\n");
-+ Q_Q(QWidget);
-+ q->update();
-+}
-+
-+void QWidgetPrivate::updateFrameStrut()
-+{
-+// debugprint(5, "Reimplemented: QWidgetPrivate::updateFrameStrut\n");
-+ QTLWExtra* top = this->topData();
-+ if(nativeView->LockLooper()) {
-+ BRect frame = nativeView->Bounds();
-+ top->frameStrut.setCoords(frame.left, frame.top, frame.right, frame.bottom);
-+ nativeView->UnlockLooper();
-+ }
-+ data.fstrut_dirty = false;
-+}
-+
-+void QWidgetPrivate::setFocus_sys()
-+{
-+}
-+
-+QWindowSurface *QWidgetPrivate::createDefaultWindowSurface_sys()
-+{
-+ Q_Q(QWidget);
-+ return new QRasterWindowSurface(q);
-+}
-+
-+void QWidgetPrivate::setMask_sys(const QRegion ®ion)
-+{
-+ Q_UNUSED(region);
-+// debugprint(1, "Unimplemented: QWidgetPrivate::setMask_sys()\n");
-+}
-+
-+int QWidget::metric(PaintDeviceMetric m) const
-+{
-+//qDebug() << "QWidget::metric("<< m <<")";
-+ int val = 0;
-+ if (m == PdmWidth) {
-+ val = data->crect.width();
-+ } else if (m == PdmHeight) {
-+ val = data->crect.height();
-+ } else {
-+ switch (m) {
-+ case PdmDpiX:
-+ case PdmPhysicalDpiX:
-+ case PdmDpiY:
-+ case PdmPhysicalDpiY:
-+ val = 72;
-+ break;
-+ case PdmWidthMM:
-+ case PdmHeightMM:
-+ case PdmNumColors:
-+ case PdmDepth:
-+// qWarning("QWidget::metric Unknown metric type requested\n");
-+ break;
-+ default:
-+ val = 0;
-+ qWarning("QWidget::metric: Invalid metric command");
-+ }
-+ }
-+
-+ return val;
-+}
-+
-+QPaintEngine *QWidget::paintEngine() const
-+{
-+ return 0;
-+}
-+
-+QPoint QWidget::mapToGlobal(const QPoint &pos) const
-+{
-+ //Q_D(QWidget);
-+// qDebug()<<"QWidget::mapToGlobal() pos:"<crect.topLeft();
-+ //cannot trust that !isWindow() implies parentWidget() before create
-+ return (isWindow() || !parentWidget()) ? p : parentWidget()->mapToGlobal(p);
-+ }
-+
-+ if (nativeView()->LockLooper())
-+ {
-+ BPoint p = nativeView()->ConvertToScreen(BPoint(pos.x(),pos.y()));
-+ nativeView()->UnlockLooper();
-+ return QPoint(p.x,p.y);
-+ }
-+ return QPoint(); // ???
-+}
-+
-+QPoint QWidget::mapFromGlobal(const QPoint &pos) const
-+{
-+// qDebug()<<"QWidget::mapFromGlobal() pos:"<mapFromGlobal(pos);
-+ return p - data->crect.topLeft();
-+ }
-+
-+ if (nativeView()->LockLooper())
-+ {
-+ BPoint p = nativeView()->ConvertFromScreen(BPoint(pos.x(),pos.y()));
-+ nativeView()->UnlockLooper();
-+ return QPoint(p.x,p.y);
-+ }
-+ return QPoint(); // ???
-+}
-+
-+void QWidget::activateWindow()
-+{
-+ Q_D(QWidget);
-+ if (isWindow()) {
-+ d->nativeView->Window()->Activate();
-+ }
-+}
-+
-+void QWidget::setWindowState(Qt::WindowStates newstate)
-+{
-+// qDebug() << "QWidgetPrivate::setWindowState() "<< this<<" "<topData()->normalGeometry = geometry();
-+ if (isVisible() && !(newstate & Qt::WindowMinimized)) {
-+//TODO: Qt::WindowMaximized not supported yet.
-+ d->nativeView->Window()->Show();
-+
-+ if (!(newstate & Qt::WindowFullScreen)) {
-+ QRect r = d->topData()->normalGeometry;
-+ if (!(newstate & Qt::WindowMaximized) && r.width() >= 0) {
-+ if (pos() != r.topLeft() || size() !=r.size()) {
-+ d->topData()->normalGeometry = QRect(0,0,-1,-1);
-+ setGeometry(r);
-+ }
-+ }
-+ } else {
-+ d->updateFrameStrut();
-+ }
-+ }
-+ }
-+
-+ // Qt::WindowFullScreen
-+ if ((oldstate & Qt::WindowFullScreen) != (newstate & Qt::WindowFullScreen)) {
-+ if (newstate & Qt::WindowFullScreen) { // save current window flags and geometry and go to FullScreen
-+ if (d->topData()->normalGeometry.width() < 0 && !(oldstate & Qt::WindowMaximized))
-+ d->topData()->normalGeometry = geometry();
-+ d->topData()->savedFlags = d->data.window_flags;
-+
-+
-+ d->data.window_flags |= Qt::SplashScreen;
-+ d->nativeWindow->updateWindowFlags(d->data.window_flags);
-+
-+ QRect r = qApp->desktop()->screenGeometry(this);
-+ d->nativeView->Window()->Zoom(BPoint(r.left(),r.top()),r.width(),r.height());
-+ d->updateFrameStrut();
-+ }
-+ else { //back from FullScreen (to saved flags and geomerty)
-+ d->data.window_flags = d->topData()->savedFlags;
-+ d->nativeWindow->updateWindowFlags(d->data.window_flags);
-+
-+ if (!(newstate & Qt::WindowMaximized)) {
-+ QRect r = d->topData()->normalGeometry;
-+ d->topData()->normalGeometry = QRect(0,0,-1,-1);
-+ if (r.isValid())
-+ setGeometry(r);
-+ }
-+ d->updateFrameStrut();
-+ }
-+ }
-+ }
-+
-+ //Qt::WindowMinimized
-+ if ((oldstate & Qt::WindowMinimized) != (newstate & Qt::WindowMinimized)) {
-+ if (isVisible())
-+//TODO: Qt::WindowMinimized state changed...
-+ d->nativeView->Window()->Minimize((newstate & Qt::WindowMinimized) ? true :
-+ (newstate & Qt::WindowMaximized) ? false : false);
-+ }
-+
-+ data->window_state = newstate;
-+ QWindowStateChangeEvent e(oldstate);
-+ QApplication::sendEvent(this, &e);
-+}
-+
-+void QWidget::grabMouse()
-+{
-+ if (mouseGrb)
-+ mouseGrb->releaseMouse();
-+ mouseGrb = this;
-+}
-+
-+void QWidget::grabMouse(const QCursor &cursor)
-+{
-+ Q_UNUSED(cursor);
-+ if (mouseGrb)
-+ mouseGrb->releaseMouse();
-+ mouseGrb = this;
-+}
-+
-+void QWidget::releaseMouse()
-+{
-+ if(mouseGrb == this) {
-+ mouseGrb = 0;
-+ }
-+}
-+
-+QWidget *QWidget::mouseGrabber()
-+{
-+ return mouseGrb;
-+}
-+
-+void QWidget::grabKeyboard()
-+{
-+ if (keyboardGrb)
-+ keyboardGrb->releaseKeyboard();
-+ keyboardGrb = this;
-+}
-+
-+void QWidget::releaseKeyboard()
-+{
-+ if (keyboardGrb == this) {
-+ keyboardGrb = 0;
-+ }
-+}
-+
-+QWidget *QWidget::keyboardGrabber()
-+{
-+ return keyboardGrb;
-+}
-+
-+void QWidget::destroy(bool destroyWindow, bool destroySubWindows)
-+{
-+ Q_D(QWidget);
-+// qDebug() << "Reimplemented: QWidgetPrivate::destroy() "<< this ;
-+ if (!isWindow() && parentWidget())
-+ parentWidget()->d_func()->invalidateBuffer(geometry());
-+ d->deactivateWidgetCleanup();
-+ if (testAttribute(Qt::WA_WState_Created)) {
-+ setAttribute(Qt::WA_WState_Created, false);
-+ QObjectList childList = children();
-+ for (int i = 0; i < childList.size(); ++i) { // destroy all widget children
-+ register QObject *obj = childList.at(i);
-+ if (obj->isWidgetType())
-+ static_cast(obj)->destroy(destroySubWindows,
-+ destroySubWindows);
-+ }
-+
-+ if (mouseGrb == this)
-+ releaseMouse();
-+
-+ if (keyboardGrb == this)
-+ releaseKeyboard();
-+
-+// if (testAttribute(Qt::WA_ShowModal)) // just be sure we leave modal
-+// QApplicationPrivate::leaveModal(this);
-+// else
-+ if ((windowType() == Qt::Popup))
-+ qApp->d_func()->closePopup(this);
-+
-+ if (isWindow()) {
-+ if ((windowType() != Qt::Desktop) && destroyWindow){
-+ BWindow *win = d->nativeView->Window();
-+
-+ if (win->LockLooper()){
-+ for (int i =0;i<=win->CountChildren()-1;i++){
-+ BView *w = win->ChildAt(i);
-+ w->RemoveSelf();
-+ delete w;
-+ }
-+ win->Quit();
-+ }
-+ }
-+ } else {
-+ BWindow *win =d->nativeView->Window();
-+ bool wasLocked = win->Looper()->IsLocked();
-+ if (win && (wasLocked || win->LockLooper()) ){
-+ d->nativeView->RemoveSelf();
-+ if (!wasLocked)
-+ win->UnlockLooper();
-+ }
-+ delete d->nativeView;
-+ }
-+
-+ d->nativeView = NULL;
-+ d->nativeWindow = NULL;
-+ d->setWinId(0);
-+ }
-+}
-+
-+BView* QWidget::nativeView() const
-+{
-+ Q_D(const QWidget);
-+ return d->nativeView;
-+}
-diff -rupN qt-everywhere-opensource-src-4.7.3/src/gui/kernel/qwidget_haiku.h qt-everywhere-opensource-src-4.7.3_haiku/src/gui/kernel/qwidget_haiku.h
---- qt-everywhere-opensource-src-4.7.3/src/gui/kernel/qwidget_haiku.h 1970-01-01 00:00:00.000000000 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/src/gui/kernel/qwidget_haiku.h 2011-06-13 22:06:43.334495744 +0000
-@@ -0,0 +1,105 @@
-+#ifndef QWIDGET_HAIKU_H
-+#define QWIDGET_HAIKU_H
-+
-+#include
-+#include
-+#include
-+#include "qevent.h"
-+
-+#include "qwidget.h"
-+//#include "qwidget_p.h"
-+//#include "qtextcodec.h"
-+
-+//#include
-+//#include "qevent_p.h"
-+//#include "private/qwindowsurface_raster_p.h"
-+//#include "qapplication.h"
-+//#include "qfileinfo.h"
-+
-+
-+QT_BEGIN_HEADER
-+
-+QT_BEGIN_NAMESPACE
-+
-+QT_MODULE(Gui)
-+
-+class QWidgetPrivate;
-+
-+class QtHaikuView : public QObject, public BView
-+{
-+ Q_OBJECT
-+
-+public:
-+ QtHaikuView(BRect frame, const char *name, uint32 resizingMode, uint32 flags);
-+ ~QtHaikuView();
-+
-+ virtual void MessageReceived(BMessage* msg);
-+ virtual void FrameResized(float width, float height);
-+ virtual void MouseDown(BPoint point);
-+ virtual void MouseUp(BPoint point);
-+ virtual void MouseMoved(BPoint where, uint32 code, const BMessage *message);
-+ virtual void Hide();
-+ virtual void Show();
-+ virtual void Draw(BRect rect);
-+
-+ inline void setWidget(QWidget *widget, QWidgetPrivate *widgetPrivate);
-+ void sendWheelEvent(int delta_x, int delta_y);
-+
-+ Qt::KeyboardModifiers translateModifiers(uint32 s);
-+ bool isVisible;
-+Q_SIGNALS:
-+ void sendHaikuEvent(QObject *receiver, QEvent *event);
-+ void sendUpdateWidget();
-+ void sendUpdateWidgetRect(QRect r);
-+ void sendResizeWidget(int width, int height);
-+ void sendMoveWidget(int x, int y);
-+ void sendSetActiveWindow(QWidget *widget);
-+ void sendCloseWindow(QWidget *widget);
-+
-+private:
-+ friend class QtHaikuWindow;
-+ Qt::MouseButton translateMouseButton(uint32 s);
-+ Qt::MouseButtons translateMouseButtons(uint32 s);
-+
-+ QWidget* fWidget;
-+ QWidgetPrivate* fWidgetPrivate;
-+
-+ int last_down_buttons;
-+ int last_clicked_buttons;
-+ int last_mouse_x;
-+ int last_mouse_y;
-+
-+ bigtime_t last_click_time;
-+ bigtime_t last_draw_event;
-+};
-+
-+class QtHaikuWindow : public BWindow
-+{
-+public:
-+ QtHaikuWindow(BRect frame, const char *title, window_look look, window_feel feel, uint32 flags);
-+ ~QtHaikuWindow();
-+
-+ void FrameResized(float width, float height);
-+ void FrameMoved(BPoint point);
-+ void MessageReceived(BMessage* msg);
-+ virtual void DispatchMessage(BMessage *, BHandler *);
-+ virtual void WindowActivated(bool active);
-+ virtual bool QuitRequested();
-+ virtual void Hide();
-+ virtual void Show();
-+
-+ inline void setView(QtHaikuView *view);
-+
-+ void sendKeyEvent(QEvent::Type type, BMessage *msg);
-+ bool isVisible;
-+ bool inDestroy;
-+ void updateWindowFlags(Qt::WindowFlags f);
-+private:
-+ QtHaikuView *fView;
-+};
-+
-+QT_END_NAMESPACE
-+
-+QT_END_HEADER
-+
-+#endif
-diff -rupN qt-everywhere-opensource-src-4.7.3/src/gui/kernel/qwidget_p.h qt-everywhere-opensource-src-4.7.3_haiku/src/gui/kernel/qwidget_p.h
---- qt-everywhere-opensource-src-4.7.3/src/gui/kernel/qwidget_p.h 2011-03-30 05:19:04.055836672 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/src/gui/kernel/qwidget_p.h 2011-06-13 22:06:43.337117184 +0000
-@@ -877,6 +877,9 @@ public:
- void s60UpdateIsOpaque();
- void reparentChildren();
- void registerTouchWindow();
-+#elif defined(Q_WS_HAIKU) // <--------------------------------------------------------- HAIKU
-+ QtHaikuWindow *nativeWindow;
-+ QtHaikuView *nativeView;
- #endif
-
- };
-diff -rupN qt-everywhere-opensource-src-4.7.3/src/gui/kernel/qwindowdefs.h qt-everywhere-opensource-src-4.7.3_haiku/src/gui/kernel/qwindowdefs.h
---- qt-everywhere-opensource-src-4.7.3/src/gui/kernel/qwindowdefs.h 2011-03-30 05:19:04.046923776 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/src/gui/kernel/qwindowdefs.h 2011-06-13 22:06:43.338952192 +0000
-@@ -110,6 +110,10 @@ typedef long WId;
- #include
- #endif // Q_WS_WIN
-
-+#if defined(Q_WS_HAIKU)
-+#include
-+#endif
-+
- #if defined(Q_WS_X11)
-
- typedef struct _XDisplay Display;
-diff -rupN qt-everywhere-opensource-src-4.7.3/src/gui/kernel/qwindowdefs_haiku.h qt-everywhere-opensource-src-4.7.3_haiku/src/gui/kernel/qwindowdefs_haiku.h
---- qt-everywhere-opensource-src-4.7.3/src/gui/kernel/qwindowdefs_haiku.h 1970-01-01 00:00:00.000000000 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/src/gui/kernel/qwindowdefs_haiku.h 2011-06-13 22:06:43.341311488 +0000
-@@ -0,0 +1,72 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-+** Contact: Qt Software Information (qt-info@nokia.com)
-+**
-+** This file is part of the QtGui module of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial Usage
-+** Licensees holding valid Qt Commercial licenses may use this file in
-+** accordance with the Qt Commercial License Agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and Nokia.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 2.1 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 2.1 requirements
-+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-+**
-+** In addition, as a special exception, Nokia gives you certain
-+** additional rights. These rights are described in the Nokia Qt LGPL
-+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-+** package.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 3.0 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU General Public License version 3.0 requirements will be
-+** met: http://www.gnu.org/copyleft/gpl.html.
-+**
-+** If you are unsure which license is appropriate for your use, please
-+** contact the sales department at qt-sales@nokia.com.
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#ifndef QWINDOWDEFS_HAIKU_H
-+#define QWINDOWDEFS_HAIKU_H
-+
-+#include
-+
-+QT_BEGIN_HEADER
-+
-+QT_BEGIN_NAMESPACE
-+
-+QT_MODULE(Gui)
-+
-+QT_END_NAMESPACE
-+#ifndef BUILD_WEBKIT
-+#include
-+#include
-+#include
-+#include
-+#include
-+#include
-+#else
-+class BView;
-+#endif
-+typedef BView *WId;
-+
-+QT_BEGIN_NAMESPACE
-+//?
-+QT_END_NAMESPACE
-+
-+QT_END_HEADER
-+
-+#endif // QWINDOWDEFS_HAIKU_H
-diff -rupN qt-everywhere-opensource-src-4.7.3/src/gui/painting/painting.pri qt-everywhere-opensource-src-4.7.3_haiku/src/gui/painting/painting.pri
---- qt-everywhere-opensource-src-4.7.3/src/gui/painting/painting.pri 2011-03-30 05:19:07.043515904 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/src/gui/painting/painting.pri 2011-06-13 22:06:43.343408640 +0000
-@@ -164,7 +164,7 @@ unix:!mac:!symbian {
- painting/qprinterinfo_unix.cpp
- }
-
--win32|x11|mac|embedded|symbian {
-+win32|x11|mac|embedded|symbian|haiku {
- SOURCES += painting/qbackingstore.cpp
- HEADERS += painting/qbackingstore_p.h
- }
-@@ -248,6 +248,12 @@ symbian {
- QMAKE_CXXFLAGS.ARMCC *= -O3
- }
-
-+haiku {
-+ SOURCES += \
-+# painting/qpaintdevice_haiku.cpp \
-+ painting/qcolormap_haiku.cpp
-+}
-+
- NEON_SOURCES += painting/qdrawhelper_neon.cpp
- NEON_HEADERS += painting/qdrawhelper_neon_p.h
- NEON_ASM += ../3rdparty/pixman/pixman-arm-neon-asm.S painting/qdrawhelper_neon_asm.S
-diff -rupN qt-everywhere-opensource-src-4.7.3/src/gui/painting/qcolormap_haiku.cpp qt-everywhere-opensource-src-4.7.3_haiku/src/gui/painting/qcolormap_haiku.cpp
---- qt-everywhere-opensource-src-4.7.3/src/gui/painting/qcolormap_haiku.cpp 1970-01-01 00:00:00.000000000 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/src/gui/painting/qcolormap_haiku.cpp 2011-06-13 22:06:43.345767936 +0000
-@@ -0,0 +1,189 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-+** Contact: Qt Software Information (qt-info@nokia.com)
-+**
-+** This file is part of the QtGui module of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial Usage
-+** Licensees holding valid Qt Commercial licenses may use this file in
-+** accordance with the Qt Commercial License Agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and Nokia.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 2.1 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 2.1 requirements
-+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-+**
-+** In addition, as a special exception, Nokia gives you certain
-+** additional rights. These rights are described in the Nokia Qt LGPL
-+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-+** package.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 3.0 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU General Public License version 3.0 requirements will be
-+** met: http://www.gnu.org/copyleft/gpl.html.
-+**
-+** If you are unsure which license is appropriate for your use, please
-+** contact the sales department at qt-sales@nokia.com.
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#include "qcolormap.h"
-+
-+#include "qapplication.h"
-+#include "qdebug.h"
-+#include "qdesktopwidget.h"
-+#include "qvarlengtharray.h"
-+
-+#include
-+
-+QT_BEGIN_NAMESPACE
-+
-+class QColormapPrivate
-+{
-+public:
-+ QColormapPrivate()
-+ : ref(1), mode(QColormap::Direct), depth(0),
-+ defaultColormap(true),
-+ defaultVisual(true),
-+ r_max(0), g_max(0), b_max(0),
-+ r_shift(0), g_shift(0), b_shift(0)
-+ {}
-+
-+ QAtomicInt ref;
-+
-+ QColormap::Mode mode;
-+ int depth;
-+
-+// Colormap colormap;
-+ bool defaultColormap;
-+
-+// Visual *visual;
-+ bool defaultVisual;
-+
-+ int r_max;
-+ int g_max;
-+ int b_max;
-+
-+ uint r_shift;
-+ uint g_shift;
-+ uint b_shift;
-+
-+ QVector colors;
-+ QVector pixels;
-+};
-+
-+
-+static QColormap **cmaps = 0;
-+
-+/*! \internal
-+*/
-+void QColormap::initialize()
-+{
-+}
-+
-+/*! \internal
-+*/
-+void QColormap::cleanup()
-+{
-+ // Display *display = QX11Info::display();
-+ const int screens = 0;//ScreenCount(display);
-+
-+ for (int i = 0; i < screens; ++i)
-+ delete cmaps[i];
-+
-+ delete [] cmaps;
-+ cmaps = 0;
-+}
-+
-+QColormap QColormap::instance(int screen)
-+{
-+ //if (screen == -1)
-+ // screen = QX11Info::appScreen();
-+ QColormap cm;
-+ return cm;//*cmaps[screen];
-+}
-+
-+/*! \internal
-+ Constructs a new colormap.
-+*/
-+QColormap::QColormap()
-+ : d(new QColormapPrivate)
-+{}
-+
-+QColormap::QColormap(const QColormap &colormap)
-+ :d (colormap.d)
-+{ d->ref.ref(); }
-+
-+QColormap::~QColormap()
-+{
-+ if (!d->ref.deref()) {
-+ if (!d->defaultColormap) {}
-+// XFreeColormap(QX11Info::display(), d->colormap);
-+ delete d;
-+ }
-+}
-+
-+QColormap::Mode QColormap::mode() const
-+{ return d->mode; }
-+
-+int QColormap::depth() const
-+{ return d->depth; }
-+
-+int QColormap::size() const
-+{
-+ return (d->mode == Gray
-+ ? d->r_max
-+ : (d->mode == Indexed
-+ ? d->r_max * d->g_max * d->b_max
-+ : -1));
-+}
-+
-+uint QColormap::pixel(const QColor &color) const
-+{
-+ const QColor c = color.toRgb();
-+ const uint r = (c.ct.argb.red * d->r_max) >> 16;
-+ const uint g = (c.ct.argb.green * d->g_max) >> 16;
-+ const uint b = (c.ct.argb.blue * d->b_max) >> 16;
-+ if (d->mode != Direct) {
-+ if (d->mode == Gray)
-+ return d->pixels.at((r * 30 + g * 59 + b * 11) / 100);
-+ return d->pixels.at(r * d->g_max * d->b_max + g * d->b_max + b);
-+ }
-+ return (r << d->r_shift) + (g << d->g_shift) + (b << d->b_shift);
-+}
-+
-+const QColor QColormap::colorAt(uint pixel) const
-+{
-+ if (d->mode != Direct) {
-+ Q_ASSERT(pixel <= (uint)d->colors.size());
-+ return d->colors.at(pixel);
-+ }
-+
-+ //const int r = (((pixel & d->visual->red_mask) >> d->r_shift) << 8) / d->r_max;
-+ //const int g = (((pixel & d->visual->green_mask) >> d->g_shift) << 8) / d->g_max;
-+ //const int b = (((pixel & d->visual->blue_mask) >> d->b_shift) << 8) / d->b_max;
-+ return QColor(0, 0, 0);
-+}
-+
-+const QVector QColormap::colormap() const
-+{ return d->colors; }
-+
-+QColormap &QColormap::operator=(const QColormap &colormap)
-+{
-+ qAtomicAssign(d, colormap.d);
-+ return *this;
-+}
-+
-+QT_END_NAMESPACE
-diff -rupN qt-everywhere-opensource-src-4.7.3/src/gui/painting/qgraphicssystem.cpp qt-everywhere-opensource-src-4.7.3_haiku/src/gui/painting/qgraphicssystem.cpp
---- qt-everywhere-opensource-src-4.7.3/src/gui/painting/qgraphicssystem.cpp 2011-03-30 05:19:07.046661632 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/src/gui/painting/qgraphicssystem.cpp 2011-06-13 22:06:43.346816512 +0000
-@@ -44,7 +44,7 @@
- #ifdef Q_WS_X11
- # include
- #endif
--#if defined(Q_WS_WIN)
-+#if defined(Q_WS_WIN) || defined(Q_WS_HAIKU)
- # include
- #endif
- #ifdef Q_WS_MAC
-@@ -72,7 +72,9 @@ QPixmapData *QGraphicsSystem::createDefa
- #elif defined(Q_WS_MAC)
- return new QMacPixmapData(type);
- #elif defined(Q_OS_SYMBIAN)
-- return new QS60PixmapData(type);
-+ return new QS60PixmapData(type);
-+#elif defined(Q_WS_HAIKU)
-+ return new QRasterPixmapData(type);
- #elif !defined(Q_WS_QWS)
- #error QGraphicsSystem::createDefaultPixmapData() not implemented
- #endif
-diff -rupN qt-everywhere-opensource-src-4.7.3/src/gui/painting/qpaintengine_raster.cpp qt-everywhere-opensource-src-4.7.3_haiku/src/gui/painting/qpaintengine_raster.cpp
---- qt-everywhere-opensource-src-4.7.3/src/gui/painting/qpaintengine_raster.cpp 2011-03-30 05:19:07.039583744 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/src/gui/painting/qpaintengine_raster.cpp 2011-06-13 22:06:43.351010816 +0000
-@@ -96,6 +96,8 @@
- # include
- #elif defined(Q_OS_SYMBIAN) && defined(QT_NO_FREETYPE)
- # include
-+#elif defined(Q_WS_HAIKU)
-+# include
- #endif
-
- #if defined(Q_WS_WIN64)
-@@ -3408,7 +3410,7 @@ void QRasterPaintEngine::drawTextItem(co
- }
- #endif // Q_WS_QWS
-
--#if (defined(Q_WS_X11) || defined(Q_WS_QWS) || defined(Q_OS_SYMBIAN)) && !defined(QT_NO_FREETYPE)
-+#if (defined(Q_WS_X11) || defined(Q_WS_QWS) || defined(Q_OS_SYMBIAN) || defined(Q_WS_HAIKU)) && !defined(QT_NO_FREETYPE)
-
- #if defined(Q_WS_QWS) && !defined(QT_NO_QWS_QPF2)
- if (fontEngine->type() == QFontEngine::QPF2) {
-diff -rupN qt-everywhere-opensource-src-4.7.3/src/gui/painting/qregion.cpp qt-everywhere-opensource-src-4.7.3_haiku/src/gui/painting/qregion.cpp
---- qt-everywhere-opensource-src-4.7.3/src/gui/painting/qregion.cpp 2011-03-30 05:19:07.052953088 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/src/gui/painting/qregion.cpp 2011-06-13 22:06:43.354156544 +0000
-@@ -1620,7 +1620,7 @@ QT_END_INCLUDE_NAMESPACE
- QT_BEGIN_INCLUDE_NAMESPACE
- # include "qregion_win.cpp"
- QT_END_INCLUDE_NAMESPACE
--#elif defined(Q_WS_QWS)
-+#elif defined(Q_WS_QWS) || defined(Q_WS_HAIKU)
- static QRegionPrivate qrp;
- QRegion::QRegionData QRegion::shared_empty = {Q_BASIC_ATOMIC_INITIALIZER(1), &qrp};
- #endif
-diff -rupN qt-everywhere-opensource-src-4.7.3/src/gui/painting/qregion.h qt-everywhere-opensource-src-4.7.3_haiku/src/gui/painting/qregion.h
---- qt-everywhere-opensource-src-4.7.3/src/gui/painting/qregion.h 2011-03-30 05:19:07.041156608 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/src/gui/painting/qregion.h 2011-06-13 22:06:43.355729408 +0000
-@@ -59,7 +59,7 @@ QT_MODULE(Gui)
- template class QVector;
- class QVariant;
-
--#if defined(Q_WS_QWS) || defined(Q_WS_X11) || defined(Q_WS_MAC) || defined(Q_WS_WIN) || defined(Q_OS_SYMBIAN)
-+#if defined(Q_WS_QWS) || defined(Q_WS_X11) || defined(Q_WS_MAC) || defined(Q_WS_WIN) || defined(Q_OS_SYMBIAN) || defined(Q_WS_HAIKU)
- struct QRegionPrivate;
- #endif
-
-@@ -203,7 +203,7 @@ private:
- #elif defined(Q_WS_MAC) && !defined(QT_MAC_USE_COCOA)
- mutable RgnHandle unused; // Here for binary compatibility reasons. ### Qt 5 remove.
- #endif
--#if defined(Q_WS_QWS) || defined(Q_WS_X11) || defined(Q_WS_MAC) || defined(Q_WS_WIN) || defined(Q_OS_SYMBIAN)
-+#if defined(Q_WS_QWS) || defined(Q_WS_X11) || defined(Q_WS_MAC) || defined(Q_WS_WIN) || defined(Q_OS_SYMBIAN) || defined(Q_WS_HAIKU)
- QRegionPrivate *qt_rgn;
- #endif
- };
-diff -rupN qt-everywhere-opensource-src-4.7.3/src/gui/painting/qwindowsurface_raster.cpp qt-everywhere-opensource-src-4.7.3_haiku/src/gui/painting/qwindowsurface_raster.cpp
---- qt-everywhere-opensource-src-4.7.3/src/gui/painting/qwindowsurface_raster.cpp 2011-03-30 05:19:07.048496640 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/src/gui/painting/qwindowsurface_raster.cpp 2011-06-13 22:06:43.357302272 +0000
-@@ -66,6 +66,10 @@
- #include
- #endif
-
-+#ifdef Q_WS_HAIKU
-+#include
-+#endif
-+
- QT_BEGIN_NAMESPACE
-
- class QRasterWindowSurfacePrivate
-@@ -298,6 +302,24 @@ void QRasterWindowSurface::flush(QWidget
- #endif
- #endif // Q_WS_MAC
-
-+#ifdef Q_WS_HAIKU
-+ // d->image is the image to be painted
-+ // widget is the widget to be painted on
-+ BView *view = widget->nativeView();
-+ BLooper* looper = view->Looper();
-+
-+ if (looper->IsLocked())
-+ return;
-+ if(view->LockLooper()) {
-+ QRect r = rgn.boundingRect();
-+ BRect dst_region = BRect(r.x(), r.y(), r.x()+r.width(), r.y()+r.height());
-+ BRect src_region = dst_region;
-+ src_region.OffsetBy(offset.x(),offset.y());
-+ view->DrawBitmap(d->image->bitmap, src_region, dst_region);
-+ view->UnlockLooper();
-+ }
-+#endif
-+
- #ifdef Q_OS_SYMBIAN
- Q_UNUSED(widget);
- Q_UNUSED(rgn);
-diff -rupN qt-everywhere-opensource-src-4.7.3/src/gui/styles/qhaikustyle.cpp qt-everywhere-opensource-src-4.7.3_haiku/src/gui/styles/qhaikustyle.cpp
---- qt-everywhere-opensource-src-4.7.3/src/gui/styles/qhaikustyle.cpp 1970-01-01 00:00:00.000000000 +0000
-+++ qt-everywhere-opensource-src-4.7.3_haiku/src/gui/styles/qhaikustyle.cpp 2011-06-13 22:06:43.365428736 +0000
-@@ -0,0 +1,3928 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-+** Contact: Qt Software Information (qt-info@nokia.com)
-+**
-+** This file is part of the QtGui module of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial Usage
-+** Licensees holding valid Qt Commercial licenses may use this file in
-+** accordance with the Qt Commercial License Agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and Nokia.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 2.1 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 2.1 requirements
-+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-+**
-+** In addition, as a special exception, Nokia gives you certain
-+** additional rights. These rights are described in the Nokia Qt LGPL
-+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-+** package.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 3.0 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU General Public License version 3.0 requirements will be
-+** met: http://www.gnu.org/copyleft/gpl.html.
-+**
-+** If you are unsure which license is appropriate for your use, please
-+** contact the sales department at qt-sales@nokia.com.
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#include "qhaikustyle.h"
-+#include "qhaikustyle_p.h"
-+
-+#if !defined(QT_NO_STYLE_HAIKU) || defined(QT_PLUGIN)
-+
-+#include "qwindowsstyle_p.h"
-+#include
-+#include
-+#include
-+#include
-+#include
-+#include
-+#include
-+#include
-+#include
-+#include
-+#include
-+#include
-+#include
-+#include
-+#include
-+#include
-+#include
-+#include
-+#include
-+#include
-+#include
-+#include
-+#include
-+
-+#include
-+#include
-+#include
-+#include
-+#include
-+#include
-+#include
-+
-+#define CL_MAX(a,b) (a)>(b) ? (a):(b) // ### qMin/qMax does not work for vc6
-+#define CL_MIN(a,b) (a)<(b) ? (a):(b) // remove this when it is working
-+
-+QT_BEGIN_NAMESPACE
-+
-+static const bool UsePixmapCache = true;
-+
-+enum Direction {
-+ TopDown,
-+ FromLeft,
-+ BottomUp,
-+ FromRight
-+};
-+
-+// from windows style
-+static const int windowsItemFrame = 2; // menu item frame width
-+static const int windowsSepHeight = 6; // separator item height
-+static const int windowsItemHMargin = 3; // menu item hor text margin
-+static const int windowsItemVMargin = 8; // menu item ver text margin
-+static const int windowsArrowHMargin = 6; // arrow horizontal margin
-+static const int windowsTabSpacing = 12; // space between text and tab
-+static const int windowsCheckMarkHMargin = 2; // horiz. margins of check mark
-+static const int windowsRightBorder = 15; // right border on windows
-+static const int windowsCheckMarkWidth = 12; // checkmarks width on windows
-+
-+/* XPM */
-+static const char * const dock_widget_close_xpm[] = {
-+ "11 13 7 1",
-+ " c None",
-+ ". c #D5CFCB",
-+ "+ c #8F8B88",
-+ "@ c #6C6A67",
-+ "# c #ABA6A3",
-+ "$ c #B5B0AC",
-+ "% c #A4A09D",
-+ " ",
-+ " +@@@@@@@+ ",
-+ "+# #+",
-+ "@ $@ @$ @",
-+ "@ @@@ @@@ @",
-+ "@ @@@@@ @",
-+ "@ @@@ @",
-+ "@ @@@@@ @",
-+ "@ @@@ @@@ @",
-+ "@ $@ @$ @",
-+ "+% #+",
-+ " +@@@@@@@+ ",
-+ " "};
-+
-+
-+static const char * const dock_widget_restore_xpm[] = {
-+ "11 13 7 1",
-+ " c None",
-+ ". c #D5CFCB",
-+ "+ c #8F8B88",
-+ "@ c #6C6A67",
-+ "# c #ABA6A3",
-+ "$ c #B5B0AC",
-+ "% c #A4A09D",
-+ " ",
-+ " +@@@@@@@+ ",
-+ "+# #+",
-+ "@ #@@@# @",
-+ "@ @ @ @",
-+ "@ #@@@# @ @",
-+ "@ @ @ @ @",
-+ "@ @ @@@ @",
-+ "@ @ @ @",
-+ "@ #@@@# @",
-+ "+% #+",
-+ " +@@@@@@@+ ",
-+ " "};
-+
-+static const char * const workspace_minimize[] = {
-+ "11 13 7 1",
-+ " c None",
-+ ". c #D5CFCB",
-+ "+ c #8F8B88",
-+ "@ c #6C6A67",
-+ "# c #ABA6A3",
-+ "$ c #B5B0AC",
-+ "% c #A4A09D",
-+ " ",
-+ " +@@@@@@@+ ",
-+ "+# #+",
-+ "@ @",
-+ "@ @",
-+ "@ @",
-+ "@ @@@@@@@ @",
-+ "@ @@@@@@@ @",
-+ "@ @",
-+ "@ @",
-+ "+% #+",
-+ " +@@@@@@@+ ",
-+ " "};
-+
-+
-+static const char * const qt_titlebar_context_help[] = {
-+ "10 10 3 1",
-+ " c None",
-+ "# c #000000",
-+ "+ c #444444",
-+ " +####+ ",
-+ " ### ### ",
-+ " ## ## ",
-+ " +##+ ",
-+ " +## ",
-+ " ## ",
-+ " ## ",
-+ " ",
-+ " ## ",
-+ " ## "};
-+
-+
-+static const char * const qt_scrollbar_button_arrow_left[] = {
-+"6 7 18 1",
-+"d c #303030",
-+"g c #333333",
-+"c c #3d3d3d",
-+"j c #4d4d4d",
-+"l c #626262",
-+"h c #656565",
-+"p c #8b8b8b",
-+"a c #919191",
-+"k c #9a9a9a",
-+"f c #9e9e9e",
-+"n c #9f9f9f",
-+"e c #a5a5a5",
-+"m c #b3b3b3",
-+"i c #b4b4b4",
-+"b c #bababa",
-+"o c #c6c6c6",
-+"# c #cfcfcf",
-+". c None",
-+"...#a.",
-+"..bcde",
-+".fgdh.",
-+"iddj..",
-+".kgdl.",
-+"..mcdn",
-+"...op."};
-+
-+static const char * const qt_scrollbar_button_arrow_right[] = {
-+"6 7 19 1",
-+"c c #303030",
-+"g c #333333",
-+"n c #3d3d3d",
-+"d c #3e3e3e",
-+"i c #4d4d4d",
-+"k c #626262",
-+"f c #646464",
-+"p c #8b8b8b",
-+"# c #919191",
-+"l c #9b9b9b",
-+"h c #9e9e9e",
-+"m c #9f9f9f",
-+"b c #a5a5a5",
-+"o c #b3b3b3",
-+"j c #b4b4b4",
-+"e c #bababa",
-+"q c #c6c6c6",
-+"a c #cfcfcf",
-+". c None",
-+".#a...",
-+"bcde..",
-+".fcgh.",
-+"..iccj",
-+".kcgl.",
-+"mcno..",
-+".pq..."};
-+
-+static const char * const qt_scrollbar_button_arrow_up[] = {
-+"7 6 17 1",
-+"b c #303030",
-+"e c #333333",
-+"h c #3d3d3d",
-+"i c #4c4c4c",
-+"m c #626262",
-+"l c #656565",
-+"n c #8a8a8a",
-+"k c #919191",
-+"c c #9a9a9a",
-+"a c #9e9e9e",
-+"o c #a4a4a4",
-+"# c #afafaf",
-+"f c #b3b3b3",
-+"d c #b9b9b9",
-+"j c #c5c5c5",
-+"g c #cecece",
-+". c None",
-+"...#...",
-+"..abc..",
-+".debef.",
-+"ghbibhj",
-+"kbl.mbn",
-+".o...a."};
-+
-+static const char * const qt_scrollbar_button_arrow_down[] = {
-+"7 6 17 1",
-+"c c #303030",
-+"l c #333333",
-+"h c #3d3d3d",
-+"i c #4c4c4c",
-+"e c #626262",
-+"d c #656565",
-+"f c #8a8a8a",
-+"b c #919191",
-+"n c #9a9a9a",
-+"a c #9e9e9e",
-+"# c #a4a4a4",
-+"o c #afafaf",
-+"m c #b3b3b3",
-+"k c #b9b9b9",
-+"j c #c5c5c5",
-+"g c #cecece",
-+". c None",
-+".#...a.",
-+"bcd.ecf",
-+"ghcichj",
-+".klclm.",
-+"..acn..",
-+"...o..."};
-+
-+static const char * const qt_scrollbar_buttons[] = {
-+"15 15 31 1",
-+" c None",
-+"n c #303030",
-+"q c #333333",
-+"t c #3d3d3d",
-+"u c #4c4c4c",
-+"y c #626262",
-+"x c #656565",
-+"z c #8a8a8a",
-+"w c #919191",
-+". c #989898",
-+"o c #9a9a9a",
-+"m c #9e9e9e",
-+"A c #a4a4a4",
-+"l c #afafaf",
-+"r c #b3b3b3",
-+"p c #b9b9b9",
-+"v c #c5c5c5",
-+"k c #c6c6c6",
-+"s c #cecece",
-+"B c #d4d4d4",
-+"j c #dbdbdb",
-+"i c #dcdcdc",
-+"h c #dedede",
-+"g c #dfdfdf",
-+"f c #e0e0e0",
-+"e c #e6e6e6",
-+"a c #e7e7e7",
-+"d c #e8e8e8",
-+"c c #e9e9e9",
-+"b c #eaeaea",
-+"# c #f7f7f7",
-+"...............",
-+".############a.",
-+".# k.",
-+".# k.",
-+".# k.",
-+".# k.",
-+".# k.",
-+".# k.",
-+".# k.",
-+".# k.",
-+".# k.",
-+".# k.",
-+".# k.",
-+".akkkkkkkkkkkk.",
-+"..............."};
-+
-+
-+static const char * const qt_haiku_menuitem_checkbox_checked[] = {
-+"9 9 31 1",
-+"d c #000000",
-+"t c #020202",
-+"m c #060606",
-+"e c #0b0b0b",
-+"w c #0e0e0e",
-+"j c #191919",
-+"z c #1a1a1a",
-+"s c #2b2b2b",
-+"p c #2d2d2d",
-+"# c #4d4d4d",
-+"r c #555555",
-+"o c #636363",
-+"x c #646464",
-+"a c #707070",
-+"k c #808080",
-+"y c #828282",
-+"h c #838383",
-+"c c #9a9a9a",
-+"B c #9c9c9c",
-+"g c #a7a7a7",
-+"u c #b5b5b5",
-+"l c #bfbfbf",
-+"n c #c0c0c0",
-+"f c #c8c8c8",
-+"C c #c9c9c9",
-+"v c #cdcdcd",
-+"i c #d5d5d5",
-+"A c #d6d6d6",
-+"b c #d9d9d9",
-+"q c #dedede",
-+". c None",
-+"......#ab",
-+".....cdef",
-+".gh.ijdk.",
-+"ldmnodpq.",
-+".rdsttu..",
-+".vwddx...",
-+"..ydzA...",
-+"..qsB....",
-+"...C....."};
-+
-+class TemporarySurface
-+{
-+public:
-+ TemporarySurface(const BRect& bounds)
-+ : mBitmap(bounds, B_BITMAP_ACCEPTS_VIEWS, B_RGBA32)
-+ , mView(bounds, "Qt temporary surface", 0, 0)
-+ , mImage(reinterpret_cast(mBitmap.Bits()),
-+ bounds.IntegerWidth() + 1, bounds.IntegerHeight() + 1,
-+ mBitmap.BytesPerRow(), QImage::Format_ARGB32)
-+ {
-+ mBitmap.Lock();
-+ mBitmap.AddChild(&mView);
-+ }
-+
-+ ~TemporarySurface()
-+ {
-+ mBitmap.RemoveChild(&mView);
-+ mBitmap.Unlock();
-+ }
-+
-+ BView* view()
-+ {
-+ return &mView;
-+ }
-+
-+ QImage& image()
-+ {
-+ if(mView.Window())
-+ mView.Sync();
-+ return mImage;
-+ }
-+
-+private:
-+ BBitmap mBitmap;
-+ BView mView;
-+ QImage mImage;
-+};
-+
-+
-+static QColor mkQColor(rgb_color rgb)
-+{
-+ return QColor(rgb.red, rgb.green, rgb.blue);
-+}
-+
-+static void qt_haiku_draw_button(QPainter *painter, const QRect &qrect, bool def, bool flat, bool pushed, bool focus, bool enabled)
-+{
-+ QRect rect = qrect;
-+ if (be_control_look != NULL) {
-+ // TODO: If this button is embedded within a different color background, it would be
-+ // nice to tell this function so the frame can be smoothly blended into the background.
-+ rgb_color background = ui_color(B_PANEL_BACKGROUND_COLOR);
-+ rgb_color base = background;
-+ uint32 flags = 0;
-+ if (pushed)
-+ flags |= BControlLook::B_ACTIVATED;
-+ if (focus)
-+ flags |= BControlLook::B_FOCUSED;
-+ if (def) {
-+ flags |= BControlLook::B_DEFAULT_BUTTON;
-+ rect = rect.adjusted(-2,-2,2,2);
-+ }
-+ if (!enabled)
-+ flags |= BControlLook::B_DISABLED;
-+
-+ BRect bRect(0.0f, 0.0f, rect.width() - 1, rect.height() - 1);
-+
-+ TemporarySurface surface(bRect);
-+
-+ be_control_look->DrawButtonFrame(surface.view(), bRect, bRect, base, background, flags);
-+ be_control_look->DrawButtonBackground(surface.view(), bRect, bRect, base, flags);
-+
-+ painter->drawImage(rect, surface.image());
-+
-+ return;
-+ }
-+}
-+
-+static void qt_haiku_draw_gradient(QPainter *painter, const QRect &rect, const QColor &gradientStart,
-+ const QColor &gradientStop, Direction direction = TopDown, QBrush bgBrush = QBrush())
-+{
-+ int x = rect.center().x();
-+ int y = rect.center().y();
-+ QLinearGradient *gradient;
-+ switch(direction) {
-+ case FromLeft:
-+ gradient = new QLinearGradient(rect.left(), y, rect.right(), y);
-+ break;
-+ case FromRight:
-+ gradient = new QLinearGradient(rect.right(), y, rect.left(), y);
-+ break;
-+ case BottomUp:
-+ gradient = new QLinearGradient(x, rect.bottom(), x, rect.top());
-+ break;
-+ case TopDown:
-+ default:
-+ gradient = new QLinearGradient(x, rect.top(), x, rect.bottom());
-+ break;
-+ }
-+ if (bgBrush.gradient())
-+ gradient->setStops(bgBrush.gradient()->stops());
-+ else {
-+ gradient->setColorAt(0, gradientStart);
-+ gradient->setColorAt(1, gradientStop);
-+ }
-+ painter->fillRect(rect, *gradient);
-+ delete gradient;
-+}
-+
-+static QString uniqueName(const QString &key, const QStyleOption *option, const QSize &size)
-+{
-+ QString tmp;
-+ const QStyleOptionComplex *complexOption = qstyleoption_cast(option);
-+ tmp.sprintf("%s-%d-%d-%lld-%dx%d-%d", key.toLatin1().constData(), uint(option->state),
-+ complexOption ? uint(complexOption->activeSubControls) : uint(0),
-+ option->palette.cacheKey(), size.width(), size.height(), option->direction);
-+#ifndef QT_NO_SPINBOX
-+ if (const QStyleOptionSpinBox *spinBox = qstyleoption_cast(option)) {
-+ tmp.append(QLatin1Char('-'));
-+ tmp.append(QString::number(spinBox->buttonSymbols));
-+ tmp.append(QLatin1Char('-'));
-+ tmp.append(QString::number(spinBox->stepEnabled));
-+ tmp.append(QLatin1Char('-'));
-+ tmp.append(QLatin1Char(spinBox->frame ? '1' : '0'));
-+ }
-+#endif // QT_NO_SPINBOX
-+ return tmp;
-+}
-+
-+static void qt_haiku_draw_mdibutton(QPainter *painter, const QStyleOptionTitleBar *option, const QRect &tmp, bool hover, bool sunken)
-+{
-+ QColor dark;
-+ dark.setHsv(option->palette.button().color().hue(),
-+ CL_MIN(255, (int)(option->palette.button().color().saturation()*1.9)),
-+ CL_MIN(255, (int)(option->palette.button().color().value()*0.7)));
-+
-+ QColor highlight = option->palette.highlight().color();
-+
-+ bool active = (option->titleBarState & QStyle::State_Active);
-+ QColor titleBarHighlight(255, 255, 255, 60);
-+
-+ if (sunken)
-+ painter->fillRect(tmp.adjusted(1, 1, -1, -1), option->palette.highlight().color().darker(120));
-+ else if (hover)
-+ painter->fillRect(tmp.adjusted(1, 1, -1, -1), QColor(255, 255, 255, 20));
-+
-+ QColor mdiButtonGradientStartColor;
-+ QColor mdiButtonGradientStopColor;
-+
-+ mdiButtonGradientStartColor = QColor(0, 0, 0, 40);
-+ mdiButtonGradientStopColor = QColor(255, 255, 255, 60);
-+
-+ if (sunken)
-+ titleBarHighlight = highlight.darker(130);
-+
-+ QLinearGradient gradient(tmp.center().x(), tmp.top(), tmp.center().x(), tmp.bottom());
-+ gradient.setColorAt(0, mdiButtonGradientStartColor);
-+ gradient.setColorAt(1, mdiButtonGradientStopColor);
-+ QColor mdiButtonBorderColor(active ? option->palette.highlight().color().darker(180): dark.darker(110));
-+
-+ painter->setPen(QPen(mdiButtonBorderColor, 1));
-+ painter->drawLine(tmp.left() + 2, tmp.top(), tmp.right() - 2, tmp.top());
-+ painter->drawLine(tmp.left() + 2, tmp.bottom(), tmp.right() - 2, tmp.bottom());
-+ painter->drawLine(tmp.left(), tmp.top() + 2, tmp.left(), tmp.bottom() - 2);
-+ painter->drawLine(tmp.right(), tmp.top() + 2, tmp.right(), tmp.bottom() - 2);
-+ painter->drawPoint(tmp.left() + 1, tmp.top() + 1);
-+ painter->drawPoint(tmp.right() - 1, tmp.top() + 1);
-+ painter->drawPoint(tmp.left() + 1, tmp.bottom() - 1);
-+ painter->drawPoint(tmp.right() - 1, tmp.bottom() - 1);
-+
-+ painter->setPen(titleBarHighlight);
-+ painter->drawLine(tmp.left() + 2, tmp.top() + 1, tmp.right() - 2, tmp.top() + 1);
-+ painter->drawLine(tmp.left() + 1, tmp.top() + 2, tmp.left() + 1, tmp.bottom() - 2);
-+
-+ painter->setPen(QPen(gradient, 1));
-+ painter->drawLine(tmp.right() + 1, tmp.top() + 2, tmp.right() + 1, tmp.bottom() - 2);
-+ painter->drawPoint(tmp.right() , tmp.top() + 1);
-+
-+ painter->drawLine(tmp.left() + 2, tmp.bottom() + 1, tmp.right() - 2, tmp.bottom() + 1);
-+ painter->drawPoint(tmp.left() + 1, tmp.bottom());
-+ painter->drawPoint(tmp.right() - 1, tmp.bottom());
-+ painter->drawPoint(tmp.right() , tmp.bottom() - 1);
-+}
-+
-+/*!
-+ \class QHaikuStyle
-+ \brief The QHaikuStyle class provides a widget style similar to the
-+ Clearlooks style available in GNOME.
-+ \since 4.2
-+
-+ The Haiku style provides a look and feel for widgets
-+ that closely resembles the Clearlooks style, introduced by Richard
-+ Stellingwerff and Daniel Borgmann.
-+
-+ \sa {Haiku Style Widget Gallery}, QWindowsXPStyle, QMacStyle, QWindowsStyle,
-+ QCDEStyle, QMotifStyle, QPlastiqueStyle
-+*/
-+
-+/*!
-+ Constructs a QHaikuStyle object.
-+*/
-+QHaikuStyle::QHaikuStyle() : QWindowsStyle(*new QHaikuStylePrivate)
-+{
-+ setObjectName(QLatin1String("Haiku"));
-+}
-+
-+/*!
-+ \internal
-+
-+ Constructs a QHaikuStyle object.
-+*/
-+QHaikuStyle::QHaikuStyle(QHaikuStylePrivate &dd) : QWindowsStyle(dd)
-+{
-+}
-+
-+/*!
-+ Destroys the QHaikuStyle object.
-+*/
-+QHaikuStyle::~QHaikuStyle()
-+{
-+}
-+
-+/*!
-+ \fn void QHaikuStyle::drawItemText(QPainter *painter, const QRect &rectangle, int alignment, const QPalette &palette,
-+ bool enabled, const QString& text, QPalette::ColorRole textRole) const
-+
-+ Draws the given \a text in the specified \a rectangle using the
-+ provided \a painter and \a palette.
-+
-+ Text is drawn using the painter's pen. If an explicit \a textRole
-+ is specified, then the text is drawn using the \a palette's color
-+ for the specified role. The \a enabled value indicates whether or
-+ not the item is enabled; when reimplementing, this value should
-+ influence how the item is drawn.
-+
-+ The text is aligned and wrapped according to the specified \a
-+ alignment.
-+
-+ \sa Qt::Alignment
-+*/
-+void QHaikuStyle::drawItemText(QPainter *painter, const QRect &rect, int alignment, const QPalette &pal,
-+ bool enabled, const QString& text, QPalette::ColorRole textRole) const
-+{
-+ if (text.isEmpty())
-+ return;
-+
-+ QPen savedPen = painter->pen();
-+ if (textRole != QPalette::NoRole) {
-+ painter->setPen(QPen(pal.brush(textRole), savedPen.widthF()));
-+ }
-+ if (!enabled) {
-+ QPen pen = painter->pen();
-+ painter->setPen(pen);
-+ }
-+ painter->drawText(rect, alignment, text);
-+ painter->setPen(savedPen);
-+}
-+
-+static QColor mergedColors(const QColor &colorA, const QColor &colorB, int factor = 50)
-+{
-+ const int maxFactor = 100;
-+ QColor tmp = colorA;
-+ tmp.setRed((tmp.red() * factor) / maxFactor + (colorB.red() * (maxFactor - factor)) / maxFactor);
-+ tmp.setGreen((tmp.green() * factor) / maxFactor + (colorB.green() * (maxFactor - factor)) / maxFactor);
-+ tmp.setBlue((tmp.blue() * factor) / maxFactor + (colorB.blue() * (maxFactor - factor)) / maxFactor);
-+ return tmp;
-+}
-+
-+/*!
-+ \reimp
-+*/
-+void QHaikuStyle::drawPrimitive(PrimitiveElement elem,
-+ const QStyleOption *option,
-+ QPainter *painter, const QWidget *widget) const
-+{
-+ Q_ASSERT(option);
-+ QRect rect = option->rect;
-+ int state = option->state;
-+ QColor button = option->palette.button().color();
-+ QColor buttonShadow = option->palette.button().color().darker(110);
-+ QColor buttonShadowAlpha = buttonShadow;
-+ buttonShadowAlpha.setAlpha(128);
-+ QColor darkOutline;
-+ QColor dark;
-+ darkOutline.setHsv(button.hue(),
-+ CL_MIN(255, (int)(button.saturation()*3.0)),
-+ CL_MIN(255, (int)(button.value()*0.6)));
-+ dark.setHsv(button.hue(),
-+ CL_MIN(255, (int)(button.saturation()*1.9)),
-+ CL_MIN(255, (int)(button.value()*0.7)));
-+ QColor tabFrameColor = mergedColors(option->palette.background().color(),
-+ dark.lighter(135), 60);
-+
-+ switch(elem) {
-+#ifndef QT_NO_TABBAR
-+ case PE_FrameTabBarBase:
-+ if (const QStyleOptionTabBarBase *tbb
-+ = qstyleoption_cast(option)) {
-+ painter->save();
-+ painter->setPen(QPen(darkOutline.lighter(110), 0));
-+ switch (tbb->shape) {
-+ case QTabBar::RoundedNorth: {
-+ QRegion region(tbb->rect);
-+ region -= tbb->selectedTabRect;
-+ painter->drawLine(tbb->rect.topLeft(), tbb->rect.topRight());
-+ painter->setClipRegion(region);
-+ painter->setPen(option->palette.light().color());
-+ painter->drawLine(tbb->rect.topLeft() + QPoint(0, 1),
-+ tbb->rect.topRight() + QPoint(0, 1));
-+ }
-+ break;
-+ case QTabBar::RoundedWest:
-+ painter->drawLine(tbb->rect.left(), tbb->rect.top(), tbb->rect.left(), tbb->rect.bottom());
-+ break;
-+ case QTabBar::RoundedSouth:
-+ painter->drawLine(tbb->rect.left(), tbb->rect.bottom(),
-+ tbb->rect.right(), tbb->rect.bottom());
-+ break;
-+ case QTabBar::RoundedEast:
-+ painter->drawLine(tbb->rect.topRight(), tbb->rect.bottomRight());
-+ break;
-+ case QTabBar::TriangularNorth:
-+ case QTabBar::TriangularEast:
-+ case QTabBar::TriangularWest:
-+ case QTabBar::TriangularSouth:
-+ painter->restore();
-+ QWindowsStyle::drawPrimitive(elem, option, painter, widget);
-+ return;
-+ }
-+ painter->restore();
-+ }
-+ return;
-+#endif // QT_NO_TABBAR
-+ case PE_IndicatorViewItemCheck:
-+ {
-+ QStyleOptionButton button;
-+ button.QStyleOption::operator=(*option);
-+ button.state &= ~State_MouseOver;
-+ drawPrimitive(PE_IndicatorCheckBox, &button, painter, widget);
-+ }
-+ return;
-+ case PE_IndicatorHeaderArrow:
-+ if (const QStyleOptionHeader *header = qstyleoption_cast(option)) {
-+ QRect r = header->rect;
-+ QImage arrow;
-+ if (header->sortIndicator & QStyleOptionHeader::SortUp)
-+ arrow = QImage(qt_scrollbar_button_arrow_up);
-+ else if (header->sortIndicator & QStyleOptionHeader::SortDown)
-+ arrow = QImage(qt_scrollbar_button_arrow_down);
-+ if (!arrow.isNull()) {
-+ r.setSize(arrow.size());
-+ r.moveCenter(header->rect.center());
-+ arrow.setColor(1, header->palette.foreground().color().rgba());
-+ painter->drawImage(r, arrow);
-+ }
-+ }
-+ break;
-+ case PE_IndicatorButtonDropDown:
-+ drawPrimitive(PE_PanelButtonCommand, option, painter, widget);
-+ break;
-+ case PE_IndicatorToolBarSeparator:
-+ {
-+ QRect rect = option->rect;
-+ const int margin = 6;
-+ if (option->state & State_Horizontal) {
-+ const int offset = rect.width()/2;
-+ painter->setPen(QPen(option->palette.background().color().darker(110)));
-+ painter->drawLine(rect.bottomLeft().x() + offset,
-+ rect.bottomLeft().y() - margin,
-+ rect.topLeft().x() + offset,
-+ rect.topLeft().y() + margin);
-+ painter->setPen(QPen(option->palette.background().color().lighter(110)));
-+ painter->drawLine(rect.bottomLeft().x() + offset + 1,
-+ rect.bottomLeft().y() - margin,
-+ rect.topLeft().x() + offset + 1,
-+ rect.topLeft().y() + margin);
-+ } else { //Draw vertical separator
-+ const int offset = rect.height()/2;
-+ painter->setPen(QPen(option->palette.background().color().darker(110)));
-+ painter->drawLine(rect.topLeft().x() + margin ,
-+ rect.topLeft().y() + offset,
-+ rect.topRight().x() - margin,
-+ rect.topRight().y() + offset);
-+ painter->setPen(QPen(option->palette.background().color().lighter(110)));
-+ painter->drawLine(rect.topLeft().x() + margin ,
-+ rect.topLeft().y() + offset + 1,
-+ rect.topRight().x() - margin,
-+ rect.topRight().y() + offset + 1);
-+ }
-+ }
-+ break;
-+ case PE_Frame:
-+ painter->save();
-+ painter->setPen(dark.lighter(108));
-+ painter->drawRect(option->rect.adjusted(0, 0, -1, -1));
-+ painter->restore();
-+ break;
-+ case PE_FrameMenu:
-+ painter->save();
-+ {
-+ painter->setPen(QPen(darkOutline, 1));
-+ painter->drawRect(option->rect.adjusted(0, 0, -1, -1));
-+ QColor frameLight = option->palette.background().color().lighter(160);
-+ QColor frameShadow = option->palette.background().color().darker(110);
-+
-+ //paint beveleffect
-+ QRect frame = option->rect.adjusted(1, 1, -1, -1);
-+ painter->setPen(frameLight);
-+ painter->drawLine(frame.topLeft(), frame.bottomLeft());
-+ painter->drawLine(frame.topLeft(), frame.topRight());
-+
-+ painter->setPen(frameShadow);
-+ painter->drawLine(frame.topRight(), frame.bottomRight());
-+ painter->drawLine(frame.bottomLeft(), frame.bottomRight());
-+ }
-+ painter->restore();
-+ break;
-+ case PE_FrameDockWidget:
-+
-+ painter->save();
-+ {
-+ QColor softshadow = option->palette.background().color().darker(120);
-+
-+ QRect rect= option->rect;
-+ painter->setPen(softshadow);
-+ painter->drawRect(option->rect.adjusted(0, 0, -1, -1));
-+ painter->setPen(QPen(option->palette.light(), 0));
-+ painter->drawLine(QPoint(rect.left() + 1, rect.top() + 1), QPoint(rect.left() + 1, rect.bottom() - 1));
-+ painter->setPen(QPen(option->palette.background().color().darker(120), 0));
-+ painter->drawLine(QPoint(rect.left() + 1, rect.bottom() - 1), QPoint(rect.right() - 2, rect.bottom() - 1));
-+ painter->drawLine(QPoint(rect.right() - 1, rect.top() + 1), QPoint(rect.right() - 1, rect.bottom() - 1));
-+
-+ }
-+ painter->restore();
-+ break;
-+ case PE_PanelButtonTool:
-+ painter->save();
-+ if ((option->state & State_Enabled || option->state & State_On) || !(option->state & State_AutoRaise)) {
-+ QRect rect = option->rect;
-+ QPen oldPen = painter->pen();
-+
-+ if (widget && widget->inherits("QDockWidgetTitleButton")) {
-+ if (option->state & State_MouseOver)
-+ drawPrimitive(PE_PanelButtonCommand, option, painter, widget);
-+ } else {
-+ drawPrimitive(PE_PanelButtonCommand, option, painter, widget);
-+ }
-+ }
-+ painter->restore();
-+ break;
-+ case PE_IndicatorDockWidgetResizeHandle:
-+ {
-+ QStyleOption dockWidgetHandle = *option;
-+ bool horizontal = option->state & State_Horizontal;
-+ if (horizontal)
-+ dockWidgetHandle.state &= ~State_Horizontal;
-+ else
-+ dockWidgetHandle.state |= State_Horizontal;
-+ drawControl(CE_Splitter, &dockWidgetHandle, painter, widget);
-+ }
-+ break;
-+ case PE_FrameWindow:
-+ painter->save();
-+ {
-+ QRect rect= option->rect;
-+ painter->setPen(QPen(dark.darker(150), 0));
-+ painter->drawRect(option->rect.adjusted(0, 0, -1, -1));
-+ painter->setPen(QPen(option->palette.light(), 0));
-+ painter->drawLine(QPoint(rect.left() + 1, rect.top() + 1),
-+ QPoint(rect.left() + 1, rect.bottom() - 1));
-+ painter->setPen(QPen(option->palette.background().color().darker(120), 0));
-+ painter->drawLine(QPoint(rect.left() + 1, rect.bottom() - 1),
-+ QPoint(rect.right() - 2, rect.bottom() - 1));
-+ painter->drawLine(QPoint(rect.right() - 1, rect.top() + 1),
-+ QPoint(rect.right() - 1, rect.bottom() - 1));
-+ }
-+ painter->restore();
-+ break;
-+#ifndef QT_NO_LINEDIT
-+ case PE_FrameLineEdit:
-+ // fall through
-+#endif // QT_NO_LINEEDIT
-+#ifdef QT3_SUPPORT
-+ if (widget && widget->inherits("Q3ToolBar")) {
-+ drawPrimitive(PE_Q3Separator, option, painter, widget);
-+ break;
-+ }
-+#endif
-+ {
-+ QPen oldPen = painter->pen();
-+ if (option->state & State_Enabled) {
-+ if(option->state & State_HasFocus)
-+ painter->setPen(QPen(mkQColor(ui_color(B_NAVIGATION_BASE_COLOR)), 0));
-+ else
-+ painter->setPen(QPen(QColor(129,129,129), 0));
-+ painter->drawRect(rect.adjusted(1, 1, -1, -1));
-+ } else {
-+ painter->fillRect(rect, option->palette.background());
-+ painter->setPen(QPen(QColor(129,129,129), 0));
-+ painter->drawRect(rect.adjusted(1, 1, -1, -1));
-+ }
-+ }
-+ break;
-+ case PE_IndicatorCheckBox:
-+ painter->save();
-+ if (const QStyleOptionButton *checkbox = qstyleoption_cast(option)) {
-+
-+ rect = rect.adjusted(-2, -2, 1, 1);
-+ BRect bRect(0.0f, 0.0f, rect.width() - 1, rect.height() - 1);
-+ TemporarySurface surface(bRect);
-+ rgb_color base = ui_color(B_PANEL_BACKGROUND_COLOR);
-+ uint32 flags = 0;
-+
-+ if (!(state & State_Enabled))
-+ flags |= BControlLook::B_DISABLED;
-+ if (checkbox->state & State_On)
-+ flags |= BControlLook::B_ACTIVATED;
-+ if (checkbox->state & State_HasFocus)
-+ flags |= BControlLook::B_FOCUSED;
-+ if (checkbox->state & State_Sunken)
-+ flags |= BControlLook::B_CLICKED;
-+ if (checkbox->state & State_NoChange)
-+ flags |= BControlLook::B_DISABLED | BControlLook::B_ACTIVATED;
-+
-+ be_control_look->DrawCheckBox(surface.view(), bRect, bRect, base, flags);
-+ painter->drawImage(rect, surface.image());
-+ }
-+ painter->restore();
-+ break;
-+ case PE_IndicatorRadioButton:
-+ painter->save();
-+ {
-+ painter->setRenderHint(QPainter::SmoothPixmapTransform);
-+ QRect checkRect = rect.adjusted(0, 0, 0, 0);
-+
-+ painter->setRenderHint(QPainter::Antialiasing);
-+ if (state & State_Sunken)
-+ painter->setBrush(mkQColor(ui_color(B_PANEL_BACKGROUND_COLOR)));
-+ else
-+ painter->setBrush(QColor(255,255,255));
-+
-+ if(state & State_HasFocus)
-+ painter->setPen(QPen(mkQColor(ui_color(B_NAVIGATION_BASE_COLOR)), 0));
-+ else
-+ painter->setPen(QColor(129,129,129));
-+ painter->drawEllipse(rect);
-+
-+ if (state & (State_On )) {
-+ painter->setBrush(QColor(27,82,140));
-+ painter->setPen(Qt::NoPen);
-+ painter->drawEllipse(rect.adjusted(3, 3, -3, -3));
-+ }
-+ }
-+ painter->restore();
-+ break;
-+ case PE_IndicatorToolBarHandle:
-+ painter->save();
-+ if (option->state & State_Horizontal) {
-+ for (int i = rect.height()/5; i <= 4*(rect.height()/5) ; ++i) {
-+ int y = rect.topLeft().y() + i + 1;
-+ int x1 = rect.topLeft().x() + 3;
-+ int x2 = rect.topRight().x() - 2;
-+
-+ if (i % 2 == 0)
-+ painter->setPen(QPen(option->palette.light(), 0));
-+ else
-+ painter->setPen(QPen(dark.lighter(110), 0));
-+ painter->drawLine(x1, y, x2, y);
-+ }
-+ }
-+ else { //vertical toolbar
-+ for (int i = rect.width()/5; i <= 4*(rect.width()/5) ; ++i) {
-+ int x = rect.topLeft().x() + i + 1;
-+ int y1 = rect.topLeft().y() + 3;
-+ int y2 = rect.topLeft().y() + 5;
-+
-+ if (i % 2 == 0)
-+ painter->setPen(QPen(option->palette.light(), 0));
-+ else
-+ painter->setPen(QPen(dark.lighter(110), 0));
-+ painter->drawLine(x, y1, x, y2);
-+ }
-+ }
-+ painter->restore();
-+ break;
-+ case PE_FrameDefaultButton:
-+ case PE_FrameFocusRect:
-+ if (const QStyleOptionFocusRect *focusFrame = qstyleoption_cast(option)) {
-+ if (!(focusFrame->state & State_KeyboardFocusChange))
-+ return;
-+ QRect rect = focusFrame->rect;
-+ painter->save();
-+ painter->setBackgroundMode(Qt::TransparentMode);
-+ painter->setBrush(QBrush(dark.darker(120), Qt::Dense4Pattern));
-+ painter->setBrushOrigin(rect.topLeft());
-+ painter->setPen(Qt::NoPen);
-+ painter->drawRect(rect.left(), rect.top(), rect.width(), 1); // Top
-+ painter->drawRect(rect.left(), rect.bottom(), rect.width(), 1); // Bottom
-+ painter->drawRect(rect.left(), rect.top(), 1, rect.height()); // Left
-+ painter->drawRect(rect.right(), rect.top(), 1, rect.height()); // Right
-+ painter->restore();
-+ }
-+ break;
-+ case PE_PanelButtonCommand:
-+ painter->save();
-+ {
-+ if (const QStyleOptionButton *btn = qstyleoption_cast(option)) {
-+ QStyleOptionButton copy = *btn;
-+
-+ bool enabled = option->state & State_Enabled;
-+ bool pushed = (option->state & State_Sunken) || (option->state & State_On);
-+ bool focus = option->state & State_HasFocus;
-+ bool flat = btn->features & QStyleOptionFrameV2::Flat;
-+ bool def = (btn->features & QStyleOptionButton::DefaultButton) && (btn->state & State_Enabled);
-+
-+ qt_haiku_draw_button(painter, option->rect.adjusted(1,1,-1,-1), def, flat, pushed, focus, enabled);
-+ }
-+ painter->restore();
-+ }
-+ break;
-+#ifndef QT_NO_TABBAR
-+ case PE_FrameTabWidget:
-+ painter->save();
-+ {
-+ painter->fillRect(option->rect, tabFrameColor);
-+ }
-+#ifndef QT_NO_TABWIDGET
-+ if (const QStyleOptionTabWidgetFrame *twf = qstyleoption_cast(option)) {
-+ QColor borderColor = darkOutline.lighter(110);
-+ QColor alphaCornerColor = mergedColors(borderColor, option->palette.background().color());
-+ QColor innerShadow = mergedColors(borderColor, option->palette.base().color());
-+
-+ int borderThickness = pixelMetric(PM_TabBarBaseOverlap, twf, widget);
-+ bool reverse = (twf->direction == Qt::RightToLeft);
-+ QRect tabBarRect;
-+
-+ switch (twf->shape) {
-+ case QTabBar::RoundedNorth:
-+ if (reverse) {
-+ tabBarRect = QRect(twf->rect.right() - twf->leftCornerWidgetSize.width()
-+ - twf->tabBarSize.width() + 1,
-+ twf->rect.top(),
-+ twf->tabBarSize.width(), borderThickness);
-+ } else {
-+ tabBarRect = QRect(twf->rect.left() + twf->leftCornerWidgetSize.width(),
-+ twf->rect.top(),
-+ twf->tabBarSize.width(), borderThickness);
-+ }
-+ break ;
-+ case QTabBar::RoundedWest:
-+ tabBarRect = QRect(twf->rect.left(),
-+ twf->rect.top() + twf->leftCornerWidgetSize.height(),
-+ borderThickness,
-+ twf->tabBarSize.height());
-+ tabBarRect = tabBarRect; //adjust
-+ break ;
-+ case QTabBar::RoundedEast:
-+ tabBarRect = QRect(twf->rect.right() - borderThickness + 1,
-+ twf->rect.top() + twf->leftCornerWidgetSize.height(),
-+ 0,
-+ twf->tabBarSize.height());
-+ break ;
-+ case QTabBar::RoundedSouth:
-+ if (reverse) {
-+ tabBarRect = QRect(twf->rect.right() - twf->leftCornerWidgetSize.width() - twf->tabBarSize.width() + 1,
-+ twf->rect.bottom() + 1,
-+ twf->tabBarSize.width(),
-+ borderThickness);
-+ } else {
-+ tabBarRect = QRect(twf->rect.left() + twf->leftCornerWidgetSize.width(),
-+ twf->rect.bottom() + 1,
-+ twf->tabBarSize.width(),
-+ borderThickness);
-+ }
-+ break;
-+ default:
-+ break;
-+ }
-+
-+ QRegion region(twf->rect);
-+ region -= tabBarRect;
-+ painter->setClipRegion(region);
-+
-+ // Outer border
-+ QLine leftLine = QLine(twf->rect.topLeft() + QPoint(0, 2), twf->rect.bottomLeft() - QPoint(0, 2));
-+ QLine rightLine = QLine(twf->rect.topRight(), twf->rect.bottomRight() - QPoint(0, 2));
-+ QLine bottomLine = QLine(twf->rect.bottomLeft() + QPoint(2, 0), twf->rect.bottomRight() - QPoint(2, 0));
-+ QLine topLine = QLine(twf->rect.topLeft(), twf->rect.topRight());
-+
-+ painter->setPen(borderColor);
-+ painter->drawLine(topLine);
-+
-+ // Inner border
-+ QLine innerLeftLine = QLine(leftLine.p1() + QPoint(1, 0), leftLine.p2() + QPoint(1, 0));
-+ QLine innerRightLine = QLine(rightLine.p1() - QPoint(1, -1), rightLine.p2() - QPoint(1, 0));
-+ QLine innerBottomLine = QLine(bottomLine.p1() - QPoint(0, 1), bottomLine.p2() - QPoint(0, 1));
-+ QLine innerTopLine = QLine(topLine.p1() + QPoint(0, 1), topLine.p2() + QPoint(-1, 1));
-+
-+ // Rounded Corner
-+ QPoint leftBottomOuterCorner = QPoint(innerLeftLine.p2() + QPoint(0, 1));
-+ QPoint leftBottomInnerCorner1 = QPoint(leftLine.p2() + QPoint(0, 1));
-+ QPoint leftBottomInnerCorner2 = QPoint(bottomLine.p1() - QPoint(1, 0));
-+ QPoint rightBottomOuterCorner = QPoint(innerRightLine.p2() + QPoint(0, 1));
-+ QPoint rightBottomInnerCorner1 = QPoint(rightLine.p2() + QPoint(0, 1));
-+ QPoint rightBottomInnerCorner2 = QPoint(bottomLine.p2() + QPoint(1, 0));
-+ QPoint leftTopOuterCorner = QPoint(innerLeftLine.p1() - QPoint(0, 1));
-+ QPoint leftTopInnerCorner1 = QPoint(leftLine.p1() - QPoint(0, 1));
-+ QPoint leftTopInnerCorner2 = QPoint(topLine.p1() - QPoint(1, 0));
-+
-+ painter->setPen(borderColor);
-+ painter->drawLine(leftLine);
-+ painter->drawLine(rightLine);
-+ painter->drawLine(bottomLine);
-+ painter->drawPoint(leftBottomOuterCorner);
-+ painter->drawPoint(rightBottomOuterCorner);
-+ painter->drawPoint(leftTopOuterCorner);
-+
-+ painter->setPen(option->palette.light().color());
-+ painter->drawLine(innerLeftLine);
-+ painter->drawLine(innerTopLine);
-+
-+ painter->setPen(buttonShadowAlpha);
-+ painter->drawLine(innerRightLine);
-+ painter->drawLine(innerBottomLine);
-+
-+ painter->setPen(alphaCornerColor);
-+ painter->drawPoint(leftBottomInnerCorner1);
-+ painter->drawPoint(leftBottomInnerCorner2);
-+ painter->drawPoint(rightBottomInnerCorner1);
-+ painter->drawPoint(rightBottomInnerCorner2);
-+ painter->drawPoint(leftTopInnerCorner1);
-+ painter->drawPoint(leftTopInnerCorner2);
-+ }
-+#endif // QT_NO_TABWIDGET
-+ painter->restore();
-+ break ;
-+
-+ case PE_FrameStatusBarItem:
-+ break;
-+ case PE_IndicatorTabClose:
-+ {
-+ Q_D(const QHaikuStyle);
-+ if (d->tabBarcloseButtonIcon.isNull())
-+ d->tabBarcloseButtonIcon = standardIcon(SP_DialogCloseButton, option, widget);
-+ if ((option->state & State_Enabled) && (option->state & State_MouseOver))
-+ drawPrimitive(PE_PanelButtonCommand, option, painter, widget);
-+ QPixmap pixmap = d->tabBarcloseButtonIcon.pixmap(QSize(16, 16), QIcon::Normal, QIcon::On);
-+ drawItemPixmap(painter, option->rect, Qt::AlignCenter, pixmap);
-+ }
-+ break;
-+
-+#endif // QT_NO_TABBAR
-+ default:
-+ QWindowsStyle::drawPrimitive(elem, option, painter, widget);
-+ break;
-+ }
-+}
-+
-+/*!
-+ \reimp
-+*/
-+void QHaikuStyle::drawControl(ControlElement element, const QStyleOption *option, QPainter *painter,
-+ const QWidget *widget) const
-+{
-+ QColor button = option->palette.button().color();
-+ QColor dark;
-+ dark.setHsv(button.hue(),
-+ CL_MIN(255, (int)(button.saturation()*1.9)),
-+ CL_MIN(255, (int)(button.value()*0.7)));
-+ QColor darkOutline;
-+ darkOutline.setHsv(button.hue(),
-+ CL_MIN(255, (int)(button.saturation()*2.0)),
-+ CL_MIN(255, (int)(button.value()*0.6)));
-+ QRect rect = option->rect;
-+ QColor shadow = mergedColors(option->palette.background().color().darker(120),
-+ dark.lighter(130), 60);
-+ QColor tabFrameColor = mergedColors(option->palette.background().color(),
-+ dark.lighter(135), 60);
-+
-+ QColor highlight = option->palette.highlight().color();
-+ QColor highlightText = option->palette.highlightedText().color();
-+
-+ switch(element) {
-+ case CE_RadioButton: //fall through
-+ case CE_CheckBox:
-+ if (const QStyleOptionButton *btn = qstyleoption_cast(option)) {
-+ bool hover = (btn->state & State_MouseOver && btn->state & State_Enabled);
-+ if (hover)
-+ painter->fillRect(rect, btn->palette.background().color().lighter(104));
-+ QStyleOptionButton copy = *btn;
-+ copy.rect.adjust(2, 0, -2, 0);
-+ QWindowsStyle::drawControl(element, ©, painter, widget);
-+ }
-+ break;
-+ case CE_Splitter:
-+ painter->save();
-+ {
-+ orientation orient = (option->state & State_Horizontal)?B_HORIZONTAL:B_VERTICAL;
-+
-+ if (be_control_look != NULL) {
-+ QRect r = option->rect;
-+ rgb_color base = ui_color(B_PANEL_BACKGROUND_COLOR);;
-+ uint32 flags = 0;
-+ BRect bRect(0.0f, 0.0f, r.width() - 1, r.height() - 1);
-+ TemporarySurface surface(bRect);
-+ be_control_look->DrawSplitter(surface.view(), bRect, bRect, base, orient, flags);
-+ painter->drawImage(r, surface.image());
-+ }
-+ }
-+ painter->restore();
-+ break;
-+ case CE_SizeGrip:
-+ painter->save();
-+ painter->fillRect(option->rect, option->palette.background().color());
-+ painter->restore();
-+ break;
-+#ifndef QT_NO_TOOLBAR
-+ case CE_ToolBar:
-+ painter->save();
-+ if (const QStyleOptionToolBar *toolbar = qstyleoption_cast(option)) {
-+ QRect rect = option->rect;
-+
-+ bool paintLeftBorder = true;
-+ bool paintRightBorder = true;
-+ bool paintBottomBorder = true;
-+
-+ switch (toolbar->toolBarArea) {
-+ case Qt::BottomToolBarArea:
-+ switch(toolbar->positionOfLine) {
-+ case QStyleOptionToolBar::Beginning:
-+ case QStyleOptionToolBar::OnlyOne:
-+ paintBottomBorder = false;
-+ default:
-+ break;
-+ }
-+ case Qt::TopToolBarArea:
-+ switch (toolbar->positionWithinLine) {
-+ case QStyleOptionToolBar::Beginning:
-+ paintLeftBorder = false;
-+ break;
-+ case QStyleOptionToolBar::End:
-+ paintRightBorder = false;
-+ break;
-+ case QStyleOptionToolBar::OnlyOne:
-+ paintRightBorder = false;
-+ paintLeftBorder = false;
-+ default:
-+ break;
-+ }
-+ if (QApplication::layoutDirection() == Qt::RightToLeft) { //reverse layout changes the order of Beginning/end
-+ bool tmp = paintLeftBorder;
-+ paintRightBorder=paintLeftBorder;
-+ paintLeftBorder=tmp;
-+ }
-+ break;
-+ case Qt::RightToolBarArea:
-+ switch (toolbar->positionOfLine) {
-+ case QStyleOptionToolBar::Beginning:
-+ case QStyleOptionToolBar::OnlyOne:
-+ paintRightBorder = false;
-+ break;
-+ default:
-+ break;
-+ }
-+ break;
-+ case Qt::LeftToolBarArea:
-+ switch (toolbar->positionOfLine) {
-+ case QStyleOptionToolBar::Beginning:
-+ case QStyleOptionToolBar::OnlyOne:
-+ paintLeftBorder = false;
-+ break;
-+ default:
-+ break;
-+ }
-+ break;
-+ default:
-+ break;
-+ }
-+
-+ QColor light = option->palette.background().color().lighter(110);
-+
-+ //draw top border
-+ painter->setPen(QPen(light));
-+ painter->drawLine(rect.topLeft().x(),
-+ rect.topLeft().y(),
-+ rect.topRight().x(),
-+ rect.topRight().y());
-+
-+ if (paintLeftBorder) {
-+ painter->setPen(QPen(light));
-+ painter->drawLine(rect.topLeft().x(),
-+ rect.topLeft().y(),
-+ rect.bottomLeft().x(),
-+ rect.bottomLeft().y());
-+ }
-+
-+ if (paintRightBorder) {
-+ painter->setPen(QPen(shadow));
-+ painter->drawLine(rect.topRight().x(),
-+ rect.topRight().y(),
-+ rect.bottomRight().x(),
-+ rect.bottomRight().y());
-+ }
-+
-+ if (paintBottomBorder) {
-+ painter->setPen(QPen(shadow));
-+ painter->drawLine(rect.bottomLeft().x(),
-+ rect.bottomLeft().y(),
-+ rect.bottomRight().x(),
-+ rect.bottomRight().y());
-+ }
-+ }
-+ painter->restore();
-+ break;
-+#endif // QT_NO_TOOLBAR
-+#ifndef QT_NO_DOCKWIDGET
-+ case CE_DockWidgetTitle:
-+ painter->save();
-+ if (const QStyleOptionDockWidget *dwOpt = qstyleoption_cast(option)) {
-+ const QStyleOptionDockWidgetV2 *v2
-+ = qstyleoption_cast(dwOpt);
-+ bool verticalTitleBar = v2 == 0 ? false : v2->verticalTitleBar;
-+
-+ QRect rect = dwOpt->rect;
-+ QRect titleRect = subElementRect(SE_DockWidgetTitleBarText, option, widget);
-+ QRect r = rect.adjusted(0, 0, -1, 0);
-+ if (verticalTitleBar)
-+ r.adjust(0, 0, 0, -1);
-+ painter->setPen(option->palette.light().color());
-+ painter->drawRect(r.adjusted(1, 1, 1, 1));
-+ painter->setPen(shadow);
-+ painter->drawRect(r);
-+
-+ if (verticalTitleBar) {
-+ QRect r = rect;
-+ QSize s = r.size();
-+ s.transpose();
-+ r.setSize(s);
-+
-+ titleRect = QRect(r.left() + rect.bottom()
-+ - titleRect.bottom(),
-+ r.top() + titleRect.left() - rect.left(),
-+ titleRect.height(), titleRect.width());
-+
-+ painter->translate(r.left(), r.top() + r.width());
-+ painter->rotate(-90);
-+ painter->translate(-r.left(), -r.top());
-+
-+ rect = r;
-+ }
-+
-+ if (!dwOpt->title.isEmpty()) {
-+ QString titleText
-+ = painter->fontMetrics().elidedText(dwOpt->title,
-+ Qt::ElideRight, titleRect.width());
-+ drawItemText(painter,
-+ titleRect,
-+ Qt::AlignLeft | Qt::AlignVCenter | Qt::TextShowMnemonic, dwOpt->palette,
-+ dwOpt->state & State_Enabled, titleText,
-+ QPalette::WindowText);
-+ }
-+ }
-+ painter->restore();
-+ break;
-+#endif // QT_NO_DOCKWIDGET
-+ case CE_HeaderSection:
-+ painter->save();
-+ // Draws the header in tables.
-+ if (const QStyleOptionHeader *header = qstyleoption_cast(option)) {
-+ QPixmap cache;
-+ QString pixmapName = uniqueName(QLatin1String("headersection"), option, option->rect.size());
-+ pixmapName += QLatin1String("-") + QString::number(int(header->position));
-+ pixmapName += QLatin1String("-") + QString::number(int(header->orientation));
-+ QRect r = option->rect;
-+ QColor gradientStopColor;
-+ QColor gradientStartColor = option->palette.button().color();
-+ gradientStopColor.setHsv(gradientStartColor.hue(),
-+ CL_MIN(255, (int)(gradientStartColor.saturation()*2)),
-+ CL_MIN(255, (int)(gradientStartColor.value()*0.96)));
-+ QLinearGradient gradient(rect.topLeft(), rect.bottomLeft());
-+ if (option->palette.background().gradient()) {
-+ gradient.setStops(option->palette.background().gradient()->stops());
-+ } else {
-+ gradient.setColorAt(0, gradientStartColor);
-+ gradient.setColorAt(0.8, gradientStartColor);
-+ gradient.setColorAt(1, gradientStopColor);
-+ }
-+ painter->fillRect(r, gradient);
-+
-+ if (!UsePixmapCache || !QPixmapCache::find(pixmapName, cache)) {
-+ cache = QPixmap(r.size());
-+ cache.fill(Qt::transparent);
-+ QRect pixmapRect(0, 0, r.width(), r.height());
-+ QPainter cachePainter(&cache);
-+ if (header->orientation == Qt::Vertical) {
-+ cachePainter.setPen(QPen(dark));
-+ cachePainter.drawLine(pixmapRect.topRight(), pixmapRect.bottomRight());
-+ if (header->position != QStyleOptionHeader::End) {
-+ cachePainter.setPen(QPen(shadow));
-+ cachePainter.drawLine(pixmapRect.bottomLeft() + QPoint(3, -1), pixmapRect.bottomRight() + QPoint(-3, -1)); cachePainter.setPen(QPen(option->palette.light().color()));
-+ cachePainter.drawLine(pixmapRect.bottomLeft() + QPoint(3, 0), pixmapRect.bottomRight() + QPoint(-3, 0)); }
-+ } else {
-+ cachePainter.setPen(QPen(dark));
-+ cachePainter.drawLine(pixmapRect.bottomLeft(), pixmapRect.bottomRight());
-+ cachePainter.setPen(QPen(shadow));
-+ cachePainter.drawLine(pixmapRect.topRight() + QPoint(-1, 3), pixmapRect.bottomRight() + QPoint(-1, -3)); cachePainter.setPen(QPen(option->palette.light().color()));
-+ cachePainter.drawLine(pixmapRect.topRight() + QPoint(0, 3), pixmapRect.bottomRight() + QPoint(0, -3)); }
-+ cachePainter.end();
-+ if (UsePixmapCache)
-+ QPixmapCache::insert(pixmapName, cache);
-+ }
-+ painter->drawPixmap(r.topLeft(), cache);
-+ }
-+ painter->restore();
-+ break;
-+ case CE_ProgressBarGroove:
-+ painter->save();
-+ {
-+ painter->fillRect(rect, option->palette.base());
-+ QColor borderColor = dark.lighter(110);
-+ painter->setPen(QPen(borderColor, 0));
-+ painter->drawLine(QPoint(rect.left() + 1, rect.top()), QPoint(rect.right() - 1, rect.top()));
-+ painter->drawLine(QPoint(rect.left() + 1, rect.bottom()), QPoint(rect.right() - 1, rect.bottom()));
-+ painter->drawLine(QPoint(rect.left(), rect.top() + 1), QPoint(rect.left(), rect.bottom() - 1));
-+ painter->drawLine(QPoint(rect.right(), rect.top() + 1), QPoint(rect.right(), rect.bottom() - 1));
-+ QColor alphaCorner = mergedColors(borderColor, option->palette.background().color());
-+ QColor innerShadow = mergedColors(borderColor, option->palette.base().color());
-+
-+ //corner smoothing
-+ painter->setPen(alphaCorner);
-+ painter->drawPoint(rect.topRight());
-+ painter->drawPoint(rect.topLeft());
-+ painter->drawPoint(rect.bottomRight());
-+ painter->drawPoint(rect.bottomLeft());
-+
-+ //inner shadow
-+ painter->setPen(innerShadow);
-+ painter->drawLine(QPoint(rect.left() + 1, rect.top() + 1),
-+ QPoint(rect.right() - 1, rect.top() + 1));
-+ painter->drawLine(QPoint(rect.left() + 1, rect.top() + 1),
-+ QPoint(rect.left() + 1, rect.bottom() + 1));
-+
-+ }
-+ painter->restore();
-+ break;
-+ case CE_ProgressBarContents:
-+ painter->save();
-+ if (const QStyleOptionProgressBar *bar = qstyleoption_cast(option)) {
-+ QRect rect = bar->rect;
-+ bool vertical = false;
-+ bool inverted = false;
-+ bool indeterminate = (bar->minimum == 0 && bar->maximum == 0);
-+
-+ // Get extra style options if version 2
-+ if (const QStyleOptionProgressBarV2 *bar2 = qstyleoption_cast(option)) {
-+ vertical = (bar2->orientation == Qt::Vertical);
-+ inverted = bar2->invertedAppearance;
-+ }
-+
-+ // If the orientation is vertical, we use a transform to rotate
-+ // the progress bar 90 degrees clockwise. This way we can use the
-+ // same rendering code for both orientations.
-+ if (vertical) {
-+ rect = QRect(rect.left(), rect.top(), rect.height(), rect.width()); // flip width and height
-+ QTransform m;
-+ m.translate(rect.height()-1, -1.0);
-+ m.rotate(90.0);
-+ painter->setTransform(m, true);
-+ }
-+
-+ int maxWidth = rect.width() - 4;
-+ int minWidth = 4;
-+ qint64 progress = (qint64)qMax(bar->progress, bar->minimum); // workaround for bug in QProgressBar
-+ double vc6_workaround = ((progress - qint64(bar->minimum)) / qMax(double(1.0), double(qint64(bar->maximum) - qint64(bar->minimum))) * maxWidth);
-+ int progressBarWidth = (int(vc6_workaround) > minWidth ) ? int(vc6_workaround) : minWidth;
-+ int width = indeterminate ? maxWidth : progressBarWidth;
-+
-+ bool reverse = (!vertical && (bar->direction == Qt::RightToLeft)) || vertical;
-+ if (inverted)
-+ reverse = !reverse;
-+
-+ QRect progressBar;
-+ if (!indeterminate) {
-+ if (!reverse) {
-+ progressBar.setRect(rect.left() + 1, rect.top() + 1, width + 1, rect.height() - 3);
-+ } else {
-+ progressBar.setRect(rect.right() - 1 - width, rect.top() + 1, width + 1, rect.height() - 3);
-+ }
-+ } else {
-+ Q_D(const QHaikuStyle);
-+ int slideWidth = ((rect.width() - 4) * 2) / 3;
-+ int step = ((d->animateStep * slideWidth) / d->animationFps) % slideWidth;
-+ if ((((d->animateStep * slideWidth) / d->animationFps) % (2 * slideWidth)) >= slideWidth)
-+ step = slideWidth - step;
-+ progressBar.setRect(rect.left() + 1 + step, rect.top() + 1,
-+ slideWidth / 2, rect.height() - 3);
-+ }
-+ QColor highlight = option->palette.color(QPalette::Normal, QPalette::Highlight);
-+ painter->setPen(QPen(highlight.darker(140), 0));
-+
-+ QColor highlightedGradientStartColor = highlight.lighter(100);
-+ QColor highlightedGradientStopColor = highlight.lighter(130);
-+
-+ QLinearGradient gradient(rect.topLeft(), QPoint(rect.bottomLeft().x(),
-+ rect.bottomLeft().y()*2));
-+
-+ gradient.setColorAt(0, highlightedGradientStartColor);
-+ gradient.setColorAt(1, highlightedGradientStopColor);
-+
-+ painter->setBrush(gradient);
-+ painter->drawRect(progressBar);
-+
-+ painter->setPen(QPen(highlight.lighter(120), 0));
-+ painter->drawLine(QPoint(progressBar.left() + 1, progressBar.top() + 1),
-+ QPoint(progressBar.right(), progressBar.top() + 1));
-+ painter->drawLine(QPoint(progressBar.left() + 1, progressBar.top() + 1),
-+ QPoint(progressBar.left() + 1, progressBar.bottom() - 1));
-+
-+ painter->setPen(QPen(highlightedGradientStartColor, 7.0));//QPen(option->palette.highlight(), 3));
-+
-+ painter->save();
-+ painter->setClipRect(progressBar.adjusted(2, 2, -1, -1));
-+ for (int x = progressBar.left() - 32; x < rect.right() ; x+=18) {
-+ painter->drawLine(x, progressBar.bottom() + 1, x + 23, progressBar.top() - 2);
-+ }
-+ painter->restore();
-+
-+ }
-+ painter->restore();
-+ break;
-+ case CE_MenuBarItem:
-+ painter->save();
-+ if (const QStyleOptionMenuItem *mbi = qstyleoption_cast(option))
-+ {
-+ QStyleOptionMenuItem item = *mbi;
-+ item.rect = mbi->rect.adjusted(0, 0, 0, 0);
-+ if (be_control_look != NULL) {
-+ QRect r = rect.adjusted(0,-1,0,0);
-+ rgb_color base = ui_color(B_MENU_BACKGROUND_COLOR);;
-+ uint32 flags = 0;
-+ BRect bRect(0.0f, 0.0f, r.width() - 1, r.height() - 1);
-+ TemporarySurface surface(bRect);
-+ be_control_look->DrawMenuBarBackground(surface.view(), bRect, bRect, base, flags, 8);
-+ painter->drawImage(r, surface.image());
-+ }
-+
-+ bool act = mbi->state & State_Selected && mbi->state & State_Sunken;
-+ bool dis = !(mbi->state & State_Enabled);
-+
-+ QRect r = option->rect;
-+ if (act) {
-+ qt_haiku_draw_gradient(painter, r.adjusted(1, 1, -1, -1),
-+ QColor(150,150,150),
-+ QColor(168,168,168), TopDown,
-+ QColor(168,168,168));
-+
-+ painter->setPen(QPen(QColor(168,168,168), 0));
-+ painter->drawLine(QPoint(r.left(), r.top()), QPoint(r.left(), r.bottom()));
-+ painter->drawLine(QPoint(r.right(), r.top()), QPoint(r.right(), r.bottom()));
-+ painter->drawLine(QPoint(r.left(), r.bottom()), QPoint(r.right(), r.bottom()));
-+ painter->drawLine(QPoint(r.left(), r.top()), QPoint(r.right(), r.top()));
-+ }
-+
-+ QPalette::ColorRole textRole = QPalette::Text;
-+ uint alignment = Qt::AlignCenter | Qt::TextHideMnemonic | Qt::TextDontClip | Qt::TextSingleLine;
-+ drawItemText(painter, item.rect, alignment, mbi->palette, mbi->state & State_Enabled, mbi->text, textRole);
-+ }
-+ painter->restore();
-+ break;
-+ case CE_MenuItem:
-+ painter->save();
-+ // Draws one item in a popup menu.
-+ if (const QStyleOptionMenuItem *menuItem = qstyleoption_cast(option)) {
-+ QColor highlightOutline = QColor(168,168,168);
-+ QColor menuBackground = option->palette.background().color().lighter(104);
-+ QColor borderColor = option->palette.background().color().darker(160);
-+ QColor alphaCornerColor;
-+
-+ if (widget) {
-+ // ### backgroundrole/foregroundrole should be part of the style option
-+ alphaCornerColor = mergedColors(option->palette.color(widget->backgroundRole()), borderColor);
-+ } else {
-+ alphaCornerColor = mergedColors(option->palette.background().color(), borderColor);
-+ }
-+ QColor alphaTextColor = mergedColors(option->palette.background().color(), option->palette.text().color());
-+ if (menuItem->menuItemType == QStyleOptionMenuItem::Separator) {
-+ painter->fillRect(menuItem->rect, menuBackground);
-+ int w = 0;
-+ if (!menuItem->text.isEmpty()) {
-+ painter->setFont(menuItem->font);
-+ drawItemText(painter, menuItem->rect.adjusted(5, 0, -5, 0), Qt::AlignLeft | Qt::AlignVCenter,
-+ menuItem->palette, menuItem->state & State_Enabled, menuItem->text,
-+ QPalette::Text);
-+ w = menuItem->fontMetrics.width(menuItem->text) + 5;
-+ }
-+ painter->setPen(shadow.lighter(106));
-+ bool reverse = menuItem->direction == Qt::RightToLeft;
-+ painter->drawLine(menuItem->rect.left() + 5 + (reverse ? 0 : w), menuItem->rect.center().y(),
-+ menuItem->rect.right() - 5 - (reverse ? w : 0), menuItem->rect.center().y());
-+ painter->restore();
-+ break;
-+ }
-+ bool selected = menuItem->state & State_Selected; //&& menuItem->state & State_Enabled;
-+ if (selected) {
-+ QRect r = option->rect.adjusted(1, 0, -2, -1);
-+ qt_haiku_draw_gradient(painter, r, QColor(150,150,150),
-+ QColor(168,168,168), TopDown,
-+ QColor(168,168,168));
-+ r = r.adjusted(-1, 0, 1, 0);
-+ painter->setPen(QPen(QColor(168,168,168), 0));
-+ painter->drawLine(QPoint(r.left(), r.top()), QPoint(r.left(), r.bottom()));
-+ painter->drawLine(QPoint(r.right(), r.top()), QPoint(r.right(), r.bottom()));
-+ painter->drawLine(QPoint(r.left(), r.bottom()), QPoint(r.right(), r.bottom()));
-+ painter->drawLine(QPoint(r.left(), r.top()), QPoint(r.right(), r.top()));
-+ } else {
-+ painter->fillRect(option->rect, menuBackground);
-+ }
-+
-+ bool checkable = menuItem->checkType != QStyleOptionMenuItem::NotCheckable;
-+ bool checked = menuItem->checked;
-+ bool sunken = menuItem->state & State_Sunken;
-+ bool enabled = menuItem->state & State_Enabled;
-+
-+ bool ignoreCheckMark = false;
-+ int checkcol = qMax(menuItem->maxIconWidth, 20);
-+
-+#ifndef QT_NO_COMBOBOX
-+ if (qobject_cast(widget))
-+ ignoreCheckMark = true; //ignore the checkmarks provided by the QComboMenuDelegate
-+#endif
-+
-+ if (!ignoreCheckMark) {
-+ // Check
-+ QRect checkRect(option->rect.left() + 7, option->rect.center().y() - 6, 13, 13);
-+ checkRect = visualRect(menuItem->direction, menuItem->rect, checkRect);
-+ if (checkable) {
-+ if (menuItem->checkType & QStyleOptionMenuItem::Exclusive) {
-+ // Radio button
-+ if (checked || sunken) {
-+ painter->setRenderHint(QPainter::Antialiasing);
-+ painter->setPen(Qt::NoPen);
-+
-+ QPalette::ColorRole textRole = !enabled ? QPalette::Text:
-+ selected ? QPalette::HighlightedText : QPalette::ButtonText;
-+ painter->setBrush(option->palette.brush( option->palette.currentColorGroup(), textRole));
-+ painter->drawEllipse(checkRect.adjusted(4, 4, -4, -4));
-+ }
-+ } else {
-+ // Check box
-+ if (menuItem->icon.isNull()) {
-+ if (checked || sunken) {
-+ QImage image(qt_haiku_menuitem_checkbox_checked);
-+ if (enabled && (menuItem->state & State_Selected)) {
-+ image.setColor(1, 0x55ffffff);
-+ image.setColor(2, 0xAAffffff);
-+ image.setColor(3, 0xBBffffff);
-+ image.setColor(4, 0xFFffffff);
-+ image.setColor(5, 0x33ffffff);
-+ } else {
-+ image.setColor(1, 0x55000000);
-+ image.setColor(2, 0xAA000000);
-+ image.setColor(3, 0xBB000000);
-+ image.setColor(4, 0xFF000000);
-+ image.setColor(5, 0x33000000);
-+ }
-+ painter->drawImage(QPoint(checkRect.center().x() - image.width() / 2,
-+ checkRect.center().y() - image.height() / 2), image);
-+ }
-+ }
-+ }
-+ }
-+ } else { //ignore checkmark
-+ if (menuItem->icon.isNull())
-+ checkcol = 0;
-+ else
-+ checkcol = menuItem->maxIconWidth;
-+ }
-+
-+ // Text and icon, ripped from windows style
-+ bool dis = !(menuItem->state & State_Enabled);
-+ bool act = menuItem->state & State_Selected;
-+ const QStyleOption *opt = option;
-+ const QStyleOptionMenuItem *menuitem = menuItem;
-+
-+ QPainter *p = painter;
-+ QRect vCheckRect = visualRect(opt->direction, menuitem->rect,
-+ QRect(menuitem->rect.x(), menuitem->rect.y(),
-+ checkcol, menuitem->rect.height()));
-+ if (!menuItem->icon.isNull()) {
-+ QIcon::Mode mode = dis ? QIcon::Disabled : QIcon::Normal;
-+ if (act && !dis)
-+ mode = QIcon::Active;
-+ QPixmap pixmap;
-+
-+ int smallIconSize = pixelMetric(PM_SmallIconSize, option, widget);
-+ QSize iconSize(smallIconSize, smallIconSize);
-+#ifndef QT_NO_COMBOBOX
-+ if (const QComboBox *combo = qobject_cast(widget))
-+ iconSize = combo->iconSize();
-+#endif // QT_NO_COMBOBOX
-+ if (checked)
-+ pixmap = menuItem->icon.pixmap(iconSize, mode, QIcon::On);
-+ else
-+ pixmap = menuItem->icon.pixmap(iconSize, mode);
-+
-+ int pixw = pixmap.width();
-+ int pixh = pixmap.height();
-+
-+ QRect pmr(0, 0, pixw, pixh);
-+ pmr.moveCenter(vCheckRect.center());
-+ painter->setPen(menuItem->palette.text().color());
-+ if (checkable && checked) {
-+ QStyleOption opt = *option;
-+ if (act) {
-+ QColor activeColor = mergedColors(option->palette.background().color(),
-+ option->palette.highlight().color());
-+ opt.palette.setBrush(QPalette::Button, activeColor);
-+ }
-+ opt.state |= State_Sunken;
-+ opt.rect = vCheckRect;
-+ bool enabled = opt.state & State_Enabled;
-+ bool focus = opt.state & State_HasFocus;
-+ qt_haiku_draw_button(painter, opt.rect, false, false, true, focus, enabled);
-+ }
-+ painter->drawPixmap(pmr.topLeft(), pixmap);
-+ }
-+
-+ painter->setPen(menuItem->palette.text().color());
-+
-+ int x, y, w, h;
-+ menuitem->rect.getRect(&x, &y, &w, &h);
-+ int tab = menuitem->tabWidth;
-+ QColor discol;
-+ if (dis) {
-+ discol = menuitem->palette.text().color();
-+ p->setPen(discol);
-+ }
-+ int xm = windowsItemFrame + checkcol + windowsItemHMargin;
-+ int xpos = menuitem->rect.x() + xm;
-+
-+ QRect textRect(xpos, y + windowsItemVMargin, w - xm - windowsRightBorder - tab + 1, h - 2 * windowsItemVMargin);
-+ QRect vTextRect = visualRect(opt->direction, menuitem->rect, textRect);
-+ QString s = menuitem->text;
-+ if (!s.isEmpty()) { // draw text
-+ p->save();
-+ int t = s.indexOf(QLatin1Char('\t'));
-+ int text_flags = Qt::AlignVCenter | Qt::TextShowMnemonic | Qt::TextDontClip | Qt::TextSingleLine;
-+ if (!styleHint(SH_UnderlineShortcut, menuitem, widget))
-+ text_flags |= Qt::TextHideMnemonic;
-+ text_flags |= Qt::AlignLeft;
-+ if (t >= 0) {
-+ QString sText = s.mid(t + 1);
-+ sText.replace("Ctrl+","Alt+");
-+ QRect vShortcutRect = visualRect(opt->direction, menuitem->rect,
-+ QRect(textRect.topRight(), QPoint(menuitem->rect.right(), textRect.bottom())));
-+ if (dis && !act && styleHint(SH_EtchDisabledText, option, widget)) {
-+ p->setPen(menuitem->palette.light().color());
-+ p->drawText(vShortcutRect.adjusted(1, 1, 1, 1), text_flags, sText);
-+ p->setPen(discol);
-+ }
-+ p->drawText(vShortcutRect, text_flags, sText);
-+ s = s.left(t);
-+ }
-+ QFont font = menuitem->font;
-+
-+ if (menuitem->menuItemType == QStyleOptionMenuItem::DefaultItem)
-+ font.setBold(true);
-+
-+ p->setFont(font);
-+ if (dis && !act && styleHint(SH_EtchDisabledText, option, widget)) {
-+ p->setPen(menuitem->palette.light().color());
-+ p->drawText(vTextRect.adjusted(1, 1, 1, 1), text_flags, s.left(t));
-+ p->setPen(discol);
-+ }
-+ p->drawText(vTextRect, text_flags, s.left(t));
-+ p->restore();
-+ }
-+
-+ // Arrow
-+ if (menuItem->menuItemType == QStyleOptionMenuItem::SubMenu) {// draw sub menu arrow
-+ int dim = (menuItem->rect.height() - 4) / 2;
-+ PrimitiveElement arrow;
-+ arrow = QApplication::isRightToLeft() ? PE_IndicatorArrowLeft : PE_IndicatorArrowRight;
-+ int xpos = menuItem->rect.left() + menuItem->rect.width() - 3 - dim;
-+ QRect vSubMenuRect = visualRect(option->direction, menuItem->rect,
-+ QRect(xpos, menuItem->rect.top() + menuItem->rect.height() / 2 - dim / 2, dim, dim));
-+ QStyleOptionMenuItem newMI = *menuItem;
-+ newMI.rect = vSubMenuRect;
-+ newMI.state = !enabled ? State_None : State_Enabled;
-+ if (selected)
-+ newMI.palette.setColor(QPalette::ButtonText,
-+ newMI.palette.highlightedText().color());
-+ drawPrimitive(arrow, &newMI, painter, widget);
-+ }
-+ }
-+ painter->restore();
-+ break;
-+ case CE_MenuHMargin:
-+ case CE_MenuVMargin:
-+ break;
-+ case CE_MenuEmptyArea:
-+ break;
-+ case CE_PushButtonLabel:
-+ if (const QStyleOptionButton *button = qstyleoption_cast(option)) {
-+ bool pushed = (option->state & State_Sunken) || (option->state & State_On);
-+
-+ QRect ir = button->rect;
-+ uint tf = Qt::AlignVCenter;
-+ if (styleHint(SH_UnderlineShortcut, button, widget))
-+ tf |= Qt::TextShowMnemonic;
-+ else
-+ tf |= Qt::TextHideMnemonic;
-+
-+ if (!button->icon.isNull() && button->text.isEmpty()) {
-+ //Center both icon and text
-+ QPoint point;
-+
-+ QIcon::Mode mode = button->state & State_Enabled ? QIcon::Normal
-+ : QIcon::Disabled;
-+ if (mode == QIcon::Normal && button->state & State_HasFocus)
-+ mode = QIcon::Active;
-+ QIcon::State state = QIcon::Off;
-+ if (button->state & State_On)
-+ state = QIcon::On;
-+
-+ QPixmap pixmap = button->icon.pixmap(button->iconSize, mode, state);
-+ int w = pixmap.width();
-+ int h = pixmap.height();
-+
-+ if (!button->text.isEmpty())
-+ w += button->fontMetrics.boundingRect(option->rect, tf, button->text).width() + 2;
-+
-+ point = QPoint(ir.x() + ir.width() / 2 - w / 2,
-+ ir.y() + ir.height() / 2 - h / 2);
-+
-+ if (button->direction == Qt::RightToLeft)
-+ point.rx() += pixmap.width();
-+
-+ painter->drawPixmap(visualPos(button->direction, button->rect, point), pixmap);
-+
-+ if (button->direction == Qt::RightToLeft)
-+ ir.translate(-point.x() - 2, 0);
-+ else
-+ ir.translate(point.x() + pixmap.width(), 0);
-+
-+ // left-align text if there is
-+ if (!button->text.isEmpty())
-+ tf |= Qt::AlignLeft;
-+
-+ } else {
-+ tf |= Qt::AlignHCenter;
-+ }
-+
-+ if (button->features & QStyleOptionButton::HasMenu)
-+ ir = ir.adjusted(0, 0, -pixelMetric(PM_MenuButtonIndicator, button, widget), 0);
-+ if(pushed)
-+ ir = ir.adjusted(1,1,0,0);
-+ drawItemText(painter, ir, tf, button->palette, (button->state & State_Enabled),
-+ button->text, QPalette::ButtonText);
-+ }
-+ break;
-+ case CE_MenuBarEmptyArea:
-+ painter->save();
-+ {
-+ if (be_control_look != NULL) {
-+ QRect r = rect.adjusted(0,0,0,-1);
-+ rgb_color base = ui_color(B_MENU_BACKGROUND_COLOR);;
-+ uint32 flags = 0;
-+ BRect bRect(0.0f, 0.0f, r.width() - 1, r.height() - 1);
-+ TemporarySurface surface(bRect);
-+ be_control_look->DrawMenuBarBackground(surface.view(), bRect, bRect, base, flags);
-+ painter->drawImage(r, surface.image());
-+ }
-+
-+ painter->setPen(QPen(QColor(152,152,152)));
-+ painter->drawLine(rect.bottomLeft(), rect.bottomRight());
-+ }
-+ painter->restore();
-+ break;
-+#ifndef QT_NO_TABBAR
-+ case CE_TabBarTabShape:
-+ painter->save();
-+ if (const QStyleOptionTab *tab = qstyleoption_cast(option)) {
-+
-+ bool rtlHorTabs = (tab->direction == Qt::RightToLeft
-+ && (tab->shape == QTabBar::RoundedNorth
-+ || tab->shape == QTabBar::RoundedSouth));
-+ bool selected = tab->state & State_Selected;
-+ bool lastTab = ((!rtlHorTabs && tab->position == QStyleOptionTab::End)
-+ || (rtlHorTabs
-+ && tab->position == QStyleOptionTab::Beginning));
-+ bool onlyTab = tab->position == QStyleOptionTab::OnlyOneTab;
-+ bool leftCornerWidget = (tab->cornerWidgets & QStyleOptionTab::LeftCornerWidget);
-+
-+ bool atBeginning = ((tab->position == (tab->direction == Qt::LeftToRight ?
-+ QStyleOptionTab::Beginning : QStyleOptionTab::End)) || onlyTab);
-+
-+ bool onlyOne = tab->position == QStyleOptionTab::OnlyOneTab;
-+ bool previousSelected =
-+ ((!rtlHorTabs
-+ && tab->selectedPosition == QStyleOptionTab::PreviousIsSelected)
-+ || (rtlHorTabs
-+ && tab->selectedPosition == QStyleOptionTab::NextIsSelected));
-+ bool nextSelected =
-+ ((!rtlHorTabs
-+ && tab->selectedPosition == QStyleOptionTab::NextIsSelected)
-+ || (rtlHorTabs
-+ && tab->selectedPosition
-+ == QStyleOptionTab::PreviousIsSelected));
-+ int tabBarAlignment = styleHint(SH_TabBar_Alignment, tab, widget);
-+ bool leftAligned = (!rtlHorTabs && tabBarAlignment == Qt::AlignLeft)
-+ || (rtlHorTabs
-+ && tabBarAlignment == Qt::AlignRight);
-+
-+ bool rightAligned = (!rtlHorTabs && tabBarAlignment == Qt::AlignRight)
-+ || (rtlHorTabs
-+ && tabBarAlignment == Qt::AlignLeft);
-+
-+ QColor light = tab->palette.light().color();
-+ QColor midlight = tab->palette.midlight().color();
-+
-+ QColor background = tab->palette.background().color();
-+ int borderThinkness = pixelMetric(PM_TabBarBaseOverlap, tab, widget);
-+ if (selected)
-+ borderThinkness /= 2;
-+ QRect r2(option->rect);
-+ int x1 = r2.left();
-+ int x2 = r2.right();
-+ int y1 = r2.top()+2;
-+ int y2 = r2.bottom();
-+
-+ QTransform rotMatrix;
-+ bool flip = false;
-+ painter->setPen(shadow);
-+ QColor activeHighlight = option->palette.color(QPalette::Normal, QPalette::Highlight);
-+ switch (tab->shape) {
-+ case QTabBar::RoundedNorth:
-+ break;
-+ case QTabBar::RoundedSouth:
-+ rotMatrix.rotate(180);
-+ rotMatrix.translate(0, -rect.height() + 1);
-+ rotMatrix.scale(-1, 1);
-+ painter->setTransform(rotMatrix, true);
-+ break;
-+ case QTabBar::RoundedWest:
-+ rotMatrix.rotate(180 + 90);
-+ rotMatrix.scale(-1, 1);
-+ flip = true;
-+ painter->setTransform(rotMatrix, true);
-+ break;
-+ case QTabBar::RoundedEast:
-+ rotMatrix.rotate(90);
-+ rotMatrix.translate(0, - rect.width() + 1);
-+ flip = true;
-+ painter->setTransform(rotMatrix, true);
-+ break;
-+ default:
-+ painter->restore();
-+ QWindowsStyle::drawControl(element, tab, painter, widget);
-+ return;
-+ }
-+
-+ if (flip) {
-+ QRect tmp = rect;
-+ rect = QRect(tmp.y(), tmp.x(), tmp.height(), tmp.width());
-+ int temp = x1;
-+ x1 = y1;
-+ y1 = temp;
-+ temp = x2;
-+ x2 = y2;
-+ y2 = temp;
-+ }
-+
-+ QLinearGradient gradient(rect.topLeft(), rect.bottomLeft());
-+ if (option->palette.button().gradient()) {
-+ if (selected)
-+ gradient.setStops(option->palette.background().gradient()->stops());
-+ else
-+ gradient.setStops(option->palette.background().gradient()->stops());
-+ }
-+ else if (selected) {
-+ gradient.setColorAt(0, option->palette.background().color().lighter(104));
-+ gradient.setColorAt(1, tabFrameColor);
-+ painter->fillRect(rect.adjusted(0, 2, 0, -2), gradient);
-+ } else {
-+ y1 += 2;
-+ gradient.setColorAt(0, option->palette.background().color());
-+ gradient.setColorAt(1, dark.lighter(120));
-+ painter->fillRect(rect.adjusted(0, 2, 0, -2), gradient);
-+ }
-+
-+ // Delete border
-+ if (selected) {
-+ painter->setPen(QColor(200,200,200));
-+ painter->drawLine(x1 + 2, y2 - 1, x2 - 2, y2 - 1);
-+ } else {
-+ painter->setPen(dark);
-+ painter->drawLine(x1, y2 - 1, x2 + 2, y2 - 1 );
-+ if (tab->shape == QTabBar::RoundedNorth || tab->shape == QTabBar::RoundedWest) {
-+ painter->setPen(light);
-+ painter->drawLine(x1, y2 , x2, y2 );
-+ }
-+ }
-+ // Left
-+ if (atBeginning || selected ) {
-+ painter->setPen(light);
-+ painter->drawLine(x1 + 1, y1 + 2 + 1, x1 + 1, y2 - ((onlyOne || atBeginning) && selected && leftAligned ? 0 : borderThinkness) - (atBeginning && leftCornerWidget ? 1 : 0));
-+ //painter->drawPoint(x1 + 1, y1 + 1);
-+ painter->setPen(dark);
-+ painter->drawLine(x1, y1 + 2, x1, y2 - ((onlyOne || atBeginning) && leftAligned ? 0 : borderThinkness) - (atBeginning && leftCornerWidget ? 1 : 0));
-+ }
-+ // Top
-+ {
-+ int beg = x1 + (previousSelected ? 0 : 1);
-+ int end = x2 - (nextSelected ? 0 : 2);
-+ //painter->setPen(light);
-+
-+ // if (!selected)painter->drawLine(beg - 3, y1 + 1, end, y1 + 1);
-+
-+/* if (selected)
-+ painter->setPen(QPen(activeHighlight.darker(150), 0));
-+ else
-+ painter->setPen(darkOutline);*/
-+
-+ painter->setPen(darkOutline);
-+ painter->drawLine(beg, y1 , end, y1);
-+
-+ if (atBeginning|| selected) {
-+ painter->drawPoint(beg - 1, y1 + 1);
-+ } else if (!atBeginning) {
-+ painter->drawPoint(beg - 1, y1);
-+ painter->drawPoint(beg - 2, y1);
-+ if (!lastTab) {
-+ painter->setPen(dark.lighter(130));
-+ painter->drawPoint(end + 1, y1);
-+ painter->drawPoint(end + 2 , y1);
-+ painter->drawPoint(end + 3, y1);
-+ }
-+ }
-+ }
-+ // Right
-+ if (lastTab || selected || onlyOne || !nextSelected) {
-+ painter->setPen(darkOutline);
-+
-+ if (selected) {
-+ painter->drawLine(x2, y1 + 2, x2, y2 - ((onlyOne || lastTab) && selected && rightAligned ? 0 : borderThinkness));
-+ painter->setPen(QPen(activeHighlight.darker(150), 0));
-+ painter->drawPoint(x2 - 1, y1 + 1);
-+ } else {
-+ painter->drawLine(x2, y1 + 1, x2, y2 - ((onlyOne || lastTab) && selected && rightAligned ? 0 : borderThinkness));
-+ painter->drawPoint(x2 - 1, y1);
-+ }
-+
-+ if (selected) {
-+ painter->setPen(background.darker(110));
-+ painter->drawLine(x2 - 1, y1 + 2, x2 - 1, y2 - ((onlyOne || lastTab) && selected && rightAligned ? 0 : borderThinkness));
-+ }
-+ }
-+ }
-+ painter->restore();
-+ break;
-+
-+#endif // QT_NO_TABBAR
-+ default:
-+ QWindowsStyle::drawControl(element,option,painter,widget);
-+ break;
-+ }
-+}
-+
-+/*!
-+ \reimp
-+*/
-+
-+QPalette QHaikuStyle::standardPalette () const
-+{
-+ QPalette palette = QWindowsStyle::standardPalette();
-+ palette.setBrush(QPalette::Active, QPalette::Highlight, QColor(98, 140, 178));
-+ palette.setBrush(QPalette::Inactive, QPalette::Highlight, QColor(145, 141, 126));
-+ palette.setBrush(QPalette::Disabled, QPalette::Highlight, QColor(145, 141, 126));
-+
-+ QColor backGround(mkQColor(ui_color(B_PANEL_BACKGROUND_COLOR)));
-+
-+ QColor light = backGround.lighter(150);
-+ QColor base = Qt::white;
-+ QColor dark = QColor(170, 156, 143).darker(110);
-+ dark = backGround.darker(150);
-+ QColor darkDisabled = QColor(209, 200, 191).darker(110);
-+
-+ //### Find the correct disabled text color
-+ palette.setBrush(QPalette::Disabled, QPalette::Text, QColor(190, 190, 190));
-+
-+ palette.setBrush(QPalette::Window, backGround);
-+ palette.setBrush(QPalette::Mid, backGround.darker(130));
-+ palette.setBrush(QPalette::Light, light);
-+
-+ palette.setBrush(QPalette::Active, QPalette::Base, base);
-+ palette.setBrush(QPalette::Inactive, QPalette::Base, base);
-+ palette.setBrush(QPalette::Disabled, QPalette::Base, backGround);
-+
-+ palette.setBrush(QPalette::Midlight, palette.mid().color().lighter(110));
-+
-+ palette.setBrush(QPalette::All, QPalette::Dark, dark);
-+ palette.setBrush(QPalette::Disabled, QPalette::Dark, darkDisabled);
-+
-+ QColor button = backGround;
-+
-+ palette.setBrush(QPalette::Button, button);
-+
-+ QColor shadow = dark.darker(135);
-+ palette.setBrush(QPalette::Shadow, shadow);
-+ palette.setBrush(QPalette::Disabled, QPalette::Shadow, shadow.lighter(150));
-+ palette.setBrush(QPalette::HighlightedText, QColor(QRgb(0xffffffff)));
-+ return palette;
-+}
-+
-+/*!
-+ \reimp
-+*/
-+void QHaikuStyle::drawComplexControl(ComplexControl control, const QStyleOptionComplex *option,
-+ QPainter *painter, const QWidget *widget) const
-+{
-+ QColor button = option->palette.button().color();
-+ QColor dark;
-+ QColor grooveColor;
-+ QColor darkOutline;
-+ dark.setHsv(button.hue(),
-+ CL_MIN(255, (int)(button.saturation()*1.9)),
-+ CL_MIN(255, (int)(button.value()*0.7)));
-+ grooveColor.setHsv(button.hue(),
-+ CL_MIN(255, (int)(button.saturation()*2.6)),
-+ CL_MIN(255, (int)(button.value()*0.9)));
-+ darkOutline.setHsv(button.hue(),
-+ CL_MIN(255, (int)(button.saturation()*3.0)),
-+ CL_MIN(255, (int)(button.value()*0.6)));
-+
-+ QColor alphaCornerColor;
-+ if (widget) {
-+ // ### backgroundrole/foregroundrole should be part of the style option
-+ alphaCornerColor = mergedColors(option->palette.color(widget->backgroundRole()), darkOutline);
-+ } else {
-+ alphaCornerColor = mergedColors(option->palette.background().color(), darkOutline);
-+ }
-+ QColor gripShadow = grooveColor.darker(110);
-+ QColor buttonShadow = option->palette.button().color().darker(110);
-+
-+ QColor gradientStartColor = option->palette.button().color().lighter(108);
-+ QColor gradientStopColor = mergedColors(option->palette.button().color().darker(108), dark.lighter(150), 70);
-+
-+ QColor highlightedGradientStartColor = option->palette.button().color();
-+ QColor highlightedGradientStopColor = mergedColors(option->palette.button().color(), option->palette.highlight().color(), 85);
-+
-+ QColor highlightedDarkInnerBorderColor = mergedColors(option->palette.button().color(), option->palette.highlight().color(), 35);
-+ QColor highlightedLightInnerBorderColor = mergedColors(option->palette.button().color(), option->palette.highlight().color(), 58);
-+
-+ QColor buttonShadowAlpha = option->palette.background().color().darker(105);
-+
-+ QPalette palette = option->palette;
-+
-+ switch (control) {
-+#ifndef QT_NO_SPINBOX
-+ case CC_SpinBox:
-+ if (const QStyleOptionSpinBox *spinBox = qstyleoption_cast(option)) {
-+ QPixmap cache;
-+ QString pixmapName = uniqueName(QLatin1String("spinbox"), spinBox, spinBox->rect.size());
-+ if (!UsePixmapCache || !QPixmapCache::find(pixmapName, cache)) {
-+ cache = QPixmap(spinBox->rect.size());
-+ cache.fill(Qt::transparent);
-+ QRect pixmapRect(0, 0, spinBox->rect.width(), spinBox->rect.height());
-+ QPainter cachePainter(&cache);
-+
-+ bool isEnabled = (spinBox->state & State_Enabled);
-+ //bool focus = isEnabled && (spinBox->state & State_HasFocus);
-+ bool hover = isEnabled && (spinBox->state & State_MouseOver);
-+ bool sunken = (spinBox->state & State_Sunken);
-+ bool upIsActive = (spinBox->activeSubControls == SC_SpinBoxUp);
-+ bool downIsActive = (spinBox->activeSubControls == SC_SpinBoxDown);
-+
-+ QRect rect = pixmapRect;
-+ QStyleOptionSpinBox spinBoxCopy = *spinBox;
-+ spinBoxCopy.rect = pixmapRect;
-+ QRect upRect = subControlRect(CC_SpinBox, &spinBoxCopy, SC_SpinBoxUp, widget);
-+ QRect downRect = subControlRect(CC_SpinBox, &spinBoxCopy, SC_SpinBoxDown, widget);
-+
-+ int fw = spinBoxCopy.frame ? pixelMetric(PM_SpinBoxFrameWidth, &spinBoxCopy, widget) : 0;
-+ cachePainter.fillRect(rect.adjusted(1, qMax(fw - 1, 0), -1, -fw),
-+ option->palette.base());
-+
-+ QRect r = rect.adjusted(0, 1, 0, -1);
-+ if (spinBox->frame) {
-+
-+ QColor topShadow = darkOutline;
-+ topShadow.setAlpha(60);
-+ cachePainter.setPen(topShadow);
-+
-+ // antialias corners
-+ cachePainter.drawPoint(QPoint(r.right(), r.top() + 1));
-+ cachePainter.drawPoint(QPoint(r.right() - 1, r.top() ));
-+ cachePainter.drawPoint(QPoint(r.right(), r.bottom() - 1));
-+ cachePainter.drawPoint(QPoint(r.right() - 1, r.bottom() ));
-+ cachePainter.drawPoint(QPoint(r.left() + 1, r.bottom()));
-+ cachePainter.drawPoint(QPoint(r.left(), r.bottom() - 1));
-+ cachePainter.drawPoint(QPoint(r.left() + 1, r.top()));
-+ cachePainter.drawPoint(QPoint(r.left(), r.top() + 1));
-+
-+ // draw frame
-+ topShadow.setAlpha(30);
-+ cachePainter.setPen(topShadow);
-+ cachePainter.drawLine(QPoint(r.left() + 2, r.top() - 1), QPoint(r.right() - 2, r.top() - 1));
-+
-+ cachePainter.setPen(QPen(option->palette.background().color(), 1));
-+ cachePainter.drawLine(QPoint(r.left() + 2, r.top() + 1), QPoint(r.right() - 2, r.top() + 1));
-+ QColor highlight = Qt::white;
-+ highlight.setAlpha(130);
-+ cachePainter.setPen(option->palette.base().color().darker(120));
-+ cachePainter.drawLine(QPoint(r.left() + 1, r.top() + 1),
-+ QPoint(r.right() - 1, r.top() + 1));
-+ cachePainter.drawLine(QPoint(r.left() + 1, r.top() + 1),
-+ QPoint(r.left() + 1, r.bottom() - 1));
-+ cachePainter.setPen(option->palette.base().color());
-+ cachePainter.drawLine(QPoint(r.right() - 1, r.top() + 1),
-+ QPoint(r.right() - 1, r.bottom() - 1));
-+ cachePainter.drawLine(QPoint(r.left() + 1, r.bottom() - 1),
-+ QPoint(r.right() - 1, r.bottom() - 1));
-+ cachePainter.setPen(highlight);
-+ cachePainter.drawLine(QPoint(r.left() + 3, r.bottom() + 1),
-+ QPoint(r.right() - 3, r.bottom() + 1));
-+
-+ cachePainter.setPen(QPen(darkOutline, 1));
-+
-+ // top and bottom lines
-+ cachePainter.drawLine(QPoint(r.left() + 2, r.bottom()), QPoint(r.right()- 2, r.bottom()));
-+ cachePainter.drawLine(QPoint(r.left() + 2, r.top()), QPoint(r.right() - 2, r.top()));
-+ cachePainter.drawLine(QPoint(r.right(), r.top() + 2), QPoint(r.right(), r.bottom() - 2));
-+ cachePainter.drawLine(QPoint(r.left(), r.top() + 2), QPoint(r.left(), r.bottom() - 2));
-+ }
-+
-+ // gradients
-+ qt_haiku_draw_gradient(&cachePainter, upRect,
-+ gradientStartColor.darker(106),
-+ gradientStopColor, TopDown, option->palette.button());
-+ qt_haiku_draw_gradient(&cachePainter, downRect.adjusted(0, 0, 0, 1),
-+ gradientStartColor.darker(106),
-+ gradientStopColor, TopDown, option->palette.button());
-+ if (isEnabled) {
-+ if(upIsActive) {
-+ if (sunken) {
-+ cachePainter.fillRect(upRect.adjusted(1, 0, 0, 0), gradientStopColor.darker(110));
-+ } else if (hover) {
-+ qt_haiku_draw_gradient(&cachePainter, upRect.adjusted(1, 0, 0, 0),
-+ gradientStartColor.lighter(110),
-+ gradientStopColor.lighter(110), TopDown, option->palette.button());
-+ }
-+ }
-+ if(downIsActive) {
-+ if (sunken) {
-+ cachePainter.fillRect(downRect.adjusted(1, 0, 0, 1), gradientStopColor.darker(110));
-+
-+ } else if (hover) {
-+ qt_haiku_draw_gradient(&cachePainter, downRect.adjusted(1, 0, 0, 1),
-+ gradientStartColor.lighter(110),
-+ gradientStopColor.lighter(110), TopDown, option->palette.button());
-+ }
-+ }
-+ }
-+
-+ if (spinBox->frame) {
-+ // rounded corners
-+ cachePainter.drawPoint(QPoint(r.left() + 1, r.bottom() - 1));
-+ cachePainter.drawPoint(QPoint(r.left() + 1, r.top() + 1));
-+ cachePainter.drawPoint(QPoint(r.right() - 1, r.bottom() - 1));
-+ cachePainter.drawPoint(QPoint(r.right() - 1, r.top() + 1));
-+
-+ if (option->state & State_HasFocus) {
-+ QColor darkoutline = option->palette.highlight().color().darker(150);
-+ QColor innerline = mergedColors(option->palette.highlight().color(), Qt::white);
-+ cachePainter.setPen(QPen(innerline, 0));
-+ if (spinBox->direction == Qt::LeftToRight) {
-+ cachePainter.drawRect(rect.adjusted(1, 2, -3 -downRect.width(), -3));
-+ cachePainter.setPen(QPen(darkoutline, 0));
-+ cachePainter.drawLine(QPoint(r.left() + 2, r.bottom()), QPoint(r.right()- downRect.width() - 1, r.bottom()));
-+ cachePainter.drawLine(QPoint(r.left() + 2, r.top()), QPoint(r.right() - downRect.width() - 1, r.top()));
-+ cachePainter.drawLine(QPoint(r.right() - downRect.width() - 1, r.top() + 1), QPoint(r.right()- downRect.width() - 1, r.bottom() - 1));
-+ cachePainter.drawLine(QPoint(r.left(), r.top() + 2), QPoint(r.left(), r.bottom() - 2));
-+ cachePainter.drawPoint(QPoint(r.left() + 1, r.bottom() - 1));
-+ cachePainter.drawPoint(QPoint(r.left() + 1, r.top() + 1));
-+ cachePainter.drawLine(QPoint(r.left(), r.top() + 2), QPoint(r.left(), r.bottom() - 2));
-+ } else {
-+ cachePainter.drawRect(rect.adjusted(downRect.width() + 2, 2, -2, -3));
-+ cachePainter.setPen(QPen(darkoutline, 0));
-+ cachePainter.drawLine(QPoint(r.left() + downRect.width(), r.bottom()), QPoint(r.right()- 2 - 1, r.bottom()));
-+ cachePainter.drawLine(QPoint(r.left() + downRect.width(), r.top()), QPoint(r.right() - 2 - 1, r.top()));
-+
-+ cachePainter.drawLine(QPoint(r.right(), r.top() + 2), QPoint(r.right(), r.bottom() - 2));
-+ cachePainter.drawPoint(QPoint(r.right() - 1, r.bottom() - 1));
-+ cachePainter.drawPoint(QPoint(r.right() - 1, r.top() + 1));
-+ cachePainter.drawLine(QPoint(r.left() + downRect.width() + 1, r.top()),
-+ QPoint(r.left() + downRect.width() + 1, r.bottom()));
-+ }
-+ }
-+ }
-+
-+ // outline the up/down buttons
-+ cachePainter.setPen(darkOutline);
-+ QColor light = option->palette.light().color().lighter();
-+
-+ if (spinBox->direction == Qt::RightToLeft) {
-+ cachePainter.drawLine(upRect.right(), upRect.top() - 1, upRect.right(), downRect.bottom() + 1);
-+ cachePainter.setPen(light);
-+ cachePainter.drawLine(upRect.right() - 1, upRect.top() + 3, upRect.right() - 1, downRect.bottom() );
-+ } else {
-+ cachePainter.drawLine(upRect.left(), upRect.top() - 1, upRect.left(), downRect.bottom() + 1);
-+ cachePainter.setPen(light);
-+ cachePainter.drawLine(upRect.left() + 1, upRect.top() , upRect.left() + 1, downRect.bottom() );
-+ }
-+ if (upIsActive && sunken) {
-+ cachePainter.setPen(gradientStopColor.darker(130));
-+ cachePainter.drawLine(upRect.left() + 1, upRect.top(), upRect.left() + 1, upRect.bottom());
-+ cachePainter.drawLine(upRect.left(), upRect.top() - 1, upRect.right(), upRect.top() - 1);
-+ } else {
-+ cachePainter.setPen(light);
-+ cachePainter.drawLine(upRect.topLeft() + QPoint(1, -1), upRect.topRight() + QPoint(-1, -1));
-+ cachePainter.setPen(darkOutline);
-+ cachePainter.drawLine(upRect.bottomLeft(), upRect.bottomRight());
-+ }
-+ if (downIsActive && sunken) {
-+ cachePainter.setPen(gradientStopColor.darker(130));
-+ cachePainter.drawLine(downRect.left() + 1, downRect.top(), downRect.left() + 1, downRect.bottom() + 1);
-+ cachePainter.drawLine(downRect.left(), downRect.top(), downRect.right(), downRect.top());
-+ cachePainter.setPen(gradientStopColor.darker(110));
-+ cachePainter.drawLine(downRect.left(), downRect.bottom() + 1, downRect.right(), downRect.bottom() + 1);
-+ } else {
-+ cachePainter.setPen(light);
-+ cachePainter.drawLine(downRect.topLeft() + QPoint(2,0), downRect.topRight());
-+ }
-+
-+ if (spinBox->buttonSymbols == QAbstractSpinBox::PlusMinus) {
-+ int centerX = upRect.center().x();
-+ int centerY = upRect.center().y();
-+ cachePainter.setPen(spinBox->palette.foreground().color());
-+
-+ // plus/minus
-+ if (spinBox->activeSubControls == SC_SpinBoxUp && sunken) {
-+ cachePainter.drawLine(1 + centerX - 2, 1 + centerY, 1 + centerX + 2, 1 + centerY);
-+ cachePainter.drawLine(1 + centerX, 1 + centerY - 2, 1 + centerX, 1 + centerY + 2);
-+ } else {
-+ cachePainter.drawLine(centerX - 2, centerY, centerX + 2, centerY);
-+ cachePainter.drawLine(centerX, centerY - 2, centerX, centerY + 2);
-+ }
-+
-+ centerX = downRect.center().x();
-+ centerY = downRect.center().y();
-+ if (spinBox->activeSubControls == SC_SpinBoxDown && sunken) {
-+ cachePainter.drawLine(1 + centerX - 2, 1 + centerY, 1 + centerX + 2, 1 + centerY);
-+ } else {
-+ cachePainter.drawLine(centerX - 2, centerY, centerX + 2, centerY);
-+ }
-+ } else if (spinBox->buttonSymbols == QAbstractSpinBox::UpDownArrows){
-+ // arrows
-+ QImage upArrow(qt_scrollbar_button_arrow_up);
-+ upArrow.setColor(1, spinBox->palette.foreground().color().rgba());
-+
-+ cachePainter.drawImage(upRect.center().x() - upArrow.width() / 2,
-+ upRect.center().y() - upArrow.height() / 2,
-+ upArrow);
-+
-+ QImage downArrow(qt_scrollbar_button_arrow_down);
-+ downArrow.setColor(1, spinBox->palette.foreground().color().rgba());
-+
-+ cachePainter.drawImage(downRect.center().x() - downArrow.width() / 2,
-+ downRect.center().y() - downArrow.height() / 2 + 1,
-+ downArrow);
-+ }
-+
-+ QColor disabledColor = option->palette.background().color();
-+ disabledColor.setAlpha(150);
-+ if (!(spinBox->stepEnabled & QAbstractSpinBox::StepUpEnabled))
-+ cachePainter.fillRect(upRect.adjusted(1, 0, 0, 0), disabledColor);
-+ if (!(spinBox->stepEnabled & QAbstractSpinBox::StepDownEnabled)) {
-+ cachePainter.fillRect(downRect.adjusted(1, 0, 0, 0), disabledColor);
-+ }
-+ cachePainter.end();
-+ if (UsePixmapCache)
-+ QPixmapCache::insert(pixmapName, cache);
-+ }
-+ painter->drawPixmap(spinBox->rect.topLeft(), cache);
-+ }
-+ break;
-+#endif // QT_NO_SPINBOX
-+ case CC_TitleBar:
-+ painter->save();
-+ if (const QStyleOptionTitleBar *titleBar = qstyleoption_cast(option)) {
-+ const int buttonMargin = 5;
-+ bool active = (titleBar->titleBarState & State_Active);
-+ QRect fullRect = titleBar->rect;
-+ QPalette palette = option->palette;
-+ QColor highlight = option->palette.highlight().color();
-+
-+ QColor titleBarFrameBorder(active ? highlight.darker(180): dark.darker(110));
-+ QColor titleBarHighlight(active ? highlight.lighter(120): palette.background().color().lighter(120));
-+ QColor textColor(active ? 0xffffff : 0xff000000);
-+ QColor textAlphaColor(active ? 0xffffff : 0xff000000 );
-+
-+#ifdef QT3_SUPPORT
-+ if (widget && widget->inherits("Q3DockWindowTitleBar")) {
-+ QStyleOptionDockWidgetV2 dockwidget;
-+ dockwidget.QStyleOption::operator=(*option);
-+ drawControl(CE_DockWidgetTitle, &dockwidget, painter, widget);
-+ } else
-+#endif // QT3_SUPPORT
-+ {
-+ // Fill title bar gradient
-+ QColor titlebarColor = QColor(active ? highlight: palette.background().color());
-+ QColor titleBarGradientStop(active ? highlight.darker(150): palette.background().color().darker(120));
-+ QLinearGradient gradient(option->rect.center().x(), option->rect.top(),
-+ option->rect.center().x(), option->rect.bottom());
-+
-+ gradient.setColorAt(0, titlebarColor.lighter(114));
-+ gradient.setColorAt(0.5, titlebarColor.lighter(102));
-+ gradient.setColorAt(0.51, titlebarColor.darker(104));
-+ gradient.setColorAt(1, titlebarColor);
-+ painter->fillRect(option->rect.adjusted(1, 1, -1, 0), gradient);
-+
-+ // Frame and rounded corners
-+ painter->setPen(titleBarFrameBorder);
-+
-+ // top outline
-+ painter->drawLine(fullRect.left() + 5, fullRect.top(), fullRect.right() - 5, fullRect.top());
-+ painter->drawLine(fullRect.left(), fullRect.top() + 4, fullRect.left(), fullRect.bottom());
-+ painter->drawPoint(fullRect.left() + 4, fullRect.top() + 1);
-+ painter->drawPoint(fullRect.left() + 3, fullRect.top() + 1);
-+ painter->drawPoint(fullRect.left() + 2, fullRect.top() + 2);
-+ painter->drawPoint(fullRect.left() + 1, fullRect.top() + 3);
-+ painter->drawPoint(fullRect.left() + 1, fullRect.top() + 4);
-+
-+ painter->drawLine(fullRect.right(), fullRect.top() + 4, fullRect.right(), fullRect.bottom());
-+ painter->drawPoint(fullRect.right() - 3, fullRect.top() + 1);
-+ painter->drawPoint(fullRect.right() - 4, fullRect.top() + 1);
-+ painter->drawPoint(fullRect.right() - 2, fullRect.top() + 2);
-+ painter->drawPoint(fullRect.right() - 1, fullRect.top() + 3);
-+ painter->drawPoint(fullRect.right() - 1, fullRect.top() + 4);
-+
-+ // draw bottomline
-+ painter->drawLine(fullRect.right(), fullRect.bottom(), fullRect.left(), fullRect.bottom());
-+
-+ // top highlight
-+ painter->setPen(titleBarHighlight);
-+ painter->drawLine(fullRect.left() + 6, fullRect.top() + 1, fullRect.right() - 6, fullRect.top() + 1);
-+ }
-+ // draw title
-+ QRect textRect = subControlRect(CC_TitleBar, titleBar, SC_TitleBarLabel, widget);
-+ QFont font = painter->font();
-+ font.setBold(true);
-+ painter->setFont(font);
-+ painter->setPen(active? (titleBar->palette.text().color().lighter(120)) :
-+ titleBar->palette.text().color() );
-+ // Note workspace also does elliding but it does not use the correct font
-+ QString title = QFontMetrics(font).elidedText(titleBar->text, Qt::ElideRight, textRect.width() - 14);
-+ painter->drawText(textRect.adjusted(1, 1, 1, 1), title, QTextOption(Qt::AlignHCenter | Qt::AlignVCenter));
-+ painter->setPen(Qt::white);
-+ if (active)
-+ painter->drawText(textRect, title, QTextOption(Qt::AlignHCenter | Qt::AlignVCenter));
-+ // min button
-+ if ((titleBar->subControls & SC_TitleBarMinButton) && (titleBar->titleBarFlags & Qt::WindowMinimizeButtonHint) &&
-+ !(titleBar->titleBarState& Qt::WindowMinimized)) {
-+ QRect minButtonRect = subControlRect(CC_TitleBar, titleBar, SC_TitleBarMinButton, widget);
-+ if (minButtonRect.isValid()) {
-+ bool hover = (titleBar->activeSubControls & SC_TitleBarMinButton) && (titleBar->state & State_MouseOver);
-+ bool sunken = (titleBar->activeSubControls & SC_TitleBarMinButton) && (titleBar->state & State_Sunken);
-+ qt_haiku_draw_mdibutton(painter, titleBar, minButtonRect, hover, sunken);
-+ QRect minButtonIconRect = minButtonRect.adjusted(buttonMargin ,buttonMargin , -buttonMargin, -buttonMargin);
-+ painter->setPen(textColor);
-+ painter->drawLine(minButtonIconRect.center().x() - 2, minButtonIconRect.center().y() + 3,
-+ minButtonIconRect.center().x() + 3, minButtonIconRect.center().y() + 3);
-+ painter->drawLine(minButtonIconRect.center().x() - 2, minButtonIconRect.center().y() + 4,
-+ minButtonIconRect.center().x() + 3, minButtonIconRect.center().y() + 4);
-+ painter->setPen(textAlphaColor);
-+ painter->drawLine(minButtonIconRect.center().x() - 3, minButtonIconRect.center().y() + 3,
-+ minButtonIconRect.center().x() - 3, minButtonIconRect.center().y() + 4);
-+ painter->drawLine(minButtonIconRect.center().x() + 4, minButtonIconRect.center().y() + 3,
-+ minButtonIconRect.center().x() + 4, minButtonIconRect.center().y() + 4);
-+ }
-+ }
-+ // max button
-+ if ((titleBar->subControls & SC_TitleBarMaxButton) && (titleBar->titleBarFlags & Qt::WindowMaximizeButtonHint) &&
-+ !(titleBar->titleBarState & Qt::WindowMaximized)) {
-+ QRect maxButtonRect = subControlRect(CC_TitleBar, titleBar, SC_TitleBarMaxButton, widget);
-+ if (maxButtonRect.isValid()) {
-+ bool hover = (titleBar->activeSubControls & SC_TitleBarMaxButton) && (titleBar->state & State_MouseOver);
-+ bool sunken = (titleBar->activeSubControls & SC_TitleBarMaxButton) && (titleBar->state & State_Sunken);
-+ qt_haiku_draw_mdibutton(painter, titleBar, maxButtonRect, hover, sunken);
-+
-+ QRect maxButtonIconRect = maxButtonRect.adjusted(buttonMargin, buttonMargin, -buttonMargin, -buttonMargin);
-+
-+ painter->setPen(textColor);
-+ painter->drawRect(maxButtonIconRect.adjusted(0, 0, -1, -1));
-+ painter->drawLine(maxButtonIconRect.left() + 1, maxButtonIconRect.top() + 1,
-+ maxButtonIconRect.right() - 1, maxButtonIconRect.top() + 1);
-+ painter->setPen(textAlphaColor);
-+ painter->drawPoint(maxButtonIconRect.topLeft());
-+ painter->drawPoint(maxButtonIconRect.topRight());
-+ painter->drawPoint(maxButtonIconRect.bottomLeft());
-+ painter->drawPoint(maxButtonIconRect.bottomRight());
-+ }
-+ }
-+
-+ // close button
-+ if ((titleBar->subControls & SC_TitleBarCloseButton) && (titleBar->titleBarFlags & Qt::WindowSystemMenuHint)) {
-+ QRect closeButtonRect = subControlRect(CC_TitleBar, titleBar, SC_TitleBarCloseButton, widget);
-+ if (closeButtonRect.isValid()) {
-+ bool hover = (titleBar->activeSubControls & SC_TitleBarCloseButton) && (titleBar->state & State_MouseOver);
-+ bool sunken = (titleBar->activeSubControls & SC_TitleBarCloseButton) && (titleBar->state & State_Sunken);
-+ qt_haiku_draw_mdibutton(painter, titleBar, closeButtonRect, hover, sunken);
-+ QRect closeIconRect = closeButtonRect.adjusted(buttonMargin, buttonMargin, -buttonMargin, -buttonMargin);
-+ painter->setPen(textAlphaColor);
-+ painter->drawLine(closeIconRect.left() + 1, closeIconRect.top(),
-+ closeIconRect.right(), closeIconRect.bottom() - 1);
-+ painter->drawLine(closeIconRect.left(), closeIconRect.top() + 1,
-+ closeIconRect.right() - 1, closeIconRect.bottom());
-+ painter->drawLine(closeIconRect.right() - 1, closeIconRect.top(),
-+ closeIconRect.left(), closeIconRect.bottom() - 1);
-+ painter->drawLine(closeIconRect.right(), closeIconRect.top() + 1,
-+ closeIconRect.left() + 1, closeIconRect.bottom());
-+ painter->drawPoint(closeIconRect.topLeft());
-+ painter->drawPoint(closeIconRect.topRight());
-+ painter->drawPoint(closeIconRect.bottomLeft());
-+ painter->drawPoint(closeIconRect.bottomRight());
-+
-+ painter->setPen(textColor);
-+ painter->drawLine(closeIconRect.left() + 1, closeIconRect.top() + 1,
-+ closeIconRect.right() - 1, closeIconRect.bottom() - 1);
-+ painter->drawLine(closeIconRect.left() + 1, closeIconRect.bottom() - 1,
-+ closeIconRect.right() - 1, closeIconRect.top() + 1);
-+ }
-+ }
-+
-+ // normalize button
-+ if ((titleBar->subControls & SC_TitleBarNormalButton) &&
-+ (((titleBar->titleBarFlags & Qt::WindowMinimizeButtonHint) &&
-+ (titleBar->titleBarState & Qt::WindowMinimized)) ||
-+ ((titleBar->titleBarFlags & Qt::WindowMaximizeButtonHint) &&
-+ (titleBar->titleBarState & Qt::WindowMaximized)))) {
-+ QRect normalButtonRect = subControlRect(CC_TitleBar, titleBar, SC_TitleBarNormalButton, widget);
-+ if (normalButtonRect.isValid()) {
-+
-+ bool hover = (titleBar->activeSubControls & SC_TitleBarNormalButton) && (titleBar->state & State_MouseOver);
-+ bool sunken = (titleBar->activeSubControls & SC_TitleBarNormalButton) && (titleBar->state & State_Sunken);
-+ QRect normalButtonIconRect = normalButtonRect.adjusted(buttonMargin, buttonMargin, -buttonMargin, -buttonMargin);
-+ qt_haiku_draw_mdibutton(painter, titleBar, normalButtonRect, hover, sunken);
-+
-+ QRect frontWindowRect = normalButtonIconRect.adjusted(0, 3, -3, 0);
-+ painter->setPen(textColor);
-+ painter->drawRect(frontWindowRect.adjusted(0, 0, -1, -1));
-+ painter->drawLine(frontWindowRect.left() + 1, frontWindowRect.top() + 1,
-+ frontWindowRect.right() - 1, frontWindowRect.top() + 1);
-+ painter->setPen(textAlphaColor);
-+ painter->drawPoint(frontWindowRect.topLeft());
-+ painter->drawPoint(frontWindowRect.topRight());
-+ painter->drawPoint(frontWindowRect.bottomLeft());
-+ painter->drawPoint(frontWindowRect.bottomRight());
-+
-+ QRect backWindowRect = normalButtonIconRect.adjusted(3, 0, 0, -3);
-+ QRegion clipRegion = backWindowRect;
-+ clipRegion -= frontWindowRect;
-+ painter->save();
-+ painter->setClipRegion(clipRegion);
-+ painter->setPen(textColor);
-+ painter->drawRect(backWindowRect.adjusted(0, 0, -1, -1));
-+ painter->drawLine(backWindowRect.left() + 1, backWindowRect.top() + 1,
-+ backWindowRect.right() - 1, backWindowRect.top() + 1);
-+ painter->setPen(textAlphaColor);
-+ painter->drawPoint(backWindowRect.topLeft());
-+ painter->drawPoint(backWindowRect.topRight());
-+ painter->drawPoint(backWindowRect.bottomLeft());
-+ painter->drawPoint(backWindowRect.bottomRight());
-+ painter->restore();
-+ }
-+ }
-+
-+ // context help button
-+ if (titleBar->subControls & SC_TitleBarContextHelpButton
-+ && (titleBar->titleBarFlags & Qt::WindowContextHelpButtonHint)) {
-+ QRect contextHelpButtonRect = subControlRect(CC_TitleBar, titleBar, SC_TitleBarContextHelpButton, widget);
-+ if (contextHelpButtonRect.isValid()) {
-+ bool hover = (titleBar->activeSubControls & SC_TitleBarContextHelpButton) && (titleBar->state & State_MouseOver);
-+ bool sunken = (titleBar->activeSubControls & SC_TitleBarContextHelpButton) && (titleBar->state & State_Sunken);
-+ qt_haiku_draw_mdibutton(painter, titleBar, contextHelpButtonRect, hover, sunken);
-+
-+ QColor blend;
-+ QImage image(qt_titlebar_context_help);
-+ QColor alpha = textColor;
-+ alpha.setAlpha(128);
-+ image.setColor(1, textColor.rgba());
-+ image.setColor(2, alpha.rgba());
-+ painter->setRenderHint(QPainter::SmoothPixmapTransform);
-+ painter->drawImage(contextHelpButtonRect.adjusted(4, 4, -4, -4), image);
-+ }
-+ }
-+
-+ // shade button
-+ if (titleBar->subControls & SC_TitleBarShadeButton && (titleBar->titleBarFlags & Qt::WindowShadeButtonHint)) {
-+ QRect shadeButtonRect = subControlRect(CC_TitleBar, titleBar, SC_TitleBarShadeButton, widget);
-+ if (shadeButtonRect.isValid()) {
-+ bool hover = (titleBar->activeSubControls & SC_TitleBarShadeButton) && (titleBar->state & State_MouseOver);
-+ bool sunken = (titleBar->activeSubControls & SC_TitleBarShadeButton) && (titleBar->state & State_Sunken);
-+ qt_haiku_draw_mdibutton(painter, titleBar, shadeButtonRect, hover, sunken);
-+ QImage image(qt_scrollbar_button_arrow_up);
-+ image.setColor(1, textColor.rgba());
-+ painter->drawImage(shadeButtonRect.adjusted(5, 7, -5, -7), image);
-+ }
-+ }
-+
-+ // unshade button
-+ if (titleBar->subControls & SC_TitleBarUnshadeButton && (titleBar->titleBarFlags & Qt::WindowShadeButtonHint)) {
-+ QRect unshadeButtonRect = subControlRect(CC_TitleBar, titleBar, SC_TitleBarUnshadeButton, widget);
-+ if (unshadeButtonRect.isValid()) {
-+ bool hover = (titleBar->activeSubControls & SC_TitleBarUnshadeButton) && (titleBar->state & State_MouseOver);
-+ bool sunken = (titleBar->activeSubControls & SC_TitleBarUnshadeButton) && (titleBar->state & State_Sunken);
-+ qt_haiku_draw_mdibutton(painter, titleBar, unshadeButtonRect, hover, sunken);
-+ QImage image(qt_scrollbar_button_arrow_down);
-+ image.setColor(1, textColor.rgba());
-+ painter->drawImage(unshadeButtonRect.adjusted(5, 7, -5, -7), image);
-+ }
-+ }
-+
-+ if ((titleBar->subControls & SC_TitleBarSysMenu) && (titleBar->titleBarFlags & Qt::WindowSystemMenuHint)) {
-+ QRect iconRect = subControlRect(CC_TitleBar, titleBar, SC_TitleBarSysMenu, widget);
-+ if (iconRect.isValid()) {
-+ if (!titleBar->icon.isNull()) {
-+ titleBar->icon.paint(painter, iconRect);
-+ } else {
-+ QStyleOption tool(0);
-+ tool.palette = titleBar->palette;
-+ QPixmap pm = standardIcon(SP_TitleBarMenuButton, &tool, widget).pixmap(16, 16);
-+ tool.rect = iconRect;
-+ painter->save();
-+ drawItemPixmap(painter, iconRect, Qt::AlignCenter, pm);
-+ painter->restore();
-+ }
-+ }
-+ }
-+ }
-+ painter->restore();
-+ break;
-+#ifndef QT_NO_SCROLLBAR
-+ case CC_ScrollBar:
-+ painter->save();
-+ if (const QStyleOptionSlider *scrollBar = qstyleoption_cast(option)) {
-+ bool isEnabled = scrollBar->state & State_Enabled;
-+ bool reverse = scrollBar->direction == Qt::RightToLeft;
-+ bool horizontal = scrollBar->orientation == Qt::Horizontal;
-+ bool sunken = scrollBar->state & State_Sunken;
-+
-+ painter->fillRect(option->rect, option->palette.background());
-+
-+ QRect rect = scrollBar->rect;
-+ QRect scrollBarSubLine = subControlRect(control, scrollBar, SC_ScrollBarSubLine, widget);
-+ QRect scrollBarAddLine = subControlRect(control, scrollBar, SC_ScrollBarAddLine, widget);
-+ QRect scrollBarSlider = subControlRect(control, scrollBar, SC_ScrollBarSlider, widget);
-+ QRect grooveRect = subControlRect(control, scrollBar, SC_ScrollBarGroove, widget);
-+
-+ // paint groove
-+ if (scrollBar->subControls & SC_ScrollBarGroove) {
-+ painter->setBrush(grooveColor);
-+ painter->setPen(Qt::NoPen);
-+ if (horizontal) {
-+ painter->drawRect(grooveRect);
-+ painter->setPen(darkOutline);
-+ painter->drawLine(grooveRect.topLeft(), grooveRect.topRight());
-+ painter->drawLine(grooveRect.bottomLeft(), grooveRect.bottomRight());
-+ } else {
-+ painter->drawRect(grooveRect);
-+ painter->setPen(darkOutline);
-+ painter->drawLine(grooveRect.topLeft(), grooveRect.bottomLeft());
-+ painter->drawLine(grooveRect.topRight(), grooveRect.bottomRight());
-+ }
-+ }
-+ //paint slider
-+ if (scrollBar->subControls & SC_ScrollBarSlider) {
-+ QRect pixmapRect = scrollBarSlider;
-+ if (horizontal)
-+ pixmapRect.adjust(-1, 0, 0, -1);
-+ else
-+ pixmapRect.adjust(0, -1, -1, 0);
-+
-+ if (isEnabled) {
-+ QLinearGradient gradient(pixmapRect.center().x(), pixmapRect.top(),
-+ pixmapRect.center().x(), pixmapRect.bottom());
-+ if (!horizontal)
-+ gradient = QLinearGradient(pixmapRect.left(), pixmapRect.center().y(),
-+ pixmapRect.right(), pixmapRect.center().y());
-+
-+ if (option->palette.button().gradient()) {
-+ gradient.setStops(option->palette.button().gradient()->stops());
-+ } else {
-+ if (sunken || (option->state & State_MouseOver &&
-+ (scrollBar->activeSubControls & SC_ScrollBarSlider))) {
-+ gradient.setColorAt(0, gradientStartColor.lighter(110));
-+ gradient.setColorAt(1, gradientStopColor.lighter(110));
-+ } else {
-+ gradient.setColorAt(0, gradientStartColor);
-+ gradient.setColorAt(1, gradientStopColor);
-+ }
-+ }
-+ painter->setPen(QPen(darkOutline, 0));
-+ painter->setBrush(gradient);
-+ painter->drawRect(pixmapRect);
-+
-+
-+ //calculate offsets used by highlight and shadow
-+ int yoffset, xoffset;
-+ if (option->state & State_Horizontal) {
-+ xoffset = 0;
-+ yoffset = 1;
-+ } else {
-+ xoffset = 1;
-+ yoffset = 0;
-+ }
-+ //draw slider highlights
-+ painter->setPen(QPen(gradientStopColor, 0));
-+ painter->drawLine(scrollBarSlider.left() + xoffset,
-+ scrollBarSlider.bottom() - yoffset,
-+ scrollBarSlider.right() - xoffset,
-+ scrollBarSlider.bottom() - yoffset);
-+ painter->drawLine(scrollBarSlider.right() - xoffset,
-+ scrollBarSlider.top() + yoffset,
-+ scrollBarSlider.right() - xoffset,
-+ scrollBarSlider.bottom() - yoffset);
-+
-+ //draw slider shadow
-+ painter->setPen(QPen(gradientStartColor, 0));
-+ painter->drawLine(scrollBarSlider.left() + xoffset,
-+ scrollBarSlider.top() + yoffset,
-+ scrollBarSlider.right() - xoffset,
-+ scrollBarSlider.top() + yoffset);
-+ painter->drawLine(scrollBarSlider.left() + xoffset,
-+ scrollBarSlider.top() + yoffset,
-+ scrollBarSlider.left() + xoffset,
-+ scrollBarSlider.bottom() - yoffset);
-+ } else {
-+ QLinearGradient gradient(pixmapRect.center().x(), pixmapRect.top(),
-+ pixmapRect.center().x(), pixmapRect.bottom());
-+ if (!horizontal) {
-+ gradient = QLinearGradient(pixmapRect.left(), pixmapRect.center().y(),
-+ pixmapRect.right(), pixmapRect.center().y());
-+ }
-+ if (sunken) {
-+ gradient.setColorAt(0, gradientStartColor.lighter(110));
-+ gradient.setColorAt(1, gradientStopColor.lighter(110));
-+ } else {
-+ gradient.setColorAt(0, gradientStartColor);
-+ gradient.setColorAt(1, gradientStopColor);
-+ }
-+ painter->setPen(darkOutline);
-+ painter->setBrush(gradient);
-+ painter->drawRect(pixmapRect);
-+ }
-+ int gripMargin = 4;
-+ //draw grips
-+ if (horizontal) {
-+ for (int i = -3; i< 6 ; i += 3) {
-+ painter->setPen(QPen(gripShadow, 1));
-+ painter->drawLine(
-+ QPoint(scrollBarSlider.center().x() + i ,
-+ scrollBarSlider.top() + gripMargin),
-+ QPoint(scrollBarSlider.center().x() + i,
-+ scrollBarSlider.bottom() - gripMargin));
-+ painter->setPen(QPen(palette.light(), 1));
-+ painter->drawLine(
-+ QPoint(scrollBarSlider.center().x() + i + 1,
-+ scrollBarSlider.top() + gripMargin ),
-+ QPoint(scrollBarSlider.center().x() + i + 1,
-+ scrollBarSlider.bottom() - gripMargin));
-+ }
-+ } else {
-+ for (int i = -3; i < 6 ; i += 3) {
-+ painter->setPen(QPen(gripShadow, 1));
-+ painter->drawLine(
-+ QPoint(scrollBarSlider.left() + gripMargin ,
-+ scrollBarSlider.center().y()+ i),
-+ QPoint(scrollBarSlider.right() - gripMargin,
-+ scrollBarSlider.center().y()+ i));
-+ painter->setPen(QPen(palette.light(), 1));
-+ painter->drawLine(
-+ QPoint(scrollBarSlider.left() + gripMargin,
-+ scrollBarSlider.center().y() + 1 + i),
-+ QPoint(scrollBarSlider.right() - gripMargin,
-+ scrollBarSlider.center().y() + 1 + i));
-+ }
-+ }
-+ }
-+
-+ // The SubLine (up/left) buttons
-+ if (scrollBar->subControls & SC_ScrollBarSubLine) {
-+ //int scrollBarExtent = pixelMetric(PM_ScrollBarExtent, option, widget);
-+ QRect pixmapRect = scrollBarSubLine;
-+ if (isEnabled ) {
-+ QRect fillRect = pixmapRect.adjusted(1, 1, -1, -1);
-+ // Gradients
-+ if ((scrollBar->activeSubControls & SC_ScrollBarSubLine) && sunken) {
-+ qt_haiku_draw_gradient(painter,
-+ QRect(fillRect),
-+ gradientStopColor.darker(120),
-+ gradientStopColor.darker(120),
-+ horizontal ? TopDown : FromLeft, option->palette.button());
-+ } else {
-+ qt_haiku_draw_gradient(painter,
-+ QRect(fillRect),
-+ gradientStartColor.lighter(105),
-+ gradientStopColor,
-+ horizontal ? TopDown : FromLeft, option->palette.button());
-+ }
-+ }
-+ // Details
-+ QImage subButton;
-+ QImage subButtonArrow;
-+ if (horizontal) {
-+ subButton = QImage(reverse ? qt_scrollbar_buttons : qt_scrollbar_buttons);
-+ subButtonArrow = QImage(reverse ? qt_scrollbar_button_arrow_right : qt_scrollbar_button_arrow_left);
-+ } else {
-+ subButton = QImage(qt_scrollbar_buttons);
-+ subButtonArrow = QImage(qt_scrollbar_button_arrow_up);
-+ }
-+ subButton.setColor(1, alphaCornerColor.rgba());
-+ subButton.setColor(2, darkOutline.rgba());
-+ if ((scrollBar->activeSubControls & SC_ScrollBarSubLine) && sunken) {
-+ subButton.setColor(3, gradientStopColor.darker(140).rgba());
-+ subButton.setColor(4, gradientStopColor.darker(120).rgba());
-+ } else {
-+ subButton.setColor(3, gradientStartColor.lighter(105).rgba());
-+ subButton.setColor(4, gradientStopColor.rgba());
-+ }
-+ subButton.setColor(5, scrollBar->palette.text().color().rgba());
-+ painter->drawImage(pixmapRect, subButton);
-+
-+ // Arrows
-+ QPoint a_pos = pixmapRect.topLeft()+QPoint(4,4);
-+ painter->drawImage(a_pos, subButtonArrow);
-+
-+ // The AddLine (down/right) button
-+ if (scrollBar->subControls & SC_ScrollBarAddLine) {
-+ QString addLinePixmapName = uniqueName(QLatin1String("scrollbar_addline"), option, QSize(16, 16));
-+ QRect pixmapRect = scrollBarAddLine;
-+ if (isEnabled) {
-+ QRect fillRect = pixmapRect.adjusted(1, 1, -1, -1);
-+ // Gradients
-+ if ((scrollBar->activeSubControls & SC_ScrollBarAddLine) && sunken) {
-+ qt_haiku_draw_gradient(painter,
-+ fillRect,
-+ gradientStopColor.darker(120),
-+ gradientStopColor.darker(120),
-+ horizontal ? TopDown: FromLeft, option->palette.button());
-+ } else {
-+ qt_haiku_draw_gradient(painter,
-+ fillRect,
-+ gradientStartColor.lighter(105),
-+ gradientStopColor,
-+ horizontal ? TopDown : FromLeft, option->palette.button());
-+ }
-+ }
-+ // Details
-+ QImage addButton;
-+ QImage subButtonArrow;
-+ if (horizontal) {
-+ addButton = QImage(reverse ? qt_scrollbar_buttons : qt_scrollbar_buttons);
-+ subButtonArrow = QImage(reverse ? qt_scrollbar_button_arrow_left : qt_scrollbar_button_arrow_right);
-+ } else {
-+ addButton = QImage(qt_scrollbar_buttons);
-+ subButtonArrow = QImage(qt_scrollbar_button_arrow_down);
-+ }
-+ addButton.setColor(1, alphaCornerColor.rgba());
-+ addButton.setColor(2, darkOutline.rgba());
-+ if ((scrollBar->activeSubControls & SC_ScrollBarAddLine) && sunken) {
-+ addButton.setColor(3, gradientStopColor.darker(140).rgba());
-+ addButton.setColor(4, gradientStopColor.darker(120).rgba());
-+ } else {
-+ addButton.setColor(3, gradientStartColor.lighter(105).rgba());
-+ addButton.setColor(4, gradientStopColor.rgba());
-+ }
-+ addButton.setColor(5, scrollBar->palette.text().color().rgba());
-+ painter->drawImage(pixmapRect, addButton);
-+
-+ QPoint a_pos = pixmapRect.topLeft()+QPoint(4,4);
-+ painter->drawImage(a_pos, subButtonArrow);
-+ }
-+ }
-+ }
-+ painter->restore();
-+ break;;
-+#endif // QT_NO_SCROLLBAR
-+#ifndef QT_NO_COMBOBOX
-+ case CC_ComboBox:
-+ painter->save();
-+ if (const QStyleOptionComboBox *comboBox = qstyleoption_cast(option)) {
-+ bool sunken = comboBox->state & State_On; // play dead, if combobox has no items
-+ bool isEnabled = (comboBox->state & State_Enabled);
-+ bool focus = isEnabled && (comboBox->state & State_HasFocus);
-+ QPixmap cache;
-+ QString pixmapName = uniqueName(QLatin1String("combobox"), option, comboBox->rect.size());
-+ if (sunken)
-+ pixmapName += QLatin1String("-sunken");
-+ if (comboBox->editable)
-+ pixmapName += QLatin1String("-editable");
-+ if (isEnabled)
-+ pixmapName += QLatin1String("-enabled");
-+
-+ if (!UsePixmapCache || !QPixmapCache::find(pixmapName, cache)) {
-+ cache = QPixmap(comboBox->rect.size());
-+ cache.fill(Qt::transparent);
-+ QPainter cachePainter(&cache);
-+ QRect pixmapRect(0, 0, comboBox->rect.width(), comboBox->rect.height());
-+ QStyleOptionComboBox comboBoxCopy = *comboBox;
-+ comboBoxCopy.rect = pixmapRect;
-+
-+ QRect rect = pixmapRect;
-+ QRect downArrowRect = subControlRect(CC_ComboBox, &comboBoxCopy,
-+ SC_ComboBoxArrow, widget);
-+ QRect editRect = subControlRect(CC_ComboBox, &comboBoxCopy,
-+ SC_ComboBoxEditField, widget);
-+ // Draw a push button
-+ if (comboBox->editable) {
-+ QStyleOptionFrame buttonOption;
-+ buttonOption.QStyleOption::operator=(*comboBox);
-+ buttonOption.rect = rect;
-+ buttonOption.state = comboBox->state & (State_Enabled | State_MouseOver);
-+
-+ if (sunken) {
-+ buttonOption.state |= State_Sunken;
-+ buttonOption.state &= ~State_MouseOver;
-+ }
-+
-+ drawPrimitive(PE_PanelButtonCommand, &buttonOption, &cachePainter, widget);
-+
-+ if (isEnabled) {
-+ if(comboBox->state & State_HasFocus)
-+ cachePainter.setPen(QPen(mkQColor(ui_color(B_NAVIGATION_BASE_COLOR)), 0));
-+ else
-+ cachePainter.setPen(QPen(QColor(129,129,129), 0));
-+ cachePainter.drawRect(rect.adjusted(2, 2, -3, -2));
-+ } else {
-+ QColor buttonBgColor = mkQColor(tint_color(ui_color(B_PANEL_BACKGROUND_COLOR), B_LIGHTEN_1_TINT));
-+ QColor dark1BorderColor = mkQColor(tint_color(ui_color(B_PANEL_BACKGROUND_COLOR), B_DARKEN_1_TINT));
-+ cachePainter.fillRect(rect, option->palette.background());
-+ cachePainter.fillRect(rect.adjusted(2, 2, -3, -2), buttonBgColor);
-+ cachePainter.setPen(QPen(dark1BorderColor, 0));
-+ cachePainter.drawRect(rect.adjusted(2, 2, -3, -2));
-+ }
-+ } else {
-+ QStyleOptionButton buttonOption;
-+ buttonOption.QStyleOption::operator=(*comboBox);
-+ buttonOption.rect = rect;
-+ buttonOption.state = comboBox->state & (State_Enabled | State_MouseOver);
-+ if (sunken) {
-+ buttonOption.state |= State_Sunken;
-+ buttonOption.state &= ~State_MouseOver;
-+ }
-+ drawPrimitive(PE_PanelButtonCommand, &buttonOption, &cachePainter, widget);
-+
-+ cachePainter.setPen(buttonShadow.darker(102));
-+ int borderSize = 4;
-+
-+ if (!sunken) {
-+ if (comboBox->direction == Qt::RightToLeft) {
-+ cachePainter.drawLine(QPoint(downArrowRect.right() + 1, downArrowRect.top() + borderSize),
-+ QPoint(downArrowRect.right() + 1, downArrowRect.bottom() - borderSize));
-+ cachePainter.setPen(option->palette.light().color());
-+ cachePainter.drawLine(QPoint(downArrowRect.right(), downArrowRect.top() + borderSize),
-+ QPoint(downArrowRect.right(), downArrowRect.bottom() - borderSize));
-+ } else {
-+ cachePainter.drawLine(QPoint(downArrowRect.left() - 1, downArrowRect.top() + borderSize),
-+ QPoint(downArrowRect.left() - 1, downArrowRect.bottom() - borderSize));
-+ cachePainter.setPen(option->palette.light().color());
-+ cachePainter.drawLine(QPoint(downArrowRect.left() , downArrowRect.top() + borderSize),
-+ QPoint(downArrowRect.left() , downArrowRect.bottom() - borderSize));
-+ }
-+ } else {
-+ cachePainter.setPen(dark.lighter(110));
-+ if (comboBox->direction == Qt::RightToLeft) {
-+ cachePainter.drawLine(QPoint(downArrowRect.right() + 1, downArrowRect.top() + borderSize),
-+ QPoint(downArrowRect.right() + 1, downArrowRect.bottom() - borderSize));
-+
-+ } else {
-+ cachePainter.drawLine(QPoint(downArrowRect.left() - 1, downArrowRect.top() + borderSize),
-+ QPoint(downArrowRect.left() - 1, downArrowRect.bottom() - borderSize));
-+ }
-+ }
-+ }
-+
-+
-+ if (comboBox->subControls & SC_ComboBoxArrow) {
-+ if (comboBox->editable) {
-+ // Draw the down arrow
-+ QImage downArrow(qt_scrollbar_button_arrow_down);
-+ downArrow.setColor(1, comboBox->palette.foreground().color().rgba());
-+ cachePainter.drawImage(downArrowRect.center().x() - downArrow.width() / 2,
-+ downArrowRect.center().y() - downArrow.height() / 2 + 1, downArrow);
-+ } else {
-+ // Draw the up/down arrow
-+ QImage upArrow(qt_scrollbar_button_arrow_up);
-+ upArrow.setColor(1, comboBox->palette.foreground().color().rgba());
-+ QImage downArrow(qt_scrollbar_button_arrow_down);
-+ downArrow.setColor(1, comboBox->palette.foreground().color().rgba());
-+ cachePainter.drawImage(downArrowRect.center().x() - downArrow.width() / 2,
-+ downArrowRect.center().y() - upArrow.height() - 1 , upArrow);
-+ cachePainter.drawImage(downArrowRect.center().x() - downArrow.width() / 2,
-+ downArrowRect.center().y() + 2, downArrow);
-+ }
-+ }
-+ // Draw the focus rect
-+ if ((focus && (option->state & State_KeyboardFocusChange)) && !comboBox->editable) {
-+ QStyleOptionFocusRect focus;
-+ focus.rect = subControlRect(CC_ComboBox, &comboBoxCopy, SC_ComboBoxEditField, widget)
-+ .adjusted(0, 2, option->direction == Qt::RightToLeft ? 1 : -1, -2);
-+ drawPrimitive(PE_FrameFocusRect, &focus, &cachePainter, widget);
-+ }
-+ cachePainter.end();
-+ if (UsePixmapCache)
-+ QPixmapCache::insert(pixmapName, cache);
-+ }
-+ painter->drawPixmap(comboBox->rect.topLeft(), cache);
-+ }
-+ painter->restore();
-+ break;
-+#endif // QT_NO_COMBOBOX
-+#ifndef QT_NO_GROUPBOX
-+ case CC_GroupBox:
-+ painter->save();
-+ if (const QStyleOptionGroupBox *groupBox = qstyleoption_cast(option)) {
-+ QRect textRect = subControlRect(CC_GroupBox, groupBox, SC_GroupBoxLabel, widget);
-+ QRect checkBoxRect = subControlRect(CC_GroupBox, groupBox, SC_GroupBoxCheckBox, widget);
-+ bool flat = groupBox->features & QStyleOptionFrameV2::Flat;
-+
-+ if(!flat) {
-+ if (groupBox->subControls & QStyle::SC_GroupBoxFrame) {
-+ QStyleOptionFrameV2 frame;
-+ frame.QStyleOption::operator=(*groupBox);
-+ frame.features = groupBox->features;
-+ frame.lineWidth = groupBox->lineWidth;
-+ frame.midLineWidth = groupBox->midLineWidth;
-+ frame.rect = subControlRect(CC_GroupBox, option, SC_GroupBoxFrame, widget);
-+
-+ painter->save();
-+ QRegion region(groupBox->rect);
-+ bool ltr = groupBox->direction == Qt::LeftToRight;
-+ region -= checkBoxRect.united(textRect).adjusted(ltr ? -4 : 0, 0, ltr ? 0 : 4, 0);
-+ if (!groupBox->text.isEmpty() || groupBox->subControls & SC_GroupBoxCheckBox)
-+ painter->setClipRegion(region);
-+ frame.palette.setBrush(QPalette::Dark, option->palette.mid().color().lighter(110));
-+ drawPrimitive(PE_FrameGroupBox, &frame, painter);
-+ painter->restore();
-+ }
-+ }
-+ // Draw title
-+ if ((groupBox->subControls & QStyle::SC_GroupBoxLabel) && !groupBox->text.isEmpty()) {
-+ if (!groupBox->text.isEmpty()) {
-+ QColor textColor = groupBox->textColor;
-+ if (textColor.isValid())
-+ painter->setPen(textColor);
-+ int alignment = int(groupBox->textAlignment);
-+ if (!styleHint(QStyle::SH_UnderlineShortcut, option, widget))
-+ alignment |= Qt::TextHideMnemonic;
-+ if (flat) {
-+ QFont font = painter->font();
-+ font.setBold(true);
-+ painter->setFont(font);
-+ if (groupBox->subControls & SC_GroupBoxCheckBox) {
-+ textRect.adjust(checkBoxRect.right() + 4, 0, checkBoxRect.right() + 4, 0);
-+ }
-+ }
-+ painter->drawText(textRect, Qt::TextShowMnemonic | Qt::AlignLeft| alignment, groupBox->text);
-+ }
-+ }
-+ if (groupBox->subControls & SC_GroupBoxCheckBox) {
-+ QStyleOptionButton box;
-+ box.QStyleOption::operator=(*groupBox);
-+ box.rect = checkBoxRect;
-+ drawPrimitive(PE_IndicatorCheckBox, &box, painter, widget);
-+ }
-+ }
-+ painter->restore();
-+ break;
-+#endif // QT_NO_GROUPBOX
-+#ifndef QT_NO_SLIDER
-+ case CC_Slider:
-+ painter->save();
-+ if (const QStyleOptionSlider *slider = qstyleoption_cast(option)) {
-+ QRect groove = subControlRect(CC_Slider, option, SC_SliderGroove, widget);
-+ QRect handle = subControlRect(CC_Slider, option, SC_SliderHandle, widget);
-+ QRect ticks = subControlRect(CC_Slider, option, SC_SliderTickmarks, widget);
-+
-+ bool ticksAbove = slider->tickPosition & QSlider::TicksAbove;
-+ bool ticksBelow = slider->tickPosition & QSlider::TicksBelow;
-+
-+ orientation orient = slider->orientation == Qt::Horizontal?B_HORIZONTAL:B_VERTICAL;
-+
-+ if (be_control_look != NULL) {
-+ QRect r = groove;
-+ rgb_color base = ui_color(B_PANEL_BACKGROUND_COLOR);
-+ rgb_color fill_color = ui_color(B_PANEL_BACKGROUND_COLOR);
-+ uint32 flags = 0;
-+
-+ BRect bRect(0.0f, 0.0f, option->rect.width() - 1, option->rect.height() - 1);
-+ TemporarySurface surface(bRect);
-+
-+ surface.view()->SetHighColor(base);
-+ surface.view()->SetLowColor(base);
-+ surface.view()->FillRect(bRect);
-+
-+ if ((option->subControls & SC_SliderGroove) && groove.isValid()) {
-+ r = groove;
-+ bRect = BRect(r.x(), r.y(), r.x()+r.width(), r.y()+r.height());
-+ be_control_look->DrawSliderBar(surface.view(), bRect, bRect, base, fill_color, flags, orient);
-+ painter->drawImage(r, surface.image());
-+ }
-+
-+ if (option->subControls & SC_SliderTickmarks) {
-+ int mlocation = B_HASH_MARKS_NONE;
-+ if(ticksAbove)mlocation|=B_HASH_MARKS_TOP;
-+ if(ticksBelow)mlocation|=B_HASH_MARKS_BOTTOM;
-+ int interval = slider->tickInterval<=0?1:slider->tickInterval;
-+ int num = 1+((slider->maximum-slider->minimum)/interval);
-+ int len = pixelMetric(PM_SliderLength, slider, widget)/2;
-+ r=(orient==B_HORIZONTAL)?option->rect.adjusted(len,0,-len,0):option->rect.adjusted(0,len,0,-len);
-+ bRect = BRect(r.x(), r.y(), r.x()+r.width(), r.y()+r.height());
-+ be_control_look->DrawSliderHashMarks(surface.view(), bRect, bRect, base, num, (hash_mark_location)mlocation, flags, orient);
-+ }
-+
-+ if (option->subControls & SC_SliderHandle ) {
-+ r=handle.adjusted(1,1,0,0);
-+ bRect = BRect(r.x(), r.y(), r.x()+r.width(), r.y()+r.height());
-+ be_control_look->DrawSliderThumb(surface.view(), bRect, bRect, base, flags, orient);
-+ }
-+
-+ painter->drawImage(slider->rect, surface.image());
-+ }
-+
-+ painter->restore();
-+ }
-+ break;
-+#endif // QT_NO_SLIDER
-+ case CC_ToolButton:
-+ {
-+ if (const QStyleOptionToolButton *toolbutton
-+ = qstyleoption_cast(option)) {
-+ QRect button;
-+ bool flat = !(widget ? qobject_cast(widget->parentWidget()) : 0);
-+ bool flat2 = toolbutton->features & QStyleOptionFrameV2::Flat;
-+ bool enabled = toolbutton->state & State_Enabled;
-+ bool pushed = (toolbutton->state & State_Sunken) || (toolbutton->state & State_On);
-+
-+ button = subControlRect(control, toolbutton, SC_ToolButton, widget);
-+
-+ painter->save();
-+ if(flat || flat2 || pushed) {
-+ qt_haiku_draw_button(painter,button,false,false,pushed,false,enabled);
-+ }
-+
-+ painter->restore();
-+ }
-+ QWindowsStyle::drawComplexControl(control, option, painter, widget);
-+ }
-+ break;
-+ default:
-+ QWindowsStyle::drawComplexControl(control, option, painter, widget);
-+ break;
-+ }
-+}
-+
-+/*!
-+ \reimp
-+*/
-+int QHaikuStyle::pixelMetric(PixelMetric metric, const QStyleOption *option, const QWidget *widget) const
-+{
-+ int ret = -1;
-+ switch (metric) {
-+ case PM_ButtonDefaultIndicator:
-+ ret = 0;
-+ break;
-+ case PM_ButtonShiftHorizontal:
-+ case PM_ButtonShiftVertical:
-+ ret = 0;
-+ break;
-+ case PM_MessageBoxIconSize:
-+ ret = 48;
-+ break;
-+ case PM_ListViewIconSize:
-+ ret = 24;
-+ break;
-+ case PM_DialogButtonsSeparator:
-+ case PM_SplitterWidth:
-+ ret = 6;
-+ break;
-+ case PM_ScrollBarSliderMin:
-+ ret = 26;
-+ break;
-+ case PM_MenuPanelWidth: //menu framewidth
-+ ret = 2;
-+ break;
-+ case PM_TitleBarHeight:
-+ ret = 24;
-+ break;
-+ case PM_ScrollBarExtent:
-+ ret = 15;
-+ break;
-+ case PM_SliderThickness:
-+ ret = 14;
-+ break;
-+ case PM_SliderLength:
-+ ret = 18;
-+ break;
-+ case PM_DockWidgetTitleMargin:
-+ ret = 1;
-+ break;
-+ case PM_MenuBarVMargin:
-+ ret = 1;
-+ break;
-+ case PM_DefaultFrameWidth:
-+ ret = 2;
-+ break;
-+ case PM_SpinBoxFrameWidth:
-+ ret = 3;
-+ break;
-+ case PM_MenuBarItemSpacing:
-+ ret = 6;
-+ case PM_MenuBarHMargin:
-+ ret = 0;
-+ break;
-+ case PM_ToolBarHandleExtent:
-+ ret = 9;
-+ break;
-+ case PM_ToolBarItemSpacing:
-+ ret = 2;
-+ break;
-+ case PM_ToolBarFrameWidth:
-+ ret = 0;
-+ break;
-+ case PM_ToolBarItemMargin:
-+ ret = 1;
-+ break;
-+ case PM_SmallIconSize:
-+ ret = 16;
-+ break;
-+ case PM_ButtonIconSize:
-+ ret = 24;
-+ break;
-+ case PM_MenuVMargin:
-+ case PM_MenuHMargin:
-+ ret = 0;
-+ break;
-+ case PM_DockWidgetTitleBarButtonMargin:
-+ ret = 4;
-+ break;
-+ case PM_MaximumDragDistance:
-+ return -1;
-+ case PM_TabCloseIndicatorWidth:
-+ case PM_TabCloseIndicatorHeight:
-+ return 20;
-+ default:
-+ break;
-+ }
-+
-+ return ret != -1 ? ret : QWindowsStyle::pixelMetric(metric, option, widget);
-+}
-+
-+/*!
-+ \reimp
-+*/
-+QSize QHaikuStyle::sizeFromContents(ContentsType type, const QStyleOption *option,
-+ const QSize &size, const QWidget *widget) const
-+{
-+ QSize newSize = QWindowsStyle::sizeFromContents(type, option, size, widget);
-+ switch (type) {
-+ case CT_PushButton:
-+ if (const QStyleOptionButton *btn = qstyleoption_cast(option)) {
-+ if (!btn->text.isEmpty() && newSize.width() < 80)
-+ newSize.setWidth(80);
-+/* if (!btn->icon.isNull() && btn->iconSize.height() > 16)
-+ newSize -= QSize(0, 2);*/
-+ }
-+ if (const QPushButton *button = qobject_cast(widget)) {
-+ if (qobject_cast(button->parentWidget())) {
-+ if (newSize.height() < 32)
-+ newSize.setHeight(32);
-+ }
-+ }
-+ break;
-+ case CT_GroupBox:
-+ case CT_RadioButton:
-+ case CT_CheckBox:
-+ newSize += QSize(3, 2);
-+ break;
-+ case CT_ToolButton:
-+#ifndef QT_NO_TOOLBAR
-+ if (widget && qobject_cast(widget->parentWidget()))
-+ newSize += QSize(4, 6);
-+#endif // QT_NO_TOOLBAR
-+ break;
-+ case CT_SpinBox:
-+ newSize += QSize(0, -2);
-+ break;
-+ case CT_ComboBox:
-+ newSize += QSize(1, 4);
-+ break;
-+ case CT_LineEdit:
-+ newSize += QSize(0, 2);
-+ break;
-+ case CT_MenuBarItem:
-+ newSize += QSize(0, -2);
-+ break;
-+ case CT_MenuItem:
-+ if (const QStyleOptionMenuItem *menuItem = qstyleoption_cast(option)) {
-+ if (menuItem->menuItemType == QStyleOptionMenuItem::Separator) {
-+ if (!menuItem->text.isEmpty()) {
-+ newSize.setHeight(menuItem->fontMetrics.lineSpacing());
-+ }
-+ }
-+#ifndef QT_NO_COMBOBOX
-+ else if (!menuItem->icon.isNull()) {
-+ if (const QComboBox *combo = qobject_cast(widget)) {
-+ newSize.setHeight(qMax(combo->iconSize().height() + 2, newSize.height()));
-+ }
-+ }
-+#endif // QT_NO_COMBOBOX
-+ }
-+ break;
-+ case CT_MdiControls:
-+ if (const QStyleOptionComplex *styleOpt = qstyleoption_cast(option)) {
-+ int width = 0;
-+ if (styleOpt->subControls & SC_MdiMinButton)
-+ width += 19 + 1;
-+ if (styleOpt->subControls & SC_MdiNormalButton)
-+ width += 19 + 1;
-+ if (styleOpt->subControls & SC_MdiCloseButton)
-+ width += 19 + 1;
-+ newSize = QSize(width, 19);
-+ } else {
-+ newSize = QSize(60, 19);
-+ }
-+ break;
-+ default:
-+ break;
-+ }
-+ return newSize;
-+}
-+
-+/*!
-+ \reimp
-+*/
-+void QHaikuStyle::polish(QApplication *app)
-+{
-+ QWindowsStyle::polish(app);
-+}
-+
-+/*!
-+ \reimp
-+*/
-+void QHaikuStyle::polish(QWidget *widget)
-+{
-+ QWindowsStyle::polish(widget);
-+ if (qobject_cast(widget)
-+#ifndef QT_NO_COMBOBOX
-+ || qobject_cast(widget)
-+#endif
-+#ifndef QT_NO_PROGRESSBAR
-+ || qobject_cast(widget)
-+#endif
-+#ifndef QT_NO_SCROLLBAR
-+ || qobject_cast(widget)
-+#endif
-+#ifndef QT_NO_SPLITTER
-+ || qobject_cast(widget)
-+#endif
-+ || qobject_cast(widget)
-+#ifndef QT_NO_SPINBOX
-+ || qobject_cast(widget)
-+#endif
-+ || (widget->inherits("QWorkspaceChild"))
-+ || (widget->inherits("QDockSeparator"))
-+ || (widget->inherits("QDockWidgetSeparator"))
-+ ) {
-+ widget->setAttribute(Qt::WA_Hover, true);
-+ }
-+}
-+
-+/*!
-+ \reimp
-+*/
-+void QHaikuStyle::polish(QPalette &pal)
-+{
-+ QWindowsStyle::polish(pal);
-+ //this is a workaround for some themes such as Human, where the contrast
-+ //between text and background is too low.
-+ QColor highlight = pal.highlight().color();
-+ QColor highlightText = pal.highlightedText().color();
-+ if (qAbs(qGray(highlight.rgb()) - qGray(highlightText.rgb())) < 150) {
-+ if (qGray(highlightText.rgb()) < 128)
-+ pal.setBrush(QPalette::Highlight, highlight.lighter(145));
-+ }
-+}
-+
-+/*!
-+ \reimp
-+*/
-+void QHaikuStyle::unpolish(QWidget *widget)
-+{
-+ QWindowsStyle::unpolish(widget);
-+ if (qobject_cast(widget)
-+#ifndef QT_NO_COMBOBOX
-+ || qobject_cast(widget)
-+#endif
-+#ifndef QT_NO_PROGRESSBAR
-+ || qobject_cast(widget)
-+#endif
-+#ifndef QT_NO_SCROLLBAR
-+ || qobject_cast(widget)
-+#endif
-+#ifndef QT_NO_SPLITTER
-+ || qobject_cast(widget)
-+#endif
-+ || qobject_cast(widget)
-+#ifndef QT_NO_SPINBOX
-+ || qobject_cast(widget)
-+#endif
-+ || (widget->inherits("QWorkspaceChild"))
-+ || (widget->inherits("QDockSeparator"))
-+ || (widget->inherits("QDockWidgetSeparator"))
-+ ) {
-+ widget->setAttribute(Qt::WA_Hover, false);
-+ }
-+}
-+
-+/*!
-+ \reimp
-+*/
-+void QHaikuStyle::unpolish(QApplication *app)
-+{
-+ QWindowsStyle::unpolish(app);
-+}
-+
-+/*!
-+ \reimp
-+*/
-+QRect QHaikuStyle::subControlRect(ComplexControl control, const QStyleOptionComplex *option,
-+ SubControl subControl, const QWidget *widget) const
-+{
-+ QRect rect = QWindowsStyle::subControlRect(control, option, subControl, widget);
-+
-+ switch (control) {
-+#ifndef QT_NO_SLIDER
-+ case CC_Slider:
-+ if (const QStyleOptionSlider *slider = qstyleoption_cast(option)) {
-+ int tickSize = pixelMetric(PM_SliderTickmarkOffset, option, widget);
-+ switch (subControl) {
-+ case SC_SliderHandle: {
-+ if (slider->orientation == Qt::Horizontal) {
-+ rect.setHeight(pixelMetric(PM_SliderThickness));
-+ rect.setWidth(pixelMetric(PM_SliderLength));
-+ int centerY = slider->rect.center().y() - rect.height() / 2;
-+ if (slider->tickPosition & QSlider::TicksAbove)
-+ centerY += tickSize;
-+ if (slider->tickPosition & QSlider::TicksBelow)
-+ centerY -= tickSize;
-+ rect.moveTop(centerY);
-+ } else {
-+ rect.setWidth(pixelMetric(PM_SliderThickness));
-+ rect.setHeight(pixelMetric(PM_SliderLength));
-+ int centerX = slider->rect.center().x() - rect.width() / 2;
-+ if (slider->tickPosition & QSlider::TicksAbove)
-+ centerX += tickSize;
-+ if (slider->tickPosition & QSlider::TicksBelow)
-+ centerX -= tickSize;
-+ rect.moveLeft(centerX);
-+ }
-+ }
-+ break;
-+ case SC_SliderGroove: {
-+ QPoint grooveCenter = slider->rect.center();
-+ if (slider->orientation == Qt::Horizontal) {
-+ rect.setHeight(7);
-+ if (slider->tickPosition & QSlider::TicksAbove)
-+ grooveCenter.ry() += tickSize;
-+ if (slider->tickPosition & QSlider::TicksBelow)
-+ grooveCenter.ry() -= tickSize;
-+ } else {
-+ rect.setWidth(7);
-+ if (slider->tickPosition & QSlider::TicksAbove)
-+ grooveCenter.rx() += tickSize;
-+ if (slider->tickPosition & QSlider::TicksBelow)
-+ grooveCenter.rx() -= tickSize;
-+ }
-+ rect.moveCenter(grooveCenter);
-+ break;
-+ }
-+ default:
-+ break;
-+ }
-+ }
-+ break;
-+#endif // QT_NO_SLIDER
-+ case CC_ScrollBar:
-+ break;
-+#ifndef QT_NO_SPINBOX
-+ case CC_SpinBox:
-+ if (const QStyleOptionSpinBox *spinbox = qstyleoption_cast(option)) {
-+ QSize bs;
-+ int center = spinbox->rect.height() / 2;
-+ int fw = spinbox->frame ? pixelMetric(PM_SpinBoxFrameWidth, spinbox, widget) : 0;
-+ int y = fw;
-+ bs.setHeight(qMax(8, spinbox->rect.height()/2 - y));
-+ bs.setWidth(15);
-+ int x, lx, rx;
-+ x = spinbox->rect.width() - y - bs.width() + 2;
-+ lx = fw;
-+ rx = x - fw;
-+ switch (subControl) {
-+ case SC_SpinBoxUp:
-+ if (spinbox->buttonSymbols == QAbstractSpinBox::NoButtons)
-+ return QRect();
-+ rect = QRect(x, fw, bs.width(), center - fw);
-+ break;
-+ case SC_SpinBoxDown:
-+ if (spinbox->buttonSymbols == QAbstractSpinBox::NoButtons)
-+ return QRect();
-+
-+ rect = QRect(x, center, bs.width(), spinbox->rect.bottom() - center - fw + 1);
-+ break;
-+ case SC_SpinBoxEditField:
-+ if (spinbox->buttonSymbols == QAbstractSpinBox::NoButtons) {
-+ rect = QRect(lx, fw, spinbox->rect.width() - 2*fw, spinbox->rect.height() - 2*fw);
-+ } else {
-+ rect = QRect(lx, fw, rx - qMax(fw - 1, 0), spinbox->rect.height() - 2*fw);
-+ }
-+ break;
-+ case SC_SpinBoxFrame:
-+ rect = spinbox->rect;
-+ default:
-+ break;
-+ }
-+ rect = visualRect(spinbox->direction, spinbox->rect, rect);
-+ }
-+ break;
-+#endif // Qt_NO_SPINBOX
-+#ifndef QT_NO_GROUPBOX
-+ case CC_GroupBox:
-+ if (const QStyleOptionGroupBox *groupBox = qstyleoption_cast(option)) {
-+ int topMargin = 0;
-+ int topHeight = 0;
-+ int verticalAlignment = styleHint(SH_GroupBox_TextLabelVerticalAlignment, groupBox, widget);
-+ bool flat = groupBox->features & QStyleOptionFrameV2::Flat;
-+ if (!groupBox->text.isEmpty()) {
-+ topHeight = groupBox->fontMetrics.height();
-+ if (verticalAlignment & Qt::AlignVCenter)
-+ topMargin = topHeight / 2;
-+ else if (verticalAlignment & Qt::AlignTop)
-+ topMargin = topHeight;
-+ }
-+ QRect frameRect = groupBox->rect;
-+ frameRect.setTop(topMargin);
-+ if (subControl == SC_GroupBoxFrame) {
-+ return rect;
-+ }
-+ else if (subControl == SC_GroupBoxContents) {
-+ if( flat ) {
-+ int margin = 0;
-+ int leftMarginExtension = 16;
-+ rect = frameRect.adjusted(leftMarginExtension + margin, margin + topHeight, -margin, -margin);
-+ }
-+ break;
-+ }
-+ if(flat) {
-+ if (const QGroupBox *groupBoxWidget = qobject_cast(widget)) {
-+ //Prepare metrics for a bold font
-+ QFont font = widget->font();
-+ font.setBold(true);
-+ QFontMetrics fontMetrics(font);
-+
-+ QSize textRect = fontMetrics.boundingRect(groupBoxWidget->title()).size() + QSize(2, 2);
-+ if (subControl == SC_GroupBoxCheckBox) {
-+ int indicatorWidth = pixelMetric(PM_IndicatorWidth, option, widget);
-+ int indicatorHeight = pixelMetric(PM_IndicatorHeight, option, widget);
-+ rect.setWidth(indicatorWidth);
-+ rect.setHeight(indicatorHeight);
-+ rect.moveTop((fontMetrics.height() - indicatorHeight) / 2 + 2);
-+ } else if (subControl == SC_GroupBoxLabel) {
-+ rect.setSize(textRect);
-+ }
-+ }
-+ }
-+ }
-+ return rect;
-+#ifndef QT_NO_COMBOBOX
-+ case CC_ComboBox:
-+ switch (subControl) {
-+ case SC_ComboBoxArrow:
-+ rect = visualRect(option->direction, option->rect, rect);
-+ rect.setRect(rect.right() - 15, rect.top() - 2,
-+ 16, rect.height() + 4);
-+ rect = visualRect(option->direction, option->rect, rect);
-+ break;
-+ case SC_ComboBoxEditField: {
-+ int frameWidth = pixelMetric(PM_DefaultFrameWidth)+1;
-+ rect = visualRect(option->direction, option->rect, rect);
-+ rect.setRect(option->rect.left() + frameWidth, option->rect.top() + frameWidth,
-+ option->rect.width() - 16 - 2 * frameWidth,
-+ option->rect.height() - 2 * frameWidth);
-+ if (const QStyleOptionComboBox *box = qstyleoption_cast(option)) {
-+ if (!box->editable) {
-+ rect.adjust(2, 0, 0, 0);
-+ if (box->state & (State_Sunken | State_On))
-+ rect.translate(1, 1);
-+ }
-+ }
-+ rect = visualRect(option->direction, option->rect, rect);
-+ break;
-+ }
-+ default:
-+ break;
-+ }
-+ break;
-+#endif // QT_NO_COMBOBOX
-+#endif //QT_NO_GROUPBOX
-+ case CC_TitleBar:
-+ if (const QStyleOptionTitleBar *tb = qstyleoption_cast(option)) {
-+ SubControl sc = subControl;
-+ QRect &ret = rect;
-+ const int indent = 3;
-+ const int controlTopMargin = 3;
-+ const int controlBottomMargin = 3;
-+ const int controlWidthMargin = 2;
-+ const int controlHeight = tb->rect.height() - controlTopMargin - controlBottomMargin ;
-+ const int delta = controlHeight + controlWidthMargin;
-+ int offset = 0;
-+
-+ bool isMinimized = tb->titleBarState & Qt::WindowMinimized;
-+ bool isMaximized = tb->titleBarState & Qt::WindowMaximized;
-+
-+ switch (sc) {
-+ case SC_TitleBarLabel:
-+ if (tb->titleBarFlags & (Qt::WindowTitleHint | Qt::WindowSystemMenuHint)) {
-+ ret = tb->rect;
-+ if (tb->titleBarFlags & Qt::WindowSystemMenuHint)
-+ ret.adjust(delta, 0, -delta, 0);
-+ if (tb->titleBarFlags & Qt::WindowMinimizeButtonHint)
-+ ret.adjust(0, 0, -delta, 0);
-+ if (tb->titleBarFlags & Qt::WindowMaximizeButtonHint)
-+ ret.adjust(0, 0, -delta, 0);
-+ if (tb->titleBarFlags & Qt::WindowShadeButtonHint)
-+ ret.adjust(0, 0, -delta, 0);
-+ if (tb->titleBarFlags & Qt::WindowContextHelpButtonHint)
-+ ret.adjust(0, 0, -delta, 0);
-+ }
-+ break;
-+ case SC_TitleBarContextHelpButton:
-+ if (tb->titleBarFlags & Qt::WindowContextHelpButtonHint)
-+ offset += delta;
-+ case SC_TitleBarMinButton:
-+ if (!isMinimized && (tb->titleBarFlags & Qt::WindowMinimizeButtonHint))
-+ offset += delta;
-+ else if (sc == SC_TitleBarMinButton)
-+ break;
-+ case SC_TitleBarNormalButton:
-+ if (isMinimized && (tb->titleBarFlags & Qt::WindowMinimizeButtonHint))
-+ offset += delta;
-+ else if (isMaximized && (tb->titleBarFlags & Qt::WindowMaximizeButtonHint))
-+ offset += delta;
-+ else if (sc == SC_TitleBarNormalButton)
-+ break;
-+ case SC_TitleBarMaxButton:
-+ if (!isMaximized && (tb->titleBarFlags & Qt::WindowMaximizeButtonHint))
-+ offset += delta;
-+ else if (sc == SC_TitleBarMaxButton)
-+ break;
-+ case SC_TitleBarShadeButton:
-+ if (!isMinimized && (tb->titleBarFlags & Qt::WindowShadeButtonHint))
-+ offset += delta;
-+ else if (sc == SC_TitleBarShadeButton)
-+ break;
-+ case SC_TitleBarUnshadeButton:
-+ if (isMinimized && (tb->titleBarFlags & Qt::WindowShadeButtonHint))
-+ offset += delta;
-+ else if (sc == SC_TitleBarUnshadeButton)
-+ break;
-+ case SC_TitleBarCloseButton:
-+ if (tb->titleBarFlags & Qt::WindowSystemMenuHint)
-+ offset += delta;
-+ else if (sc == SC_TitleBarCloseButton)
-+ break;
-+ ret.setRect(tb->rect.right() - indent - offset, tb->rect.top() + controlTopMargin,
-+ controlHeight, controlHeight);
-+ break;
-+ case SC_TitleBarSysMenu:
-+ if (tb->titleBarFlags & Qt::WindowSystemMenuHint) {
-+ ret.setRect(tb->rect.left() + controlWidthMargin + indent, tb->rect.top() + controlTopMargin,
-+ controlHeight, controlHeight);
-+ }
-+ break;
-+ default:
-+ break;
-+ }
-+ ret = visualRect(tb->direction, tb->rect, ret);
-+ }
-+ break;
-+ default:
-+ break;
-+ }
-+
-+ return rect;
-+}
-+
-+
-+/*!
-+ \reimp
-+*/
-+QRect QHaikuStyle::itemPixmapRect(const QRect &r, int flags, const QPixmap &pixmap) const
-+{
-+ return QWindowsStyle::itemPixmapRect(r, flags, pixmap);
-+}
-+
-+/*!
-+ \reimp
-+*/
-+void QHaikuStyle::drawItemPixmap(QPainter *painter, const QRect &rect,
-+ int alignment, const QPixmap &pixmap) const
-+{
-+ QWindowsStyle::drawItemPixmap(painter, rect, alignment, pixmap);
-+}
-+
-+/*!
-+ \reimp
-+*/
-+QStyle::SubControl QHaikuStyle::hitTestComplexControl(ComplexControl cc, const QStyleOptionComplex *opt,
-+ const QPoint &pt, const QWidget *w) const
-+{
-+ return QWindowsStyle::hitTestComplexControl(cc, opt, pt, w);
-+}
-+
-+/*!
-+ \reimp
-+*/
-+QPixmap QHaikuStyle::generatedIconPixmap(QIcon::Mode iconMode, const QPixmap &pixmap,
-+ const QStyleOption *opt) const
-+{
-+ return QWindowsStyle::generatedIconPixmap(iconMode, pixmap, opt);
-+}
-+
-+/*!
-+ \reimp
-+*/
-+int QHaikuStyle::styleHint(StyleHint hint, const QStyleOption *option, const QWidget *widget,
-+ QStyleHintReturn *returnData) const
-+{
-+ int ret = 0;
-+ switch (hint) {
-+ case SH_ScrollBar_MiddleClickAbsolutePosition:
-+ ret = true;
-+ break;
-+ case SH_EtchDisabledText:
-+ ret = 1;
-+ break;
-+ case SH_Menu_AllowActiveAndDisabled:
-+ ret = false;
-+ break;
-+ case SH_MainWindow_SpaceBelowMenuBar:
-+ ret = 0;
-+ break;
-+ case SH_MenuBar_MouseTracking:
-+ ret = 1;
-+ break;
-+ case SH_TitleBar_AutoRaise:
-+ ret = 1;
-+ break;
-+ case SH_TitleBar_NoBorder:
-+ ret = 1;
-+ break;
-+ case SH_ItemView_ShowDecorationSelected:
-+ ret = true;
-+ break;
-+ case SH_Table_GridLineColor:
-+ if (option) {
-+ ret = option->palette.background().color().darker(120).rgb();
-+ break;
-+ }
-+ case SH_ComboBox_Popup:
-+#ifdef QT3_SUPPORT
-+ if (widget && widget->inherits("Q3ComboBox"))
-+ return 0;
-+#endif
-+ if (const QStyleOptionComboBox *cmb = qstyleoption_cast