summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorQt Continuous Integration System <qt-info@nokia.com>2011-06-06 14:33:04 (GMT)
committerQt Continuous Integration System <qt-info@nokia.com>2011-06-06 14:33:04 (GMT)
commitb83cadfc3a8edb2769981c3774a1b9aee0608ec7 (patch)
tree0f8aeca7951a2f396703775a0c511cf6d3429d58
parent6783649cd1b3d50febf74f3d1a24e198973c7b21 (diff)
parent40191387a77552b2ba6df547b87de040e126220a (diff)
downloadQt-b83cadfc3a8edb2769981c3774a1b9aee0608ec7.zip
Qt-b83cadfc3a8edb2769981c3774a1b9aee0608ec7.tar.gz
Qt-b83cadfc3a8edb2769981c3774a1b9aee0608ec7.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: Close context menus during orientation change. Have -small-screen enabled in certain examples on Symbian always.
-rw-r--r--demos/deform/main.cpp4
-rw-r--r--demos/pathstroke/main.cpp4
-rw-r--r--examples/draganddrop/fridgemagnets/main.cpp5
-rw-r--r--examples/script/context2d/main.cpp5
-rw-r--r--examples/widgets/wiggly/main.cpp4
-rw-r--r--src/gui/kernel/qapplication_s60.cpp7
6 files changed, 29 insertions, 0 deletions
diff --git a/demos/deform/main.cpp b/demos/deform/main.cpp
index 70e4bec..21ce7fb 100644
--- a/demos/deform/main.cpp
+++ b/demos/deform/main.cpp
@@ -50,7 +50,11 @@ int main(int argc, char **argv)
QApplication app(argc, argv);
+#ifdef Q_OS_SYMBIAN
+ bool smallScreen = true;
+#else
bool smallScreen = QApplication::arguments().contains("-small-screen");
+#endif
PathDeformWidget deformWidget(0, smallScreen);
diff --git a/demos/pathstroke/main.cpp b/demos/pathstroke/main.cpp
index 2e9153f..6d688c3 100644
--- a/demos/pathstroke/main.cpp
+++ b/demos/pathstroke/main.cpp
@@ -48,7 +48,11 @@ int main(int argc, char **argv)
QApplication app(argc, argv);
+#ifdef Q_OS_SYMBIAN
+ bool smallScreen = true;
+#else
bool smallScreen = QApplication::arguments().contains("-small-screen");
+#endif
PathStrokeWidget pathStrokeWidget(smallScreen);
QStyle *arthurStyle = new ArthurStyle();
diff --git a/examples/draganddrop/fridgemagnets/main.cpp b/examples/draganddrop/fridgemagnets/main.cpp
index 1166abb..e87ef5b 100644
--- a/examples/draganddrop/fridgemagnets/main.cpp
+++ b/examples/draganddrop/fridgemagnets/main.cpp
@@ -51,7 +51,12 @@ int main(int argc, char *argv[])
#endif
DragWidget window;
+#ifdef Q_OS_SYMBIAN
+ bool smallScreen = true;
+#else
bool smallScreen = QApplication::arguments().contains("-small-screen");
+#endif
+
if (smallScreen)
window.showFullScreen();
else
diff --git a/examples/script/context2d/main.cpp b/examples/script/context2d/main.cpp
index 3d56910..20df178 100644
--- a/examples/script/context2d/main.cpp
+++ b/examples/script/context2d/main.cpp
@@ -48,7 +48,12 @@ int main(int argc, char **argv)
QApplication app(argc, argv);
Window win;
+#ifdef Q_OS_SYMBIAN
+ bool smallScreen = true;
+#else
bool smallScreen = QApplication::arguments().contains("-small-screen");
+#endif
+
if (!smallScreen) {
win.show();
} else {
diff --git a/examples/widgets/wiggly/main.cpp b/examples/widgets/wiggly/main.cpp
index 91cd1b8..7ba6d36 100644
--- a/examples/widgets/wiggly/main.cpp
+++ b/examples/widgets/wiggly/main.cpp
@@ -45,7 +45,11 @@
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
+#ifdef Q_OS_SYMBIAN
+ bool smallScreen = true;
+#else
bool smallScreen = QApplication::arguments().contains("-small-screen");
+#endif
Dialog dialog(0, smallScreen);
diff --git a/src/gui/kernel/qapplication_s60.cpp b/src/gui/kernel/qapplication_s60.cpp
index 6d1b96f..d3b0e99 100644
--- a/src/gui/kernel/qapplication_s60.cpp
+++ b/src/gui/kernel/qapplication_s60.cpp
@@ -2243,6 +2243,7 @@ int QApplicationPrivate::symbianProcessWsEvent(const QSymbianEvent *symbianEvent
#if defined(Q_SYMBIAN_SUPPORTS_MULTIPLE_SCREENS)
case EEventDisplayChanged:
#endif
+ {
if (callSymbianEventFilters(symbianEvent))
return 1;
if (S60)
@@ -2254,6 +2255,12 @@ int QApplicationPrivate::symbianProcessWsEvent(const QSymbianEvent *symbianEvent
QResizeEvent e(qt_desktopWidget->size(), oldSize);
QApplication::sendEvent(qt_desktopWidget, &e);
}
+ // Close non-native QMenus (that should act like context menus, i.e. close
+ // automatically when the orientation changes).
+ QMenu *activeMenu = qobject_cast<QMenu *>(QApplication::activePopupWidget());
+ if (activeMenu)
+ activeMenu->close();
+ }
return 0; // Propagate to CONE
case EEventWindowVisibilityChanged:
if (controlInMap) {