Brightness settings fixes (#1863)

* Brightness settings fixes

- Statusbar toggle now updated when changing in settings page
- Annoying message boxes removed
- SystemView (aka whole screen) is now refreshed after toggling from status

* Format
This commit is contained in:
E.T 2024-02-08 00:52:12 +01:00 committed by GitHub
parent c5bf0d94f9
commit 994e426d1e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 6 additions and 18 deletions

View File

@ -763,12 +763,10 @@ SetFakeBrightnessView::SetFakeBrightnessView(NavigationView& nav) {
field_fake_brightness.set_by_value(pmem::fake_brightness_level());
checkbox_brightness_switch.set_value(pmem::apply_fake_brightness());
checkbox_brightness_switch.on_select = [this](Checkbox&, bool v) {
pmem::set_apply_fake_brightness(v);
};
button_save.on_select = [&nav, this](Button&) {
pmem::set_apply_fake_brightness(checkbox_brightness_switch.value());
pmem::set_fake_brightness_level(field_fake_brightness.selected_index_value());
send_system_refresh();
nav.pop();
};

View File

@ -330,21 +330,8 @@ SystemStatusView::SystemStatusView(
toggle_fake_brightness.on_change = [this, &nav](bool v) {
set_dirty();
pmem::set_apply_fake_brightness(v);
if (nav.is_valid() && v) {
nav.display_modal(
"Brightness",
"You have enabled brightness\n"
"adjustment. Performance\n"
"will be impacted slightly.");
// TODO: refresh interface to prevent reboot requirement
// TODO: increase performance
} else if (!v) {
nav.display_modal(
"Brightness",
"Brightness adjust disabled.");
}
refresh();
parent()->set_dirty(); // The parent of NavigationView shal be the SystemView
};
button_bias_tee.on_select = [this](ImageButton&) {
@ -413,6 +400,9 @@ void SystemStatusView::refresh() {
button_converter.set_bitmap(pmem::config_updown_converter() ? &bitmap_icon_downconvert : &bitmap_icon_upconvert);
button_converter.set_foreground(pmem::config_converter() ? Color::red() : Color::light_grey());
// Brightness
toggle_fake_brightness.set_value(pmem::apply_fake_brightness());
set_dirty();
}