diff options
| author | Méven Car <[email protected]> | 2022-02-02 15:45:19 +0100 |
|---|---|---|
| committer | Méven Car <[email protected]> | 2022-02-02 18:16:59 +0100 |
| commit | 08a9aaad2c102ee988edce97b34b66b1afc65a0d (patch) | |
| tree | 6f227a1c50c0d7d0bb2896fdf19aa99a7cff7514 | |
| parent | 487e95376dc6021c4d7e52a2a8b98d1da9fb4fd3 (diff) | |
InformationPanel: Improve video arrow overlay appearance
| -rw-r--r-- | src/panels/information/informationpanelcontent.cpp | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/src/panels/information/informationpanelcontent.cpp b/src/panels/information/informationpanelcontent.cpp index 53aac6dc1..a1e8d1b1d 100644 --- a/src/panels/information/informationpanelcontent.cpp +++ b/src/panels/information/informationpanelcontent.cpp @@ -385,22 +385,25 @@ void InformationPanelContent::showPreview(const KFileItem& item, KIconLoader::global()->drawOverlays(item.overlays(), p, KIconLoader::Desktop); if (m_isVideo) { - // adds a play arrow + // adds a play arrow overlay + + auto maxDim = qMax(p.width(), p.height()); + auto arrowSize = qMax(PLAY_ARROW_SIZE, maxDim / 8); // compute relative pixel positions - const int zeroX = static_cast<int>((p.width() / 2 - PLAY_ARROW_SIZE / 2) / pixmap.devicePixelRatio()); - const int zeroY = static_cast<int>((p.height() / 2 - PLAY_ARROW_SIZE / 2) / pixmap.devicePixelRatio()); + const int zeroX = static_cast<int>((p.width() / 2 - arrowSize / 2) / pixmap.devicePixelRatio()); + const int zeroY = static_cast<int>((p.height() / 2 - arrowSize / 2) / pixmap.devicePixelRatio()); QPolygon arrow; arrow << QPoint(zeroX, zeroY); - arrow << QPoint(zeroX, zeroY + PLAY_ARROW_SIZE); - arrow << QPoint(zeroX + PLAY_ARROW_SIZE, zeroY + PLAY_ARROW_SIZE / 2); + arrow << QPoint(zeroX, zeroY + arrowSize); + arrow << QPoint(zeroX + arrowSize, zeroY + arrowSize / 2); QPainterPath path; path.addPolygon(arrow); - QLinearGradient gradient(QPointF(zeroX, zeroY), - QPointF(zeroX + PLAY_ARROW_SIZE,zeroY + PLAY_ARROW_SIZE)); + QLinearGradient gradient(QPointF(zeroX, zeroY + arrowSize / 2), + QPointF(zeroX + arrowSize, zeroY + arrowSize / 2)); QColor whiteColor = Qt::white; QColor blackColor = Qt::black; |
