diff options
| author | Rubén Beltrán del Río <jj@r.bdr.sh> | 2026-01-19 00:38:37 +0100 |
|---|---|---|
| committer | Rubén Beltrán del Río <jj@r.bdr.sh> | 2026-01-19 02:28:00 +0100 |
| commit | b41c4768d9b2e41532ae0018469809ff37280216 (patch) | |
| tree | cd73007bd2690efeca6ecfbc8eab4f61232bfb1f /src/preferences/pages/map.rs | |
| parent | a5ac6203f247d884aba8530b108d554ff80be333 (diff) | |
Update to use Gnome 48 features1.0.0
Diffstat (limited to 'src/preferences/pages/map.rs')
| -rw-r--r-- | src/preferences/pages/map.rs | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/src/preferences/pages/map.rs b/src/preferences/pages/map.rs index 4355c6f..5645a59 100644 --- a/src/preferences/pages/map.rs +++ b/src/preferences/pages/map.rs @@ -14,9 +14,9 @@ // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see <http://www.gnu.org/licenses/>. -use gtk::prelude::*; use relm4::Sender; use relm4::gtk; +use sourceview5::prelude::*; use crate::tr; use crate::ui_helpers::create_switch_row; @@ -29,7 +29,7 @@ pub struct MapPage { show_background_switch: gtk::Switch, smart_positioning_switch: gtk::Switch, custom_font_switch: gtk::Switch, - font_button: gtk::FontButton, + font_button: gtk::FontDialogButton, export_format_dropdown: gtk::DropDown, } @@ -61,7 +61,7 @@ impl MapPage { container: >k::Box, preferences: &UserPreferences, sender: &Sender<PreferencesInput>, - ) -> (gtk::Switch, gtk::Switch, gtk::Switch, gtk::FontButton) { + ) -> (gtk::Switch, gtk::Switch, gtk::Switch, gtk::FontDialogButton) { let style_label = gtk::Label::new(Some(&tr!("preferences.map.map_style.title"))); style_label.add_css_class("heading"); style_label.set_halign(gtk::Align::Start); @@ -109,19 +109,20 @@ impl MapPage { let font_row = gtk::Box::new(gtk::Orientation::Horizontal, 10); font_row.append(>k::Label::new(Some(&tr!("preferences.map.font")))); - let font_button = gtk::FontButton::new(); - font_button.set_font(&preferences.custom_font_name); + let font_dialog = gtk::FontDialog::new(); + let font_button = gtk::FontDialogButton::new(Some(font_dialog)); + let font_desc = gtk::pango::FontDescription::from_string(&preferences.custom_font_name); + font_button.set_font_desc(&font_desc); font_button.set_sensitive(preferences.use_custom_font); font_button.set_hexpand(true); font_button.set_use_font(true); { let sender = sender.clone(); - font_button.connect_font_set(move |button| { - if let Some(font) = button.font() { - let font_desc = gtk::pango::FontDescription::from_string(&font); - if let Some(family) = font_desc.family() { - sender.emit(PreferencesInput::SetCustomFontName(family.to_string())); - } + font_button.connect_font_desc_notify(move |button| { + if let Some(font) = button.font_desc() + && let Some(family) = font.family() + { + sender.emit(PreferencesInput::SetCustomFontName(family.to_string())); } }); } @@ -199,7 +200,8 @@ impl MapPage { self.custom_font_switch .set_active(preferences.use_custom_font); self.font_button.set_sensitive(preferences.use_custom_font); - self.font_button.set_font(&preferences.custom_font_name); + let font_desc = gtk::pango::FontDescription::from_string(&preferences.custom_font_name); + self.font_button.set_font_desc(&font_desc); let selected = match preferences.default_export_format.as_str() { "svg" => 1, |