35 std::vector<std::pair<std::string, std::string>>
configInfo;
43 void save(ImGuiTextBuffer& buf)
override;
49 [[nodiscard]] std::string
displayNameForRom(
const std::string& filename,
bool compact =
false);
58 [[nodiscard]]
const std::string&
getTestResult(ExtensionInfo& info);
120 bool selectRecent(
ItemGroup& group,
function_ref<std::string(
const std::string&)> displayFunc,
float width)
const;
121 bool selectImage(
ItemGroup& group,
const std::string& title,
123 function_ref<std::string(
const std::string&)> displayFunc = std::identity{},
124 const std::function<void()>& createNewCallback = {});
125 bool selectDirectory(ItemGroup& info,
const std::string& title,
zstring_view current,
126 const std::function<
void()>& createNewCallback);
127 bool selectPatches(MediaItem& item,
int& patchIndex);
128 bool insertMediaButton(std::string_view mediaName,
const ItemGroup& group,
bool* showWindow);
129 TclObject showDiskInfo(std::string_view mediaName, DiskMediaInfo& info);
130 TclObject showCartridgeInfo(std::string_view mediaName, CartridgeMediaInfo& info,
int slot);
131 void diskMenu(
int i);
132 void cartridgeMenu(
int i);
133 void cassetteMenu(CassettePlayer& cassettePlayer);
134 void insertMedia(std::string_view mediaName,
const MediaItem& item);
136 void printExtensionInfo(ExtensionInfo& info);
137 void extensionTooltip(ExtensionInfo& info);
138 bool drawExtensionFilter();
141 std::array<DiskMediaInfo, RealDrive::MAX_DRIVES> diskMediaInfo;
142 std::array<CartridgeMediaInfo, CartridgeSlotManager::MAX_SLOTS> cartridgeMediaInfo;
143 ItemGroup extensionMediaInfo;
144 CassetteMediaInfo cassetteMediaInfo;
145 std::array<ItemGroup, HD::MAX_HD> hdMediaInfo;
146 std::array<ItemGroup, IDECDROM::MAX_CD> cdMediaInfo;
147 ItemGroup laserdiscMediaInfo;
149 std::string filterType;
150 std::string filterString;
151 bool filterOpen =
false;
153 std::vector<ExtensionInfo> extensionInfo;
155 static constexpr auto persistentElements = std::tuple{