MCPcopy Create free account
hub / github.com/PCSX2/pcsx2 / populateList

Method populateList

pcsx2-qt/Settings/BIOSSettingsWidget.cpp:54–133  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

52}
53
54void BIOSSettingsWidget::populateList(QTreeWidget* list, const std::string& directory)
55{
56 const std::string selected_bios = Host::GetBaseStringSettingValue("Filenames", "BIOS");
57 const QString res_path = QtHost::GetResourcesBasePath();
58
59 QSignalBlocker blocker(list);
60 list->clear();
61 list->setEnabled(false);
62 qApp->processEvents(QEventLoop::ExcludeUserInputEvents);
63
64 FileSystem::FindResultsArray files;
65 FileSystem::FindFiles(directory.c_str(), "*", FILESYSTEM_FIND_FILES | FILESYSTEM_FIND_HIDDEN_FILES, &files);
66
67 u32 bios_version, bios_region;
68 std::string bios_description, bios_zone;
69
70 for (const FILESYSTEM_FIND_DATA& fd : files)
71 {
72 if (!IsBIOS(fd.FileName.c_str(), bios_version, bios_description, bios_region, bios_zone))
73 continue;
74
75 const std::string_view bios_name = Path::GetFileName(fd.FileName);
76
77 QTreeWidgetItem* item = new QTreeWidgetItem();
78 item->setText(0, QtUtils::StringViewToQString(bios_name));
79 item->setText(1, QString::fromStdString(bios_description));
80
81 switch (bios_region)
82 {
83 case 0: // Japan
84 item->setIcon(0, QIcon(QStringLiteral("%1/icons/flags/jp.svg").arg(res_path)));
85 break;
86
87 case 1: // USA
88 item->setIcon(0, QIcon(QStringLiteral("%1/icons/flags/us.svg").arg(res_path)));
89 break;
90
91 case 2: // Europe
92 item->setIcon(0, QIcon(QStringLiteral("%1/icons/flags/eu.svg").arg(res_path)));
93 break;
94
95 case 3: // Oceania
96 item->setIcon(0, QIcon(QStringLiteral("%1/icons/flags/au.svg").arg(res_path)));
97 break;
98
99 case 4: // Asia
100 item->setIcon(0, QIcon(QStringLiteral("%1/icons/flags/hk.svg").arg(res_path)));
101 break;
102
103 case 5: // Russia
104 item->setIcon(0, QIcon(QStringLiteral("%1/icons/flags/ru.svg").arg(res_path)));
105 break;
106
107 case 6: // China
108 item->setIcon(0, QIcon(QStringLiteral("%1/icons/flags/cn.svg").arg(res_path)));
109 break;
110
111 case 7: // Mexico

Callers

nothing calls this directly

Calls 6

IsBIOSFunction · 0.85
StringViewToQStringFunction · 0.85
QIconClass · 0.85
argMethod · 0.80
clearMethod · 0.45
c_strMethod · 0.45

Tested by

no test coverage detected