From 5b4a5ca05925a9127508601f8cca88aff8acc9c0 Mon Sep 17 00:00:00 2001 From: Tillmann Karras Date: Fri, 1 Feb 2019 00:13:50 +0000 Subject: [PATCH] DolphinQt: cache filesystem icons for speed --- Source/Core/DolphinQt/Config/FilesystemWidget.cpp | 7 +++++-- Source/Core/DolphinQt/Config/FilesystemWidget.h | 4 ++++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/Source/Core/DolphinQt/Config/FilesystemWidget.cpp b/Source/Core/DolphinQt/Config/FilesystemWidget.cpp index 8a97563425..8f274c3bf9 100644 --- a/Source/Core/DolphinQt/Config/FilesystemWidget.cpp +++ b/Source/Core/DolphinQt/Config/FilesystemWidget.cpp @@ -86,6 +86,10 @@ void FilesystemWidget::ConnectWidgets() void FilesystemWidget::PopulateView() { + // Cache these two icons, the tree will use them a lot. + m_folder_icon = Resources::GetScaledIcon("isoproperties_folder"); + m_file_icon = Resources::GetScaledIcon("isoproperties_file"); + auto* disc = new QStandardItem(tr("Disc")); disc->setEditable(false); disc->setIcon(Resources::GetScaledIcon("isoproperties_disc")); @@ -131,8 +135,7 @@ void FilesystemWidget::PopulateDirectory(int partition_id, QStandardItem* root, { auto* item = new QStandardItem(QString::fromStdString(info.GetName())); item->setEditable(false); - item->setIcon(Resources::GetScaledIcon(info.IsDirectory() ? "isoproperties_folder" : - "isoproperties_file")); + item->setIcon(info.IsDirectory() ? m_folder_icon : m_file_icon); if (info.IsDirectory()) PopulateDirectory(partition_id, item, info); diff --git a/Source/Core/DolphinQt/Config/FilesystemWidget.h b/Source/Core/DolphinQt/Config/FilesystemWidget.h index 47e7342a4b..b5b740be78 100644 --- a/Source/Core/DolphinQt/Config/FilesystemWidget.h +++ b/Source/Core/DolphinQt/Config/FilesystemWidget.h @@ -5,6 +5,7 @@ #pragma once #include +#include #include #include "UICommon/GameFile.h" @@ -53,4 +54,7 @@ private: UICommon::GameFile m_game; std::unique_ptr m_volume; + + QIcon m_folder_icon; + QIcon m_file_icon; };