diff --git a/toonz/sources/include/toonzqt/gutil.h b/toonz/sources/include/toonzqt/gutil.h index 7708430..c986413 100644 --- a/toonz/sources/include/toonzqt/gutil.h +++ b/toonz/sources/include/toonzqt/gutil.h @@ -116,7 +116,8 @@ QPixmap DVAPI recolorPixmap( QPixmap pixmap, QColor color = Preferences::instance()->getIconTheme() ? Qt::black : Qt::white); -QIcon DVAPI createQIcon(const char *iconSVGName, bool useFullOpacity = false); +QIcon DVAPI createQIcon(const char *iconSVGName, bool useFullOpacity = false, + bool isForMenuItem = false); QIcon DVAPI createQIconPNG(const char *iconPNGName); QIcon DVAPI createQIconOnOffPNG(const char *iconPNGName, bool withOver = true); QIcon DVAPI createTemporaryIconFromName(const char *commandName); diff --git a/toonz/sources/toonz/mainwindow.cpp b/toonz/sources/toonz/mainwindow.cpp index 27c5e5a..b885b6f 100644 --- a/toonz/sources/toonz/mainwindow.cpp +++ b/toonz/sources/toonz/mainwindow.cpp @@ -1480,7 +1480,7 @@ QAction *MainWindow::createAction(const char *id, const char *name, #endif // do nothing for other platforms } else - action->setIcon(createQIcon(iconSVGName)); + action->setIcon(createQIcon(iconSVGName, false, true)); addAction(action); #ifdef MACOSX // To prevent the wrong menu items (due to MacOS menu naming conventions), @@ -2873,7 +2873,7 @@ void MainWindow::defineActions() { menuAct = createMiscAction(MI_RefreshTree, QT_TR_NOOP("Refresh Folder Tree"), ""); menuAct->setIconText(tr("Refresh")); - menuAct->setIcon(createQIcon("refresh")); + menuAct->setIcon(createQIcon("refresh", false, true)); createMiscAction("A_FxSchematicToggle", QT_TR_NOOP("Toggle FX/Stage schematic"), ""); diff --git a/toonz/sources/toonzqt/gutil.cpp b/toonz/sources/toonzqt/gutil.cpp index 5b81b51..6e63e35 100644 --- a/toonz/sources/toonzqt/gutil.cpp +++ b/toonz/sources/toonzqt/gutil.cpp @@ -267,7 +267,8 @@ QPixmap recolorPixmap(QPixmap pixmap, QColor color) { //----------------------------------------------------------------------------- -QIcon createQIcon(const char *iconSVGName, bool useFullOpacity) { +QIcon createQIcon(const char *iconSVGName, bool useFullOpacity, + bool isForMenuItem) { static int devPixRatio = getDevPixRatio(); QIcon themeIcon = QIcon::fromTheme(iconSVGName); @@ -321,7 +322,8 @@ QIcon createQIcon(const char *iconSVGName, bool useFullOpacity) { #ifdef _WIN32 bool showIconInMenu = Preferences::instance()->getBoolValue(showIconsInMenu); // set transparent icon - if (themeIconPixmap.size() == QSize(16 * devPixRatio, 16 * devPixRatio) && + if (isForMenuItem && + themeIconPixmap.size() == QSize(16 * devPixRatio, 16 * devPixRatio) && !showIconInMenu) { static QPixmap emptyPm(16 * devPixRatio, 16 * devPixRatio); emptyPm.fill(Qt::transparent);