Extracted save logic into _apply() method. Apply writes settings and emits settings_changed without closing the dialog. Save calls Apply then closes. Lets users preview setting changes before committing. behavior change: settings dialog now has Apply | Save | Cancel.