============================================================================
| 452 | |
| 453 | //============================================================================ |
| 454 | void CFloatingDragPreview::paintEvent(QPaintEvent* event) |
| 455 | { |
| 456 | Q_UNUSED(event); |
| 457 | if (d->Hidden) |
| 458 | { |
| 459 | return; |
| 460 | } |
| 461 | |
| 462 | QPainter painter(this); |
| 463 | painter.setOpacity(0.6); |
| 464 | if (CDockManager::testConfigFlag(CDockManager::DragPreviewShowsContentPixmap)) |
| 465 | { |
| 466 | painter.drawPixmap(QPoint(0, 0), d->ContentPreviewPixmap); |
| 467 | } |
| 468 | |
| 469 | // If we do not have a window frame then we paint a QRubberBand like |
| 470 | // frameless window |
| 471 | if (!CDockManager::testConfigFlag(CDockManager::DragPreviewHasWindowFrame)) |
| 472 | { |
| 473 | QColor Color = palette().color(QPalette::Active, QPalette::Highlight); |
| 474 | QPen Pen = painter.pen(); |
| 475 | Pen.setColor(Color.darker(120)); |
| 476 | Pen.setStyle(Qt::SolidLine); |
| 477 | Pen.setWidth(1); |
| 478 | Pen.setCosmetic(true); |
| 479 | painter.setPen(Pen); |
| 480 | Color = Color.lighter(130); |
| 481 | Color.setAlpha(64); |
| 482 | painter.setBrush(Color); |
| 483 | painter.drawRect(rect().adjusted(0, 0, -1, -1)); |
| 484 | } |
| 485 | } |
| 486 | |
| 487 | //============================================================================ |
| 488 | void CFloatingDragPreview::onApplicationStateChanged(Qt::ApplicationState state) |