mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-12-22 05:16:21 +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 (lyxrc.use_system_theme_icons) {
|
||||
// use the icons from system theme that are available
|
||||
QString action = toqstr(lyxaction.getActionName(f.action()));
|
||||
if (!f.argument().empty())
|
||||
action += " " + toqstr(f.argument());
|
||||
QString const theme_icon = themeIconName(action);
|
||||
if (QIcon::hasThemeIcon(theme_icon))
|
||||
return QIcon::fromTheme(theme_icon);
|
||||
if (QIcon::hasThemeIcon(theme_icon)) {
|
||||
QIcon const thmicn = QIcon::fromTheme(theme_icon);
|
||||
if (!thmicn.isNull())
|
||||
return thmicn;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user