Fixes for macOS

This commit is contained in:
David Chavez 2025-03-14 23:00:12 +01:00
parent dcc42fc596
commit 6d105ecbec
2 changed files with 13 additions and 9 deletions

View File

@ -49,16 +49,16 @@ namespace recompui {
void Slider::update_label_text() {
char text_buffer[32];
int precision = type == SliderType::Double ? 1 : 0;
auto result = std::to_chars(text_buffer, text_buffer + sizeof(text_buffer) - 1, value, std::chars_format::fixed, precision);
if (result.ec == std::errc()) {
if (type == SliderType::Percent) {
*result.ptr = '%';
result.ptr++;
}
value_label->set_text(std::string(text_buffer, result.ptr));
if (type == SliderType::Double) {
std::snprintf(text_buffer, sizeof(text_buffer), "%.1f", value);
} else if (type == SliderType::Percent) {
std::snprintf(text_buffer, sizeof(text_buffer), "%d%%", static_cast<int>(value));
} else {
std::snprintf(text_buffer, sizeof(text_buffer), "%d", static_cast<int>(value));
}
value_label->set_text(text_buffer);
}
Slider::Slider(Element *parent, SliderType type) : Element(parent) {

View File

@ -1,5 +1,6 @@
#include "ui_mod_menu.h"
#include "recomp_ui.h"
#include "zelda_support.h"
#include "librecomp/mods.hpp"
@ -223,6 +224,9 @@ void ModMenu::open_mods_folder() {
#elif defined(__linux__)
std::string command = "xdg-open " + mods_directory.string() + " &";
std::system(command.c_str());
#elif defined(__APPLE__)
std::string command = "open " + mods_directory.string();
std::system(command.c_str());
#else
static_assert(false, "Not implemented for this platform.");
#endif
@ -540,7 +544,7 @@ ModMenu::ModMenu(Element *parent) : Element(parent) {
context.close();
sub_menu_context = recompui::create_context("assets/config_sub_menu.rml");
sub_menu_context = recompui::create_context(zelda64::get_asset_path("config_sub_menu.rml"));
sub_menu_context.open();
Rml::ElementDocument* sub_menu_doc = sub_menu_context.get_document();
Rml::Element* config_sub_menu_generic = sub_menu_doc->GetElementById("config_sub_menu");