mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
74 lines
2.2 KiB
Plaintext
74 lines
2.2 KiB
Plaintext
/**
|
|
* fn_settingsMenuUpdateKeyView.sqf
|
|
* @Descr: N/A
|
|
* @Author: Glowbal
|
|
*
|
|
* @Arguments: []
|
|
* @Return:
|
|
* @PublicAPI: false
|
|
*/
|
|
|
|
|
|
private ["_setting","_ctrlList","_collection","_settingsMenu", "_keybinding","_keyCode","_shiftPressed","_altPressed","_ctrlPressed"];
|
|
disableSerialization;
|
|
_settingsMenu = uiNamespace getVariable 'cse_settingsMenu';
|
|
_ctrlList = _settingsMenu displayCtrl 200;
|
|
_collection = switch (CSE_SETTINGS_MENU_CURRENT_SETTING_LIST_F) do {
|
|
case "menu": {CSE_F_KEYBINDINGS_MENUS};
|
|
case "action": {CSE_F_KEYBINDINGS_ACTIONS};
|
|
case "option": {CSE_F_CLIENT_SIDE_SETTINGS};
|
|
default {[]};
|
|
};
|
|
|
|
|
|
if (count _collection > 0) then {
|
|
_selectedSetting = (lbCurSel _ctrlList);
|
|
if (_selectedSetting > (count _collection)) then {
|
|
_selectedSetting = count _collection - 1;
|
|
};
|
|
|
|
if (_selectedSetting < 0) exitwith {
|
|
_selectedSetting = 0;
|
|
};
|
|
_setting = _collection select _selectedSetting;
|
|
|
|
_details = [_setting select 0, CSE_SETTINGS_MENU_CURRENT_SETTING_LIST_F] call cse_fnc_getSettingDetails_F;
|
|
(_settingsMenu displayCtrl 250) ctrlSetText (_details select 0);
|
|
(_settingsMenu displayCtrl 251) ctrlSetText (_details select 1);
|
|
|
|
if (CSE_SETTINGS_MENU_CURRENT_SETTING_LIST_F != "option") then {
|
|
_keybinding = _setting select 1;
|
|
|
|
_keyCode = _keybinding select 0;
|
|
_shiftPressed = _keybinding select 1;
|
|
_ctrlPressed = _keybinding select 2;
|
|
_altPressed = _keybinding select 3;
|
|
|
|
_keyBindingText = keyName _keyCode;
|
|
if (_keyBindingText == '""') then {
|
|
_keyBindingText = "No key assigned";
|
|
};
|
|
(_settingsMenu displayCtrl 300) ctrlSetText ("Key: " + _keyBindingText);
|
|
|
|
lbClear 400;
|
|
lbadd [400, "No"];
|
|
lbadd [400, "Yes"];
|
|
lbadd [400, "Ignore"];
|
|
(_settingsMenu displayCtrl 400) lbSetCurSel _shiftPressed;
|
|
(_settingsMenu displayCtrl 401) lbSetCurSel _ctrlPressed;
|
|
(_settingsMenu displayCtrl 402) lbSetCurSel _altPressed;
|
|
} else {
|
|
_possibleValues = _setting select 1;
|
|
_settingsValue = _setting select 2;
|
|
|
|
lbClear 400;
|
|
|
|
_settingsText = (_possibleValues select _settingsValue); // expecting: value [[any, TEXT (DESCRIPTION)]]
|
|
(_settingsMenu displayCtrl 300) ctrlSetText ("Setting: " + _settingsText);
|
|
{
|
|
lbAdd [400, _x];
|
|
}foreach _possibleValues;
|
|
|
|
(_settingsMenu displayCtrl 400) lbSetCurSel _settingsValue;
|
|
};
|
|
}; |