forked from mirror/openmw-tes3mp
Merge remote-tracking branch 'sirherrbatka/Feature#1274'
Conflicts: apps/opencs/view/world/table.cppopenmw-30
commit
7f78c29bb5
@ -0,0 +1,38 @@
|
|||||||
|
#include <QDrag>
|
||||||
|
|
||||||
|
#include "../../model/world/tablemimedata.hpp"
|
||||||
|
#include "dragrecordtable.hpp"
|
||||||
|
|
||||||
|
void CSVWorld::DragRecordTable::startDrag (const CSVWorld::DragRecordTable& table)
|
||||||
|
{
|
||||||
|
CSMWorld::TableMimeData* mime = new CSMWorld::TableMimeData (table.getDraggedRecords(), mDocument);
|
||||||
|
|
||||||
|
if (mime)
|
||||||
|
{
|
||||||
|
QDrag* drag = new QDrag (this);
|
||||||
|
drag->setMimeData (mime);
|
||||||
|
drag->setPixmap (QString::fromUtf8 (mime->getIcon().c_str()));
|
||||||
|
drag->exec (Qt::CopyAction);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
CSVWorld::DragRecordTable::DragRecordTable (CSMDoc::Document& document, QWidget* parent) :
|
||||||
|
mDocument(document),
|
||||||
|
QTableView(parent),
|
||||||
|
mEditLock(false)
|
||||||
|
{}
|
||||||
|
|
||||||
|
void CSVWorld::DragRecordTable::setEditLock (bool locked)
|
||||||
|
{
|
||||||
|
mEditLock = locked;
|
||||||
|
}
|
||||||
|
|
||||||
|
void CSVWorld::DragRecordTable::dragEnterEvent(QDragEnterEvent *event)
|
||||||
|
{
|
||||||
|
event->acceptProposedAction();
|
||||||
|
}
|
||||||
|
|
||||||
|
void CSVWorld::DragRecordTable::dragMoveEvent(QDragMoveEvent *event)
|
||||||
|
{
|
||||||
|
event->accept();
|
||||||
|
}
|
@ -0,0 +1,45 @@
|
|||||||
|
#ifndef CSV_WORLD_DRAGRECORDTABLE_H
|
||||||
|
#define CSV_WORLD_DRAGRECORDTABLE_H
|
||||||
|
|
||||||
|
#include <QTableView>
|
||||||
|
#include <QtGui/qevent.h>
|
||||||
|
|
||||||
|
class QWidget;
|
||||||
|
class QAction;
|
||||||
|
|
||||||
|
namespace CSMDoc
|
||||||
|
{
|
||||||
|
class Document;
|
||||||
|
}
|
||||||
|
|
||||||
|
namespace CSMWorld
|
||||||
|
{
|
||||||
|
class UniversalId;
|
||||||
|
}
|
||||||
|
|
||||||
|
namespace CSVWorld
|
||||||
|
{
|
||||||
|
class DragRecordTable : public QTableView
|
||||||
|
{
|
||||||
|
protected:
|
||||||
|
CSMDoc::Document& mDocument;
|
||||||
|
bool mEditLock;
|
||||||
|
|
||||||
|
public:
|
||||||
|
DragRecordTable(CSMDoc::Document& document, QWidget* parent = NULL);
|
||||||
|
|
||||||
|
virtual std::vector<CSMWorld::UniversalId> getDraggedRecords() const = 0;
|
||||||
|
|
||||||
|
void setEditLock(bool locked);
|
||||||
|
|
||||||
|
protected:
|
||||||
|
void startDrag(const DragRecordTable& table);
|
||||||
|
|
||||||
|
void dragEnterEvent(QDragEnterEvent *event);
|
||||||
|
|
||||||
|
void dragMoveEvent(QDragMoveEvent *event);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue