diff options
author | Paul Wicking <[email protected]> | 2020-08-29 07:11:10 +0200 |
---|---|---|
committer | Paul Wicking <[email protected]> | 2020-09-01 06:13:09 +0200 |
commit | 03887ab8a3fb81fb7059ad1d9e3d9cac224e53e7 (patch) | |
tree | 8ed186448623ab66cabf13d44832c32d0f36faa3 | |
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 <[email protected]>
Task-number: QTBUG-81486
Change-Id: I58c80d3527c82389ccff97567f4c75c33aec0f5e
Reviewed-by: Topi Reiniƶ <[email protected]>
-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 | ||||
-rw-r--r-- | src/gui/kernel/qclipboard.cpp | 2 |
4 files changed, 22 insertions, 82 deletions
diff --git a/src/gui/doc/snippets/droparea.cpp b/src/gui/doc/snippets/droparea/droparea.cpp index c0fdbf96171..b66cf0c0311 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 00000000000..33318618e4f --- /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 39ce594c57c..6ede3d94edf 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 \ diff --git a/src/gui/kernel/qclipboard.cpp b/src/gui/kernel/qclipboard.cpp index d51c356970d..5e93fe80615 100644 --- a/src/gui/kernel/qclipboard.cpp +++ b/src/gui/kernel/qclipboard.cpp @@ -83,7 +83,7 @@ QT_BEGIN_NAMESPACE A typical example of the use of these functions follows: - \snippet droparea.cpp 0 + \snippet droparea/droparea.cpp 0 \section1 Notes for X11 Users |