//QGraphicsView::mousePressEvent(event);
}
-void CustomTrackView::dragEnterEvent ( QDragEnterEvent * event )
+void CustomTrackView::dragEnterEvent( QDragEnterEvent * event )
{
if (event->mimeData()->hasText()) {
kDebug()<<"/////////////// DRAG ENTERED, TEXT: "<<event->mimeData()->text();
addItem(clip, event->pos());
event->acceptProposedAction();
}
+ else QGraphicsView::dragEnterEvent(event);
}
void CustomTrackView::slotRefreshEffects(ClipItem *clip)
if (event->mimeData()->hasText()) {
event->acceptProposedAction();
}
+ else QGraphicsView::dragMoveEvent(event);
//}
}
delete m_dropItem;
m_dropItem = NULL;
}
+ else QGraphicsView::dragLeaveEvent(event);
}
void CustomTrackView::dropEvent ( QDropEvent * event ) {
kDebug()<<"IIIIIIIIIIIIIIIIIIIIIIII TRAX CNT: "<<m_tracksCount<<", DROP: "<<m_dropItem->track();
m_document->renderer()->mltInsertClip(m_tracksCount - m_dropItem->track(), GenTime(m_dropItem->startPos(), m_document->fps()), m_dropItem->xml());
}
+ else QGraphicsView::dropEvent(event);
m_dropItem = NULL;
}
QStringList qstrList;
// list of accepted mime types for drop
qstrList.append("text/plain");
+ qstrList.append("application/x-qabstractitemmodeldatalist");
return qstrList;
}
void CustomTrackView::drawBackground ( QPainter * painter, const QRectF & rect )
{
+ QRect rectInView;//this is the rect that is visible by the user
+ if (scene()->views().size()>0){
+ rectInView=scene()->views()[0]->viewport()->rect();
+ rectInView.moveTo(scene()->views()[0]->horizontalScrollBar()->value(),scene()->views()[0]->verticalScrollBar()->value());
+ }
+ if (rectInView.isNull()) return;
+
QColor base = palette().button().color();
- //painter->setPen(base);
painter->setClipRect(rect);
- int width = scene()->sceneRect().width();
- painter->drawLine(0, 0, width, 0);
- for (uint i = 0; i < m_tracksCount;i++)
- {
- painter->drawLine(0, 50 * (i+1), width, 50 * (i+1));
- painter->drawText(QRectF(10, 50 * i, 100, 50 * i + 49), Qt::AlignLeft, i18n(" Track ") + QString::number(i + 1));
- }
- int lowerLimit = 50 * m_tracksCount;
+ painter->drawLine(rectInView.left(), 0, rectInView.right(), 0);
+ for (uint i = 0; i < m_tracksCount;i++)
+ {
+ painter->drawLine(rectInView.left(), 50 * (i+1), rectInView.right(), 50 * (i+1));
+ painter->drawText(QRectF(10, 50 * i, 100, 50 * i + 49), Qt::AlignLeft, i18n(" Track ") + QString::number(i + 1));
+ }
+ int lowerLimit = 50 * m_tracksCount + 1;
if (height() > lowerLimit)
- painter->fillRect(QRectF(0, lowerLimit, rect.width(), height() - lowerLimit), QBrush(base));
+ painter->fillRect(QRectF(rectInView.left(), lowerLimit, rectInView.width(), height() - lowerLimit), QBrush(base));
}
/*
void CustomTrackView::drawForeground ( QPainter * painter, const QRectF & rect )