diff options
Diffstat (limited to 'src/gui/doc/snippets/droparea/droparea.cpp')
-rw-r--r-- | src/gui/doc/snippets/droparea/droparea.cpp | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/src/gui/doc/snippets/droparea/droparea.cpp b/src/gui/doc/snippets/droparea/droparea.cpp new file mode 100644 index 0000000000..6b3583acff --- /dev/null +++ b/src/gui/doc/snippets/droparea/droparea.cpp @@ -0,0 +1,36 @@ +// Copyright (C) 2016 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause +#include <QApplication> +#include <QClipboard> +#include <QMimeData> +#include <QWidget> + +namespace droparea { +struct DropArea : public QWidget { + void paste(); + void setPixmap(QPixmap); + void setText(QString); + void setTextFormat(Qt::TextFormat); +}; + +//![0] +void DropArea::paste() +{ + const QClipboard *clipboard = QApplication::clipboard(); + const QMimeData *mimeData = clipboard->mimeData(); + + if (mimeData->hasImage()) { + setPixmap(qvariant_cast<QPixmap>(mimeData->imageData())); + } else if (mimeData->hasHtml()) { + setText(mimeData->html()); + setTextFormat(Qt::RichText); + } else if (mimeData->hasText()) { + setText(mimeData->text()); + setTextFormat(Qt::PlainText); + } else { + setText(tr("Cannot display data")); + } +} +//![0] + +} // droparea |