summaryrefslogtreecommitdiffstats
path: root/src/plugins
diff options
context:
space:
mode:
authorFrederik Gladhorn <frederik.gladhorn@digia.com>2013-06-28 19:18:10 +0200
committerFrederik Gladhorn <frederik.gladhorn@digia.com>2013-06-28 19:18:10 +0200
commitcb6fec851507e9e2a53e8b4b7d70e7e4ac165348 (patch)
treee9c455888b4539a3d36028ed33d9dfba6ce5dd55 /src/plugins
parent37351bbecf806dfed36a5558a38f502c9cec7d84 (diff)
parentcb79be2076e3ba02b603f4ab65ca12cd99fa2eba (diff)
Merge remote-tracking branch 'origin/release' into stable
Diffstat (limited to 'src/plugins')
-rw-r--r--src/plugins/platforms/android/src/qandroidplatformintegration.cpp10
-rw-r--r--src/plugins/platforms/android/src/qandroidplatformintegration.h2
-rw-r--r--src/plugins/platforms/cocoa/qnsview.mm6
3 files changed, 17 insertions, 1 deletions
diff --git a/src/plugins/platforms/android/src/qandroidplatformintegration.cpp b/src/plugins/platforms/android/src/qandroidplatformintegration.cpp
index f0630b5224..91ad2b368f 100644
--- a/src/plugins/platforms/android/src/qandroidplatformintegration.cpp
+++ b/src/plugins/platforms/android/src/qandroidplatformintegration.cpp
@@ -216,6 +216,16 @@ QPlatformServices *QAndroidPlatformIntegration::services() const
return m_androidPlatformServices;
}
+QVariant QAndroidPlatformIntegration::styleHint(StyleHint hint) const
+{
+ switch (hint) {
+ case ShowIsFullScreen:
+ return true;
+ default:
+ return QPlatformIntegration::styleHint(hint);
+ }
+}
+
static const QLatin1String androidThemeName("android");
QStringList QAndroidPlatformIntegration::themeNames() const
{
diff --git a/src/plugins/platforms/android/src/qandroidplatformintegration.h b/src/plugins/platforms/android/src/qandroidplatformintegration.h
index 8da9fb2ff4..6cc191701d 100644
--- a/src/plugins/platforms/android/src/qandroidplatformintegration.h
+++ b/src/plugins/platforms/android/src/qandroidplatformintegration.h
@@ -112,6 +112,8 @@ public:
QPlatformNativeInterface *nativeInterface() const;
QPlatformServices *services() const;
+ QVariant styleHint(StyleHint hint) const;
+
QStringList themeNames() const;
QPlatformTheme *createPlatformTheme(const QString &name) const;
diff --git a/src/plugins/platforms/cocoa/qnsview.mm b/src/plugins/platforms/cocoa/qnsview.mm
index f811c0e9b4..66a1b95ad8 100644
--- a/src/plugins/platforms/cocoa/qnsview.mm
+++ b/src/plugins/platforms/cocoa/qnsview.mm
@@ -916,6 +916,7 @@ static QTouchDevice *touchDevice = 0;
ulong timestamp = [nsevent timestamp] * 1000;
ulong nativeModifiers = [nsevent modifierFlags];
Qt::KeyboardModifiers modifiers = [QNSView convertKeyModifiers: nativeModifiers];
+ NSString *charactersIgnoringModifiers = [nsevent charactersIgnoringModifiers];
NSString *characters = [nsevent characters];
// [from Qt 4 impl] There is no way to get the scan code from carbon. But we cannot
@@ -930,7 +931,10 @@ static QTouchDevice *touchDevice = 0;
QChar ch = QChar::ReplacementCharacter;
int keyCode = Qt::Key_unknown;
if ([characters length] != 0) {
- ch = QChar([characters characterAtIndex:0]);
+ if ((modifiers & Qt::MetaModifier) && ([charactersIgnoringModifiers length] != 0))
+ ch = QChar([charactersIgnoringModifiers characterAtIndex:0]);
+ else
+ ch = QChar([characters characterAtIndex:0]);
keyCode = [self convertKeyCode:ch];
}