Index: binaries/data/mods/mod/gui/common/modern/sprites.xml
===================================================================
--- binaries/data/mods/mod/gui/common/modern/sprites.xml (revision 18954)
+++ binaries/data/mods/mod/gui/common/modern/sprites.xml (working copy)
@@ -199,6 +199,22 @@
size = "0 1 100% 100%-1"
/>
+
+
+
+
+
+
+
+
+
+
+
+
Index: binaries/data/mods/public/gui/options/options.js
===================================================================
--- binaries/data/mods/public/gui/options/options.js (revision 18954)
+++ binaries/data/mods/public/gui/options/options.js (working copy)
@@ -21,6 +21,7 @@
let config = option.parameters.config;
g_Controls[config] = {
"control": setupControl(option, i, category),
+ "label": label,
"type": option.type,
"dependencies": option.dependencies || undefined,
"parameters": option.parameters
@@ -247,7 +248,10 @@
continue;
for (let dependency of control.dependencies)
+ {
g_Controls[dependency].control.enabled = control.control.checked;
+ g_Controls[dependency].label.enabled = control.control.checked;
+ }
}
// And main buttons
Index: source/gui/CDropDown.cpp
===================================================================
--- source/gui/CDropDown.cpp (revision 18954)
+++ source/gui/CDropDown.cpp (working copy)
@@ -37,7 +37,8 @@
AddSetting(GUIST_CStrW, "sound_enter");
AddSetting(GUIST_CStrW, "sound_leave");
AddSetting(GUIST_CStrW, "sound_opened");
-// AddSetting(GUIST_CGUISpriteInstance, "sprite"); // Background that sits around the size
+ AddSetting(GUIST_CGUISpriteInstance, "sprite"); // Background that sits around the size
+ AddSetting(GUIST_CGUISpriteInstance, "sprite_disabled");
AddSetting(GUIST_CGUISpriteInstance, "sprite_list"); // Background of the drop down list
AddSetting(GUIST_CGUISpriteInstance, "sprite2"); // Button that sits to the right
AddSetting(GUIST_CGUISpriteInstance, "sprite2_over");
@@ -442,7 +443,6 @@
int cell_id, selected = 0;
CColor color;
- GUI::GetSettingPointer(this, "sprite", sprite);
GUI::GetSettingPointer(this, "sprite2", sprite2);
GUI::GetSetting(this, "cell_id", cell_id);
GUI::GetSetting(this, "selected", selected);
@@ -452,6 +452,7 @@
bool enabled;
GUI::GetSetting(this, "enabled", enabled);
+ GUI::GetSettingPointer(this, enabled ? "sprite" : "sprite_disabled", sprite);
GetGUI()->DrawSprite(*sprite, cell_id, bz, m_CachedActualSize);
if (button_width > 0.f)
Index: source/gui/CText.cpp
===================================================================
--- source/gui/CText.cpp (revision 18954)
+++ source/gui/CText.cpp (working copy)
@@ -38,6 +38,7 @@
AddSetting(GUIST_EAlign, "text_align");
AddSetting(GUIST_EVAlign, "text_valign");
AddSetting(GUIST_CColor, "textcolor");
+ AddSetting(GUIST_CColor, "textcolor_disabled");
AddSetting(GUIST_CStrW, "tooltip");
AddSetting(GUIST_CStr, "tooltip_style");
@@ -229,8 +230,11 @@
}
}
+ bool enabled;
+ GUI::GetSetting(this, "enabled", enabled);
+
CColor color;
- GUI::GetSetting(this, "textcolor", color);
+ GUI::GetSetting(this, enabled ? "textcolor" : "textcolor_disabled", color);
if (scrollbar)
DrawText(0, color, m_CachedActualSize.TopLeft() - CPos(0.f, scroll), bz+0.1f, cliparea);