From b41c4768d9b2e41532ae0018469809ff37280216 Mon Sep 17 00:00:00 2001 From: Rubén Beltrán del Río Date: Mon, 19 Jan 2026 00:38:37 +0100 Subject: Update to use Gnome 48 features --- src/main.rs | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) (limited to 'src/main.rs') diff --git a/src/main.rs b/src/main.rs index 5aff910..41d3f68 100644 --- a/src/main.rs +++ b/src/main.rs @@ -43,7 +43,6 @@ use crate::icon_names::shipped::{ use cairo::ImageSurface; use gtk::gio; use gtk::glib; -use gtk::prelude::*; use relm4::{ Component, ComponentController, ComponentParts, ComponentSender, RelmApp, RelmWidgetExt, SimpleComponent, @@ -51,7 +50,7 @@ use relm4::{ gtk, }; use sourceview5::LanguageManager; -use sourceview5::prelude::{BufferExt, TextBufferExt, TextViewExt}; +use sourceview5::prelude::*; use stages::{ALL_STAGE_TYPES, LocalizedStageType}; use wmap_parser::{Map, parse}; use wmap_renderer::{Configuration, StageType, render_to_surface}; @@ -289,18 +288,18 @@ impl AppModel { let css = if self.preferences.use_custom_editor_font { self.source_view.set_monospace(false); format!( - "textview {{ font-family: \"{}\"; font-size: {}pt; }}", + ".map-editor {{ font-family: \"{}\"; font-size: {}pt; }}", self.preferences.custom_editor_font_name, self.preferences.editor_font_size as i32 ) } else { self.source_view.set_monospace(true); format!( - "textview {{ font-size: {}pt; }}", + ".map-editor {{ font-size: {}pt; }}", self.preferences.editor_font_size as i32 ) }; - self.editor_css_provider.load_from_data(&css); + self.editor_css_provider.load_from_string(&css); self.render_configuration.options.smart_label_positioning = self.preferences.use_smart_label_positioning; @@ -630,10 +629,14 @@ impl SimpleComponent for AppModel { source_view.set_monospace(true); let editor_css_provider = gtk::CssProvider::new(); - source_view.style_context().add_provider( - &editor_css_provider, - gtk::STYLE_PROVIDER_PRIORITY_APPLICATION, - ); + source_view.add_css_class("map-editor"); + if let Some(display) = gtk::gdk::Display::default() { + gtk::style_context_add_provider_for_display( + &display, + &editor_css_provider, + gtk::STYLE_PROVIDER_PRIORITY_APPLICATION, + ); + } let (drawing_area, map, render_configuration, stage_type, surface) = Self::init_drawing_area(&initial_content); @@ -755,7 +758,9 @@ impl SimpleComponent for AppModel { Action::SaveToFile { path, close_after } => { handlers::file::save_to_file(self, path, close_after); } - Action::CloseWindow => handlers::file::close_window(self, &sender), + Action::CloseWindow => { + handlers::file::close_window(self, &sender); + } Action::MarkInitialized => self.initialized = true, -- cgit