mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 06:17:35 +00:00
DisplaySettings: Make MonitorWidget update itself on property changes
This commit is contained in:
parent
c79e33d00c
commit
bb9e955ef8
2 changed files with 9 additions and 7 deletions
|
@ -60,7 +60,6 @@ void BackgroundSettingsWidget::create_frame()
|
||||||
}
|
}
|
||||||
|
|
||||||
m_monitor_widget->set_wallpaper(path);
|
m_monitor_widget->set_wallpaper(path);
|
||||||
m_monitor_widget->update();
|
|
||||||
};
|
};
|
||||||
|
|
||||||
auto& button = *find_descendant_of_type_named<GUI::Button>("wallpaper_open_button");
|
auto& button = *find_descendant_of_type_named<GUI::Button>("wallpaper_open_button");
|
||||||
|
@ -78,7 +77,6 @@ void BackgroundSettingsWidget::create_frame()
|
||||||
m_mode_combo->set_model(*GUI::ItemListModel<String>::create(m_modes));
|
m_mode_combo->set_model(*GUI::ItemListModel<String>::create(m_modes));
|
||||||
m_mode_combo->on_change = [this](auto&, const GUI::ModelIndex& index) {
|
m_mode_combo->on_change = [this](auto&, const GUI::ModelIndex& index) {
|
||||||
m_monitor_widget->set_wallpaper_mode(m_modes.at(index.row()));
|
m_monitor_widget->set_wallpaper_mode(m_modes.at(index.row()));
|
||||||
m_monitor_widget->update();
|
|
||||||
};
|
};
|
||||||
|
|
||||||
m_color_input = *find_descendant_of_type_named<GUI::ColorInput>("color_input");
|
m_color_input = *find_descendant_of_type_named<GUI::ColorInput>("color_input");
|
||||||
|
@ -86,7 +84,6 @@ void BackgroundSettingsWidget::create_frame()
|
||||||
m_color_input->set_color_picker_title("Select color for desktop");
|
m_color_input->set_color_picker_title("Select color for desktop");
|
||||||
m_color_input->on_change = [this] {
|
m_color_input->on_change = [this] {
|
||||||
m_monitor_widget->set_background_color(m_color_input->color());
|
m_monitor_widget->set_background_color(m_color_input->color());
|
||||||
m_monitor_widget->update();
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -121,8 +118,6 @@ void BackgroundSettingsWidget::load_current_settings()
|
||||||
|
|
||||||
m_color_input->set_color(palette_desktop_color);
|
m_color_input->set_color(palette_desktop_color);
|
||||||
m_monitor_widget->set_background_color(palette_desktop_color);
|
m_monitor_widget->set_background_color(palette_desktop_color);
|
||||||
|
|
||||||
m_monitor_widget->update();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void BackgroundSettingsWidget::apply_settings()
|
void BackgroundSettingsWidget::apply_settings()
|
||||||
|
|
|
@ -28,8 +28,9 @@ bool MonitorWidget::set_wallpaper(String path)
|
||||||
auto bitmap_ptr = Gfx::Bitmap::load_from_file(path);
|
auto bitmap_ptr = Gfx::Bitmap::load_from_file(path);
|
||||||
if (!bitmap_ptr && !path.is_empty())
|
if (!bitmap_ptr && !path.is_empty())
|
||||||
return false;
|
return false;
|
||||||
m_desktop_wallpaper_path = path;
|
m_desktop_wallpaper_path = move(path);
|
||||||
m_desktop_wallpaper_bitmap = bitmap_ptr;
|
m_desktop_wallpaper_bitmap = bitmap_ptr;
|
||||||
|
update();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -40,7 +41,10 @@ String MonitorWidget::wallpaper()
|
||||||
|
|
||||||
void MonitorWidget::set_wallpaper_mode(String mode)
|
void MonitorWidget::set_wallpaper_mode(String mode)
|
||||||
{
|
{
|
||||||
m_desktop_wallpaper_mode = mode;
|
if (m_desktop_wallpaper_mode == mode)
|
||||||
|
return;
|
||||||
|
m_desktop_wallpaper_mode = move(mode);
|
||||||
|
update();
|
||||||
}
|
}
|
||||||
|
|
||||||
String MonitorWidget::wallpaper_mode()
|
String MonitorWidget::wallpaper_mode()
|
||||||
|
@ -60,7 +64,10 @@ Gfx::IntSize MonitorWidget::desktop_resolution()
|
||||||
|
|
||||||
void MonitorWidget::set_background_color(Gfx::Color color)
|
void MonitorWidget::set_background_color(Gfx::Color color)
|
||||||
{
|
{
|
||||||
|
if (m_desktop_color == color)
|
||||||
|
return;
|
||||||
m_desktop_color = color;
|
m_desktop_color = color;
|
||||||
|
update();
|
||||||
}
|
}
|
||||||
|
|
||||||
Gfx::Color MonitorWidget::background_color()
|
Gfx::Color MonitorWidget::background_color()
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue