Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

check 'overwrite clients' when changing a mission setting #810

Merged
merged 1 commit into from
Nov 30, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions addons/settings/fnc_gui_settingCheckbox.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,9 @@ _ctrlCheckbox ctrlAddEventHandler ["CheckedChanged", {
private _ctrlDefault = _controlsGroup controlsGroupCtrl IDC_SETTING_DEFAULT;
private _defaultValue = [_setting, "default"] call FUNC(get);
_ctrlDefault ctrlEnable !(_value isEqualTo _defaultValue);

// automatically check "overwrite client" for mission makers qol
[_controlsGroup, _source] call (_controlsGroup getVariable QFUNC(auto_check_overwrite));
}];

// set setting ui manually to new value
Expand Down
6 changes: 6 additions & 0 deletions addons/settings/fnc_gui_settingColor.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,9 @@ for "_index" from 0 to ((count _currentValue max 3 min 4) - 1) do {
private _ctrlDefault = _controlsGroup controlsGroupCtrl IDC_SETTING_DEFAULT;
private _defaultValue = [_setting, "default"] call FUNC(get);
_ctrlDefault ctrlEnable !(_currentValue isEqualTo _defaultValue);

// automatically check "overwrite client" for mission makers qol
[_controlsGroup, _source] call (_controlsGroup getVariable QFUNC(auto_check_overwrite));
}];

private _ctrlColorEdit = _controlsGroup controlsGroupCtrl (IDCS_SETTING_COLOR_EDIT select _index);
Expand Down Expand Up @@ -68,6 +71,9 @@ for "_index" from 0 to ((count _currentValue max 3 min 4) - 1) do {
private _ctrlDefault = _controlsGroup controlsGroupCtrl IDC_SETTING_DEFAULT;
private _defaultValue = [_setting, "default"] call FUNC(get);
_ctrlDefault ctrlEnable !(_currentValue isEqualTo _defaultValue);

// automatically check "overwrite client" for mission makers qol
[_controlsGroup, _source] call (_controlsGroup getVariable QFUNC(auto_check_overwrite));
}];

_ctrlColorEdit ctrlAddEventHandler ["KillFocus", {
Expand Down
3 changes: 3 additions & 0 deletions addons/settings/fnc_gui_settingEditbox.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,9 @@ _ctrlEditbox ctrlAddEventHandler ["KeyUp", {
private _ctrlDefault = _controlsGroup controlsGroupCtrl IDC_SETTING_DEFAULT;
private _defaultValue = [_setting, "default"] call FUNC(get);
_ctrlDefault ctrlEnable !(_value isEqualTo _defaultValue);

// automatically check "overwrite client" for mission makers qol
[_controlsGroup, _source] call (_controlsGroup getVariable QFUNC(auto_check_overwrite));
}];

// set setting ui manually to new value
Expand Down
3 changes: 3 additions & 0 deletions addons/settings/fnc_gui_settingList.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,9 @@ _ctrlList ctrlAddEventHandler ["LBSelChanged", {
private _ctrlDefault = _controlsGroup controlsGroupCtrl IDC_SETTING_DEFAULT;
private _defaultValue = [_setting, "default"] call FUNC(get);
_ctrlDefault ctrlEnable !(_value isEqualTo _defaultValue);

// automatically check "overwrite client" for mission makers qol
[_controlsGroup, _source] call (_controlsGroup getVariable QFUNC(auto_check_overwrite));
}];

// set setting ui manually to new value
Expand Down
17 changes: 17 additions & 0 deletions addons/settings/fnc_gui_settingOverwrite.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,10 @@ if !(_source isEqualTo "server") then {
};

_ctrlOverwriteClient ctrlAddEventHandler ["CheckedChanged", {
_this call ((_this select 0) getVariable QFUNC(event));
}];

_ctrlOverwriteClient setVariable [QFUNC(event), {
params ["_ctrlOverwriteClient", "_state"];
private _controlsGroup = ctrlParentControlsGroup _ctrlOverwriteClient;
private _ctrlOverwriteMission = _controlsGroup controlsGroupCtrl IDC_SETTING_OVERWRITE_MISSION;
Expand All @@ -29,6 +33,19 @@ _ctrlOverwriteClient ctrlAddEventHandler ["CheckedChanged", {
_controlsGroup call (_controlsGroup getVariable QFUNC(updateUI_locked));
}];

_controlsGroup setVariable [QFUNC(auto_check_overwrite), {
params ["_controlsGroup", "_source"];

if (_source isEqualTo "mission") then {
private _ctrlOverwriteClient = _controlsGroup controlsGroupCtrl IDC_SETTING_OVERWRITE_CLIENT;

if (!cbChecked _ctrlOverwriteClient) then {
_ctrlOverwriteClient cbSetChecked true;
[_ctrlOverwriteClient, true] call (_ctrlOverwriteClient getVariable QFUNC(event));
};
};
}];

_ctrlOverwriteMission ctrlAddEventHandler ["CheckedChanged", {
params ["_ctrlOverwriteMission", "_state"];
private _controlsGroup = ctrlParentControlsGroup _ctrlOverwriteMission;
Expand Down
6 changes: 6 additions & 0 deletions addons/settings/fnc_gui_settingSlider.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,9 @@ _ctrlSlider ctrlAddEventHandler ["SliderPosChanged", {
private _ctrlDefault = _controlsGroup controlsGroupCtrl IDC_SETTING_DEFAULT;
private _defaultValue = [_setting, "default"] call FUNC(get);
_ctrlDefault ctrlEnable !(_value isEqualTo _defaultValue);

// automatically check "overwrite client" for mission makers qol
[_controlsGroup, _source] call (_controlsGroup getVariable QFUNC(auto_check_overwrite));
}];

private _ctrlSliderEdit = _controlsGroup controlsGroupCtrl IDC_SETTING_SLIDER_EDIT;
Expand Down Expand Up @@ -55,6 +58,9 @@ _ctrlSliderEdit ctrlAddEventHandler ["KeyUp", {
private _ctrlDefault = _controlsGroup controlsGroupCtrl IDC_SETTING_DEFAULT;
private _defaultValue = [_setting, "default"] call FUNC(get);
_ctrlDefault ctrlEnable !(_value isEqualTo _defaultValue);

// automatically check "overwrite client" for mission makers qol
[_controlsGroup, _source] call (_controlsGroup getVariable QFUNC(auto_check_overwrite));
}];

_ctrlSliderEdit ctrlAddEventHandler ["KillFocus", {
Expand Down
1 change: 1 addition & 0 deletions addons/settings/script_component.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
#include "\a3\ui_f\hpp\defineCommonGrids.inc"
#include "\a3\ui_f\hpp\defineResincl.inc"

//#define DISABLE_COMPILE_CACHE
//#define DEBUG_ENABLED_SETTINGS

#ifdef DEBUG_ENABLED_SETTINGS
Expand Down