diff options
author | Paul Olav Tvete <paul.tvete@theqtcompany.com> | 2015-08-07 12:55:03 +0200 |
---|---|---|
committer | Paul Olav Tvete <paul.tvete@theqtcompany.com> | 2015-08-07 12:23:29 +0000 |
commit | 8c4067a1cac0d93ced039955d1b1f3b8820e5cc8 (patch) | |
tree | 67fcd08d0a6390c841ad0a90cc31016773221610 /src/plugins/platforms/mirclient/qmirclientclipboard.h | |
parent | 81f259a91b461b9779b66287f8592dbbd910fd18 (diff) |
Rename files and classes to Qt Project standard
Change-Id: Ie694227780bc0c8cdd9398e45e2e0a5d73c8a7d4
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
Diffstat (limited to 'src/plugins/platforms/mirclient/qmirclientclipboard.h')
-rw-r--r-- | src/plugins/platforms/mirclient/qmirclientclipboard.h | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/src/plugins/platforms/mirclient/qmirclientclipboard.h b/src/plugins/platforms/mirclient/qmirclientclipboard.h new file mode 100644 index 0000000000..d0b195bb08 --- /dev/null +++ b/src/plugins/platforms/mirclient/qmirclientclipboard.h @@ -0,0 +1,67 @@ +/* + * Copyright (C) 2014 Canonical, Ltd. + * + * This program is free software: you can redistribute it and/or modify it under + * the terms of the GNU Lesser General Public License version 3, as published by + * the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranties of MERCHANTABILITY, + * SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#ifndef QMIRCLIENTCLIPBOARD_H +#define QMIRCLIENTCLIPBOARD_H + +#include <qpa/qplatformclipboard.h> + +#include <QMimeData> +#include <QPointer> +class QDBusInterface; +class QDBusPendingCallWatcher; + +class QMirClientClipboard : public QObject, public QPlatformClipboard +{ + Q_OBJECT +public: + QMirClientClipboard(); + virtual ~QMirClientClipboard(); + + // QPlatformClipboard methods. + QMimeData* mimeData(QClipboard::Mode mode = QClipboard::Clipboard) override; + void setMimeData(QMimeData* data, QClipboard::Mode mode = QClipboard::Clipboard) override; + bool supportsMode(QClipboard::Mode mode) const override; + bool ownsMode(QClipboard::Mode mode) const override; + + void requestDBusClipboardContents(); + +private Q_SLOTS: + void onDBusClipboardGetContentsFinished(QDBusPendingCallWatcher*); + void onDBusClipboardSetContentsFinished(QDBusPendingCallWatcher*); + void updateMimeData(const QByteArray &serializedMimeData); + +private: + void setupDBus(); + + QByteArray serializeMimeData(QMimeData *mimeData) const; + QMimeData *deserializeMimeData(const QByteArray &serializedMimeData) const; + + void setDBusClipboardContents(const QByteArray &clipboardContents); + + QMimeData *mMimeData; + bool mIsOutdated; + + QPointer<QDBusInterface> mDBusClipboard; + + QPointer<QDBusPendingCallWatcher> mPendingGetContentsCall; + QPointer<QDBusPendingCallWatcher> mPendingSetContentsCall; + + bool mUpdatesDisabled; + bool mDBusSetupDone; +}; + +#endif // QMIRCLIENTCLIPBOARD_H |