Persist text zoom level across sessions
Question bank and CCS case text-size (A-/A+) previously reset to 1.0 on every app launch. Both now load their saved scale from user://settings.cfg at startup and save on every adjustment, mirroring the existing pattern used for dark/light mode and sound preferences.
This commit is contained in:
@@ -17,6 +17,9 @@ signal request_failed(message: String)
|
||||
const TEXT_SCALE_MIN := 0.85
|
||||
const TEXT_SCALE_MAX := 1.35
|
||||
const TEXT_SCALE_STEP := 0.1
|
||||
const TEXT_SCALE_SETTINGS_PATH := "user://settings.cfg"
|
||||
const TEXT_SCALE_SETTINGS_SECTION := "study"
|
||||
const TEXT_SCALE_SETTINGS_KEY := "ccs_text_scale"
|
||||
|
||||
var api_url := DEFAULT_API_URL
|
||||
var request: HTTPRequest
|
||||
@@ -37,6 +40,7 @@ var request_access_token := ""
|
||||
|
||||
func _ready() -> void:
|
||||
api_url = EndpointConfig.resolve(str(ProjectSettings.get_setting("step3/ccs_api_url", DEFAULT_API_URL)), "/api/ccs")
|
||||
text_scale = _load_text_scale_preference()
|
||||
request = HTTPRequest.new()
|
||||
request.request_completed.connect(_on_request_completed)
|
||||
add_child(request)
|
||||
@@ -100,6 +104,23 @@ func submit_report(attempt_id: String, category: String, details: String) -> voi
|
||||
|
||||
func adjust_text_scale(delta: float) -> void:
|
||||
text_scale = clampf(text_scale + delta, TEXT_SCALE_MIN, TEXT_SCALE_MAX)
|
||||
_save_text_scale_preference(text_scale)
|
||||
|
||||
|
||||
func _load_text_scale_preference() -> float:
|
||||
var config := ConfigFile.new()
|
||||
if config.load(TEXT_SCALE_SETTINGS_PATH) == OK:
|
||||
var saved: float = config.get_value(TEXT_SCALE_SETTINGS_SECTION, TEXT_SCALE_SETTINGS_KEY, 1.0)
|
||||
return clampf(saved, TEXT_SCALE_MIN, TEXT_SCALE_MAX)
|
||||
return 1.0
|
||||
|
||||
|
||||
func _save_text_scale_preference(value: float) -> void:
|
||||
var config := ConfigFile.new()
|
||||
config.load(TEXT_SCALE_SETTINGS_PATH)
|
||||
config.set_value(TEXT_SCALE_SETTINGS_SECTION, TEXT_SCALE_SETTINGS_KEY, value)
|
||||
if config.save(TEXT_SCALE_SETTINGS_PATH) != OK:
|
||||
push_warning("Unable to save CCS text scale preference.")
|
||||
|
||||
|
||||
func toggle_highlight(attempt_id: String, region_id: String, start: int, end: int) -> void:
|
||||
|
||||
Reference in New Issue
Block a user