diff options
Diffstat (limited to 'examples/draganddrop/dropsite/dropsitewindow.cpp')
-rw-r--r-- | examples/draganddrop/dropsite/dropsitewindow.cpp | 143 |
1 files changed, 0 insertions, 143 deletions
diff --git a/examples/draganddrop/dropsite/dropsitewindow.cpp b/examples/draganddrop/dropsite/dropsitewindow.cpp deleted file mode 100644 index f7fc5aa1ab..0000000000 --- a/examples/draganddrop/dropsite/dropsitewindow.cpp +++ /dev/null @@ -1,143 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/ -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor -** the names of its contributors may be used to endorse or promote -** products derived from this software without specific prior written -** permission. -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include <QtWidgets> - -#include "droparea.h" -#include "dropsitewindow.h" - -//! [constructor part1] -DropSiteWindow::DropSiteWindow() -{ - abstractLabel = new QLabel(tr("This example accepts drags from other " - "applications and displays the MIME types " - "provided by the drag object.")); - abstractLabel->setWordWrap(true); - abstractLabel->adjustSize(); -//! [constructor part1] - -//! [constructor part2] - dropArea = new DropArea; - connect(dropArea, SIGNAL(changed(const QMimeData*)), - this, SLOT(updateFormatsTable(const QMimeData*))); -//! [constructor part2] - -//! [constructor part3] - QStringList labels; - labels << tr("Format") << tr("Content"); - - formatsTable = new QTableWidget; - formatsTable->setColumnCount(2); - formatsTable->setEditTriggers(QAbstractItemView::NoEditTriggers); - formatsTable->setHorizontalHeaderLabels(labels); - formatsTable->horizontalHeader()->setStretchLastSection(true); -//! [constructor part3] - -//! [constructor part4] - clearButton = new QPushButton(tr("Clear")); - quitButton = new QPushButton(tr("Quit")); - - buttonBox = new QDialogButtonBox; - buttonBox->addButton(clearButton, QDialogButtonBox::ActionRole); - buttonBox->addButton(quitButton, QDialogButtonBox::RejectRole); - - connect(quitButton, SIGNAL(pressed()), this, SLOT(close())); - connect(clearButton, SIGNAL(pressed()), dropArea, SLOT(clear())); -//! [constructor part4] - -//! [constructor part5] - QVBoxLayout *mainLayout = new QVBoxLayout; - mainLayout->addWidget(abstractLabel); - mainLayout->addWidget(dropArea); - mainLayout->addWidget(formatsTable); - mainLayout->addWidget(buttonBox); - setLayout(mainLayout); - - setWindowTitle(tr("Drop Site")); - setMinimumSize(350, 500); -} -//! [constructor part5] - -//! [updateFormatsTable() part1] -void DropSiteWindow::updateFormatsTable(const QMimeData *mimeData) -{ - formatsTable->setRowCount(0); - if (!mimeData) - return; -//! [updateFormatsTable() part1] - -//! [updateFormatsTable() part2] - foreach (QString format, mimeData->formats()) { - QTableWidgetItem *formatItem = new QTableWidgetItem(format); - formatItem->setFlags(Qt::ItemIsEnabled); - formatItem->setTextAlignment(Qt::AlignTop | Qt::AlignLeft); -//! [updateFormatsTable() part2] - -//! [updateFormatsTable() part3] - QString text; - if (format == "text/plain") { - text = mimeData->text().simplified(); - } else if (format == "text/html") { - text = mimeData->html().simplified(); - } else if (format == "text/uri-list") { - QList<QUrl> urlList = mimeData->urls(); - for (int i = 0; i < urlList.size() && i < 32; ++i) - text.append(urlList[i].toString() + " "); - } else { - QByteArray data = mimeData->data(format); - for (int i = 0; i < data.size() && i < 32; ++i) { - QString hex = QString("%1").arg(uchar(data[i]), 2, 16, - QChar('0')) - .toUpper(); - text.append(hex + " "); - } - } -//! [updateFormatsTable() part3] - -//! [updateFormatsTable() part4] - int row = formatsTable->rowCount(); - formatsTable->insertRow(row); - formatsTable->setItem(row, 0, new QTableWidgetItem(format)); - formatsTable->setItem(row, 1, new QTableWidgetItem(text)); - } - - formatsTable->resizeColumnToContents(0); -} -//! [updateFormatsTable() part4] |