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());
+ }
+ }
+}
|