┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/panels/information/informationpanelcontent.cpp
diff options
context:
space:
mode:
authorMéven Car <[email protected]>2022-02-02 15:45:19 +0100
committerMéven Car <[email protected]>2022-02-02 18:16:59 +0100
commit08a9aaad2c102ee988edce97b34b66b1afc65a0d (patch)
tree6f227a1c50c0d7d0bb2896fdf19aa99a7cff7514 /src/panels/information/informationpanelcontent.cpp
parent487e95376dc6021c4d7e52a2a8b98d1da9fb4fd3 (diff)
InformationPanel: Improve video arrow overlay appearance
Diffstat (limited to 'src/panels/information/informationpanelcontent.cpp')
-rw-r--r--src/panels/information/informationpanelcontent.cpp17
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;