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"