Something went wrong. Try again.
OpenMW is an open implementation of the Morrowind engine
Something went wrong. Try again.
12345678910111213141516171819202122232425262728293031323334353637383940414243444546#include "dragdroputils.hpp"
#include <QDropEvent>
#include <apps/opencs/model/world/columnbase.hpp>#include <apps/opencs/model/world/universalid.hpp>
#include "../../model/world/tablemimedata.hpp"
const CSMWorld::TableMimeData* CSVWorld::DragDropUtils::getTableMimeData(const QDropEvent& event){ return dynamic_cast<const CSMWorld::TableMimeData*>(event.mimeData());}
bool CSVWorld::DragDropUtils::canAcceptData(const QDropEvent& event, CSMWorld::ColumnBase::Display type){ const CSMWorld::TableMimeData* data = getTableMimeData(event); return data != nullptr && data->holdsType(type);}
bool CSVWorld::DragDropUtils::isTopicOrJournal(const QDropEvent& event, CSMWorld::ColumnBase::Display type){ const CSMWorld::TableMimeData* data = getTableMimeData(event); return data != nullptr && (data->holdsType(CSMWorld::UniversalId::Type_Topic) || data->holdsType(CSMWorld::UniversalId::Type_Journal));}
bool CSVWorld::DragDropUtils::isInfo(const QDropEvent& event, CSMWorld::ColumnBase::Display type){ const CSMWorld::TableMimeData* data = getTableMimeData(event); return data != nullptr && (data->holdsType(CSMWorld::UniversalId::Type_TopicInfo) || data->holdsType(CSMWorld::UniversalId::Type_JournalInfo));}
CSMWorld::UniversalId CSVWorld::DragDropUtils::getAcceptedData( const QDropEvent& event, CSMWorld::ColumnBase::Display type){ if (canAcceptData(event, type)) { if (const CSMWorld::TableMimeData* data = getTableMimeData(event)) return data->returnMatching(type); } return CSMWorld::UniversalId::Type_None;}