(dlg)
| 778 | dialog.set_preferences(current_prefs) |
| 779 | |
| 780 | def on_close_request(dlg): |
| 781 | prefs = dlg.get_preferences() |
| 782 | if self.parser: |
| 783 | if prefs.get("config_path"): |
| 784 | self.parser.config_path = Path(prefs["config_path"]) |
| 785 | self.parser.auto_backup_enabled = bool(prefs.get("auto_backup", True)) |
| 786 | backup_dir_val = prefs.get("backup_dir") or None |
| 787 | self.parser.backup_dir = ( |
| 788 | Path(backup_dir_val).expanduser() if backup_dir_val else None |
| 789 | ) |
| 790 | font_size = int(prefs.get("editor_font_size") or 12) |
| 791 | self._editor_font_size = font_size |
| 792 | try: |
| 793 | provider = Gtk.CssProvider() |
| 794 | provider.load_from_data( |
| 795 | f".editor-pane textview {{font-size: {font_size}pt;}}".encode() |
| 796 | ) |
| 797 | Gtk.StyleContext.add_provider_for_display( |
| 798 | Gtk.Display.get_default(), |
| 799 | provider, |
| 800 | Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION, |
| 801 | ) |
| 802 | except Exception: |
| 803 | pass |
| 804 | prefer_dark = bool(prefs.get("prefer_dark_theme", False)) |
| 805 | self._prefer_dark_theme = prefer_dark |
| 806 | try: |
| 807 | style_manager = Adw.StyleManager.get_default() |
| 808 | if style_manager is not None: |
| 809 | style_manager.set_color_scheme( |
| 810 | Adw.ColorScheme.PREFER_DARK |
| 811 | if prefer_dark |
| 812 | else Adw.ColorScheme.DEFAULT |
| 813 | ) |
| 814 | except Exception: |
| 815 | pass |
| 816 | raw_wrap = bool(prefs.get("raw_wrap_lines", False)) |
| 817 | self._raw_wrap_lines = raw_wrap |
| 818 | try: |
| 819 | self.host_editor.set_wrap_mode(raw_wrap) |
| 820 | except Exception: |
| 821 | pass |
| 822 | if self.parser: |
| 823 | self._load_config() |
| 824 | self._update_status(_("Preferences saved")) |
| 825 | return False |
| 826 | |
| 827 | dialog.connect("close-attempt", on_close_request) |
| 828 | dialog.present(self) |
nothing calls this directly
no test coverage detected