diff --git a/src/playlist/playlistsequence.cpp b/src/playlist/playlistsequence.cpp index 2e76a2555..72821b513 100644 --- a/src/playlist/playlistsequence.cpp +++ b/src/playlist/playlistsequence.cpp @@ -112,10 +112,10 @@ PlaylistSequence::~PlaylistSequence() { delete ui_; } -int PlaylistSequence::CalculateIconSize() const { +int PlaylistSequence::CalculateIconSize() { // Get screen information for the widget - QScreen *screen = Utilities::GetScreen(const_cast(this)); + QScreen *screen = Utilities::GetScreen(this); if (!screen) { screen = QGuiApplication::primaryScreen(); } @@ -141,7 +141,9 @@ int PlaylistSequence::CalculateIconSize() const { const qreal dpi_factor = device_pixel_ratio / kReferenceDevicePixelRatio; // Calculate final icon size with combined scaling - // Use a balanced approach: resolution contributes 50%, DPI contributes 50% + // Formula: 50% from resolution scaling + 50% from DPI scaling + 50% base multiplier + // The 0.5 base ensures icons scale up appropriately across different displays + // Without it, icons would be too small on average displays const qreal combined_factor = (resolution_factor * 0.5) + (dpi_factor * 0.5) + 0.5; int calculated_size = static_cast(kBaseIconSize * combined_factor); diff --git a/src/playlist/playlistsequence.h b/src/playlist/playlistsequence.h index 225fcffd8..ec3e0317f 100644 --- a/src/playlist/playlistsequence.h +++ b/src/playlist/playlistsequence.h @@ -83,7 +83,7 @@ class PlaylistSequence : public QWidget { private: void Load(); void Save(); - int CalculateIconSize() const; + int CalculateIconSize(); static QIcon AddDesaturatedIcon(const QIcon &icon); static QPixmap DesaturatedPixmap(const QPixmap &pixmap);