mirror of
https://github.com/d47081/qBittorrent.git
synced 2025-02-02 09:55:55 +00:00
Revise icon cache look up
Find in `m_iconCache` first because it is cheaper than calling `QIcon::fromTheme()`.
This commit is contained in:
parent
f54cc5796e
commit
c2c17fd053
@ -201,7 +201,13 @@ void UIThemeManager::applyStyleSheet() const
|
||||
|
||||
QIcon UIThemeManager::getIcon(const QString &iconId, const QString &fallback) const
|
||||
{
|
||||
// Cache to avoid rescaling svg icons
|
||||
const auto iter = m_iconCache.find(iconId);
|
||||
if (iter != m_iconCache.end())
|
||||
return *iter;
|
||||
|
||||
#if (defined(Q_OS_UNIX) && !defined(Q_OS_MACOS))
|
||||
// Don't cache system icons because users might change them at run time
|
||||
if (m_useSystemTheme)
|
||||
{
|
||||
QIcon icon = QIcon::fromTheme(iconId);
|
||||
@ -211,12 +217,6 @@ QIcon UIThemeManager::getIcon(const QString &iconId, const QString &fallback) co
|
||||
}
|
||||
#endif
|
||||
|
||||
// Cache to avoid rescaling svg icons
|
||||
// And don't cache system icons because users might change them at run time
|
||||
const auto iter = m_iconCache.find(iconId);
|
||||
if (iter != m_iconCache.end())
|
||||
return *iter;
|
||||
|
||||
const QIcon icon {getIconPathFromResources(iconId, fallback).data()};
|
||||
m_iconCache[iconId] = icon;
|
||||
return icon;
|
||||
|
Loading…
x
Reference in New Issue
Block a user