diff options
author | Paul Wicking <paul.wicking@qt.io> | 2020-08-29 07:11:10 +0200 |
---|---|---|
committer | Paul Wicking <paul.wicking@qt.io> | 2020-09-01 06:13:09 +0200 |
commit | 03887ab8a3fb81fb7059ad1d9e3d9cac224e53e7 (patch) | |
tree | 8ed186448623ab66cabf13d44832c32d0f36faa3 /src/gui/doc | |
parent | e596f15a4576999f91dd18c31a29ac1eaac581d0 (diff) |
Doc: Compile droparea snippet
droparea.h has been removed. Remove all code that depends on that header
except the one snippet that is still used. Add minimal code to allow
the snippet to be compiled.
Done-with: Nico Vertriest <nico.vertriest@qt.io>
Task-number: QTBUG-81486
Change-Id: I58c80d3527c82389ccff97567f4c75c33aec0f5e
Reviewed-by: Topi Reiniƶ <topi.reinio@qt.io>
Diffstat (limited to 'src/gui/doc')
-rw-r--r-- | src/gui/doc/snippets/droparea/droparea.cpp (renamed from src/gui/doc/snippets/droparea.cpp) | 95 | ||||
-rw-r--r-- | src/gui/doc/snippets/droparea/droparea.pro | 6 | ||||
-rw-r--r-- | src/gui/doc/snippets/snippets.pro | 1 |
3 files changed, 21 insertions, 81 deletions
diff --git a/src/gui/doc/snippets/droparea.cpp b/src/gui/doc/snippets/droparea/droparea.cpp index c0fdbf9617..b66cf0c031 100644 --- a/src/gui/doc/snippets/droparea.cpp +++ b/src/gui/doc/snippets/droparea/droparea.cpp @@ -47,55 +47,18 @@ ** $QT_END_LICENSE$ ** ****************************************************************************/ - -#include <QtGui> - -#include "droparea.h" - -DropArea::DropArea(QWidget *parent) - : QLabel(parent) -{ - setMinimumSize(200, 200); - setFrameStyle(QFrame::Sunken | QFrame::StyledPanel); - setAlignment(Qt::AlignCenter); - setAcceptDrops(true); - setAutoFillBackground(true); - clear(); -} - -void DropArea::dragEnterEvent(QDragEnterEvent *event) -{ - setText(tr("<drop content>")); - setBackgroundRole(QPalette::Highlight); - - event->acceptProposedAction(); - emit changed(event->mimeData()); -} - -void DropArea::dragMoveEvent(QDragMoveEvent *event) -{ - event->acceptProposedAction(); -} - -void DropArea::dropEvent(QDropEvent *event) -{ - const QMimeData *mimeData = event->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")); - } - - setBackgroundRole(QPalette::Dark); - event->acceptProposedAction(); -} +#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() @@ -114,37 +77,7 @@ void DropArea::paste() } else { setText(tr("Cannot display data")); } -//![0] - - emit changed(mimeData); - setBackgroundRole(QPalette::Dark); - //event->acceptProposedAction(); } +//![0] -void DropArea::dragLeaveEvent(QDragLeaveEvent *event) -{ - clear(); - event->accept(); -} - -void DropArea::clear() -{ - setText(tr("<drop content>")); - setBackgroundRole(QPalette::Dark); - - emit changed(); -} - -QPixmap DropArea::extractPixmap(const QByteArray &data, const QString &format) -{ - const QList<QByteArray> imageFormats = QImageReader::supportedImageFormats(); - QPixmap pixmap; - - for (const QByteArray &imageFormat : imageFormats) { - if (format.mid(6) == QString(imageFormat)) { - pixmap.loadFromData(data, imageFormat); - break; - } - } - return pixmap; -} +} // droparea diff --git a/src/gui/doc/snippets/droparea/droparea.pro b/src/gui/doc/snippets/droparea/droparea.pro new file mode 100644 index 0000000000..33318618e4 --- /dev/null +++ b/src/gui/doc/snippets/droparea/droparea.pro @@ -0,0 +1,6 @@ +TEMPLATE = lib +TARGET = droparea_snippets +QT += core gui widgets + +SOURCES = \ + droparea.cpp diff --git a/src/gui/doc/snippets/snippets.pro b/src/gui/doc/snippets/snippets.pro index 39ce594c57..6ede3d94ed 100644 --- a/src/gui/doc/snippets/snippets.pro +++ b/src/gui/doc/snippets/snippets.pro @@ -7,6 +7,7 @@ contains(QT_BUILD_PARTS, tests) { clipboard \ code \ draganddrop \ + droparea \ qfontdatabase \ textdocument-blocks \ textdocument-charformats \ |