mirror of
https://github.com/RGBCube/serenity
synced 2025-07-26 10:27:34 +00:00
DisplaySettings: Use LibConfig where possible
Some places here still need to open `/etc/WindowServer.ini` which we can't do with th ConfigServer yet.
This commit is contained in:
parent
d276657f85
commit
8fdb435d24
3 changed files with 8 additions and 5 deletions
|
@ -22,6 +22,9 @@
|
||||||
#include <LibGfx/Palette.h>
|
#include <LibGfx/Palette.h>
|
||||||
#include <LibGfx/SystemTheme.h>
|
#include <LibGfx/SystemTheme.h>
|
||||||
|
|
||||||
|
// Including this after to avoid LibIPC errors
|
||||||
|
#include <LibConfig/Client.h>
|
||||||
|
|
||||||
namespace DisplaySettings {
|
namespace DisplaySettings {
|
||||||
|
|
||||||
BackgroundSettingsWidget::BackgroundSettingsWidget()
|
BackgroundSettingsWidget::BackgroundSettingsWidget()
|
||||||
|
@ -86,9 +89,8 @@ void BackgroundSettingsWidget::create_frame()
|
||||||
void BackgroundSettingsWidget::load_current_settings()
|
void BackgroundSettingsWidget::load_current_settings()
|
||||||
{
|
{
|
||||||
auto ws_config = Core::ConfigFile::open("/etc/WindowServer.ini");
|
auto ws_config = Core::ConfigFile::open("/etc/WindowServer.ini");
|
||||||
auto wm_config = Core::ConfigFile::open_for_app("WindowManager");
|
|
||||||
|
|
||||||
auto selected_wallpaper = wm_config->read_entry("Background", "Wallpaper", "");
|
auto selected_wallpaper = Config::read_string("WindowManager", "Background", "Wallpaper", "");
|
||||||
if (!selected_wallpaper.is_empty()) {
|
if (!selected_wallpaper.is_empty()) {
|
||||||
auto index = static_cast<GUI::FileSystemModel*>(m_wallpaper_view->model())->index(selected_wallpaper, m_wallpaper_view->model_column());
|
auto index = static_cast<GUI::FileSystemModel*>(m_wallpaper_view->model())->index(selected_wallpaper, m_wallpaper_view->model_column());
|
||||||
m_wallpaper_view->set_cursor(index, GUI::AbstractView::SelectionUpdate::Set);
|
m_wallpaper_view->set_cursor(index, GUI::AbstractView::SelectionUpdate::Set);
|
||||||
|
@ -118,8 +120,7 @@ void BackgroundSettingsWidget::load_current_settings()
|
||||||
|
|
||||||
void BackgroundSettingsWidget::apply_settings()
|
void BackgroundSettingsWidget::apply_settings()
|
||||||
{
|
{
|
||||||
auto wm_config = Core::ConfigFile::open_for_app("WindowManager", Core::ConfigFile::AllowWriting::Yes);
|
Config::write_string("WindowManager", "Background", "Wallpaper", m_monitor_widget->wallpaper());
|
||||||
wm_config->write_entry("Background", "Wallpaper", m_monitor_widget->wallpaper());
|
|
||||||
|
|
||||||
if (!m_monitor_widget->wallpaper().is_empty()) {
|
if (!m_monitor_widget->wallpaper().is_empty()) {
|
||||||
GUI::Desktop::the().set_wallpaper(m_monitor_widget->wallpaper());
|
GUI::Desktop::the().set_wallpaper(m_monitor_widget->wallpaper());
|
||||||
|
|
|
@ -23,4 +23,4 @@ set(SOURCES
|
||||||
)
|
)
|
||||||
|
|
||||||
serenity_app(DisplaySettings ICON app-display-settings)
|
serenity_app(DisplaySettings ICON app-display-settings)
|
||||||
target_link_libraries(DisplaySettings LibGUI)
|
target_link_libraries(DisplaySettings LibGUI LibConfig)
|
||||||
|
|
|
@ -9,6 +9,7 @@
|
||||||
#include "DesktopSettingsWidget.h"
|
#include "DesktopSettingsWidget.h"
|
||||||
#include "FontSettingsWidget.h"
|
#include "FontSettingsWidget.h"
|
||||||
#include "MonitorSettingsWidget.h"
|
#include "MonitorSettingsWidget.h"
|
||||||
|
#include <LibConfig/Client.h>
|
||||||
#include <LibGUI/Application.h>
|
#include <LibGUI/Application.h>
|
||||||
#include <LibGUI/BoxLayout.h>
|
#include <LibGUI/BoxLayout.h>
|
||||||
#include <LibGUI/Button.h>
|
#include <LibGUI/Button.h>
|
||||||
|
@ -28,6 +29,7 @@ int main(int argc, char** argv)
|
||||||
}
|
}
|
||||||
|
|
||||||
auto app = GUI::Application::construct(argc, argv);
|
auto app = GUI::Application::construct(argc, argv);
|
||||||
|
Config::pledge_domains("WindowManager");
|
||||||
|
|
||||||
if (pledge("stdio thread recvfd sendfd rpath cpath wpath", nullptr) < 0) {
|
if (pledge("stdio thread recvfd sendfd rpath cpath wpath", nullptr) < 0) {
|
||||||
perror("pledge");
|
perror("pledge");
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue