summaryrefslogtreecommitdiffstats
path: root/src/gui/kernel
diff options
context:
space:
mode:
authorQt Continuous Integration System <qt-info@nokia.com>2010-03-22 10:24:09 (GMT)
committerQt Continuous Integration System <qt-info@nokia.com>2010-03-22 10:24:09 (GMT)
commitda7c6cc8995f063435b25938ac10739a6e7f0067 (patch)
tree2f000c68138087b035cf29e31620cac2acd41f2d /src/gui/kernel
parent3ba4e43507cc2ca1f642a45aec4fda4bd3572678 (diff)
parente48850c6ec90cd5eaa95d07573c2afa1a1c4f67f (diff)
downloadQt-da7c6cc8995f063435b25938ac10739a6e7f0067.zip
Qt-da7c6cc8995f063435b25938ac10739a6e7f0067.tar.gz
Qt-da7c6cc8995f063435b25938ac10739a6e7f0067.tar.bz2
Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-s60-public into 4.7-integration
* '4.7' of scm.dev.nokia.troll.no:qt/qt-s60-public: (36 commits) Fixed updating the VKB display when inputting into QGraphicsWebView. Switched out QT_SOURCE_TREE, which is not defined for user apps. QS60Style: All itemviews should indicate selection with tick mark QS60Style assert fails to detect an index failure QScriptClass-implemented constructors lead to application crash Improve test coverage of QScriptClass::Callable extension Change fromSymbianRSgImage() to use the newer version of RSgImage Removed extra space from the command line passed to QProcess in Symbian installTranslatorFunctions doesn't work for custom global object fix QTabBar scroll button arrow position in Windows mobile style Revert "Optimize getting bearings of a glyph on Windows for true type fonts" stabilize tst_QAccessibility::comboBoxTest Enable s60main.rsc infixing. Improved qt_x11_wait_for_window_manager Virtual Keyboard and double tap for Symbian support Whitespace Better handling for NOTIFY in QGraphicsWidget regarding geometry changes Add NOTIFY to size property so QML bindings are working fine. Implement Q_PRIVATE_PROPERTY that allows you to declare properties Don't assert in QScriptValue::call() ...
Diffstat (limited to 'src/gui/kernel')
-rw-r--r--src/gui/kernel/qapplication.cpp16
-rw-r--r--src/gui/kernel/qtooltip.cpp11
-rw-r--r--src/gui/kernel/qwidget_x11.cpp38
3 files changed, 29 insertions, 36 deletions
diff --git a/src/gui/kernel/qapplication.cpp b/src/gui/kernel/qapplication.cpp
index fea8c37..9fe6c87 100644
--- a/src/gui/kernel/qapplication.cpp
+++ b/src/gui/kernel/qapplication.cpp
@@ -903,6 +903,14 @@ void QApplicationPrivate::initialize()
{
QWidgetPrivate::mapper = new QWidgetMapper;
QWidgetPrivate::allWidgets = new QWidgetSet;
+
+#if !defined(Q_WS_X11) && !defined(Q_WS_QWS)
+ // initialize the graphics system - on X11 this is initialized inside
+ // qt_init() in qapplication_x11.cpp because of several reasons.
+ // On QWS, the graphics system is set by the QScreen plugin.
+ graphics_system = QGraphicsSystemFactory::create(graphics_system_name);
+#endif
+
if (qt_appType != QApplication::Tty)
(void) QApplication::style(); // trigger creation of application style
// trigger registering of QVariant's GUI types
@@ -936,13 +944,7 @@ void QApplicationPrivate::initialize()
// Set up which span functions should be used in raster engine...
qInitDrawhelperAsm();
-
-#if !defined(Q_WS_X11) && !defined(Q_WS_QWS)
- // initialize the graphics system - on X11 this is initialized inside
- // qt_init() in qapplication_x11.cpp because of several reasons.
- // On QWS, the graphics system is set by the QScreen plugin.
- graphics_system = QGraphicsSystemFactory::create(graphics_system_name);
-#endif
+
#ifndef QT_NO_WHEELEVENT
QApplicationPrivate::wheel_scroll_lines = 3;
#endif
diff --git a/src/gui/kernel/qtooltip.cpp b/src/gui/kernel/qtooltip.cpp
index c912129..1343959 100644
--- a/src/gui/kernel/qtooltip.cpp
+++ b/src/gui/kernel/qtooltip.cpp
@@ -368,7 +368,16 @@ void QTipLabel::placeTip(const QPoint &pos, QWidget *w)
#ifdef Q_WS_MAC
- QRect screen = QApplication::desktop()->availableGeometry(getTipScreen(pos, w));
+ // When in full screen mode, there is no Dock nor Menu so we can use
+ // the whole screen for displaying the tooltip. However when not in
+ // full screen mode we need to save space for the dock, so we use
+ // availableGeometry instead.
+ extern bool qt_mac_app_fullscreen; //qapplication_mac.mm
+ QRect screen;
+ if(qt_mac_app_fullscreen)
+ screen = QApplication::desktop()->screenGeometry(getTipScreen(pos, w));
+ else
+ screen = QApplication::desktop()->availableGeometry(getTipScreen(pos, w));
#else
QRect screen = QApplication::desktop()->screenGeometry(getTipScreen(pos, w));
#endif
diff --git a/src/gui/kernel/qwidget_x11.cpp b/src/gui/kernel/qwidget_x11.cpp
index 10fb009..9660de5 100644
--- a/src/gui/kernel/qwidget_x11.cpp
+++ b/src/gui/kernel/qwidget_x11.cpp
@@ -369,7 +369,7 @@ Q_GUI_EXPORT void qt_x11_wait_for_window_manager(QWidget* w)
// ConfigureNotify ... MapNotify ... Expose
enum State {
- Initial, Reparented, Mapped
+ Initial, Mapped
} state = Initial;
do {
@@ -377,33 +377,15 @@ Q_GUI_EXPORT void qt_x11_wait_for_window_manager(QWidget* w)
XNextEvent(X11->display, &ev);
qApp->x11ProcessEvent(&ev);
- if (w->windowFlags() & Qt::X11BypassWindowManagerHint) {
- switch (state) {
- case Initial:
- case Reparented:
- if (ev.type == MapNotify && ev.xany.window == winid)
- state = Mapped;
- break;
- case Mapped:
- if (ev.type == Expose && ev.xany.window == winid)
- return;
- break;
- }
- } else {
- switch (state) {
- case Initial:
- if (ev.type == ReparentNotify && ev.xany.window == winid)
- state = Reparented;
- break;
- case Reparented:
- if (ev.type == MapNotify && ev.xany.window == winid)
- state = Mapped;
- break;
- case Mapped:
- if (ev.type == Expose && ev.xany.window == winid)
- return;
- break;
- }
+ switch (state) {
+ case Initial:
+ if (ev.type == MapNotify && ev.xany.window == winid)
+ state = Mapped;
+ break;
+ case Mapped:
+ if (ev.type == Expose && ev.xany.window == winid)
+ return;
+ break;
}
} else {
if (!XEventsQueued(X11->display, QueuedAfterFlush))