mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-22 01:59:02 +00:00
Fix using system theme icons with Qt 5 (#10052)
With Qt 5, our code did not correctly detect when icons were available and thus tried to use nonexistent icons. QIcon::hasThemeIcon(theme_icon) returns true when theme_icon is empty. We now rely on the behavior that QIcon::isNull() returns true if the icon is empty. The same code is used with Qt 4 and Qt 5.
This commit is contained in:
parent
e16018afb8
commit
594748374b
@ -600,12 +600,16 @@ QIcon getIcon(FuncRequest const & f, bool unknown)
|
|||||||
{
|
{
|
||||||
#if (QT_VERSION >= 0x040600)
|
#if (QT_VERSION >= 0x040600)
|
||||||
if (lyxrc.use_system_theme_icons) {
|
if (lyxrc.use_system_theme_icons) {
|
||||||
|
// use the icons from system theme that are available
|
||||||
QString action = toqstr(lyxaction.getActionName(f.action()));
|
QString action = toqstr(lyxaction.getActionName(f.action()));
|
||||||
if (!f.argument().empty())
|
if (!f.argument().empty())
|
||||||
action += " " + toqstr(f.argument());
|
action += " " + toqstr(f.argument());
|
||||||
QString const theme_icon = themeIconName(action);
|
QString const theme_icon = themeIconName(action);
|
||||||
if (QIcon::hasThemeIcon(theme_icon))
|
if (QIcon::hasThemeIcon(theme_icon)) {
|
||||||
return QIcon::fromTheme(theme_icon);
|
QIcon const thmicn = QIcon::fromTheme(theme_icon);
|
||||||
|
if (!thmicn.isNull())
|
||||||
|
return thmicn;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user