void ToolBarColorBox::setColor(const QColor &color) { m_color = color; QPixmap pix = createDragPixmap(width()); setPixmap(pix); update(); }
void ToolBarColorBox::mouseMoveEvent(QMouseEvent *event) { if (event->buttons() & Qt::LeftButton && QPoint(event->pos() - m_dragBeginPoint).manhattanLength() > QApplication::startDragDistance() && !m_dragStarted) { m_dragStarted = true; QDrag *drag = new QDrag(this); QMimeData *mimeData = new QMimeData; mimeData->setText(m_color.name()); drag->setMimeData(mimeData); drag->setPixmap(createDragPixmap()); drag->exec(); } }