diff --git a/code/modules/client/preference_setup/global/01_ui.dm b/code/modules/client/preference_setup/global/01_ui.dm index 7afc90d082..c700e2ba93 100644 --- a/code/modules/client/preference_setup/global/01_ui.dm +++ b/code/modules/client/preference_setup/global/01_ui.dm @@ -14,6 +14,7 @@ S["tgui_fancy"] >> pref.tgui_fancy S["tgui_lock"] >> pref.tgui_lock S["tgui_input_mode"] >> pref.tgui_input_mode + S["tgui_input_lock"] >> pref.tgui_input_lock S["tgui_large_buttons"] >> pref.tgui_large_buttons S["tgui_swapped_buttons"] >> pref.tgui_swapped_buttons @@ -29,6 +30,7 @@ S["tgui_fancy"] << pref.tgui_fancy S["tgui_lock"] << pref.tgui_lock S["tgui_input_mode"] << pref.tgui_input_mode + S["tgui_input_lock"] << pref.tgui_input_lock S["tgui_large_buttons"] << pref.tgui_large_buttons S["tgui_swapped_buttons"] << pref.tgui_swapped_buttons @@ -44,6 +46,7 @@ pref.tgui_fancy = sanitize_integer(pref.tgui_fancy, 0, 1, initial(pref.tgui_fancy)) pref.tgui_lock = sanitize_integer(pref.tgui_lock, 0, 1, initial(pref.tgui_lock)) pref.tgui_input_mode = sanitize_integer(pref.tgui_input_mode, 0, 1, initial(pref.tgui_input_mode)) + pref.tgui_input_lock = sanitize_integer(pref.tgui_input_lock, 0, 1, initial(pref.tgui_input_lock)) pref.tgui_large_buttons = sanitize_integer(pref.tgui_large_buttons, 0, 1, initial(pref.tgui_large_buttons)) pref.tgui_swapped_buttons = sanitize_integer(pref.tgui_swapped_buttons, 0, 1, initial(pref.tgui_swapped_buttons)) @@ -56,9 +59,10 @@ . += "Client FPS: [pref.client_fps]
" . += "Random Ambience Frequency: [pref.ambience_freq]
" . += "Ambience Chance: [pref.ambience_chance]
" - . += "tgui Window Mode: [(pref.tgui_fancy) ? "Fancy (default)" : "Compatible (slower)"]
" - . += "tgui Window Placement: [(pref.tgui_lock) ? "Primary Monitor" : "Free (default)"]
" + . += "TGUI Window Mode: [(pref.tgui_fancy) ? "Fancy (default)" : "Compatible (slower)"]
" + . += "TGUI Window Placement: [(pref.tgui_lock) ? "Primary Monitor" : "Free (default)"]
" . += "TGUI Input Framework: [(pref.tgui_input_mode) ? "Enabled" : "Disabled (default)"]
" + . += "TGUI Input Lock: [(pref.tgui_input_lock) ? "Enabled" : "Disabled (default)"]
" . += "TGUI Large Buttons: [(pref.tgui_large_buttons) ? "Enabled (default)" : "Disabled"]
" . += "TGUI Swapped Buttons: [(pref.tgui_swapped_buttons) ? "Enabled" : "Disabled (default)"]
" if(can_select_ooc_color(user)) @@ -107,14 +111,14 @@ if(pref.client) pref.client.fps = fps_new return TOPIC_REFRESH - + else if(href_list["select_ambience_freq"]) var/ambience_new = tgui_input_number(user, "Input how often you wish to hear ambience repeated! (1-60 MINUTES, 0 for disabled)", "Global Preference", pref.ambience_freq, 60, 0) if(isnull(ambience_new) || !CanUseTopic(user)) return TOPIC_NOACTION if(ambience_new < 0 || ambience_new > 60) return TOPIC_NOACTION pref.ambience_freq = ambience_new return TOPIC_REFRESH - + else if(href_list["select_ambience_chance"]) var/ambience_chance_new = tgui_input_number(user, "Input the chance you'd like to hear ambience played to you (On area change, or by random ambience). 35 means a 35% chance to play ambience. This is a range from 0-100. 0 disables ambience playing entirely. This is also affected by Ambience Frequency.", "Global Preference", pref.ambience_freq, 100, 0) if(isnull(ambience_chance_new) || !CanUseTopic(user)) return TOPIC_NOACTION @@ -125,7 +129,7 @@ else if(href_list["tgui_fancy"]) pref.tgui_fancy = !pref.tgui_fancy return TOPIC_REFRESH - + else if(href_list["tgui_lock"]) pref.tgui_lock = !pref.tgui_lock return TOPIC_REFRESH @@ -134,6 +138,10 @@ pref.tgui_input_mode = !pref.tgui_input_mode return TOPIC_REFRESH + else if(href_list["tgui_input_lock"]) + pref.tgui_input_lock = !pref.tgui_input_lock + return TOPIC_REFRESH + else if(href_list["tgui_large_buttons"]) pref.tgui_large_buttons = !pref.tgui_large_buttons return TOPIC_REFRESH diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index c5e3200a2b..db1e8fda21 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -29,6 +29,7 @@ var/list/preferences_datums = list() var/tgui_fancy = TRUE var/tgui_lock = FALSE var/tgui_input_mode = FALSE // All the Input Boxes (Text,Number,List,Alert) + var/tgui_input_lock = FALSE var/tgui_large_buttons = TRUE var/tgui_swapped_buttons = FALSE diff --git a/code/modules/tgui_input/text.dm b/code/modules/tgui_input/text.dm index f115fdde63..614f9e142e 100644 --- a/code/modules/tgui_input/text.dm +++ b/code/modules/tgui_input/text.dm @@ -39,6 +39,11 @@ return input(user, message, title, default) as message|null else return input(user, message, title, default) as text|null + + //Client has TGUI input lock on; override whatever prevent_enter was specified beforehand + if(user.client.prefs.tgui_input_lock) + prevent_enter = TRUE + var/datum/tgui_input_text/text_input = new(user, message, title, default, max_length, multiline, encode, timeout, prevent_enter) text_input.tgui_interact(user) text_input.wait()