33 std::vector<std::pair<std::string, std::string>>
configInfo;
41 void save(ImGuiTextBuffer& buf)
override;
47 [[nodiscard]] std::string
displayNameForRom(
const std::string& filename,
bool compact =
false);
56 [[nodiscard]]
const std::string&
getTestResult(ExtensionInfo& info);
94 groups[2].edit.name =
"ramdsk";
114 bool selectRecent(
ItemGroup& group,
function_ref<std::string(
const std::string&)> displayFunc,
float width)
const;
115 bool selectImage(
ItemGroup& group,
const std::string& title,
117 function_ref<std::string(
const std::string&)> displayFunc = std::identity{},
118 const std::function<void()>& createNewCallback = {});
119 bool selectDirectory(ItemGroup& info,
const std::string& title,
zstring_view current,
120 const std::function<
void()>& createNewCallback);
121 bool selectPatches(MediaItem& item,
int& patchIndex);
122 bool insertMediaButton(std::string_view mediaName, ItemGroup& group,
bool* showWindow);
123 TclObject showDiskInfo(std::string_view mediaName, DiskMediaInfo& info);
124 TclObject showCartridgeInfo(std::string_view mediaName, CartridgeMediaInfo& info,
int slot);
125 void diskMenu(
int i);
126 void cartridgeMenu(
int i);
127 void cassetteMenu(
const TclObject& cmdResult);
128 void insertMedia(std::string_view mediaName, ItemGroup& group);
130 void printExtensionInfo(ExtensionInfo& info);
131 void extensionTooltip(ExtensionInfo& info);
132 bool drawExtensionFilter();
135 std::array<DiskMediaInfo, RealDrive::MAX_DRIVES> diskMediaInfo;
136 std::array<CartridgeMediaInfo, CartridgeSlotManager::MAX_SLOTS> cartridgeMediaInfo;
137 ItemGroup extensionMediaInfo;
138 CassetteMediaInfo cassetteMediaInfo;
139 std::array<ItemGroup, HD::MAX_HD> hdMediaInfo;
140 std::array<ItemGroup, IDECDROM::MAX_CD> cdMediaInfo;
141 ItemGroup laserdiscMediaInfo;
143 std::string filterType;
144 std::string filterString;
145 bool filterOpen =
false;
147 std::vector<ExtensionInfo> extensionInfo;
149 static constexpr auto persistentElements = std::tuple{