summary refs log tree commit diff
path: root/src/ui/NhekoDropArea.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui/NhekoDropArea.cpp')
-rw-r--r--src/ui/NhekoDropArea.cpp39
1 files changed, 39 insertions, 0 deletions
diff --git a/src/ui/NhekoDropArea.cpp b/src/ui/NhekoDropArea.cpp
new file mode 100644

index 00000000..14b71524 --- /dev/null +++ b/src/ui/NhekoDropArea.cpp
@@ -0,0 +1,39 @@ +#include "NhekoDropArea.h" + +#include <QMimeData> + +#include "ChatPage.h" +#include "timeline/InputBar.h" +#include "timeline/TimelineModel.h" +#include "timeline/TimelineViewManager.h" + +#include "Logging.h" + +NhekoDropArea::NhekoDropArea(QQuickItem *parent) + : QQuickItem(parent) +{ + setFlags(ItemAcceptsDrops); +} + +void +NhekoDropArea::dragEnterEvent(QDragEnterEvent *event) +{ + event->acceptProposedAction(); +} + +void +NhekoDropArea::dragMoveEvent(QDragMoveEvent *event) +{ + event->acceptProposedAction(); +} + +void +NhekoDropArea::dropEvent(QDropEvent *event) +{ + if (event) { + auto model = ChatPage::instance()->timelineManager()->getHistoryView(roomid_); + if (model) { + model->input()->insertMimeData(event->mimeData()); + } + } +}