Rivendellaudio/rdlogedit/drop_tableview.cpp
Fred Gleason 0b57b4b8de 2020-12-15 Fred Gleason <fredg@paravelsystems.com>
* Added a 'RDLogLine::refreshCart()' method.
	* Refactored the 'Edit Log' dialog in rdlogedit(1) to use Qt's
	MVC API.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2020-12-15 12:53:29 -05:00

56 lines
1.3 KiB
C++

// drop_tableview.cpp
//
// The Log TableView widget for RDLogEdit.
//
// (C) Copyright 2002-2020 Fred Gleason <fredg@paravelsystems.com>
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License version 2 as
// published by the Free Software Foundation.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public
// License along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
//
#include <rdcartdrag.h>
#include "drop_tableview.h"
DropTableView::DropTableView(QWidget *parent)
: QTableView(parent)
{
setAcceptDrops(true);
}
void DropTableView::dragEnterEvent(QDragEnterEvent *e)
{
e->accept(RDCartDrag::canDecode(e));
}
void DropTableView::dragMoveEvent(QDragMoveEvent *e)
{
e->accept(RDCartDrag::canDecode(e));
}
void DropTableView::dropEvent(QDropEvent *e)
{
RDLogLine ll;
int line=-1;
int y_pos=e->pos().y();
if(RDCartDrag::decode(e,&ll)) {
line=rowAt(y_pos);
emit cartDropped(line,&ll);
}
}