File indexing completed on 2024-05-19 15:09:21

0001 /*
0002     SPDX-FileCopyrightText: 2010 BetterInbox <contact@betterinbox.com>
0003     SPDX-FileContributor: Gregory Schlomoff <greg@betterinbox.com>
0004     SPDX-FileCopyrightText: 2013 Sebastian Kügler <sebas@kde.org>
0005 
0006     SPDX-License-Identifier: MIT
0007 */
0008 
0009 #include "DeclarativeDragDropEvent.h"
0010 
0011 DeclarativeDragDropEvent::DeclarativeDragDropEvent(QDropEvent *e, DeclarativeDropArea *parent)
0012     : QObject(parent)
0013     , m_x(e->pos().x())
0014     , m_y(e->pos().y())
0015     , m_buttons(e->mouseButtons())
0016     , m_modifiers(e->keyboardModifiers())
0017     , m_data(nullptr)
0018     , m_event(e)
0019 {
0020 }
0021 
0022 DeclarativeDragDropEvent::DeclarativeDragDropEvent(QDragLeaveEvent *e, DeclarativeDropArea *parent)
0023     : QObject(parent)
0024     , m_x(0)
0025     , m_y(0)
0026     , m_buttons(Qt::NoButton)
0027     , m_modifiers(Qt::NoModifier)
0028     , m_data(nullptr)
0029     , m_event(nullptr)
0030 {
0031     Q_UNUSED(e);
0032 }
0033 
0034 void DeclarativeDragDropEvent::accept(int action)
0035 {
0036     m_event->setDropAction(static_cast<Qt::DropAction>(action));
0037     //     qDebug() << "-----> Accepting event: " << this << m_data.urls() << m_data.text() << m_data.html() << ( m_data.hasColor() ? m_data.color().name() : "
0038     //     no color");
0039     m_event->accept();
0040 }
0041 
0042 void DeclarativeDragDropEvent::ignore()
0043 {
0044     m_event->ignore();
0045 }
0046 
0047 DeclarativeMimeData *DeclarativeDragDropEvent::mimeData()
0048 {
0049     if (!m_data && m_event) {
0050         //         TODO This should be using MimeDataWrapper eventually, although this is an API break,
0051         //         so will need to be done carefully.
0052         m_data.reset(new DeclarativeMimeData(m_event->mimeData()));
0053     }
0054     return m_data.data();
0055 }
0056 
0057 #include "moc_DeclarativeDragDropEvent.cpp"