From 17af865a9fcbb6ebf88f39e6accb4a8fa4840833 Mon Sep 17 00:00:00 2001 From: Marek Kochanowicz Date: Sun, 16 Feb 2014 09:51:33 +0100 Subject: [PATCH] checking for the source of the drop, reject those from other files for now --- apps/opencs/view/world/scriptedit.cpp | 18 +++++++++++------- apps/opencs/view/world/scriptedit.hpp | 8 +++++++- apps/opencs/view/world/scriptsubview.cpp | 2 +- 3 files changed, 19 insertions(+), 9 deletions(-) diff --git a/apps/opencs/view/world/scriptedit.cpp b/apps/opencs/view/world/scriptedit.cpp index f7f82c9781..ecfaa3ba87 100644 --- a/apps/opencs/view/world/scriptedit.cpp +++ b/apps/opencs/view/world/scriptedit.cpp @@ -5,8 +5,9 @@ #include "../../model/world/universalid.hpp" #include "../../model/world/tablemimedata.hpp" -CSVWorld::ScriptEdit::ScriptEdit (QWidget* parent) : - QTextEdit (parent) +CSVWorld::ScriptEdit::ScriptEdit (QWidget* parent, const CSMDoc::Document& document) : + QTextEdit (parent), + mDocument (document) { mAllowedTypes <pos())); - std::vector records (mime->getData()); - - for (std::vector::iterator it = records.begin(); it != records.end(); ++it) + if (mime->fromDocument (mDocument)) { - if (mAllowedTypes.contains (it->getType())) + std::vector records (mime->getData()); + + for (std::vector::iterator it = records.begin(); it != records.end(); ++it) { - QString::fromStdString ('"' + it->getId() + '"'); + if (mAllowedTypes.contains (it->getType())) + { + QString::fromStdString ('"' + it->getId() + '"'); + } } } } \ No newline at end of file diff --git a/apps/opencs/view/world/scriptedit.hpp b/apps/opencs/view/world/scriptedit.hpp index a110f58c89..dc97382b34 100644 --- a/apps/opencs/view/world/scriptedit.hpp +++ b/apps/opencs/view/world/scriptedit.hpp @@ -8,16 +8,22 @@ class QWidget; +namespace CSMDoc +{ + class Document; +} + namespace CSVWorld { class ScriptEdit : public QTextEdit { Q_OBJECT public: - ScriptEdit (QWidget* parent); + ScriptEdit (QWidget* parent, const CSMDoc::Document& document); private: QVector mAllowedTypes; + const CSMDoc::Document& mDocument; void dragEnterEvent (QDragEnterEvent* event); diff --git a/apps/opencs/view/world/scriptsubview.cpp b/apps/opencs/view/world/scriptsubview.cpp index 4fe5aafac6..fa41151ca3 100644 --- a/apps/opencs/view/world/scriptsubview.cpp +++ b/apps/opencs/view/world/scriptsubview.cpp @@ -28,7 +28,7 @@ CSVWorld::ScriptSubView::ChangeLock::~ChangeLock() CSVWorld::ScriptSubView::ScriptSubView (const CSMWorld::UniversalId& id, CSMDoc::Document& document) : SubView (id), mDocument (document), mColumn (-1), mChangeLocked (0) { - setWidget (mEditor = new ScriptEdit (this)); + setWidget (mEditor = new ScriptEdit (this, mDocument)); mEditor->setAcceptRichText (false); mEditor->setLineWrapMode (QTextEdit::NoWrap);