MCPcopy Create free account
hub / github.com/BuddySirJava/SSH-Studio / on_close_request

Method on_close_request

src/ui/main_window.py:780–825  ·  view source on GitHub ↗
(dlg)

Source from the content-addressed store, hash-verified

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)

Callers

nothing calls this directly

Calls 4

_load_configMethod · 0.95
_update_statusMethod · 0.95
get_preferencesMethod · 0.80
set_wrap_modeMethod · 0.80

Tested by

no test coverage detected