Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 18 additions & 3 deletions src/client/qwaylandintegration.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,9 @@
#include "qwaylandinputcontext_p.h"
#include "qwaylandshmbackingstore_p.h"
#include "qwaylandnativeinterface_p.h"
#ifndef QT_NO_CLIPBOARD
#include "qwaylandclipboard_p.h"
#endif
#include "qwaylanddnd_p.h"
#include "qwaylandwindowmanagerintegration_p.h"
#include "qwaylandscreen_p.h"
Expand All @@ -57,7 +59,9 @@
#include <QSocketNotifier>

#include <qpa/qplatforminputcontextfactory_p.h>
#ifndef QT_NO_ACCESSIBILITY
#include <qpa/qplatformaccessibility.h>
#endif
#include <qpa/qplatforminputcontext.h>

#include "qwaylandhardwareintegration_p.h"
Expand Down Expand Up @@ -119,27 +123,32 @@ QWaylandIntegration::QWaylandIntegration()
, mNativeInterface(new QWaylandNativeInterface(this))
#ifndef QT_NO_ACCESSIBILITY
, mAccessibility(new QPlatformAccessibility())
#else
, mAccessibility(0)
#endif
, mClientBufferIntegrationInitialized(false)
, mServerBufferIntegrationInitialized(false)
, mShellIntegrationInitialized(false)
{
initializeInputDeviceIntegration();
mDisplay = new QWaylandDisplay(this);
#ifndef QT_NO_CLIPBOARD
mClipboard = new QWaylandClipboard(mDisplay);
#endif
#ifndef QT_NO_DRAGANDDROP
mDrag = new QWaylandDrag(mDisplay);

#endif
QString icStr = QPlatformInputContextFactory::requested();
icStr.isNull() ? mInputContext.reset(new QWaylandInputContext(mDisplay))
: mInputContext.reset(QPlatformInputContextFactory::create(icStr));
}

QWaylandIntegration::~QWaylandIntegration()
{
#ifndef QT_NO_DRAGANDDROP
delete mDrag;
#endif
#ifndef QT_NO_CLIPBOARD
delete mClipboard;
#endif
#ifndef QT_NO_ACCESSIBILITY
delete mAccessibility;
#endif
Expand Down Expand Up @@ -215,15 +224,19 @@ QPlatformFontDatabase *QWaylandIntegration::fontDatabase() const
return mFontDb;
}

#ifndef QT_NO_CLIPBOARD
QPlatformClipboard *QWaylandIntegration::clipboard() const
{
return mClipboard;
}
#endif

#ifndef QT_NO_DRAGANDDROP
QPlatformDrag *QWaylandIntegration::drag() const
{
return mDrag;
}
#endif

QPlatformInputContext *QWaylandIntegration::inputContext() const
{
Expand All @@ -245,10 +258,12 @@ QVariant QWaylandIntegration::styleHint(StyleHint hint) const
return QPlatformIntegration::styleHint(hint);
}

#ifndef QT_NO_ACCESSIBILITY
QPlatformAccessibility *QWaylandIntegration::accessibility() const
{
return mAccessibility;
}
#endif

QPlatformServices *QWaylandIntegration::services() const
{
Expand Down
12 changes: 12 additions & 0 deletions src/client/qwaylandintegration_p.h
Original file line number Diff line number Diff line change
Expand Up @@ -80,15 +80,21 @@ class Q_WAYLAND_CLIENT_EXPORT QWaylandIntegration : public QPlatformIntegration

QPlatformNativeInterface *nativeInterface() const Q_DECL_OVERRIDE;

#ifndef QT_NO_CLIPBOARD
QPlatformClipboard *clipboard() const Q_DECL_OVERRIDE;
#endif

#ifndef QT_NO_DRAGANDDROP
QPlatformDrag *drag() const Q_DECL_OVERRIDE;
#endif

QPlatformInputContext *inputContext() const Q_DECL_OVERRIDE;

QVariant styleHint(StyleHint hint) const Q_DECL_OVERRIDE;

#ifndef QT_NO_ACCESSIBILITY
QPlatformAccessibility *accessibility() const Q_DECL_OVERRIDE;
#endif

QPlatformServices *services() const Q_DECL_OVERRIDE;

Expand Down Expand Up @@ -118,12 +124,18 @@ class Q_WAYLAND_CLIENT_EXPORT QWaylandIntegration : public QPlatformIntegration
QWaylandShellIntegration *createShellIntegration(const QString& interfaceName);

QPlatformFontDatabase *mFontDb;
#ifndef QT_NO_CLIPBOARD
QPlatformClipboard *mClipboard;
#endif
#ifndef QT_NO_DRAGANDDROP
QPlatformDrag *mDrag;
#endif
QWaylandDisplay *mDisplay;
QPlatformNativeInterface *mNativeInterface;
QScopedPointer<QPlatformInputContext> mInputContext;
#ifndef QT_NO_ACCESSIBILITY
QPlatformAccessibility *mAccessibility;
#endif
bool mClientBufferIntegrationInitialized;
bool mServerBufferIntegrationInitialized;
bool mShellIntegrationInitialized;
Expand Down