summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/ios
diff options
context:
space:
mode:
authorFrederik Gladhorn <frederik.gladhorn@theqtcompany.com>2014-11-27 18:28:12 +0100
committerFrederik Gladhorn <frederik.gladhorn@theqtcompany.com>2014-11-27 18:28:12 +0100
commitce6990c3e742e0833df0561246554cf07a888efb (patch)
tree412380582040f5bb314eb90ae029b41a883aa439 /src/plugins/platforms/ios
parent09e674849a40f5eb7e9f95fd2a952c621aec86d1 (diff)
parentfa9bde7d3a12ede956339c570f7b32f95d231e57 (diff)
Merge remote-tracking branch 'origin/5.4' into dev
Diffstat (limited to 'src/plugins/platforms/ios')
-rw-r--r--src/plugins/platforms/ios/qiosinputcontext.h22
-rw-r--r--src/plugins/platforms/ios/qioswindow.h1
-rw-r--r--src/plugins/platforms/ios/qioswindow.mm7
3 files changed, 17 insertions, 13 deletions
diff --git a/src/plugins/platforms/ios/qiosinputcontext.h b/src/plugins/platforms/ios/qiosinputcontext.h
index d2a9c261ba..b4ff695f1a 100644
--- a/src/plugins/platforms/ios/qiosinputcontext.h
+++ b/src/plugins/platforms/ios/qiosinputcontext.h
@@ -63,25 +63,27 @@ public:
QIOSInputContext();
~QIOSInputContext();
- QRectF keyboardRect() const;
+ bool isValid() const Q_DECL_OVERRIDE { return true; }
- void showInputPanel();
- void hideInputPanel();
+ void showInputPanel() Q_DECL_OVERRIDE;
+ void hideInputPanel() Q_DECL_OVERRIDE;
- void clearCurrentFocusObject();
+ bool isInputPanelVisible() const Q_DECL_OVERRIDE;
+ QRectF keyboardRect() const Q_DECL_OVERRIDE;
+
+ void update(Qt::InputMethodQueries) Q_DECL_OVERRIDE;
+ void reset() Q_DECL_OVERRIDE;
+ void commit() Q_DECL_OVERRIDE;
- bool isInputPanelVisible() const;
- void setFocusObject(QObject *object);
+ void clearCurrentFocusObject();
+ void setFocusObject(QObject *object) Q_DECL_OVERRIDE;
void focusWindowChanged(QWindow *focusWindow);
void cursorRectangleChanged();
+
void scrollToCursor();
void scroll(int y);
- void update(Qt::InputMethodQueries);
- void reset();
- void commit();
-
const ImeState &imeState() { return m_imeState; };
bool inputMethodAccepted() const;
diff --git a/src/plugins/platforms/ios/qioswindow.h b/src/plugins/platforms/ios/qioswindow.h
index 65b4f6dd7d..21a05a302e 100644
--- a/src/plugins/platforms/ios/qioswindow.h
+++ b/src/plugins/platforms/ios/qioswindow.h
@@ -63,6 +63,7 @@ public:
void setOpacity(qreal level) Q_DECL_OVERRIDE;
bool isExposed() const Q_DECL_OVERRIDE;
+ void propagateSizeHints() Q_DECL_OVERRIDE {}
void raise() { raiseOrLower(true); }
void lower() { raiseOrLower(false); }
diff --git a/src/plugins/platforms/ios/qioswindow.mm b/src/plugins/platforms/ios/qioswindow.mm
index b0c5f15306..480062e4de 100644
--- a/src/plugins/platforms/ios/qioswindow.mm
+++ b/src/plugins/platforms/ios/qioswindow.mm
@@ -145,9 +145,10 @@ void QIOSWindow::setVisible(bool visible)
bool QIOSWindow::shouldAutoActivateWindow() const
{
// We don't want to do automatic window activation for popup windows
- // (including Tool, ToolTip and SplashScreen windows), unless they
- // are standalone (no parent/transient parent), and hence not active.
- return !(window()->type() & Qt::Popup) || !window()->isActive();
+ // that are unlikely to contain editable controls (to avoid hiding
+ // the keyboard while the popup is showing)
+ const Qt::WindowType type = window()->type();
+ return (type != Qt::Popup && type != Qt::ToolTip) || !window()->isActive();
}
void QIOSWindow::setOpacity(qreal level)