diff options
author | Qt Continuous Integration System <qt-info@nokia.com> | 2011-05-27 09:58:09 (GMT) |
---|---|---|
committer | Qt Continuous Integration System <qt-info@nokia.com> | 2011-05-27 09:58:09 (GMT) |
commit | 11f20a34cbad9797545ab4eb638ff311af6fc6fc (patch) | |
tree | f83127cdf1dd0ec5ee32c5b334ec7c0ffdeedd6f /src/plugins/platforms/wayland/qwaylandclipboard.h | |
parent | 7162654360deb4a18f84cdbdaef8b0660904541b (diff) | |
parent | ca85a324e2fb5401c582bfa622831652c19028b2 (diff) | |
download | Qt-11f20a34cbad9797545ab4eb638ff311af6fc6fc.zip Qt-11f20a34cbad9797545ab4eb638ff311af6fc6fc.tar.gz Qt-11f20a34cbad9797545ab4eb638ff311af6fc6fc.tar.bz2 |
Merge branch 'master' of git://scm.dev.nokia.troll.no/qt/qt-water-team
* 'master' of git://scm.dev.nokia.troll.no/qt/qt-water-team: (492 commits)
QDeclarativeDebug: Fix autotest
Fixed compilation.
When asking for relations, don't crash on children that don't return an interface.
QLibrary: support .so file extension on AIX.
Remove more inconsistencies with invisible.
Fixed compile of qdrawhelper_neon.cpp.
Update qhostinfo autotest to expect RFC5952 formatted ipv6 addresses
Fix rendering of Mac controls onto a QImage
Symbian socket: Implement systemProxyForQuery for service networks
Increased EPOCHEAPSIZE for qpainter benchmark
Increased EPOCHEAPSIZE for few benchmarks
tst_q3dns: update test to follow RFC-5952.
Re-apply licenseheader text in source files for qt4.7
Update Symbian DEF-files
Re-apply licenseheader text in source files for qt4.8
Pass QList as const reference when possible
Fixed crashes in Observer mode related to infinite bounding rects
Updating file with CRLF line endings for the updated header
Updating file with CRLF line endings for the updated header
Fix a problem where the video would'nt show on some containers
...
Diffstat (limited to 'src/plugins/platforms/wayland/qwaylandclipboard.h')
-rw-r--r-- | src/plugins/platforms/wayland/qwaylandclipboard.h | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/src/plugins/platforms/wayland/qwaylandclipboard.h b/src/plugins/platforms/wayland/qwaylandclipboard.h new file mode 100644 index 0000000..dc51854 --- /dev/null +++ b/src/plugins/platforms/wayland/qwaylandclipboard.h @@ -0,0 +1,86 @@ +/**************************************************************************** +** +** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the plugins of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** GNU Lesser General Public License Usage +** This file may be used under the terms of the GNU Lesser General Public +** License version 2.1 as published by the Free Software Foundation and +** appearing in the file LICENSE.LGPL included in the packaging of this +** file. Please review the following information to ensure the GNU Lesser +** General Public License version 2.1 requirements will be met: +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU General +** Public License version 3.0 as published by the Free Software Foundation +** and appearing in the file LICENSE.GPL included in the packaging of this +** file. Please review the following information to ensure the GNU General +** Public License version 3.0 requirements will be met: +** http://www.gnu.org/copyleft/gpl.html. +** +** Other Usage +** Alternatively, this file may be used in accordance with the terms and +** conditions contained in a signed written agreement between you and Nokia. +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QWAYLANDCLIPBOARD_H +#define QWAYLANDCLIPBOARD_H + +#include <QtGui/QPlatformClipboard> +#include <QtCore/QStringList> + +class QWaylandDisplay; +class QWaylandSelection; +struct wl_selection_offer; + +class QWaylandClipboard : public QPlatformClipboard +{ +public: + QWaylandClipboard(QWaylandDisplay *display); + ~QWaylandClipboard(); + + const QMimeData *mimeData(QClipboard::Mode mode = QClipboard::Clipboard) const; + void setMimeData(QMimeData *data, QClipboard::Mode mode = QClipboard::Clipboard); + bool supportsMode(QClipboard::Mode mode) const; + + void unregisterSelection(QWaylandSelection *selection); + + void createSelectionOffer(uint32_t id); + +private: + static void offer(void *data, + struct wl_selection_offer *selection_offer, + const char *type); + static void keyboardFocus(void *data, + struct wl_selection_offer *selection_offer, + struct wl_input_device *input_device); + static const struct wl_selection_offer_listener selectionOfferListener; + + static void syncCallback(void *data); + static void forceRoundtrip(struct wl_display *display); + + QWaylandDisplay *mDisplay; + QWaylandSelection *mSelection; + mutable QMimeData *mMimeDataIn; + QList<QWaylandSelection *> mSelections; + QStringList mOfferedMimeTypes; + struct wl_selection_offer *mOffer; +}; + +#endif // QWAYLANDCLIPBOARD_H |