mirror of
https://github.com/TES3MP/openmw-tes3mp.git
synced 2025-02-21 14:09:39 +00:00
implemented whitelist of allowed types in the scripts
This commit is contained in:
parent
930b77e60a
commit
41606a67e4
2 changed files with 41 additions and 5 deletions
|
@ -1,25 +1,51 @@
|
||||||
#include "scriptedit.hpp"
|
#include "scriptedit.hpp"
|
||||||
|
|
||||||
#include <vector>
|
|
||||||
|
|
||||||
#include <QDragEnterEvent>
|
#include <QDragEnterEvent>
|
||||||
|
|
||||||
#include "../../model/world/universalid.hpp"
|
#include "../../model/world/universalid.hpp"
|
||||||
#include "../../model/world/tablemimedata.hpp"
|
#include "../../model/world/tablemimedata.hpp"
|
||||||
|
|
||||||
CSVWorld::ScriptEdit::ScriptEdit (QWidget* parent) :
|
CSVWorld::ScriptEdit::ScriptEdit (QWidget* parent) :
|
||||||
QTextEdit(parent)
|
QTextEdit (parent)
|
||||||
{
|
{
|
||||||
|
mAllowedTypes <<CSMWorld::UniversalId::Type_Journal
|
||||||
|
<<CSMWorld::UniversalId::Type_JournalInfo
|
||||||
|
<<CSMWorld::UniversalId::Type_Global
|
||||||
|
<<CSMWorld::UniversalId::Type_Sound
|
||||||
|
<<CSMWorld::UniversalId::Type_Spell
|
||||||
|
<<CSMWorld::UniversalId::Type_Cell
|
||||||
|
<<CSMWorld::UniversalId::Type_Referenceable
|
||||||
|
<<CSMWorld::UniversalId::Type_Activator
|
||||||
|
<<CSMWorld::UniversalId::Type_Potion
|
||||||
|
<<CSMWorld::UniversalId::Type_Apparatus
|
||||||
|
<<CSMWorld::UniversalId::Type_Armor
|
||||||
|
<<CSMWorld::UniversalId::Type_Book
|
||||||
|
<<CSMWorld::UniversalId::Type_Clothing
|
||||||
|
<<CSMWorld::UniversalId::Type_Container
|
||||||
|
<<CSMWorld::UniversalId::Type_Creature
|
||||||
|
<<CSMWorld::UniversalId::Type_Door
|
||||||
|
<<CSMWorld::UniversalId::Type_Ingredient
|
||||||
|
<<CSMWorld::UniversalId::Type_CreatureLevelledList
|
||||||
|
<<CSMWorld::UniversalId::Type_ItemLevelledList
|
||||||
|
<<CSMWorld::UniversalId::Type_Light
|
||||||
|
<<CSMWorld::UniversalId::Type_Lockpick
|
||||||
|
<<CSMWorld::UniversalId::Type_Miscellaneous
|
||||||
|
<<CSMWorld::UniversalId::Type_Npc
|
||||||
|
<<CSMWorld::UniversalId::Type_Probe
|
||||||
|
<<CSMWorld::UniversalId::Type_Repair
|
||||||
|
<<CSMWorld::UniversalId::Type_Static
|
||||||
|
<<CSMWorld::UniversalId::Type_Weapon;
|
||||||
}
|
}
|
||||||
|
|
||||||
void CSVWorld::ScriptEdit::dragEnterEvent (QDragEnterEvent* event)
|
void CSVWorld::ScriptEdit::dragEnterEvent (QDragEnterEvent* event)
|
||||||
{
|
{
|
||||||
|
setTextCursor (cursorForPosition (event->pos()));
|
||||||
event->acceptProposedAction();
|
event->acceptProposedAction();
|
||||||
}
|
}
|
||||||
|
|
||||||
void CSVWorld::ScriptEdit::dragMoveEvent (QDragMoveEvent* event)
|
void CSVWorld::ScriptEdit::dragMoveEvent (QDragMoveEvent* event)
|
||||||
{
|
{
|
||||||
|
setTextCursor (cursorForPosition (event->pos()));
|
||||||
event->accept();
|
event->accept();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -27,11 +53,16 @@ void CSVWorld::ScriptEdit::dropEvent (QDropEvent* event)
|
||||||
{
|
{
|
||||||
const CSMWorld::TableMimeData* mime = dynamic_cast<const CSMWorld::TableMimeData*> (event->mimeData());
|
const CSMWorld::TableMimeData* mime = dynamic_cast<const CSMWorld::TableMimeData*> (event->mimeData());
|
||||||
|
|
||||||
|
setTextCursor (cursorForPosition (event->pos()));
|
||||||
|
|
||||||
std::vector<CSMWorld::UniversalId> records (mime->getData());
|
std::vector<CSMWorld::UniversalId> records (mime->getData());
|
||||||
|
|
||||||
for (std::vector<CSMWorld::UniversalId>::iterator it = records.begin(); it != records.end(); ++it)
|
for (std::vector<CSMWorld::UniversalId>::iterator it = records.begin(); it != records.end(); ++it)
|
||||||
{
|
{
|
||||||
insertPlainText (QString::fromStdString (it->getId()));
|
if (mAllowedTypes.contains (it->getType()))
|
||||||
|
{
|
||||||
|
insertPlainText (QString::fromStdString (it->getId() + " "));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// kate: indent-mode cstyle; indent-width 4; replace-tabs on;
|
// kate: indent-mode cstyle; indent-width 4; replace-tabs on;
|
||||||
|
|
|
@ -2,6 +2,9 @@
|
||||||
#define SCRIPTEDIT_H
|
#define SCRIPTEDIT_H
|
||||||
|
|
||||||
#include <qtextedit.h>
|
#include <qtextedit.h>
|
||||||
|
#include <QVector>
|
||||||
|
|
||||||
|
#include "../../model/world/universalid.hpp"
|
||||||
|
|
||||||
class QWidget;
|
class QWidget;
|
||||||
|
|
||||||
|
@ -14,6 +17,8 @@ namespace CSVWorld
|
||||||
ScriptEdit (QWidget* parent);
|
ScriptEdit (QWidget* parent);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
QVector<CSMWorld::UniversalId::Type> mAllowedTypes;
|
||||||
|
|
||||||
void dragEnterEvent (QDragEnterEvent* event);
|
void dragEnterEvent (QDragEnterEvent* event);
|
||||||
|
|
||||||
void dropEvent (QDropEvent* event);
|
void dropEvent (QDropEvent* event);
|
||||||
|
|
Loading…
Reference in a new issue