summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTasuku Suzuki <tasuku.suzuki@qt.io>2017-01-13 18:38:12 +0900
committerTasuku Suzuki <tasuku.suzuki@qt.io>2017-01-13 12:42:10 +0000
commit479a487066484809ebdf3c2c16b3c87c72870483 (patch)
treead8b7168311d5d0ab87147fea8e019f9f96ff376
parent1dc17c10c314fcc67bd52a9e8e79ab45eaff7dc6 (diff)
Fix build without feature.im
Change-Id: Ie29b87a4198cbe34df6746b10c7a17ee1fcd608d Reviewed-by: Lars Knoll <lars.knoll@qt.io>
-rw-r--r--src/compositor/compositor_api/compositor_api.pri13
-rw-r--r--src/compositor/compositor_api/qwaylandinputmethodcontrol.cpp4
-rw-r--r--src/compositor/compositor_api/qwaylandinputmethodcontrol.h4
-rw-r--r--src/compositor/compositor_api/qwaylandseat.cpp2
-rw-r--r--src/compositor/compositor_api/qwaylandsurface.cpp6
-rw-r--r--src/compositor/compositor_api/qwaylandsurface.h2
-rw-r--r--src/compositor/compositor_api/qwaylandsurface_p.h2
7 files changed, 21 insertions, 12 deletions
diff --git a/src/compositor/compositor_api/compositor_api.pri b/src/compositor/compositor_api/compositor_api.pri
index 1e9284c62..94cd737dc 100644
--- a/src/compositor/compositor_api/compositor_api.pri
+++ b/src/compositor/compositor_api/compositor_api.pri
@@ -27,8 +27,6 @@ HEADERS += \
compositor_api/qwaylandview_p.h \
compositor_api/qwaylandresource.h \
compositor_api/qwaylandsurfacegrabber.h \
- compositor_api/qwaylandinputmethodcontrol.h \
- compositor_api/qwaylandinputmethodcontrol_p.h \
compositor_api/qwaylandoutputmode_p.h
SOURCES += \
@@ -47,8 +45,15 @@ SOURCES += \
compositor_api/qwaylanddestroylistener.cpp \
compositor_api/qwaylandview.cpp \
compositor_api/qwaylandresource.cpp \
- compositor_api/qwaylandsurfacegrabber.cpp \
- compositor_api/qwaylandinputmethodcontrol.cpp
+ compositor_api/qwaylandsurfacegrabber.cpp
+
+qtConfig(im) {
+ HEADERS += \
+ compositor_api/qwaylandinputmethodcontrol.h \
+ compositor_api/qwaylandinputmethodcontrol_p.h
+ SOURCES += \
+ compositor_api/qwaylandinputmethodcontrol.cpp
+}
QT += core-private
diff --git a/src/compositor/compositor_api/qwaylandinputmethodcontrol.cpp b/src/compositor/compositor_api/qwaylandinputmethodcontrol.cpp
index 539fc1b7d..d61aabb12 100644
--- a/src/compositor/compositor_api/qwaylandinputmethodcontrol.cpp
+++ b/src/compositor/compositor_api/qwaylandinputmethodcontrol.cpp
@@ -54,9 +54,7 @@ QWaylandInputMethodControl::QWaylandInputMethodControl(QWaylandSurface *surface)
if (textInput) {
connect(textInput, &QWaylandTextInput::surfaceEnabled, this, &QWaylandInputMethodControl::surfaceEnabled);
connect(textInput, &QWaylandTextInput::surfaceDisabled, this, &QWaylandInputMethodControl::surfaceDisabled);
-#if QT_CONFIG(im)
connect(textInput, &QWaylandTextInput::updateInputMethod, this, &QWaylandInputMethodControl::updateInputMethod);
-#endif
}
}
@@ -101,9 +99,7 @@ void QWaylandInputMethodControl::setEnabled(bool enabled)
d->enabled = enabled;
emit enabledChanged(enabled);
-#if QT_CONFIG(im)
emit updateInputMethod(Qt::ImQueryInput);
-#endif
}
void QWaylandInputMethodControl::surfaceEnabled(QWaylandSurface *surface)
diff --git a/src/compositor/compositor_api/qwaylandinputmethodcontrol.h b/src/compositor/compositor_api/qwaylandinputmethodcontrol.h
index af02e1ae5..58d0eaff8 100644
--- a/src/compositor/compositor_api/qwaylandinputmethodcontrol.h
+++ b/src/compositor/compositor_api/qwaylandinputmethodcontrol.h
@@ -57,9 +57,7 @@ class QWaylandInputMethodControl : public QObject
public:
explicit QWaylandInputMethodControl(QWaylandSurface *surface);
-#if QT_CONFIG(im)
QVariant inputMethodQuery(Qt::InputMethodQuery query, QVariant argument) const;
-#endif
void inputMethodEvent(QInputMethodEvent *event);
@@ -70,9 +68,7 @@ public:
Q_SIGNALS:
void enabledChanged(bool enabled);
-#if QT_CONFIG(im)
void updateInputMethod(Qt::InputMethodQueries queries);
-#endif
private:
void defaultSeatChanged();
diff --git a/src/compositor/compositor_api/qwaylandseat.cpp b/src/compositor/compositor_api/qwaylandseat.cpp
index f6a5276d4..7e4c83192 100644
--- a/src/compositor/compositor_api/qwaylandseat.cpp
+++ b/src/compositor/compositor_api/qwaylandseat.cpp
@@ -317,6 +317,7 @@ void QWaylandSeat::sendFullKeyEvent(QKeyEvent *event)
return;
}
+#if QT_CONFIG(im)
if (keyboardFocus()->inputMethodControl()->enabled()
&& event->nativeScanCode() == 0) {
QWaylandTextInput *textInput = QWaylandTextInput::findIn(this);
@@ -325,6 +326,7 @@ void QWaylandSeat::sendFullKeyEvent(QKeyEvent *event)
return;
}
}
+#endif
QtWayland::QtKeyExtensionGlobal *ext = QtWayland::QtKeyExtensionGlobal::findIn(d->compositor);
if (ext && ext->postQtKeyEvent(event, keyboardFocus()))
diff --git a/src/compositor/compositor_api/qwaylandsurface.cpp b/src/compositor/compositor_api/qwaylandsurface.cpp
index f79fd57ef..a576e0d6c 100644
--- a/src/compositor/compositor_api/qwaylandsurface.cpp
+++ b/src/compositor/compositor_api/qwaylandsurface.cpp
@@ -132,7 +132,9 @@ QWaylandSurfacePrivate::QWaylandSurfacePrivate()
, hasContent(false)
, isInitialized(false)
, contentOrientation(Qt::PrimaryOrientation)
+#if QT_CONFIG(im)
, inputMethodControl(Q_NULLPTR)
+#endif
, subsurface(0)
{
pending.buffer = QWaylandBufferRef();
@@ -419,7 +421,9 @@ void QWaylandSurface::initialize(QWaylandCompositor *compositor, QWaylandClient
d->client = client;
d->init(client->client(), id, version);
d->isInitialized = true;
+#if QT_CONFIG(im)
d->inputMethodControl = new QWaylandInputMethodControl(this);
+#endif
#ifndef QT_NO_DEBUG
QWaylandSurfacePrivate::removeUninitializedSurface(d);
#endif
@@ -665,11 +669,13 @@ bool QWaylandSurface::isCursorSurface() const
return d->isCursorSurface;
}
+#if QT_CONFIG(im)
QWaylandInputMethodControl *QWaylandSurface::inputMethodControl() const
{
Q_D(const QWaylandSurface);
return d->inputMethodControl;
}
+#endif
/*!
* Updates the surface with the compositor's retained clipboard selection. Although
diff --git a/src/compositor/compositor_api/qwaylandsurface.h b/src/compositor/compositor_api/qwaylandsurface.h
index 380436956..e6a16ffe1 100644
--- a/src/compositor/compositor_api/qwaylandsurface.h
+++ b/src/compositor/compositor_api/qwaylandsurface.h
@@ -135,7 +135,9 @@ public:
void markAsCursorSurface(bool cursorSurface);
bool isCursorSurface() const;
+#if QT_CONFIG(im)
QWaylandInputMethodControl *inputMethodControl() const;
+#endif
public Q_SLOTS:
void updateSelection();
diff --git a/src/compositor/compositor_api/qwaylandsurface_p.h b/src/compositor/compositor_api/qwaylandsurface_p.h
index 232631077..135d78732 100644
--- a/src/compositor/compositor_api/qwaylandsurface_p.h
+++ b/src/compositor/compositor_api/qwaylandsurface_p.h
@@ -171,7 +171,9 @@ public: //member variables
bool isInitialized;
Qt::ScreenOrientation contentOrientation;
QWindow::Visibility visibility;
+#if QT_CONFIG(im)
QWaylandInputMethodControl *inputMethodControl;
+#endif
class Subsurface : public QtWaylandServer::wl_subsurface
{