restore addSpecifiedSizedImageToIcon function

This commit is contained in:
konero 2023-09-03 13:35:54 +01:00 committed by manongjohn
parent cce15602e7
commit 26e6db165c
3 changed files with 27 additions and 1 deletions

View file

@ -162,6 +162,11 @@ void DVAPI addImagesToIcon(QIcon &icon, const QImage &baseImg,
//-----------------------------------------------------------------------------
void DVAPI addSpecifiedSizedImageToIcon(QIcon &icon, const char *iconSVGName,
QSize newSize = QSize());
//-----------------------------------------------------------------------------
void DVAPI addPixmapToAllModesAndStates(QIcon &icon, const QPixmap &pixmap);
//-----------------------------------------------------------------------------

View file

@ -508,6 +508,27 @@ void addImagesToIcon(QIcon &icon, const QImage &baseImg, const QImage &overImg,
//-----------------------------------------------------------------------------
void addSpecifiedSizedImageToIcon(QIcon &icon, const char *iconSVGName,
QSize newSize) {
static int devPixRatio = getHighestDevicePixelRatio();
newSize *= devPixRatio;
// Construct icon filenames
QString iconName = QString::fromUtf8(iconSVGName);
QString overIconName = iconName + "_over";
QString onIconName = iconName + "_on";
// Generate icon images
QImage baseImg = generateIconImage(iconName, 1.0, newSize);
QImage overImg = generateIconImage(overIconName, 1.0, newSize);
QImage onImg = generateIconImage(onIconName, 1.0, newSize);
// Add newly sized images to the icon
addImagesToIcon(icon, baseImg, overImg, onImg);
}
//-----------------------------------------------------------------------------
// Add the same pixmap to all modes and states of a QIcon
void addPixmapToAllModesAndStates(QIcon &icon, const QPixmap &pixmap) {
QIcon::Mode modes[] = {QIcon::Normal, QIcon::Disabled, QIcon::Selected};

View file

@ -424,7 +424,7 @@ void CommandManager::enlargeIcon(CommandId id, const QSize dstSize) {
return;
}
icon = createQIcon(iconSVGName, false, false, dstSize);
addSpecifiedSizedImageToIcon(icon, iconSVGName, dstSize);
action->setIcon(icon);
}