mirror of
https://github.com/YACReader/yacreader
synced 2025-07-26 00:44:59 -04:00
added drag&drop support for sorting comics in lists
This commit is contained in:
@ -75,6 +75,8 @@ YACReaderTableView::YACReaderTableView(QWidget *parent) :
|
||||
//drag: if the default drag is enabled there is no way for setting a custom image
|
||||
//TODO report bug/suggestion
|
||||
//setDragEnabled(true);
|
||||
//setDragDropMode(QAbstractItemView::DragDrop);
|
||||
setAcceptDrops(true);
|
||||
}
|
||||
|
||||
void YACReaderTableView::mouseMoveEvent(QMouseEvent *event)
|
||||
@ -161,6 +163,34 @@ void YACReaderTableView::performDrag()
|
||||
Qt::DropAction dropAction = drag->exec(Qt::CopyAction | Qt::MoveAction, Qt::CopyAction);
|
||||
}
|
||||
|
||||
void YACReaderTableView::dragEnterEvent(QDragEnterEvent *event)
|
||||
{
|
||||
QTableView::dragEnterEvent(event);
|
||||
|
||||
if(model()->canDropMimeData(event->mimeData(),event->proposedAction(),0,0,QModelIndex()))
|
||||
event->acceptProposedAction();
|
||||
QLOG_DEBUG() << "drag enter table";
|
||||
}
|
||||
|
||||
void YACReaderTableView::dragMoveEvent(QDragMoveEvent *event)
|
||||
{
|
||||
QTableView::dragMoveEvent(event);
|
||||
|
||||
if(model()->canDropMimeData(event->mimeData(),event->proposedAction(),0,0,QModelIndex()))
|
||||
event->acceptProposedAction();
|
||||
QLOG_DEBUG() << "dragMoveEvent table";
|
||||
}
|
||||
|
||||
void YACReaderTableView::dropEvent(QDropEvent *event)
|
||||
{
|
||||
QTableView::dropEvent(event);
|
||||
|
||||
if(model()->canDropMimeData(event->mimeData(),event->proposedAction(),0,0,QModelIndex()))
|
||||
event->acceptProposedAction();
|
||||
QLOG_DEBUG() << "drop on table";
|
||||
|
||||
}
|
||||
|
||||
void YACReaderTableView::closeRatingEditor()
|
||||
{
|
||||
editing = false;
|
||||
|
@ -34,6 +34,10 @@ private:
|
||||
void mousePressEvent(QMouseEvent * event);
|
||||
void leaveEvent(QEvent * event);
|
||||
void performDrag();
|
||||
void dragEnterEvent(QDragEnterEvent * event);
|
||||
void dragMoveEvent(QDragMoveEvent * event);
|
||||
void dropEvent(QDropEvent * event);
|
||||
|
||||
|
||||
bool editing;
|
||||
QModelIndex currentIndexEditing;
|
||||
|
Reference in New Issue
Block a user