impr: Only enable font config Apply button when setting has changed

This commit is contained in:
WerWolv
2025-01-25 15:50:52 +01:00
parent de4135d1ad
commit 35e8acd69d
2 changed files with 13 additions and 6 deletions

View File

@@ -52,6 +52,8 @@ namespace hex::fonts {
FontFilePicker m_fontFilePicker;
SliderPoints m_fontSize;
ContentRegistry::Settings::Widgets::Checkbox m_bold, m_italic, m_antiAliased;
bool m_applyEnabled = false;
};
ContentRegistry::Settings::Widgets::Widget::Interface& addFontSettingsWidget(UnlocalizedString name);

View File

@@ -153,20 +153,25 @@ namespace hex::fonts {
bool FontSelector::drawPopup() {
bool changed = false;
if (ImGui::BeginPopup("Fonts")) {
m_fontFilePicker.draw("hex.fonts.setting.font.custom_font"_lang);
if (m_fontFilePicker.draw("hex.fonts.setting.font.custom_font"_lang)) m_applyEnabled = true;
ImGui::BeginDisabled(m_fontFilePicker.isPixelPerfectFontSelected());
{
m_fontSize.draw("hex.fonts.setting.font.font_size"_lang);
m_bold.draw("hex.fonts.setting.font.font_bold"_lang);
m_italic.draw("hex.fonts.setting.font.font_italic"_lang);
m_antiAliased.draw("hex.fonts.setting.font.font_antialias"_lang);
if (m_fontSize.draw("hex.fonts.setting.font.font_size"_lang)) m_applyEnabled = true;
if (m_bold.draw("hex.fonts.setting.font.font_bold"_lang)) m_applyEnabled = true;
if (m_italic.draw("hex.fonts.setting.font.font_italic"_lang)) m_applyEnabled = true;
if (m_antiAliased.draw("hex.fonts.setting.font.font_antialias"_lang)) m_applyEnabled = true;
}
ImGui::EndDisabled();
ImGui::NewLine();
if (ImGui::Button("hex.ui.common.apply"_lang))
ImGui::BeginDisabled(!m_applyEnabled);
if (ImGui::Button("hex.ui.common.apply"_lang)) {
changed = true;
m_applyEnabled = false;
}
ImGui::EndDisabled();
ImGui::EndPopup();
}